With curl 8.10 [1] calling curl_multi_remove_handle retruns
CURLM_BAD_EASY_HANDLE iff the handle was removed already and no other
easy handle were registered. This resulted in ENUSRE triggering a
segfault during shutdown as reported. This was fixed upstream after
8.11.1 [2].
Do a runtime version check and for affected version allow
CURLM_BAD_EASY_HANDLE.
[1] curl ba235ab269080dc66e35835c829f7ac4290dbc1d
[2] curl 713182bd196bba014ba77f71176fea3de2236724
Fixes: #7295
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
(cherry picked from commit edde9fb4ee)
Signed-off-by: Itms <itms@wildfiregames.com>
This prevents mods from mutating this value and revealing the map.
Part of this commit is written by @phosit.
(cherry picked from commit c9e76efe7b)
Signed-off-by: Itms <itms@wildfiregames.com>
Script component wrapper attempted to subscribe to messages before the
script component has been registered.
This defect existed since 7c2e9027c2 but was never noticed since there
is no script component wrapper which subscribes to messages. (Only the
script component it wrapps does.)
(cherry picked from commit f932b8b9cc)
Signed-off-by: Itms <itms@wildfiregames.com>
RPI4 returns `false` for `textureCompressionBC` because it doesn't
support formats above BC3. As the Vulkan specification requires to
support all BC formats to have `true` for `textureCompressionBC`.
(cherry picked from commit 0467d27b07)
Signed-off-by: Itms <itms@wildfiregames.com>
Introduced in d9d1f1bbeb.
This allowed draining an enemies metal resources by ordering spy-request
for that player.
Fixes#7230.
(cherry picked from commit 015aa0349b)
Signed-off-by: Itms <itms@wildfiregames.com>
Ideally the AI would try to carry on and recover gracefully but the code is setup in such a way that this seems like it would lead to a lot of different bugs down the line.
With help from @langbart on QA and code.
Fixes#7425
(cherry picked from commit c20ca02911)
Signed-off-by: Itms <itms@wildfiregames.com>
The current code could end up with savegameID being undefined, false, a filename string, or null depending on the code path taken.
Adapt C++ in consequence.
(cherry picked from commit a8fc3cf254)
Signed-off-by: Itms <itms@wildfiregames.com>
Observers have the ability to change the currently displayed player, and this broke the logic of commit f3f695b90e.
By instead storing the displayed player in CmpOverlayRenderer, we can remove the workaround to set a 'dirty' flag as well.
(cherry picked from commit 3756e12701)
Signed-off-by: Itms <itms@wildfiregames.com>
Docks are generic and have all ship entities. This comes to play notably when
they are captured. This is currently not the case for special docks (Crannog and
Cothon). For consistency they are given ship entities that are trainable by
other civilizations.
Also, the Crannog was not updated with the naval overhaul and still had the
trireme and bireme entities. They are now removed.
Fixes#7426
(cherry picked from commit 5c25b6f644)
Signed-off-by: Itms <itms@wildfiregames.com>
This increases the height StoneButtons and TabButtons, so that a
double-spaced caption does fit on them without significant overflow.
Exempt from that are the StoneButtons resembling lists in the main menu
and the in-game menu, as changing their height didn't feel right and we
don't need double-spaced captions for them anyway, as they're wide
enough.
The height of StoneButtons got increased from 28px to 32px, while the
height of TabButtons got increased from 30px to 34px.
(cherry picked from commit 33e9cd6126)
Signed-off-by: Itms <itms@wildfiregames.com>
Since 71a61d5f50, formations regularly regroup. However, units already at their correct offset should remain idle. This doesn't happen as we cannot check if we are at destination.
This exposes that and handles things properly... Unfortunately UnitAI has already left the IDLE state at this point, so we still get counted as no-longer idle for a turn.
To fix this, try and detect that particular situation without triggering infinite loops.
(cherry picked from commit 2f7ac026c1)
Signed-off-by: Itms <itms@wildfiregames.com>
Deduplicate a check by moving it to isSlotAvailable.
Based on a patch by @elexis.
(cherry picked from commit eafcb814cd)
Signed-off-by: Itms <itms@wildfiregames.com>
Failed to notice that name and controllable were sometimes changed.
(cherry picked from commit e15ffd70b7)
Signed-off-by: Itms <itms@wildfiregames.com>
Since 0eed117e6d exceptions from the map generation script are rethrown
in the main thread but not all of them are catched.
(cherry picked from commit 82513c9104)
Signed-off-by: Itms <itms@wildfiregames.com>
Include new/updated skirmish maps and brand new random maps by @real_tabasco_sauce
Revert name and description strings only
(cherry picked from commit da761ca501)
Signed-off-by: Itms <itms@wildfiregames.com>
- Apply Scale
- Rename mesh from Circle to viking_longship
- Remove useless material
- Add prop-projectile-prop point
Reported by: @Langbart
Fixes#7424
(cherry picked from commit bce3a2a170)
Signed-off-by: Itms <itms@wildfiregames.com>
based on a patch by: aeonios
`off` means that the territory visibility cannot be changed
`hidden` means that it's hidden by default but can be enabled
`visible` means it's visible by default
(cherry picked from commit fd78034885)
Signed-off-by: Itms <itms@wildfiregames.com>
This improves the alignment of the items of the top menu in-game. Icons
are now better centered and don't overflow anymore and the build label
text doesn't stack on low resolutions anymore either.
(cherry picked from commit 1aeb19b535)
Signed-off-by: Itms <itms@wildfiregames.com>
The intent of this branch was to not change the names when a saved game
is loaded. So that one can see who was where in the saved game.
It was implemented wrong: The names didn't change when no savegame was
loaded and changed when a saved game was loaded.
This commit make the soved game case and no saved game case consistent.
Defect introduced in b90280855f.
(cherry picked from commit fb9b02a9ba)
Signed-off-by: Itms <itms@wildfiregames.com>
There is no way to show the `PlayerColor` as disabled. As the player
color is vilible without this it can simble be hidden when it is
disabled.
Defect introduced in b90280855f.
(cherry picked from commit 5c860c3121)
Signed-off-by: Itms <itms@wildfiregames.com>
`PlayerData` didn't contain the playerNames when serialized because they
should not be loaded when a new game is made. This lead to the issue
that client didn't receive the initial player names of saved games.
Now `fromInitAttributes` gets as a second parameter whether the
initAttributus are from persistent settings.
Defect introduced in b90280855f.
(cherry picked from commit b52c1c137f)
Signed-off-by: Itms <itms@wildfiregames.com>
When a saved game gets loaded ai's aren't always selectable. This lead
to errors when an ai actually gets selected.
Defect introduced in b90280855f
(cherry picked from commit 199aa8ac35)
Signed-off-by: Itms <itms@wildfiregames.com>
`GameSettingsWarning` where only rendered when the settings change. When
a saved game is loaded it's possible this setting is enablet without the
setting being changed.
Defect introduced in b90280855f.
(cherry picked from commit 8636e4d0fd)
Signed-off-by: Itms <itms@wildfiregames.com>
Make it consistent with the "Browse Maps" buttow which is also
unavailable when a saved game is loaded.
Defect introduced in b90280855f.
(cherry picked from commit 4c48661b4f)
Signed-off-by: Itms <itms@wildfiregames.com>
When loading a saved game the user can't change the maps but when
receiving the initAttributes from the host the map is "changed".
Defect introduced in b90280855f.
(cherry picked from commit 96aa283e6a)
Signed-off-by: Itms <itms@wildfiregames.com>
Reload all cached phase data when switching civ.
Add missing query for the generic phase technologies to the phase idents.
(cherry picked from commit 33111dc816)
Signed-off-by: Itms <itms@wildfiregames.com>
Instead of using the file modification date, this uses the MD5 hash of
the file holding the content of the splash screen for the version check.
This ensures the splash screen isn't unintentionally shown again when
just the modification date of the file changes.
Fixes#4399
(cherry picked from commit ab0aee4cfa)
Signed-off-by: Itms <itms@wildfiregames.com>
This improves the layout of the summary screen, so text and displayed
values fit better. By doing so this also removed the need to specify a
"verticalOffset" for values, as they get vertically centered now.
(cherry picked from commit 1268854587)
Signed-off-by: Itms <itms@wildfiregames.com>
When running 0ad with a language other than English, there are various
places where text doesn't properly fit. This adjusts the UI in a bunch
of these places to better accommodate longer strings as they appear in
other languages than English and to make the UI look more uniform in
general.
(cherry picked from commit fc7e4ae69e)
Signed-off-by: Itms <itms@wildfiregames.com>
Fix normal map orientation for Terrains
- Terrains use "OpenGL" style normal maps, while 3D assets use "DirectX" style normal maps. So, fix all of the normal maps I can find with incorrect style normal maps.
- Set most terrains to angle="0" for more accurate shading. This negatively affects "tile" terrains, which we want to have a 45 degree angle, but helps all other terrains. aegean_paving_01 is an example of a permanent fix for this, which I will work on with Stan for R28.
- Adds a couple of really nice paving terrains for a new "Italy" terrain set.
- Adds a nicer "furrows" normal map for farmland terrain
- Improved persian city tile normal by @wraitii
(cherry picked from commit ba24b46693)
Signed-off-by: Itms <itms@wildfiregames.com>
New AO maps for statues by @nifa (which fixes the Discobolus ao error)
New quiver for Persian Immortal
Remove bad smoothing for Chinese rice hat
Remove some noise from a couple of structure skins
Add garrison flag prop points to Greek theaters
Make garrisoned flags unselectable. Requested by @real_tabasco_sauce
Update han_ricehat.dae
(cherry picked from commit 67bed64fd1)
Signed-off-by: Itms <itms@wildfiregames.com>
Only the sender and the recipients receive the chat messages.
This commit only has an affecto on messages where the addressee(s) are
selected through the dropdown. Addressee(s) selected with a "/" command
are still sent to evevyone and filteret by the receiver.
(cherry picked from commit e04506814a)
Signed-off-by: Itms <itms@wildfiregames.com>