Gustas
686040a316
Turn ModelRenderer and VoxelCache into traits
2023-09-23 19:12:51 +02:00
RoosterDragon
b7e0ed9b87
Improve lookups of nodes by key in MiniYaml.
...
When handling the Nodes collection in MiniYaml, individual nodes are located via one of two methods:
// Lookup a single key with linear search.
var node = yaml.Nodes.FirstOrDefault(n => n.Key == "SomeKey");
// Convert to dictionary, expecting many key lookups.
var dict = nodes.ToDictionary();
// Lookup a single key in the dictionary.
var node = dict["SomeKey"];
To simplify lookup of individual keys via linear search, provide helper methods NodeWithKeyOrDefault and NodeWithKey. These helpers do the equivalent of Single{OrDefault} searches. Whilst this requires checking the whole list, it provides a useful correctness check. Two duplicated keys in TS yaml are fixed as a result. We can also optimize the helpers to not use LINQ, avoiding allocation of the delegate to search for a key.
Adjust existing code to use either lnear searches or dictionary lookups based on whether it will be resolving many keys. Resolving few keys can be done with linear searches to avoid building a dictionary. Resolving many keys should be done with a dictionary to avoid quaradtic runtime from repeated linear searches.
2023-09-23 14:31:04 +02:00
RoosterDragon
231bf01f18
Fix CA1854
2023-06-20 17:57:40 +02:00
RoosterDragon
f752e04b03
Fix CA1816
2023-06-20 17:57:40 +02:00
RoosterDragon
8a285f9b19
Fix IDE0090
2023-04-08 16:51:51 +03:00
RoosterDragon
bcfa0c9ae9
Review StyleCop rules.
...
- Enforce SA1604 ElementDocumentationShouldHaveSummary.
- Enforce SA1629 DocumentationTextShouldEndWithAPeriod.
- Turn off some rules covered by IDExxxx rules.
- Remaining rules are treated as part of OpenRA style.
2023-03-18 12:46:10 +02:00
abcdefg30
5bf7fe852c
Remove the copyright year numbers
2023-01-11 11:58:54 +02:00
Paul Chote
6eb8a4568b
Allow mods to replace UnitOrderGenerator with their own default.
2022-06-12 11:57:38 +02:00
abcdefg30
6a31b1f9f3
Update the copyright header year
2022-05-28 00:35:10 -05:00
Matthias Mailänder
9d905d8291
Remove unused parameters and variables.
2021-12-06 13:19:28 +01:00
Matthias Mailänder
07815143f1
Fix CA1825 warnings on empty array initialisation.
2021-12-06 13:19:28 +01:00
Matthias Mailänder
f08a0b113e
Allow mods to customize application title.
2021-09-19 22:29:50 +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
Matthias Mailänder
1f01d0b6b1
Add a Fluent based translation system.
2021-04-24 16:49:17 +02:00
teinarss
8b0a3ea680
Remove our own impl of ReadOnlyList and update usages
2021-04-03 11:33:31 +02:00
teinarss
e12ff2c59d
Remove our own ReadOnlyDictionary and update usages
2021-04-03 11:33:31 +02:00
Paul Chote
207e09fea9
Add plumbing for mod-defined terrain loaders.
2021-01-11 21:57:55 +01:00
Matthias Mailänder
7bc17b59f5
Add a generic video player widget.
2021-01-10 10:21:17 +01:00
Paul Chote
6e7ad9df25
Remove vestigial translation plumbing.
...
This was never completed to the level required to
be properly used ingame.
2020-12-25 16:18:28 +01:00
Paul Chote
1ddbe50b3f
Add inline node inclusion support to mod.yaml.
2020-10-11 01:42:59 +02:00
teinarss
9c4fd0e3d3
Use Null-Propagation Operator
2020-08-19 18:11:07 +01:00
teinarss
27f1a7ab27
Use out var syntax
2020-08-19 18:11:07 +01:00
teinarss
c2026dc254
Add Discord Rich Presence
2020-07-12 14:27:59 +02:00
abcdefg30
23b3c237b7
Update the year numbers in all license headers to 2020
2020-01-05 17:00:34 +00:00
teinarss
9982b01642
Get the Ascender value from mod.yaml instead from the Font
2019-06-21 12:51:45 +02:00
Paul Chote
ebf2ce32c0
Make sure braces for multi-line statements are on their own lines.
2019-06-08 19:26:53 +02:00
abcdefg30
cadbd0d9ab
Change the year number in all cs headers from 2018 to 2019
2019-01-26 23:15:21 +01:00
Paul Chote
6ef802b929
Send mod title, website, and an icon URL to the master server.
...
Prefer the title returned by the master server in the games list.
2018-05-31 17:45:58 +02:00
Arular101
8a60918841
Update copyright notice year to 2018
2018-01-17 00:47:34 +01:00
Paul Chote
f98907f42e
Add HotkeyManager class.
2017-12-08 01:29:15 +01:00
Paul Chote
17089f2aee
Rename VoxelSequences to ModelSequences.
2017-06-14 18:56:06 +02:00
Paul Chote
e1cd00c1dd
Add backend plumbing for model loaders.
2017-06-14 18:56:06 +02:00
Paul Chote
0222ea675c
Implement mod-defined package loaders.
2017-05-07 13:25:38 +01:00
Paul Chote
9b93771dbc
Remove metadata that was only used by the mod chooser.
2017-04-22 11:31:43 +01:00
Paul Chote
5d5fd7a0e8
Remove RequiredMods logic.
2017-04-21 17:55:15 +01:00
Taryn Hill
43317e0f5d
Update copyright notice year to 2017
2016-12-31 23:46:13 -06:00
Paul Chote
bf4867909f
Rename Manifest.Mod -> Metadata.
2016-08-08 22:36:07 +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
abcdefg30
4e04f91992
Remove LobbyDefaults from reservedModuleNames in Manifest.cs
2016-06-19 22:14:36 +02:00
Paul Chote
b4d1517d0d
Set yaml filename when loading from FileSystem.
2016-06-04 15:23:44 +01:00
Paul Chote
8017844a15
Remove LobbyDefaults from mod.yaml.
2016-03-07 21:41:13 +00: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
ab25e26312
Add method to check if IGlobalModData exists.
2016-02-18 20:19:43 +00:00
Paul Chote
b50b2f31b5
Restore key:value syntax for MapFolders.
2016-02-15 00:44:37 +00:00
Paul Chote
a229e4253f
Implement new syntax for mod-specific filesystem requests.
2016-02-15 00:44:36 +00:00
Paul Chote
a0bc556172
Implement new syntax for package-specific filesystem requests.
2016-02-15 00:44:36 +00:00
Paul Chote
62402e0e2e
Unify static mod metadata collections.
2016-02-07 16:28:04 +00:00
Paul Chote
fcccc0f5f9
Merge mod Folders into Packages.
2016-02-01 22:49:11 +00:00