remove unneeded file
You will be missed.
Ramblings about hobbyist game development
remove unneeded file
You will be missed.
add setting/resetting of wall tile types
Similar to adding objects and tiles the user can now also set/reset the wall types (read: wall papers) on either side of a piece of wall.
This is slightly more complicated as in the case of tiles, as here both sides of a piece of wall have to be regarded individually.
This change had effects on the shaders, the renderer, the World class, the SelectionState, the GameState and some other crowd favourites.
What is, however, still missing though is the removal and placement of walls.
undo optimisation as it makes the click input feel sluggish
Whooosh.
fix mutexes to protect us from threading related corruption
Once again, fewer crashes through fewer race conditions.
make tiles editable (change tile type and reset it)
Now users cannot only place and remove objects, but also tiles.
do not try to use vertex buffers that have not been created yet (due to race conditions)
Fewer crashes for everyone!
move code from the renderer to the modelpipeline where it belongs. add more comments.
That is.. that is what it does. Make the renderer just a bit smaller, bit by bit.
add support for deleting static objects
One could argue it makes sense to enable the user to also remove objects, now that they can also create them.
This also means that the renderer needs to stop making some assumptions about its data structures.
Furthermore, this refactors some part of the code a bit, for instance when resetting the current selection after deselection or a deletion happened.
always initialise the selection state so that we can properly create objects before selecting/unselecting an existing one
It is probably a good move not to expect the user to first move something before allowing them to place something.
add dynamic object creation
Adds the code necessary to allow the user to add new objects during runtime. While most of the code can be re-used later, for now it is entered by using the temporary hotkey “O” when in shop mode.
After pressing it a new object (the table) can be placed wherever there is space for it, the same logic (working with the SelectionState) as when moving existing objects is used.