Releases: PolyplexEngine/libpp
Refactor - Stage 1
This major release refactors some systems, and adds full unicode string support to SpriteBatch.
As well, this version deprecates macOS support. more info
- Removed the GL_MATH implementation
- Removed Vulkan backend systems (for now)
- Removed the backend for runtime API switching[1]
- Renames GameTime related classes[3]
- GameTimes > GameTime
- GameTime > GameTimeSpan
- Prepare for OpenGL ES support by adding the basis for it[2]
- Removed PPSL
- Refactor of Vectors in
polyplex.math
, they should be more performant now and have more functionality.- Also adds toString for vectors
- Updated some documentation strings
- Optimizations of the Framebuffer implementation, it should no longer be needed to recreate it every frame.[3]
- Refactor color handling by making color implementations a mixin.
- Finished font support
- Full unicode support, fonts have to be generated via ppcc. Fonts are generated as textures.
- DrawString now supports \n for multiline strings.
- Added support for loading raw PPC files (PPC files containing raw data, like strings or custom level data)
- Refactored Rectangles[3]
- Increased default SpriteBatch size to 16384.
- Deprecated macOS as a platform[4]
- Fixed some crashes
- Use-after-free issue when closing game window
[1] This has been removed as it severely increased the complexity of libpp with the cost of bad performance from all the über-generic classes that had to be made.
[2] OpenGL ES support will be added as soon as bindbc has a port for OpenGL ES.
[3] This refactor might break large portions of code, please update your code accordingly.
[4] macOS will at this point intentionally static assert
on compilation, making the compilation fail.
Patch: Fix Music thread compilation
This minor patch fixes failed compilation due to audio module
Use latest libppc
v0.0.64 Update dub.sdl
Update BindBC
There were more issues with versions of bindbc-loader
Fixes a project file issue that made compilation impossible.
v0.0.62 Update dub.sdl
Font support (2)
Quick fix to SpriteFont.MeasureString, which was missing an important bitshift.
Font support
Font rendering is now supported.
The tooling still needs some work on the ppcc side (right now, full pathes to font files are required for ppcc to convert.)
Small hotfix
Fixes some audio bugs when using Play on SoundEffect and Music, in which the looping parameter would not be working
Also updates used libppc version to 0.2.2
Minor Release (patches, mostly)
This minor release fixes some bugs, adds shader support, as well features some preperation for Gtk+ intergration
- Fixed a bug where filters would not be applied properly
- Moved binding of OpenAL and SDL2 to a module constructor for the time being.
- Minor optimizations to SpriteBatch
- Loading of GLSL shaders
- Basic Framebuffer support
- Minor codestyle updates
- Fixed various soundcard related crashes
- When soundcard wasn't available
- When EFX support wasn't available
Version 0.0.5
The audio update (and stuff that was missed)
- Added support for EFX realtime audio effects.
- Added support for synchronizing music via the SyncGroup class (simple naive synchronization)
- Added support for EFX filters
- Added support for EFX effect chains (only openal-soft)
- Switched mostly to BindBC
- Fixed music thread related crash
- Fixed music thread related zombie-process
- Improved game cleanup procedures
- Removed -alpha.(increment) from version number as version numbers were very long to type out.
Among these changes, the following changes are also included from previous (mysteriously un-shipped/removed releases)
- Streamed Music with arbitrary channels (Music class) #19
- Fixed a bug where loading more than 1 Audio instance would crash a game.
- Preliminary support for the PTI (Polyplex Tagged Image) format
- Right now it doesn't have tags, but it's a lossless way to store images with transparency.
- Update of PPCC to allow paths in content descriptions
- Various stability fixes within libppc
- Removed Vulkan support entirely for the time being.
- Improved performance by making FPS counting optional.
- Fixed Scissor Rectangles, note that this still needs more work.
- Small rendering optimizations to the sprite batcher.
- Fixed a bug in which a large amount of textures would cause the sprite batcher to mix them up.
- Implementation of the libppc rewrite
- New syntax for content loading
- Loading of shaders (as PSGL format, ppcc will convert to this format automatically)
- Slightly improved startup times
- Ability to load 16 bit PNG files
- Loading of raw files by prefixing ! to the path
- Rewrite of audio handler, similar to MonoGame now. (there'll be improvements later to add more special features)
- PPCC will automatically scan file headers to try determining the right backend to use.
Github has been doing weird things with unpublishing my releases, I am looking in to this issue.