Commit Graph
39 Commits
Author SHA1 Message Date
Nathan Whitehead 883b9675e5 Switch SELECT+LEFT/RIGHT to be level section keys.
Add js code to move level up and down in a sensible way.
Update readme a bit.
2022-10-01 09:23:37 -06:00
Nathan Whitehead b9da3373a3 Add initial support for save states.
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.
2022-09-30 11:01:42 -06:00
Nathan Whitehead cb9a13b19f Remove all traces of npm, babel, es5.
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.
2022-09-27 21:10:07 -06:00
Nathan Whitehead 0a3a0b087f Split out partial sprite rendering, add bindings into JavaScript.
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.
2022-09-25 21:50:21 -06:00
Nathan Whitehead fa2338d190 Initial try with PuzzleScriptPlus.
Status: files running, incorrect logic, incorrect graphics.
Not sure what's going on at the moment.
2022-09-25 19:57:36 -06:00
Nathan Whitehead 0a118ab089 Calculate update times more correctly (fixes lots of timing issues yay) 2022-09-22 11:27:38 -06:00
Nathan Whitehead 73d3d9b632 Tidy up and remove unused files.
Remove sysfont code.
Update LICENSE file to mention all used licenses.
2022-09-21 16:46:16 -06:00
Nathan Whitehead 81b1ea24a2 Tidy up readme
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.
2022-09-21 14:53:30 -06:00
Nathan Whitehead 3e6c0945f1 Update instruction screens to let games keep talking about keys 2022-09-20 14:38:10 -06:00
Nathan Whitehead 6124faa872 Fixup optimization levels, add better main loop timing 2022-09-20 10:16:39 -06:00
Nathan Whitehead c15e50094f Interpolate colors to get aliasing for text glyphs. 2022-09-19 19:53:29 -06:00
Nathan Whitehead 5e26ca682a Antialias text (with fixed gray levels) 2022-09-19 14:55:02 -06:00
Nathan Whitehead 05e06e2a94 Trying to make hires text look good. 2022-09-19 14:18:39 -06:00
Nathan Whitehead 7adb13131d Generated font and babel in gn script 2022-09-19 13:37:23 -06:00
Nathan Whitehead 66a2b8d611 Add second level to demo to help with testing of secondary continue screen. 2022-09-19 10:46:46 -06:00
Nathan Whitehead 5ca993736b Fixup title screen instructions, fix bug in glyph rerendering on size change 2022-09-19 10:35:37 -06:00
Nathan Whitehead fb785119ed Fixup title spacing a bit and make instructions consistent. 2022-09-18 23:39:43 -06:00
Nathan Whitehead cab2d4f3da Make sounds work 2022-09-18 23:20:09 -06:00
Nathan Whitehead 0dd1baa455 Clean up sfxr interface a bit. 2022-09-18 22:44:16 -06:00
Nathan Whitehead 53c2a6f84e Handle sound hooks (with prints and not sound yet) 2022-09-18 22:13:37 -06:00
Nathan Whitehead 715b4c48f4 Better handling of default game, explicit file now. 2022-09-18 22:06:49 -06:00
Nathan Whitehead 1dc0be440b Tidy up main js 2022-09-18 21:26:51 -06:00
Nathan Whitehead b9f36c50d5 Remove instances, just keep sprites and render main canvas sprite in redraw directly. 2022-09-18 21:17:12 -06:00
Nathan Whitehead 9dbf12cbb1 Playing with bg color 2022-09-18 20:49:01 -06:00
Nathan Whitehead 43929e68df Fixup message at start, add screen fill to bg color (seems useless?) 2022-09-18 20:36:38 -06:00
Nathan Whitehead fbe4136a96 Fix flicker on arm with double buffer and flip method. 2022-09-18 19:38:04 -06:00
Nathan Whitehead 68341ee85c Woot get transparency working 2022-09-18 16:53:00 -06:00
Nathan Whitehead c75d6e26cd Close to working 2022-09-18 16:30:31 -06:00
Nathan Whitehead 3b747e7a4b Add events and queue to run handler in right JS thread 2022-09-18 15:58:23 -06:00
Nathan Whitehead e118454831 Delete docs which were messing up greps, test single Return press 2022-09-18 14:58:37 -06:00
Nathan Whitehead f9e9cf49e4 Added setup and postsetup that seem to be stopping all eval errors to start screen 2022-09-18 14:22:02 -06:00
Nathan Whitehead c97ff96dae Adding puzzlescript es5, working on filenames for evals. 2022-09-18 11:59:12 -06:00
Nathan Whitehead 788a6efbc9 Start interpreting puzzlescript source 2022-09-18 11:17:34 -06:00
Nathan Whitehead 9f897eaa16 Adding dom setup stuff 2022-09-18 10:45:54 -06:00
Nathan Whitehead b344f79329 Add rng module and try it 2022-09-18 10:34:08 -06:00
Nathan Whitehead ffe514a11f Add timer capability and hook to js 2022-09-17 22:40:24 -06:00
Nathan Whitehead 13d527d6ba Sprites have instances, and native methods for instances. 2022-09-17 15:10:33 -06:00
Nathan Whitehead c675b23b2a Tidy sprites, better js thread interface. 2022-09-17 14:46:01 -06:00
Nathan Whitehead cb81f080bf Reorg dirs 2022-09-17 10:13:40 -06:00