1
0
forked from mirrors/0ad
Commit Graph

25285 Commits

Author SHA1 Message Date
phosit e2ed4afe00 SoundManager: reintroduce manual memory management
This reverts commit 94c907342a.

It introduced multiple errors and is to big to find the actual errors.

Fixes: #8342
Fixes: #8426
2025-10-13 20:42:32 +02:00
Vladislav Belov 70893b6a32 Adds ARM Neon to report 2025-10-13 19:57:52 +02:00
Ralph Sennhauser dc4785ece6 Fix win64 artifact name in bundles pipeline
The extra space is part of the name and prevents the build tarball to be
excluded from archived artifacts.

Reported-By: Itms <itms@wildfiregames.com>
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-10-13 19:03:42 +02:00
Ralph Sennhauser aa601de72c Set owner and group when creating tar archive
tar --no-same-owner is only default for non root users, therefore if
extracting as root owner ship is by the user id creating the archive.
This is an issue if extracting happens in a container and cleanup
outside the container by a non root user like on our CI when building
the appimage. Therefore package the tar archives for fcollada and nvtt
with owner and group root.

Fixes: #8440
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-10-13 19:03:42 +02:00
phosit a730ab65a3 RecomputeActorName when required
533429e800 relied on a later `RecomputeActorName` which was removed in
the same commit.

Fixes: #7590
2025-10-13 18:15:06 +02:00
Hector Gomez 3142b7cbaa Change expert Kushite cavalry spearman model when gathering meat
Kushite expert cavalry spearman uses advanced cavalry spearman rider mo
del when gathering meat.

This commit changes so its expert counterpart is used instead of advanc
ed and art looks consistent.

Fixes #7649
2025-10-13 17:34:21 +02:00
Vladislav Belov c99345a24b Adds MapReader to cppcheck ignore. 2025-10-13 16:57:15 +02:00
Vladislav Belov fb94cc704f Makes loading terrain textures more smooth 2025-10-13 00:14:45 +02:00
Vladislav Belov fb98f5059a Refactors TerrainTextureManager 2025-10-13 00:14:43 +02:00
Vladislav Belov 5bbb2c0b76 Makes parsing entities more smooth 2025-10-13 00:14:29 +02:00
Vantha 7dab8d3f02 Erase the lamdba from the Germanic big hall icon
The great hall of the Germans used the icon of the syssition, which contains
the Spartan civ emblem, which in turn contains a red Greek uppercase
lambda (Λ) for "Lacedaemon". This is obviously incorrect to use for the Germans.
So this patch instead creates a new, generic hall icon for the great
hall out of the syssition icon by just removing the lambda from it. That
way they remain similar and players can recognise them both as
halls and champion-training structures.
2025-10-12 21:36:04 +02:00
phosit a0e4c61565 Don't list removed player when loading a savegame
Removing all entities when loading a game isn't implemented. So the
setting should not be selectable: #8413.
It seems this was tried in b36782388b. But it removed the ai-item
instead of the removed-player-item. That lead to an additional error:
#8425.

Fixes: #8413
Fixes: #8425
2025-10-12 14:25:53 +02:00
elexis 2ccd10e566 Fix missing returns after disconnect in 95179c5e46.
Patch by @elexis.

The package sent in fa85527baf / #2420 plus this missing return causes the NetServerTurnManager
to be stalled forever if a client succeeds to send this package on disconnect.

In NotifyFinishedClientCommands, Disconnect calls OnDisconnect calls UninitialiseClient calls m_ClientsData.erase,
but then m_ClientsData[client].readyTurn = turn; reinserts the disconnected client, making the turnmanager wait forever for the disconnected client.

refs https://wildfiregames.com/forum/topic/134742-bug-game-incredibly-slowfreeze-at-start-because-because-of-1-player/
2025-10-12 12:39:41 +02:00
Vladislav Belov 893f192eaa Makes TextRenderer allocates using LinearAllocator
Also replaces DynamicArena for model and terrain rendering by
LinearAllocator.
2025-10-12 00:53:12 +02:00
Vladislav Belov e4de94415e Removes unused pointer from the allocate function
Also allows to compare ProxyAllocator. For example, it might be
required for containers to compare iterators.
2025-10-12 00:53:10 +02:00
Vladislav Belov 53ff6f0d50 Adds LinearAllocator for faster allocations.
LinearAllocator (also known as bump allocator) allows to reuse the
same memory across the frame for short lifetime allocations.
2025-10-12 00:53:08 +02:00
Itms 29922d254b Fix libicu build for Windows amd64 2025-10-12 00:48:33 +02:00
Itms acf0ccc8dc Create a 64-bit Windows installer in bundles 2025-10-12 00:48:33 +02:00
Itms 78eba9f8c7 Patch win32 binaries as part of bundling 2025-10-12 00:48:33 +02:00
Itms 5826074374 Split building Unix tarballs and Win installer 2025-10-12 00:48:33 +02:00
Vladislav Belov bedb6129f2 Reduces string allocations in GUI and maths. 2025-10-11 19:44:22 +02:00
Ralph Sennhauser 4bf107352f Fix building spidermonkey with python 3.14
Fixes: #8427
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-10-11 15:47:45 +02:00
Ralph Sennhauser 39ea3b6ea5 Use custom runner for tests
The --libdir switch got lost at some point, which is useful for running
tests with a system build.

Further allow to switch the type of output at runtime avoiding an
unnecessary rebuild.

Finally allow to specify an output file, this means there is no need to
redirect stdout which might break the CI in case the tests write
something to stdout like in case of LOGERROR resulting the test result
not being valid xml.

Ref: #7534
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-10-11 11:34:38 +02:00
Vantha 48d8238354 Reset 'removed' flag before autoassigning players
Fixes #8396
2025-10-11 09:49:26 +02:00
Vladislav Belov 3ffb5ec5a0 Removes USE_FOG define and switches to a shader parameter.
Refs #8385
2025-10-11 08:11:35 +02:00
real_tabasco_sauce fbc324d97d fix athen marines selection of dock and regular variants
fixes #8128
2025-10-11 06:40:43 +02:00
phosit 81e6e78dac Use the isSavedGame member variable
The `isSavedGame` attribute has been introduced in ea12766834. The
variable has been turned in a member variable in 3a6540110b this
occurrence was missed when rebasing.

Fixes: #8417
2025-10-08 19:34:15 +02:00
real_tabasco_sauce fd1b7c046c nerf infantry champs and adjust seer and teutobod auras 2025-10-08 17:04:26 +02:00
real_tabasco_sauce c43aa1d609 fix debug build by directly setting probability for the inverse binomial in Decay.cpp 2025-10-08 17:00:09 +02:00
Vladislav Belov 8f4aa8ddbd Adds a script to modify rules and tests to it. 2025-10-08 13:56:48 +02:00
Ralph Sennhauser 0baafb5375 Don't set animation for production with UnitAi
Entities with a production queue when queueing or unqueueing items for
will set an appropriate animation which is desired for structures, like
the forge producing smoke, but not so for units as it interferes with
UnitAi animation state.

Units don't have animations for training or researching so the idle
animation will be set in that case instead. If such a unit is in motion
this results in the unit gliding. To avoid this just skip setting an
animation for entities having a UnitAI.

Reported-by: wowgetoffyourcellphone
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-10-07 19:25:21 +02:00
Ralph Sennhauser ef007b9e5a Fix gliding healers when group attack order
In case a healer is currently healing and is part of a selection ordered
to attack the healer gets moved along but the fsm state isn't changed
which leads to healer healing while gliding to the target.

Introduce a WalkToTargetRange function which does transition state in
addition by issuing an order instead.

Fixes: #6134
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-10-07 19:25:21 +02:00
phosit 3a6540110b Don't save matchsettings when loading a savegame
When loading a savegame more settings are loaded then normally. Thous
settings (such as TriggerScripts) can't be changed from the
matchsetting-screen.
With this commit the saved matchsettings.mp.json isn't overritten when
loading a savegame.

Fixes: #7632
2025-10-07 19:08:25 +02:00
phosit ea12766834 Don't filter when a saved game is loading
Filtering the maps sometimes changes the selection. Also it's not
required to filter the maps as the setting is already selected and
frozen.
This reuses the code which is used by campains since there the map might
also be frozen.

Fixes: #7682
2025-10-07 19:07:20 +02:00
wowgetoffyourcellphone 3ae3c7ad3b Attempt to fix the Han Great Tower max arrows bug
Tis a minor bug, but worth fixing.
2025-10-07 05:29:35 +02:00
Ralph Sennhauser 788708ed8c Add AppImage support
Add a Dockerfile having all needed tooling. Using a container also means
those are the libs that will end up being used in the AppImage.

Then add a script for building pyrogenesis either form git or from
extracted source tarballs and for assembling the AppImage and finally
creating the AppImage.

Add building the AppImage to the "bundles" pipeline.

Also add a wrapper script to use podman to drive the whole process
for convenience for local builds.

Ref: #7577
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-10-05 20:35:43 +02:00
Vladislav Belov 199f4cb666 Fixes uninitialized water textures.
Fixes #8052
2025-10-05 14:13:49 +02:00
Vladislav Belov e1d5e92c2a Restores minimap entities size and adds options.
Restores minimap entities size to size they have in A25.
Adds minimap options.

Fixes #6782.
2025-10-05 12:04:21 +02:00
real_tabasco_sauce 3dfd4b0d3e Differentiate cataphract as a stronger, but much slower unit, nerf the HP bonus technology. 2025-10-05 04:26:47 +02:00
real_tabasco_sauce 12be6a0e59 reduce melee champ cav HP from 300 to 260 2025-10-05 04:26:47 +02:00
real_tabasco_sauce 4ba618563c Add civ bonuses for Carth and differentiate embassies and their mercenaries. 2025-10-05 03:55:58 +02:00
real_tabasco_sauce 22ed1fcdef let athens civilians build their unique buildings
Fixes #8393
2025-10-05 03:01:02 +02:00
Vladislav Belov e63c80c613 Reduces string allocations in paths. 2025-10-05 01:31:27 +02:00
Ralph Sennhauser d22d8776e6 Fix layouting of texture preview in atlas
Commit fe192fe58f added one extra level,
so we have to layout the parent of the parent now to actually layout the
sidebar.

Fixes: #8388
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2025-10-01 14:40:30 +02:00
Kate 1e3f849816 Increase aura range for Kushite buildings
Temple of Amun's healing range increases from 40m to 70m.

Large Pyramid's aura range is increased to 100m.
2025-09-29 21:52:22 +02:00
phosit 2a25ef11b8 Import getHolder in startingStrategy.js
This was forgotten in 4da78788c8. The error only occurs when a PetraAI
wins.
2025-09-29 19:25:25 +02:00
Vladislav Belov 13b988cecb Removes shader effect duplications. 2025-09-29 12:04:53 +02:00
Vladislav Belov 275f6631c4 Allows to use the same technique for multiple shaders. 2025-09-29 12:04:42 +02:00
Vantha f65e839ac5 Add a new button style: 'BrownButton'
Each sprite is comprised of dynamically scaled 9 slices stored in a designated directory.
Base, over, pressed, and disabled variants are combined into a button style called
'BrownButton'.

The sprites have a native/maximum total resolution of 266 x 74 pixels.
(which is larger than any other button sprites)

Brightness of the base sprite is kept neutral so that it fits on both
light and dark backgrounds.

Disable compression and mipmapping as they don't work well with sliced
sprites.
2025-09-28 22:59:27 +02:00
real_tabasco_sauce 18ef4b6a1a Let units attacking low preference units without direction check for high preference units
-During each attack on a low preference target unless player-directed, update the range query and find a new target.
-Adjust behavior for elephants to work better versus infantry.
fixes #1488
2025-09-28 21:28:30 +02:00