Changelog

Die letzten Änderungen an "Return to the Roots"
55154d7 s25client 08.03.2026 11:14 Flamefire Merge pull request #1895 from Noseey/fix_ship_stuck_crash
8febfd5 s25client 07.03.2026 14:19 Flamefire Avoid parameter shadowing in `GameWorldBase::GetHarborInDir`
841c5e7 s25client 07.03.2026 13:54 Flamefire Merge branch 'seaAndHaborId' into ship-fix
af20d15 s25client 05.03.2026 20:13 Flamefire GHA: Split build and test step
11cf62b s25client 05.03.2026 19:46 Flamefire Simplify RemoveShip
d0e9b03 s25client 03.03.2026 22:03 Noseey Update comment libs/s25main/GamePlayer.h
ffed8a1 s25client 03.03.2026 22:02 Noseey Reduce ship arrival checks to length
d6a631c s25client 03.03.2026 21:32 Flamefire Add CONFIGURE_DEPENDS to CMake globs
384a534 s25client 02.03.2026 20:27 Noseey Whitespace fix
a11d46a s25client 02.03.2026 20:13 Noseey ships: remove redundant checks for early ship arrival
dae4a73 s25client 02.03.2026 18:05 Noseey rename harborPoint to coastalPoint and making it const
ce0296c s25client 02.03.2026 17:35 Noseey ships: add check for early arrival in FindShipPathToHarbor
d2a3730 s25client 01.03.2026 20:09 Flamefire Fix failures in UI tests

`BOOST_FIXTURE_TEST_CASE` resets the fixture of the test suite so we
have to add that manually when required.
In the double click tests a double click could be registered too early
as the last left click time and position are initially zeroes.
Do a fake click to initialize them to something that isn't relevant to
the tests.
3157a51 s25client 01.03.2026 19:11 Flamefire Introduce strong types for sea and harbor ids

Those were unsigned integers before with "0" meaning "invalid" which is
hard to check/enforce at all locations.
Also being integers it makes it easy to confuse arguments, especially in
functions taking both id types.

Introduce a templated wrapper that allows checking for validity via
explicit bool conversion and named method.
It can be explicitely converted to the underlying type, which is also
accessible via the `value()` function.
Add accompanying helpers for iteration with a range (1<=id<=size) and a
vector wrapper directly accepting an ID and shifting the value.
059ad80 s25client 28.02.2026 20:18 Flamefire Add reproducer for #1784
7ec8afb s25client 28.02.2026 20:16 Flamefire Merge branch 'master' into fix_ship_stuck_crash
02615f1 s25client 28.02.2026 12:39 Flamefire Take noShip by reference where non-Null is required
8a6c9b6 s25client 27.02.2026 16:57 sunrise Init animal ptr to nullptr to fix crash in case skinner has never used a hunted animal but only pigs
f5c16f1 s25client 21.02.2026 16:21 Flamefire Merge pull request #1720 from ottml/leather_addon
3adeb1f s25client 21.02.2026 15:34 Flamefire Merge branch 'master' into leather_addon
0495f38 s25client 21.02.2026 14:27 Flamefire Revert "Sort possible clients of coins/armor by estimated priority"

This reverts commit 53ab5d5ce4cd8456c83dcc1fd80cc65afb1f5d5e.
Breaks replays due to different tie resolution
74e4563 s25client 21.02.2026 14:27 Flamefire Sort possible clients of coins/armor by estimated priority

Mirror `FindClientForWare` to reduce pathfinding costs.
773f137 s25client 21.02.2026 13:47 Flamefire Unify `FindClientForCoin` with `FindClientForArmor`

Reuse the code, verify the logic and add comments where required.
3459a69 s25client 21.02.2026 12:02 Flamefire Merge pull request #1888 from Flamefire/duplicate-colors
e690e64 s25client 20.02.2026 09:50 Flamefire Merge branch 'master' into duplicate-colors
a5a9d43 languages 19.02.2026 20:15 Flamefire Update copyright years
be43799 languages 19.02.2026 20:13 Flamefire Fix Czech translation format strings
2f74b46 s25client 19.02.2026 19:53 sunrise Code review: Add path optimization. See #1785
af34dd6 s25client 19.02.2026 19:12 sunrise Update libs/s25main/buildings/nobMilitary.cpp
ed1e143 s25client 19.02.2026 18:30 Flamefire Translation update
4dad218 languages 19.02.2026 17:42 anon569 Sort entries
a62ed14 languages 19.02.2026 16:58 anon569 Update Hungarian translation

Updated the Hungarian translation to match the current nightly build. The previous version was outdated, incomplete, and full of errors, so all game strings have been reviewed, translated, and missing entries corrected.
2294b7c s25client 18.02.2026 14:54 Noseey Whitespace fix
f4938aa s25client 18.02.2026 14:53 Noseey ContinueExpedition - exchange StartDriving with HandleState_ExpeditionDriving
aa39a7f s25client 18.02.2026 14:04 Noseey Whitespace fix
c01534f s25client 18.02.2026 14:03 Noseey Remove unnecessary checks
7a79bd2 s25client 18.02.2026 09:59 Flamefire Merge pull request #1893 from Farmer-Markus/master

Allow dragging ingameWindows with middle mouse button
f32e8a6 s25client 17.02.2026 20:02 Noseey Ship: rework ContinueExpedition to notify in case of early arrival
c515522 s25client 17.02.2026 19:38 Noseey Ships: rework checks if arrived in DriveToHarbourPlace and ContinueExpedition
a275f15 s25client 17.02.2026 19:12 sunrise Code review: style issues and nitpicks
b6655ec s25client 17.02.2026 18:57 sunrise Fix crash
8ffa8b4 s25client 17.02.2026 16:40 Farmer_Markus Implemented review suggestions
aa19096 s25client 17.02.2026 15:30 Noseey Merge branch 'Return-To-The-Roots:master' into fix_ship_stuck_crash
d26a789 s25client 17.02.2026 15:29 Noseey Ship: check route_.size against curRouteIdx instead of Empty
b8aec9c s25client 17.02.2026 14:30 Noseey Ships: check empty routes

.. assuming we have already arrived in case of DriveToHarbourPlace and ContinueExpedition. Consider a route check to be false in case it is empty.
eda3660 s25client 16.02.2026 22:11 Noseey Pathfinding: consider empty routes before starting expeditions
6e12273 s25client 16.02.2026 21:52 Farmer_Markus Fixed wine addon crash with shared_textures disabled
5bac81a s25client 16.02.2026 19:43 Farmer_Markus Added ingameWindow dragging with middle mouse button
583cc34 s25client 16.02.2026 15:01 Noseey Pathfinding: add check if route is not empty in FreePathFinder::CheckRoute

to avoid crashes for lost and stuck ships.
2013b39 s25client 16.02.2026 00:50 sunrise Code review: Use container for Serialize/Deserialize