Skip to content

2.55.14

Choose a tag to compare

@github-actions github-actions released this 02 May 07:16

Download from the website, or at the bottom of this page.

Full Changelog: 2.55.13...2.55.14

Features

Player

  • press B to backspace in name entry grid mode 744499aaf
  • improve grid name entry mode 1f51cc913
     
    • Show on-screen controls for insert, backspace, confirm
    • Press 'Tab' to use keyboard to type name
  • gzip compress uploaded replays 6153fb25f
  • update replay versions on save load c730b0ee7
     

    Previously, save files associated with replay file were permanently pinned to their initial replay version. This prevented older saves from benefiting from subsequent engine bug fixes. The replay version now dynamically updates when a save file is continued, seamlessly bringing new fixes to ongoing playthroughs without breaking existing replays.

Editor

  • add 'Open Tile Page' to Combo Pages right-click menu 419fdbfc3
  • Add 'Select' to combo page right-click menu 2e0e6f780
     

    On using "Select":

    • Your current Combo + CSet you are drawing with are changed to the
      right-clicked combo.
    • Your current Drawing Mode is changed to Normal.
    • The active Combo Column will scroll to the selected combo.
    • The combo page dialog closes itself (so you can go use the selected
      combo quickly). Useful to quickly start using a combo / section of
      combos via the pages interface.
  • "DMap Levels" quest report, lists which DMaps are tied to each level 0af2a6d7f
  • show screen state carryovers in 'What Links Here' tool e7992a256
  • improve quest auto-backup and timed auto-saves fda90c526
     
    • Enable auto-backup by default.
    • Save all backups and auto-saves to a YourQuest.qst.backups/ folder.
    • Include timestamps and ZC version numbers in backup filenames for
      easier identification and recovery.
    • Implement read-only protection to prevent accidentally saving over
      files loaded from a backup folder.
  • typable searchbar in some old lister dialogs (ex. level palettes) 8dd17177b

Bug Fixes

  • prevent crash from listers using too much memory 8ffe102bb
  • prevent crash when loading music with non-ASCII filenames 782cbb596
  • [mac] prevent crash from deeply nested dialogs a6aa14dd0
  • prevent rare crash by checking if time mutex exists 344d442b6
  • compat issues with quests before 2.53 related to owning mcguffin items 5e87baedf

Player

  • check water correctly when scrolling down a277612ff
     

    When scrolling down while swimming, the player could sometimes incorrectly use a walking animation rather than swimming.

    This regressed in 2.55.12.

  • minor index logic error related to subscreens 69d4ce5e1
  • 'Show Hitbox' cheat hitboxes being slightly misaligned 6ab87bf89
  • show cheat hitboxes for invisible enemies fb0983d34
  • prevent crash when combos trigger dface2a9a
     

    Regressed in 2.55.13.

  • melee weapon hitboxes lingering forever based on 'Live One Extra Frame' rule 3ebb28f73
  • graphical errors in older quests 37475b9f2
     

    Many older quests were incorrectly drawing the player, held items, or some enemies and weapons over the subscreen.

    Regressed in 2.55 alpha 120 (93f25b6).

  • 'slashable' combos (tall grass, etc) wrongly 'cutting' via triggers tab d80ca68c2
     

    Due to some old half-finished code, slashables were responding to all weapons set in their combo triggers tab, even with ->ComboType Effects not checked. This behavior has been fixed, now requiring ->ComboType Effects to trigger.

    Old quests loaded will automatically update any affected combos to behave as they did previously.

  • Hero sometimes drowning when drown QR is off 1bfd4172e
  • Newer Hero Movement buggy collision re: damage combos along the top of the screen 85a2b22f0
     

    Hitting the corner of any solid horizontally was wrongly checking the TOP of the screen for damage combos.

  • 0-damage brang/hshot items not obeying script-changed damage values 278a0f17e
     

    If a script changed the damage of the weapon but not the item, enemies who don't have "Damaged by Power 0 Weapons" checked would take the ITEM's damage amount rather than the WEAPON's. This also affected generic scripts changing the damage in an enemy hit event.

  • Spinning Tiles not becoming the next combo b5d6fe0f5
     

    No idea when this initially "broke", or if it ever worked at all, but the help text says it is supposed to, so fixed it with a compat rule.

  • statue shooters / spintiles / etc not working properly with triggers fd6f3baa1
     

    triggers changing combos wasn't calling screen_combo_modify_preroutine()/postroutine()

  • Sprite light radius ignoring hit offsets e7cb154d7
  • prevent soft-lock in whirlwind over water 31acb4665
     

    This regressed in 2.55.13 (b27da2e).

Editor

  • prevent long label from visually breaking combo editor 5f76b941b
  • delete invalid command history 9e5205318
     

    When reducing the map count, the command undo/redo history were retaining entries for old maps. If attempting to undo/redo a command from a deleted map, the editor would crash.

    Now, those entries are deleted when the map count reduces.

  • prevent screen palette truncating to byte (0xFF) 2038dc8a2
  • Rename Under Combo -> Undercombo in many places for consistency c4bffbd24
  • don't show compat QR confirmation when creating new quest 98b53c99a
     

    When creating a new quest from an older tileset, don't show a confusing confirmation dialog about disabling compat QRs. It won't hurt a new quest to disable these QRs, and this dialog is likely to confuse new users.

  • show correct combos from adjacent screens 7d4c4f88d
     

    When the screen editor displays combos from adjacent screens, it was randomly showing the wrong combos.

    Regressed in 2.55 alpha 109 (be51583).

ZScript Standard Library (std.zh)

  • set MAX_DEFENSE to correct value 69e12ea8c
     

    It should be 41, but it was 42.

ZScript

  • broken bitmap draws 99d851094
     

    Some bitmap drawing methods were broken, such as masked draws used in a boss fight in Nayru's Odyssey. For that quest, it caused the boss to always be invisible.

    This regressed in 2.55.10.

    https://discord.com/channels/876899628556091432/1490714916439593141

  • npcdata->InitD[] / WeaponInitD[] being *10000 6d1d92a4c
  • class destructors ending prematurely 470b5bf18
     

    When a destructor calls a user function, the script engine incorrectly ended the destructor after that function call, skipping anything that came after.

  • skip JIT compiler for larger scripts 89061ed7a
     

    If the experimental JIT feature is on, now really large scripts are not compiled. It takes too long to compile large scripts in 2.55 so now we don't bother.

  • some included headers using bad DrawCombo frame parameter f91768189
     

    this fixes combo draws not animating properly in ghost, tango, and EmilyMisc.zh

  • add newlines missing in some error messages 1b67f37fb
  • change Region->OriginScreenIndex to int instead of long 8fd165bc8
  • add getters for ffc::LastChangerX and ffc::LastChangerY e00fe7fd4
     

    These were never implemented.

Refactors

  • [mac] unify F-keys for reset/quit 66102a674
     

    Previously on Mac, reset/quit were mapped to different keys than on other platforms because historically F9/10 were reserved by the OS. However, that is no longer the case on modern Macs.

    These function keys on Mac now match other platforms:

    • Reset is now F9 (was F7)
    • Quit is now F10 (was F8)
    • Screensaver and Palette Toggle have been moved back to F7 and F8,
      respectively
  • speed up subscreen draws by simplifying string operations f710001f8

Player

  • turn off replay_debug by default 45a023a99
     

    This makes replay files significantly smaller by disabling debug mode, which stores a hash for every graphics frame in the replay file. This is no longer needed for replays recorded by players so it's time to disable it.

Editor

  • format map, screen locations more consistently dd0ceb26c
     
    • Format map + screen pairs using a common format: decimal for map, hex
      with a 0x prefix for screen, and spaces for legibility. Example:
      19 : 0x5A.
    • Fix an issue in quest report tools that incorrectly used hex to format
      the map component.

ZScript

  • increase ZASM hang threshold 19cdd25b4
     

    Every set number of ZASM instructions, the scripting engine checks if the player hit F9 or F10 to allow them to quit during an infinite loop. The default was to check every 1000 instructions, but that is way too frequent. Now, the engine checks every 100k instructions. This reduces the amount of unnecessary overhead related to checking for key events.

ZUpdater