Features
ZScript
- support negative indices for internal arrays fae2ad2beSome internal arrays would bound the index to force it to be valid, while others would instead error and give a default value. Now, indices are never bound, and instead if the index is negative it will "wrap around" to the end of the array, just like all other arrays do. Previous behavior is available behind a compat QR. 
Bug Fixes
Player
- poor scrolling in extended height regions and very fast scrolling e1cd4c2d6
- add missing register dependencies for many arrays 4287b3f26Many arrays were not configured that they rely on the D0 register, which could make the zasm optimizer break scripts. 
Editor
- Map Settings dialog ?button closing dialogc87564605
ZScript
- correctly return default value for out-of-bounds index 5e67ffdc5Some internal arrays were not returning the default value when the index is out-of-bounds. 
Documentation
- default draw origin comment was backwards 273372cb1
Build
- prevent custom cmake commands from re-running 253a034a5
Chores
- update replay_uploads_known_good_replays.json 837cc2987
Refactors
- check each file section version for validity fa68a9f0b
- remove date check when loading qst 51d701517The date check had some correctness issues and was kind of complicated, and the explict version checks are sufficient, so it's been removed. 
Player
- remove now unusued just_initialized logic from jit compile 6a69ee56b
- move liveness analysis to zasm_utils.cpp 7cae4c315
Editor
- save test mode replays to "replays/test" folder b8d605b50Just to separate from replays for normal saves. 
ZScript
- always return 0 for out-of-bounds access for internal arrays e323678cbSome internal arrays would return non-zero values if the index used was invalid. Now, all return zero. Previous behavior is available behind a compat QR.