Releases: Electron7-7/nostalgia-game-engine
Releases · Electron7-7/nostalgia-game-engine
Nostalgia v0.19.3 - Alpha 19
Fixes
- Opening a Theatre in the editor while playing it works as expected now
Full Changelog: v0.19.2...v0.19.3
Nostalgia v0.19.2 - Alpha 19
In ThingFactory, replace calls to Tree::get_ancestors with a static map, as Tree is too slow when getting ancestors.
Full Changelog: v0.19.1...v0.19.2
Nostalgia v0.19.1 - Alpha 19
Full Changelog: v0.19.0...v0.19.1
Nostalgia v0.19.0 - Alpha 19
Major Changes
Tree- Replace most of
CallSheet's functionality and removeCallSheetentirely - Add 'Nostalgia/core/tree.hpp' to the pre-compiled header
- Implement support for
IDandPIDvia class templates - Implement mutex locking
- Replace
std::setreturns withstd::unordered_setto enable sorting the set by order of inheritance
- Replace most of
ThingFactory- Redesign
ThingFactoryto useTreefor storing type information - Convert back to a namespace
- Redesign
ThingType- Remove the source file and convert back to a namespace
GitHub PRs
- Indev/v0.19.0/trees and types by @Electron7-7 in #98
Full Changelog: v0.18.6...v0.19.0
Nostalgia v0.18.5 - Alpha 18
Fixes
- Actually add new icons to 'EmbedAssets.cmake'
WindowGLFW::Shutdownnow callsRendererAPI::DeactivateInstance()instead ofRendererAPI::Get()->Shutdown()- Improved editor layout, and functionality
Full Changelog: v0.18.4...v0.18.5
Nostalgia v0.18.4 - Alpha 18
Fixes
- Suppress LeakSanitizer as it tends to report a large amount of memory leaks that are likely caused by libGL.so or X11/Wayland drivers allocating memory for global variables and not freeing them manually. In other words: benign errors that aren't my fault.
- Update the 'Screenshots' Theatre file to match the current syntax
Minor Changes
- Improvements to the editor layout
- Improvements to the editor icons
- Add option for testing new icons while they're being added
Full Changelog: v0.18.3...v0.18.4
Nostalgia v0.18.3 - Alpha 18
Fixes
Sprite2D/Sprite3D- Don't override texture variables with empty paths
Camera3D- 'UseDefaultSkybox' is now correctly used
Full Changelog: v0.18.2...v0.18.3
Nostalgia v0.18.2 - Alpha 18
Fixes
OpenGLTextureBuffer- Passing
nullptrtoglTextureSubImage-functions will cause a SEGFAULT on certain Nvidia driver versions (in my case it was 'nvidia-580xx')
- Passing
Minor Changes
- New debugger options for enabling/disabling different OpenGL debug messages based on the message type
Full Changelog: v0.18.1...v0.18.2
Nostalgia v0.18.1 - Alpha 18
Engine Changes
- Renamed the embedded
ImageTextureresources to end with '-Texture' instead of '-Image'- e.g.
DoomTexture,MissingTexture, etc
- e.g.
Editor Changes
- Changed the default position of the frame profiler
- Combined inspector windows into one inspector window
- Changed editor layout
Full Changelog: v0.18.0...v0.18.1
Nostalgia v0.18.0 - Alpha 18
Major Changes
Console- Implement functions for interacting with console history
- Implement functions for getting all currently known variables/commands
- Improved the console command callback system
- Redesign
ConsoleandConsole::Variableto be faster and easier to use
Event/EventManager- Change implementation to be easier to interface with and to allow for better integration
- Integrate all types of events into
Managerand the ui system - Improve the
EventManager- Use mutexes, damnit!
RendererAPI- Implemented better instancing for
RendererAPIimplementations- Instances are now activated or deactivated separately from their initialization
- A default
DummyRendererAPIis used as the default "inactive" instance- This helps avoid
nullptrexceptions and the like
- This helps avoid
- Implemented better instancing for
DummyTextureBuffer/DummyRenderBuffer/DummyVertexBuffer/DummyIndexBuffer/DummyGraphicsContext/DummyShader/DummyVertexArray- These "dummy" implementations are used when
DummyRendererAPIis active, to avoidnullptrexceptions and similar problems - They can also be used intentionally (via each class'
::CreateDummyfunction) to avoid allocating unnecessary memory (e.g. via theglCreate-calls in many of the OpenGL implementations' constructors)
- These "dummy" implementations are used when
TextureBuffer- Prune some values from
TextureType - Implement a function for getting the sampler's state
- Redesign
TextureFormatand implementTextureDataFormat, which will be used when setting buffer data as opposed to constructing a new buffer OpenGLTextureBuffer- Implement better use of gl4 DSA functions and RAII concepts
- Remove
SamplerStatevariable- Sampler state will be set by things like the material or sprite
- Prune some values from
SamplerState- Implement functions for interfacing with
TheatreFile::ThingData
- Implement functions for interfacing with
ResourceManager/UID- Change
Imageresources toTextureImage - Remove unused resources
- Move editor-related resources to
EditorTheatre - Consolidate all engine enum registration to
ResourceManager
- Change
EnumRegistry- Implement functions for searching enums via name or enum value
- Implement a debug logger
Minor Changes
- Modified the signature for
IBuffer::GetLayout - Remove
GraphicsContext::SwapBuffers - Remove
VertexArray::GetVertexBuffers - Implement setting the texture variable in
Sprite2DandSprite3Dwith a path to a texture file directly - Implement a boolean value in
TheatreFile::ThingVariablefor hiding certain variables from the editor - Add functions for detecting what type of number a string is in
number_parser.hpp- Also add a function for creating a lowercase version of a string
GitHub PRs
- Indev/v0.18.0/renderer api by @Electron7-7 in #96
- Indev/v0.18.0/refactoring and improving by @Electron7-7 in #97
Full Changelog: v0.17.0...v0.18.0