That being said, I'd like to say more about my feelings towards your scripts:
- compared to let's say mapScript or missionScript, your scripts are much more advanced... slowly approaching the status of programming language, not just script
- they give enormous power... but I am afraid that currently you are the only one who can write them
- in my professional life, I have also created (or at least helped create) two such scripting engines for our customers, because their requirements were to be as flexible as possible and change for example some calculations on the fly without having to upgrade our software... at the end, both cases are a disaster... even though there are IT people there, nobody (and I mean nobody!) has learned the scripting language and writing of scripts ended up being our responsibility... the same may happen to you, just saying; also from time to time some individuals give it a try and most likely break it... and then they blame us that our software doesn't work... without telling us that they have changed the scripts of course.
Scripts are programing languages
And right now I heavy limit that what scripts are capable of and when they can do it. I primary do this to made harder break everything with script misuses.
You say that new corpse graphic by Ivan is a great example... but as far as I know, you have actually written the script for Ivan, not Ivan himself. Anyone who can write that script, can also change the source code to do the same functionality, even with less code than in the script (I guess I could do the alt corpses with less than 20 lines of C++ code).
Yes, I write most of this script for him.
Before 3.0 where was build in version of alt corpse, and I deliberate remove it and replace it by scripts.
Even if only I will write new scripts I would still do it. Is more flexible and allow injecting custom logic even if is harder to use than code.
Personally, I am adding new functions only if I am convinced that they will be used by someone... that's why I mostly add stuff requested by Dioxine and Solar... because I know they would use it... and mostly ignore stuff from fantasies of other people (like Surrealistic for example... btw. I am still waiting for that alpha chryssalid mod, if you're reading this). And writing a cool scripting engine, which nobody will be able or willing to use, is a scary thought for me. And I speak from real experience.
I definitely didn't want to discourage you from any of the work you are doing now... just warning you what might happen... be prepared for it. I hope somebody will use it, it will be a huge success and I will be proven wrong.
Primary reason for scripts is to fulfill people fantasies and keep this crap far from source code
Something like multiple vision modes, you dislike it and don't want implements all possible versions, I fully agree. I would dislike too implementing it in source code, but as scripts? Why not? Even if results is broken and hacky from source code perspective it look same as normal functionality.
This.
I don't think it would eliminate the problem that Meridian described, but at least we could try.
And yes, scripting can be ignored in favour of changing the source code, but at least it doesn't involve compilation.
Some basics are in
https://github.com/Yankes/OpenXcom/blob/OpenXcomExtended/Extended.txtList of available things is in log file with debug on. This is not close to documentation but probably enough to do some simple things.
Best would be if you say what you would want know now. Because writing full documentation will take some time to do it and I think would be better to focus on things needed right now.