Skip to content

2.55.12

Choose a tag to compare

@github-actions github-actions released this 19 Jan 08:50

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

Full Changelog: 2.55.11...2.55.12

Features

Player

  • multiple control schemes 9a0182f38
     

    You can now configure different schemes for keyboard/gamepad controls, and configure quests to use a specific scheme.

    The dialog for binding controls has also been improved.

Editor

  • new boxes to enter timed warp time in minutes/seconds ceb6695ae
  • improve map view with mouse zoom/drag 2a349cae4
  • added 'Combo Pools' / 'Auto Combos' to 'Quest->Graphics' menu 06f1f7f1d
  • add 'Open Combo Page' to screen right-click menu dbe015ec5
  • subscreen editor option for "Duplicate In-Place" 1931e10fc
     

    If enabled, duplicating a widget will place the new one at the same x,y as the original, instead of shifting it down-right by 1 grid unit.

  • right-click the map/screen bookmarks to clear fd7fc9967

ZScript Standard Library (std.zh)

  • add a few functions dc935961e
     
    • GetLayerComboE: green effect square
    • DrainedCounter: counter's current value, accounting for DCounter
    • InputToDir / PressToDir: get direction based on held/pressed inputs
    • DirToInput / DirToPress: sets input based on a direction

Bug Fixes

  • scrolling ui panes sometimes blanking out contents 4f8ef4898
  • [win] correctly position drive selector in file dialog f7a8c5bcd
     

    When the tileset dialog wizard opens the file dialog, it could sometimes incorrectly position some elements, mostly the drive selector.

  • build with PulseAudio support; fixes sound in many Linux distros 3965d994f
  • improve keyboard driver e030ca6d2
  • missing 8 pixels in active subscreen 2f80e5f3b
     

    compat qr for old behavior

  • allegro5 render layers having uninitialized transforms 52492d4bf

Player

  • prevent drowning when walk-through-walls cheat is enabled cfada59fc
  • lift glove action script clearing owned script objects after first frame 3fc7bd3bd
  • hookshot wedging the player into walls sometimes 43565e06d
     

    This bug has apparently been present since 2.50.2, and already HAD a fix implemented, the fix was just very slightly broken.

  • only force grab one held-up item at a time 948012a89
     

    If the player collects multiple items at or around the same time, and those items run the "hold up" animation, only the first item would show the holding animation while the others would silently be collected.

    Now, the items are collected and held up one at a time. Note that this only applies to "force grabbed" items (ex: settable in scripts via itemsprite::ForceGrab, or as the result of some triggers).

  • draw transparency correctly during death 2971b6aed
     

    During the death animation, the first frame of the redshift did not correctly update the transparency table, so transparent colors appeared darker than they should.

  • getting stuck on solid FFCs w/ new movement disabled 2e6e7ad07
  • "respawning" to another screen using wrong dmap's xoffset 167bb6409
  • properly load files saved as .QST 87bd2424c
     

    The qst file selector when creating a save was always making the file extension lowercased. On Windows and Mac that doesn't matter because the filesystem is case insensitive, but on Linux / web it prevents loading files saved as .QST rather than .qst

  • Active shields and Passive Button Roc Items not running scripts 32739ce1c
     

    Active shields (either standard or set on a passive button), and Roc Items (set on a passive button) were not running their Action Script when used.

  • prevent exploding bombs falling into pits not near them 6239f1bb4
     

    This was caused by bombs having a large hit offset when exploding, and a check was bounding the coordinates back into the valid screen area. This caused the bomb to fall into pits along the right edge of the screen.

  • prevent player getting hit by some sources during pitfalls 0f11f6771
  • Whistle defense not respecting 'Ignore' behavior 816c2ab2c
  • 'Menu' gamepad button not activating the menu f128fc2ac
  • use configured Halt Duration, Acceleration Factor for peahats 660dce5e2

Editor

  • don't incorrectly show '-->' in the String list 45a99ca3e
     

    Now it appears when it is the 'Next String' of the string visibly above it in the list, regardless of the base index number.

  • quest report Save button not working 01d727dc4
  • enemy defense list missing 'Switch w/ Player' 9034ff4c6
  • correctly show cset/combo type for selected layer bd242a752
     

    The "Show CSets/Types" feature is meant to only show the currently selected layer, but instead it was showing the highest layer (except for when "Show Flags" was also enabled, which prevented the bug).

  • prevent rare crash in subscreen Counter Block wizard 33a1c7bfb
     

    If the "Inf Char" field was empty when the dialog closes, the program could possibly crash.

  • improve usability of number input fields 04a904c1a
     

    Some number input fields limit the number of characters based on the max value; but these required deleting the "0" before it would allow typing the full value, which was clunky.

    Now these fields have an additional character space to account for the leading 0.

  • remove frame of lag when opening tiles dialog 19d527be7
  • lag in tile/combo/alias/etc pages dialogs 3bf07b571
  • skip timed autosave when there are no changes 8f632c095
     

    Autosave no longer saves if there are no changes since the last save, just like normal saves. This prevents the window from popping up repeatedly when the editor is idle.

  • dmap import/export 36a122f1f

ZScript Standard Library (std.zh)

  • update ghost.zh to use 128 ffcs instead of 32 35f334d07

ZScript

  • using [] on some types crashing the parser eba6c7b1d
  • support changing BS-Zelda animation, many scrolling related QRs bb17908bb
  • prevent crash in Game->GetItem() a37ae067e
  • prevent crash when using empty string with some file functions b9087daaf
  • for x64 jit, check CPU supports SSE4.1 2bbee11b7
     

    This prevents a crash when the jit is enabled on CPUs that don't support SSE4.1 (~2007 for Intel, ~2013 for AMD).

  • printf/sprintf '%f' improperly ending in . instead of .0 for integers d39af768c

Web

  • resolve issues with non-US standard keyboard layouts 562efd3ed

Build

  • improve packaging, lean on CMake more 4706ad025
     

    The cmake --install command should now work on all platforms to install ZC locally.

    • Updated docs/building.md
    • Use CMake's install and cpack features to coordinate what resources
      and shared libraries are needed at runtime, and for creating
      distributable packages. This replaces package.py and package_mac.sh
    • On Linux, follow conventions: shared libraries go into lib/, binaries
      go into bin/, and resources go into share/zquestclassic
    • For the generated Mac .dmg, add custom background saying "Take this!"
    • For Mac app bundles, .dylib files now go into Contents/Frameworks
      instead of Contents/libs
  • vendor libdumb and link statically d44f0a0f3
  • switch to libjpeg_turbo c05b743a3
  • upgrade allegro c2299147b
     

    connorjclark/allegro5@my-fork-13...my-fork-14

  • vendor zlib 1e3e2dad9
  • vendor libpng b87420dfa
  • update nativefiledialog f0d5a9fed
     

    This fixes an issue where on Windows the native file dialog always opened at the most recently viewed folder, instead of using whatever folder ZC requested to open.

Refactors

  • speed up bitmap rendering by removing branch 3da9eb561
  • speed up draw_tile16_unified bd469e6f4
  • simplify overtile16 138d6de4d
  • speed up puttile16 ba9da39a0
  • speed up drawtile16_cs2 509b54ba9
  • speed up overtile8 ad919af18
  • cache bitmap used in overtile16_scale eeb3cc0d6
  • use vsnprintf instead of uvszprintf for text rendering 9acde4ca5
     

    The Unicode-aware allegro function makes text rendering ~40% slower, but we don't need Unicode here.

  • log error reason when failing to open file f1bf667e2
  • log all al_trace output to stdout (except on Windows) daee43d7a

Player

  • stop printing include paths in zplayer 20e2f715a

Editor

  • upgrade Under Combo dialog to new gui ad71fafae