As I can remember, several months ago TW has said that they will release API for vanilla BL files in the future, are the documents released now? If so, where can I find those documents?
ah, I might be using false term, usually confused about those terms. I mean annotations and documentations(both overall and in-line) for functions and codes.I'm not sure I know what you mean by API. What are you trying to modify specifically?
def nn_update(model, eta): """ Update NN weights. :param model: Dictionary of all the weights. :param eta: Learning rate :return: None """
I have read some of them. I cant say I have checked all availiable .dll files, but among all the files I have read, I did not find any documentaion/annotations there, neither in-line or at the beginingHave you taken a look at the game code with a C# decompiler?
I know we cant easily reference TW DLLs for making mod, but have a clear look on it will significantly help increase efficiency of modding process and compatibility of mods.Modding for BL is not simply referencing Taleworlds DLLs and using those DLLs like you would do for most of the software projects. Modding would be cleaner and less painful in this scenario but it also limits people and code itself is nowhere there yet. And that's why even if they add annotations ( more specifically, generate XML documentation for the assembly ) you still won't get much information out of it because you still need to use decompiler for your "patches"
If you had a chance to reference the actual source code of the TW gameplay codes, then you would be able to do everything you want to do + read the code easily without using dirty tricks like dnSpy or dotPeek. If they had summaries for their functions that would also work out of the box without requiring them to generate XML for the summaries. So for that, you usually require open-sourced code so that you can have all the summary/comments for that and simply hover over to learn more about it. But I asked this question in here and then it become a thread in here which is rejected by TW.
What TW is saying by "API documentation" will be similar to this -> Example CampaignBehavior But this is community documentation and it's far more detailed than TW's documentation at the moment. And you can't simply rely on the documentation without decompiling the actual code since it's changing and names/usages are very very very vague in many cases.
Tl;dr: No documentation or whatsoever is released yet. You need to decompile the codes and read/understand on your own and then use that knowledge for your mod until the next patch arrives and then hope that previous knowledge is still relevant and not changed by TW.
I don't think the first one is the case, because if this is not defined in their task DoD, then it's not a requirement and they don't have to do that. Even if you are a top-notch engineer, you wouldn't do something outside of the scope of your sprint and enforce your own set of rules. Why this is not in their task DoD is another story though. Only their Tech Leads or PM can answer that, if they have such roles.1. TW programmers are so bad that they can even fulfill this basic requirement, or 2. TW are not even trying to help improve quality of life for the modding community, even though their game relies heavily on work of the modding community.
hmmmmm, refer to my own programming experience, primary purpose of annotations(at least in-line annotations) is improving quality of life for the writers, not something about DoD. I originally start to wrote those annotations because of school marking scheme; but as time goes on, I keep doing so even though I no longer need to worry about such thing. Those annotations helps me a lot when I want to modify or review my code later, and thus improve my quality of life as programmer.I don't think the first one is the case, because if this is not defined in their task DoD, then it's not a requirement and they don't have to do that. Even if you are a top-notch engineer, you wouldn't do something outside of the scope of your sprint and enforce your own set of rules. Why this is not in their task DoD is another story though. Only their Tech Leads or PM can answer that, if they have such roles.
So this might be the case? If a programmer do not need to maintain his/her own code after completion, or programmer team of TW are changing fast and no programmer will stay in TW for a long time, annotations are useless for the writers if not specified in DoD.I think we have substantial evidence that they are working in a chaotic environment and many things are not well-planned but rather ad-hoc things
hmmmmmm, not mod-friendly, I mean reader-friendly. The writers will also become readers when they need to modify or review the codes. This is the same as above.So expecting a mod-friendly coding style from them wouldn't be logical.
I will try later, has been waiting for officials documentations since EA release.If you want them to generate an XML documentation for assembly ( so that you can hover over for function descriptions ) I think you should open a suggestion thread rather than question one in Q&A. Suggestion threads are checked by Dejan ( I guess ).
That's only you, though. Not everyone is working with the same principles. You can, however, enforce your entire team to do this if you define that as DoD. Otherwise, you have to be a positive thinker to assume that ~50 devs from different backgrounds will do it exactly how you wanted.. I originally start to wrote those annotations because of school marking