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
f4af5c1764
Fix CA1852
2023-06-06 11:51:47 +03:00
Matthias Mailänder
68eec52cef
Add TranslationProvider
2023-04-22 19:23:41 +02:00
RoosterDragon
164abfdae1
Fix IDE0083
2023-04-08 16:51:51 +03:00
RoosterDragon
bd2b3d9793
Fix IDE0074
2023-04-08 16:51:51 +03:00
RoosterDragon
d4135d608e
Fix IDE0039
2023-02-27 10:09:11 +01:00
Matthias Mailänder
7cdc8c4ec5
Add a quick save button to the map editor.
2023-01-23 14:13:19 +02:00
abcdefg30
5bf7fe852c
Remove the copyright year numbers
2023-01-11 11:58:54 +02:00
Ivaylo Draganov
a0f17b15ec
Refactor translation files
...
- Add prefixes to all message keys to provide context
- Use messages with attributes for some UI elements (dropdowns, dialogs, checkboxes, menus)
- Rename some class fields for consistency with translation keys
2022-12-19 22:04:54 +13:00
Matthias Mailänder
760a1245c5
Mark non-moddable translation strings as constant.
2022-12-07 18:40:26 +02:00
Zachary Schirm
1339faa5f4
Disallowed Save Map without Title and Author Input
2022-09-13 18:48:21 +03:00
Matthias Mailänder
0b67b5bfae
Extract translation strings.
2022-09-02 14:41:24 +03:00
Gustas
11a2e6e19b
Add more confirmation dialogue to the map editor
...
When saving on top of another map, or when saving on a map that has been edited outside the map editor
2022-08-29 12:31:01 +03:00
Gustas
3ab6d3f00a
Remove map editor debug message
2022-08-17 23:29:11 +02:00
Matthias Mailänder
2c8c6e50da
Code cleanup
2022-08-14 16:11:51 +02:00
Eduardo Cáceres
2677e9c013
Use pattern matching
2022-05-18 11:42:36 -05:00
Gustas
b254eb0f3d
Add dynamic map refresh
2022-04-14 16:16:38 +02:00
Matthias Mailänder
cd1fe2d23b
Fix saving into writable system directories.
2022-01-30 11:46:42 +01:00
RoosterDragon
727084c5fc
Run spell check over solution
2021-12-05 19:23:43 +01:00
Andre Mohren
6810469634
Updated copyright years.
2021-06-29 18:33:21 -05:00
teinarss
d60c05eff3
Change to use pattern matching
2021-03-27 17:29:20 +01:00
Paul Chote
d52ba83f96
Replace terniary null checks with coalescing.
2021-03-08 18:11:25 +01:00
Paul Chote
1dd5b113c7
Fix asset browser and map editor paths for SDK-based mods.
2020-11-22 16:42:46 +01:00
abcdefg30
23b3c237b7
Update the year numbers in all license headers to 2020
2020-01-05 17:00:34 +00:00
abcdefg30
19b2cb0afb
Log the stack trace when map saving fails
2019-03-08 21:21:10 +01:00
abcdefg30
cadbd0d9ab
Change the year number in all cs headers from 2018 to 2019
2019-01-26 23:15:21 +01:00
Arular101
8a60918841
Update copyright notice year to 2018
2018-01-17 00:47:34 +01: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
rob-v
63de0bb910
Fix ignored 'Failed to save map' #13036
2017-04-22 14:44:06 +02:00
Taryn Hill
43317e0f5d
Update copyright notice year to 2017
2016-12-31 23:46:13 -06:00
reaperrr
f12e0d498c
Merge pull request #11771 from pchote/split-content-files
...
Rework mod enumeration and split content metadata into their own files.
2016-08-18 14:59:51 +02: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
Oliver Brakmann
207f0d2056
Allow saving maps with multiple visibility options
2016-08-08 23:14:06 +02:00
Paul Chote
c706e68b73
Rework zip file updating.
2016-07-01 21:58:26 +01:00
Paul Chote
01a14d9ae5
Move mission briefing to rules.
2016-03-07 21:41:14 +00:00
Paul Chote
293b6202ef
Add support for oramod packages.
2016-02-28 20:30:40 +00:00
Paul Chote
be52c1cb72
Properly use the virtual filesystem for map loading and saving.
2016-02-28 19:27:33 +00:00
Paul Chote
617113fa86
Rework IReadWritePackage interface.
2016-02-28 10:18:50 +00:00
Paul Chote
84b470017f
Remove static Game.ModData references from widget logic.
2016-02-23 23:34:34 +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
d492c23a6d
Store map packages in MapPreview.
2016-02-21 16:11:36 +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
02ab54c9bc
Load MapPreview data without initialising a full Map.
2016-02-18 20:19:44 +00:00
Paul Chote
102880c80f
Use the virtual filesystem to resolve MapFolder paths.
2016-02-15 00:44:36 +00:00
RoosterDragon
8e89a6a696
Simplify names, remove unused usings, remove redundant casts.
2016-01-17 21:35:36 +00:00
Matthias Mailänder
bf2513407a
fix a crash on new map creation
2016-01-01 16:47:15 +01:00