Skip to content

3.0 Prerelease 136 2025-10-15

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.135+2025-10-08:

Features

Editor

  • new boxes to enter timed warp time in minutes/seconds f8b829b1b

ZScript

  • log error when GetPixel input is out-of-bounds 408947a3c
  • npc->Flags[] array to access more enemy flags 1a38b0065

Bug Fixes

  • prevent rare crash when destroying null midi ab9ad2fc8

Player

  • prevent crash from snapshot on title screen f059a733b
  • prevent trigger change effect resulting in invalid combo e7669e21c
     

    When the combo change for a trigger effect produces a combo with a bad ID (negative or larger than the max), the engine would crash. Now, the resulting combo is clamped to the valid range.

  • subscreen widget item conditions not obeying bunny / dmap disables fbb96e5f4
  • include portal refs in has_implemented_register_invalidations b7f6061cc
  • don't always force background on passive subscreens 89447e378
     

    When in a scrolling region but not using an extended height viewport, a solid background is drawn below the passive subscreen to hide the portion of the region underneath it. However, that background was also being drawn while opening the subscreen, which was unintended.

  • prevent rendering passive subscreen twice in extended height mode 4e0b8f101
  • allow background to be transparent in active subscreens 254641437
     

    When the compat QR "Old Engine Subscreen Quirks" is off, a bug caused the background for active subscreens to never display the playing field even when the subscreen did not have a solid background.

  • use correct bitmap for new drawing code ffcs 014e585d0
     

    Regressed recently in 3.0.0-prerelease.132+2025-09-09 (3ee61b0).

Editor

  • handle all filesystem errors when creating quest package e49d6a4d5

ZScript

  • load initial screen before onSaveLoad global script cf7b17d3e
     

    When the "Use Old Global Init and SaveLoad Timing" compat QR is off, the onSaveLoad global script ran before the initial screen even loaded. That made accessing anything on Screen do the wrong thing.

    Now, this global script can access the initially loaded screen.

  • @deprecated comment tag properly works on non-internal functions 00b73a3f9
     

    Used to mark some old std_functions as deprecated

Refactors

Player

  • skip zasm optimizer for scripts with 1 instruction d8486cd98

ZScript

  • remove some unused constants 81d7dc11d
  • remove some unused bitmap stuff 9155d047e
  • remove unimplemented Hero->SetItemA/B c2138aca9
  • remove unimplemented weapon pattern stuff 84a996bc0

Tests

  • update z3.qst active subscreen to have transparent background 585a940bc