Commit aba39e82

– add new job messaging mechanism that allows the job to return messages to  the object manager
– add first message type that allows objects to transform themselves
– fix bug in the renderer that crashed when creating and removing the number of models resulting in the same number
– added more gameplay logic (starvation and death)

This is rather substantial as it adds the notion of “job messages”, that allows Python scripts to make changes asynchronously. The only message type currently supported is the “change object” message, which essentially transforms the object sending the message. This change needs to happen asynchronously for obvious reasons, as replacing the object requires a complete removal of the existing object, including the script instance, before it gets replaced by a completely new object in the same location.
On a more superficial levels, this adds a bit more game play, if you want to call it that. Yay!

Oh no, a famine struck the player!

Commit 35d0d34c

Show and update the work list of the currently selected object

This adds a list of buttons on the left hand side of the screen that shows which types of jobs are currently in the queue for the selected object.
Clicking on the icons will remove the job from the queue for upcoming jobs and clicking on the currently active one will interrupt it and also remove it from the queue. All that good interactive stuff is not in there yet though, it’s just showing what is currently happening.
Finally we get to use the icon that can be set for a job!