- Reduced the MaxGatherers value for the smallest trees with 100 or
less wood from the default (8) to 6 or 4.
- The affected trees are Bush (4), Atlas Cedar Sapling (4), Cretan Date
Palm (Short) (6), and Fir Sapling (4).
- Small trees with 100 or less wood that already had a MaxGatherers
value lower than the default (8), such as Bamboo (Single) (1) and
Baobab Sapling (2), were left unchanged.
ChainPlacer.js creates a new array that it fills with the -1 value before computing its clumps. This is slow.
By simply storing values differently, we can avoid doing that altogether, leading to faster mapgen.
Hard to say in general but I think this might be about 3-4% faster on a typical map.
The migration to git broke the translation of language names in the
credits, as the translators.json, necessary for extracting the language
strings wasn't present anymore when running update_templates.py. This
commit should fix this.
- Shallow-freezing of objects is never used in our codebase, so remove
that code path.
- Deep-freeze is bugged in recent versions of SpiderMonkey (see bug
https://bugzilla.mozilla.org/show_bug.cgi?id=1930258). Until a fix
and/or a better API is provided, reimplement this feature by
recusively freezing object properties.
- Add tests for the deepfreeze function.
The shell option "set -e" has a tricky, but standard, behaviour:
Anything called on the left side of a || or && token ignores "set -e",
so failure in a command in a subshell called on the left side of "|| die"
does not prevent the execution of the following commands in the subshell.
Adding explicit "|| die" calls after each command that could fail (and
should interrupt the process) works around this behaviour, by emulating
the intuitive "set -e" behaviour.
Unless minimal cflags is set add -Og or equivalent to CXXFLAGS for debug
build configuration.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
FORTIFY_SOURCE relies on optimizations being enabled which is only the
case for the release configuration. Therefore remove it from the debug
configuration as to prevent the compiler issuing a warning on each
invocation.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
DEBUG is unused by pyrogenesis and unconditionally adding it to defines
prevents building against a non debug version of spidermonkey. This will
allow building only one copy of spidermonkey, which can be trivially be
replaced with the other depending on needs independent of pyrogenesis
debug or release build.
This also allows to build either build configuration against system
spidermonkey, which obviously is either one build type or the other.
Requires a compilecheck until the pc file gets fixed upstream.
A comment in the spidermonkey build.sh says on FreeBSD spidermonkey
debug configuration doesn't even build and so pyrogenesis debug build
wasn't possible either.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
During the removal of glooxwrapper the function GetJID was mapped to
getID. This results in NetClient querying for host jid not getting the
right value which prevents hosting a game in the lobby.
Reported-by: Dunedan
Refs: #7203
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
This uses ./build/workspaces/default as location for generated build
files as well as build products. Using the name "default" to avoid the
dilemma gcc vs clang vs premake generator. Doesn't impact scripts
already using --outpath and allows running premake5 --help without a
wrapper.
Also update .gitignore to make using arbitrary workspaces cleaner.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
This option doesn't handle includes, further we rely on system includes
and pkg-config to locate dependencies.
For systems where installing into local is reasonable this paths should
already be in system/ld paths. So in practice this offers no value.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>