RoosterDragon
3275875ae5
Fix CA1851
2023-08-20 20:41:27 +02:00
Gustas
d0974cfdd2
Abstract docking logic from Harvester and Refinery
2023-08-08 14:48:59 +02:00
RoosterDragon
285443f10f
Fix CA1310, CA1311
2023-08-07 21:38:09 +02:00
RoosterDragon
d83e579dfe
Fix CA1305
2023-08-07 21:38:09 +02:00
RoosterDragon
486a07602b
Fix CA1304
2023-08-07 21:38:09 +02:00
RoosterDragon
949ba589c0
MiniYaml becomes an immutable data structure.
...
This changeset is motivated by a simple concept - get rid of the MiniYaml.Clone and MiniYamlNode.Clone methods to avoid deep copying yaml trees during merging. MiniYaml becoming immutable allows the merge function to reuse existing yaml trees rather than cloning them, saving on memory and improving merge performance. On initial loading the YAML for all maps is processed, so this provides a small reduction in initial loading time.
The rest of the changeset is dealing with the change in the exposed API surface. Some With* helper methods are introduced to allow creating new YAML from existing YAML. Areas of code that generated small amounts of YAML are able to transition directly to the immutable model without too much ceremony. Some use cases are far less ergonomic even with these helper methods and so a MiniYamlBuilder is introduced to retain mutable creation functionality. This allows those areas to continue to use the old mutable structures. The main users are the update rules and linting capabilities.
2023-08-07 21:57:10 +03:00
Gustas
462a3ef3c0
Make yaml node resolving optional
2023-07-30 20:39:21 +02:00
Gustas
42baa0c42f
Rename update rule folder to 20230225
2023-07-26 20:00:54 +02:00
Gustas
9d8f0634b1
Revert color validator
2023-07-26 20:00:54 +02:00
Gustas
4cd4e1f8ea
Move PlayerExperience from Infiltrates to InfiltrateFor
2023-07-25 21:15:14 +02:00
RoosterDragon
f4af5c1764
Fix CA1852
2023-06-06 11:51:47 +03:00
Gustas
c82be175e1
Add RemoveNegativeSequenceLength update rule
2023-06-02 11:59:22 +02:00
abcdefg30
95f18d4bc3
Fix the ExplicitSequenceFilenames updating sequences twice
2023-05-30 16:31:49 +03:00
abcdefg30
8c9cc93185
Fix the ExplicitSequenceFilenames rule breaking when updating single maps
2023-05-30 16:31:49 +03:00
Gustas
44f1af7059
Move TileScale to MapGrid
2023-05-02 16:37:30 +03:00
Gustas
7ef1dccdcf
Add ContrailEndWidth
2023-04-21 17:58:42 +02:00
darkademic
265f915442
Resurrected old colour picker.
2023-04-08 18:05:20 +03:00
RoosterDragon
8a285f9b19
Fix IDE0090
2023-04-08 16:51:51 +03:00
RoosterDragon
023d80b94d
Fix IDE0057
2023-04-08 16:51:51 +03:00
RoosterDragon
83561d639d
Update LangVersion to C# 9.
...
mono was the bottleneck restricting our ability to use a newer C# version. mono 6.12 is currently available. Although poorly documented on their website, this supports C# 9. https://www.mono-project.com/docs/about-mono/versioning/#mono-source-versioning indicates mono 6.12 uses Roslyn 3.9.0. https://github.com/dotnet/roslyn/blob/main/docs/wiki/NuGet-packages.md#versioning indicates Roslyn 3.9.0 supports C# 9.
This unlocks C# 8 and C# 9 features previously unavailable to us.
- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history#c-version-80
- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history#c-version-9
A newer version of StyleCop is required to avoid rules tripping up on the new syntax. Currently only prerelease versions are available but their use is encouraged https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/3420#issuecomment-994899135
Fix style rule violations on existing rules where the newer language version makes some existing casts redundant or allows use of the null coalescing assignment operator.
2023-04-05 15:27:41 +03:00
abcdefg30
cb8921dc22
Fix the sequence filename update rule node placement
2023-03-11 20:56:32 +01:00
Paul Chote
992ba1a9a2
Remove HasEmbeddedPalette from sequences.
2023-03-10 20:11:33 +02:00
Matthias Mailänder
37afd6094e
Rename GiveMcvCrateAction to GiveBaseBuilderCrateAction.
2023-03-07 12:53:31 +02:00
RoosterDragon
53e9f44972
Spelling fixes
2023-03-02 20:11:54 +02:00
abcdefg30
65e28d5562
Retire the release-20200202 update path
2023-03-01 20:02:01 +01:00
RoosterDragon
555aac3f64
Fix IDE0042
2023-02-28 21:21:40 +02:00
Gustas
8d0fe52dd8
Remove unnecessary parentheses
2023-02-27 08:36:47 +02:00
Gustas
049d0283f9
Remove TiberianSunRefinery
...
Also add IDockClientBody interface,
move WithDockingOverlay cnc -> common,
remove HarvesterDockSequence implementing classes
2023-02-18 16:35:15 +01:00
abcdefg30
4a554431ff
Remove redundant jumps and other style nits from the update rules
2023-02-18 00:41:07 +02:00
michaeldgg2
ca7e7c2304
ProductionTabsWidget: allow specifying different panels for left/right scroll button and tab buttons.
2023-01-27 12:30:38 +02:00
penev92
474de014f8
Move RenameEngineerRepair to its proper folder
2023-01-25 12:00:57 +01:00
Matthias Mailänder
f67b6f6cad
Give EngineerRepair(able) more generic names
2023-01-24 23:26:14 +01:00
Paul Chote
5b8f148c50
Simplify tileset-specific sequence definitions.
...
All magic behaviour for constructing sprite filenames
has been removed in favour of an explicit Filename
(and TilesetFilenames for tileset-specific sequences)
property.
2023-01-22 22:10:48 +02:00
abcdefg30
5bf7fe852c
Remove the copyright year numbers
2023-01-11 11:58:54 +02:00
Gustas
80b92fb667
Fixed UnhardcodeBaseBuilderBotModule update rule
...
Update rules should should not read `modData.DefaultRules`
2023-01-10 18:02:24 +02:00
Gustas
29d21545a6
Fixed UnhardcodeSquadManager update rule
...
Update rules should should not read `modData.DefaultRules`
2023-01-10 18:02:24 +02:00
penev92
15fe2d5594
Added an update rule for adding ControlGroups
2023-01-10 00:15:00 +01:00
penev92
e3e012a9ed
Added an update rule for DomainIndex removal
...
Also for adding the new HPF-related PathFinderOverlay and HierarchicalPathFinderOverlay that were added at the same time.
2023-01-10 00:15:00 +01:00
Ivaylo Draganov
614603089e
Define and measure duration for text notifications in milliseconds
...
During a game notification duration should be the same regardless of
game speed. Switch to using wall-clock time defined in milliseconds
instead of game ticks. Also use the opportunity to rename the field
to "Duration" because "RemoveTime" is not so clear.
2022-12-15 23:28:46 +01:00
Gustas
64908c8e70
Fix RenameContrailProperties UpdateRule
2022-11-03 23:35:57 +01:00
Matthias Mailänder
6bd631618c
Remove unnecessary value assignment (IDE0059)
2022-10-01 14:15:33 +03:00
Gustas
1809817b3f
Add ContrailEndColor and Contrail transparency control
2022-09-24 13:19:22 +02:00
RoosterDragon
70c2ec15d3
Change spaces to tabs.
...
To follow code style.
2022-09-19 23:36:30 +02:00
abcdefg30
f88b6d78ff
Move update rules from 20201213 to 20210321
2022-09-10 17:52:19 +02:00
Mustafa Alperen Seki
54340591e3
Unhardcode VeteranProductionIconOverlay.
2022-08-16 15:08:51 +03:00
dnqbob
8d3ff9d2fc
UnhardcodeBaseBuilderBotModule rule update
2022-08-03 11:22:59 +02:00
abcdefg30
90ea611cee
Rename the 20201213 update rules directory to 20210321
2022-07-05 16:44:17 +02:00
Paul Chote
2037e37d4e
Replace Sequence EmbeddedPalette with HasEmbeddedPalette.
2022-07-02 14:10:52 +03:00
penev92
07db77fb8d
Fix RemoveTurnToDock update rule
2022-06-24 21:16:26 +01:00
abcdefg30
6a31b1f9f3
Update the copyright header year
2022-05-28 00:35:10 -05:00