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
2e03541c8
As a trigger effect, prevents triggers lower on the list from triggering from the same cause.
ZScript
- enable jit script compilation by default
9f80b3d30
This 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
c87f283c2
Instead 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
347d78a92
Got 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
dcac26d53
Previously, 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
4be7097b0
Previously, 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