1
0
forked from 0ad/0ad
Commit Graph

23993 Commits

Author SHA1 Message Date
e31d70f059 Removes waiting from MapGenerator. This makes the game window more responsible during map generating.
- remove `SDL_Delay(100)`
- the progress is now an `std::atomic` (not protected by the mutex
anymore)

Based On Patch By: @vladislavbelov
Accepted By: @wraitii
Differential Revision: https://code.wildfiregames.com/D3676
This was SVN commit r27717.
2023-06-18 12:19:26 +00:00
5e12848511 Remove these 3 terrains, which are no longer necessary.
This was SVN commit r27715.
2023-06-16 17:10:35 +00:00
ea1c6a8d11 Removes wdbg_heap from tests following 7782aa95f1.
This was SVN commit r27714.
2023-06-16 16:44:21 +00:00
e2fb23731c Fix | Mauryan Palace
Reported to me by: Stan'
Fixes #6825

This was SVN commit r27713.
2023-06-16 16:39:55 +00:00
186bedae56 Removes unused Windows sample-based custom profiler. Usage was removed in 56bd5b59b4.
Differential Revision: https://code.wildfiregames.com/D5047
This was SVN commit r27712.
2023-06-16 16:38:18 +00:00
e4bcfd0556 Removes winit usage from wtime. LatchInitialSystemTime was added in c45ef68a88 and unused since ada16439ab.
Differential Revision: https://code.wildfiregames.com/D5046
This was SVN commit r27711.
2023-06-16 16:36:34 +00:00
7782aa95f1 Removes custom debug heap analysis on Windows.
Differential Revision: https://code.wildfiregames.com/D5045
This was SVN commit r27710.
2023-06-16 16:34:10 +00:00
85bb745295 Fix | Art | Royal Palm texture transparency.
Reported by: @nifa
This was SVN commit r27709.
2023-06-16 16:02:47 +00:00
fdd30b3d85 Some cleaning in the Barter component.
- Add explicit variables for magic values.
- `let`s to `const`.
- Don't start the regen timer when not needed.

Differential revision: https://code.wildfiregames.com/D4965
Comments by: @Stan
This was SVN commit r27707.
2023-06-16 06:25:36 +00:00
291f17b3c5 Reset speed when stopping.
And use an explicit function for running.

Differential revision: https://code.wildfiregames.com/D4957
Comments by: @Stan
This was SVN commit r27706.
2023-06-15 06:56:41 +00:00
0e57957a09 Maps | Fix and improve the Libyan Oasis 2p skirmish map
This was SVN commit r27704.
2023-06-14 16:21:35 +00:00
5ede423224 Art | Fix | Fix texture refs to some head actors
This was SVN commit r27703.
2023-06-14 16:20:40 +00:00
8480cfc35f Remove FSM conditions.
FSM conditions aren't used. So this removes dead code.

Accepted By: @wraitii
Differential Revision: https://code.wildfiregames.com/D4959
This was SVN commit r27702.
2023-06-14 14:58:37 +00:00
298f207e5b Improve AttackEntitiesByPreference by short-circuiting on best possible preference.
Similar trick to D3446 / c87229aa48 - we can short-circuit if we find
units that match our best possible preference.
This is, in particular, almost a 40% wall time improvement on Combat
Demo Huge, but it should apply in a number of more normal cases.

Differential Revision: https://code.wildfiregames.com/D5020
This was SVN commit r27701.
2023-06-14 07:52:30 +00:00
64efa0acf9 Delay a distance computation in UnitMotion.
Minor optimisation to computing a point goal.

Differential Revision: https://code.wildfiregames.com/D5035
This was SVN commit r27700.
2023-06-14 07:48:45 +00:00
61e932a890 Turn off SPECTRE mitigation in jit code
SPECTRE attacks mitigations were added to SpiderMonkey's JIT output in
version 57. Turning these off is a very large speedup, around 10-20%
wall time (on my computer) depending on the map and the situation.
For the most part, from profiling on my machine, this is from memory
fences after JIT -> C++ calls. 0 A.D. does a lot of these.

The SPECTRE class of attack is a timing attack based on speculative
execution to leak sensitive information, and it seems extraordinarily
unlikely that something like this could be successfully mounted using 0
A.D.

Differential Revision: https://code.wildfiregames.com/D5014
This was SVN commit r27699.
2023-06-14 07:44:23 +00:00
9399ba043e Speed up AI computation by not using structured clones
Following the AI unthreading in 4df03ed2d2 / D3769, structured clones
are no longer needed to pass the gamestate around.
This is much faster, about 10-15% wall time on an AI 1v1 profile.

This also potentially reduces memory fragmentation and GC needs, as
writing clones allocated a lot of data.

Differential Revision: https://code.wildfiregames.com/D5019
This was SVN commit r27698.
2023-06-14 07:32:22 +00:00
e5acc73fcf Remove useless line from 507f44f7f9
This is unused and makes the function twice as slow as it needs to be.

Differential Revision: https://code.wildfiregames.com/D5015
This was SVN commit r27697.
2023-06-14 07:28:37 +00:00
cce7d02036 Bugfix & optimisations to ApplyModifiers
This functions is amongst the most called in JS, so it's important to
make it speedy.

- Bugfix: if 'originalValue' is falsy, the result was never cached. This
in particular affected the minRange of archers, which is 0. It's a large
optimisation on combatDemoHuge, but the effect elsewhere is less likely
to be noticeable.
- Don't go through the helper to get the player Entity ID, in this case
it's slower.
- Concat is slower than Flat() in this case according to my profiling.
- Some micro-optimisation by strict equality.

Differential Revision: https://code.wildfiregames.com/D5012
This was SVN commit r27696.
2023-06-14 07:27:06 +00:00
080599442f Don't send PositionChanged messages in TurnTo when not actually turning
FaceTowardsTarget is called quite often by UnitAI, and we can skip some
un-necessary messages as an optimisation.

Differential Revision: https://code.wildfiregames.com/D5005
This was SVN commit r27695.
2023-06-14 07:23:05 +00:00
44611294de Fixes Sampler::Desc comment about using BorderColor.
This was SVN commit r27694.
2023-06-14 07:14:31 +00:00
8f78ac1ef8 Decouples renderer code from VideoMode to get backend device.
Differential Revision: https://code.wildfiregames.com/D5043
This was SVN commit r27693.
2023-06-14 07:06:22 +00:00
5893c4bc85 Allow to set the biome with the autostart command.
Basically a patch by: @wraitii
Differential revision: https://code.wildfiregames.com/D4976
Comments by: @bb, @sera
Accepted by: @Langbart
Fixes #6521

This was SVN commit r27692.
2023-06-14 06:35:27 +00:00
f64b3f773e Art | Misc actor and texture improvements
This was SVN commit r27690.
2023-06-14 01:23:30 +00:00
14dd3c0aad Make Farmstead aura icon appear over affected Fields as well as gatherers
This was SVN commit r27689.
2023-06-14 01:19:27 +00:00
70c83b9c3d Art | Add a new variant texture for Spartan women
This was SVN commit r27688.
2023-06-14 01:18:03 +00:00
466968ca3e Art | Buildings | New Gallic structure textures with roof shingles instead of thatch.
This was SVN commit r27687.
2023-06-14 01:16:47 +00:00
227bc8db02 Maps | Update a bunch of skirmish maps and add a new one (Arabian Oases 2p)
This was SVN commit r27686.
2023-06-14 01:13:44 +00:00
075d8589f3 Art | Player color for Greek defense tower
This was SVN commit r27685.
2023-06-14 01:07:15 +00:00
9aa118d6be Art | Move Mauryan heads to the correct folder.
This was SVN commit r27684.
2023-06-14 01:01:56 +00:00
22cbd39bbd Civs | Remove AI names which duplicate in-game heroes.
This was SVN commit r27683.
2023-06-14 00:57:58 +00:00
aa7dfc196e Art | New model for the Mauryan Palace
This was SVN commit r27682.
2023-06-14 00:56:01 +00:00
59a805dac8 Art | Fix the ostrich feather actors for Nubian units
This was SVN commit r27681.
2023-06-14 00:36:05 +00:00
50453f1e1f Art | Use a better portrait for Whales
This was SVN commit r27680.
2023-06-14 00:34:18 +00:00
df2a0cf3ab Art | New and improved terrains
New Farmland terrains for various biomes

Remove alpha channel from numerous terrain normal maps

This was SVN commit r27679.
2023-06-14 00:32:34 +00:00
46b374b855 Art | Greatly improve the look of some ship sail actors
This was SVN commit r27678.
2023-06-14 00:18:27 +00:00
50e78c1af5 Art | Some new assets
Mediterranean Bush (dry)
Stone and Rock fences by @Wow
New props for Briton and Gallic formation standards
New Kushite Shields by @Stan
Saharan capturable farmstead
Celtic Shrine (with improved textures)
Royal Palm tree

This was SVN commit r27677.
2023-06-14 00:15:28 +00:00
95546c8a1d Art | unit portraits | Update a bunch of unit portraits
This was SVN commit r27676.
2023-06-13 23:20:27 +00:00
553149957d Art | Technology portraits | Update some older tech portraits and add a few new ones.
This was SVN commit r27675.
2023-06-13 23:13:41 +00:00
3991c5c857 Speed up timer update by using Map.forEach
According to JIT profiling on SM 115, using ForEach is faster than
iterating.
This is a micro optimisation, maybe 2% faster for OnUpdate, which means
we might see an overall improvement < 0.4%.

The reason this is faster here is that Iterating needs to construct an
array to store the result, whereas ForEach just uses the values
directly. This means this probably doesn't apply to iterating if we
don't need both the key/value pair.

Differential Revision: https://code.wildfiregames.com/D5010
This was SVN commit r27674.
2023-06-13 15:57:18 +00:00
7350b9042e Don't poll territory in Position component
CmpPosition::TurnStart checks whether the territory changed underneath
each entityevery turn. The only user of this is TerritoryDecay
(structures, for the most part). It is rather inefficient to have this
done for all entities.
The simplest solution is to listen to position-changed messages in
TerritoryDecay instead. This should hardly ever happen in vanilla 0
A.D., except in Atlas, so it's basically free.

This sort of reverts 19965ce37a (original implementation) and
c44b48bd59.

Accepted By: Freagarach (concept only)
Differential Revision: https://code.wildfiregames.com/D5009
This was SVN commit r27673.
2023-06-13 15:48:03 +00:00
2a17a2866e Update the rules for new lobby usernames
Right now usernames for the lobby can consist solely of numbers and
special characters. This can result in nonsensical usernames and is
prone to be abused. While we can't entirely prevent nonsensical
usernames, we can at least do a bit better.

Therefore, this adjusts the rules for the validation of new lobby
usernames in pyrogenesis. Previously these rules were:

- length: between 1 and 20 characters
- valid characters: lower- and uppercase letters, numbers, ".", "_", "-"

The new rules are:

- length: between 3 and 20 characters
- valid characters: lower- and uppercase letters, numbers, ".", "_", "-"
- must contain at least one letter

These validation changes are relevant for new user registrations only
and don't affect existing users. As this also just adjusts the
client-side validation, users will also still be able to register
usernames according to the old rules, e.g. when using an older version
of 0 A.D., until the same change gets rolled out at a later point in
time server-side as well.

This was SVN commit r27670.
2023-06-08 15:21:04 +00:00
b131e641f5 Fix visual glitch in slaughtering: This adds a PrepareTime to the Slaughter attack. Has negligible affect on gameplay, but fixes a minor, but ugly visual glitch where the animal dies too quickly, without even being stabbed first.
Differential Revision: https://code.wildfiregames.com/D5017
Accepted by: @chrstgtr
Supportive comments by: @real_tabasco_sauce, @Freagarach, @Feldfeld
This was SVN commit r27669.
2023-06-07 15:58:26 +00:00
f2ca8f7787 Balance the splash damage of Elephants.
- Move the Crush damage from Splash to direct hit.
- Reduce overall damage slightly

Accepted By: Feldfeld
Differential Revision: https://code.wildfiregames.com/D5008
This was SVN commit r27668.
2023-06-06 07:10:03 +00:00
0d5cc1b994 Fix game crash when communicating with the lobby on macOS 13
Summary:
On macOS Ventura (at least version 13.2.1 and above), the game crashes
instantly when clicking on buttons communicating with the lobby.

This issue is solved by upgrading nettle to 3.9 and GNUTLS to 3.8.

Patch by: froissant
Accepted By: wraitii
Trac Tickets: #6807

Differential Revision: https://code.wildfiregames.com/D5018
This was SVN commit r27667.
2023-06-06 07:07:50 +00:00
9707931878 Fixes Vulkan hazards reported by validation layers.
Tested By: Stan
Differential Revision: https://code.wildfiregames.com/D5024
This was SVN commit r27665.
2023-06-05 16:32:18 +00:00
1b948580c7 Adds color blend state to Vulkan pipeline description only if color attachments are present.
This was SVN commit r27661.
2023-06-01 17:48:23 +00:00
753949eb73 Enables PolygonMode for Vulkan only when allowed by fillModeNonSolid.
This was SVN commit r27660.
2023-06-01 17:12:27 +00:00
7c07083724 Fix the removal of implicit conversions in libfmt 10 by using explicit casts.
Patch by: @phosit
Accepted by: @vladislavbelov
Comments by: @sera
Differential Revision: https://code.wildfiregames.com/D4998
This was SVN commit r27657.
2023-05-31 12:03:04 +00:00
71e3d1303d Disables UV1 vertex attribute without USE_AO for model_common shader.
This was SVN commit r27656.
2023-05-30 17:07:58 +00:00