Following from the relative failure of my GameKit system, I took a lot from that and completely redesigned TSetup, so that it is now heading towards being a "complete" module driven, program initialising and processing system, whereby all graphics, sound, music etc can be loaded using a simple function and any screen resolution changes can automatically re-load all the graphics.
In addition it will have a batch processing system whereby you can put one or more sprites and/or text into a specific layer and it will automatically display it without you needing to keep doing so each loop.
The failure of GameKit was due to trying to keep things too
local - with this I have loosened the requirements somewhat in that there are two parts for each module, with each module being things like the title screen, main game, game over screen etc etc :
Part 1 - The main extended type routine
Part 2 - A Function that calls a specific function in the extended type
Whilst it is a slight duplication of effort for each module, it does allow the use of PROTOTYPEs rather than calling a specific name.
The other advantage of the new system is that anything can be accessed by either an index value or by name. Whilst name calling does have a slight extra overhead, for most uses it will be hardly noticeable as I've using a binary search routine.
At the moment I'm re-writing my BallZ game with it.
Now got a second video up of half of the game up and running (although most of the video shows me compiling the code) :
The main thing is to get some sort of interpreter into the Animator system..