I mentioned this before but for Total Conversion mods, the best thing to do for TW would be separating the copyright/sensitive code from the gameplay logic DLL's and then publishing the entire Gameplay source in Github or any other place. This might be daunting for TW to do at the beginning but It comes with several pros, rather than cons.
- With this way, Total Conversion modders can simply download the entire gameplay logic as a VS project solution, do their tweaks, change whatever they want, built it from that and name it MyCoolNative2 and tell players to use only that module in module folders.
- With this way, you wouldn't have to patch anything, you wouldn't need to reverse engineer it and you wouldn't be "angry" about hardcoded stuff since everything will be accessible. TW also wouldn't need to change their unorthodox style and continue what they are doing.
- With this way, community could make PR's to populate/comment on methods and help out the documentation. Also since it will be a Git comparer, seeing module system v1 to v2 changes would be extremely easy to track by modders - they can even argue about certain changes in merge-pull request branches if this goes too complicated in the future.
Sounds positive, but the game uses more than just "Native", a lot of the problems come from the storymode and sandbox modules. Not sure how practical it would be, if TW would have to release all of the modules or if the game could work fine with a single custom module.
I don't see how that would help with hardcoded stuff as things like skins(man,women,child) are assigned through the engine, not the native or storymode modules.
TW has already released the sandbox mode, which disables some of the storymode features allowing a base that ignores much of things many mods just want no part of. Which might be in the right direction, I just don't know how much work we can expect TW to put into this.
OP and overall the letter has valid points as I said in my first post. However, they are missing the fact that, currently, the module system doesn't look like it's designed to support Total Conversion mods anyway. I mean game literally enables Native + SandBox modules by default and makes it impossible to disable it from Launcher UI.
The points are not missed, it's kind of the focus of the letter. Its just the letter was made with the knowledge of deliberate choices, not chance or bad practice as you suggest.
If the game is made fundamentally with total conversions in mind, by opening up internal and sealed classes and with less constant values, or the suggestion you make, that'd be great sure. But it currently isn't the case, choices were made to be "small modification" friendly.