Commit Graph

30370 Commits

Author SHA1 Message Date
Paul Chote
b2acc653a0 Promote map generators to stand-alone editor tools. 2025-04-18 11:00:53 +03:00
Paul Chote
78f660124c Rewrite map generator settings UI logic. 2025-04-18 11:00:53 +03:00
RoosterDragon
8f46247dc9 MiniYaml.From* methods support deferred execution.
Previously, the MiniYaml.From* helpers such as FromStream would consume the entire input and then return a list of top-level nodes. Now, the input is processed using deferred execution and top-level nodes are yielded as they are resolved from the input.

The motivating use-case is MapCache, which currently manually buffers nodes before passing to MiniYaml.FromString in order to improve responsiveness when large payloads are processed. Now that MiniYaml.FromStream yields results back as they come in, we can switch to that without disadvantage.

The maintains the performance where map cache can update search results as each node comes in over the network rather than having to wait for the entire batch to be transferred. Now we can also remove the string buffer that captures each node, reducing memory pressure and simplifying the code.
2025-04-13 14:12:25 +03:00
RoosterDragon
5676d7be40 Prevent crash when using QuantizedFacings: 0 on BodyOrientation.
This override allows quantization to be disabled, and is used by the TS mod as the voxel based actors can be rotated to any orientation/facing. To prevent a divide by zero error for these actors, we need to return early from QuantizeFacing just like we do in QuantizeOrientation.

However, when QuantizedFacings is not explicitly set to zero, we still want to catch errors when artwork sequences have zero facings. The new check would cause such errors to be hidden. To prevent this add some exceptions with a detailed error message.
2025-04-13 14:00:22 +03:00
N.N
d459d3883d Add SoundFX for Ornibomb, Devastator Meltdown, Sabotuer 2025-04-06 12:28:08 +02:00
Gustas
af0dee3382 Fix incorrect tile definition 2025-04-06 12:19:26 +02:00
RoosterDragon
a4317fec57 MiniYaml applies removal during merging as well as inheritance.
Currently removal nodes in MiniYaml are only applied whilst resolving inherited nodes. When merging collections to override existing nodes the removals are not resolved, resulting in duplicate key errors if you remove a node to then add it back with different values.

Now, removal nodes are also resolved when merging, allowing nodes to be removed as overridden during merging just like they can be with inheritance.
2025-04-06 12:14:16 +02:00
RoosterDragon
3c2945c1bc Add OpenRA.Test to the solution build configuration.
When the solution is built, previously the Test and WindowsLauncher projects were excluded. Now only the WindowsLauncher project is excluded. This avoids needing to build the Test project separately after building the solution.
2025-04-06 00:04:42 +03:00
abcdefg30
d136ccc350 Don't allow actors to disguise themselves as themselves 2025-04-05 17:12:20 +03:00
Paul Chote
76cbd5582d Show FixedColorPalette options in the asset browser. 2025-04-04 17:39:17 +03:00
Paul Chote
d26d9e0b9c Remove redundant custom tiberium sprites. 2025-04-04 17:39:17 +03:00
Paul Chote
c187d21b95 Remove TD Jungle tileset.
This tileset was community content, and does not have remastered assets.
There is no realistic prospect to creating equivalent remastered assets,
which leaves removal in order to achieve parity between classic and
remastered modes.
2025-04-04 14:29:50 +03:00
RoosterDragon
36660b89e9 Silence IDE0290.
This rule recommends use of primary constructors. Apply the suggestions on simple POCOs, adjusting some to readonly/structs/records at the same time. For more complex classes, the use of primary constructors is more distracting than helpful, so silence the rule. IDEs can still offer fixes for using primary constructors, but it will not show up as a build issue.
2025-04-02 10:18:32 +03:00
Paul Chote
3de6a5fd5a Use the TerrainRenderer for rendering template-based bridges. 2025-04-02 10:08:39 +03:00
Paul Chote
737890d395 Fix PBOG offset not accounting for zoom. 2025-04-02 09:59:40 +03:00
Paul Chote
c04041e328 Add StructureSold notification placeholder for TDHD. 2025-04-01 20:23:05 +03:00
Paul Chote
c028d8ad29 Define ColorShift data for TDHD. 2025-04-01 20:23:05 +03:00
Paul Chote
597e8e1573 Replace fog palette with sequence alpha. 2025-04-01 20:23:05 +03:00
Paul Chote
0b03d7ea31 Enable player color for crushed sequences. 2025-04-01 20:23:05 +03:00
Paul Chote
ee24d0539a Replace custom oil derrick sprite with palette. 2025-04-01 20:23:05 +03:00
Paul Chote
25188e849e Move TileSize definition to terrain info. 2025-04-01 20:10:39 +03:00
Pavel Penev
0f7b24a8c0 Made SupportPower abstract
Because it really needs to be.
2025-04-01 19:28:56 +03:00
Pavel Penev
fc8103098e Formatted .csproj files according to editorconfig 2025-04-01 19:28:56 +03:00
RoosterDragon
79454d8fd2 Fix IDE0028, IDE0300, IDE0301, IDE0302, IDE0303, IDE0304.
Silence IDE0305.
2025-03-31 12:02:41 +03:00
Gustas
0740991c12 Increase perf for parsing remote maps 2025-03-30 18:32:00 +01:00
Gustas
117a47f81f Add a backup for unloaded bots 2025-03-30 18:16:53 +01:00
Gustas
299c9b5506 Make lobby names dynamic, incase players don't have maps 2025-03-30 18:16:53 +01:00
Gustas
30300d18bf Fix game browser tooltips being untranslated 2025-03-30 18:16:53 +01:00
Gustas
665bebc460 Fix custom bot names being untranslated in lobby 2025-03-30 10:20:35 +01:00
Gustas
385999dce9 Add sound to capturable blink 2025-03-30 03:37:48 +02:00
Gustas
13991f12c4 Fix resource area calculation 2025-03-29 16:54:48 +02:00
Gustas
b623c5aa72 Fix rallypoints not showing full target lines 2025-03-29 16:41:52 +02:00
Gustas
37b8912a91 Add missing dispose calls 2025-03-29 13:58:11 +00:00
Gustas
e7d49723ea Fix camera being in an incorrect position of first frame 2025-03-28 21:18:16 +00:00
Gustas
e2cb83436c Fix telemetry data description 2025-03-28 21:12:51 +00:00
Gustas
2b28da97f9 Fix alignment regressions 2025-03-28 21:12:51 +00:00
Paul Chote
5da2f1ba8a Implement sonic blast rendering effect. 2025-03-28 18:36:16 +02:00
N.N
3111d06fcf SonicBlast projectile
-add sonicblast projectile
- Adjust Sonic tank to match original D2k
2025-03-27 23:38:42 +02:00
JovialFeline
6340379e3d Get Fluent bot names in server list 2025-03-27 23:05:51 +02:00
N.N
e78ab81b26 Fix wrong Spread in Warheads 2025-03-23 16:11:23 +02:00
Paul Chote
e8391de36a Work around Raspberry Pi GLSL bug. 2025-03-23 15:44:11 +02:00
JovialFeline
ad3caf7e00 Add explosion effects to RA bridges 2025-03-23 10:17:31 +00:00
Matthias Mailänder
7e669013d9 Avoid a thirdparty action. 2025-03-18 14:57:58 +02:00
N.N
d9425e4119 Fix crush anim 2025-03-18 14:26:46 +02:00
Matthias Mailänder
c4756b78ae Avoid thirdparty action. 2025-03-18 14:18:26 +02:00
Paul Chote
b40b67242f Fix FlashPostProcessEffect channel order. 2025-03-18 14:09:30 +02:00
Ashley Newson
37e5b0d74c Fix CnC generated map oceans becoming debris-filled
Water is not playable in CnC, so, the map generator may fill it in if
it's not attributed to the largest playable region. This would often
happen for circular-in-water maps when DenyWalledAreas is enabled.

This change adds a step to adopt any neighboring partially playable
space (such as beaches and water) into the largest region, which is
exempt from debris filling.

The change is almost purely cosmetic, though the previous debris filling
could slightly reduce playable space (due to filling playable beach
tiles), possibly causing generation to fail. As such, map generation is
now a very tiny bit more reliable.
2025-03-18 13:58:04 +02:00
RoosterDragon
cf3e213e7d Harvesters prefer ore near to the refinery.
When searching for ore, harvesters will prefer ore close to their refinery, the dockPos. However this only works when this is set, and is was not being set when expected. Fixing this prevents harvesters moving in straight lines, particularly when the ore is to the left of the refinery, which is the default path search direction.

Fixes a regression from d0974cfdd2.
2025-03-16 10:39:15 +00:00
Gustas
f679bb1e2e Fix a potential crash when cancelling capture 2025-03-16 10:29:34 +00:00
Gustas
9c6ee3ad02 Fix tree husks on jungle tileset 2025-03-16 10:25:55 +00:00