This is probably rather unfortunate in the case of the unit fields, as it may now interpret it as meaning the fields can be nil. We'll see if this causes issues.
Version 13 of GCC added the -Wdangling-reference option, however
due to false positives it had to be moved from -Wall to -Wextra.
Discussion about its status in GCC-14 is in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110075
The warning is for C++ only and the flag will generate a warning
when compiling C files if the flag is set in Scon's CCFLAGS.
The docs don't explain exactly what triggers the warning, but here's the
explanation from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106393#c1
> The warning works by checking if a reference is initialized with a function
> that returns a reference, and at least one parameter of the function is a
> reference that is bound to a temporary. It assumes that such a function
> actually returns one of its arguments! ... suppress the warning when we've
> seen the definition of the function and we can say that it can return a
> variable with static storage duration.
Consistent with that, we're getting warnings on functions of the form
find(container, const std::string&). All of the things triggering it
seem to be false positives:
* Calls to find_widget<...>.
* Calls to theme::get_theme_config.
* Calls to race::gender_value.
* In src/actions/attack.cpp, any `attacker->attacks()[i]`.
Although there's an iterator in there, the eventual reference
is to a member of the array, not the iterator.
* In src/gui/dialogs/unit_advance.cpp, `cfg.child_range("...").back()`
That returns an object indirectly owned by cfg.
We'd like the other warnings of -Wextra, so turn off -Wdangling-reference.
Standing on the runes changes some hexes to impassable,
so it's a change to the game state. It isn't a random
event, so it would be possible to add an [on_undo], but
that seems unnecessary, and would need to handle
multiple runes.
* doesn't clutter unit help tree when a unit variation is displayed
* when displaying a unit variation in the help, it displays the links
below the unit image at the same line as when displaying the base unit
patch from #6011
I used level 3 deprecation because this is something that was intended for internal use in the ai_helper module, and the ai_helper module itself is not an officially stable API
Just removing transparency from all images on the top bar and side bar causes other issues, particularly with the unit sprite and the clock icon alignment.
Fixes#8335
Previously it could happen that removing an object applies the status healing,
in particular of the default AMLAs (which are meant to only heal the unit once).
Change the Lua implementation to directly call the
non-deprecated function, this is related to 9daa10a9f2.
Clean up the C++ header files by removing the declarations of
functions that were removed in 3c8de46771.
Use [endlevel]end_credits=no in the test scenario (trigger it
by moving to hex 9,3). If you debug with :next_level without
triggering the moveto, "The End" will show; trigger the moveto
first, and it won't show the credits.
Doing so since we have three Javelineers:
- Javelineer (Loyalist)
- Merman Javelineer (Rebels)
- Saurian Javelineer (core/pseudo-Drakes)
One easily mistake the loyalist one for the merman one here.
It's better to be defensive with those default values,
especially now that the mp lobby code can automatically
download addons, having require_modification set to true
isn't inconvenient for the users either.
(The issue that the added comment is about isn't something
that was added in this commit)
* units/ war harbinger: +3 HP, +2g cost, -50 XP
* units/war harbinger: removed village and forest def
* units/Dark Omen: removed village and forest def
* Units/Raven: removed village and forest def
* add changelog entry file
Commit 97c8feb8ca3b (pull #7903) specified for 58 of LordBob's portraits
a license of "GNU GPL v2+;CC BY-SA 4.0". I don't know if the semicolon
is supposed to mean "and" or "or".
"And" (e.g. a GNU GPL v2+ file with CC BY-SA 4.0 modifications) isn't
legally possible. "Or" appears incorrect, because LordBob [licensed][1]
his portraits under "the GNU GPL" and I can't find any evidence of him
also licensing them under CC BY-SA 4.0.
Also make update_copyrights check for possibly invalid licenses like
"GNU GPL v2+;CC BY-SA 4.0".
[1]: https://forums.wesnoth.org/viewtopic.php?p=329342#p329342
Commit 97c8feb8ca3b (pull #7903) included a comma in the "Notes" field
of four files, which instead of being enclosed in quotes, overflowed
into the "Needs Update" field. So if those files are updated,
update_copyrights would clobber part of the notes.
Commit 1ecd4f4d599c (pull #8195) updated the "Date" field but didn't
clear "Needs Update" after update_copyrights set "Needs Update" and
"MD5" for data/core/images/units/monsters/raven/harbinger.png.
Make update_copyrights check for and warn about "Needs Update" instead
of clobbering it. This should trigger CI failures if someone forgets
to update a row or accidentally puts into the "Needs Update" field
important information that shouldn't be clobbered on future updates.
There are still other places in the code that call unit_placed so there might be some cases left where unit_placed don't prevent undoing, but most of them are nonundoable anyways.
Only add files that were named on the command line, don't implicitly
add a .hpp file when the .cpp file was given. Previously the script
both needed the .hpp (for Xcode) and failed when the .hpp was given
(for CodeBlocks).
Add the following checks, and if any of them fail exit before making
any changes. Also add a --no-checks option to proceed anyway.
* Check the files exist
* If a .cpp is given and the .hpp exists, check it was given too.
* If a .hpp is given and the .cpp exists, check it was given too.
For the files used by CMake and SCons, .hpp files were never added,
and they still won't be.
Line 227 (original):
Re, Rb are dirt, and these hexes are not converted to snowy terrain. However, by having them within [filter_location], snowfall pace fluctuates. Also, Hhd^Vc doesn't exist on this map.
Line 258~269 (original):
Coa and Hhd are not filtered.
Line306~311 (original)
Hhd^Vc doesn't exist on this map.
These changes make snow fall at a constant pace. Also, unnecessary codes are deleted.
This reverts commits 7ce1bf9f7da and c6a2dc93175.
OpenSSL >= 3.0 was required (but only when building with CMake) so that
src/preferences/credentials.cpp could use EVP_EncryptInit_ex2() (commit
a880f01a315), but that change was reverted (commit 83ab05532a9), all
within three hours.