Hi,
Dynamic reloading of the package directory would be great!
in objdef you can define params that are given to the script.
You must referring to this?
"parameters" : "",
So in theory, I should be able to compile my C++ addon to a DLL and place it in the Anteworld/plugin folder, e.g. obj_editor_plugin.dll, and access it through a UI which will be launched once the world loads?
I was also thinking about a material editor. It should include the ability to select an object in the world, look up and parse the material file specified in the objdef, load the parameters of each material into the UI and reload a live preview. With dynamic reload, each time the material file is saved, the object would be reloaded, so that shouldn't be an issue at all. It would simply be a matter of parsing the mtl file, modifying the parameters and saving the changes. Sounds easy enough!!!
In-engine graphical editors may actually be the new direction for configuring all of the files, including those of the flight model. It would necessitate a built-in-self-test for each file type, especially for the XML files in the FDM, to prevent the file from being saved/reloaded if there is a syntax error, which may potentially generate a crash to desktop.
For each editor, there would need to be both a graphical and text editing mode, maybe even side-by-side.
With these tools you would never have to leave OT throughout the processing of importing a package, configuring the objdef, editing the materials, writing the script, and building the FDM, all the while avoiding fatal crashes and testing changes dynamically.
If you have ever taken a look at the JSBSim Commander app, it is basically a graphical editor for defining and modifying FDMs. Having such a tool directly in OT not only makes rapid development of flight models possible, but opens up the book to people who don't understand the JSB XML format. Reading these files can be overly intimidating for a novice, and when edits generate fatal errors, it is even more frustrating.
I realize these concepts go well beyond the original intent and scope of this thread, but the more I think about these ideas, the more they make sense from both a user's and developer's perspective.
Regards,
Uriah