expand wiki
- [ ] explain mod.json
- [ ] explain mod dependencies and priority
- [x] explain YAML (yml) patches
- [x] explain expression DSL in yml patches
- [ ] explain texture asset overrides
- [ ] general explanation of dw2bm and direct to that wiki
Hey there, my dad plays this and I am a (mainly) .NET dev. I've managed to get a C# mod running yesterday evening by looking through the code and try-and-error and could provide some starting wiki (from my point of view). I want to build a cli tool that parses the DSL for a overview of changes, so I will look into the DSL/YAML, anyways.
Could you provide a starting point or some "please do it this way" how you intend to fill the wiki or where to look for the information at best (besides just searching in the C# projects/classes like the .Dsl.DslBase).
Maybe this could also be improved by explanation and assertion through unit tests (parse YAML/DSL - examples)? I see a starting point but no real test yet.
Edit: This of course requires the "API" to be considered stable and not change in minor/patch versions frequently.
I need to generate some YAML/JSON schema first, then generate some stuff for the DSL. I created another issue to track that.
You'll probably need to browse the metadata in the reference assemblies in ref/ to locate the types handled by content patching YAML (like in DistantWorlds.Types), you can find those types referenced in GameDataDefinitionPatching.cs. The syntax for the DSL is mostly defined in DslBase.
Thanks for your time and support.
I'll get some DSL tests going at some point. :)
@Tyler-IN This wiki page seems redundant, remove? https://github.com/DW2MC/DW2ModLoader/wiki/YAML-syntax-and-why-you-keep-getting-errors-on-loading. YAML syntax and why you keep getting errors on loading.
The same is written here (with better format): https://github.com/DW2MC/DW2ModLoader/wiki/How-for-format-your-YAML-files How for format your YAML files
Okay, I think I've messed something up (sorry in advance). I did not think that the wiki page was public to edit/delete and thought it would prompt me to "create a pull request" like for all other changes in GitHub (and other projects don't even have the delete button).
I have accidentally deleted the referenced wiki page. I still have the content (backup on my device) if removing the page was not wanted. As stated above I think the page was redundant but please tell me should I recover/recreate the page?
It's fine. The duplicate was me trying to help with syntax by reformatting as an example.
The schema currently links to pages that don't exist in the wiki, starting an initiative to flesh it out.