| Die letzten Änderungen an "Return to the Roots" | ||||
|---|---|---|---|---|
| 37e4166 | s25client | 25.04.2026 20:03 | Flamefire |
Send space char for WinAPI backend Remove an earlier workaround to avoid duplicate space chars being sent. Fixes #1855 |
| 672ef1c | s25client | 25.04.2026 19:46 | Flamefire | Fix updater error on Windows |
| 7a725b3 | s25update | 25.04.2026 19:45 | Flamefire |
Fix removal of bz2 file The file handle wasn't closed yet so removing it failed on Windows as it was still "in use". |
| dc0a4a5 | s25client | 24.04.2026 22:33 | Flamefire | Merge pull request #1890 from Flamefire/lock-window-size |
| 45e8bc0 | s25client | 22.04.2026 18:11 | Flamefire | Merge pull request #1913 from Flamefire/soldier-cancel |
| 9563197 | s25client | 20.04.2026 12:32 | Flamefire |
Remove `HasNoHome` and `HasNoGoal` methods Replaced by `GetHome` & `GetGoal` |
| 913f4ff | s25client | 19.04.2026 23:04 | Flamefire |
Consolidate handling of adding/removing people from warehouse inventory It combines handling of armor and boat carriers. |
| d1e895d | s25client | 19.04.2026 22:46 | Flamefire | Fix missed armor setting when providing defender out of sea attackers |
| e12ce7b | s25client | 19.04.2026 22:36 | Flamefire |
Only stop own soldiers from leaving attacked building The idea is to potentially use those for defense. However e.g. harbors might contain soldiers that belong to another building and are about to leave. Don't consider those as this complicates the logic too much. Currently it crashed because adding "active" soldiers is assumed to be either the defender or a soldier on a mission from this building. Other soldiers will get lost in the accounting of their home building. Fixes #1912 |
| 70c42b3 | s25client | 19.04.2026 22:21 | Flamefire | Add comment on old format |
| 60542a4 | s25client | 19.04.2026 21:44 | Flamefire | Rename `Soldier::building` to `Soldier::homeBld` |
| 4f8e2b6 | s25client | 19.04.2026 21:43 | Flamefire | Update translations |
| 8b37124 | s25client | 19.04.2026 20:49 | Flamefire | Sort `VideoMode` by (width,height)-tuple only |
| 755d3c0 | s25client | 19.04.2026 20:33 | Flamefire | Make `VideoMode` sortable and return as `std::set` |
| ef48af7 | s25client | 19.04.2026 20:13 | Flamefire | Format defaultWindowSizes as list |
| afe6cb9 | s25client | 19.04.2026 12:59 | Flamefire | Add enum for SubmitDebugData |
| 8cd4f32 | s25client | 19.04.2026 12:48 | Flamefire | Extract constants for lower buttons in dskGameInterface |
| 1feccbb | s25client | 19.04.2026 12:48 | Flamefire | WinAPI: Ensure window is restored when resize failed |
| 9892287 | s25client | 19.04.2026 12:29 | Flamefire | Use CHECK_SDL to check success |
| e212f6a | languages | 19.04.2026 11:16 | beworld | french patch 3 |
| 8910e8c | languages | 17.04.2026 20:06 | beworld | french patch2 |
| 7b5704a | s25client | 17.04.2026 15:39 | Flamefire | Merge pull request #1911 from BeWorld2018/french |
| ae31e5b | s25client | 17.04.2026 14:55 | Flamefire | Update translation submodule |
| 7df68dd | s25client | 17.04.2026 14:48 | beworld | Transate Campaigns and "texte" |
| 4a65484 | languages | 17.04.2026 12:58 | Flamefire | Replace remaining `?` by `...` |
| 76df4ed | languages | 17.04.2026 12:38 | beworld | Update rttr-fr.po |
| e8a4c25 | libutil | 11.04.2026 14:58 | Flamefire | Clang-format std::span |
| c42a8c8 | libutil | 11.04.2026 14:58 | Flamefire | Adapt span.hpp for 25util |
| 7708549 | libutil | 11.04.2026 14:55 | Flamefire | Add span class from Boost 1.90 |
| 58cb947 | s25client | 07.04.2026 21:04 | Flamefire | Use `helpers::sort` consistently |
| 322c705 | s25client | 07.04.2026 20:59 | Flamefire | Add test for shuffling HQ positions |
| b60d26c | s25client | 07.04.2026 17:48 | Flamefire | GHA: Use CodeCov action for upload |
| 75d9c1a | s25client | 07.04.2026 17:48 | Flamefire | Add missing LCOV_EXCL_STOP |
| c715cc6 | s25client | 07.04.2026 16:38 | Flamefire | Fix placing HQs randomly |
| bab98a4 | s25client | 06.04.2026 21:52 | Flamefire |
Update GitHub Actions configs - Pin used actions - Add explicit permissions - Update actions where required & possible for Node 20 deprecation |
| 2488de2 | s25client | 06.04.2026 16:11 | Flamefire |
Inline `StopLeavingFigures` function This is so specific to the call site that it should be inline which explains the reasoning better. |
| 2ffddcc | s25client | 06.04.2026 15:54 | Flamefire |
Fix check when stopping leaving soldiers The check assumes only active soldiers start in "Job-state". This state is set when a figure arrived at its goal, and immediately for those not having a "fixed" goal, like attacking soldiers. But it also applies to e.g. trade-donkeys. So check for soldiers directly. Also rename `NoDefender` to `ResetDefender` to clarify meaning and remove the check for leaving defenders which cannot be met: The method is called before the defender is called. |
| efa8195 | s25client | 06.04.2026 15:29 | Flamefire |
Cancel leaving soldiers before requesting defender Soldiers are stopped when a defender is coming out. If no defender is found the leaving soldiers are checked. So it is better to first stop the leaving soldiers and then choose from all of them. Also remove `nofAggressiveDefender::NeedForHomeDefence` which is a wrapper to `InformTargetsAboutCancelling` only used in a single place which is now redundant. |
| 2d82f08 | s25client | 06.04.2026 15:14 | Flamefire |
Extent test case to handle millitary buildings & HQ w/ full & empty troops When a defender is requested then a) Leaving agg. defenders are stopped b) A defender is chosen from remaining troops This might "convert" and agg. defender to a defender. As this is kind of a sub-case of the existing one, merge them with a data-param. Similar the handling for warehouses and military buildings needs to be checked, so make that another param. |
| 8b2e540 | s25client | 03.04.2026 20:58 | Flamefire |
Do not add start resources when creating HQ This is not always desired, especially in the tests. So add an extra method for that to allow adding only wares/people when desired. |
| 93de1b1 | s25client | 03.04.2026 20:00 | Flamefire | Add factory functions for Good/PeopleCounts |
| 0094197 | libutil | 01.04.2026 04:26 | Farmer-Markus | Suppress Clang22 C2y extension errors |
| 562260c | libutil | 31.03.2026 18:30 | Farmer-Markus | Don't use specific addrinfo AI flags on android |
| e6ef258 | s25client | 29.03.2026 15:46 | Flamefire | Shuffle HQ positions outside function placing them |
| 25390a0 | s25client | 29.03.2026 14:22 | Flamefire |
Split out "Count" classes for goods and people `GoodsAndPeopleCounts` is now both a `GoodCounts` and `PeopleCounts` allowing them to be used as required. Refactor the misnamed `AddGoods` to 3 `AddToInventory` methods to avoid parts of the work if only people or goods are added. Ensure visibility of write-accessors for `Inventory` is protecting against mistakes e.g. with armored soldier counts. |
| 6676aec | s25client | 29.03.2026 13:05 | Flamefire |
Remove useless calls to `AddToInventory` When we clear the inventory or start with an empty one there is no need to call this. |
| 6d7af5b | s25client | 28.03.2026 20:44 | Flamefire |
Fix wrongly shown soldiers When soldiers in the leave queue get canceled, e.g. because a fight started so we re-add all leaving aggressive defenders, the counts of soldiers gets off: - Adding a soldier to leave queue will remove it from the real count only, not the visual count: He is still in there - When he is removed from the queue after going out the visual count is decreased - When adding it back before he left we must not increase the visual count Currently it checked if the soldier is in the leave queue but at that point he isn't anymore so the check never succeeds. Add new callback to notify when a figure has left the queue. |
| 86ad40a | s25client | 27.03.2026 19:19 | Flamefire | Translate some comments/docstrings |
| bc0dd36 | s25client | 27.03.2026 19:19 | Flamefire | Don't serialize unused value of nobBaseMilitary |
| 100a5e0 | s25client | 24.03.2026 19:44 | Flamefire |
Ignore pause message in replay mode This is especially important during skipping which expects that each gameframe is actually executed. |