84383 Commits

Author SHA1 Message Date
JJ Marr
fe5296aefd Make every possible param a const reference
This is important for performance. If a parameter doesn't have to be
modified, it should be a constant reference to the original.
2024-12-01 23:19:53 -05:00
Charles Dang
0ed106c4e2 wesnothd: format logged-in time directly
This was the last use of lg::format_timespan, which was only ever used in server code anyway. The server probably shouldn't be formatting this anyway, but as long as it is, we don't need a dedicated function or fancy formatting.
2024-12-01 21:42:04 -05:00
JJ Marr
70c89f819d Enable warnings as errors for scons
Will this catch the outstanding issues?
2024-12-01 20:55:11 -05:00
Charles Dang
a25d28e637 Game Events: removed an unnecessary getter
Bad design to return mutable reference to static object. This method has the possibility of creating a new default entry in the by_name map, but the remove call will be a no-op in that case (as it was before), so no harm done.
2024-12-01 17:23:27 -05:00
Charles Dang
20e61d67ff server_base: remove orphaned function declarations
Left over from  e7a4869c4a5cfe870de79880cb29b68b29994b2c
2024-12-01 13:21:57 -05:00
Nils Kneuper
8f7813c7a0 updated Hungarian translation 2024-12-01 18:59:47 +01:00
gfgtdf
ba5c1c1ac1 Fix #7478 game crash after reloading a mp game in debug mode (#8907)
previously the game would return to titlescreen here if mp_info_
but was null but
`game_config::debug && state_.classification().is_multiplayer()`
returned true which happend when a multiplayer game was reloaded
via the sp loadgame dialog.

This fixes the issue by simply removing the "always show mp staging
between scenarios in debug mode" feature, which imo never was that
useful anyways.
2024-11-30 22:49:32 +01:00
gfgtdf
c08152a0e7 Don't store duplicate current side num in savefiles
This not only removes duplicate information which can always cause bugs if it's out of sync,
this can also be used an an easy way to detect the old undo stack format
2024-11-30 22:45:32 +01:00
gfgtdf
8a91549fe8 fix possible crash in undo events 2024-11-30 22:45:32 +01:00
gfgtdf
73c14e0d2b fix possible crash in capture events
its not safe to keep a reference to the owner_side variable
since the event might remove it, which could lead to a crash
when atempting to set it
2024-11-30 22:45:32 +01:00
gfgtdf
a5dae832c8 small cleanup
thereis no need for if(s_c::undo_blocked()) { s_c::block_undo(); } since it automaticially happens at the end of every action already
2024-11-30 22:45:32 +01:00
gfgtdf
7c41d550a9 split undoing of moves into small steps
this way even when enter/exit_hex events with [on_undo] are involved, undoing happens
in reverse order of the gamestate changes during the original action
2024-11-30 22:45:32 +01:00
gfgtdf
4dc69c5267 split villagecapture into seperate undo action
this wayits possibel to undo the action exactly in the reverse order
as they are a happening on the original code, even with wml events involved
2024-11-30 22:45:32 +01:00
gfgtdf
8350f48c88 Refactor undo stack
This commit splits undo actions into multiple smaller steps. The main advantages:
- Its allows us always undo the parts of an action in the reverse order of which
  they originally happen, preventing bugs that could be caused if the parts
  interact with each other in a way where the order matters (like for example
  an [on_undo] resetting a units moves, when the event happend in a move action
  which would then also reset the units moves on undoing).
- It's easier to add (c++) undo steps for specific steps even if they are used
  from wml, like spending gold.
- [do_command] no longer confused the undo stack (in fact it's by default now undoable).
- All actions are put onto the undo stack in the same way, previously it was
  often unclear whether the undo stack is empty during a specific step  during
  the execution of an action, in particular when people tried to use
  `undo_stack->empty()` to check whether an action could still be undone.
2024-11-30 22:45:32 +01:00
gfgtdf
d8086942df small cleanup 2024-11-30 22:45:32 +01:00
Gothyoba
c5c4c7af07
Balancing Update to Dwarvish Miner (#9506)
HP 22 > 25
XP 24 > 20
2024-11-30 15:09:34 -06:00
Nils Kneuper
b2bceba9a7 updated Bengali translation 2024-11-30 14:00:30 +01:00
JJ Marr
3b8ceb00f0 Replace NULL with nullptr in the codebase 2024-11-30 13:24:45 +01:00
JJ Marr
167677d9de Enable clang-tidy for scons 2024-11-30 13:24:45 +01:00
JJ Marr
d8d92b5d28 Add clang-tidy support to cmake
Also, enables it in CI.
2024-11-30 13:24:45 +01:00
JJ Marr
e9e40b5a37 Enable compilation database for Scons
This is necessary for interfacing with external tools such as clang-tidy
2024-11-30 13:24:45 +01:00
JJ Marr
1cf3fed50f Refactor module compilation into separate library
This allows us to disable clang-tidy for this folder.
2024-11-30 13:24:45 +01:00
Nils Kneuper
47ec1d49e7 updated Italian translation 2024-11-30 01:05:35 +01:00
Nils Kneuper
fc0e7f7a08 updated British English translation 2024-11-30 01:04:00 +01:00
Charles Dang
653333a8bf Restore space after log timestamps 2024-11-28 22:14:06 -05:00
Charles Dang
4ccfca6b1d Game Display: check for teams before refreshing reports (fixes #9609)
Regression from 7fa4fe483c755da3aea731da9667cb03f7598fb9
2024-11-28 22:13:43 -05:00
Charles Dang
2c216eec72
Refactor utils::format_timespan to use chrono types (#9610)
This also adjusts the periods for years and months. Previously, we were using values of 30 days for a month and 12 months for year. Now, we use the chrono values of a month as 1/12 of a year and a year as 365.2425 days.
2024-11-28 22:07:52 -05:00
Thewodoros
70a76b0e21
EI: add missing last breath (HERODEATH) events for Addogin (#9611)
In S04a, the event is added within his original "last breath" event - the one which switches him to the player's side. Without this additional event, he will die silently if killed by the elves after being "captured".

In S11, it looks like the event for him was simply forgotten (HERODEATH events are added for all other heroes).
2024-11-28 16:38:00 -06:00
Thewodoros
2db282c273 Clear forgotten variable
gold_extra is not used in further scenarios, just like gold_cost.
2024-11-29 04:02:36 +11:00
Thewodoros
22a1a9d5d4 Use variables for deducting gold in EI S04b
These two variables are used everywhere else in this scenario, hardcoding the amounts here must've been a mistake.
2024-11-29 04:02:36 +11:00
Subhraman Sarkar
2477618306 rich label: support specifying text color, font and style in resolution
This allows the rich_label definitions in rich_label_default to work.
2024-11-28 23:04:05 +05:30
Subhraman Sarkar
2e0f8c453e lua_widget_attributes: use existing functions in gui/widgets/helper.cpp 2024-11-28 11:57:21 +05:30
Charles Dang
98f0d3721c wesnothd: convert stray member to seconds 2024-11-27 18:58:28 -05:00
Wedge009
b8747c37b0 Remove non-standard spacing.
[ci skip]
2024-11-27 10:35:12 +11:00
pentarctagon
7183553e23 1.19.6+dev 2024-11-26 12:17:36 -06:00
pentarctagon
99469ba31d 1.19.6 1.19.6 2024-11-26 12:16:03 -06:00
pentarctagon
ed94f9b02b changelog entries 2024-11-26 12:11:40 -06:00
pentarctagon
75f41e84f0 pot-update and regenerate doc files 2024-11-26 12:10:35 -06:00
Charles Dang
0f8d9a9940
wesnothd: handle server IP bans more generically (#9602)
Instead of simply returning a string, `is_ip_banned` now returns a struct with an error code, ban reason, and ban time remaining. This avoids doing time duration formatting on the server and allows the error message to be localized on the client. It also makes the ban handling interface more generic in server_base, which should hopefully allow forum bans to be handled this way as well.
2024-11-26 09:13:57 -05:00
Nils Kneuper
7bc844d4be updated Hungarian translation 2024-11-24 17:24:57 +01:00
Subhraman Sarkar
c475b0c684 add a command line option to preprocess a string 2024-11-24 16:51:12 +01:00
Subhraman Sarkar
a50f047c7c add preprocess_string method and use preprocessed loyal trait 2024-11-24 16:51:12 +01:00
doofus-01
26fd5513b6
fix ship portrait references (#9603)
fix some image references in #9484
2024-11-23 22:38:07 -08:00
doofus-01
56468a9bdc
Update changelog.md 2024-11-23 16:35:06 -08:00
doofus-01
3dff5d2eac
Ship sprites and units update (#9484)
* new ships Derelict Hulk and Fireship

* new "race" Ships - includes Transport Galleon, Pirate Galleon, Derelict Hulk, and Fireship

* Pirate Galleon chaotic

* animations for all four touched ships

* ship portraits for Derelict Hulk and Fireship

* crew portraits by LordBob for Boat, Galleon, Transport Galleon, and Pirate Galleon

* old (non-pixel art) transport galleon and pirate galleon images moved to scenery
2024-11-23 16:28:37 -08:00
Charles Dang
5a90e40e19 Note --nodelay removal in changelog, remove from manpage 2024-11-23 12:54:32 -05:00
Nils Kneuper
d2638df581 updated Arabic translation 2024-11-23 15:46:13 +01:00
Nils Kneuper
4d37947ae1 updated Chinese (Simplified) translation 2024-11-23 15:44:22 +01:00
Charles Dang
335c4943d2 Build Info: improve refresh rate report
See discussion in #9594
2024-11-22 12:43:47 -05:00
Iris Morelle
ce6c56adea Switch default Pango/Cairo render backend to Fontconfig on macOS
Fixes #8488.

This is a simple setenv trick. Ideally we would instead figure out how
to fix Oldania ADF Std to work on newer macOS, but since we know the
Fontconfig backend works for us on Windows and Linux, we may as well
stick to it and hope there will never be a situation where CoreText
would prove superior somehow.
2024-11-22 23:00:03 +05:30