Add bed object (without functionality yet)
Comes as advertised, it does not do anything yet, but it looks nice:

Ramblings about hobbyist game development
Add bed object (without functionality yet)
Comes as advertised, it does not do anything yet, but it looks nice:
– 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!
– add the gravestone object
– decrease the HP if there is no food left
– slowly increase the HP if there is food left
– add new object category so as to not list certain objects in the menu
Does exactly that. Also, finally there is some sort of consequence to not go with the one existing game play element: make sure to feed your characters!
Position the job context list as close to the actual click as possible
Before that the possible jobs where always shown at the same static position, now the menu is positioned as close to the actual mouse click as possible without going off-screen or overlapping the job queue list or the bottom bar, check it out:
Properly cancel the currently running job
While it could be cancelled before, there were some corner cases that could make the object go into an infinite loop when cancelling the current job while the object was navigating.
Add ability to cancel the currently worked on job
Adds the missing feature of cancelling and removing the currently running job, as opposed to simply removing the queued up jobs .
– make the job list hoverable
– add callback to the job to cancel jobs
– add job removal for non-running jobs
This starts to make the the job list interactive. Comes as advertised in the commit message!
Fix lock-up problem when selecting an object that has a non-empty worklist
This was essentially trying to lock a mutex that was already locked.
Manually calculate the work list button size to ensure there are no rounding issues
Just slightly improves the sizing of the buttons, check them out now:
Show and update the work list of the currently selected object (2)
Just some missing files. Whoops!