Skip to content

2.55 Alpha 115

Compare
Choose a tag to compare
@github-actions github-actions released this 10 Jul 04:52

Downloads available at the bottom of this page.

Full Changelog: 2.55-alpha-114...2.55-alpha-115

Haven't kept up with the latest alphas? Check out their release notes:


Alpha 115 has lots of bug fixes (including fixing many bugs that could corrupt quest files) and performance improvements!

Features

  • Pushed-> triggerflag, triggers when the combo clicks into place after a pushblock push. 218b1d071
  • customizable ripple/tallgrass sprites per-combo 715893f35
  • increase combo label limit from 11 to 255 edea0722a

Editor

  • 'Test Quest' hotkey (default 'Ctrl+T') 79a292c4f
  • Finish signpost combo wizard ccccaf6a7
  • AutoBrush now will revert to 1x1 after placing if ALT is held while selecting an area. 43825d2b6
  • Compiler settings now searchable in QR search dialog cedf82689
  • Screen Palette menu now previews in the window behind it c98758a57
  • -quick-assign CLI switch to compile + assign 31efdf60c
     

    Example usage:

    ./zquest.exe your_quest.qst -quick-assign

  • tile editor 'Esc' deselects selections (if something selected) c9df55421
  • Add 'General Tab' to advanced-paste combo dialog (and clean up the dialog) 516526658

ZScript

  • Weapon death effects + liftability settings 5b87f8712
  • Hero->MoveAtAngle(), Hero->Move() 424840536
  • generic event HERO_HIT can now understand FFC/combo position 03706f16a
  • Hero->ShieldJinx, new generic events (drown, fall, HeroHit applies to shallow liquid) 59337477d
  • -include switch to set include paths 20480cb28
  • Graphics->ConvertRGBTo() and Graphics->ConvertRGBFrom() a37a156f2

Bug Fixes

  • add some sanity checks to font initialization b659ab974
  • do not show hidden files in file selector cf932f82b
  • memory corruption in quest load from bad palcycles 72f741728
  • memory corruption in quest load from bad shop count 7b43ff57e
  • memory corruption in quest load from bad door combo count 01f4a2cc8
  • memory corruption in quest load from bad item count dafd04b15
  • memory corruption in quest load from bad weapon count 1fa149c51
  • memory corruption in quest load from bad warp count bf64cf4b5
  • memory corruption in quest load from bad string length 8b9883ac4
  • memory corruption in quest load from bad misc info count de4595fbc
  • prevent over-allocation in quest load from bad map count a262c53f7
  • memory corruption in quest load from bad string copies bf5fa4c5d
  • prevent over-allocation in quest load from bad script commands 51dd859de
  • memory corruption in quest load from bad zinfo weapon count 70910a8e3
  • memory corruption in quest load from bad zinfo counter count 40ace2986
  • memory corruption in quest load from bad zinfo mapflags count aee1105d1
  • memory corruption in quest load from bad zinfo combotypes count 46521737e
  • memory corruption in quest load from bad zinfo itemtypes count b1c8944db
  • memory corruption in quest load from old pwd hash check 941720a37
  • memory corruption in quest load from repeat section ids 75057cf10
  • prevent over-allocation in quest load from bad script bindings 3240f577b
  • memory corruption in quest load from bad subscreen strcpy f30cc94ff
  • memory corruption in quest load from bad sfx length fe8a0e887
  • memory corruption in quest load from bad warp count (old) da70b79fe
  • memory corruption in quest load from bad genscript count 8bf716bdc
  • memory corruption in quest load from bad dropset count 8d5d7f8f9
  • use-after-free bug in widget label 84539eff0
  • greatly reduce cpu usage when drawing dialogs 5d166d15f
  • set dirty flag for more dialogs needing redraw, missed some d5c5f0d41
  • properly handle mp3 unloading to avoid crash 8a33b68b9
  • set dirty flag for list search components 50fae6629

Player

  • cleanup bush/flower/etc decoration sprite code 3c8baa1e4
  • items/weapons/players not rounding y coordinate when landing 2ea7a5fe9
  • 'Save Indicator' option now works to toggle the 'Saving...' text 1a700f533
  • mouse cursor not appearing in some popups 19087bf7d
  • prevent Hero->CanMove unwanted side effects b60185559
  • fix dropped input when script modifies input state a773ac9ba
  • Fix 4-way "Newer Player Movement" 81710c1ee
  • signpost prompts take priority over triggers tab prompts 347bc58fb
  • Newer Player Movement issues with fitting in half-tall gaps 1210ef14a
  • waitdraw not working for ffcs over 32 ae823474a
  • do not stop at first ffc for lens trigger 90eff0ba4
  • npc scripts not running on screen load c8e2c861e
     

    Fixed npc scripts not running on the first frame that a screen loads, resulting in a single frame of spawn poof before you can hide or change the tile of the enemy.

  • enemies not running scripts on first frame with scriptloadenemies 935757d42
     

    forgot to handle this when fixing last commit

  • Fix writing to shopdata->Price[] 7094e8d8c
  • fixed new (non-classic) respawn points being unsafe in sideview c41729262
  • off-by-one error with ffc link delay 996dc964d
  • Should fix all instances of things occurring on the wrong screen when scrolling bae07692c
  • system reset when recording in test mode f35c89de7
  • scrolling on to raft paths no longer forces you to raft (compat ruled) 1412cab3e
  • mid-scroll is no longer a "safe respawn point" 9d691ad0c
  • LW_THROWN weapons not running weapon scripts 45ada8199
  • Throwing in sideview 384513a3b
  • windows crash as writing .zplay.result.txt file when exe not approved 0fe78dde3
  • Test Mode issues when quitting during opening wipe 95e3288ec
  • ignore unintentional input on first frame of subscreen 0573804d3
  • Torch combos now function on pushblocks 0a56608dd
  • force system pal after matrix screensaver b40f8d5ce
  • non-torch pushblocks no longer cast light c8d359531
  • use-after-free bug when picking up triforce 424279031

Editor

  • combo pool paintbrush was broken 50ac2928f
  • 'k' in assign slots dialog confirming 0a63b6075
  • minimap graphical oddities b91e5977b
  • map out of bounds crash report 56921d432
  • string list dropdowns were offset aaeaeccf0
  • string list ordered wrongly in dropdowns bee021913
  • undo history for "Paste FFC as ..." 023f81c00
  • undo history for "Paste FFC Data" d77c8b93f
  • gui label text wrapping on strings without spaces a49fe973c
  • background blank-out after adjusting tiles in string editor 4f855abaf
  • bad pointer alias crashing QR search dialog f63fbaa0a
  • stop using corrupted file handle when saving .zcheat file 2deb39605
  • properly load qst when grabbing tiles acacb5a21
     

    The loadquest function was erroring on the ffscript section, but only when "keep data" was disable for that section. The section loading code was improperly read the file, which resulted in the password hash not being set in the header, which resulted in an errant password check prompt.

  • do not show guys in screen enemy selector 28c47172e
     

    The first twenty enemy ids are reserved for guys, and can produce unexpected behavior when used as screen enemies. If a screen is using one of these enemy ids, the name was showing as "(None)" in the screen enemy list. It will now show "Guy - Do Not Use!".

    The enemy selector list also will no longer show any of these enemy ids.

  • more fixes to load quest usage of keep data 6cfcd45f8

ZScript

  • dmap scripts not updating 217b877c3
  • use sane qrs by default for parser CLI 5ed5d3b9d
  • backwards byte order of the rgb type used by paldata 79fa156a5
  • use correct engine data for player scripts 9ff13b90d
  • setting input buttons to false correctly prevents button press 656bb7628

ZConsole

  • [win] use async i/o, speeds up zscript debugger 2bbc6e58b

Documentation

Editor

  • Clean up tooltips for combos on the screen. 175152592

Build

  • set zquest as default startup target in VS 19d7ea741
  • add Asan build type 33ecea2aa
  • support Asan build type for zelda target dd924d048

Chores

Player

Editor

Refactors

  • remove classic_qst.dat, use default.qst e6e5c9906
     

    ~200KB smaller, and easier to change (no grabber.exe).

  • rename solid_object hxsz, hysz to hit_width, hit_height 0fccb318c

Player

  • remove indirection in calling scripts based on version a7bdf12cd
     

    This just makes the code harder to understand. And dereferencing a pointer for a function call is certainly slower than relying on cpu branch prediction to do its thing.

  • add interface for combo cpos_infos cc2c6aa8a
  • tweak and document MAPCOMBO3 ead694178
  • replay_version_check f461b1071

Editor

  • Level Palette shortcuts cleanup, add warning with dsa 2df440583
  • new clean compiler settings dialog + help text d9528ee4f

ZScript

  • common interface for script engine data afd10f7e4
  • use ScriptEngineData for item scripts 3d13a4422
  • use enum for script type 970aafd77
  • add interface to encode combopos ref 91b4eac1d
  • only allocate script data for combos that need it 7f4ac3b75

Tests

  • update replays a383d5c57
  • add lifting.zplay, rocs_feather.zplay 4c10d5b17
  • increase replay timeout for web ced397fb1
  • add zscript compiler expected zasm tests 2afd78063
  • check if failing frame values exist in dict ba99a2dfd
  • use exists_ok when making updated dir 95f161860
  • print failing frame during replay test 67d34be84
  • use exist_ok when making updated dir (typo...) d5580d54d
  • refactor compare_replays.py to prepare for re-use 9a81e9cf4
  • refactor run_test_workflow.py to prepare for re-use b2e5fe5cc
  • automatically start webserver for compare report 47bc28454
  • add prompts for creating a report on failure b79079271
     

    When run_replay_tests.py fails, a prompt is now shown to generate a compare report either from already-created baseline snapshots, from GitHub Actions, or from running a release revision locally.

    Much of the functionality needed for this was already present, this just ties everything together and makes it much simpler to generate a report.

  • auto update new script test 2af517bb1
  • restore scripts compiled by playground.qst 1f78aefca
     

    These were removed from the package in aa3d87, but we actually need some of them for playground.qst

  • add playground_scrolling_script.zplay c34b92a76
  • add dark.zplay aaf68685f
  • support substring for run_replay_tests.py --filter 298d40c55
  • add test_zquest.py. tests compile, slot assign of playground.qst bd682985e
  • move ghost replay into playground.qst 3294b1866
  • rename lifting and rocs_feather replays 8c5058b1c
  • remove replay comment when jit fails to compile 6289180bf
  • fix web replay tests hanging 93fc09090
  • add ganon.zplay fbab82705

CI

  • clone before downloading release artifacts dd3bfcbb2
     

    Apparently the checkout action deletes the current directory first. Lame.

  • skip solid.zplay until it is re-recorded 38e4ec35e
  • fix release tag for branches 5f647e9dd
  • fix release tag for branches (really) 465dd9c71
  • remove release cron cfcd1291e
  • specify version of PyGithub aaf2edaaf

Misc.

  • add git hooks to validate commit messages a8f26b259
  • add scripts/generate_changelog.py 3892158f1
  • grab test builds from CI for bisect tool f2e437a9f
  • print changelog on every step in bisect tool 8bb31d154
  • allow advancing in bisect tool without closing program a6b9a8584
  • cache if release has a valid package for windows in bisect tool f93e19187
  • fix git hook script when core.commentchar config not set d35712951
  • reverse commits in changelog for more natural ordering 423f04791
  • use separate folder for downloaded release builds f57703681
  • fix wrong scope suggestion 9fb96dc55
  • include commit body in changelog a29611391
  • ./zelda -load-and-quit <qstpath> 9bf02571c
  • automate fuzzing process fd3e64168
  • remove unneeded init code for fuzzing quest loading d85c83770
  • update used QRs in quest database d4bb90020
  • include deprecated_rules in qr analysis 999523839

Editor

  • Change "Place + Edit FFC #" text to "Edit New FFC #" for clarity d21b3dfad
  • do less setup for -copy-qst command 4c4e37a6a