1
1
forked from 0ad/0ad
Commit Graph

116 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
fe30c0e6a1 Switch to ErrorPrinter on Windows. Refs #2488.
This was SVN commit r15803.
2014-09-25 15:17:30 +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
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
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
59b2493990 Missed changes from 304a7c1201
This was SVN commit r15458.
2014-06-28 05:50:32 +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
b78c38b935 Disable GCC warning triggered by wxWidgets.
This was SVN commit r15223.
2014-05-26 13:38:09 +00:00
940868398c Use Boost.Signals2 for Atlas. Patch by fabio. Fixes #2469.
This was SVN commit r15173.
2014-05-19 21:01:02 +00:00
f4edb8dce5 Simplify and improve x86/amd64 CPU build flag
On amd64 removes the "-msse" flag, which is already
enabled by default.

On x86 changes the flags from "-march=i686 -msse" to
"-march=pentium3 -mtune=generic". This should also enable
other CPU features like MMX, while keeping the same
minimun supported CPU (Intel Pentium3 or AMD Athlon 4)
previously required by "-msse".

Fixes #2329.

This was SVN commit r15170.
2014-05-19 12:18:55 +00:00
fd3d335265 Sacrifices a goat to the gods of insanity.
Fixes random crashes on Windows due to differences of STL types on the
binary level between different static libraries.
The differences are caused by the definition of _HAS_ITERATOR_DEBUGGING
and _SECURE_SCL in lib/precompiled.h.
All our engine static libs use precompiled headers but we didn't use
them for tinygettext because they aren't needed (except for these two
defines).
I've decided to add precompiled headers to tinygettext too instead of
just copying these defines. That should cause less headaches in the
future.

This was SVN commit r14983.
2014-04-24 20:05:48 +00:00
d6db5a466d Internationalization of the C++ side
Provides the logic to detect the system language, load translations, and
use
loaded translations both in the C++ and the JavaScript side.

This patch includes code by Yves, sanderd17, leper, historic_bruno and
Gallaecio. It’s worth noting that Yves and historic_bruno were also the
main
contributors behind the changes in 1b3261b8f4 as well.

This was SVN commit r14953.
2014-04-20 20:03:57 +00:00
e9e05f4efc Second (main) commit for the SpiderMonkey upgrade.
This commit contains all the required changes to our source files and
build scripts (hopefully).
A next commit will remove the old stuff of SpiderMonkey 1.8.5.

Spcial thanks to:
 - H4writer who helped a lot mainly with the performance issues we
had/have, but also with other problems or questions.
 - Leper for the review.
 - Historic_bruno for implementing the build scripts on Mac OS X and
testing on the Mac.
 - The people from the #jsapi channel and from
mozilla.dev.tech.js-engine who answered a lot of questions and helped
solving problems.
 - All the other people who helped

Refs #1886
Fixes #2442
Fixes #2416

This was SVN commit r14877.
2014-03-28 20:26:32 +00:00
c8bdd993c0 Upgrades cxxtest.
Switches to the already committed new cxxtest sources and deletes the
old sources.
Applies the changes from 6374080b60 and 4a57fed5a7 to the updated
sources.
Replaces the cxxtestgen.exe for Windows. This file was created from
cxxtest's python script using pywin32.
Modifies update-workspace.sh to force a rebuild when cxxtest options
could have been changed during the premake step.
Adds an additional option (--jenkins-tests) to
premake4.lua/update-workspaces.sh to use cxxtest's XmlPrinter which
generates output than can be used by Jenkins.

Fixes #2450

This was SVN commit r14818.
2014-03-07 20:58:17 +00:00
17f8f09399 Removes the ScriptInterface and SpiderMonkey dependencies from Atlas.
Replaces the code for JSON parsing and writing with an implementation
using the JSON Spirit library.

Fixes #2434
Refs #1886

This was SVN commit r14783.
2014-02-24 20:22:02 +00:00
581c7635e1 Makes our favourite example of escaping even more awesome.
Codeblocks 12.11 requires an additional $ sign. This will break 10.05
and I haven't tested it with 13.12 or on other systems than Ubuntu.

This was SVN commit r14748.
2014-02-13 15:21:14 +00:00
82ab190c5d Do what my previous commit was supposed to do.
This was SVN commit r14598.
2014-01-18 00:37:00 +00:00