I got started with adding the new shopping system, and it became clear very quickly that I’d need to rewrite the menu system eventually. In my haste to get something that would run, I hard-coded all the menus together, which works well until you try to extend the system. But since extensibility and customizability are some of the main design goals, I’m rewriting the entire menu system as a component system based on Delphi’s form designer. It will only use hard-coded commands for the most basic common functionality (how to draw itself to the screen, how to move the cursor around, etc.); everything else will be run by the script engine, and accessible to the designers once I get an editor built.
What this means, in the immediate term, is that the update I was hoping to have ready tomorrow… won’t be. It’ll probably take me all day tomorrow to finish rewriting the menu system. Then I’ll start working on adding more features.