Without the change build fails on `master` as
https://hydra.nixos.org/build/248966234:
../src/graphics/FontReader.cpp: In function 'bool InitFontData()':
../src/graphics/FontReader.cpp:40:52: error: 'uint32_t' does not name a type
40 | auto codePoint = *reinterpret_cast<uint32_t *>(ptr) & 0xFFFFFFU;
| ^~~~~~~~
Without the change the build in `master` fails as
https://hydra.nixos.org/build/247719962:
In file included from /build/pingus-709546d/src/engine/display/font_description.hpp:23,
from /build/pingus-709546d/src/engine/display/font_description.cpp:17:
/build/pingus-709546d/src/util/pathname.hpp:79:3: error: 'uint64_t' does not name a type
79 | uint64_t mtime() const;
| ^~~~~~~~
Without the change build on `master` fails as:
In file included from /build/source/components/misc/stringops.hpp:8,
from /build/source/components/settings/settings.cpp:6:
/build/source/components/misc/utf8stream.hpp:11:13: error: 'uint32_t' does not name a type
11 | typedef uint32_t UnicodeChar;
| ^~~~~~~~
/build/source/components/misc/utf8stream.hpp:5:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
4 | #include <cstring>
+++ |+#include <cstdint>
This fixes `gcc-13` build failure on `master` as
https://hydra.nixos.org/build/249142729:
In file included from /build/source/extern/Pomme/src/PommeDebug.cpp:1:
/build/source/extern/Pomme/src/PommeDebug.h:21:34: error: 'uint32_t' was not declared in this scope
21 | std::string FourCCString(uint32_t t, char filler = '?');
| ^~~~~~~~
The main change is the build fix against `gcc-13` https://hydra.nixos.org/build/247695201:
similar/main/digiobj.cpp: In function ‘void d1x::digi_sync_sounds()’:
similar/main/digiobj.cpp:625:31:
error: possibly dangling reference to a temporary [-Werror=dangling-reference]
625 | const object &objp = [&vcobjptr, &s]{
| ^~~~
While at it added the trivial unstable updater.
During this update, due to a new version of Java, the software broke.
On startup it crashed with the error: "Conflicting collector
combinations in option list". This was due to mixing the default
`-XX:+UseG1GC` and the `-XX:+UseConcMarkSweepGC -XX:+UseParNewGC` flags.
I removed the latter flags, leaving the default garbage collector
Furthermore, on succesful launch, the game wound warn about the
`-XX:PermSize=192m -XX:MaxPermSize=192m` flags, that were removed in
Java 8. Thus, those flags were also removed.
The `substituteInPlace` deprecated `--replace` argument was also
replaced by the new alternatives.