Die letzten Änderungen an "Return to the Roots"
0537322 s25client 20.09.2022 18:38 KaiN Add lua function GetStatisticsValue()
9767dc0 s25client 19.09.2022 12:35 Flamefire Merge pull request #1535 from tehKaiN/add-lerp

Add lerp and inverseLerp helper functions
793ef1b s25client 15.09.2022 19:14 KaiN Add lerp and inverseLerp helper functions
64185ca s25client 12.09.2022 10:26 Flamefire CI: Update markdown-lint action to 1.5
6108605 s25client 24.08.2022 18:15 KaiN Update libs/s25main/world/GameWorldView.cpp

Co-authored-by: Alexander Grund <>
ace80d4 s25client 24.08.2022 17:57 KaiN Be more strict on when military aid icon is loaded
26c49c3 s25client 22.08.2022 19:11 KaiN Fix formatting and clang-tidy errors
5ae10fa s25client 22.08.2022 18:46 KaiN Update languages submodule
d428f61 languages 22.08.2022 18:46 Flamefire Merge pull request #20 from tehKaiN/fix-addons

changed "Race specific" catapults to "Nation-specific"
a5438b4 languages 22.08.2022 18:42 KaiN sorted lines?
aa8955a s25client 21.08.2022 21:44 KaiN Make attack military indicators optional, fix catapult gfx addon strings
7748cb2 languages 21.08.2022 21:29 KaiN added military aid options, changed "race-specific" to "nation-specific"
c6ba939 s25client 20.08.2022 17:25 KaiN Fix loading plugin graphics, e.g. nation-specific catapult graphics
27e12bb languages 20.08.2022 17:22 KaiN changed "Race specific" catapults to "Nation-specific"
334ee9c s25client 19.08.2022 20:12 KaiN Make attack aid icon work again
a8d5744 s25client 16.04.2022 09:12 Flamefire Merge pull request #1511 from Shawn8901/nixos

Fix nix shell environment
b12db9c s25client 11.04.2022 19:18 Shawn8901 Nix shell: Set SOURCE_DATE_EPOCH to newest file

RTTR does use epoch on a sanity unit test and when calculating RTTR_BUILD_DATE and RTTR_VERSION on non-release builds.
Nix does set SOURCE_DATE_EPOCH to the static value 315532800 by default (1980-01-01).
That epoch does not pass the sanity unit test.

By using the updateSourceDateEpoch the SOURCE_DATE_EPOCH is updated to the newest file in the folder.
See for implementation details
0b5f8eb s25client 09.04.2022 18:18 Shawn8901 Nix shell: Workaround for an incomplete SDL2 package

nixpkgs does ship a incomplete package of SDL2 since Nov 2019, which does not contain `libSDL2Main.a`.
7f41369 s25client 09.04.2022 18:12 Shawn8901 Nix shell: Update to mkShell and add libsamplerate
b07b716 s25client 30.03.2022 19:38 Shawn8901 Adds a cmake option to control if a placeholder is written on install

This option enables the possibility for a package maintainer to set RTTR_GAMEDIR to a directory outside the package itself and do no write operation.
That is us useful for systems where the packaging system prevents write operations outside of the package structure on package build time. A system where this is the case is NixOS.

As the use case is special for some packaging systems and not intended for daily use it is marked as an advanced option.
8f16126 s25client 27.02.2022 19:47 Flamefire Make map size selectable in X and Y
e4fde61 s25client 27.02.2022 18:49 Flamefire Rename control ID enums of mapGenerator window

Make clear those are IDs of controls and factor in the type of the control
8081e17 s25client 26.02.2022 15:43 Flamefire Use fixture for GameClient tests

Create the temporary folder and adjust/reset the RTTRCONFIG in a fixture to avoid it leaking into other tests
a0334e6 s25client 26.02.2022 12:27 Flamefire Fix usage of maxEnumValue in MapSettings.h

This must only be used when no custom values are used in the enumerators
1388e2a s25client 26.02.2022 12:20 Flamefire Improve random map generator config window

- Reduce max map size to 384 (> 256 already causes lags, so 1024 is way to much)
- Don't close on right-click, only via apply/close buttons
397f2b2 s25client 18.02.2022 16:01 Flamefire Merge pull request #1499 from Flamefire/windowCloseBehavior

Use a 3-state enum for the window close behavior
cee5dd5 s25client 16.02.2022 16:09 Flamefire Use a 3-state enum for the window close behavior

Additionally to regular close behavior (close on right click, ESC, ...) and full custom behavior we need a mode that only ignores right click, e.g. for the observation window.
Hence introduce an enum instead of the bool which additionally makes the window constructors much more readable.
0dd0dfa turtle 16.02.2022 16:04 Flamefire Merge pull request #110 from Flamefire/remove_pp_iterate

Replace Boost PP_Iterate by C++11 variadic templates
90d9ac8 turtle 10.02.2022 17:45 Flamefire Merge pull request #112 from Flamefire/improve_tests

Improve tests
68700d4 turtle 10.02.2022 11:42 Flamefire Document mechanism used in the functor constructor
9e2223d turtle 10.02.2022 11:37 Flamefire Remove BOOST_THREAD_USES_MOVE define from tests

No longer needed as we require C++11/14 already and hence rvalue references can be used by Boost.Thread
3d90130 s25client 09.02.2022 16:48 FloSoft Merge pull request #1497 from Return-To-The-Roots/clang-13-compat

Add support for Clang 13 and fix ordering of tools by AI
3420c8e s25client 09.02.2022 16:47 FloSoft Merge pull request #1496 from Flamefire/fix_lua_map_loading

Fix transmission handling of maps with LUA scripts
1a81536 turtle 09.02.2022 15:33 Flamefire Improve tests

- Check callability of function.expect.with(...)
- Check serialization of MOCK_CONSTRAINT
- Actually test some variations of MOCK_CONSTRAINT usages
- Add more test for unique_ptr (move-only class)
- Remove redundant stuff from test_log and change a few values to catch mistakes
- Add test for *-matcher serialization
23ac665 turtle 09.02.2022 15:23 Flamefire Add some more cases for the serialization test of expectations

Make sure the various constraint names/values are kept (they are stored type-erased!)
e2687de turtle 09.02.2022 14:59 Flamefire Add missing test cases for the invocation class

- error case where between was called with a min>max
- Corner case for `between(x, x)`
- Human readable output via stream operator of the base class
5bc1f78 s25client 09.02.2022 14:55 Flamefire Update GoogleBenchmark to 1.6.1

Version up to 1.5.5 cause an unused variable warning on clang-13, so use that to update to latest release
f19caf4 turtle 09.02.2022 14:33 Flamefire Fixup coverage of type_name.hpp to 100%

Reassign the demangled name to avoid the (always untaken) branch and reduce code duplication
0fce204 s25client 09.02.2022 14:19 Flamefire Fix AI ordering tools

The AI may ignore tool requirements caused by multiple worker types using the same tool as the tool requirement was checked against the total available number of tools not the number of tools available after taking into account workers checked earlier.
d7767ab s25client 09.02.2022 14:17 Flamefire Add missing defaulted copy-assignment to Point class

Otherwise this is disabled due to the custom copy ctor
be05d43 s25client 09.02.2022 11:44 Flamefire Add CI test with clang-13
fdeccc1 s25client 09.02.2022 11:36 Flamefire Fix transmission handling of maps with LUA scripts

The message handler wrongly only counted the map size as received not also the (just received) lua size and hence did never finish.
Also add buffer overflow protection to the map-receive code and test both issues.

Fixes #1494
50ea998 turtle 08.02.2022 19:07 Flamefire Move the boost-root to a sibling folder

This keeps the correct paths of our files in the coverage data.
c8c6af2 turtle 08.02.2022 18:27 Flamefire Don't return *this in expectation::with

Chaining is done via the wrapper class not the expectation class
3845d57 turtle 07.02.2022 19:56 Flamefire Use BOOST_PP_VARIADIC_SIZE instead of custom implementation
bb77c17 turtle 07.02.2022 19:26 Flamefire Add support for unlimited number of sequences in one call

This removes the need for those preprocessor macros and the MOCK_MAX_SEQUENCES define.
f186dfb turtle 07.02.2022 18:48 Flamefire Fix root path of coverage upload

The repo files were moved to a subfolder which confuses the coverage UI
c34e422 turtle 07.02.2022 16:31 Flamefire Remove benchmarks using MOCK_MAX_ARGS

No longer required.
f3dc82f turtle 07.02.2022 16:23 Flamefire Rename move_helper.hpp to ref_arg.hpp and use template alias

Shortens the call sites a lot: `typename ref_arg<Ts>::type` -> `ref_arg_t<Ts>`
MSVC 2017 seems to have issues with std::conditional_t so use the C++11
variant here.
baaaa15 turtle 05.02.2022 20:22 Flamefire Workaround compiler issues (constant conditions, compiler bugs...)

MSVC has issues with a tuple of references of incomplete classes and `virtual ~value() = default;`
Some compilers warn for constant expressions in the for-loop-condition