Implement mwscript compiler for OpenMW-CS
Reasoning
Implementing a mwscript compiler for the OpenMW-CS would allow the plugins created in it to be used with the vanilla engine. Of currently (10. April 2023) the only record in the omwaddon
not present in the original esp files is LUAL
record implemented in !1947 (merged) (correct me if I am wrong. Those records currently can't be created with OpenMW-CS #6622.)
References
A reference implementation would be the MWEdit's compiler. MWEdit is licensed under GNU General Public License v2.0, which should be compatible with OpenMW. Some general info on MWEdit is available on the related UESP page. Its code is hosted on SourceForge: https://sourceforge.net/projects/mwedit/files/. It uses CVS though, so I link here two mirror repositories on GitHub:
I'd suggest inspecting the Functions.dat
file present in MWEdit's release packages.
Additional thoughts
This issue is a pre-requirement to allow the OpenMW-CS to create completely vanilla engine-compatible plugins requested in #6179. After the mwscript compiler is implemented, I think a better way forward to solving the problem introduced by #6179 would be for OpenMW-CS to have different modes: tes3 plugin editing, tes4 plugin editing, omwaddon/omwgame editing, etc.