Repository navigation
Alpha Release 0.8.0
Pre-release
Pre-release
·
14 commits
to master
since this release
Changes from 0.7.0:
This release adds support for opening multiple windows at once.
Lua Changes:
- Added an optional parameter for specifying the name of a GameScene a GameObject/EventListener belongs to. This also applies to BoxObject, MenuObject and TextObject.
- Added LineObject, which draws lines of characters on the screen.
- Added utility functions to translate between data indices, row/column and pixel position.
- The
timestepin Loop is now given in milliseconds (ms).
C++ Changes:
- Removed object proxies in favor of using unique_ptr for owning objects, and raw pointers for references in Lua.
- Amended Audio, EventListener, GameObject and TimedFunction classes to derive from a BaseObject class, which are stored in a singular list.
- Added debug information to all classes that derive from BaseObject, and to the application. This currently includes the time taken to update the objects.
- Added a GameScene class that encompasses a Window, FontAtlas and Background. This allows multiple windows to be created.
- Changed shaders/Shader into the ShaderProgram class, which is stored in a GameScene and now supports uniforms.
- Changed views/View into the CharacterMap class, which is stored in a GameScene.
- Extracted the texture-related features of FontAtlas and Background into a Texture class.
- Added a TexturePacker, to pack font bitmaps and other images into a single texture.
- Moved the static PlaySound function in objects/Audio into it's own file.
- Added Seek and Rewind functions to object/Audio.
- Removed Resume, and Play no longer rewinds to the start of the audio in objects/Audio.
- Removed GetIntervalElapsed from timing/Timer.
- Added the option to decide if a Window should hide itself, close or quit the program when a user closes it.
- Added the option to set a Window's title.
- Amended the following parameters to be stored as a vec4:
- CharacterParams colours
- Background colours
- Window clear colours
- Fixed EventListeners possibly being inactive upon creation.
- Added TimedFunctions, used to delay/repeat code execution by a set amount of time.
- Amended Object:set to require a Character as a return value, rather than having to set through code.
- Rearranged some files to (hopefully) make more sense. See below for details.
Other Changes:
- Removed MS Visual Studio build support.
File re-arrangement:
The primary reasons for rearranging files are for a couple of reasons:
- There really isn't a distinction between objects and resources.
- I dislike having folders that will only have 1 file/class in them. The shaders folder is an exception, as it will contain more shader-related code in a later release.
Rearranged files include:
- Moving application/Application into the root folder.
- Splitting the EventListener class from events/Listener into objects/EventListener.
- Renaming logging/Logger into utility/SpdlogUtils.
- Moving resources/Audio into the objects folder.
- Renaming objects/Object into objects/GameObject.
- Moving objects/Character, resources/Background, resources/FontAtlas and resources/Window into the rendering folder.
- Moving shaders/ShaderProgram into rendering/ShaderProgram.
- Renaming system/DebugFunctions into utility/DebugUtils.
- Moving system/miniaudio.cc and system/stbi.cc into the vendor folder.