LADX: improved warps across unexplored tiles ()

This commit is contained in:
threeandthreee 2025-01-16 21:58:49 -05:00 committed by GitHub
parent 1485882642
commit 3a5a4b89ee
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 5 deletions
worlds/ladx/LADXR

View File

@ -103,6 +103,7 @@ def generateRom(args, world: "LinksAwakeningWorld"):
assembler.const("wGoldenLeaves", 0xDB42) # New memory location where to store the golden leaf counter
assembler.const("wCollectedTunics", 0xDB6D) # Memory location where to store which tunic options are available (and boots)
assembler.const("wCustomMessage", 0xC0A0)
assembler.const("wOverworldRoomStatus", 0xD800)
# We store the link info in unused color dungeon flags, so it gets preserved in the savegame.
assembler.const("wLinkSyncSequenceNumber", 0xDDF6)

View File

@ -716,9 +716,7 @@ def addWarpImprovements(rom, extra_warps):
# Allow cursor to move over black squares
# This allows warping to undiscovered areas - a fine cheat, but needs a check for wOverworldRoomStatus in the warp code
CHEAT_WARP_ANYWHERE = False
if CHEAT_WARP_ANYWHERE:
rom.patch(0x01, 0x1AE8, None, ASM("jp $5AF5"))
rom.patch(0x01, 0x1AE8, None, ASM("jp $5AF5"))
# This disables the arrows around the selection bubble
#rom.patch(0x01, 0x1B6F, None, ASM("ret"), fill_nop=True)
@ -797,8 +795,14 @@ def addWarpImprovements(rom, extra_warps):
TeleportHandler:
ld a, [$DBB4] ; Load the current selected tile
; TODO: check if actually revealed so we can have free movement
; Check cursor against different tiles to see if we are selecting a warp
ld hl, wOverworldRoomStatus
ld e, a ; $5D38: $5F
ld d, $00 ; $5D39: $16 $00
add hl, de ; $5D3B: $19
ld a, [hl]
and $80
jr z, exit
ld a, [$DBB4] ; Load the current selected tile
{warp_jump}
jr exit