This makes it so addon metadata (title, version) will be fetched from _server.pbl if
present and _info.cfg if not (see #3278).
This also eliminates the temporary addon_source struct and unifies the metadata parsing
and actual loading stages. They used to be separate since single-file addons were a
thing, but those were removed in 3f640b8e718e4c45d8f73798d839bfea0b413fab.
Also a bunch of minor code cleanup.
(cherry-picked from commit cd3c13aca223e8a8c681556fe8020915d98058e0)
This reverts commit c93482560779c0e137d9598b9e7185338afe2b82.
Keep data/test/ in 'scons dist' tarballs to match official tarballs.
(cherry-picked from commit bad6897cbc75225624814b66c9226cf6233e95cf)
This makes 'scons dist' work, although the resulting tarballs are not
yet identical to cmake tarballs.
Remove awk usage made obsolete by the git transition
(7f85fa000c836c27cfe9d829db3b0e8aaeb49821).
Update src/revision.hpp reference to use src/revision.h. The former
name is unused since at least 7625b1e079b470119d72ea67ce955104f464e4b8.
(cherry-picked from commit 0ee485415710288d27f7b766e48fe7451b03c9a4)
The documentation indicates you're not really meant to use the walker directly.
They're part of the implementation of the iterators. They could be used directly,
as shown here, but this is shorter.
(cherry-picked from commit aca7d4e6df4648ff45f48b6acb9e643de8c05103)
Missed in 207e763401a11e86c6c8ad3602efa514812bf902. Was only working for unit types.
(cherry-picked from commit f59f68a5277cb1dcbbbccc023ad005e7653d4fd2)
As per sigurd's trial and error: RELRO's options are unknown entirely and -fstack-protector-strong results in compile errors. Building with just PIE and _FORTIFY_SOURCE enabled does then compile, but results in a broken executable.
(cherry-picked from commit c9541176776aeb676e99f1804d123552430582ee)
If the leader hasn't been discovered, the "Unknown Unit" topic will be shown.
Fixes#1491
(cherry-picked from commit a8f83f6e687abe997d33a028f841c0bdd5495a11)
Half-fix for issue #1634 and issue #1924.
The issue that remains to be solved is that on subsequent sessions after
a campaign has failed to load, it is possible for the game to generate a
cache entry for it that only contains the main menu WML for it.
Apparently the config cache transactions mechanism causes the game to
try to generate a cache entry with the wrong defines (a define set that
doesn't include the campaign's symbol, for instance) instead of the ones
that are actually needed and used to match the cache entry's filename
via checksumming. As a result, on subsequent sessions the failed
campaign is aborted with "failed to load the scenario" instead of
displaying the real WML error again (since the error is not hit again if
it depends on the campaign's symbol being defined).
In the meantime, this at least removes the red herring error and makes
the underlying issue a bit more visible. It's a very crude hack but it
does the job.
(cherry-picked from commit 0c2298d8c2057344b9c94c9fe7ce848838b363e6)
For lobby messages, there was a length cap in place already, but the
truncated message was lost in processing because it ended up in a WML
document that isn't the one relayed to listening clients.
On the other hand, whisper messages were missing the truncate logic
entirely. Oops.
(The logic for in-game messages does truncate messages correctly as far
as I can tell, and additionally the client UI doesn't allow overlong
messages.)
Thanks to Soliton for pointing me towards the faulty code.
(cherry-picked from commit cdc8da25aea2cbc055dc12879d2c4333fecfc3e1)
NOTE: the rule for the "true orc" case does not work. The string in
question will just have to be fuzzied.
[ci skip]
(cherry-picked from commit 72948787450d2ba273b9a901455ae02ccf1cce5e)
Apparently, this also causes the slider's value to be saved when dismissing the dialog with the checkbox disabled.
Fixes#2741
(cherry-picked from commit e126e5ba3672fe87e7045bce8580ac26b1f536aa)
Also fixes#2958 in the process since the entire setup process isn't repeated
when resetting selections.
(cherry-picked from commit 30121aeb9c31420564d0249e99cf777098244d83)
Fixes the campaign selection dialog's modification dropdown saying "1 other" for
the first mod you select.
(cherry-picked from commit f54b3f722515c94a96d8ba1694e65ae4697c1c01)