Skip to content

Releases: Electron7-7/nostalgia-game-engine

Nostalgia v0.9.0 - Alpha 9

31 Mar 23:33
v0.9.0
8d986e2

Choose a tag to compare

Major Changes

  • Thing
    • Created more macros for overwriting virtual functions
    • Replaced the function Thing::type with a new static function Thing::Type
      • Created a new macro for overwriting Thing::Type
      • Each new Thing-derived class must overwrite Thing::Type to return their type as a PID
  • Image, Texture, ImageTexture, and Cubemap
    • Image replaces ImageHandler and is used to load image files/data into a format that can be used/buffered by a valid texture-related class
    • Texture has had its FileData pointer variable removed and now only represents an abstraction of TextureBuffer
    • ImageTexture is the replacement for the old Texture class; it takes image data, buffers it, and releases it
      • This means it is much less size complex than before, where it used to store the entire image file's data throughout its entire lifetime
    • Cubemap is the updated version of CubemapTexture and is effectively just ImageTexture, but designed around maintaining six separate layers of image data
    • All of these classes are heavily based off of their Godot counterparts

Minor Changes

  • Nostalgia.hpp
    • Removed some files from the pre-compiled header; specifically, files relating to Thing, Theatre, and TheatreFile
  • FileData
    • Redesigned the mData variable to be std::vector<uchar> instead of uchar*
    • Better setter/getter functions
      • Including ones for accessing the raw data, via calling std::vector::data on mData
    • Remove FileType parameter from LoadFile and the filepath constructor
    • Renamed all functions
      • Following more closely to the STL (e.g: std::vector::data, std::vector::size, etc)
  • Theatre
  • ThingData
    • Added new set_variable and get_variable functions for Thinker and Resource pointers

Full Changelog: v0.8.0...v0.9.0

Nostalgia v0.8.0 - Alpha 8

26 Mar 23:04
v0.8.0
79f5a5b

Choose a tag to compare

Major Changes

  • Implemented matrix-calculation functions in Transform3D
  • Redesigned global transformation calculation in Actor3D
    • This also fixed an issue where a parent's scale wasn't affecting its children's positions

Minor Changes

Full Changelog: v0.7.0...v0.8.0

Nostalgia v0.7.0 - Alpha 7

26 Mar 01:51
v0.7.0
145bcb5

Choose a tag to compare

Major Changes

  • Major overhaul of Resource, UID, VariableRegistry, and anything relating to Resource and Thing creation
  • Implementation of ResourceDatabase for creating/registering global Resource pointers
  • Improvements to Theatre involving setup, Thinker ownership, and Thing name changes
  • Globalization of Theatre, including a Theatre::Current function for getting the current Theatre
  • Implemented a new constructor for Thing as well as a new SUPER macro that creates the Super keyword

Minor Changes

  • Resource and its derived classes are starting to resemble what I want them to become in a future update (most likely v0.8)
    • They'll more closely resemble Godot's own Resource class, mostly in how they won't need to be registered with the Theatre when being created (e.g: a future Image class should be able to be used directly via Shared<Image> as a replacement for FileData in Texture)
  • Improvements to FileData::Load and the underlying FileData::mData variable

Full Changelog: v0.6.0...v0.7.0

Nostalgia v0.6.0 - Alpha 6

14 Mar 02:44
v0.6.0
e775023

Choose a tag to compare

Major Changes

  • Changed implementation of reserved UIDs (RUIDs)
    • RUID types are more well-defined and have larger boundaries
    • It's now possible to attempt to either manually or randomly reserve an RUID of any type
    • Querying RUIDs and their types has been improved
  • Fixed & expanded RUID-related functionality in VariableRegistry
    • All functions related to "resource data" now utilize the improved RUID functions

Minor Changes

  • Fixed a typo in EmbedAssets.cmake
    • Also changed uchar to unsigned char in the generated header files; this lets me reuse EmbedAssets.cmake more easily in other projects
  • Added two new Error enums
    • ERR_MAX: used when attempting to increase a number past a set maximum value
    • ERR_MIN: used when attempting to decrease a number past a set minimum value

Full Changelog: v0.5.2...v0.6.0

Nostalgia v0.5.2 - Alpha 5

12 Mar 00:52
v0.5.2
4ab0273

Choose a tag to compare

ColdFix

  • This release is a joke release and is no different than v0.5.1
  • Hello, takaio.

Nostalgia v0.5.1 - Alpha 5

12 Mar 00:33
v0.5.1
44c3f0b

Choose a tag to compare

Quick Fixes

  • In engine.cpp, the contact listener now updates both colliders instead of just one
  • In collider_3d.cpp, removed extraneous debug print

Nostalgia v0.5.0 - Alpha 5

11 Mar 23:55
v0.5.0
4c2c92b

Choose a tag to compare

Major Changes

  • Moved physics body creation from PhysicsEngine back into Collider3D
  • Changed how collision detection works through Jolt_ContactListener and Jolt_BodyActivationListener
    • Now, when a body is created, its user data must be set to the collider's UID. This is then used by the listeners to find the colliders and call their appropriate functions.
    • However, Jolt_ContactListener::OnContactRemoved doesn't work yet, as it doesn't have direct access to body user data and trying to get it via PhysicsEngine::Inst()->BodyInterface().GetUserData results in errors and crashes due to locking.

Minor Changes

  • When building on Windows, the debug postfix is correctly shown, configurable, and used.
  • uint64 is now defined in types.hpp.
  • PhysicsEngine::Inst has been removed for simplicity and clarity.
  • Added Collider3D.debug_collision_persisted_msgs to the debug console's list of variables.

Full Changelog: v0.4.0...v0.5.0

Nostalgia v0.4.0 - Alpha 4

11 Mar 03:29
v0.4.0
eac5f8e

Choose a tag to compare

Major Changes

Minor Changes

  • Implemented an image handler to abstract STBI
  • Improved Theatre::Draw
  • Improved the logic behind Viewport and Camera3D/Camera2D communicating the "current" camera
  • Made the player automatically steal the current Camera3D for the root viewport
  • Various small improvements and formatting changes

Full Changelog: v0.3.0...v0.4.0

Nostalgia v0.3.0 - Alpha 3

10 Mar 01:10
v0.3.0
40193ce

Choose a tag to compare

Major Changes

  • theatre/parser/number_parser.hpp
    • Improved parsing logic and corrected index errors in the function InterpretGLM.
  • theatre/parser/lexer.cpp, theatre/parser/parser.cpp
    • Removed old code for parsing contexts and removed logic for assigning TokenName::Keyword to valid type name tokens.
    • Implemented forward-declaration keywords for custom Thing types.
    • Implemented nearest-base approximation for unkown Thing type names.
  • theatre/thing_factory.cpp
    • Fixed custom types that inherit directly from Thing not getting their maker function and priority set in ThingFactory::AddThing.

Minor Changes

  • Changed some variables to be more intuitive in various things' ::SetVariables and ::GetVariables functions.
  • Extended some logic for things like the player creating a default camera.
  • Cleaned up some mistakes/whitespace.

Full Changelog: v0.2.0...v0.3.0

Nostalgia v0.2.0 - Alpha 2

07 Mar 00:01
v0.2.0
d5a34d7

Choose a tag to compare

Changes

  • Added collision detection to Collider3D via PhysicsEngine
  • Moved Jolt body creation/destruction to the physics engine
  • Minor debugging additions (e.g: debug variables)