Commit Graph

688 Commits

Author SHA1 Message Date
e6adfd01bf Deactivate RTTI (except in AtlasUI) on all platforms.
D2768 inherits from a Spidermonkey class, and SM is built without rtti.
This won't compile unless we also compile without RTTI, and that diff is
required for SM60.
Further, windows was already compiling without RTTI and our coding
conventions say to not use it, so this is more of a regularization.

AtlasUI is left unaffected as WXWidgets uses it (and it's a dynamic
library so separate enough to do that).

Differential Revision: https://code.wildfiregames.com/D3104
This was SVN commit r24214.
2020-11-19 08:36:25 +00:00
0cbd07b455 [SM52 3/2] Revert static linking change on linux - other fixes.
This reverts static linking on linux from 6bb08fb424, it appears to fail
to link and/or crash, depending.

- Commit the tarball.
- Update update-workspaces.sh

Refs #4893

Differential Revision: https://code.wildfiregames.com/D3114
This was SVN commit r24205.
2020-11-18 19:08:15 +00:00
6bb08fb424 [SM52 1/2] Upgrade Spidermonkey build system and binaries to 52.9.1
Of note is the change to static linking on *nix (MacOS already used it).
The logic is that we can only use one single version of SM, so that
advantage of dynamic linking is lost regardless. We might also see
performance gains in the future with LTO enabled. It is also slightly
easier to distribute the program as a result. Expect a negligible size
increase in the binary size (offset somewhat by no longer needing to
distribute .so files). Finally, it streamlines the build script.

Also noteworthy in this commit:
- The MacOS build script is folded back into the general build script.
- the perl/sed command is replaced by patching the configuration file,
which at least warns if it starts failing in the future.

Binaries for windows provided by @Itms
The bulk of the patching was also done by @Itms.

Tested by: Stan, Freagarach
Refs #4893

Differential Revision: https://code.wildfiregames.com/D3094
This was SVN commit r24202.
2020-11-18 14:34:17 +00:00
de53e2ac44 Fixes and improvements to the CI pipelines.
- Custom fixes to coala: support python3.8 and recent versions of
cppcheck
- Adapt .coafile to current coala
- Adapt LicenseYearBear to current `svn` python package
- Move the linter configuration to the coala directory
- Remove the now unused lint-patch script
- Update Jenkins pipelines to report build stderr as a comment on Unix
(including warnings when the build succeeds), and to report lint issues
inline

Tested on Jenkins during the past week.

Differential Revision: https://code.wildfiregames.com/D2931
This was SVN commit r23971.
2020-08-18 12:47:09 +00:00
5473393e30 Add an interface for Reinforcement Learning.
Implement a simple HTTP server to start games, receive the gamestate and
pass commands to the simulation.
This is mainly intended for training reinforcement learning agents in 0
AD. As such, a python client and a small example are included.

This option can be enabled using the -rl-interface flag.

Patch by: irishninja
Reviewed By: wraitii, Itms
Fixes #5548

Differential Revision: https://code.wildfiregames.com/D2199
This was SVN commit r23917.
2020-08-01 10:52:59 +00:00
3ed9df0d6c Allow map to recenter during resize in Atlas. Fixes #1109.
Patch By: Clockwork-Muse
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D825
This was SVN commit r23859.
2020-07-21 02:08:50 +00:00
aeaba3c14c Use victory conditions json's in Atlas
Reviewed by: @Angen
Differential Revision: https://code.wildfiregames.com/D2393
This was SVN commit r23847.
2020-07-18 17:39:59 +00:00
aabab15324 Detect the need for libexecinfo in premake. This is mostly useful for musl Linux.
Patch By: nephele
Differential Revision: https://code.wildfiregames.com/D2671
This was SVN commit r23787.
2020-06-23 15:06:57 +00:00
c9d9b7be83 macOS build fixes and Jenkins pipelines.
This includes:
- some build fixes
- Jenkins pipelines, in use since January
- a revamped DMG build script, including dmgbuild configuration by Tobbi
and a tweak by norsnor (D2650)

Differential Revision: https://code.wildfiregames.com/D2523
This was SVN commit r23676.
2020-05-17 14:12:53 +00:00
782a77f106 Allow using system premake5 (with the flag --with-system-premake5) when running update-workspaces.sh, refs #1518.
Differential Revision: https://code.wildfiregames.com/D2519
This was SVN commit r23675.
2020-05-17 11:41:58 +00:00
32a105d6f8 Update cppformat from v0.11.0 to v1.1.0, fixes #5646, refs #3190.
Use the opportunity to rename the lib from cppformat to fmt, refs #4148.

Patch By: adrian
Rebased By: s0600204
Differential Revision: https://code.wildfiregames.com/D2613
This was SVN commit r23562.
2020-04-01 07:29:33 +00:00
dbb69285a5 Set source and executable character sets to UTF-8 on Windows, removes a platform discrepancy, fixes #5094.
Patch By: Inari
Tested By: Angen
Differential Revision: https://code.wildfiregames.com/D1411
This was SVN commit r23383.
2020-01-12 20:19:56 +00:00
601892a2bb Officially drop support for Visual Studio 2013, which stopped working after 3a839517ce, fixes #5379.
This was SVN commit r23382.
2020-01-12 20:04:22 +00:00
Angen
5ad75fa580 Precompiled logic update [Windows build]
Nuke HAVE_PCH and use only one macro for PCH logic.
This macro is enabled (=1) or disabled (=0) based on --without-pch and
no_pch parameters in premake5
Visual studio does not more override this logic

Differential Revision: https://code.wildfiregames.com/D1380
Reviewed by: @Itms
This was SVN commit r23314.
2019-12-31 13:58:48 +00:00
cc7071c691 Upgrade NVTT to version 2.1.1, fixes #4549.
Windows binaries built with toolset v140_xp.
Tested under Windows, Linux and macOS.
Includes a patch for building on musl Linux, contributed by voroskoi,
containing code by leper.
Use the opportunity to set native line endings in the NVTT bundle.

The NVTT DLL was the last one built with VS 2010, refs #5379, #5527.

Differential Revision: https://code.wildfiregames.com/D2475
This was SVN commit r23305.
2019-12-29 11:21:33 +00:00
72fc4105e2 Linting: Remove "no-lone-blocks" rule for ESLint
Lone blocks can help reading the code.

Patch by: Krinkle
Refs #5524
Differential Revision: https://code.wildfiregames.com/D2452
This was SVN commit r23261.
2019-12-19 16:38:30 +00:00
3af575abd0 Update the Jenkins scripts to match the current state, which uses Jenkins pipelines, Docker for reproductible build environments, and ZFS for space efficiency and robust incremental patching. refs #4419, refs #4312.
Reviewed By: Angen
Differential Revision: https://code.wildfiregames.com/D1910
This was SVN commit r23250.
2019-12-16 21:52:42 +00:00
f5c142fde8 Put the Windows patch testing Jenkins pipeline, written by Angen, under source control.
Patch By: Angen
Differential Revision: https://code.wildfiregames.com/D1946
This was SVN commit r23249.
2019-12-16 21:35:16 +00:00
aef0c3c13a Move Ogre3D GLSL Preprocessor to a third_party folder and restore its original name. Also restore the Wrapper name to reflect what it's wrapping and move it to renderer.
Reviewed by: @Angen
Comments by: @elexis
Differential Revision: https://code.wildfiregames.com/D2338
This was SVN commit r23215.
2019-12-07 11:48:03 +00:00
57abe7a644 Fix the Atlas build in the Windows autobuilder pipeline, refs #5574.
Use the opportunity to fix some whitespace and to make the file name
consistent with Jenkins.

Patch by: Angen
Differential Revision: https://code.wildfiregames.com/D2021
This was SVN commit r23213.
2019-12-07 08:54:32 +00:00
6db0f91823 Sort GUI Object types, GUI Object bases and GUI Setting value types into three new folders.
Differential Revision: https://code.wildfiregames.com/D2345
Tested on: gcc 9.1.0
Comments By: Vladislav
This was SVN commit r23028.
2019-10-02 09:44:00 +00:00
7f943b07b7 Enable no-caller and no-irregular-whitespace in ESLint, refs #5524.
https://eslint.org/docs/rules/no-caller
https://eslint.org/docs/rules/no-irregular-whitespace

Differential Revision: https://code.wildfiregames.com/D2237
Patch By: Krinkle
This was SVN commit r22893.
2019-09-12 21:36:42 +00:00
8dc425be5d Update update-workspaces.sh and premake5.lua with the with-system-mozjs45 flag from SpiderMonkey 45 in 64b477625d, refs #4893.
Differential Revision: https://code.wildfiregames.com/D2170
This was SVN commit r22660.
2019-08-13 11:30:46 +00:00
64b477625d Upgrade SpiderMonkey to version 45.0.2, refs #4893.
- Various build changes, in particular NSPR is not needed on Unix
anymore
- Add js/Initialization.h to source/scriptinterface/ScriptEngine.h
- Use nullptr instead of JS::NullPtr(), see
https://bugzilla.mozilla.org/show_bug.cgi?id=1164602
- Remove `JS::RuntimeOptionsRef.varObjFix`, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1171177
- Remove uses of `AutoIdArray`, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1191529
- `JS_InternUCStringN` has been renamed, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1178581
- `JS::Evaluate` now takes scope chains explicitly, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1097987
- Array functions (such as `JS_IsArrayObject`) are fallible and output
to params, see https://bugzilla.mozilla.org/show_bug.cgi?id=f3d35d8
- Remove `JSCLASS_CACHED_PROTO_WIDTH` workaround in our code, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1236373
- Remove compile'n go (`setCompileAndGo`) and replace it by
`setIsRunOnce` which will become the default in the future, see
https://bugzilla.mozilla.org/show_bug.cgi?id=679939
- Mark shared memory in direct access operations
(`JS_GetUint16ArrayData` and `JS_GetUint8ArrayData`), see
https://bugzilla.mozilla.org/show_bug.cgi?id=1176214
- Use new `JS::ObjectOpResult`, see
https://bugzilla.mozilla.org/show_bug.cgi?id=1113369

Thanks to wraitii, elexis, Krinkle and historic_bruno for contributions
and comments, and to gentz, madpilot, s0600204 and Stan for testing and
indirect contributions.

Differential Revision: https://code.wildfiregames.com/D1510
This was SVN commit r22627.
2019-08-07 22:37:43 +00:00
b04a8d4793 Disable eslint curly rule, because none of its configurable enforcement reflects the curly brace convention of this repository, refs #5524.
Differential Revision: https://code.wildfiregames.com/D2070
Patch By: Krinkle
Reviewed By: Imarok
This was SVN commit r22529.
2019-07-22 19:55:52 +00:00
d0e6111ea1 Enable eslint rule no-floating-decimal and remove all superfluous floating decimal points.
Differential Revision: https://code.wildfiregames.com/D2003
Patch By: Krinkle
This was SVN commit r22472.
2019-07-14 10:03:10 +00:00
3c2f15ee8b Fix lineendings.
This was SVN commit r22460.
2019-07-12 17:40:40 +00:00
6cde90104a Update precompiled win32 libogg to 1.3.3 and libvorbis to 1.3.6, building them with VS2015, refs #5379.
Use the default naming for both libraries (libvorbis instead of vorbis),
and use our default suffix for debug versions of the libs.

This was SVN commit r22406.
2019-06-27 22:36:04 +00:00
4967d176b9 Define variables before mentioning them in scripted component tests, and add a linter rule for this.
Patch By: Krinkle
Differential Revision: https://code.wildfiregames.com/D1986
This was SVN commit r22380.
2019-06-16 20:48:28 +00:00
f97213187e Version and update the Windows autobuilder script, refs #5379.
Patch by Angen, based on the previous bat script for the autobuilder
job.
Comments by Stan.
Differential Revision: https://code.wildfiregames.com/D1909
This was SVN commit r22338.
2019-06-04 16:48:22 +00:00
800bf0da24 Improve UTF-8 character handling in Atlas
(Also prevents the compile-time warnings reported in the abandoned
D1432)

Accepted by: Itms
Patch linting by: Stan, Vladislav, wraitii
Also tested by: Imarok
Fixes: #4936
Differential Revision: https://code.wildfiregames.com/D1395
This was SVN commit r22335.
2019-06-03 20:19:53 +00:00
804d36fca3 Add a build flag to prefer locally-built libraries (linux/bsd systems)
To use:
```
./update-workspaces.sh --prefer-local-libs
```
Then run `make` as usual.

Accepted by: Itms
Differential Revision: https://code.wildfiregames.com/D1747
This was SVN commit r22308.
2019-05-27 15:45:57 +00:00
9ea68317ad Use pkg-config where possible instead of hard-coding or library-specific programs
Accepted by: Itms, wraitii
Previously tested by: andy5995
Fixes: #5157
Refs: D1582
Differential Revision: https://code.wildfiregames.com/D1611
This was SVN commit r22302.
2019-05-25 18:00:40 +00:00
d15e7df5de Target build version explicitly for Xcode
Xcode otherwise defaults to the latest Mac OS version.

Reviewed By: Wraitii
Differential Revision: https://code.wildfiregames.com/D1482
This was SVN commit r22295.
2019-05-25 08:28:35 +00:00
f9da484077 Linting: allow constant condition in loops
Reviewed by: Itms
Differential Revision: https://code.wildfiregames.com/D1364
This was SVN commit r22101.
2019-03-03 10:48:18 +00:00
2c167153e9 Upgrade premake5 from alpha12 to alpha13, refs #3729.
Fixes an issue on macOS Mojave that was patched in fa1c281e79.

The list of changes can be found under
build/premake/premake5/CHANGES.txt.

This was SVN commit r22021.
2019-01-04 21:20:45 +00:00
b2669131b5 Add Coala Bear for the license header check.
Reviewed By: Itms
Differential Revision: https://code.wildfiregames.com/D404
This was SVN commit r22010.
2019-01-02 23:12:51 +00:00
46ddffdd3f Drop premake4 support, refs #3729. premake4 has been unused for a long time now, and was only left available as a safety net.
Differential Revision: https://code.wildfiregames.com/D1275
This was SVN commit r21955.
2018-12-26 16:00:53 +00:00
7115e4f9c7 Target 10.9 as minimal OSX version in all scripts, in order to match the libraries build script.
Differential Revision: https://code.wildfiregames.com/D1685
Tested By: trompetin17
This was SVN commit r21942.
2018-12-03 11:07:00 +00:00
fa1c281e79 Import part of commit 5f57b5d62a to our copy of premake5 alpha10.
After the re-release of A23, premake5 will be updated to the latest
alpha version, which includes this change.

This allows to build premake on macOS Mojave. See
https://github.com/premake/premake-core/issues/1154.

Differential Revision: https://code.wildfiregames.com/D1669
Based on patch by: trompetin17
This was SVN commit r21941.
2018-12-02 20:58:19 +00:00
01cdd24fea Build gloox with GnuTLS on macOS, refs #4705.
This includes GMP and nettle, that are dependencies of GnuTLS.
On versions of OSX/macOS up to 10.11, TLS handshakes can still fail and
crash, so users of those older versions should disable TLS on the lobby
in the options screen, and will still be able to use it.

Differential Revision: https://code.wildfiregames.com/D1654
Tested By: Tobbi, trompetin17, and testers of their bundles.
This was SVN commit r21940.
2018-12-02 20:52:40 +00:00
2b847a520a Small changes to the macOS build scripts.
Patch By: smiley, Tobbi and trompetin17.
Differential Revision: https://code.wildfiregames.com/D1609
This was SVN commit r21931.
2018-11-13 16:09:35 +00:00
22791af91f Use pkg-config instead of sdl2-config
Resolves build issue on Arch Linux (and Arch-derivatives)

(Also forms part of a fix for Slackware-current builds)


Accepted By: echotangoecho (Arch)
Confirmed as functional by: Imarok (Ubuntu 16.04, gcc5.4), wes-fole-dog
(Parabola)
Refs: #5157
Fixes: #5152
Differential Revision: https://code.wildfiregames.com/D1582
This was SVN commit r21865.
2018-08-17 19:47:19 +00:00
54d2b13658 Update AppData, fixes #5006, refs #3734.
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D683
This was SVN commit r21809.
2018-04-29 20:49:52 +00:00
32686c2840 Build fixes for macOS and premake4.
Fixes issues with wxWidgets and curl reported by foxhack. Fixes premake4
build scripts after an oversight in 833c9f108c.

Reviewed By: vladislavbelov
Differential Revision: https://code.wildfiregames.com/D1468
This was SVN commit r21808.
2018-04-29 15:44:48 +00:00
833c9f108c mod.io support.
mod.io is a new platform for sharing mods, that 0 A.D. can make use of
in order to download mods and install them.

Based on patch by leper, numerous changes from s0600204, vladislavbelov,
Imarok, elexis, temple and myself.
Differential Revision: https://code.wildfiregames.com/D1029
This was SVN commit r21759.
2018-04-22 18:14:45 +00:00
943a61e4ea Define and associate .pyromod filetype with pyrogenesis on Linux and Windows.
The new pyrogenesis.xml file should go under
`$XDG_DATA_DIRS/mime/packages/` before running update-mime-database (see
https://www.freedesktop.org/wiki/Specifications/AddingMIMETutor/ for
more information).

Patch by s0600204 and myself.

This was SVN commit r21723.
2018-04-15 00:25:52 +00:00
dfa2048dc5 Use libsodium for cryptography.
Tested By: Stan, Imarok
Differential Revision: https://code.wildfiregames.com/D1428
This was SVN commit r21674.
2018-04-08 21:41:31 +00:00
387200f745 Enable multi-processor compilation on Windows with premake5. Patch by Stan, fixes #5035.
Differential Revision: https://code.wildfiregames.com/D1335
This was SVN commit r21389.
2018-02-26 21:49:49 +00:00
4e96980d5a Build with the "read-only relocation" hardening linker flag
Summary: Improve binary security by enabling a hardening linker flag.

Test Plan:
Patch already used on Debian.

Tested locally by @Gallaecio as well.

Reviewed By: LudovicRousseau
Trac Tickets: #4894

Differential Revision: https://code.wildfiregames.com/D1123
This was SVN commit r20896.
2018-01-17 18:01:58 +00:00
a82175b580 Use premake5 during automated testing, after a few weeks of use in production.
Refs #4846.

This was SVN commit r20635.
2017-12-10 14:26:53 +00:00
18b2906a9c Refactor the cxxtest premake module.
Properly fix the current issues with pre-build commands, improve the
documentation of known issues and re-design the module so it is easy to
extend it into a fully-fledged CxxTest module supporting all features of
the tool.

Reviewed By: wraitii
Tested By: elexis, bb, Imarok
Differential Revision: https://code.wildfiregames.com/D1092
This was SVN commit r20633.
2017-12-10 11:17:43 +00:00
0ce7a7f5c8 Go back to the legacy syntax for detecting premake actions.
The filter command does only filter out premake commands, and does not
act on Lua instructions like this one. Some code refactoring would be
needed in order to take advantage of the powerful filter syntax.

Refs #3439.

This was SVN commit r20563.
2017-11-29 22:37:09 +00:00
f22dfba717 Support Visual Studio 2015 (MSVC 14.0), fixes #3439.
VS 2013 stays the default Windows compiler, but support for it will be
dropped as soon as possible.
Tested By: Stan
This was SVN commit r20562.
2017-11-29 21:16:10 +00:00
2da6c0ce2a Use default Unicode encoding in source code on Windows.
This change drops MBCS encoding (which was the default for premake4)
except in the Collada project which is entirely written assuming MBCS.

Tested By: wraitii
Differential Revision: https://code.wildfiregames.com/D1069
This was SVN commit r20561.
2017-11-29 20:14:22 +00:00
8bb7a20ec1 Remove hack from cxxtest premake module, refs #3729.
This fixes an issue where tests wouldn't build without precompiled
headers.

Tested By: leper
Differential Revision: https://code.wildfiregames.com/D1068
This was SVN commit r20560.
2017-11-29 20:04:44 +00:00
94db174b25 Fix the pkgconfig premake module when headers are force-included.
This fixes a bug with premake5 happening when using
--with-system-mozjs38.

Tested By: temple
Differential Revision: https://code.wildfiregames.com/D1028
This was SVN commit r20523.
2017-11-25 16:56:56 +00:00
82d6256171 Silence build output with third-party libs on Unix during Jenkins builds.
Reviewed By: wraitii
Differential Revision: https://code.wildfiregames.com/D958
This was SVN commit r20440.
2017-11-11 16:21:30 +00:00
7d1f56e617 Migrate to premake5, fixes #3729.
Make pyrogenesis and tests depend on Collada, fixes #404.

This commit includes custom modules for CxxTest and pkg-config support
that can be improved upon in the future. It also includes all necessary
changes to the build scripts, but the new premake5 features are not
fully exploited yet.

With this change, premake5 becomes the default, but CI scripts on Unix
will continue using premake4 for a while, in order to avoid regressions.

Includes code by zsol.
Reviewed by: wraitii, leper
Differential Revision: https://code.wildfiregames.com/D72
This was SVN commit r20381.
2017-10-30 13:52:05 +00:00
b856281197 Alpha 12 version of Premake 5, including prebuilt binary for Windows.
Directly taken from https://premake.github.io/.

Refs #3729.

This was SVN commit r20366.
2017-10-28 16:10:49 +00:00
e87517be69 Add our script for building patches with Jenkins to version control.
Refs #4419.
Reviewed By: leper, elexis
Differential Revision: https://code.wildfiregames.com/D18
This was SVN commit r20365.
2017-10-28 15:54:44 +00:00
7e0d19cd7a Linting with Coala.
This new script and the associated configuration files lint our source
code (JS and C++). This will be extended in the future, refs #4833.

Reviewed By: Imarok
Differential Revision: https://code.wildfiregames.com/D213
This was SVN commit r20364.
2017-10-28 15:30:37 +00:00
21f69ef574 Move networking ScriptFunctions to a new JS Interface, refs #4772.
This was SVN commit r20167.
2017-09-12 00:29:10 +00:00
9aad0137ba Stop using WMI for detecting the sound card, and use OpenAL instead. Delete WMI code altogether now it is unused.
This fixes #4561 and makes sound card detection work on non-Windows
platforms.

Reviewed By: echotangoecho
Tested By: Imarok, elexis
Differential Revision: https://code.wildfiregames.com/D636
This was SVN commit r19877.
2017-07-06 17:29:49 +00:00
61261d14fc STUN + XMPP ICE implementation.
Allows lobby players to host games without having to configure their
router.

Differential Revision: https://code.wildfiregames.com/D364
Fixes #2305
Patch By: fcxSanya.
StunClient based on code by SuperTuxKart, relicensed with approval of
the according authors hilnius, hiker, Auria, deveee, Flakebi, leper,
konstin and KroArtem.
Added rfc5245 (ejabberd) support, a GUI option, refactoring and segfault
fixes by myself.

Tested By: user1, Sandarac, Sestroretsk1714, Vladislav, Grugnas,
javiergodas
Partially Reviewed By: leper, Philip, echotangoecho
This was SVN commit r19703.
2017-06-01 06:33:52 +00:00
3d53614bce Add a script to lint the translations with Dennis.
Two of our printf calls are not compatible with python-format and will
be ignored until Dennis supports the corresponding formats. Also removed
meaningless enclosing characters that were wrongly considered HTML.

Reviewed By: leper
Differential Revision: https://code.wildfiregames.com/D214
This was SVN commit r19669.
2017-05-27 12:26:26 +00:00
631fa4b376 Remove unused old code for triggers in atlas.
Actually implementing atlas support for triggers will most likely
require a different interface, so no use keeping it.

Reviewed By: vladislavbelov
Differential Revision: https://code.wildfiregames.com/D418
This was SVN commit r19531.
2017-05-08 02:40:22 +00:00
329f9e0957 Remove broken atlas error reporting code.
This has been disabled for nearly 10 years (44f5288a1d), so remove it.

Reviewed By: fatherbushido, vladislavbelov
Differential Revision: https://code.wildfiregames.com/D423
This was SVN commit r19511.
2017-05-04 09:29:24 +00:00
290e67dc32 Add cinematic page to the atlas editor with one option to enable rendering of existing paths.
Differential Revision: https://code.wildfiregames.com/D301
Patch By: Vladislav
This was SVN commit r19391.
2017-04-09 02:12:20 +00:00
73bda917bb Cleanup of NASM. It has been unused for ages (153357f640) and we still have legacy code lines in our premake scripts. We also carry an unused binary for Windows.
By removing this we don't need to add NASM support to premake5, refs
#3729.

Reviewed By: leper
Differential Revision: https://code.wildfiregames.com/D97
This was SVN commit r19188.
2017-01-30 09:19:59 +00:00
6680dd14ef Small updates to build scripts, refs #4419.
Tweak the coverage script.
Update the clean-workspaces script to be able to avoid rebuilding
libraries.

Differential Revision: https://code.wildfiregames.com/D2
This was SVN commit r19074.
2016-12-27 09:49:41 +00:00
6149dd3841 Actually remove trailing whitespace for non-header files as well.
This was SVN commit r18989.
2016-11-23 13:02:58 +00:00
29e809f3e9 Remove the URL entry of the desktop file, because that can only be used to create a desktop link to that URL (as of Desktop Entry Specification 1.1), refs #3734.
This was SVN commit r18932.
2016-11-14 09:50:36 +00:00
fc0e2a2f72 Fixes [18916]. Obviously I left over some code from my bundling of OSX. Update copyright to 2016.
This was SVN commit r18917.
2016-11-10 22:56:16 +00:00
12ad190a51 Allow .Deleted to work on directories. Fixes #2641. Patch by leper.
This was SVN commit r18916.
2016-11-10 22:52:39 +00:00
661cb8c932 Add URLs and keywords for the software search in the gnome software center and it's derivates used by many linux flavors, fixes #3734.
Add a menu entry for atlas.
Add some translations for the product description provided by native
speaking players and contributors.

This was SVN commit r18904.
2016-11-01 18:07:21 +00:00
f15f49c93b Add Open Age Ratings Service metadata to the appdata file, allowing the Gnome Software Center to show an accurate age rating depending on the country of the user. Patch by Jeru, reviewed by feneur, refs #3734.
This was SVN commit r18885.
2016-10-28 18:10:57 +00:00
184d64cdc8 Fix building on Fedora, by adding the Position Independant Code flag when building with gcc. This flag is not supposed to break anything and did not cause troubles when testing it on some other platforms than Fedora.
Based on patch by bb, fixes #3869

This was SVN commit r18729.
2016-09-18 08:54:27 +00:00
72a26857e9 Use the current OS X version instead of a hardcoded value in the path to the OSX development tools, when building the OSX bundle.
Patch by jurgemaister, plus some little fixes, fixes #3884.
Tested on OSX 10.11.

This was SVN commit r18726.
2016-09-15 13:41:16 +00:00
a8403bd7e5 Add a linker flag on Windows allowing the game to be large address aware. This allows the game to use more than 2GB of RAM. https://msdn.microsoft.com/en-us/library/wz223b1z.aspx
However, this can mask memory issues, so this flag will not be enabled
by default. The autobuilder will use it, so SVN playtesters and release
users can benefit from it. Windows users compiling the game themselves
will have the 2GB limitation.

Fixes #4190, refs #1619, #4191
Flag tested by Stan

This was SVN commit r18711.
2016-09-07 09:03:47 +00:00
b60cf4663d Whitespace fixes, patch by echotangoecho, refs #1619
This was SVN commit r18704.
2016-09-05 08:34:19 +00:00
ca80797dcc SpiderMonkey 38 upgrade: 05/35
Update premake scripts.

This was SVN commit r18659.
2016-09-02 16:18:57 +00:00
c9cecab0be Remove libjpeg. Fixes #2828.
Based on patch by dalerank, tested on Windows, might need to be amended
for OSX.

This was SVN commit r17870.
2016-03-12 18:15:04 +00:00
48ba4d9cb4 Updates precompiled win32 SDL libs to 2.0.4 from libsdl.org.
Fixes windows build with SDL 2.0.4, fixes #3138, #3225

This was SVN commit r17658.
2016-01-17 23:11:37 +00:00
d08044c8ad JS_DumpHeap is removed in SpiderMonkey 38, since we have nothing using it remove it. Refs #3708.
https://bugzilla.mozilla.org/show_bug.cgi?id=1105069
https://bugzilla.mozilla.org/show_bug.cgi?id=1122842

This was SVN commit r17630.
2016-01-11 20:03:09 +00:00
5a7c2ec2db Cleanup after SDL1 removal.
Remove the "sdl1" option from premake4.lua (thanks historic_bruno).
Improve isUnprintableChar indentation, resolve two defines, change SDL*
to SDL2 in premake (thanks leper).

This was SVN commit r17479.
2015-12-15 08:53:24 +00:00
9a2d0f803e Remove disabled by default SDL1 support.
Refs #2041.

This was SVN commit r17470.
2015-12-14 10:52:21 +00:00
08df9e8533 Update built on OS X to 1.6.19.
This was SVN commit r17291.
2015-11-19 23:47:41 +00:00
674f49f1a8 Remove generated test files during clean-workspaces.sh. Patch by otero. Fixes #3275.
Also remove two generated and disabled test files.

This was SVN commit r16921.
2015-08-19 01:30:09 +00:00
e263c8f1de Remove EnableSSE2 for Windows builds. Fixes #3361.
Since we do not require SSE2 on *nix requiring it on Windows makes no
sense,
it also breaks the game for some users.

This was SVN commit r16912.
2015-08-03 19:57:42 +00:00
15a4c813d6 Add support for AArch64 (ARM64). Patch by tbm. Fixes #3345.
This was SVN commit r16899.
2015-07-30 19:52:55 +00:00
47b4530245 Replaces usage of readlink -f in update-workspaces.sh with a perl one-liner, for compatibility with BSD and OS X, fixes #916
This was SVN commit r16767.
2015-06-14 20:43:12 +00:00
502e1a3960 Use SDL2 by default everywhere.
SDL1 can still be forced passing --sdl1 to update-workspaces.sh.
Eventually, if no blocking issues arise, SDL1 support could be dropped
after next release.

This was SVN commit r16586.
2015-04-27 08:49:16 +00:00
c73c9370ee Update tinygettext. Fixes #2522.
Updates to upstream changeset f71a8e5e84bffadd61ac93768b332262989844fd,
with some additions
that will be submitted upstream (without the addition of precompiled.h
and win32 dirent).

This was SVN commit r16462.
2015-03-24 17:47:08 +00:00
46d17483db Remove --with-system-miniupnpc.
It was deprecated in 776567d9b2. Either use a system provided miniupnpc,
or use --without-miniupnpc.

This was SVN commit r16442.
2015-03-16 04:35:01 +00:00
b1c4e29ac8 Fixes inconsistencies in spelling of colour/color by preferring "color" (only wxWidgets remains with some API that requires "colour"), fixes #1029.
NOTE: requires update-workspaces and may require correction of some
modded actors/scenarios

This was SVN commit r16438.
2015-03-15 23:59:48 +00:00
1ae38b8d06 Deletes folder missed in 99cb4b42fd
This was SVN commit r16436.
2015-03-15 23:25:46 +00:00
1a4176ebcf Updates OS X icon with multiple sizes and slightly reduced transparency to make it more easily clickable.
Updates OS X bundle build script, disables broken testing, refs #2780

This was SVN commit r16408.
2015-03-09 00:24:15 +00:00
18a115e772 Forces using libc++ on OS X, to fix pre-Mavericks build given the game's new C++11 requirements, fixes #3062.
Forces using C++11 in build-osx-libs.sh, for consistency

This was SVN commit r16375.
2015-02-22 01:19:39 +00:00
e48e330db7 Sets SDL2 as default and only build option on Windows.
Removes remnants of WSDL. Refs #2041

This was SVN commit r16357.
2015-02-20 05:52:18 +00:00
c654be8796 Extend ac8124b332 and avoid /delayload warnings in Windows builds when building Atlas and Collada.
This was SVN commit r16243.
2015-01-29 14:02:58 +00:00
c61981793c Fixes some missing replacements of mozjs24 with mozjs31
This has caused the bundled library to be built even if
--with-system-mozjs31 is specified (but actually it has still correctly
used the system library after building the bundled library).
Refs #2462

This was SVN commit r16235.
2015-01-26 18:19:24 +00:00
ac8124b332 Avoid /delayload warnings in Windows build.
This was SVN commit r16220.
2015-01-24 18:54:47 +00:00
c02a7e1a7b SpiderMonkey 31 upgrade
This upgrade also introduces exact stack rooting (see to the wiki:
JSRootingGuide) and fixes problems with moving GC. This allows us to
enable generational garbage collection (GGC).
Measurements a few months ago have shown a performance improvement of a
non-visual replay of around 13.5%. This probably varies quite a bit, but
it should be somewhere between 5-20%. Memory usage has also been
improved. Check the forum thread for details.

Thanks to everyone from the team who helped with this directly or
indirectly (review, finding and fixing issues, the required C++11
upgrade, the new autobuilder etc.)! Also thanks to the SpiderMonkey
developers who helped on the #jsapi channel or elsewhere!

Fixes #2462, #2415, #2428, #2684, #1374
Refs #2973, #2669

This was SVN commit r16214.
2015-01-24 14:46:52 +00:00
65cc47f6c0 Deletes unused bundled MSVC runtime libs for old 2005 and 2008 versions.
Removes VC80 manifest info.

This was SVN commit r16199.
2015-01-23 03:21:48 +00:00
5fa3318bbf Adds premake build vs2013 workspace, since that's now our only supported version, and removes workspaces for old unsupported versions.
Rebuilds premake win32 binary with VC++ 2013.

This was SVN commit r16195.
2015-01-23 01:46:28 +00:00
dcf5a2667f CLogger: Use cppformat instead of sys_vswprintf.
sys_vswprintf relies on platform-specific printf implementations, which
vary widely between platforms (in handling of truncation, return values,
use of %s/%S/%hs/%ls for mixing char and wchar_t strings, etc) and are
therefore a pain.

Use cppformat's fmt::sprintf instead, which has very similar syntax to
sprintf but is more C++ish and is portable.

Also, wchar_t is stupid, so use char* strings (which are expected to be
UTF-8) in CLogger. This creates a bit of a pain with changing all
callers to convert to char* strings, but that's their fault for not
using UTF-8 already.

Refs #3011.

This was SVN commit r16182.
2015-01-22 20:30:05 +00:00
aeb18239c3 Update tinygettext to upstream commit ca0f3ff640. Refs #2522.
Keeps our addition of precompiled.h (fd3d335265), win32/dirent,
4c9d99ff68, de6823d23f, and 8fc14655b5.

This was SVN commit r16168.
2015-01-21 20:37:37 +00:00
09bbc9c35c Enable C++11 by default.
Don't generate workspaces and remove checks for unsupported compier/IDE
version$

Refs #2669

This was SVN commit r16160.
2015-01-18 13:44:03 +00:00
95fa46304f Don't specify wxwidgets lib names in extern_libs4.lua
It works without specifying them and this way it builds with wxwidgets
2.8 and 3 on Windows

Refs #2891

This was SVN commit r16139.
2015-01-11 17:25:24 +00:00
c681174fad Adds a notice about a known issue in premake4.lua with the icc compiler
Refs #2994

This was SVN commit r16132.
2015-01-09 12:48:42 +00:00
4d89820f1c Fixes build errors on Windows introduced in c813a11427 and 1a0f9b086e.
This was SVN commit r15964.
2014-11-13 22:37:43 +00:00
1a0f9b086e GUI cleanup.
Remove toTitleCase(). Unify iColorToString() and rgbToGuiColor().
Translate XMPP errors (displayed when connecting).

This was SVN commit r15960.
2014-11-13 01:26:36 +00:00
d4884a2099 Removes empty valgrind lib directory and linker setting from extern_libs4.lua. Fixes linker warning with Git repos, since empty directories aren't included
This was SVN commit r15887.
2014-10-18 04:59:53 +00:00
3c33a8a072 Add back the VS2013 project files to the files generated by update-workspaces.bat on Windows, as Boost libs were updated to 1.56.
Fixes #2271, addresses d672d9625d.

This was SVN commit r15883.
2014-10-17 17:50:53 +00:00
c981dc4e9d Adds missing l10n folder to OS X bundle build script, fixes #2689
This was SVN commit r15878.
2014-10-17 02:59:11 +00:00
f5179930f5 Remove leftovers from bundled miniupnpc. Refs #2552.
Fix cleanup of SM24.

This was SVN commit r15873.
2014-10-15 15:34:32 +00:00
776567d9b2 Removes bundled MiniUPnPc source, it is now a required system library on *nix. NOTE: update-workspaces must be run. See the updated BuildInstructions for details.
Adds precompiled MiniUPnPc 1.9 libs for win32, fixes #2552.
Updates build-osx-libs.sh for these changes, including patch to fix
clang symbol visibility (fixed upstream).
Updates LICENSE.txt.
Fixes bug in build-osx-libs.sh where downloaded files might not have the
expected filename.
Fixes problem with building wxWidgets for 32-bit OS X targets,
apparently ARCH is ignored sometimes, but --enable-macosx_arch works.

This was SVN commit r15870.
2014-10-15 03:47:13 +00:00
4ecfa25c5e Sync minimal-flags with what Gentoo uses.
This was SVN commit r15861.
2014-10-12 23:40:05 +00:00
9c92f45c61 Fixes typo in OS X bundle build script.
Changes SDL2 version in build-osx-libs.sh to Hg snapshot SDL-2.0.4-9134,
refs #2852

This was SVN commit r15849.
2014-10-06 23:45:34 +00:00
a86231240d Fixes some bugs in OS X bundle build script.
Logs most build output to file using simple redirects for now.
Hides output of pushd/popd commands

This was SVN commit r15828.
2014-09-29 04:33:51 +00:00
2afeec0c01 Unify removal of incomplete translations in packaging scripts. Fixes #2825.
This was SVN commit r15826.
2014-09-28 21:51:48 +00:00
001f32e080 Removes lib path for cxxtest from extern_libs4.lua, to avoid clang linker warning
This was SVN commit r15823.
2014-09-28 21:18:44 +00:00
8f039bfb44 Fixes translation inclusion regex for build-osx-bundle.sh, fixes #2764
This was SVN commit r15808.
2014-09-26 01:06:21 +00:00
fe30c0e6a1 Switch to ErrorPrinter on Windows. Refs #2488.
This was SVN commit r15803.
2014-09-25 15:17:30 +00:00
b155d4f7e3 Updates OS X bundle build script. Adds --release flag which can be used to build a proper release bundle, including SVN export, at the expense of time and disk space. Moves SVN-specific logic to this mode, otherwise the script works with git or no source control at all.
Removes obsolete instructions for building a 32-bit 10.5 bundle.

This was SVN commit r15801.
2014-09-25 02:18:19 +00:00
5ad07045e2 Sets OS X build to use SDL2 by default, refs #2041
This was SVN commit r15799.
2014-09-25 01:54:58 +00:00
533fb6f7bc Load the public mod by default. Fixes #2754.
This was SVN commit r15796.
2014-09-24 17:49:22 +00:00
4753a0c1c2 Replace usage of "GUIs" in cxxtest with the command line,
and extend that to support -libdir <dir> and -disabled. Fixes #2488.

This was SVN commit r15795.
2014-09-24 15:35:31 +00:00
29effb5089 Build fixes and improvements for BSDs. Fixes #2804.
This was SVN commit r15793.
2014-09-24 14:11:13 +00:00
b5a0e2ec5c Updates OS X DMG background image, by He who must not be named
This was SVN commit r15790.
2014-09-23 02:48:23 +00:00
3f75e5db0e Adds --sdl2 flag to update-workspaces.bat, making SDL2 the default on Windows, refs #2041
This was SVN commit r15786.
2014-09-22 19:42:55 +00:00
8f61e36352 Adds SDL2 to build-osx-libs.sh, but leave SDL1 as the default while we test, refs #2041.
Note: SDL2_CONFIG is now the variable to override the path to
sdl2-config, SDL_CONFIG remains to override the path to sdl-config

This was SVN commit r15774.
2014-09-20 19:02:24 +00:00
d62e3729d5 Improves SDL2 support, includes patch by yashi and fabio, refs #2041:
* Adds SDL color cursor implementation
* Adds config option for choosing preferred display in multimonitor
setup
* Uses text input API to better handle CJK input
* Fixes various hotkey and input bugs

SDL 1.2 is still the default and recommended, to test experimental SDL2
support, pass the --sdl2 flag to update-workspaces

This was SVN commit r15767.
2014-09-20 12:12:35 +00:00
e4d7586cdd Sets default compiler for OS X build to clang, using hack that should be replaced if we upgrade premake.
Fixes linking error in ICU build from build-osx-libs.sh (it was setting
the C++ compiler to clang, which is the C compiler, so it wouldn't
automatically link to the c++ lib). Now build-osx-libs.sh and the game
should use clang and whichever c++ lib is the default

This was SVN commit r15725.
2014-09-09 23:56:39 +00:00
179162069e Updated cxxtestgen.exe for cxxtest4.4 (created as described in #2450).
This was SVN commit r15686.
2014-08-27 12:39:04 +00:00
64bfa089af Add mod selection mod.
Includes some contributions by rada and sanderd17.

This was SVN commit r15677.
2014-08-25 16:02:54 +00:00
0e01f20d29 Upgrades cxxtest.
Replaces cxxtest-4.3 with cxxtest-4.4 (without .gitignore or .cvsignore
files) (see [[SVN:14817]]).
Applies the same changes as done in c8bdd993c0 to the new version.

This was SVN commit r15667.
2014-08-24 08:19:24 +00:00
be9d69fd24 Link actor editor built in debug mode to debug version of atlasUI. Fixes #2655. Patch by Echelon9.
This was SVN commit r15608.
2014-08-03 22:46:20 +00:00
05de9def0b Remove unused --with-system-enet option (see 6bec648833) from premake.
Sort options in premake.

This was SVN commit r15558.
2014-07-25 13:50:59 +00:00
f017922910 Update system icons to the newer logo and add higher resolution images to the ico/icns sets. (the OS X icon might need to be checked as I had to use an online converter to get that.)
This was SVN commit r15557.
2014-07-24 23:12:46 +00:00
f8d53d9a1d Clean up of the last commit.
This was SVN commit r15474.
2014-07-01 16:15:03 +00:00
ab30e0d4fb Change the water texture to a new, bigger one, created in Blender (thanks to Enrique). Change settings so that they are more logical, yet allow reverting back to an even lower quality setting. Add a WIP high setting (with foam) which isn't finished yet.
Change the shader itself so that the effects look nicer and are more
consistent across settings.
Rework the water mesh generation (simpler system). Fix a few issues.

May work oddly with Atlas since I haven't been able to compile yet.

Refs #1875 (maybe fix), Fixes #2077 (I'll assume it does), Fixes #2114
(assumption again), refs #48.

This was SVN commit r15473.
2014-07-01 16:05:05 +00:00
59b2493990 Missed changes from 304a7c1201
This was SVN commit r15458.
2014-06-28 05:50:32 +00:00
6bec648833 Removes bundled ENet source. NOTE: system libenet (1.3) is now required on *nix, see BuildInstructions for updates. This change requires running update-workspaces. Fixes #1568.
Updates update-workspaces.sh and build-osx-libs.sh for this change.
Updates precompiled win32 ENet to 1.3.12, built with VC++ 2010, and
moves it to libraries/win32, refs #864.

This was SVN commit r15457.
2014-06-28 05:48:51 +00:00
304a7c1201 Updates precompiled win32 libpng to 1.6.12, built with VC++ 2010, refs #864.
Removes unused ffmpeg definition from extern_libs4.lua

This was SVN commit r15456.
2014-06-28 05:34:39 +00:00
fd6b199606 Fix compiling on Mavericks. Users on older systems will need to change a few lines in either of those scripts, but it should not break their build. For now, I'm saying it Fixes #2304 .
This was SVN commit r15447.
2014-06-25 18:01:00 +00:00
213732d5af Updates some precompiled win32 libraries with VC++ 2010 (note: requires update-workspaces), refs #864:
Updates libiconv to v1.14.
Updates libxml2 to v2.9.1.
Updates zlib to v1.2.8.
Rebuilds FCollada.
Updates libxml2 to use same libiconv as tinygettext.
Cleans up unneeded libiconv files.

This was SVN commit r15416.
2014-06-23 01:07:16 +00:00
0e6f6576dc Fix compilation on Mavericks when running build-osx-bundle.sh.
Fixes to build-osx-libs.sh.
Support gloox properly on OSX.
Refs #2304 (not fixed since afaik xCode still runs into some issues)

This was SVN commit r15410.
2014-06-22 08:27:58 +00:00
8817bd394b Fix the check if the script is beeing exectued as root for sh (== comparision seems to work for bash but not for sh).
This was SVN commit r15396.
2014-06-19 15:19:08 +00:00