https://zquestclassi...leases/2.55.12/
To help reduce the number of bugs in official releases, here is an unofficial prerelease build to give people a chance to find and report any obvious new bugs. The official release will come in a few days.
Use this thread to discuss or ask questions about the new changes.
Changelog:
# Featureszc: multiple control schemesYou 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.zq: new boxes to enter timed warp time in minutes/secondszq: improve map view with mouse zoom/dragzq: added 'Combo Pools' / 'Auto Combos' to 'Quest->Graphics' menuzq: add 'Open Combo Page' to screen right-click menuzq: subscreen editor option for "Duplicate In-Place"If enabled, duplicating a widget will place the new one at the same x,yas the original, instead of shifting it down-right by 1 grid unit.zq: right-click the map/screen bookmarks to clearstd_zh: add a few functions* `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 Fixesscrolling ui panes sometimes blanking out contents[win] correctly position drive selector in file dialogWhen the tileset dialog wizard opens the file dialog, it could sometimesincorrectly position some elements, mostly the drive selector.build with PulseAudio support; fixes sound in many Linux distrosimprove keyboard drivermissing 8 pixels in active subscreencompat qr for old behaviorallegro5 render layers having uninitialized transformszc: prevent drowning when walk-through-walls cheat is enabledzc: lift glove action script clearing owned script objects after first framezc: hookshot wedging the player into walls sometimesThis bug has apparently been present since 2.50.2, and already HAD a fiximplemented, the fix was just very slightly broken.zc: only force grab one held-up item at a timeIf the player collects multiple items at or around the same time, andthose items run the "hold up" animation, only the first item would showthe holding animation while the others would silently be collected.Now, the items are collected and held up one at a time. Note that thisonly applies to "force grabbed" items (ex: settable in scripts via`itemsprite::ForceGrab`, or as the result of some triggers).zc: draw transparency correctly during deathDuring the death animation, the first frame of the redshift did notcorrectly update the transparency table, so transparent colors appeareddarker than they should.zc: getting stuck on solid FFCs w/ new movement disabledzc: "respawning" to another screen using wrong dmap's xoffsetzc: properly load files saved as .QSTThe qst file selector when creating a save was always making the fileextension lowercased. On Windows and Mac that doesn't matter because thefilesystem is case insensitive, but on Linux / web it prevents loadingfiles saved as .QST rather than .qstzc: Active shields and Passive Button Roc Items not running scriptsActive shields (either standard or set on a passive button), and RocItems (set on a passive button) were not running their Action Scriptwhen used.zc: prevent exploding bombs falling into pits not near themThis was caused by bombs having a large hit offset when exploding, and acheck was bounding the coordinates back into the valid screen area. Thiscaused the bomb to fall into pits along the right edge of the screen.zc: prevent player getting hit by some sources during pitfallszc: Whistle defense not respecting 'Ignore' behaviorzc: 'Menu' gamepad button not activating the menuzc: use configured `Halt Duration`, `Acceleration Factor` for peahatszq: don't incorrectly show '-->' in the String listNow it appears when it is the 'Next String' of the string visibly aboveit in the list, regardless of the base index number.zq: quest report `Save` button not workingzq: enemy defense list missing 'Switch w/ Player'zq: correctly show cset/combo type for selected layerThe "Show CSets/Types" feature is meant to only show the currentlyselected layer, but instead it was showing the highest layer (except forwhen "Show Flags" was also enabled, which prevented the bug).zq: prevent rare crash in subscreen Counter Block wizardIf the "Inf Char" field was empty when the dialog closes, the programcould possibly crash.zq: improve usability of number input fieldsSome number input fields limit the number of characters based on the maxvalue; but these required deleting the "0" before it would allow typingthe full value, which was clunky.Now these fields have an additional character space to account for theleading 0.zq: remove frame of lag when opening tiles dialogzq: lag in tile/combo/alias/etc pages dialogszq: skip timed autosave when there are no changesAutosave no longer saves if there are no changes since the last save,just like normal saves. This prevents the window from popping uprepeatedly when the editor is idle.zq: dmap import/exportstd_zh: update ghost.zh to use 128 ffcs instead of 32zscript: using `[]` on some types crashing the parserzscript: support changing BS-Zelda animation, many scrolling related QRszscript: prevent crash in `Game->GetItem()`zscript: prevent crash when using empty string with some file functionszscript: for x64 jit, check CPU supports SSE4.1This prevents a crash when the jit is enabled on CPUs that don't supportSSE4.1 (~2007 for Intel, ~2013 for AMD).zscript: printf/sprintf '%f' improperly ending in `.` instead of `.0` for integersweb: resolve issues with non-US standard keyboard layouts# Buildimprove packaging, lean on CMake moreThe `cmake --install` command should now work on all platforms toinstall ZC locally.* Updated docs/building.md* Use CMake's install and cpack features to coordinate what resourcesand shared libraries are needed at runtime, and for creatingdistributable packages. This replaces package.py and package_mac.sh* On Linux, follow conventions: shared libraries go into lib/, binariesgo 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/Frameworksinstead of Contents/libsvendor libdumb and link staticallyswitch to libjpeg_turboupgrade allegrovendor zlibvendor libpngupdate nativefiledialogThis fixes an issue where on Windows the native file dialog alwaysopened at the most recently viewed folder, instead of using whateverfolder ZC requested to open.# Refactorsspeed up bitmap rendering by removing branchspeed up draw_tile16_unifiedsimplify overtile16speed up puttile16speed up drawtile16_cs2speed up overtile8cache bitmap used in overtile16_scaleuse vsnprintf instead of uvszprintf for text renderingThe Unicode-aware allegro function makes text rendering ~40% slower, butwe don't need Unicode here.log error reason when failing to open filelog all al_trace output to stdout (except on Windows)zc: stop printing include paths in zplayerzq: upgrade Under Combo dialog to new gui

