Skip to content

Refactor - Stage 1

Latest
Compare
Choose a tag to compare
@LunaTheFoxgirl LunaTheFoxgirl released this 23 Nov 20:13
· 15 commits to master since this release

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.