Skip to content

SiO2 version 1.7.0

Choose a tag to compare

@pspeed42 pspeed42 released this 06 Apr 00:40
· 51 commits to master since this release

Adds the blackboard-related classes and fixes some issues with other code. Also the build has been upgraded to work with gradle 7.4.2 and publish to maven central.

Change log:

  • Fixed a bug in MovementState where disabled states would be auto-enabled if the default camera initialization ran.
  • Added a more general WorkerPool class to encapsulate the job management of JobState. Modified JobState to delegate to it.
  • Added a Blackboard class and auto-registered it with the GameSystemsManager.
  • Added a BlackboardState class for convenient access to a blackboard object in client-side code.
  • Renamed the JobState.getQueuedCountReference() and getActiveCountReference() to getQueuedCount() and getActiveCount() respectively. The old one was a typo and since this is a newish class, hopefully it doesn't affect too many folks to fix it now.
  • Breaking change to the CommandEntry interface where runCommand() now has a boolean return value. Returning true allows the command to keep the console open.
  • Fixed DecaySystem to call the "fail on error" version of getSystem() when looking up the entity system.
  • Updated SimTime to have a setCurrentTime() method that allows resetting the simulation to a particular time, either because the game is being reloaded or because it's being continued after a pause, etc..
  • Refactored SimTime's internals to make time tracking easier and more flexible.
  • Updated GameLoop to call setCurrentTime() on its safe sim time instead of update(), ie: the time returned by GameLoop.getStepTime()
    This avoids a base time discrepancy but leaves a breaking change that tpf will always be 0. (tpf was generally nonsense before.)
  • Updated GameLoop to allow waiting for start() to complete. If waiting then if there is an error during startup then it will be wrapped and rethrown from the start(true) method.
  • Added SimEvent.simFailed and modified GameSystemsManager to publish this event if either initialize() or start() fails.
  • Fixed a bug in MovementState where the provided walk speed wasn't being adopted unless the run state changed.
  • Migrated the build to gradle 7.4.2
  • Moved distribution to maven central.