I have switched from CPython3 to IronPython to make C# interop easier. Thanks to that switch, the edit boxes (traditional HMT/Eschaton-type controls) are seamlessly integrated with Python scripting -- whenever scripts make changes, the GUI updates to reflect this.
Here is an overview of Quickbeam's (planned) architecture. So far, many of the pieces are in place, with the exception of add-ons.
Binary Access
At the very bottom is the layer that makes reading maps from memory feel exactly the same as reading from disk. Most users need not think about this layer; they can just take it for granted.
Plugins
One step up is the plugins layer. Whereas user-contributed plugins have been popular for older programs like HMT and Eschaton, Quickbeam's plugins will be moderated by me. This is because script compatibility depends on everyone having the same plugins, and we've pretty much mapped Halo out anyways. I can update plugins after the fact if they do need to change, and you can always substitute your own if you really want to.
Scripting
In the middle is the celebrated (by me, anyways) scripting layer! This should hopefully be intuitive to most modders. Scripting is done via Python, and I intend to publish a few tutorials and examples. Besides being cool, the scripting layer will make it easier for me to develop new features. Additionally, it will open the door for...
Add-ons
This feature is less fleshed-out as the rest, but I want users to be able to create and publish their own special-purpose buttons and controls. This could be as simple as a button for automating some tedious task using scripts, or something more complex. The design of this feature is hazy at the moment, and will not be present in the initial releases of Quickbeam
Classic Editor Interface
Finally, at the very top is the HMT/Eschaton-like editing controls we all know and love. Except these ones won't be glitchy or laggy (I hope).
June 3rd, 2014, 10:35 AM
Rentafence
Re: [WIP] Quickbeam
Pretty cool stuff. I also like that you spent time making the interface attractive.
March 5th, 2016, 07:06 PM
WaeV
Re: [WIP] Quickbeam
In order to actually release something that much faster, I've spent the last couple months polishing up the scripting layer. Halolib 1.0 is now available for use! http://opencarnage.net/index.php?/to...n-and-halolib/ It works a lot like the scripting demos shown above (from 2013, I know). However, the code is a lot cleaner. It's written in straight Python 3 and requires no non-standard libraries. Currently it only memory-mods Halo PC 1.10. In theory it can memory-mod CE as well as dedicated servers, but I need to put the time into discovering the correct offsets for everything. Edit: why the hell are linebreaks not working?