[ ] Convert the existing main menu to use a Flixel UI layout (with additional metadata as needed). This will mean that the structure of the menu UI and the position of each element is defined in an XML file.
[ ] Allow mods to replace the aforementioned layout by merging or replacing the XML (and thus customize the layout of the main menu).
[ ] Use the HScript scripting engine to allow for custom main menu options and add simple convenience methods to perform default menu functions.
FlixelUI is very powerful (see 4.1 Working with Parameters) and a script hook for onUIEvent should be enough to do whatever you need to, unless it's creating a completely custom UI state (like a Jukebox menu).
My thoughts on this are:
FlixelUI is very powerful (see 4.1 Working with Parameters) and a script hook for
onUIEvent
should be enough to do whatever you need to, unless it's creating a completely custom UI state (like a Jukebox menu).