Tonight I’ve finished quite a few components of my SCUMM mock-up.
First of all, I rewrote the whole IRQ handling code for stability and in order to decouple ISR code from background processing. I like the results a lot, especially as the stability is PAL/NTSC independent.
The inventory API is nearly complete, the only missing bit is removing an item. It’s a simple enough thing and I will code it when I need it. The up/down arrows work very nicely and I added a bunch of items in order to experiment with them too. On a real machine the available items at start-up are randomized so don’t be surprised if the ones you get are not the same as in the above picture.
The messaging API is practically finished for what I need at the moment, but I will extend it when I get to the point where items can be used with other items or areas of the screen.
The interactive area API is complete. I might extend it in future for particular needs as well. You can hover the pointer on the sign to get some feedback and click on it in order to pick it up (when the pick up verb is selected).
Bear in mind I know nothing about the original SCUMM code and complexity. I am just trying to recreate the point-and-click feeling on a Commodore 64 during my spare time: nothing more nothing less.