Rob Loach
d14d5ff9c1
Add Cheats
2024-01-22 12:33:41 -05:00
Nathan Whitehead
10412d1d54
Merge pull request #9 from RobLoach/input_descriptors
...
Add Input Descriptors
2024-01-22 09:48:13 -07:00
Rob Loach
3da1ba8550
Add Input Descriptors
2024-01-22 11:35:45 -05:00
Rob Loach
f534d51317
Update to QuickJS 2024-01-13
2024-01-22 11:09:35 -05:00
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
96bfc5f860
Remove reliance of QuickJS on fenv.h.
...
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.
2022-09-29 10:08:33 -06:00
Nathan Whitehead
da2996e74a
Fix small things to help cross-platform compatibility.
...
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.
2022-09-29 09:56:17 -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
0a4a36dad5
Turn back on warnings and errors outside of QuickJS.
2022-09-27 17:51:14 -06:00
Nathan Whitehead
ed6081bb0f
Fix QuickJS memory leak related to global object.
...
Remove debug log output.
2022-09-27 17:30:09 -06:00
Nathan Whitehead
cf40b5ae2f
Remove legacy Duktape files, update license text.
2022-09-27 17:21:23 -06:00
Nathan Whitehead
72d23f029c
Switch to QuickJS.
2022-09-27 16:50:28 -06:00
Nathan Whitehead
6c71b35be6
Remove extra debugging code.
2022-09-25 21:52:55 -06:00
Nathan Whitehead
328965f7fe
Regenerate bundle file with PuzzleScriptPlus changes.
2022-09-25 21:51:24 -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
050cdc781d
Commit bundled file for simple Makefile builds.
...
Update makefile to include C sources.
Update common makefile to use c++17 (didn't see a way to do this in Makefile).
2022-09-25 12:51:02 -06:00
Nathan Whitehead
6c83886129
Switch cheat to be A + START.
...
Add script to generate pz files from Phil Schatz's repo.
2022-09-22 19:22:53 -06:00
Nathan Whitehead
f55ad80352
Remove stb files (not needed).
...
Update npm babel to babel-cli.
Rework dockerfile to work without node_modules already installed.
2022-09-22 18:54:46 -06:00
Nathan Whitehead
ac956bc9e6
Make restarting choose right font choice.
2022-09-22 12:17:23 -06:00
Nathan Whitehead
b841bc87c4
Tidy up build default options.
...
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.
2022-09-22 12:13:15 -06:00
Nathan Whitehead
fc5ef53bda
Add core option to turn on/off custom antialiased font.
2022-09-22 10:57:40 -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
06cf09db55
Add full duktape project
2022-09-20 10:52:21 -06:00
Nathan Whitehead
6124faa872
Fixup optimization levels, add better main loop timing
2022-09-20 10:16:39 -06:00
Nathan Whitehead
f5e88fd824
Use custom font
2022-09-19 13:53:09 -06:00
Nathan Whitehead
7adb13131d
Generated font and babel in gn script
2022-09-19 13:37:23 -06:00
Nathan Whitehead
ca68002266
Clip sprite positions during blit.
...
Turn on c++ debug mode to catch vector illegal accesses.
2022-09-19 09:05:25 -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
2bfa0e76de
Integrate SFXR code from old pzgood project
2022-09-18 22:30: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
69ffec478a
Add js set method for setting js state.
...
Move main.js call to ROM load phase.
2022-09-18 21:55:13 -06:00
Nathan Whitehead
1dc0be440b
Tidy up main js
2022-09-18 21:26:51 -06:00
Nathan Whitehead
f79ad14646
Test flicker again, still need double buffer to avoid whole screen flicker
2022-09-18 21:20:22 -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
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
a096cfc1d2
Swap around some default keys.
2022-09-18 17:01:41 -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
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