Skip to content

Releases: PolyplexEngine/libpp

Refactor - Stage 1

23 Nov 20:13
Compare
Choose a tag to compare

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

22 Jul 06:58
Compare
Choose a tag to compare

This minor patch fixes failed compilation due to audio module

Use latest libppc

01 Jul 11:46
d03a441
Compare
Choose a tag to compare
v0.0.64

Update dub.sdl

Update BindBC

01 Jul 11:13
1985ecc
Compare
Choose a tag to compare

There were more issues with versions of bindbc-loader

Fixes a project file issue that made compilation impossible.

01 Jul 11:08
4347b63
Compare
Choose a tag to compare

Font support (2)

17 Jun 21:30
Compare
Choose a tag to compare

Quick fix to SpriteFont.MeasureString, which was missing an important bitshift.

Font support

17 Jun 21:18
Compare
Choose a tag to compare

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

12 Apr 13:42
Compare
Choose a tag to compare

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)

10 Apr 14:08
Compare
Choose a tag to compare

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

28 Dec 09:12
Compare
Choose a tag to compare

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.