Changelog

Die letzten Änderungen an "Return to the Roots"
4c52e76 s25client 04.09.2026 23:35 FloSoft Merge pull request #1978 from Flamefire/skip-fix

Fix hanging game after skipping
81e0a2e s25client 04.09.2026 22:47 Flamefire Fix hanging game after skipping

When skipping the GameServer will accumulate executed time.
After skipping is done the next GF will be executed when the time passed
is bigger than 1 GF length.
However the realtime clock would first need to catch up to the
"game clock" which is significantly ahead.

Use the same approach as in `GameClient`: When skipping mark the game
clock such that the next unskipped GF will be run exactly 1 GF length
after the last execution of the skipped GF.

Fixes #1975
1813dfc s25client 31.08.2026 23:33 FloSoft Merge pull request #1973 from Return-To-The-Roots/clamp-fix

Fix ambiguous clamp and switch to `std::chrono::milliseconds`
44d7899 s25client 31.08.2026 13:32 Flamefire Fix spelling of Length
163ec7a s25client 28.08.2026 12:02 Flamefire Add `assertNonNull`
2907dc1 s25client 28.08.2026 11:29 Flamefire Factor out type-agnostic helper for GameEvent time interpolation
6277878 s25client 27.08.2026 14:40 Flamefire Disable clang-format for a line it keeps changing

For some reason it sometimes adds a space before `&`
c771302 s25client 27.08.2026 12:50 Flamefire Use `std::chrono::milliseconds` consistently.
fcab253 s25client 27.08.2026 12:25 Flamefire Use `std::chrono::milliseconds` for game speed
de53cb1 s25client 26.08.2026 23:01 Flamefire Merge pull request #1969 from ottml/fix_trading_overflow

Fix underflow when trading
fac0308 s25client 26.08.2026 22:08 Flamefire Move `initGameRNG` to fixture
332b143 s25client 26.08.2026 15:15 sunrise Code review
144b846 s25client 26.08.2026 13:45 sunrise Use better name
0fa587b s25client 26.08.2026 13:02 Flamefire Continue other CI jobs even on failure
557b444 s25client 24.08.2026 21:33 Flamefire Fix ambiguous clamp

C++17 introduced `std::clamp` which makes passing a type from std
namespace (such as chrono-types) ambiguous in the semi-recursive call.
Use constexpr-ifs and `std::clamp` in the final path.
a8827b4 s25client 24.08.2026 20:11 ApexFlex Seed AI RNG deterministically on game start for reproducibility (#1956)
c112b2b s25client 17.08.2026 16:36 sunrise Return correct value for GetAvailableFiguresForTrading if not Job Helper
fdfd501 s25client 17.08.2026 16:35 sunrise Fix overflow
5609a52 s25client 17.08.2026 16:34 sunrise Add test for overflow when trading less figures as in the nearest store house
5aef739 s25client 12.08.2026 15:05 Flamefire Merge pull request #1961 from tost11/feature/fix-emergency-protocol

fixed emergency protocol by removing sheduled wares requested before ...
1fd8fe0 s25client 12.08.2026 13:13 Flamefire Merge branch 'master' into feature/fix-emergency-protocol
48b813d libutil 12.08.2026 01:33 Flamefire Modernize span.hpp
3fbfa86 s25client 11.08.2026 22:35 Flamefire Make `HQPlacement` test more reliable

Don't require ALL positions to be different.
363865c s25client 11.08.2026 22:14 Flamefire Test pacts and emergency mode when skipping GFs in tests
6824fbf s25client 11.08.2026 21:48 Flamefire Add and use `getPlayers` (returning a span)
23ba8ab s25client 11.08.2026 21:31 Flamefire Cleanup testEmergencyProtocol.cpp
a6e2ee5 s25client 11.08.2026 12:00 tost Formated emergencyProtocolTest code
5e064ee s25client 11.08.2026 00:38 Flamefire Merge pull request #1968 from Lknadfodr/issue-1966

Draw overlay images with an offset.
e33ea9c s25client 10.08.2026 14:56 SYSTEM Update from review.
c1bdd55 s25client 10.08.2026 01:03 lukas pr improvements for tests
fa762e3 s25client 10.08.2026 00:59 SYSTEM Update libsiedler2.
c4bb869 s25client 10.08.2026 00:29 tost Apply suggestions from code review
e824127 s25client 10.08.2026 00:15 SYSTEM Rename variable.
5a2decc libsiedler2 09.08.2026 21:54 Flamefire Merge pull request #29 from Lknadfodr/issue-1966
405d9e0 libsiedler2 08.08.2026 12:05 Felix Schmalholz Apply suggestions from code review
4f0a6b9 libsiedler2 08.08.2026 10:56 SYSTEM Fix build
7573182 libsiedler2 06.08.2026 22:28 SYSTEM Format and test.
c7a023e s25client 06.08.2026 22:09 SYSTEM Draw overlay images with an offset.
29e5f88 libsiedler2 06.08.2026 21:18 Felix Schmalholz Apply suggestions from code review
3a33fc6 libsiedler2 06.08.2026 20:54 SYSTEM Inline single-use method.
9159fd5 libsiedler2 05.08.2026 18:40 SYSTEM Rephrase
583c6b0 libsiedler2 05.08.2026 18:38 Felix Schmalholz Apply suggestions from code review
09638c9 libsiedler2 05.08.2026 18:28 SYSTEM Store index directly, check loaded with archive item presence.
31b9b8e libsiedler2 05.08.2026 17:40 SYSTEM Return a pair of overlay and ny offset.
9b2cafa s25client 05.08.2026 14:38 Flamefire GHA: Use `$GITHUB_OUTPUT`
3d438e0 libsiedler2 05.08.2026 12:31 Flamefire Exclude external dir from coverage

Coveralls shows coverage for libutil/libendian in the `external` folder even though the files are not present in the repo.
f6b3e47 libsiedler2 05.08.2026 10:38 Flamefire Make Boost search verbose
8736c62 libsiedler2 05.08.2026 10:21 Flamefire Appveyor: Specify subfolder of Boost installation

Point Boost root to the cmake folder in the arch-specific subfolder.
The layout is non-standard for CMake: It searches
`<root>/lib/cmake/Boost-*` but not a `lib*` folder or a `cmake` folder
in it when using that lib folder as the root.
b421f3a libsiedler2 04.08.2026 21:54 Flamefire Fix cmake version requirement
9d779df libutil 04.08.2026 21:46 Flamefire Fix CMake version range