Skip to content

3.0 Prerelease 134 2025-09-28

Pre-release
Pre-release

Choose a tag to compare

To download this release, visit the ZQuest Classic website or see the bottom of this page.

The following are the changes since 3.0.0-prerelease.133+2025-09-14:

Features

ZScript

  • support negative indices for internal arrays fae2ad2be
     

    Some 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 4287b3f26
     

    Many 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 dialog c87564605

ZScript

  • correctly return default value for out-of-bounds index 5e67ffdc5
     

    Some 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 51d701517
     

    The 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 b8d605b50
     

    Just to separate from replays for normal saves.

ZScript

  • always return 0 for out-of-bounds access for internal arrays e323678cb
     

    Some 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.

CI

  • update softprops/action-gh-release action a90814423
  • update mathieu-bour/setup-sentry-cli action 40ae1928f