This is correct but I also want to note that modding in Bannerlord is waaaaay easier compared to Warband even in this early stage. Because reverse-engineered or not, some parts are basically free-for-all at the moment - you can literally see what TW dev wrote in the code. Which wasn't the case for Warband - even after they released that weird-module system.
Seeing some people say stuff like "Modding support is not just something that can be slapped on at the end," in this thread just shows their ignorance. Because that's not the case in Bannerlord at the moment. Even moving from module_item.txt ( where you see magic numbers and object names ) to more structured item.xml is a huge step for modding support for many of the non-deeply technical people. Providing official modding tools in EA is another plus. Having gameplay logic accessible via certain tools ( dotPeek, dnSpy etc ) is another plus.
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 current system is more or less the same as Skyrim's module system - which was not TC friendly but "small modification" friendly. Having documents, removing internal keywords won't make life too easier for TC modders - since they will still need to completely copy-paste some of the Native code, change it or write it from scratch.
@Jance @John_M and of course,
@Callum , I'm wondering your thoughts about the following:
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.