diff options
Diffstat (limited to 'home/hidden_objects.asm')
-rw-r--r-- | home/hidden_objects.asm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/home/hidden_objects.asm b/home/hidden_objects.asm new file mode 100644 index 00000000..eccf1c8f --- /dev/null +++ b/home/hidden_objects.asm @@ -0,0 +1,39 @@ +UpdateCinnabarGymGateTileBlocks:: + farjp UpdateCinnabarGymGateTileBlocks_ + +CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: + ldh a, [hLoadedROMBank] + push af + ldh a, [hJoyHeld] + bit 0, a ; A button + jr z, .nothingFound +; A button is pressed + ld a, BANK(CheckForHiddenObject) + ld [MBC1RomBank], a + ldh [hLoadedROMBank], a + call CheckForHiddenObject + ldh a, [hDidntFindAnyHiddenObject] + and a + jr nz, .hiddenObjectNotFound + ld a, [wHiddenObjectFunctionRomBank] + ld [MBC1RomBank], a + ldh [hLoadedROMBank], a + ld de, .returnAddress + push de + jp hl +.returnAddress + xor a + jr .done +.hiddenObjectNotFound + farcall PrintBookshelfText + ldh a, [hFFDB] + and a + jr z, .done +.nothingFound + ld a, $ff +.done + ldh [hItemAlreadyFound], a + pop af + ld [MBC1RomBank], a + ldh [hLoadedROMBank], a + ret |