Commit graph

25344 commits

Author SHA1 Message Date
phosit
a6403f27d5
Update appdata for the next RC
(cherry picked from commit 759406dd77)
Signed-off-by: phosit <phosit@autistici.org>
2025-12-03 18:15:06 +01:00
Ralph Sennhauser
d90f4400ed
Fix autostart-host
Commit b90280855f added support for
multiplayer saved games changing the signature of StartNetworkHost
without updating all callers.

Fixes: #7684
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
(cherry picked from commit 31a262ff7e)
Signed-off-by: phosit <phosit@autistici.org>
2025-12-03 18:15:05 +01:00
Dunedan
7575a04305
Add Vietnamese as supported language
As 0 A.D. supports full unicode now and Vietnamese language coverage is
at a good level, let's include Vietnamese as supported language.

(cherry picked from commit 0086f005d4)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-30 14:24:26 +01:00
Dunedan
3e8f296c72
Re-add Catalan as supported language
While Catalan got removed for Alpha 27 because of low coverage, its
coverage is now good enough again to get re-added as supported language.

(cherry picked from commit ed1bd1d75b)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-30 14:24:26 +01:00
real_tabasco_sauce
1087e020d1
Add capture animations for citizens
Fixes #8557

(cherry picked from commit a32a28a5e3)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-30 14:24:26 +01:00
Vantha
e961288e89
Correct some settings of the Germans' sandbox map
(cherry picked from commit 36e93989d4)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-30 14:24:26 +01:00
phosit
7ec2d3f0e0
Throw error when simulation script can't be loaded
When a script in "simulation/helpers/" contained an error. Files in
"simulation/components" aren't loaded. The return value of
`LoadDefaultScripts` indicated an error but was ignored. The simulation
still tried to start.

Now instead of returning a ignoreable error code the error is thrown. In
the common path the error is implicitly rethrown to the JS-function
which tried to start the game.

fixes: #8133
(cherry picked from commit 9a526bcae1)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-24 20:20:17 +01:00
phosit
97eca26d58
Don't pass the AppHooks as pointer
It's not permitted to pass a nullptr to the `app_hooks_update`. So a
reference should be used.

CppCheck says one shouldn't take pointer to a temporary.

(cherry picked from commit 977bf5c0d1)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-24 20:20:17 +01:00
phosit
2e4caf5d19
Use designatet initializers for AppHooks
CppCheck wasn't able to handle `{0}`. C++20 allows to use designated
initializers.

(cherry picked from commit b17c2fb80f)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-24 20:20:17 +01:00
Vantha
490434948d
Remove some invalid entries from messages.json
'StatusName', 'ApplierTooltip' and 'ReceiverTooltip' are attributes of status
effects, which are defined in JSON files (and already extracted
correctly from there), not XMLs.

(cherry picked from commit 44984699f1)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-19 20:28:48 +01:00
Vantha
6a55830f1f
Add context and comment attributes where useful
Add context and comment attributes to all translated XML elements in the
simulation that can specify any string -- unlike "Rank", which has to be
"Basic", "Advanced", or "Elite".
Most of them aren't used right now, but they can be in the
future and by mods, without touching the schemas again.

Fixes #8540

(cherry picked from commit 7032293207)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-19 20:28:48 +01:00
Ralph Sennhauser
bf314cbb4c
Add Atlas support to Appimage
Include the shared library libAtlasUI.

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
(cherry picked from commit 5609492731)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-19 20:28:48 +01:00
phosit
d3406f4509
Extend appdata.xml for 0.28.0
(cherry picked from commit 354ed957dc)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-11 18:40:46 +01:00
joeybadz
adb6a05ae7
Remove duplicate fertility festival tech in German tech tree
(cherry picked from commit c6b8593bdf)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-11 18:16:35 +01:00
Vladislav Belov
e590a7cd4e
Replaces choosedDeviceIt by chosenDeviceIt
(cherry picked from commit c0ea17f06e)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-11 18:16:35 +01:00
Vladislav Belov
8420377789
Disables Vulkan devices sorting by default
Currently we always choose the best device. But it's not always
desirable. A more safe approach is to use the default device (with
index 0). The only downside of that is if a user didn't adjust
settings then the game might run on an integrated GPU instead of a
discrete one. In the future it'll be solved by selecting GPU in
options: #8529

Fixes #8455

(cherry picked from commit 485200342d)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-11 18:16:34 +01:00
obelix
fbc1b160e1
Change BuildTime of Gaul Arrow Ship
(cherry picked from commit 479995bc6f)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-11 18:16:34 +01:00
obelix
e07aba6d37
Change BuildTime of Brit Arrow Ship
(cherry picked from commit 90847e0591)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-11 18:16:34 +01:00
Vantha
2de2084b5b
Improve the SpecificName of Celtic civilians
While "Brogiacos" and "Tegesacos" fit in terms of meaning, they are only
reconstructed words, "Ambactos" on the other hand is attested and
actually historically relevant.

(cherry picked from commit 19f6dd031d)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-11 18:16:34 +01:00
Ralph Sennhauser
526deb30f0
Fix reloading config for cinema
This fixes 7df7566d7c, which added
automatic switching off silhouettes in cinema mode while resetting the
value when leaving cinema mode. Reloading can only be done for a given
config namespace.

Fixes: #7552
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
(cherry picked from commit 32edc28cda)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-11 18:16:34 +01:00
Vladislav Belov
1e1db43854
Adds an option to destroy Vulkan old swapchain before
Now it's possible to destroy the old swapchain before creating a new
one. It might make the swapchain creation a bit slower but with a
lower memory peak.

(cherry picked from commit c4bc6c9627)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:31 +01:00
Vladislav Belov
b08f2d1d33
Waits Vulkan device idle also on window resize
Fixes the case when a swapchain was recreated on resize rather than
by VK_ERROR_OUT_OF_DATE_KHR.

(cherry picked from commit 8a64182ca2)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:31 +01:00
Vladislav Belov
d4736962ab
Deletes Vulkan resources on swapchain recreation
The change tries to minimize a memory peak during a window resizing.

Refs #6864

(cherry picked from commit de36c75023)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:31 +01:00
Vantha
68a7d8a03a
Provide context for the translation of "Germans"
(cherry picked from commit be83ba4029)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:31 +01:00
Vantha
c0d569162b
Improve the description of the Germans' civ bonus
Importantly, the word "Germans" is removed since it is prone to being
translated incorrectly and the other civ bonus descriptions don't
contain the civ's name either.

(cherry picked from commit 5d4eab73f9)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:31 +01:00
Vantha
6043ab248b
Add SpecificNames to the Germanic units
The names are in Proto-Germanic and mostly taken from Wiktionary.
They can be confirmed by directly searching the individual
Proto-Germanic terms online.

Champion Cavalry: "Aþalaridjô" (noble+rider)
Cavalry Spearman: "Gaizaridjô" (spear+rider)
Cavalry Javelineer: "Skeutaridjô" (quick+rider)
Worker: "Būraz" (dweller, farmer) -- deliberately decided against the most literal translation,
	which would be "Arbijaz", because that seems to be more connected to serfdom and the unit
	rather represents a generic commoner.
Infantry Swordsman: "Swerdamannaz" (sword+man)
Infantry Spearman: "Gaizamannaz" (spear+man)
Infantry Clubman: "Kulbawigô" (staff/club+warrior)
Infantry Javelineer: "Gaizawerpanaz" (spear/javelin+thrower)
Infantry Slinger: "Slingwanaz" (swinger/slinger)
Scout Ship: "Skeutabaitaz" (quick+boat)
Fishing Boat: "Fiskārijaz" (fisherman)
Fire Ship: "Brandabaitaz" (fire+boat)
Arrow Ship: "Harjaskipą" (army/war+ship)
Wagon: "Wagnaz" (direct translation)
Priest: "Gudjô" (direct translation)
Ram: "Rammabagmaz" (strong+tree/beam)
Trader: "Kaupô" (direct translation, also part of the word used for the market)
Merchant(ship): "Mangārī" (direct translation, very similar to "Kaupô")

(cherry picked from commit f38bc89611)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:31 +01:00
Vantha
6958a5edd0
Correct an overlooked 'Women' to 'Workers'
(cherry picked from commit 05b1ac4559)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:31 +01:00
Vantha
86bcb03f6e
Remove incorrect Germanic SpecificName
The SpecificName tag is meant to contain the name in the civ's native
language, Proto-Germanic for the Germans.
"Kriegsschiff", "Übungsbereich" and "Stadttor" on the other hand are
modern German words.

(cherry picked from commit a71688fc2c)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:31 +01:00
Vantha
f6a6c19132
Convert wrong Germanic SpecificNames to GenericNames
SpecificNames are meant to contain the names in the civ's native
language. The English names are supposed to in be the GenericName tag.

(cherry picked from commit 4d9fc0bb53)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:30 +01:00
Vladislav Belov
76337efe76
Fixes missing Vulkan application version
Missing after dc830ccf55.

(cherry picked from commit 8b1b1d28f8)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:30 +01:00
Stan
93fecf3720
Add credits for Obskurias
(cherry picked from commit 93706ae37c)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-10 20:15:30 +01:00
Vantha
df8b313a74
Add a sandbox map for the Germans
(cherry picked from commit 75feace618)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-05 14:20:35 +01:00
real_tabasco_sauce
e65e031344
adjust corsica vs sard
(cherry picked from commit 83dba854e5)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-05 14:20:35 +01:00
phosit
83832545ae
Add Boiorix as the codename for Release 28
(cherry picked from commit 9588da1d94)
Signed-off-by: phosit <phosit@autistici.org>
2025-11-02 21:54:37 +01:00
real_tabasco_sauce
0b7323c096
Fix market exploit by basing the price change on the amount purchased.
Fix credit to Atrik
Credit for test fix goes to Itms

Fixes #6760

(cherry picked from commit 94d3699ce4)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:50 +01:00
Ralph Sennhauser
d503ae6da6
Replace boost::filesystem std::filyestem
Bumping the minimum version of macOS to 10.15 for spidermonky [1] also
allows us to use std::filesystem instead of boosts implementation.

[1] f14a98e26f

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
(cherry picked from commit eba8439295)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:50 +01:00
Ralph Sennhauser
48b9be5bb6
Require boost-1.69, drop boost_system lib
Boost 1.89 no longer offers the deprecated library for boost_system [1], so
drop it from the list of libraries to link against. This effectively
bumps the minimum required boost version to 1.69 [2].

[1] 7a495bb46d
[1] 2fa0a00583

Fixes: #8471
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
(cherry picked from commit 618ffc7bf9)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:50 +01:00
Ralph Sennhauser
a7f6171063
Do not require literal message ids in Atlas
In >=wxWidgets-3.3 there is a new static check for literal message
ids[1] so that xgettext would reliable work to extract strings to
translate. As we don't translate Atlas at all nor use xgettext just
disable the check to allow building against >=wxWidgets-3.3.

[1] https://wxwidgets.org/help/msgid-literals/

Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
(cherry picked from commit e97f43b692)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:50 +01:00
phosit
8f4750db15
Remove the relaypoint before training units
While not as efficient this order is easier to reason and let's player
pause.

(cherry picked from commit 75805f4b23)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:50 +01:00
phosit
39a5a680d2
Rewrite the phrase about production availability
It's easier to understand and to translate in a language where a
formulation with "Respectively" is not common.

(cherry picked from commit e195c52e30)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:50 +01:00
phosit
61af0a0c26
Rewrite the phrase about building multiple houses
It was hard to understand.

(cherry picked from commit c3727a6a79)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:50 +01:00
phosit
53c806c0c4
Replace hunt by slaughter in phrase about chicken
It's not really hunting when nobody flees.
"Slaughter" is used later when talking about the same action.

(cherry picked from commit 727be2fb45)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:50 +01:00
phosit
b5bf9fd3e2
Replace civ by player in phrase about color
The color is not specivic to the civ but to the player.

(cherry picked from commit a6e4e22ca2)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:50 +01:00
phosit
7a72578517
Don't hardcode Shift as a hotkey in tutorial
It's not possible to format warnings. "a hotkey" is used instead.

Also when the hoplite icon is pressed, without using batches, the
warning doesn't restate that the hopplite should be pressed.

(cherry picked from commit 29ac569511)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:49 +01:00
phosit
1db46eaf9b
Replace "I" with the hotkey in eco walkthrough
(cherry picked from commit 4f38600c39)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:49 +01:00
phosit
819a875fcc
Only make existing Civilians invulnerable
On "Survival of the Fittest" the treasure-collector are made
invulnerable.
Thous Civilian might not exist when the player is removed.

Fixes: #8421
(cherry picked from commit e0481b283b)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:49 +01:00
Itms
1b50d731fc
Store NSIS registry keys under a consistent root
Reviewed-At: https://gitea.wildfiregames.com/0ad/0ad/pulls/8476
(cherry picked from commit 4716a230ab)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:49 +01:00
Itms
621aa9d7a9
Wipe NSIS install preferences when uninstalling
The user language and start menu folder name were saved, which goes
against recommendations in the NSIS documentation.

The installation directory was also saved, which might make sense,
but prevents us from dropping the "alpha" label.

Reviewed-At: https://gitea.wildfiregames.com/0ad/0ad/pulls/8476
Fixes: #7594
(cherry picked from commit 18df61517c)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:49 +01:00
Itms
6a6712799c
Fix install and Start Menu folder names on Windows
Those cannot end with a period.

Reviewed-At: https://gitea.wildfiregames.com/0ad/0ad/pulls/8476
(cherry picked from commit f772181501)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:49 +01:00
Itms
a7f0678dad
Add an engine "compatible" version
When a patch version is released, it must declare compatibility with the
previous patch versions of the same main release. This allows players to
keep replaying their games and to keep playing online with users of
other patches of the same main release.

This should have anticipated for dae7a8c394

(cherry picked from commit 866d6f0527)
Signed-off-by: phosit <phosit@autistici.org>
2025-10-31 13:43:49 +01:00