Commit Graph

30605 Commits

Author SHA1 Message Date
dependabot[bot]
915ad36ddc Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 15:03:29 +01:00
Ashley Newson
56e6a9e6dc Improve MultiBrush collection shorthands
This expands upon the limited FromTemplates MultiBrush collection
shorthand:

- Adds a corresponding FromActors shorthand.
- Allows FromTemplates and FromActors to mix in additional properties,
  such as weights and backing tiles.
- Updates the MultiBrush collections used across the official mods to
  make use of these shorthands.

Note that this reorders some MultiBrush definitions for
conciseness. This partially (cosmetically) re-randomizes map generator
output.
2025-11-16 21:01:29 +02:00
RoosterDragon
bc1a901f54 Add tests for FieldLoader and FieldSaver
Test coverage for these classes will help prevent regressions. Major breaking changes are avoided since config files may already rely on various aspects of the behaviour, but some small breaking changes are made:

- Use `value.Split(Comma, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)` consistently for all comma-separated parsing.
- Rename LoadField to LoadFieldOrProperty for clarity - since this is the one method that cares about properties in a class otherwise focused only on fields.
- Use TryParse instead of Parse and ensure to call InvalidValueAction from all parsers so we throw the intended exception when badly formatted data is encountered.
- BooleanExpression/IntegerExpression exception message updated to align with the generic one.
- Remove FromYamlKey, and update the only user SkirmishLogic to perform this logic manually instead.
- Remove unused includePrivateByDefault parameter on GetTypeLoadInfo.
- Remove unused AllowEmptyEntriesAttribute.
2025-11-16 20:52:54 +02:00
RoosterDragon
7d0340ad41 Add new .NET 10 rules to editorconfig. 2025-11-16 20:29:21 +02:00
RoosterDragon
42ac32dace Fix CA1515 2025-11-16 20:29:21 +02:00
RoosterDragon
24c19f64c9 Fix IDE0350 2025-11-16 20:29:21 +02:00
RoosterDragon
af326bfeb8 Fix IDE0031 2025-11-16 20:29:21 +02:00
RoosterDragon
3745377387 Fix IDE00007 2025-11-16 20:29:21 +02:00
dnqbob
0ed00a5766 increase McvExpansionManagerBotModule enemy base avoidance weight 2025-11-10 19:27:53 +02:00
Ashley Newson
6f6d039650 Fix Path Tiler UI positioning for RectangularIsometric
The on-map path editor for the Path Tiler had incorrect offsets and
direction markers when used with a RectangularIsometric grid. This
fixes the grid alignment.

Note that map height information is currently ignored by the tool.
2025-11-10 17:29:11 +02:00
Ashley Newson
2359dce21b Relax TilingPath constraints on segments that don't make immediate progress
The TilingPath algorithm previously rejected placing segments that do
not make immediate progress, unless they faced towards positive
progress.

However, there are cases in some mods where zero-progress segments
that end facing towards neutral progress are needed to arrive at a
tiling solution. This change allows these neutral progressions, so
long as they aren't for single-point segments.
2025-11-10 15:46:52 +02:00
Ashley Newson
fd5e05ca6b Fix rare PointsChirality infinite loop
Under some inputs, MatrixUtils.PointsChirality could enter into an
infinite loop consuming memory until an OOM occurs. This was due to
the FloodFill-based operation endlessly propagate zero values.

This adds a defensive check to prevent propagating zero values.
2025-11-10 15:40:44 +02:00
Paul Chote
3177de7b2c Add OnBuildingPlaced lua trigger. 2025-11-10 15:24:12 +02:00
Gustas
eb550bbbbb Allow to extract translations from a single map 2025-11-09 19:52:25 +02:00
Gustas
7004b552c9 Add ActorMapOverlay 2025-11-07 13:04:12 +02:00
dnqbob
3f19c81392 Fix suqadmanager crashing on ProtectOwn 2025-11-06 17:05:58 +02:00
Gustas
a62b085f1d Add a name to the server thread 2025-11-04 21:43:18 +02:00
Gustas
a514f3a388 Make map grid immutable 2025-11-04 21:41:31 +02:00
RoosterDragon
ebae15a9fe Fix sprite sequence docs failing to lookup property names.
When SpriteSequenceField was changed to a record struct, the field lookups needed to be changed to property lookups.

Fixes regression from 36660b89e9.
2025-11-04 14:39:06 +02:00
Paul Chote
10db26fa0b Disable lobby options tab if options aren't yet known. 2025-11-03 14:03:35 +02:00
Paul Chote
47105e42cd Populate lobby options when map status changes. 2025-11-03 14:03:35 +02:00
Matthias Mailänder
2cb1e5f8c5 Allow unsigned builds in private forks. 2025-10-31 19:09:21 +01:00
Matthias Mailänder
79288c6ee3 Move code signing into production. 2025-10-31 19:09:21 +01:00
Gustas
93dc94c1a0 Add RemoveAlwaysVisible to update path 2025-10-31 19:43:05 +02:00
dependabot[bot]
79765004fc Bump signpath/github-action-submit-signing-request from 1 to 2
Bumps [signpath/github-action-submit-signing-request](https://github.com/signpath/github-action-submit-signing-request) from 1 to 2.
- [Release notes](https://github.com/signpath/github-action-submit-signing-request/releases)
- [Commits](https://github.com/signpath/github-action-submit-signing-request/compare/v1...v2)

---
updated-dependencies:
- dependency-name: signpath/github-action-submit-signing-request
  dependency-version: '2'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-31 16:25:48 +01:00
Gustas
08d07eeb06 Fix bot traits crashing on missing ResourceMapBotModule 2025-10-31 14:01:18 +02:00
dependabot[bot]
4cd1b4e208 Bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-31 13:37:18 +02:00
dnqbob
bb2a44705f Fix McvExpansionManagerBotModule on CheckCurrentLocation mode. 2025-10-31 13:19:05 +02:00
Robert Nordan
70243850b1 Make WavReader handle buggy Wav Files more robustly
This change makes WavReader correctly read the chunk size of a
chunk as an unsigned int, and cleans up the inconsistent logic around
checking chunk sizes. It also attempts to handle buggy/chopped off
Wav files where the reported data chunk size is larger than the actual file.

Also adds Robert Nordan to AUTHORS file.
2025-10-21 20:15:20 +03:00
Gustas
dff7cd3bbf Fix aircraft failing to reload 2025-10-21 10:05:02 +01:00
dnqbob
24a09a94fe Airstate danger avoidance: check the aircraft nearest target actor, instead of target actor 2025-10-20 16:22:31 +03:00
N.N
8144c5684e fix HasAdequateRefineryCount blocking unit building 2025-10-20 15:47:52 +03:00
N.N
315b26e85c fix harkonnen logo 2025-10-18 18:40:12 +03:00
dnqbob
ea775ab824 Correct and add comments for expansion related 2025-10-16 22:24:18 +03:00
dnqbob
1c693a2c4b Fix bot MCV not persisting when failed to deploy. 2025-10-16 22:24:18 +03:00
N.N
41123d0520 Add damaged VFX for D2k buildings 2025-10-16 21:50:44 +03:00
Gustas
d26b9a10ed Add WithDamageOverlayPropertyRename update rule
Also make trees, ships and vehicles burn a random duration
2025-10-16 21:50:44 +03:00
Gustas
58088ecabe Add a HasChild helper command 2025-10-16 21:50:44 +03:00
Gustas
a2a7b30727 WithDamageOverlay refactor
Rename IdleSequence to StartSequence
Allow WithDamageOverlay to loop multiple times.

- unhardcode StartSequence and EndSequence
- add inital delay to WithDamageOverlay
- make WithDamageOverlay conditional

.
2025-10-16 21:50:44 +03:00
JovialFeline
3dcbdaa56e Add grace period & polish to Situation Critical 2025-10-16 11:45:39 +03:00
dnqbob
0fb42b39d9 Fix Airstate indice check:
1. the indice square should be the inscribed square of DangerScanRadius circle.

2. Use Map Bounds instead of Map Size
2025-10-15 20:58:57 +03:00
N.N
dc2fa932ea fix typo in encyclopedia 2025-10-15 20:14:52 +03:00
Vapre
d08d03274b Avoid occasional 'busy wait' for next render time in main loop. #18491 2025-10-15 16:49:00 +03:00
JovialFeline
b6495113c4 Fix extra prereq for D2k pad/MCV in missions 2025-10-15 10:50:38 +03:00
JovialFeline
de78f4130b Add Proving Grounds (RA) 2025-10-15 10:27:08 +03:00
N.N
a16486fbfc add ResourceMapBotModule 2025-10-14 14:28:31 +03:00
N.N
9b94796a32 Update Encyclopedia 2025-10-12 17:58:19 +03:00
N.N
76b8a949e1 balance patch 2025 2025-10-12 17:58:19 +03:00
dnqbob
b0514bdb87 Bot protection squad: try attack long range unit even not visible 2025-10-12 17:10:01 +03:00
dnqbob
961702d818 Bot mcv expansion: 1. Add ResourceMapBotModule. 2. Add McvExpansionManagerBotModule. 3. Give BaseBuilderBotModule better control over refinery. -- allow bot sell refinery too close. -- allow bot sell refinery far away from resource. (requires ResourceMapBotModule) -- allow bot recieve refinery construct requirement. 4. Give BaseBuilderBotModule control of expansion timing. (requires McvExpansionManagerBotModule) 5. Remove unused VehiclesFactoryTypes and useless BarracksTypes (now all use ProductionTypes). 6. Give HarvesterBotModule ability of order harvesters in low resource area to high resource area. 2025-10-12 17:10:01 +03:00