It seems to work pretty nicely and will allow me to do some cool things, such as adding game or engine behaviours to new games beyond what is capable from the scripting engine (think of StarFox for the SNES which had the 'first' graphics chip included). Provided I can link this to the engine itself (eg: allow people to hook into the right places), I could potentially release graphics, sound, or whatever updates by just shipping a new DLL and leaving the 'core' intact. A pretty nice prospect...
One thing I'd like to do (and am working on) is giving the plugin some ability to be queried by the engine; so registering types and functions is done via a standard interface, which stores the information for later retreival by the user.
I've also been thinking about the current API for GMGX (name will change soon, I hope). I'm not sure I 'like' the function prefixes I've been using and am now tempted to move away and throw related functions into namespace-like tables. So anything involving texturing would go into a "texture", same with triggers, entities and so forth.
So instead of code like:
trg = trg_create( );
ent = ent_create( );
trg = trigger.create();
ent = entity.create();
I'll have to assess whether it'd be worth it and whether it'd actually affect how usable the engine is now. Anyone have any commments on this?