Skip to content

Kengine 3.0

Choose a tag to compare

@phisko phisko released this 09 Apr 14:59

Features:

  • Added speed and pause/resume functionality
  • Added save/load feature
  • Added EntityManager::disableEntity suite
  • Added PySystem
  • Added Box2DSystem
  • Added ImGui support
  • Added CollisionSystem
  • Added ScriptSystem middle-class to simplify supporting more scripting languages
  • Made it possible to overwrite entities
  • SfSystem now detects appearance changes
  • SfSystem now supports rotation
  • Added GraphicsComponent::yaw
  • Added size field to GraphicsComponent to override TransformComponent on the graphical side of things
  • Added fields to GUIComponent to make placing GUI elements simple
  • Made it possible to repeat elements (such as a background) with GraphicsComponent::repeated

Major changes:

  • Removed Input datapackets and replaced them with InputComponent, makes more sense and is easier to use

Minor changes:

  • The common directory is now in the include path ("common/systems/LuaSystem.hpp" can be replaced by "systems/LuaSystem.hpp")
  • System.hpp now forward declares EntityManager for convenience
  • Optimizations in SfSystem
  • ExtensibleFactory now registers GameObject by default
  • Improved exception messages in EntityManager
  • Changes to script function names (removeEntity/removeEntityByName)
  • Removed all uses of QuadTree (in PhysicsSystem and PathfinderSystem)

Fixes:

  • Removed unnecessary and forgotten call to cout in LuaSystem
  • PhysicsSystem now skips collisions when PhysicsComponent::solid is set to false
  • Added missing include in hash.hpp
  • Improved key buffering in SfSystem
  • Made LuaSystem not destroy its sol::state in order to avoid memory corruption as I do not control the order of system destruction
  • Removed unnecessary call to detachComponent in SfSystem::removeGameObject
  • EntityManager now buffers entity removal to avoid iterator corruption