1
0
forked from mirrors/0ad
Commit Graph

672 Commits

Author SHA1 Message Date
vladislavbelov 82bf9bb902 Removes WInit module completely. Refs #2611
Comments By: phosit
Differential Revision: https://code.wildfiregames.com/D5085
This was SVN commit r27810.
2023-08-22 17:59:01 +00:00
bb 5cb9e32b73 Add linter rule detecting project name misspellings.
Reviewed By: Freagarach
Differential Revision: D4313
This was SVN commit r27787.
2023-07-27 20:56:52 +00:00
bb 157c6af18e Make the space in 0 A.D. non-breaking throughout the codebase.
Avoid cases of filenames
Update years in terms and other legal(ish) documents
Don't update years in license headers, since change is not meaningful

Will add linter rule in seperate commit

Happy recompiling everyone!

Original Patch By: Nescio
Comment By: Gallaecio
Differential Revision: D2620
This was SVN commit r27786.
2023-07-27 20:54:46 +00:00
vladislavbelov 70d89254c8 Fixes linking failure solution introduced in 48ba4d9cb4 for SDL dependency.
Refs #3138

Accepted By: Itms
Differential Revision: https://code.wildfiregames.com/D5065
This was SVN commit r27764.
2023-07-18 20:21:59 +00:00
vladislavbelov 624df119ef Fixes Windows build for some configurations after 70e7acfb26.
The divergence for /DELAY* options was started in 137487c521.
Refs 2405a98b58 and 09df66f871, ec3452679c, 82dc962a56, 137487c521.

Differential Revision: https://code.wildfiregames.com/D5070
This was SVN commit r27752.
2023-07-05 20:31:56 +00:00
vladislavbelov 70e7acfb26 Removes manual unload of delay-loaded DLLs on Windows.
Differential Revision: https://code.wildfiregames.com/D5056
This was SVN commit r27733.
2023-06-23 11:55:33 +00:00
Stan e13ea09690 Add missed line
This was SVN commit r27634.
2023-05-08 14:27:22 +00:00
Stan d8b1935493 Add a script to build spir-v shaders for the bundle.
Fixes: #6636
Refs: #6718
Discussed with: @vladislavbelov

Differential Revision: https://code.wildfiregames.com/D4988
This was SVN commit r27633.
2023-05-08 14:25:23 +00:00
Stan a6546cc0a4 Update infrastructure to use the new transifex API.
- Fix Jenkins warnings about leaked credentials.
- Fix one script not loading utf-8 on windows.
- Fix command line arguments not working when inlined on Linux.

This was SVN commit r27621.
2023-04-27 16:55:06 +00:00
vladislavbelov beef529cc6 Adds more libraries to feedback reports. Refs #6711
Comments By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D4949
This was SVN commit r27607.
2023-04-16 22:28:55 +00:00
s0600204 c025776703 Use premake5 beta2's externalincludedirs when available
As of the `beta2` version of `premake5`, `sysincludedirs` has been
deprecated
and replaced with/renamed to `externalincludedirs`, and continuing to
use it
causes warnings to be emitted.

With this change, we now use `externalincludedirs` when available so as
to
prevent the warnings, falling back to `sysincludedirs` when it's not to
prevent
breakage with pre-`beta2` versions of `premake5`.


Accepted By: sera
Fixes: #6785
Differential Revision: https://code.wildfiregames.com/D4980
This was SVN commit r27606.
2023-04-16 17:05:30 +00:00
Itms c05a6e81aa Fixes --with-system-premake5, fixes #6710, refs 782a77f106.
Based on fix by sera, tested on Manjaro 22.

This was SVN commit r27555.
2023-02-20 15:06:39 +00:00
Stan f88b1a88f6 Update CI dockerfiles.
This was SVN commit r27489.
2023-01-26 15:34:52 +00:00
Itms a0022fb56b Fix and cleanup the SM91 build, fixes #6676.
Add a new patch written by s0600204, replacing the use of `distutils`
with `sysconfig` in the setup of the bundled virtualenv in SpiderMonkey.
Add a patch which is a portion of
https://phabricator.services.mozilla.com/D130410, fixing upstream's bug
1739486 on Fedora.

This fixes build issues on recent Debian and Fedora. This is consistent
with upstream's upcoming changes in ESR102 following the deprecation of
`distutils`.

This cleans up some old SM patches; renames the [[SVN:27442]] unicode
patch; moves a Python-related environment variable inside `build.sh`;
fixes indentation and EOL properties.

Differential Revision: https://code.wildfiregames.com/D4893
This was SVN commit r27460.
2023-01-17 20:49:00 +00:00
Stan f684615dff Update clean-workspaces.sh after SpiderMonkey's upgrade to 78.6.0 and 91.13.1.
This was SVN commit r27457.
2023-01-17 10:27:25 +00:00
Stan 9347192591 Fix bundled spidermonkey code in Premake.
It still won't link if the user has a more recent issue than whatever
was vendored with Spidermonkey. Refs:
https://code.wildfiregames.com/D3127.
Fix option --with-system-spidermonkey info oversight when updating in
d8332a2938 and d92a2118b0 and d5db03c303
Reported by @sera, @linkmauve

This was SVN commit r27440.
2023-01-14 12:14:56 +00:00
Stan d5db03c303 [SM91] Update to Spidermonkey 91.1.3 APIs
Fixes: #5986
Patch by: @wraitii
Comments by: @nwtour, @Stan
Differential Revision: https://code.wildfiregames.com/D4428
This was SVN commit r27409.
2023-01-10 17:06:47 +00:00
vladislavbelov 408c93744c Adds dependent libraries for Vulkan. Refs #6636
Tested By: phosit, Stan
Differential Revision: https://code.wildfiregames.com/D4869
This was SVN commit r27387.
2023-01-08 23:12:54 +00:00
Stan cfa4aff773 Fix translations script pipeline.
This was SVN commit r27100.
2022-09-12 11:35:27 +00:00
Stan 33762aa24e Update dockerfiles images to match jenkins
This was SVN commit r27097.
2022-09-12 07:37:47 +00:00
Stan 7e481b73cd Update jenkinsfiles to match upstream.
Windows now builds the actor editor for autobuilds, and stores the test
results.
All bundle now has an option to only build the macOS bundle and uses the
number of cores available to build.
docker-translations now builds the long string locale. Fixes #5009.
New script that is run periodically to check if the nopch build still
works.
Docker docs now builds the template analyser data and uploads it to the
server.
Add the design docs script.
Add a new script to build the game using linux with custom flags, such
as gles, clang, special linker etc.

This was SVN commit r27096.
2022-09-11 17:28:32 +00:00
Stan 6acc4b4a5b Don't mix locally installed python libs when building
Patch by: @baco
Differential Revision: https://code.wildfiregames.com/D4776
This was SVN commit r27084.
2022-09-01 20:49:16 +00:00
Stan 6e8e6e986d Fix glad not building on BSD
Differential Revision: https://code.wildfiregames.com/D4781
This was SVN commit r27083.
2022-09-01 20:44:49 +00:00
Stan f2c80badbf Don't try to build Atlas when wxconfig is missing
Reported by: @andy5995
Comments by: @lyv, @vladislavbelov, @andy5995
Fixes #6615
Differential Revision: https://code.wildfiregames.com/D4777
This was SVN commit r27082.
2022-09-01 20:42:59 +00:00
vladislavbelov 9845a99f77 Adds EGL support for Wayland.
Tested By: Freagarach, Mentula, phosit
Differential Revision: https://code.wildfiregames.com/D4642
This was SVN commit r26929.
2022-06-09 21:09:32 +00:00
wraitii f82fc6431b Fix SM compilation on M1, fix cross-compilation.
Fixes 08e7efc76a.
The SM build script worked on its own, but the mac OS libraries script
passes it an unexpected value.
This also fixes cross-compilation arm -> x86.
Harfbuzz is explicitly not used when compiling freetype to avoid
pkgconfig using it.

Reorganize the logic a little bit around architecture handling.

Differential Revision: https://code.wildfiregames.com/D4647
This was SVN commit r26882.
2022-05-15 21:22:49 +00:00
wraitii 08e7efc76a Allo native builds on Mac OS M1 / Apple Silicon
- Update GMP to a version that supports arm64 darwin
- Patch spidermonkey 78 to build and run on arm64 darwin
- Choose the correct architecture dynamically in build scripts
- Include python workaround that fixes python related errors on
spidermonkey build

Based on a patch by: kumikumi
Based on a patch by: Langbart
Fixes #6474

Differential Revision: https://code.wildfiregames.com/D4607
This was SVN commit r26881.
2022-05-15 06:45:53 +00:00
vladislavbelov 62e589ab76 Adds renderer backend interface and dummy backend.
Comments By: phosit, Stan
Tested By: Langbart, phosit
Differential Revision: https://code.wildfiregames.com/D4636
This was SVN commit r26858.
2022-05-08 22:02:46 +00:00
Stan 3694a12152 Fix x86 Unix versions of 0 A.D. not being able to open the public.zip file.
Patch by: @nwtour
Differential Revision: https://code.wildfiregames.com/D4413
This was SVN commit r26378.
2022-02-14 11:01:02 +00:00
vladislavbelov 8c068aab07 Removes possibility to link lowlevel library dynamically.
Tested By: Langbart
Differential Revision: https://code.wildfiregames.com/D4470
This was SVN commit r26281.
2022-01-31 06:53:30 +00:00
Stan 0b7a717c8a Fix a warning when building pyrogenesis in Debug on Windows.
This was SVN commit r26227.
2022-01-18 11:07:05 +00:00
wraitii c1f779dff5 Fix compilation on Apple Silicon
This allows cross-compiling for x86_64 on mac ARM machines, and sets
things up for a switch later.
SDL upgrade is necessary for compilation with the GLES headers in
different SDKs.

Tested by: langbart, minohaka
Differential Revision: https://code.wildfiregames.com/D4424
This was SVN commit r26208.
2022-01-13 14:42:42 +00:00
Stan dfafdcd792 Bump version of the desktop file to 1.4 the latest stable version according to @nwtour on https://code.wildfiregames.com/D3475.
Noticed by: @asterix and @dynamofox on cf56f36a3b
This was SVN commit r26179.
2022-01-06 20:28:49 +00:00
Stan cf56f36a3b Fix two typos noticed by @Nescio, and use the performance GPU on Linux too.
Patch by: @DynamoFox, @nwtour
Comments by: @bb
Differential Revision: https://code.wildfiregames.com/D3475
This was SVN commit r26178.
2022-01-06 19:40:15 +00:00
Stan de2a368924 Modify 0ad.desktop to accept a file as an argument to allow installing mods by drag & drop on the icon.
Patch by: @nwtour
Accepted by: @Freagarach
Differential Revision: https://code.wildfiregames.com/D4410
This was SVN commit r26177.
2022-01-06 19:34:20 +00:00
vladislavbelov 478164962f Removes static linking of OpenGL library.
Tested By: Langbart, Stan
Differential Revision: https://code.wildfiregames.com/D4387
This was SVN commit r26104.
2021-12-24 08:02:27 +00:00
Stan e7cc6117ce Fix removal of added files for macOS and Windows.
Don't display Debug: and Release: if no message was printed.

This was SVN commit r26101.
2021-12-23 15:10:16 +00:00
Stan 6b7541cec5 Add more options to archive builds.
Patch by: @wraitii, @Stan
Tested for A25.

Differential Revision:
https://code.wildfiregames.com/D4141#change-nbAmEr5oWUW3

This was SVN commit r26100.
2021-12-23 14:59:37 +00:00
Stan c9bea80e0d Use GLAD2 a multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator.
Comments by: @nwtour, @Langbart, @bb
Based on patch by: @echotangoecho
Tested on Windows 7 & 10, Ubuntu and macos.

Differential Revision: https://code.wildfiregames.com/D721
This was SVN commit r26093.
2021-12-21 22:03:31 +00:00
vladislavbelov 89c181ded1 Encapsulates information about GL inside device.
Commented By: Stan
Differential Revision: https://code.wildfiregames.com/D4375
This was SVN commit r26072.
2021-12-15 06:43:41 +00:00
vladislavbelov fe511e88d9 Adds FreeType support to the engine.
Tested By: Langbart, Imarok, Stan, s0600204, wraitii
Differential Revision: https://code.wildfiregames.com/D4108
This was SVN commit r26040.
2021-12-08 22:14:43 +00:00
s0600204 7382a4885b Use pkg-config more extensively in build
We now make use of `pkg-config` on Linux, BSD, and macOS systems to find
the headers and libs for the following dependencies, where we weren't
previously:

* `enet`
* `fmt` (on macOS only)
* `gloox`'s dependencies on macOS:
    * `gnutls`
    * `gmp`
    * `nettle`
* `libcurl`
* `libogg`
* `libsodium`
* `miniupnpc` (on macOS only)
* `openAL`
* `openGL`
* `vorbis`
* `zlib`

Please see revision (https://code.wildfiregames.com/D3611) for details.

NOTE: All those building on macOS will need to rebuild their libraries
(`build-osx-libs.sh --force-rebuild`)


Tested by: Langbart (macOS), Freagarach (Ubuntu 18.04), Jenkins CI
(Debian Buster)
Comments by: Stan, wraitii, Freagarach
Differential Revision: https://code.wildfiregames.com/D3611
This was SVN commit r25938.
2021-09-23 16:10:25 +00:00
s0600204 31b70309b3 Debundle Valgrind and make it optional
If a *nix user wishes to build `pyrogenesis` with support for Valgrind
(such as
it is), then can do so by passing `--with-valgrind` to
`update-workspaces.sh`.
(They will need Valgrind installed and locateable via `pkg-config`.)


Reviewed By: sera, Stan
Fixes: #2904
Differential Revision: https://code.wildfiregames.com/D3646
This was SVN commit r25933.
2021-09-20 22:18:28 +00:00
bb 080cae147e Remove generated test files, stub_impl_hack on cleanup
At some point make clean should take care of this.

Proposed By: elexis in D256
Approach suggested by: leper
Reviewed By: Freagarach
Differential Revision: D4219
This was SVN commit r25871.
2021-08-28 10:21:03 +00:00
vladislavbelov 2111f864d4 Removes dehydra build scripts following 53369d593b. Fixes #4446
Refs d7a057143d.

This was SVN commit r25523.
2021-05-22 14:25:53 +00:00
Freagarach 4f2e730d3c CodingConventions: Prefer using const on immutable values.
Using `const` for values that should not be changed is considered a good
practice (https://eslint.org/docs/rules/prefer-const).

Forum poll:
https://wildfiregames.com/forum/topic/38347-codingconventions-use-const-instead-of-let-for-immutable-values-in-functions/
Differential revision: https://code.wildfiregames.com/D3950
Comments by: @bb, @Stan, @wraitii
This was SVN commit r25454.
2021-05-17 15:50:16 +00:00
wraitii cdd75deafb XMB Improvements, parse JS into XMB, make strings more efficient.
XMB format is bumped to 4, invalidating all cached files. The
differences are:
 - element/attribute names are stored after the elements themselves, and
not before. This allows writing XMB data in one pass instead of two.
 - names themselves becomes offsets (instead of arbitrary integers),
making getting the string from the int name much more efficient.

XMBFile is renamed to XMBData to clarify that it does not, in fact,
refer to a file on disk.

XMBData::GetElementString is also changed to return a const char*, thus
not creating an std::string. A string_view version is added where
convenient.

The XML->XMB and JS->XMB conversion functions and the corresponding
storage are moved to `ps/XMB`, since that format doesn't particularly
relate to XML. CXeromyces becomes lighter and more focused as a result.
The XML->XMB conversion also benefits from the above streamlining.

Note that in a few cases, string_view gets printed to CLogger via
data(), which is generally not legal, but we know that the strings are
null-terminated here. Our libfmt (version 4) doesn't support
string_view, that would be v5.

Differential Revision: https://code.wildfiregames.com/D3909
This was SVN commit r25375.
2021-05-04 13:02:34 +00:00
wraitii 4146428825 Update build/ dockerfiles & jenkinsfiles
This reflects their current state on the VM/Jenkins.

Differential Revision: https://code.wildfiregames.com/D3133
This was SVN commit r25149.
2021-03-28 13:02:06 +00:00
wraitii 0c419b5bab CI linting: fix issues with char being null for cppcheck.
The CPPCheck linter outputs 'char: null', which trips the
phabricator-jenkins-plugin, and fails to lint on CI.
To avoid this, filter out null values, since e.g. char is optional
anyways. We do want to fail if non-optional values are missing.

Differential Revision: https://code.wildfiregames.com/D3730
This was SVN commit r25112.
2021-03-23 17:43:19 +00:00
wraitii d751927b89 Linter fix on CI.
The CI wasn't properly reporting linting, as it turns out the output of
`arc lint --output json` is not what the Jenkins plugin expects.

This adds a custom lint printer that is compatible with the plugin
expectations.

Also delete the coala/ folder forgotten in the original diff.

Differential Revision: https://code.wildfiregames.com/D3709
This was SVN commit r25082.
2021-03-19 09:13:00 +00:00