Features
Editor
- Convert newlines to
\Newline\when pasting into string editorc97712f911DiscordPasting multi-line text into the string editor used to insert raw newline characters, which display as
^in the text field. Now newlines become\Newline\commands and carriage returns are stripped.
Bug Fixes
Player
- WallMasters emerging from the wrong wall position in regions
6f3128d650When the hero walked along the bottom or right wall of a scrolling region, a WallMaster would emerge at the bottom/right edge of the region's first screen instead of the wall the hero is touching.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Patra bosses teleporting to the first screen of a region
6908849498Patra and BS Patra enemies placed on any screen of a scrolling region other than the top-left one would relocate to the top-left screen when spawning. They now center on the screen they were placed on, like the other bosses.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Phasing Wizzrobes unable to jump outside a region's first screen
d422c28272The teleport-jump of phasing (blue) Wizzrobes rejected any destination outside the bounds of a single screen, so in a scrolling region they could only jump within the top-left screen's area.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Classic trap movement broken outside a region's first screen
5d75f7d869Traps (when not using the 'Mean Traps' rules) decide which directions they may move in, and where to stop, based on their position within their screen. In a scrolling region these checks compared against the top-left screen, so traps placed on any other screen could only move up or left and would retreat to the wrong resting lines. Constant horizontal/vertical traps also chose their initial direction wrong.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Dodongos picking the wrong initial direction in regions
cac63d8c2bDodongos spawned on any screen of a scrolling region other than the top-left one always flipped their initial down/right direction, as the "too close to the screen edge" spawn check compared against the wrong screen.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Swimming hero could walk onto land beyond a region's first screen
00a7992b87While swimming past the first screen of a scrolling region, the check that prevents leaving deep water without hopping onto land was skipped, letting the hero step straight out of the water anywhere.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- New-movement enemies clipped to a region's first screen in dungeons
abd00a97b1Enemies using the newer movement engine (and Moldorms) applied the dungeon-wall and bottom-right clipping rules against the bounds of a single screen. In a scrolling region dungeon, fliers and wizzrobes were treated as blocked everywhere below or right of the top-left screen's play area.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Moldorms constantly changing direction in scrolling regions
66e9f7a4fcThe check that keeps Moldorms from pacing the bottom row of the screen compared against single-screen bounds, so in a scrolling region it considered a Moldorm "stuck" nearly everywhere and forced a new direction every 45 frames.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Combo triggers reading strings from a region's top-left screen
874220d8e2When a combo trigger on a screen other than the top-left screen of a scrolling region showed a string via a special value - the screen's string, the screen's catchall, or a Screen->D[] register - it resolved against the top-left screen instead of the screen the combo is on. This affected signposts and the trigger string/fail-string options.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Hero misplaced when a portal warp bounces back in a region
ba58a17e05When entering a portal below the first screen row of a scrolling region and the destination was invalid (mirror bonk), the hero was restored to the wrong vertical position - up to a full screen off.
Regressed in 3.0.0-prerelease.187+2026-05-14 (89d16bfc5a).
- Locked door detection using the wrong screen in regions
b6a0656841The check for whether a position is part of a locked/boss-locked NES door (used to let lock blocks on layers coexist with door combos in dungeons) always looked at the top-left screen of a scrolling region and interpreted the position relative to it.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Region edge detection wrapping around the map edge
64377a78cfChecking whether moving right at the map's rightmost column leaves the region could wrap around to the first screen of the next map row, so a full-width region reported "not an edge" there. Also avoids passing out-of-range coordinates for the bottom map row.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Warp arrival ignoring the arrival screen's settings in regions
bcc274b0f6After warping into a scrolling region, the 'Auto-Save' and 'Continue Here' screen flags and the arrival-point check for continue-screen logic were read from the region's top-left screen instead of the screen the hero arrived on.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Enemy spawn ignored an out-of-bounds guard in scrolling regions
0fe7b9fdefThe safety check that rejects invalid enemy list entries when picking spawn positions was skipped inside scrolling regions, allowing an out-of-bounds enemy id from corrupt quest data to be read.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Item fairies spawned with the wrong screen in regions
c81f504b97Fairies spawned from items on a screen other than the top-left screen of a scrolling region were associated with the top-left screen.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Sides enemy patterns interfering with each other in regions
26a1c80ba2The gradual enemy loading for the "Sides" and "Sides (Random)" spawn patterns kept its progress in shared variables. When a scrolling region had more than one screen using these patterns, the screens corrupted each other's loading: the spawn timer ran too fast, enemy counts crossed between screens, and a screen could be marked as fully loaded while its enemies never spawned.
Bug introduced when regions were added in 3.0.0-prerelease.89+2025-02-18 (6b5e98dd70).
- Cellar enemies beyond the fourth spawning at garbage positions
ee3422d94fWhen a DMap uses 'Use Enemy List for Cellar Enemies', item cellar and passageway screens can spawn up to 10 enemies, but only 4 spawn positions exist - enemies 5 through 10 read positions from out-of- bounds memory. They now cycle through the same 4 columns.
Bug introduced when custom cellar enemies were added in 2.55-alpha-83 (a7a416007e).
Documentation
- Add wieldable bow and arrow tutorial, by Jared
c094ee6fa9
Chores
Player
- Document why timed warps use a region's origin screen
2ca92d29daTimed warps intentionally read only the origin (top-left) screen of a scrolling region, per design discussion when regions were developed.
CI
- Authenticate the release s3 upload script with GitHub
a09915dbb9The upload step listed releases anonymously, hitting GitHub's per-IP rate limit on shared runners. PyGithub does not read a token from the environment on its own, so pass the workflow token explicitly.
Misc.
- Only check ZC-Version header on upload route
524dab61b8