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
RoosterDragon
231bf01f18
Fix CA1854
2023-06-20 17:57:40 +02:00
RoosterDragon
f4af5c1764
Fix CA1852
2023-06-06 11:51:47 +03:00
RoosterDragon
8a285f9b19
Fix IDE0090
2023-04-08 16:51:51 +03:00
RoosterDragon
8ee6957e6a
Fix IDE0048
2023-03-01 21:56:28 +02:00
abcdefg30
5bf7fe852c
Remove the copyright year numbers
2023-01-11 11:58:54 +02:00
Mustafa Alperen Seki
c15af9f68a
Ignore nonexistent actors in D2k importer code instead of crashing.
2022-06-24 22:26:15 +01:00
abcdefg30
6a31b1f9f3
Update the copyright header year
2022-05-28 00:35:10 -05:00
Eduardo Cáceres
cae43808d9
Optimize string comparison
2022-05-18 11:42:36 -05:00
penev92
2866342522
Add missing PlayerReferences in D2k map import
2022-04-12 22:15:02 +02:00
Andre Mohren
6810469634
Updated copyright years.
2021-06-29 18:33:21 -05:00
teinarss
10676be377
Replace F extension with string interpolation
2021-05-08 22:20:59 +02:00
teinarss
4a1e4f3e16
Use expression body syntax
2021-03-07 13:00:52 +00:00
teinarss
ed295ae315
Change throw exceptions to use nameof in parameter
2021-02-28 18:43:51 +01:00
Paul Chote
53db1230ab
Move default tileset parsing to Mods.Common.
2021-01-11 21:57:55 +01:00
Paul Chote
995c33a942
Remove Ruleset.TileSet.
2021-01-11 21:57:55 +01:00
Paul Chote
2782620081
Add ITemplatedTerrainInfo interface.
2021-01-11 21:57:55 +01:00
teinarss
19b02875c7
Use Tuple syntax
2020-08-15 10:37:10 +01:00
Mustafa Alperen Seki
5b34af0f12
Change all instances of ToLower() to ToLowerInvariant()
2020-04-17 17:01:42 -05:00
abcdefg30
23b3c237b7
Update the year numbers in all license headers to 2020
2020-01-05 17:00:34 +00:00
Paul Chote
ab4a7e3558
Replace System.Drawing primitives with our own.
2019-03-04 18:26:42 +00:00
abcdefg30
cadbd0d9ab
Change the year number in all cs headers from 2018 to 2019
2019-01-26 23:15:21 +01:00
Mustafa Alperen Seki
a45e0d9d0a
Seperate Imperial and Harkonnen Sardaukars
2018-02-06 21:20:00 +01:00
Arular101
8a60918841
Update copyright notice year to 2018
2018-01-17 00:47:34 +01:00
C. Helmig
3b626e5ff7
Fixes tile error in #13047 . See comment Item in #12868 .
2017-06-07 18:54:39 +02:00
Paul Chote
df40d38b91
Rework read/write zip file loading/saving.
2017-05-29 12:20:32 +02:00
Paul Chote
0222ea675c
Implement mod-defined package loaders.
2017-05-07 13:25:38 +01:00
abcdefg30
80f4feeab3
Let the map importer account for duplicate tiles
2017-03-17 20:00:18 +01:00
Mustafa Alperen Seki
a1d349ee38
Make map importer use spicebloom.spawnpoint instead of spicebloom
2017-01-15 20:17:50 +02:00
Taryn Hill
43317e0f5d
Update copyright notice year to 2017
2016-12-31 23:46:13 -06:00
RoosterDragon
9f1c872340
Improve some exception types.
2016-09-11 15:14:44 +01:00
Paul Chote
3df9efb95d
Rework mod enumeration / caching.
...
- Replaced ModMetadata.AllMods with Game.Mods.
- Store / reference mod Manifest instead of ModMetadata.
- Removes engine dependency on ModContent class.
2016-08-08 22:36:07 +01:00
Paul Chote
45a596953e
Add a Utility class and update command interface.
2016-08-08 22:23:16 +01:00
Paul Chote
c706e68b73
Rework zip file updating.
2016-07-01 21:58:26 +01:00
Paul Chote
4a7ef68b39
Remove Map.SpawnPoints.
2016-03-18 20:16:25 +00:00
Paul Chote
65df25b1a4
Remove lazy loading of binary map data.
2016-03-18 20:16:24 +00:00
Paul Chote
82a9d69a51
Remove RulesetCache and push rule parsing to background thread.
2016-03-11 21:18:32 +00:00
Paul Chote
a3b1baa654
Extract default TileSet/Sequence dictionaries to ModData.
2016-03-11 21:18:32 +00:00
Paul Chote
617113fa86
Rework IReadWritePackage interface.
2016-02-28 10:18:50 +00:00
Oliver Brakmann
4f1fa3acec
Merge pull request #10786 from pchote/mappreview-packages
...
Remove internal use of map paths.
2016-02-23 22:52:54 +01:00
Paul Chote
e71225496b
Clarify GPL version.
2016-02-21 16:30:48 +00:00
Paul Chote
b396965fd9
Update licence header year.
2016-02-21 16:27:31 +00:00
Paul Chote
226081d379
Remove map saving shim method.
2016-02-21 16:11:36 +00:00
Paul Chote
573e26c887
Load and save maps using packages.
2016-02-21 16:11:35 +00:00
Paul Chote
b347fade71
Use IReadOnlyFileSystem in artwork loaders.
2016-02-18 18:12:31 +00:00
Matthias Mailänder
4012433e10
test and correct the ActorDataByActorCode
2016-01-10 21:56:26 +01:00
Oliver Brakmann
d4863badb6
Merge pull request #9397 from Herve-M/feat-utility-polish
...
Add basic arguments validation
2015-10-06 19:23:23 +02:00
Herve-M
1485dd1675
Add basic arguments validation
2015-10-03 17:21:21 +02:00
reaperrr
e913fbcb3f
Enable no-stealth fremen in map importer
2015-09-26 15:17:19 +02:00
Pavel Penev
0494ffa120
Update the D2k map importer
2015-09-10 19:26:56 +01:00