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.