| Die letzten Änderungen an "Return to the Roots" | ||||
|---|---|---|---|---|
| b3c0769 | s25client | 23.01.2026 18:14 | Jan ?imek | Capture spacebar under Wayland (#1855) |
| af47028 | s25client | 23.01.2026 13:22 | Flamefire |
Workaround GCC 9 issue with comparing `std::optional` in `BOOST_TEST` The comparison is ambiguous, fixed in GCC 10. |
| 4066a8b | s25client | 23.01.2026 12:41 | Flamefire |
Update translations and fix test Includes https://github.com/Return-To-The-Roots/languages/pull/41 fixing a crash where the German translation was missing a format string. Adapt the test to catch this: If we don't "translate" something in the `en_GB` file it won't show up in the `.mo` file and won't be checked. As the test checks all translated strings (see the `continue`) anyways iterate over the translation file instead, backreferencing the "gold" entries. |
| 5f65bad | s25client | 23.01.2026 11:50 | Flamefire | Make TestServer_Works on CI more reliable |
| cde6f73 | languages | 23.01.2026 02:21 | Farmer_Markus | Fixed game crashing when game files failed to load (again) |
| d88cc07 | s25client | 21.01.2026 15:23 | Flamefire | Merge pull request #1738 from kubaau/cheat_enemy_productivity |
| c793e0a | s25client | 21.01.2026 13:47 | Flamefire | Check cheat visibility only once outside the loop |
| fdb4c0b | s25client | 21.01.2026 13:39 | Flamefire | Change order of checks in test |
| 015e6c0 | s25client | 21.01.2026 13:35 | Flamefire | Factor constants out of loop |
| b87e768 | s25client | 21.01.2026 11:55 | Flamefire | Merge pull request #1804 from Farmer-Markus/android |
| 125ab78 | s25client | 21.01.2026 11:03 | Farmer_Markus | Disable mouse-click fix for touch controls |
| 14c951b | s25client | 20.01.2026 11:24 | Flamefire | Merge pull request #1867 from Shawn8901/fix-nix-shell |
| 12da8bf | s25client | 20.01.2026 11:23 | Flamefire | Use some texture for all buttons |
| 67502cb | s25client | 19.01.2026 21:39 | Shawn8901 | fix nix-shell for recent nixpkgs versions |
| 696db30 | s25client | 19.01.2026 17:08 | Flamefire | Introduce constant for max radius |
| e9947dc | s25client | 19.01.2026 13:34 | Flamefire | Add test for stuck attacker (#1863) |
| 48e7f51 | s25client | 19.01.2026 10:47 | Flamefire |
Add TODOs for Replay breaking enhancements The point can be considered invalid if it is too far and the attacker would abort on the next event handling. Defenders with now missing attackers will still come out of the building and go right back in which looks weird. |
| 4c7ed68 | s25client | 17.01.2026 20:36 | Flamefire |
Fix waiting attackers becoming stuck when target flag becomes unreachable. When the defender kills the current attacker (at the flag) `FindAttackerNearBuilding` is used to get the next one for the defender to fight. This takes the closest attacker that is ready, i.e. waiting around the flag and calls `AttackDefenderAtFlag` which usually causes the attacker to start walking to the flag. However if there is no path to the flag (anymore, e.g. after destroying a road) the attacker won't do anything and the function returns `false`. As this isn't checked the defender will keep waiting for it. This can lead to use-after-free if the attacker is destroyed (defeated in free fight, went back home, ...) as the defender will then have a dangling pointer to it. Fixes #1863 |
| 8e5821d | s25client | 17.01.2026 16:04 | Flamefire | Add simple test |
| 0e0db2b | s25client | 17.01.2026 14:10 | Flamefire |
Add Korean glyphs Contributed by @rasberryrabbit Closes #1860 |
| 6471ed4 | s25client | 17.01.2026 12:51 | Flamefire | Encode GFs directly in ID |
| 413ba23 | s25client | 16.01.2026 16:40 | Flamefire |
Add option to jump by specific number of GFs to jump window Closes #1861 |
| 705ba23 | s25client | 13.01.2026 15:21 | Flamefire | Merge pull request #1858 from Flamefire/wording |
| 5452ee9 | s25client | 13.01.2026 09:57 | Flamefire | Fix clang-tidy warning |
| 62e6564 | s25client | 12.01.2026 21:44 | anon569 |
Add missing Hungarian accented glyphs to font This PR adds a small number of missing Hungarian accented characters to the font. |
| 91be7ad | s25client | 12.01.2026 16:53 | Flamefire | Assert wh and flag exists for warehouse worker |
| 4459c1a | languages | 12.01.2026 13:50 | Flamefire | Fix format strings |
| 2d433b9 | languages | 12.01.2026 13:50 | Flamefire | Fix format strings |
| 5177b71 | languages | 12.01.2026 11:41 | Flamefire | Import from launchpad |
| 16052f2 | s25client | 12.01.2026 11:16 | Flamefire |
Update translations Fixes #1856 |
| 9584adf | languages | 12.01.2026 11:14 | Flamefire | Update translations from source |
| cf0223b | languages | 12.01.2026 11:14 | Flamefire | Update translations from source |
| 771c605 | s25client | 12.01.2026 10:54 | Flamefire |
Show donkey icon for donkey breeder Refactor `BLD_WORK_DESC` to use a variant so we can signify producing a job type and set the to donkeys for the donkey breeder. |
| d0cc796 | languages | 12.01.2026 10:41 | Flamefire | Replace names by S2 names |
| 173b5f9 | languages | 12.01.2026 10:41 | Flamefire | Replace names by S2 names |
| a4f39fb | s25client | 12.01.2026 10:09 | Flamefire |
Add tooltips for temple and shipyard production toggle buttons Closes #1837 |
| c2d6657 | s25client | 12.01.2026 10:06 | Flamefire | Replace names by S2 names |
| c5fdb72 | s25client | 06.01.2026 14:53 | Flamefire |
Order nations in game lobby as in original S2 Use an array for the order to avoid changing the enum which breaks savegames and replays. Closes #1853 |
| 9196754 | s25client | 04.01.2026 13:53 | Flamefire | Translate comments in nobHarborBuilding |
| 8901626 | s25client | 04.01.2026 13:52 | Flamefire |
Correctly handle wares carried into harbors with no path to goal When the goal for a ware becomes unreachable while it is carried into a harbor `RecalcRoute` will call `FindRouteToWarehouse`. Usually the selected warehouse will be the harbor as it is trivially the closest. However when the harbor does not accept this ware type another one might be chosen and the ware needs to be moved out instead of stored. But `FindRouteToWarehouse` does NOT set `next_dir` while the ware is carried even when called from `RecalcRoute` where the caller assumes it is set. Changing this causes replays to go async, so work around it by calling `RecalcRoute` again which now succeeds as it reached the goal in the previous call. This bug also affects `WantInBuilding` which also calls `RecalcRoute` assuming it does so in all cases. Fixes #1843 |
| 755e326 | s25client | 04.01.2026 13:42 | Flamefire | Factor out BuildRoadForBlds to test GCExecutor |
| 30f8289 | s25client | 04.01.2026 13:37 | Flamefire |
Simplify condtions for putting down ware at warehouse The check `GetGoal() != GetLocation()` is always met because the location is the flag and the goal is NULL if it was destroyed while the ware is being carried out. |
| c28aeaa | s25client | 04.01.2026 13:36 | Flamefire | Translate some comments |
| 109e772 | s25client | 31.12.2025 13:49 | Flamefire | Merge pull request #1849 from Flamefire/wraparoundspeed |
| 1eed84b | s25client | 29.12.2025 20:47 | Farmer_Markus | Use cmakedefine in openglCfg |
| d98c92f | s25client | 27.12.2025 16:28 | Flamefire |
Add option for window pinning to settings screen Also make layout more adaptive |
| 258c12a | s25client | 27.12.2025 15:19 | Flamefire |
Fix wrongly detected clicks on title bar of ingame windows When moving the mouse to the button while holding the left mouse button the click should not be registered, nor should the button show as pressed. |
| ac13d10 | s25client | 27.12.2025 15:00 | Flamefire |
Refactor handling of mouse messages - Unify selection if active window. - Always use `Relay*` where possible - Stop handling if any control handled it |
| 207e98f | s25client | 27.12.2025 12:46 | Flamefire | Enhance comments |
| 2ff742f | s25client | 26.12.2025 12:15 | Flamefire |
Wrap around from highest to lowest speed with "V" key Fixes #1828 after regression in #1829 |