Remove demo.pz game.
Split out gameloop functionality into separate files.
Add serialize/deserialize functions into main.js.
Add serialize/deserialize functionality into gameloop class.
Allow sfxr to warn but not stop on bad seed numbers.
Handle negative hex values (fixes corrupted saves in large games).
Make serialization auto retry with truncation if size is too big.
Use original text title screens.
This puts calls to fenv functions behind an if/def which is not set.
I believe this makes QuickJS not fully standards compliant with
regards to numerical rounding, especially when converting floating
point numbers to strings. I don't think PuzzleScript relies on
any precise rounding when converting numbers to strings so this
should be safe for PuzzleScript.
Downgrade to C++11 in makefile.
Fixup make_unique.
Use old style chrono duration.
Switch to mutex from atomic to avoid linking to libatomic on some platforms.
Update info file to include pzp extension.
Simplify gn build system to use source files directly
without going through gen directory. This made the
xxd generated names more fragile, had to tweak the DOCKER_BUILDKIT
script to workaround that.
Update PuzzleScriptPlus graphics source to allow custom font to work.
Only clear all sprite context when in PuzzleScript mode.
Use PuzzleScriptPlus mode on pzp files.
Make custom font off by default.
Fix minor build issues related to using old Ubuntu to build.
Add option to use precompiled font.js, Pillow was not working properly in old Python versions.
Remove hardcoded dependency on path structure for demo.pz, copy to bundle file properly.
Allow restarting games.
Add info file for retroarch to allow choosing pz content.
Add cheat code of SELECT+START to skip level.
Fix bugs discovered with Singleton Traffic game (level 3 graphics glitch).
Dynamically resize sprites if pixels drawn with fillRect beyond border.
Update sprite clearing to always clear all of updated width and height.