Features
- allow 'walk on top'  for all combos, not just Switch Block combos 
e92a4899f - Combo Trigger force ice physics / set player facing dir effects 
eb4dd3928 - unignite trigger flag 
409566718 - 'Cancel Trigger' combo trigger 
2e03541c8As a trigger effect, prevents triggers lower on the list from triggering from the same cause.
 
ZScript
- enable jit script compilation by default 
9f80b3d30This makes scripts much more efficient: between 2 - 10x.
Note: windows 32-bit is not supported.
 
Bug Fixes
Player
- pitfalls + Block Hole flag on same layer as block using wrong next combo 
3ec74f434 - handle when save no longer exists with "Reload Last Quest" on 
c87f283c2Instead of closing the program when the last quest save file cannot be loaded, load the title screen instead.
Also, store the save path instead of the slot index, since the latter can change when manually adding or deleting save files.
 - 'custom' and 'ice' weapons ignoring step speed from weapon data 
e825332a4 - custom and ice weapons ignoring tile width/height 
c01734369 - disable inline_functions zasm optimize pass for now 
347d78a92Got a sentry crash here, gotta investigate.
 
ZScript
Chores
- remove extraneous debug code from example quest script buffer 
692036d66 - rename log_call_limit_error 
1b4188aed 
Editor
- note qr requirement for player-sliding ice 
31e42f6c7 
Refactors
- add helper function to check -flag, -no-flag, then the config value 
ac5744f5f - store triggerflags as bitstring, change internal constants to indexes 
54f61d302 - standardize most combo trigger loops 
7c866ab00 
Player
- remove jit precompile config option 
90b1dc097 - log zasm optimize results to allegro.log, not stdout 
32478f822 
ZScript
- improve stack overflow error behavior 
dcac26d53Previously, if a script used too many stack variables (typically by doing lots of recursion), the engine would (sometimes) emit a warning, "wrap around" the stack pointer, and continue executing the script. However, that results in very buggy and random behavior, and is never recoverable.
Now when the stack overflows, the script is stopped.
 - increase stack from 1 KB to 5 KB 
b118e9fc1 - limit max nested function calls to 1024 
37a0a4f13 - upgrade to jitted script without stalling game 
4be7097b0Previously, with jit enabled the game would stall if a script tried to run before a background thread could compile it. Now the engine runs the script as normal (via the interpreter) until jit compiler is done compiling. Then, the script will be "upgraded" to use the compiled code.
 - check for stack overflow / call limit in jit 
df36bad3e 
CI
- add compiler to test workflow artifact name 
ae0412313 - fix bad yml workflow from previous commit 
f604567cc - fix bad yml workflow from previous commit (again, I hate github actions) 
66bc72724 
Misc.
- update trigger_example.qst 
08bbbc1bd