Changelog

Die letzten Änderungen an "Return to the Roots"
b189b33 s25client 07.07.2024 18:57 Flamefire Merge pull request #1657 from Xellzul/fix-bug-968-wrong-roads

Don't allow roads in no-mans land or in border
462a457 s25client 07.07.2024 13:10 Flamefire Update replays
e1cf100 s25client 07.07.2024 12:30 Flamefire Use range ctor in ProductivityStats test
ed8070f s25client 07.07.2024 12:27 Flamefire Check for player territory instead of border
c2016f3 s25client 07.07.2024 12:21 Flamefire Merge branch 'enum_iterator' into fix-bug-968-wrong-roads
815e692 s25client 26.06.2024 12:35 Flamefire Merge pull request #1652 from wichern/ai_battle

Add ai-battle cli
ed4fe3f s25client 26.06.2024 12:02 Flamefire Fix printf format attribute for MinGW

MinGW GCC wants gnu_printf instead of printf
c5f9382 s25client 26.06.2024 11:29 Flamefire Merge branch 'fix-replay-test' into ai_battle
7ad73df s25client 26.06.2024 11:28 Flamefire Appveyor: Use Boost 1.83 on VS 2019

The image was updated and 1.77 removed
b8aae98 s25client 18.06.2024 22:22 Flamefire Update test replays

After the fix for the fishers in 6898d9388 the replays need to be regenerated
89320fa s25client 18.06.2024 22:06 Flamefire CI: Pass correct build type to ctest

Fix skipping the autoplay test
cc347e4 s25client 18.06.2024 22:03 Flamefire Rename travisBuild.sh to build.sh

We don't use Travis for ages anymore
98d6ab5 libutil 18.06.2024 14:13 Flamefire Check that BinaryFile::Tell succeeds and return an unsigned type
890931e libutil 18.06.2024 12:49 Flamefire Fix formatting
092d52b s25client 18.06.2024 12:44 Flamefire Update libutil

Includes the Mini-UPnP compat fix and `Tell` improvement
Adapt types in `Replay` to fix signed/unsigned mismatch
adapt comments and write compressed flag after starting compression
8396ee0 s25client 18.06.2024 12:43 Flamefire CI: Also run the replay test on GHA

The replay tests (running a large replay checking for loading and
asyncs) is only done for optimized builds because they are already slow.
This exists currently only on Appveyor which is Windows only and not as
visible as GHA.
So add an optimized build to GHA.
1d3b15a s25client 18.06.2024 09:04 FloSoft Merge pull request #1675 from Flamefire/fixFisher

Fix fisher not getting the fish he caught
a21e6fc s25client 18.06.2024 02:29 Flamefire Fix crash in test if videodriver was not initialized

The GameWorldView uses the video driver (for GUI-scale), so we need to
initialize it first in case no other test did that yet.
6898d93 s25client 18.06.2024 02:08 Flamefire Fix fisher not getting the fish he caught

The code triggers an assertion when 2 fishers try to get the last fish
from the same spot because only the first can get it.
So remove the fish when starting to fish such that it is already
unavailable when the 2nd starts fishing.

Fixes #1674
4469be5 s25client 18.06.2024 01:38 Flamefire Handle situation when a farmhand arrives at a target that became unvailable

We keep checking for validity as long as we are walking. But when we
arrive we didn't check again.
So when the point became invalid (e.g. out of resources) during the time
it took from walking from starting to walk from the neighbour node until
arrival or if the point becomes invalid in the same GF of arrival we
started working at that invalid point.

Move the validity check to the top of the function.
Also use `WorkAborted` to reset the reserved state as a derived class
might do more in this case.
6673f6a libutil 17.06.2024 22:31 Flamefire Add RAII wrapper `file_handle` for `FILE*`
6d5c1ab libutil 16.06.2024 23:22 James Le Cuirot Support miniupnpc API version 18 (release 2.2.8) and adjust status check

getValidIGD was treating non-zero return codes as successful, but only 1
should really be considered successful in this context.

This maintains compatibility with earlier versions.
979a3a6 s25client 16.06.2024 23:15 wichern Apply suggestions from code review
ab9797f s25client 16.06.2024 15:26 Flamefire Fix potential crash in glFont ctor

glFont relies on the textures being a `glArchivItem_Bitmap` but uses the
libsiedler2 allocator which might not be set to `glAllocator`.
This happens e.g. in `testControls` depending on the test order as some
tests do install the `glAllocator` so the other tests using e.g.
`createMockFont` succeed only if run after the former.

Just create the required bitmap type explicitly
c6274f5 s25client 16.06.2024 13:12 Paul Wichern Fix console output for Windows
318130e s25client 09.06.2024 16:32 Flamefire Merge pull request #1563 from I3igI3uilder/master

Allow to offer a new pact after a pact duration has expired
7d036eb s25client 09.06.2024 15:50 Flamefire Merge branch 'test-refactor' into pactfix
e095015 s25client 07.06.2024 01:39 Flamefire CampaignDataLoader: Make CheckScriptVersion private

It is only required for the load method if that succeeds the script
version was fine.
73aca20 s25client 07.06.2024 01:34 Flamefire Refactor testCampaignLuaFile::ScriptVersion

Remove confusing "!load()" check when comment says it should succeed.
Build a single lua file and just append to it during test
b8850c2 s25client 07.06.2024 01:14 Flamefire Add some test passpoints to narrow down crash
8587898 s25client 07.06.2024 01:06 Flamefire Replace some BOOST_TEST_REQUIRE by BOOST_TEST

No need for the strict check in many places
a662f6b s25client 07.06.2024 00:50 Flamefire Use existing method simplification in testCampaignLuaFile

The log test macro exists already and we can use `helpers::format`
c8bccd4 s25client 07.06.2024 00:48 Flamefire Avoid need to use TmpFolder.get()

We can auto-convert to bfs::path and append a path making the .get() superflous
9231887 s25client 05.06.2024 23:16 wichern Apply suggestions from code review
d0953b7 s25client 05.06.2024 23:07 Flamefire Merge pull request #1662 from ottml/add_map_selection_to_campaign_lua

Add map selection to campaign lua
fad2022 s25client 04.06.2024 09:06 FloSoft Merge pull request #1523 from Mailaender/appdata

Added AppStream metadata
7bf8281 s25client 02.06.2024 00:49 Sunrise Consistently use GetWareTex and GetWareTexStack instead of GetMapTexture

Makes adding new textures for additional wares much easier
because we have only one place to add a lookup for the new texture.
faf1eb1 s25client 01.06.2024 21:14 Sunrise Old campaign lua versions can be loaded by newer versions
fffeac5 libutil 01.06.2024 14:46 Flamefire Remove FindSndfile
915c6ee s25client 01.06.2024 14:38 Flamefire Use official libsamplerate

The important issues have been fixed.
f70a76c s25client 01.06.2024 01:09 Sunrise Add second mission selection screen with ctrlMapSelection and also preview
24ef0ad s25client 31.05.2024 22:47 Flamefire Refactor ctrlMapSelection

- Throw translated message
- Make valid map images an invariant using the ctor
- Use utils from helpers
e97bbd4 s25client 31.05.2024 20:31 Flamefire Replace std::find* by equivalents in helpers::
cabb1df s25client 31.05.2024 20:08 Flamefire Update some SFINAE constructs to use simpler C++17 features
239c5fb s25client 31.05.2024 20:07 Flamefire Add `indexOf_if`

We sometimes need to get the index of an element matching a condition.
fa1d7f8 s25client 29.05.2024 09:20 Flamefire Merge pull request #1667 from Flamefire/fix-build

Fix build on 32bit Windows and reformat CML
b2f8502 dev-tools 25.05.2024 11:42 Flamefire Remove static 32bit libcurl from MSVC files.

Static curl requires additional defines and the 32 bit version
was build with a pre-2015 compiler and can't be linked anymore.
4d44fae libutil 25.05.2024 11:33 Flamefire Fix Boost download link
343dc0c s25update 23.05.2024 21:36 Flamefire Handle static CURL

(Especially) on Windows we need to define `CURL_STATICLIB` when linking
to the static curl library or we get errors such as:
> unresolved external symbol __imp__curl_free

Check if the CURL target from the CMake config file (of CURL) was used
and trust them to set that define.
Otherwise apply a heuristic to detect whether static CURL was found and
set the define (and libs for MSVC) in that case
4ca9689 s25edit 23.05.2024 21:35 Flamefire CMake: Consistently use 4 spaces indentation