Releases: Electron7-7/nostalgia-game-engine
Releases · Electron7-7/nostalgia-game-engine
Nostalgia v0.9.0 - Alpha 9
Major Changes
Thing- Created more macros for overwriting virtual functions
- Replaced the function
Thing::typewith a new static functionThing::Type- Created a new macro for overwriting
Thing::Type - Each new
Thing-derived class must overwriteThing::Typeto return their type as aPID
- Created a new macro for overwriting
Image,Texture,ImageTexture, andCubemapImagereplacesImageHandlerand is used to load image files/data into a format that can be used/buffered by a valid texture-related classTexturehas had itsFileDatapointer variable removed and now only represents an abstraction ofTextureBufferImageTextureis the replacement for the oldTextureclass; 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
Cubemapis the updated version ofCubemapTextureand is effectively justImageTexture, 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, andTheatreFile
- Removed some files from the pre-compiled header; specifically, files relating to
FileData- Redesigned the
mDatavariable to bestd::vector<uchar>instead ofuchar* - Better setter/getter functions
- Including ones for accessing the raw data, via calling
std::vector::dataonmData
- Including ones for accessing the raw data, via calling
- Remove
FileTypeparameter fromLoadFileand the filepath constructor - Renamed all functions
- Following more closely to the STL (e.g:
std::vector::data,std::vector::size, etc)
- Following more closely to the STL (e.g:
- Redesigned the
Theatre- Improved the setup process in
Theatre::Startup
- Improved the setup process in
ThingData- Added new
set_variableandget_variablefunctions forThinkerandResourcepointers
- Added new
Full Changelog: v0.8.0...v0.9.0
Nostalgia v0.8.0 - Alpha 8
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
- In
Theatre::Draw3DThinkers, useActor3D::GlobalTransformandTransform3D::model_matrixinstead of calculating it manually
Full Changelog: v0.7.0...v0.8.0
Nostalgia v0.7.0 - Alpha 7
Major Changes
- Major overhaul of
Resource,UID,VariableRegistry, and anything relating toResourceandThingcreation - Implementation of
ResourceDatabasefor creating/registering globalResourcepointers - Improvements to
Theatreinvolving setup,Thinkerownership, andThingname changes - Globalization of
Theatre, including aTheatre::Currentfunction for getting the current Theatre - Implemented a new constructor for
Thingas well as a newSUPERmacro that creates theSuperkeyword
Minor Changes
Resourceand 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
Imageclass should be able to be used directly viaShared<Image>as a replacement forFileDatainTexture)
- 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
- Improvements to
FileData::Loadand the underlyingFileData::mDatavariable
Full Changelog: v0.6.0...v0.7.0
Nostalgia v0.6.0 - Alpha 6
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
uchartounsigned charin the generated header files; this lets me reuse EmbedAssets.cmake more easily in other projects
- Also changed
- Added two new
ErrorenumsERR_MAX: used when attempting to increase a number past a set maximum valueERR_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
ColdFix
- This release is a joke release and is no different than v0.5.1
- Hello, takaio.
Nostalgia v0.5.1 - Alpha 5
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
Major Changes
- Moved physics body creation from
PhysicsEngineback intoCollider3D - Changed how collision detection works through
Jolt_ContactListenerandJolt_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::OnContactRemoveddoesn't work yet, as it doesn't have direct access to body user data and trying to get it viaPhysicsEngine::Inst()->BodyInterface().GetUserDataresults in errors and crashes due to locking.
Minor Changes
- When building on Windows, the debug postfix is correctly shown, configurable, and used.
uint64is now defined in types.hpp.PhysicsEngine::Insthas been removed for simplicity and clarity.- Added
Collider3D.debug_collision_persisted_msgsto the debug console's list of variables.
Full Changelog: v0.4.0...v0.5.0
Nostalgia v0.4.0 - Alpha 4
Major Changes
- Sprite3D
- A sprite in 3D space
- OpenGLFrameBuffer
- Fixed the issue with framebuffer textures going black
- CubemapTexture
- Unique resource for cubemap textures
- ViewportTexture
- Unique resource for viewport textures
Minor Changes
- Implemented an image handler to abstract STBI
- Improved
Theatre::Draw - Improved the logic behind
ViewportandCamera3D/Camera2Dcommunicating the "current" camera - Made the player automatically steal the current
Camera3Dfor the root viewport - Various small improvements and formatting changes
Full Changelog: v0.3.0...v0.4.0
Nostalgia v0.3.0 - Alpha 3
Major Changes
- theatre/parser/number_parser.hpp
- Improved parsing logic and corrected index errors in the function
InterpretGLM.
- Improved parsing logic and corrected index errors in the function
- theatre/parser/lexer.cpp, theatre/parser/parser.cpp
- Removed old code for parsing contexts and removed logic for assigning
TokenName::Keywordto valid type name tokens. - Implemented forward-declaration keywords for custom
Thingtypes. - Implemented nearest-base approximation for unkown
Thingtype names.
- Removed old code for parsing contexts and removed logic for assigning
- theatre/thing_factory.cpp
- Fixed custom types that inherit directly from
Thingnot getting their maker function and priority set inThingFactory::AddThing.
- Fixed custom types that inherit directly from
Minor Changes
- Changed some variables to be more intuitive in various things'
::SetVariablesand::GetVariablesfunctions. - 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
Changes
- Added collision detection to
Collider3DviaPhysicsEngine - Moved Jolt body creation/destruction to the physics engine
- Minor debugging additions (e.g: debug variables)