Skip to content

Alpha Release 0.9.0

Pre-release
Pre-release

Choose a tag to compare

@JamesHoltom JamesHoltom released this 20 Jul 22:18
· 11 commits to master since this release
c339d59

Changes from 0.8.0:

This release adds the following:

  • Animations can now be created, which can be enqueued into GameObjects.
  • Projects can now be loaded/reloaded in code.
  • Dear ImGui has also been added to provide a handy debugging window. This can be enabled with the --debug flag and pressing F3 in-game.

Lua Changes:

  • Tab size is now a part of TextObject, and is configurable with the tab_size property.
  • Moved the No Program file into its own project folder.
  • Created a common folder and moved readonly.lua into it.
  • Added a setText() function, to simplify writing text into a GameObject.
  • Added a series of functions in common/interactive.lua, to aid in developing input-related GameObjects.
  • Added Animation and AnimationFrame to the list of serialisable usertypes.
  • Renamed all vector types to be proper-case (e.g. vec4 becomes Vec4, and ivec2 becomes Ivec2).

C++ Changes:

  • Added Unicode support.
  • Added the option to load different projects through code.
  • Added a text input mode, allowing users to type special characters.
  • Added clipboard support.
  • EventListeners can now be configured to listen to specific GameScenes.
  • Added the object_hover event, that triggers when hovering over a GameObject.
  • Added min, max and clamp to the GLM vector usertypes.
  • Added a debug window using Dear ImGui, to display information about game objects, scenes, resources, etc.
  • Added borderless support for game scenes.
  • Split usertypes into 2 categories, each with their own base class: BaseObject and BaseResource.
    • Amended BaseResource-type classes to accept a string name, rather than a filepath.
    • Converted Audio and ShaderProgram into a resource-type.
    • Renamed CharacterParams to Character.
    • Moved GameScene into it's own type, so it can be updated separately from other objects/resources.
    • Added Animations as a resource, which the user can add/edit/remove AnimationFrames from.
  • Added AnimationStates to GameObjects, allowing users to queue animations into an object.
  • Added a master volume that affects all Audio resources.
  • Moved more files around to make better sense (this is the last time, I promise).
    • Moved TexturePacker into rendering.
    • Moved Background, Character, CharacterMap, Timer and Window into usertypes.
    • Moved ShaderProgram into usertypes/resources.
  • Added more validation and assertions to all usertypes.
  • Configured the type names for all usertypes (i.e. instead of term_engine::usertypes::CharacterParams, it is now Character).

Other Changes:

  • Added a default font for MacOS builds.
  • Amended the CMakeLists file to specify each file being built, rather than relying on glob searches.
  • Added new example projects:
    • example/menus
    • example/multiple_game_scenes
    • example/multiple_projects
    • example/text_input
    • example/unicode