Commented/labelled misc functions

This commit is contained in:
YamaArashi 2014-09-14 11:29:18 -07:00
parent 0c916aea33
commit 2ed65d9c3e
114 changed files with 733 additions and 668 deletions

View file

@ -2,27 +2,17 @@
GBC EQU $11 GBC EQU $11
; MBC3 ; MBC1
MBC3SRamEnable EQU $0000 MBC1SRamEnable EQU $0000
MBC3RomBank EQU $2000 MBC1RomBank EQU $2000
MBC3SRamBank EQU $4000 MBC1SRamBank EQU $4000
MBC3LatchClock EQU $6000 MBC1SRamBankingMode EQU $6000
MBC3RTC EQU $a000
SRAM_DISABLE EQU $00 SRAM_DISABLE EQU $00
SRAM_ENABLE EQU $0a SRAM_ENABLE EQU $0a
NUM_SRAM_BANKS EQU 4 NUM_SRAM_BANKS EQU 4
RTC_S EQU $08 ; Seconds 0-59 (0-3Bh)
RTC_M EQU $09 ; Minutes 0-59 (0-3Bh)
RTC_H EQU $0a ; Hours 0-23 (0-17h)
RTC_DL EQU $0b ; Lower 8 bits of Day Counter (0-FFh)
RTC_DH EQU $0c ; Upper 1 bit of Day Counter, Carry Bit, Halt Flag
; Bit 0 Most significant bit of Day Counter (Bit 8)
; Bit 6 Halt (0=Active, 1=Stop Timer)
; Bit 7 Day Counter Carry Bit (1=Counter Overflow)
; interrupt flags ; interrupt flags
VBLANK EQU 0 VBLANK EQU 0
LCD_STAT EQU 1 LCD_STAT EQU 1

View file

@ -1,5 +1,5 @@
Func_525af: ; 525af (14:65af) Func_525af: ; 525af (14:65af)
ld a, [$ffd7] ld a, [hTilesetType]
ld [wd0d4], a ld [wd0d4], a
xor a xor a
ld [wcd6a], a ld [wcd6a], a

View file

@ -136,7 +136,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ; 3c04c (f:404c)
ld [hVBlankWY], a ld [hVBlankWY], a
ld [rWY], a ld [rWY], a
xor a xor a
ld [$ffd7], a ld [hTilesetType], a
ld [hVBlankSCY], a ld [hVBlankSCY], a
dec a dec a
ld [wUpdateSpritesEnabled], a ld [wUpdateSpritesEnabled], a
@ -1015,7 +1015,7 @@ TrainerBattleVictory: ; 3c696 (f:4696)
call ScrollTrainerPicAfterBattle call ScrollTrainerPicAfterBattle
ld c, $28 ld c, $28
call DelayFrames call DelayFrames
call Func_3381 call PrintEndBattleText
ld hl, MoneyForWinningText ld hl, MoneyForWinningText
call PrintText call PrintText
ld de, wPlayerMoney + 2 ld de, wPlayerMoney + 2
@ -6263,7 +6263,7 @@ DoBattleTransitionAndInitBattleVariables: ; 3ec32 (f:6c32)
ld [H_AUTOBGTRANSFERENABLED], a ld [H_AUTOBGTRANSFERENABLED], a
ld [hVBlankWY], a ld [hVBlankWY], a
ld [rWY], a ld [rWY], a
ld [$ffd7], a ld [hTilesetType], a
ld hl, wd060 ld hl, wd060
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
@ -6851,7 +6851,7 @@ InitBattle_Common: ; 3efeb (f:6feb)
pop af pop af
ld [wMapPalOffset], a ld [wMapPalOffset], a
ld a, [wd0d4] ld a, [wd0d4]
ld [$ffd7], a ld [hTilesetType], a
scf scf
ret ret
.emptyString .emptyString

View file

@ -572,7 +572,7 @@ Func_577d: ; 577d (1:577d)
dec a dec a
ld [wDestinationWarpID], a ld [wDestinationWarpID], a
call LoadMapData call LoadMapData
callba Func_c335 callba ClearVariablesAfterLoadingMapData
pop hl pop hl
pop af pop af
ld [hl], a ld [hl], a

View file

@ -19,7 +19,7 @@ Func_7bde9: ; 7bde9 (1e:7de9)
call Delay3 call Delay3
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld [$ffd7], a ld [hTilesetType], a
ld a, [wHPBarMaxHP] ld a, [wHPBarMaxHP]
ld [wcf1d], a ld [wcf1d], a
ld c, $0 ld c, $0

View file

@ -11,7 +11,7 @@ TryEvolvingMon: ; 3ad0e (e:6d0e)
; this is only called after battle ; this is only called after battle
; it is supposed to do level up evolutions, though there is a bug that allows item evolutions to occur ; it is supposed to do level up evolutions, though there is a bug that allows item evolutions to occur
EvolutionAfterBattle: ; 3ad1c (e:6d1c) EvolutionAfterBattle: ; 3ad1c (e:6d1c)
ld a, [$ffd7] ld a, [hTilesetType]
push af push af
xor a xor a
ld [wd121], a ld [wd121], a
@ -245,7 +245,7 @@ Evolution_PartyMonLoop: ; loop over party mons
pop bc pop bc
pop hl pop hl
pop af pop af
ld [$ffd7], a ld [hTilesetType], a
ld a, [W_ISLINKBATTLE] ld a, [W_ISLINKBATTLE]
cp $32 cp $32
ret z ret z

View file

@ -19,7 +19,7 @@ AnimateHallOfFame: ; 701a0 (1c:41a0)
call FillMemory call FillMemory
xor a xor a
ld [wUpdateSpritesEnabled], a ld [wUpdateSpritesEnabled], a
ld [$ffd7], a ld [hTilesetType], a
ld [W_SPRITEFLIPPED], a ld [W_SPRITEFLIPPED], a
ld [wd358], a ld [wd358], a
ld [wTrainerScreenY], a ld [wTrainerScreenY], a

View file

@ -70,7 +70,7 @@ PrintBenchGuyText: ; 6245d (18:645d)
ld a, [hl] ld a, [hl]
jp PrintPredefTextID jp PrintPredefTextID
; format: db map id, 08, text id of PointerTable_3f22 ; format: db map id, 08, text id of PredefTextIDPointerTable
PokeCenterMapIDList: ; 6247e (18:647e) PokeCenterMapIDList: ; 6247e (18:647e)
db VIRIDIAN_POKECENTER,$08,$0F db VIRIDIAN_POKECENTER,$08,$0F
db PEWTER_POKECENTER,$08,$10 db PEWTER_POKECENTER,$08,$10

View file

@ -1,22 +1,23 @@
; prints text for bookshelves in buildings without sign events ; prints text for bookshelves in buildings without sign events
PrintBookshelfText: ; fb50 (3:7b50) PrintBookshelfText: ; fb50 (3:7b50)
ld a, [wSpriteStateData1 + 9] ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction
cp $4 cp SPRITE_FACING_UP
jr nz, .asm_fb7f jr nz, .noMatch
ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET ; facing up
ld a, [W_CURMAPTILESET]
ld b, a ld b, a
aCoord 8, 7 aCoord 8, 7
ld c, a ld c, a
ld hl, BookshelfTileIDs ; $7b8b ld hl, BookshelfTileIDs
.asm_fb62 .loop
ld a, [hli] ld a, [hli]
cp $ff cp $ff
jr z, .asm_fb7f jr z, .noMatch
cp b cp b
jr nz, .asm_fb7b jr nz, .nextBookshelfEntry1
ld a, [hli] ld a, [hli]
cp c cp c
jr nz, .asm_fb7c jr nz, .nextBookshelfEntry2
ld a, [hl] ld a, [hl]
push af push af
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
@ -25,12 +26,12 @@ PrintBookshelfText: ; fb50 (3:7b50)
xor a xor a
ld [$ffdb], a ld [$ffdb], a
ret ret
.asm_fb7b .nextBookshelfEntry1
inc hl inc hl
.asm_fb7c .nextBookshelfEntry2
inc hl inc hl
jr .asm_fb62 jr .loop
.asm_fb7f .noMatch
ld a, $ff ld a, $ff
ld [$ffdb], a ld [$ffdb], a
ld b, BANK(PrintCardKeyText) ld b, BANK(PrintCardKeyText)

View file

@ -60,7 +60,7 @@ SafariZoneCheckSteps: ; 1e997 (7:6997)
ld [wSafariSteps + 1], a ; wd70e ld [wSafariSteps + 1], a ; wd70e
asm_1e9ab: ; 1e9ab (7:69ab) asm_1e9ab: ; 1e9ab (7:69ab)
xor a xor a
ld [wda46], a ld [wSafariZoneGameOver], a
ret ret
asm_1e9b0: ; 1e9b0 (7:69b0) asm_1e9b0: ; 1e9b0 (7:69b0)
call EnableAutoTextBoxDrawing call EnableAutoTextBoxDrawing
@ -89,7 +89,7 @@ asm_1e9b0: ; 1e9b0 (7:69b0)
ld hl, wd790 ld hl, wd790
set 6, [hl] set 6, [hl]
ld a, $1 ld a, $1
ld [wda46], a ld [wSafariZoneGameOver], a
ret ret
PrintSafariGameOverText: ; 1e9ed (7:69ed) PrintSafariGameOverText: ; 1e9ed (7:69ed)
@ -291,7 +291,7 @@ CinnabarGymQuiz_1eb0a: ; 1eb0a (7:6b0a)
.asm_1eb38 .asm_1eb38
pop bc pop bc
ld [wd09f], a ld [wd09f], a
predef Func_ee9e predef ReplaceTileBlock
ld hl, $ffdb ld hl, $ffdb
dec [hl] dec [hl]
jr nz, .asm_1eb0e jr nz, .asm_1eb0e

View file

@ -138,7 +138,7 @@ Func_71c07: ; 71c07 (1c:5c07)
callab EvolveTradeMon callab EvolveTradeMon
call ClearScreen call ClearScreen
call Func_71ca2 call Func_71ca2
callba Func_eedc callba RedrawMapView
and a and a
ld a,$3 ld a,$3
jr .asm_ee803 ; 0x71c9b $1 jr .asm_ee803 ; 0x71c9b $1

View file

@ -332,7 +332,7 @@ Func_21673: ; 21673 (8:5673)
jp Func_214e8 jp Func_214e8
Func_216b3: ; 216b3 (8:56b3) Func_216b3: ; 216b3 (8:56b3)
callba Func_738a1 callba ChangeBox
jp Func_214e8 jp Func_214e8
Func_216be: ; 216be (8:56be) Func_216be: ; 216be (8:56be)

View file

@ -6,10 +6,10 @@ PKMNLeaguePC: ; 0x7657e
push hl push hl
ld a, [wUpdateSpritesEnabled] ld a, [wUpdateSpritesEnabled]
push af push af
ld a, [$ffD7] ld a, [hTilesetType]
push af push af
xor a xor a
ld [$ffD7], a ld [hTilesetType], a
ld [W_SPRITEFLIPPED], a ld [W_SPRITEFLIPPED], a
ld [wUpdateSpritesEnabled], a ld [wUpdateSpritesEnabled], a
ld [wTrainerScreenX], a ld [wTrainerScreenX], a
@ -38,7 +38,7 @@ PKMNLeaguePC: ; 0x7657e
jr nz, .first jr nz, .first
.second .second
pop af pop af
ld [$ffD7], a ld [hTilesetType], a
pop af pop af
ld [wUpdateSpritesEnabled], a ld [wUpdateSpritesEnabled], a
pop hl pop hl

View file

@ -404,10 +404,10 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
call GoPAL_SET call GoPAL_SET
pop af pop af
ld [wd11e],a ld [wd11e],a
ld a,[$ffd7] ld a,[hTilesetType]
push af push af
xor a xor a
ld [$ffd7],a ld [hTilesetType],a
hlCoord 0, 0 hlCoord 0, 0
ld de,1 ld de,1
ld bc,$6414 ld bc,$6414
@ -554,7 +554,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
and a,%00000011 ; A button and B button and a,%00000011 ; A button and B button
jr z,.waitForButtonPress jr z,.waitForButtonPress
pop af pop af
ld [$ffd7],a ld [hTilesetType],a
call GBPalWhiteOut call GBPalWhiteOut
call ClearScreen call ClearScreen
call GoPAL_SET_CF1C call GoPAL_SET_CF1C

View file

@ -500,10 +500,10 @@ StartMenu_TrainerInfo: ; 13460 (4:7460)
call GBPalWhiteOut call GBPalWhiteOut
call ClearScreen call ClearScreen
call UpdateSprites ; move sprites call UpdateSprites ; move sprites
ld a,[$ffd7] ld a,[hTilesetType]
push af push af
xor a xor a
ld [$ffd7],a ld [hTilesetType],a
call DrawTrainerInfo call DrawTrainerInfo
predef DrawBadges ; draw badges predef DrawBadges ; draw badges
ld b,$0d ld b,$0d
@ -517,7 +517,7 @@ StartMenu_TrainerInfo: ; 13460 (4:7460)
call ReloadMapData call ReloadMapData
call LoadGBPal call LoadGBPal
pop af pop af
ld [$ffd7],a ld [hTilesetType],a
jp RedisplayStartMenu jp RedisplayStartMenu
; loads tile patterns and draws everything except for gym leader faces / badges ; loads tile patterns and draws everything except for gym leader faces / badges

View file

@ -36,10 +36,10 @@ StatusScreen: ; 12953 (4:6953)
ld hl, vChars2 + $720 ld hl, vChars2 + $720
ld bc,(BANK(PTile) << 8 | $01) ld bc,(BANK(PTile) << 8 | $01)
call CopyVideoDataDouble ; P (for PP), inline call CopyVideoDataDouble ; P (for PP), inline
ld a, [$ffd7] ld a, [hTilesetType]
push af push af
xor a xor a
ld [$ffd7], a ld [hTilesetType], a
hlCoord 19, 1 hlCoord 19, 1
ld bc, $060a ld bc, $060a
call DrawLineBox ; Draws the box around name, HP and status call DrawLineBox ; Draws the box around name, HP and status
@ -109,7 +109,7 @@ StatusScreen: ; 12953 (4:6953)
call PlayCry ; play Pokémon cry call PlayCry ; play Pokémon cry
call WaitForTextScrollButtonPress ; wait for button call WaitForTextScrollButtonPress ; wait for button
pop af pop af
ld [$ffd7], a ld [hTilesetType], a
ret ret
.unk_12a7e ; 0x12a7e ; I don't know what this does, iterates over pointers? .unk_12a7e ; 0x12a7e ; I don't know what this does, iterates over pointers?
ld a, [wcc49] ld a, [wcc49]
@ -227,10 +227,10 @@ StatsText: ; 12b3a (4:6b3a)
next "SPECIAL@" next "SPECIAL@"
StatusScreen2: ; 12b57 (4:6b57) StatusScreen2: ; 12b57 (4:6b57)
ld a, [$ffd7] ld a, [hTilesetType]
push af push af
xor a xor a
ld [$ffd7], a ld [hTilesetType], a
ld [$ffba], a ld [$ffba], a
ld bc, $0005 ld bc, $0005
ld hl, wd0dc ld hl, wd0dc
@ -360,7 +360,7 @@ StatusScreen2: ; 12b57 (4:6b57)
call Delay3 call Delay3
call WaitForTextScrollButtonPress ; wait for button call WaitForTextScrollButtonPress ; wait for button
pop af pop af
ld [$ffd7], a ld [hTilesetType], a
ld hl, wd72c ld hl, wd72c
res 1, [hl] res 1, [hl]
ld a, $77 ld a, $77

View file

@ -52,7 +52,7 @@ OakSpeech: ; 6115 (1:6115)
ld [wDestinationMap],a ld [wDestinationMap],a
call SpecialWarpIn call SpecialWarpIn
xor a xor a
ld [$FFD7],a ld [hTilesetType],a
ld a,[wd732] ld a,[wd732]
bit 1,a ; XXX when is bit 1 set? bit 1,a ; XXX when is bit 1 set?
jp nz,Func_61bc ; easter egg: skip the intro jp nz,Func_61bc ; easter egg: skip the intro

View file

@ -2,18 +2,18 @@ PrintCardKeyText: ; 52673 (14:6673)
ld hl, SilphCoMapList ld hl, SilphCoMapList
ld a, [W_CURMAP] ld a, [W_CURMAP]
ld b, a ld b, a
.asm_5267a .silphCoMapListLoop
ld a, [hli] ld a, [hli]
cp $ff cp $ff
ret z ret z
cp b cp b
jr nz, .asm_5267a jr nz, .silphCoMapListLoop
predef GetTileAndCoordsInFrontOfPlayer predef GetTileAndCoordsInFrontOfPlayer
ld a, [wTileInFrontOfPlayer] ld a, [wTileInFrontOfPlayer]
cp $18 cp $18
jr z, .asm_5269c jr z, .cardKeyDoorInFrontOfPlayer
cp $24 cp $24
jr z, .asm_5269c jr z, .cardKeyDoorInFrontOfPlayer
ld b, a ld b, a
ld a, [W_CURMAP] ld a, [W_CURMAP]
cp SILPH_CO_11F cp SILPH_CO_11F
@ -21,41 +21,41 @@ PrintCardKeyText: ; 52673 (14:6673)
ld a, b ld a, b
cp $5e cp $5e
ret nz ret nz
.asm_5269c .cardKeyDoorInFrontOfPlayer
ld b, CARD_KEY ld b, CARD_KEY
call IsItemInBag call IsItemInBag
jr z, .asm_526dc jr z, .noCardKey
call Func_526fd call GetCoordsInFrontOfPlayer
push de push de
ld a, $1 ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a
call PrintPredefTextID call PrintPredefTextID
pop de pop de
srl d srl d
ld a, d ld a, d
ld b, a ld b, a
ld [wd73f], a ld [wCardKeyDoorY], a
srl e srl e
ld a, e ld a, e
ld c, a ld c, a
ld [wd740], a ld [wCardKeyDoorX], a
ld a, [W_CURMAP] ; W_CURMAP ld a, [W_CURMAP]
cp SILPH_CO_11F cp SILPH_CO_11F
jr nz, .asm_526c8 jr nz, .notSilphCo11F
ld a, $3 ld a, $3
jr .asm_526ca jr .replaceCardKeyDoorTileBlock
.asm_526c8 .notSilphCo11F
ld a, $e ld a, $e
.asm_526ca .replaceCardKeyDoorTileBlock
ld [wd09f], a ld [wd09f], a
predef Func_ee9e predef ReplaceTileBlock
ld hl, wd126 ld hl, wd126
set 5, [hl] set 5, [hl]
ld a, (SFX_1f_57 - SFX_Headers_1f) / 3 ld a, (SFX_1f_57 - SFX_Headers_1f) / 3
jp PlaySound jp PlaySound
.asm_526dc .noCardKey
ld a, $2 ld a, $2
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a
jp PrintPredefTextID jp PrintPredefTextID
SilphCoMapList: ; 526e3 (14:66e3) SilphCoMapList: ; 526e3 (14:66e3)
@ -81,26 +81,32 @@ CardKeyFailText: ; 526f8 (14:66f8)
TX_FAR _CardKeyFailText TX_FAR _CardKeyFailText
db "@" db "@"
Func_526fd: ; 526fd (14:66fd) ; d = Y
ld a, [W_YCOORD] ; wd361 ; e = X
GetCoordsInFrontOfPlayer: ; 526fd (14:66fd)
ld a, [W_YCOORD]
ld d, a ld d, a
ld a, [W_XCOORD] ; wd362 ld a, [W_XCOORD]
ld e, a ld e, a
ld a, [wSpriteStateData1 + 9] ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction
and a and a
jr nz, .asm_5270d jr nz, .notFacingDown
; facing down
inc d inc d
ret ret
.asm_5270d .notFacingDown
cp $4 cp SPRITE_FACING_UP
jr nz, .asm_52713 jr nz, .notFacingUp
; facing up
dec d dec d
ret ret
.asm_52713 .notFacingUp
cp $8 cp SPRITE_FACING_LEFT
jr nz, .asm_52719 jr nz, .notFacingLeft
; facing left
dec e dec e
ret ret
.asm_52719 .notFacingLeft
; facing right
inc e inc e
ret ret

View file

@ -56,7 +56,7 @@ asm_ef82: ; ef82 (3:6f82)
call AnimateCutTree call AnimateCutTree
ld de, CutTreeBlockSwaps ; $7100 ld de, CutTreeBlockSwaps ; $7100
call Func_f09f call Func_f09f
call Func_eedc call RedrawMapView
callba Func_79e96 callba Func_79e96
ld a, $1 ld a, $1
ld [wUpdateSpritesEnabled], a ld [wUpdateSpritesEnabled], a
@ -65,7 +65,7 @@ asm_ef82: ; ef82 (3:6f82)
ld a, $90 ld a, $90
ld [hVBlankWY], a ld [hVBlankWY], a
call UpdateSprites call UpdateSprites
jp Func_eedc jp RedrawMapView
UsedCutText: ; eff2 (3:6ff2) UsedCutText: ; eff2 (3:6ff2)
TX_FAR _UsedCutText TX_FAR _UsedCutText

View file

@ -41,7 +41,7 @@ ShakeElevator: ; 7bf15 (1e:7f15)
jp PlayDefaultMusic jp PlayDefaultMusic
Func_7bf64: ; 7bf64 (1e:7f64) Func_7bf64: ; 7bf64 (1e:7f64)
ld hl, wd527 ld hl, wMapViewVRAMPointer + 1
ld a, [hld] ld a, [hld]
push af push af
ld a, [hl] ld a, [hl]

View file

@ -6,7 +6,7 @@ Func_46981: ; 46981 (11:6981)
ret nz ret nz
call ArePlayerCoordsInArray call ArePlayerCoordsInArray
ret nc ret nc
ld a, [wWhichTrade] ; wWhichTrade ld a, [wWhichTrade]
ld [wWhichDungeonWarp], a ld [wWhichDungeonWarp], a
ld hl, wd72d ld hl, wd72d
set 4, [hl] set 4, [hl]
@ -14,7 +14,8 @@ Func_46981: ; 46981 (11:6981)
set 4, [hl] set 4, [hl]
ret ret
Func_469a0: ; 469a0 (11:69a0) ; if a hidden object was found, stores $00 in [$ffee], else stores $ff
CheckForHiddenObject: ; 469a0 (11:69a0)
ld hl, $ffeb ld hl, $ffeb
xor a xor a
ld [hli], a ld [hli], a
@ -22,107 +23,110 @@ Func_469a0: ; 469a0 (11:69a0)
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld de, $0 ld de, $0
ld hl, HiddenObjectMaps ; $6a40 ld hl, HiddenObjectMaps
.asm_469ae .hiddenMapLoop
ld a, [hli] ld a, [hli]
ld b, a ld b, a
cp $ff cp $ff
jr z, .asm_469fc jr z, .noMatch
ld a, [W_CURMAP] ; W_CURMAP ld a, [W_CURMAP]
cp b cp b
jr z, .asm_469be jr z, .foundMatchingMap
inc de inc de
inc de inc de
jr .asm_469ae jr .hiddenMapLoop
.asm_469be .foundMatchingMap
ld hl, HiddenObjectPointers ; $6a96 ld hl, HiddenObjectPointers
add hl, de add hl, de
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
push hl push hl
ld hl, wWhichTrade ; wWhichTrade ld hl, wHiddenObjectFunctionArgument
xor a xor a
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
pop hl pop hl
.asm_469ce .hiddenObjectLoop
ld a, [hli] ld a, [hli]
cp $ff cp $ff
jr z, .asm_469fc jr z, .noMatch
ld [wTrainerScreenY], a ld [wHiddenObjectY], a
ld b, a ld b, a
ld a, [hli] ld a, [hli]
ld [wTrainerScreenX], a ld [wHiddenObjectX], a
ld c, a ld c, a
call Func_46a01 call CheckIfCoordsInFrontOfPlayerMatch
ld a, [$ffea] ld a, [$ffea]
and a and a
jr z, .asm_469f0 jr z, .foundMatchingObject
inc hl inc hl
inc hl inc hl
inc hl inc hl
inc hl inc hl
push hl push hl
ld hl, wTrainerFacingDirection ld hl, wHiddenObjectIndex
inc [hl] inc [hl]
pop hl pop hl
jr .asm_469ce jr .hiddenObjectLoop
.asm_469f0 .foundMatchingObject
ld a, [hli] ld a, [hli]
ld [wWhichTrade], a ; wWhichTrade ld [wHiddenObjectFunctionArgument], a
ld a, [hli] ld a, [hli]
ld [wTrainerEngageDistance], a ld [wHiddenObjectFunctionRomBank], a
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
ret ret
.asm_469fc .noMatch
ld a, $ff ld a, $ff
ld [$ffee], a ld [$ffee], a
ret ret
Func_46a01: ; 46a01 (11:6a01) ; checks if the coordinates in front of the player's sprite match Y in b and X in c
ld a, [wSpriteStateData1 + 9] ; [$ffea] = $00 if they match, $ff if they don't match
cp $4 CheckIfCoordsInFrontOfPlayerMatch: ; 46a01 (11:6a01)
jr z, .asm_46a16 ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction
cp $8 cp SPRITE_FACING_UP
jr z, .asm_46a25 jr z, .facingUp
cp $c cp SPRITE_FACING_LEFT
jr z, .asm_46a2b jr z, .facingLeft
ld a, [W_YCOORD] ; wd361 cp SPRITE_FACING_RIGHT
jr z, .facingRight
; facing down
ld a, [W_YCOORD]
inc a inc a
jr .asm_46a1a jr .upDownCommon
.asm_46a16 .facingUp
ld a, [W_YCOORD] ; wd361 ld a, [W_YCOORD]
dec a dec a
.asm_46a1a .upDownCommon
cp b cp b
jr nz, .asm_46a3b jr nz, .didNotMatch
ld a, [W_XCOORD] ; wd362 ld a, [W_XCOORD]
cp c cp c
jr nz, .asm_46a3b jr nz, .didNotMatch
jr .asm_46a38 jr .matched
.asm_46a25 .facingLeft
ld a, [W_XCOORD] ; wd362 ld a, [W_XCOORD]
dec a dec a
jr .asm_46a2f jr .leftRightCommon
.asm_46a2b .facingRight
ld a, [W_XCOORD] ; wd362 ld a, [W_XCOORD]
inc a inc a
.asm_46a2f .leftRightCommon
cp c cp c
jr nz, .asm_46a3b jr nz, .didNotMatch
ld a, [W_YCOORD] ; wd361 ld a, [W_YCOORD]
cp b cp b
jr nz, .asm_46a3b jr nz, .didNotMatch
.asm_46a38 .matched
xor a xor a
jr .asm_46a3d jr .done
.asm_46a3b .didNotMatch
ld a, $ff ld a, $ff
.asm_46a3d .done
ld [$ffea], a ld [$ffea], a
ret ret

View file

@ -260,12 +260,11 @@ RLEList_PewterGymGuy: ; 1a5da (6:65da)
db $C0, $03 db $C0, $03
db $FF db $FF
; XXX why would this function want to return on POKEMONTOWER_7? FreezeEnemyTrainerSprite: ; 1a5e7 (6:65e7)
Func_1a5e7: ; 1a5e7 (6:65e7) ld a, [W_CURMAP]
ld a, [W_CURMAP] ; W_CURMAP
cp POKEMONTOWER_7 cp POKEMONTOWER_7
ret z ret z ; the Rockets on Pokemon Tower 7F leave after battling, so don't freeze them
ld hl, RivalIDs ; $6605 ld hl, RivalIDs
ld a, [wEngagedTrainerClass] ld a, [wEngagedTrainerClass]
ld b, a ld b, a
.loop .loop
@ -273,11 +272,11 @@ Func_1a5e7: ; 1a5e7 (6:65e7)
cp $ff cp $ff
jr z, .notRival jr z, .notRival
cp b cp b
ret z ret z ; the rival leaves after battling, so don't freeze him
jr .loop jr .loop
.notRival .notRival
ld a, [wSpriteIndex] ld a, [wSpriteIndex]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_SPRITEINDEX], a
jp SetSpriteMovementBytesToFF jp SetSpriteMovementBytesToFF
RivalIDs: ; 1a605 (6:6605) RivalIDs: ; 1a605 (6:6605)

View file

@ -1,25 +1,25 @@
Func_18dee: ; 18dee (6:4dee) TrackPlayTime: ; 18dee (6:4dee)
call Func_18e36 call CountDownIgnoreInputBitReset
ld a, [wd732] ld a, [wd732]
bit 0, a bit 0, a
ret z ret z
ld a, [W_PLAYTIMEMINUTES] ; wda42 ld a, [W_PLAYTIMEMINUTES]
and a and a
ret nz ret nz
ld a, [W_PLAYTIMEFRAMES] ; wda45 ld a, [W_PLAYTIMEFRAMES]
inc a inc a
ld [W_PLAYTIMEFRAMES], a ; wda45 ld [W_PLAYTIMEFRAMES], a
cp 60 cp 60
ret nz ret nz
xor a xor a
ld [W_PLAYTIMEFRAMES], a ; wda45 ld [W_PLAYTIMEFRAMES], a
ld a, [W_PLAYTIMESECONDS] ; wda44 ld a, [W_PLAYTIMESECONDS]
inc a inc a
ld [W_PLAYTIMESECONDS], a ; wda44 ld [W_PLAYTIMESECONDS], a
cp 60 cp 60
ret nz ret nz
xor a xor a
ld [W_PLAYTIMESECONDS], a ; wda44 ld [W_PLAYTIMESECONDS], a
ld a, [W_PLAYTIMEMINUTES + 1] ld a, [W_PLAYTIMEMINUTES + 1]
inc a inc a
ld [W_PLAYTIMEMINUTES + 1], a ld [W_PLAYTIMEMINUTES + 1], a
@ -33,11 +33,11 @@ Func_18dee: ; 18dee (6:4dee)
cp $ff cp $ff
ret nz ret nz
ld a, $ff ld a, $ff
ld [W_PLAYTIMEMINUTES], a ; wda42 ld [W_PLAYTIMEMINUTES], a
ret ret
Func_18e36: ; 18e36 (6:4e36) CountDownIgnoreInputBitReset: ; 18e36 (6:4e36)
ld a, [wd13a] ld a, [wIgnoreInputCounter]
and a and a
jr nz, .asm_18e40 jr nz, .asm_18e40
ld a, $ff ld a, $ff
@ -45,7 +45,7 @@ Func_18e36: ; 18e36 (6:4e36)
.asm_18e40 .asm_18e40
dec a dec a
.asm_18e41 .asm_18e41
ld [wd13a], a ld [wIgnoreInputCounter], a
and a and a
ret nz ret nz
ld a, [wd730] ld a, [wd730]

View file

@ -58,7 +58,7 @@ PredefPointers:: ; 4fe79 (13:7e79)
add_predef ScaleSpriteByTwo add_predef ScaleSpriteByTwo
add_predef LoadMonBackPic add_predef LoadMonBackPic
add_predef Func_79aba add_predef Func_79aba
add_predef Func_f132 add_predef LoadMissableObjects
add_predef HealParty add_predef HealParty
add_predef MoveAnimation; 08 play move animation add_predef MoveAnimation; 08 play move animation
add_predef DivideBCDPredef add_predef DivideBCDPredef
@ -75,13 +75,13 @@ PredefPointers:: ; 4fe79 (13:7e79)
add_predef AnyPartyAlive add_predef AnyPartyAlive
add_predef ShowObject add_predef ShowObject
add_predef ShowObject2 add_predef ShowObject2
add_predef Func_ee9e add_predef ReplaceTileBlock
add_predef InitPlayerData2 add_predef InitPlayerData2
add_predef LoadTilesetHeader add_predef LoadTilesetHeader
add_predef LearnMoveFromLevelUp add_predef LearnMoveFromLevelUp
add_predef LearnMove add_predef LearnMove
add_predef IsItemInBag_ ; 1C, used in Pokémon Tower add_predef IsItemInBag_ ; 1C, used in Pokémon Tower
dbw $03,Func_3eb5 ; for these two, the bank number is actually 0 dbw $03,CheckForHiddenObjectOrBookshelfOrCardKeyDoor ; for these two, the bank number is actually 0
dbw $03,GiveItem dbw $03,GiveItem
add_predef ChangeBGPalColor0_4Frames add_predef ChangeBGPalColor0_4Frames
add_predef FindPathToPlayer add_predef FindPathToPlayer
@ -117,7 +117,7 @@ PredefPointers:: ; 4fe79 (13:7e79)
add_predef WriteMonMoves add_predef WriteMonMoves
add_predef SaveSAV add_predef SaveSAV
add_predef LoadSGB add_predef LoadSGB
add_predef Func_f113 add_predef MarkTownVisitedAndLoadMissableObjects
add_predef SetPartyMonTypes add_predef SetPartyMonTypes
add_predef CanLearnTM add_predef CanLearnTM
add_predef TMToMove add_predef TMToMove

View file

@ -32,11 +32,11 @@ FileDataDestroyedText: ; 7361e (1c:761e)
db "@" db "@"
LoadSAVCheckSum: ; 73623 (1c:7623) LoadSAVCheckSum: ; 73623 (1c:7623)
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$4000], a ld [MBC1SRamBank], a
ld hl, $a598 ; hero name located in SRAM ld hl, $a598 ; hero name located in SRAM
ld bc, $f8b ; but here checks the full SAV ld bc, $f8b ; but here checks the full SAV
call SAVCheckSum call SAVCheckSum
@ -58,30 +58,30 @@ LoadSAVCheckSum: ; 73623 (1c:7623)
ld bc, $b ld bc, $b
call CopyData call CopyData
ld hl, $a5a3 ld hl, $a5a3
ld de, wPokedexOwned ; wPokedexOwned ld de, wPokedexOwned
ld bc, $789 ld bc, $789
call CopyData call CopyData
ld hl, W_CURMAPTILESET ; W_CURMAPTILESET ld hl, W_CURMAPTILESET
set 7, [hl] set 7, [hl]
ld hl, $ad2c ld hl, $ad2c
ld de, wSpriteStateData1 ld de, wSpriteStateData1
ld bc, $200 ld bc, $200
call CopyData call CopyData
ld a, [$b522] ld a, [$b522]
ld [$ffd7], a ld [hTilesetType], a
ld hl, $b0c0 ld hl, $b0c0
ld de, W_NUMINBOX ; wda80 ld de, W_NUMINBOX
ld bc, $462 ld bc, wBoxMonNicksEnd - W_NUMINBOX
call CopyData call CopyData
and a and a
jp SAVGoodChecksum jp SAVGoodChecksum
LoadSAVCheckSum1: ; 73690 (1c:7690) LoadSAVCheckSum1: ; 73690 (1c:7690)
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$4000], a ld [MBC1SRamBank], a
ld hl, $a598 ; hero name located in SRAM ld hl, $a598 ; hero name located in SRAM
ld bc, $f8b ; but here checks the full SAV ld bc, $f8b ; but here checks the full SAV
call SAVCheckSum call SAVCheckSum
@ -90,18 +90,18 @@ LoadSAVCheckSum1: ; 73690 (1c:7690)
cp c cp c
jr nz, SAVBadCheckSum jr nz, SAVBadCheckSum
ld hl, $b0c0 ld hl, $b0c0
ld de, W_NUMINBOX ; wda80 ld de, W_NUMINBOX
ld bc, $462 ld bc, wBoxMonNicksEnd - W_NUMINBOX
call CopyData call CopyData
and a and a
jp SAVGoodChecksum jp SAVGoodChecksum
LoadSAVCheckSum2: ; 736bd (1c:76bd) LoadSAVCheckSum2: ; 736bd (1c:76bd)
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$4000], a ld [MBC1SRamBank], a
ld hl, $a598 ; hero name located in SRAM ld hl, $a598 ; hero name located in SRAM
ld bc, $f8b ; but here checks the full SAV ld bc, $f8b ; but here checks the full SAV
call SAVCheckSum call SAVCheckSum
@ -125,8 +125,8 @@ SAVBadCheckSum: ; 736f7 (1c:76f7)
SAVGoodChecksum: ; 736f8 (1c:76f8) SAVGoodChecksum: ; 736f8 (1c:76f8)
ld a, $0 ld a, $0
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$0], a ld [MBC1SRamEnable], a
ret ret
Func_73701: ; 0x73701 Func_73701: ; 0x73701
@ -193,67 +193,67 @@ OlderFileWillBeErasedText: ; 73787 (1c:7787)
db "@" db "@"
SaveSAVtoSRAM0: ; 7378c (1c:778c) SaveSAVtoSRAM0: ; 7378c (1c:778c)
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$4000], a ld [MBC1SRamBank], a
ld hl, wPlayerName ; wd158 ld hl, wPlayerName
ld de, $a598 ld de, $a598
ld bc, $b ld bc, $b
call CopyData call CopyData
ld hl, wPokedexOwned ; wPokedexOwned ld hl, wPokedexOwned
ld de, $a5a3 ld de, $a5a3
ld bc, $789 ld bc, W_NUMINBOX - wPokedexOwned
call CopyData call CopyData
ld hl, wSpriteStateData1 ; OAM? ld hl, wSpriteStateData1
ld de, $ad2c ld de, $ad2c
ld bc, $200 ld bc, $200
call CopyData call CopyData
ld hl, W_NUMINBOX ; wda80 ld hl, W_NUMINBOX
ld de, $b0c0 ld de, $b0c0
ld bc, $462 ld bc, wBoxMonNicksEnd - W_NUMINBOX
call CopyData call CopyData
ld a, [$ffd7] ld a, [hTilesetType]
ld [$b522], a ld [$b522], a
ld hl, $a598 ld hl, $a598
ld bc, $f8b ld bc, $f8b
call SAVCheckSum call SAVCheckSum
ld [$b523], a ld [$b523], a
xor a xor a
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$0], a ld [MBC1SRamEnable], a
ret ret
SaveSAVtoSRAM1: ; 737e2 (1c:77e2) SaveSAVtoSRAM1: ; 737e2 (1c:77e2)
; stored pokémon ; stored pokémon
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$4000], a ld [MBC1SRamBank], a
ld hl, W_NUMINBOX ; wda80 ld hl, W_NUMINBOX
ld de, $b0c0 ld de, $b0c0
ld bc, $462 ld bc, wBoxMonNicksEnd - W_NUMINBOX
call CopyData call CopyData
ld hl, $a598 ld hl, $a598
ld bc, $f8b ld bc, $f8b
call SAVCheckSum call SAVCheckSum
ld [$b523], a ld [$b523], a
xor a xor a
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$0], a ld [MBC1SRamEnable], a
ret ret
SaveSAVtoSRAM2: ; 7380f (1c:780f) SaveSAVtoSRAM2: ; 7380f (1c:780f)
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$4000], a ld [MBC1SRamBank], a
ld hl, wPartyCount ; wPartyCount ld hl, wPartyCount
ld de, $af2c ld de, $af2c
ld bc, $194 ld bc, wPokedexOwned - wPartyCount
call CopyData call CopyData
ld hl, wPokedexOwned ; pokédex only ld hl, wPokedexOwned ; pokédex only
ld de, $a5a3 ld de, $a5a3
@ -264,8 +264,8 @@ SaveSAVtoSRAM2: ; 7380f (1c:780f)
call SAVCheckSum call SAVCheckSum
ld [$b523], a ld [$b523], a
xor a xor a
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$0], a ld [MBC1SRamEnable], a
ret ret
SaveSAVtoSRAM: ; 73848 (1c:7848) SaveSAVtoSRAM: ; 73848 (1c:7848)
@ -334,13 +334,13 @@ PointerTable_73895: ; 73895 (1c:7895)
dw $B188 dw $B188
dw $B5EA dw $B5EA
Func_738a1:: ; 738a1 (1c:78a1) ChangeBox:: ; 738a1 (1c:78a1)
ld hl, WhenYouChangeBoxText ld hl, WhenYouChangeBoxText
call PrintText call PrintText
call YesNoChoice call YesNoChoice
ld a, [wCurrentMenuItem] ; wCurrentMenuItem ld a, [wCurrentMenuItem]
and a and a
ret nz ret nz ; return if No was chosen
ld hl, wd5a0 ld hl, wd5a0
bit 7, [hl] bit 7, [hl]
call z, Func_73a29 call z, Func_73a29
@ -356,25 +356,25 @@ Func_738a1:: ; 738a1 (1c:78a1)
call Func_7387b call Func_7387b
ld e, l ld e, l
ld d, h ld d, h
ld hl, W_NUMINBOX ; wda80 ld hl, W_NUMINBOX
call Func_7390e call Func_7390e
ld a, [wCurrentMenuItem] ; wCurrentMenuItem ld a, [wCurrentMenuItem]
set 7, a set 7, a
ld [wd5a0], a ld [wd5a0], a
call Func_7387b call Func_7387b
ld de, W_NUMINBOX ; wda80 ld de, W_NUMINBOX
call Func_7390e call Func_7390e
ld hl, W_MAPTEXTPTR ; wd36c ld hl, W_MAPTEXTPTR
ld de, wWhichTrade ; wWhichTrade ld de, wChangeBoxSavedMapTextPointer
ld a, [hli] ld a, [hli]
ld [de], a ld [de], a
inc de inc de
ld a, [hl] ld a, [hl]
ld [de], a ld [de], a
call Func_3f05 call RestoreMapTextPointer
call SaveSAVtoSRAM call SaveSAVtoSRAM
ld hl, wWhichTrade ; wWhichTrade ld hl, wChangeBoxSavedMapTextPointer
call Func_3f0f call SetMapTextPointer
ld a, (SFX_02_5d - SFX_Headers_02) / 3 ld a, (SFX_02_5d - SFX_Headers_02) / 3
call PlaySoundWaitForCurrent call PlaySoundWaitForCurrent
call WaitForSoundToFinish call WaitForSoundToFinish
@ -386,12 +386,12 @@ WhenYouChangeBoxText: ; 73909 (1c:7909)
Func_7390e: ; 7390e (1c:790e) Func_7390e: ; 7390e (1c:790e)
push hl push hl
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
ld a, b ld a, b
ld [$4000], a ld [MBC1SRamBank], a
ld bc, $462 ld bc, $462
call CopyData call CopyData
pop hl pop hl
@ -405,8 +405,8 @@ Func_7390e: ; 7390e (1c:790e)
ld [$ba4c], a ld [$ba4c], a
call Func_73863 call Func_73863
xor a xor a
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$0], a ld [MBC1SRamEnable], a
ret ret
Func_7393f: ; 7393f (1c:793f) Func_7393f: ; 7393f (1c:793f)
@ -502,19 +502,19 @@ BoxNoText: ; 73a21 (1c:7a21)
db "BOX No.@" db "BOX No.@"
Func_73a29: ; 73a29 (1c:7a29) Func_73a29: ; 73a29 (1c:7a29)
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
ld a, $2 ld a, $2
ld [$4000], a ld [MBC1SRamBank], a
call Func_73a4b call Func_73a4b
ld a, $3 ld a, $3
ld [$4000], a ld [MBC1SRamBank], a
call Func_73a4b call Func_73a4b
xor a xor a
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$0], a ld [MBC1SRamEnable], a
ret ret
Func_73a4b: ; 73a4b (1c:7a4b) Func_73a4b: ; 73a4b (1c:7a4b)
@ -547,19 +547,19 @@ Func_73a7f: ; 73a7f (1c:7a7f)
Func_73a84: ; 73a84 (1c:7a84) Func_73a84: ; 73a84 (1c:7a84)
ld hl, wWhichTrade ; wWhichTrade ld hl, wWhichTrade ; wWhichTrade
push hl push hl
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
ld a, $2 ld a, $2
ld [$4000], a ld [MBC1SRamBank], a
call Func_73ab8 call Func_73ab8
ld a, $3 ld a, $3
ld [$4000], a ld [MBC1SRamBank], a
call Func_73ab8 call Func_73ab8
xor a xor a
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$0], a ld [MBC1SRamEnable], a
pop hl pop hl
ld a, [wd5a0] ld a, [wd5a0]
and $7f and $7f
@ -592,8 +592,8 @@ SAVCheckRandomID: ;$7ad1
ld a,$0a ld a,$0a
ld [$0000],a ld [$0000],a
ld a,$01 ld a,$01
ld [$6000],a ld [MBC1SRamBankingMode],a
ld [$4000],a ld [MBC1SRamBank],a
ld a,[$a598] ld a,[$a598]
and a and a
jr z,.next jr z,.next
@ -615,7 +615,7 @@ SAVCheckRandomID: ;$7ad1
cp h cp h
.next .next
ld a,$00 ld a,$00
ld [$6000],a ld [MBC1SRamBankingMode],a
ld [$0000],a ld [$0000],a
ret ret
@ -653,23 +653,23 @@ LoadHallOfFameTeams: ; 73b3f (1c:7b3f)
; fallthrough ; fallthrough
HallOfFame_Copy: ; 73b51 (1c:7b51) HallOfFame_Copy: ; 73b51 (1c:7b51)
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
xor a xor a
ld [$4000], a ld [MBC1SRamBank], a
call CopyData call CopyData
xor a xor a
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$0], a ld [MBC1SRamEnable], a
ret ret
Func_73b6a: ; 73b6a (1c:7b6a) Func_73b6a: ; 73b6a (1c:7b6a)
ld a, $a ld a, SRAM_ENABLE
ld [$0], a ld [MBC1SRamEnable], a
ld a, $1 ld a, $1
ld [$6000], a ld [MBC1SRamBankingMode], a
xor a xor a
call PadSRAM_FF call PadSRAM_FF
ld a, $1 ld a, $1
@ -679,12 +679,12 @@ Func_73b6a: ; 73b6a (1c:7b6a)
ld a, $3 ld a, $3
call PadSRAM_FF call PadSRAM_FF
xor a xor a
ld [$6000], a ld [MBC1SRamBankingMode], a
ld [$0], a ld [MBC1SRamEnable], a
ret ret
PadSRAM_FF: ; 73b8f (1c:7b8f) PadSRAM_FF: ; 73b8f (1c:7b8f)
ld [$4000], a ld [MBC1SRamBank], a
ld hl, $a000 ld hl, $a000
ld bc, $2000 ld bc, $2000
ld a, $ff ld a, $ff

View file

@ -26,7 +26,7 @@ LoadTitlescreenGraphics: ; 42dd (1:42dd)
ld a, $1 ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
xor a xor a
ld [$ffd7], a ld [hTilesetType], a
ld [$ffae], a ld [$ffae], a
ld a, $40 ld a, $40
ld [$ffaf], a ld [$ffaf], a

View file

@ -64,7 +64,7 @@ Func_70e92: ; 70e92 (1c:4e92)
ld bc, $10 ld bc, $10
call CopyData call CopyData
.asm_70ec8 .asm_70ec8
call Func_716c6 call TownMapSpriteBlinkingAnimation
call JoypadLowSensitivity call JoypadLowSensitivity
ld a, [$ffb5] ld a, [$ffb5]
ld b, a ld b, a
@ -77,9 +77,9 @@ Func_70e92: ; 70e92 (1c:4e92)
bit 7, b bit 7, b
jr nz, .asm_70f01 jr nz, .asm_70f01
xor a xor a
ld [wd09b], a ld [wTownMapSpriteBlinkingEnabled], a
ld [$ffb7], a ld [$ffb7], a
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM ld [wTownMapSpriteBlinkingCounter], a
call Func_711ab call Func_711ab
pop hl pop hl
pop af pop af
@ -213,7 +213,7 @@ LoadTownMap_Fly: ; 70f90 (1c:4f90)
set 7, [hl] set 7, [hl]
.asm_71037 .asm_71037
xor a xor a
ld [wd09b], a ld [wTownMapSpriteBlinkingEnabled], a
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
pop hl pop hl
pop af pop af
@ -319,9 +319,9 @@ LoadTownMap: ; 7109b (1c:509b)
call Delay3 call Delay3
call GBPalNormal call GBPalNormal
xor a xor a
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM ld [wTownMapSpriteBlinkingCounter], a
inc a inc a
ld [wd09b], a ld [wTownMapSpriteBlinkingEnabled], a
ret ret
CompressedMap: ; 71100 (1c:5100) CompressedMap: ; 71100 (1c:5100)
@ -330,7 +330,7 @@ CompressedMap: ; 71100 (1c:5100)
Func_711ab: ; 711ab (1c:51ab) Func_711ab: ; 711ab (1c:51ab)
xor a xor a
ld [wd09b], a ld [wTownMapSpriteBlinkingEnabled], a
call GBPalWhiteOut call GBPalWhiteOut
call ClearScreen call ClearScreen
call ClearSprites call ClearSprites
@ -570,29 +570,30 @@ INCLUDE "text/map_names.asm"
MonNestIcon: ; 716be (1c:56be) MonNestIcon: ; 716be (1c:56be)
INCBIN "gfx/mon_nest_icon.1bpp" INCBIN "gfx/mon_nest_icon.1bpp"
Func_716c6: ; 716c6 (1c:56c6) TownMapSpriteBlinkingAnimation: ; 716c6 (1c:56c6)
ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM ld a, [wTownMapSpriteBlinkingCounter]
inc a inc a
cp $19 cp 25
jr z, .asm_716e1 jr z, .hideSprites
cp $32 cp 50
jr nz, .asm_716f1 jr nz, .done
; show sprites when the counter reaches 50
ld hl, wTileMapBackup ld hl, wTileMapBackup
ld de, wOAMBuffer ld de, wOAMBuffer
ld bc, $90 ld bc, $90
call CopyData call CopyData
xor a xor a
jr .asm_716f1 jr .done
.asm_716e1 .hideSprites
ld hl, wOAMBuffer ld hl, wOAMBuffer
ld b, $24 ld b, $24
ld de, $4 ld de, $4
.asm_716e9 .hideSpritesLoop
ld [hl], $a0 ld [hl], $a0
add hl, de add hl, de
dec b dec b
jr nz, .asm_716e9 jr nz, .hideSpritesLoop
ld a, $19 ld a, 25
.asm_716f1 .done
ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM ld [wTownMapSpriteBlinkingCounter], a
jp DelayFrame jp DelayFrame

View file

@ -475,7 +475,7 @@ Func_4149f: ; 4149f (10:549f)
Func_414ae: ; 414ae (10:54ae) Func_414ae: ; 414ae (10:54ae)
push hl push hl
hlCoord 0, 4 hlCoord 0, 4
call ScheduleRowRedrawHelper call CopyToScreenEdgeTiles
pop hl pop hl
ld a, h ld a, h
ld [H_SCREENEDGEREDRAWADDR + 1], a ld [H_SCREENEDGEREDRAWADDR + 1], a

217
home.asm
View file

@ -86,11 +86,11 @@ FarCopyData::
push af push af
ld a, [wBuffer] ld a, [wBuffer]
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
call CopyData call CopyData
pop af pop af
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
ret ret
CopyData:: CopyData::
@ -346,10 +346,10 @@ GetCryData:: ; 13d9 (0:13d9)
ret ret
DisplayPartyMenu:: ; 13fc (0:13fc) DisplayPartyMenu:: ; 13fc (0:13fc)
ld a,[$ffd7] ld a,[hTilesetType]
push af push af
xor a xor a
ld [$ffd7],a ld [hTilesetType],a
call GBPalWhiteOutWithDelay3 call GBPalWhiteOutWithDelay3
call ClearSprites call ClearSprites
call PartyMenuInit call PartyMenuInit
@ -357,10 +357,10 @@ DisplayPartyMenu:: ; 13fc (0:13fc)
jp HandlePartyMenuInput jp HandlePartyMenuInput
GoBackToPartyMenu:: ; 1411 (0:1411) GoBackToPartyMenu:: ; 1411 (0:1411)
ld a,[$ffd7] ld a,[hTilesetType]
push af push af
xor a xor a
ld [$ffd7],a ld [hTilesetType],a
call PartyMenuInit call PartyMenuInit
call RedrawPartyMenu call RedrawPartyMenu
jp HandlePartyMenuInput jp HandlePartyMenuInput
@ -422,7 +422,7 @@ HandlePartyMenuInput:: ; 145a (0:145a)
and a and a
jp nz,.swappingPokemon jp nz,.swappingPokemon
pop af pop af
ld [$ffd7],a ld [hTilesetType],a
bit 1,b bit 1,b
jr nz,.noPokemonChosen jr nz,.noPokemonChosen
ld a,[wPartyCount] ld a,[wPartyCount]
@ -920,11 +920,11 @@ FarCopyData2::
push af push af
ld a,[$ff8b] ld a,[$ff8b]
ld [H_LOADEDROMBANK],a ld [H_LOADEDROMBANK],a
ld [MBC3RomBank],a ld [MBC1RomBank],a
call CopyData call CopyData
pop af pop af
ld [H_LOADEDROMBANK],a ld [H_LOADEDROMBANK],a
ld [MBC3RomBank],a ld [MBC1RomBank],a
ret ret
FarCopyData3:: FarCopyData3::
@ -934,7 +934,7 @@ FarCopyData3::
push af push af
ld a,[$ff8b] ld a,[$ff8b]
ld [H_LOADEDROMBANK],a ld [H_LOADEDROMBANK],a
ld [MBC3RomBank],a ld [MBC1RomBank],a
push hl push hl
push de push de
push de push de
@ -946,7 +946,7 @@ FarCopyData3::
pop hl pop hl
pop af pop af
ld [H_LOADEDROMBANK],a ld [H_LOADEDROMBANK],a
ld [MBC3RomBank],a ld [MBC1RomBank],a
ret ret
FarCopyDataDouble:: FarCopyDataDouble::
@ -957,7 +957,7 @@ FarCopyDataDouble::
push af push af
ld a,[$ff8b] ld a,[$ff8b]
ld [H_LOADEDROMBANK],a ld [H_LOADEDROMBANK],a
ld [MBC3RomBank],a ld [MBC1RomBank],a
.loop .loop
ld a,[hli] ld a,[hli]
ld [de],a ld [de],a
@ -970,7 +970,7 @@ FarCopyDataDouble::
jr nz,.loop jr nz,.loop
pop af pop af
ld [H_LOADEDROMBANK],a ld [H_LOADEDROMBANK],a
ld [MBC3RomBank],a ld [MBC1RomBank],a
ret ret
CopyVideoData:: CopyVideoData::
@ -988,7 +988,7 @@ CopyVideoData::
ld a, b ld a, b
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
ld a, e ld a, e
ld [H_VBCOPYSRC], a ld [H_VBCOPYSRC], a
@ -1010,7 +1010,7 @@ CopyVideoData::
call DelayFrame call DelayFrame
ld a, [$ff8b] ld a, [$ff8b]
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
pop af pop af
ld [H_AUTOBGTRANSFERENABLED], a ld [H_AUTOBGTRANSFERENABLED], a
ret ret
@ -1037,7 +1037,7 @@ CopyVideoDataDouble::
ld a, b ld a, b
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
ld a, e ld a, e
ld [H_VBCOPYDOUBLESRC], a ld [H_VBCOPYDOUBLESRC], a
@ -1059,7 +1059,7 @@ CopyVideoDataDouble::
call DelayFrame call DelayFrame
ld a, [$ff8b] ld a, [$ff8b]
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
pop af pop af
ld [H_AUTOBGTRANSFERENABLED], a ld [H_AUTOBGTRANSFERENABLED], a
ret ret
@ -2687,12 +2687,14 @@ DisplayTextBoxID:: ; 30e8 (0:30e8)
ld [$2000],a ld [$2000],a
ret ret
Func_30fd:: ; 30fd (0:30fd) ; not zero if an NPC movement script is running, the player character is
; automatically stepping down from a door, or joypad states are being simulated
IsPlayerCharacterBeingControlledByGame:: ; 30fd (0:30fd)
ld a, [wNPCMovementScriptPointerTableNum] ld a, [wNPCMovementScriptPointerTableNum]
and a and a
ret nz ret nz
ld a, [wd736] ld a, [wd736]
bit 1, a bit 1, a ; currently stepping down from door bit
ret nz ret nz
ld a, [wd730] ld a, [wd730]
and $80 and $80
@ -2740,7 +2742,7 @@ EndNPCMovementScript:: ; 314e (0:314e)
ld hl, _EndNPCMovementScript ld hl, _EndNPCMovementScript
jp Bankswitch jp Bankswitch
Func_3156:: ; 3156 (0:3156) EmptyFunc2:: ; 3156 (0:3156)
ret ret
; stores hl in [W_TRAINERHEADERPTR] ; stores hl in [W_TRAINERHEADERPTR]
@ -2831,7 +2833,6 @@ ReadTrainerHeaderInfo:: ; 3193 (0:3193)
TrainerFlagAction:: TrainerFlagAction::
predef_jump FlagActionPredef predef_jump FlagActionPredef
; direct talking to a trainer (rather than getting seen by one)
TalkToTrainer:: ; 31cc (0:31cc) TalkToTrainer:: ; 31cc (0:31cc)
call StoreTrainerHeaderPointer call StoreTrainerHeaderPointer
xor a xor a
@ -2858,16 +2859,17 @@ TalkToTrainer:: ; 31cc (0:31cc)
ld a, $8 ld a, $8
call ReadTrainerHeaderInfo ; read end battle text call ReadTrainerHeaderInfo ; read end battle text
pop de pop de
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld hl, W_FLAGS_D733 ld hl, W_FLAGS_D733
set 4, [hl] ; activate map script index override (index is set below) set 4, [hl] ; activate map script index override (index is set below)
ld hl, wFlags_0xcd60 ld hl, wFlags_0xcd60
bit 0, [hl] ; test if player is already being engaged by another trainer bit 0, [hl] ; test if player is already engaging the trainer (because the trainer saw the player)
ret nz ret nz
; if the player talked to the trainer of his own volition
call EngageMapTrainer call EngageMapTrainer
ld hl, W_CURMAPSCRIPT ld hl, W_CURMAPSCRIPT
inc [hl] ; progress map script index (assuming it was 0 before) to start pre-battle routines inc [hl] ; increment map script index before StartTrainerBattle increments it again (next script function is usually EndTrainerBattle)
jp Func_325d jp StartTrainerBattle
; checks if any trainers are seeing the player and wanting to fight ; checks if any trainers are seeing the player and wanting to fight
CheckFightingMapTrainers:: ; 3219 (0:3219) CheckFightingMapTrainers:: ; 3219 (0:3219)
@ -2892,19 +2894,21 @@ CheckFightingMapTrainers:: ; 3219 (0:3219)
ldh [$b4], a ldh [$b4], a
call TrainerWalkUpToPlayer_Bank0 call TrainerWalkUpToPlayer_Bank0
ld hl, W_CURMAPSCRIPT ld hl, W_CURMAPSCRIPT
inc [hl] ; progress to battle phase 1 (engaging) inc [hl] ; increment map script index (next script function is usually DisplayEnemyTrainerTextAndStartBattle)
ret ret
Func_324c:: ; 324c (0:324c) ; display the before battle text after the enemy trainer has walked up to the player's sprite
DisplayEnemyTrainerTextAndStartBattle:: ; 324c (0:324c)
ld a, [wd730] ld a, [wd730]
and $1 and $1
ret nz ret nz ; return if the enemy trainer hasn't finished walking to the player's sprite
ld [wJoyIgnore], a ld [wJoyIgnore], a
ld a, [wSpriteIndex] ld a, [wSpriteIndex]
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [hSpriteIndexOrTextID], a
call DisplayTextID call DisplayTextID
; fall through
Func_325d:: ; 325d (0:325d) StartTrainerBattle:: ; 325d (0:325d)
xor a xor a
ld [wJoyIgnore], a ld [wJoyIgnore], a
call InitBattleEnemyParameters call InitBattleEnemyParameters
@ -2914,7 +2918,7 @@ Func_325d:: ; 325d (0:325d)
ld hl, wd72e ld hl, wd72e
set 1, [hl] set 1, [hl]
ld hl, W_CURMAPSCRIPT ld hl, W_CURMAPSCRIPT
inc [hl] ; progress to battle phase 2 (battling) inc [hl] ; increment map script index (next script function is usually EndTrainerBattle)
ret ret
EndTrainerBattle:: ; 3275 (0:3275) EndTrainerBattle:: ; 3275 (0:3275)
@ -3044,18 +3048,19 @@ CheckForEngagingTrainers:: ; 3306 (0:3306)
ld e, l ld e, l
jr .trainerLoop jr .trainerLoop
; saves loaded rom bank and hl as well as de registers ; hl = text if the player wins
PreBattleSaveRegisters:: ; 3354 (0:3354) ; de = text if the player loses
SaveEndBattleTextPointers:: ; 3354 (0:3354)
ld a, [H_LOADEDROMBANK] ld a, [H_LOADEDROMBANK]
ld [W_PBSTOREDROMBANK], a ld [wEndBattleTextRomBank], a
ld a, h ld a, h
ld [W_PBSTOREDREGISTERH], a ld [wEndBattleWinTextPointer], a
ld a, l ld a, l
ld [W_PBSTOREDREGISTERL], a ld [wEndBattleWinTextPointer + 1], a
ld a, d ld a, d
ld [W_PBSTOREDREGISTERD], a ld [wEndBattleLoseTextPointer], a
ld a, e ld a, e
ld [W_PBSTOREDREGISTERE], a ld [wEndBattleLoseTextPointer + 1], a
ret ret
; loads data of some trainer on the current map and plays pre-battle music ; loads data of some trainer on the current map and plays pre-battle music
@ -3074,7 +3079,7 @@ EngageMapTrainer:: ; 336a (0:336a)
ld [wEnemyMonAttackMod], a ; wcd2e ld [wEnemyMonAttackMod], a ; wcd2e
jp PlayTrainerMusic jp PlayTrainerMusic
Func_3381:: ; 3381 (0:3381) PrintEndBattleText:: ; 3381 (0:3381)
push hl push hl
ld hl, wd72d ld hl, wd72d
bit 7, [hl] bit 7, [hl]
@ -3083,45 +3088,45 @@ Func_3381:: ; 3381 (0:3381)
ret z ret z
ld a, [H_LOADEDROMBANK] ld a, [H_LOADEDROMBANK]
push af push af
ld a, [W_PBSTOREDROMBANK] ld a, [wEndBattleTextRomBank]
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [$2000], a ld [MBC1RomBank], a
push hl push hl
callba SaveTrainerName callba SaveTrainerName
ld hl, TrainerNameText ld hl, TrainerEndBattleText
call PrintText call PrintText
pop hl pop hl
pop af pop af
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [$2000], a ld [MBC1RomBank], a
callba Func_1a5e7 callba FreezeEnemyTrainerSprite
jp WaitForSoundToFinish jp WaitForSoundToFinish
Func_33b7:: ; 33b7 (0:33b7) GetSavedEndBattleTextPointer:: ; 33b7 (0:33b7)
ld a, [wBattleResult] ld a, [wBattleResult]
and a and a
jr nz, .asm_33c6 ; won battle
ld a, [W_PBSTOREDREGISTERH] jr nz, .lostBattle
ld a, [wEndBattleWinTextPointer]
ld h, a ld h, a
ld a, [W_PBSTOREDREGISTERL] ld a, [wEndBattleWinTextPointer + 1]
ld l, a ld l, a
ret ret
.asm_33c6 .lostBattle
ld a, [W_PBSTOREDREGISTERD] ld a, [wEndBattleLoseTextPointer]
ld h, a ld h, a
ld a, [W_PBSTOREDREGISTERE] ld a, [wEndBattleLoseTextPointer + 1]
ld l, a ld l, a
ret ret
TrainerNameText:: ; 33cf (0:33cf) TrainerEndBattleText:: ; 33cf (0:33cf)
TX_FAR _TrainerNameText TX_FAR _TrainerNameText
db $08 db $08
call GetSavedEndBattleTextPointer
Func_33d4:: ; 33d4 (0:33d4)
call Func_33b7
call TextCommandProcessor call TextCommandProcessor
jp TextScriptEnd jp TextScriptEnd
; XXX unused?
Func_33dd:: ; 33dd (0:33dd) Func_33dd:: ; 33dd (0:33dd)
ld a, [wFlags_0xcd60] ld a, [wFlags_0xcd60]
bit 0, a bit 0, a
@ -3177,15 +3182,19 @@ PlayTrainerMusic:: ; 33e8 (0:33e8)
INCLUDE "data/trainer_types.asm" INCLUDE "data/trainer_types.asm"
Func_3442:: ; 3442 (0:3442) ; checks if the player's coordinates match an arrow movement tile's coordinates
; and if so, decodes the RLE movement data
; b = player Y
; c = player X
DecodeArrowMovementRLE:: ; 3442 (0:3442)
ld a, [hli] ld a, [hli]
cp $ff cp $ff
ret z ret z ; no match in the list
cp b cp b
jr nz, .asm_345b jr nz, .nextArrowMovementTileEntry1
ld a, [hli] ld a, [hli]
cp c cp c
jr nz, .asm_345c jr nz, .nextArrowMovementTileEntry2
ld a, [hli] ld a, [hli]
ld d, [hl] ld d, [hl]
ld e, a ld e, a
@ -3194,12 +3203,12 @@ Func_3442:: ; 3442 (0:3442)
dec a dec a
ld [wSimulatedJoypadStatesIndex], a ld [wSimulatedJoypadStatesIndex], a
ret ret
.asm_345b .nextArrowMovementTileEntry1
inc hl inc hl
.asm_345c .nextArrowMovementTileEntry2
inc hl inc hl
inc hl inc hl
jr Func_3442 jr DecodeArrowMovementRLE
FuncTX_ItemStoragePC:: ; 3460 (0:3460) FuncTX_ItemStoragePC:: ; 3460 (0:3460)
call SaveScreenTilesToBuffer2 call SaveScreenTilesToBuffer2
@ -3313,14 +3322,14 @@ CheckCoords:: ; 34c7 (0:34c7)
; tests if a boulder's coordinates are in a specified array ; tests if a boulder's coordinates are in a specified array
; INPUT: ; INPUT:
; hl = address of array ; hl = address of array
; ff8c = which boulder to check? XXX ; [H_SPRITEINDEX] = index of boulder sprite
; OUTPUT: ; OUTPUT:
; [wWhichTrade] = if there is match, the matching array index ; [wWhichTrade] = if there is match, the matching array index
; sets carry if the coordinates are in the array, clears carry if not ; sets carry if the coordinates are in the array, clears carry if not
CheckBoulderCoords:: ; 34e4 (0:34e4) CheckBoulderCoords:: ; 34e4 (0:34e4)
push hl push hl
ld hl, wSpriteStateData2 + $04 ld hl, wSpriteStateData2 + $04
ld a, [$ff8c] ld a, [H_SPRITEINDEX]
swap a swap a
ld d, $0 ld d, $0
ld e, a ld e, a
@ -3971,21 +3980,21 @@ JoypadLowSensitivity:: ; 3831 (0:3831)
ret ret
WaitForTextScrollButtonPress:: ; 3865 (0:3865) WaitForTextScrollButtonPress:: ; 3865 (0:3865)
ld a, [H_DOWNARROWBLINKCNT1] ; $ff8b ld a, [H_DOWNARROWBLINKCNT1]
push af push af
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c ld a, [H_DOWNARROWBLINKCNT2]
push af push af
xor a xor a
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b ld [H_DOWNARROWBLINKCNT1], a
ld a, $6 ld a, $6
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a
.asm_3872 .loop
push hl push hl
ld a, [wd09b] ld a, [wTownMapSpriteBlinkingEnabled]
and a and a
jr z, .asm_387c jr z, .skipAnimation
call Func_716c6 call TownMapSpriteBlinkingAnimation
.asm_387c .skipAnimation
hlCoord 18, 16 hlCoord 18, 16
call HandleDownArrowBlinkTiming call HandleDownArrowBlinkTiming
pop hl pop hl
@ -3993,16 +4002,16 @@ WaitForTextScrollButtonPress:: ; 3865 (0:3865)
predef Func_5a5f predef Func_5a5f
ld a, [$ffb5] ld a, [$ffb5]
and A_BUTTON | B_BUTTON and A_BUTTON | B_BUTTON
jr z, .asm_3872 jr z, .loop
pop af pop af
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a
pop af pop af
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b ld [H_DOWNARROWBLINKCNT1], a
ret ret
; (unlass in link battle) waits for A or B being pressed and outputs the scrolling sound effect ; (unless in link battle) waits for A or B being pressed and outputs the scrolling sound effect
ManualTextScroll:: ; 3898 (0:3898) ManualTextScroll:: ; 3898 (0:3898)
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE ld a, [W_ISLINKBATTLE]
cp $4 cp $4
jr z, .inLinkBattle jr z, .inLinkBattle
call WaitForTextScrollButtonPress call WaitForTextScrollButtonPress
@ -5145,70 +5154,72 @@ Func_3ead:: ; 3ead (0:3ead)
ld hl, CinnabarGymQuiz_1eb0a ld hl, CinnabarGymQuiz_1eb0a
jp Bankswitch jp Bankswitch
Func_3eb5:: ; 3eb5 (0:3eb5) CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: ; 3eb5 (0:3eb5)
ld a, [H_LOADEDROMBANK] ld a, [H_LOADEDROMBANK]
push af push af
ld a, [hJoyHeld] ld a, [hJoyHeld]
bit 0, a bit 0, a ; A button
jr z, .asm_3eea jr z, .nothingFound
ld a, Bank(Func_469a0) ; A button is pressed
ld [$2000], a ld a, Bank(CheckForHiddenObject)
ld [MBC1RomBank], a
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
call Func_469a0 call CheckForHiddenObject
ld a, [$ffee] ld a, [$ffee]
and a and a
jr nz, .asm_3edd jr nz, .hiddenObjectNotFound
ld a, [wTrainerEngageDistance] ld a, [wHiddenObjectFunctionRomBank]
ld [$2000], a ld [MBC1RomBank], a
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld de, .asm_3eda ld de, .returnAddress
push de push de
jp [hl] jp [hl]
.asm_3eda .returnAddress
xor a xor a
jr .asm_3eec jr .done
.asm_3edd .hiddenObjectNotFound
callba PrintBookshelfText callba PrintBookshelfText
ld a, [$ffdb] ld a, [$ffdb]
and a and a
jr z, .asm_3eec jr z, .done
.asm_3eea .nothingFound
ld a, $ff ld a, $ff
.asm_3eec .done
ld [$ffeb], a ld [$ffeb], a
pop af pop af
ld [$2000], a ld [MBC1RomBank], a
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ret ret
PrintPredefTextID:: ; 3ef5 (0:3ef5) PrintPredefTextID:: ; 3ef5 (0:3ef5)
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
ld hl, PointerTable_3f22 ld hl, PredefTextIDPointerTable
call Func_3f0f call SetMapTextPointer
ld hl, wcf11 ld hl, wcf11
set 0, [hl] set 0, [hl]
call DisplayTextID call DisplayTextID
; fall through
Func_3f05:: ; 3f05 (0:3f05) RestoreMapTextPointer:: ; 3f05 (0:3f05)
ld hl, W_MAPTEXTPTR ; wd36c ld hl, W_MAPTEXTPTR
ld a, [$ffec] ld a, [$ffec]
ld [hli], a ld [hli], a
ld a, [$ffed] ld a, [$ffed]
ld [hl], a ld [hl], a
ret ret
Func_3f0f:: ; 3f0f (0:3f0f) SetMapTextPointer:: ; 3f0f (0:3f0f)
ld a, [W_MAPTEXTPTR] ; wd36c ld a, [W_MAPTEXTPTR]
ld [$ffec], a ld [$ffec], a
ld a, [W_MAPTEXTPTR + 1] ld a, [W_MAPTEXTPTR + 1]
ld [$ffed], a ld [$ffed], a
ld a, l ld a, l
ld [W_MAPTEXTPTR], a ; wd36c ld [W_MAPTEXTPTR], a
ld a, h ld a, h
ld [W_MAPTEXTPTR + 1], a ld [W_MAPTEXTPTR + 1], a
ret ret
PointerTable_3f22:: ; 3f22 (0:3f22) PredefTextIDPointerTable:: ; 3f22 (0:3f22)
dw CardKeySuccessText ; id = 01 dw CardKeySuccessText ; id = 01
dw CardKeyFailText ; id = 02 dw CardKeyFailText ; id = 02
dw RedBedroomPC ; id = 03 dw RedBedroomPC ; id = 03

View file

@ -61,11 +61,11 @@ rLCDC_DEFAULT EQU %11100011
ld a, Bank(WriteDMACodeToHRAM) ld a, Bank(WriteDMACodeToHRAM)
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
call WriteDMACodeToHRAM call WriteDMACodeToHRAM
xor a xor a
ld [$ffd7], a ld [hTilesetType], a
ld [$ff41], a ld [$ff41], a
ld [$ffae], a ld [$ffae], a
ld [$ffaf], a ld [$ffaf], a

View file

@ -10,7 +10,7 @@ EnterMap::
ld a, $ff ld a, $ff
ld [wJoyIgnore], a ld [wJoyIgnore], a
call LoadMapData call LoadMapData
callba Func_c335 ; initialize map variables callba ClearVariablesAfterLoadingMapData
ld hl, wd72c ld hl, wd72c
bit 0, [hl] ; has the player already made 3 steps since the last battle? bit 0, [hl] ; has the player already made 3 steps since the last battle?
jr z, .skipGivingThreeStepsOfNoRandomBattles jr z, .skipGivingThreeStepsOfNoRandomBattles
@ -20,14 +20,14 @@ EnterMap::
ld hl, wd72e ld hl, wd72e
bit 5, [hl] ; did a battle happen immediately before this? bit 5, [hl] ; did a battle happen immediately before this?
res 5, [hl] ; unset the "battle just happened" flag res 5, [hl] ; unset the "battle just happened" flag
call z, Func_12e7 call z, ResetUsingStrengthOutOfBattleBit
call nz, MapEntryAfterBattle call nz, MapEntryAfterBattle
ld hl, wd732 ld hl, wd732
ld a, [hl] ld a, [hl]
and 1 << 4 | 1 << 3 ; fly warp or dungeon warp and 1 << 4 | 1 << 3 ; fly warp or dungeon warp
jr z, .didNotEnterUsingFlyWarpOrDungeonWarp jr z, .didNotEnterUsingFlyWarpOrDungeonWarp
res 3, [hl] res 3, [hl]
callba EnterMapAnim ; display fly/teleport in graphical effect callba EnterMapAnim
call UpdateSprites call UpdateSprites
.didNotEnterUsingFlyWarpOrDungeonWarp .didNotEnterUsingFlyWarpOrDungeonWarp
callba CheckForceBikeOrSurf ; handle currents in SF islands and forced bike riding in cycling road callba CheckForceBikeOrSurf ; handle currents in SF islands and forced bike riding in cycling road
@ -53,7 +53,7 @@ OverworldLoopLessDelay::
jp nz,.moveAhead ; if the player sprite has not yet completed the walking animation jp nz,.moveAhead ; if the player sprite has not yet completed the walking animation
call JoypadOverworld ; get joypad state (which is possibly simulated) call JoypadOverworld ; get joypad state (which is possibly simulated)
callba SafariZoneCheck callba SafariZoneCheck
ld a,[wda46] ld a,[wSafariZoneGameOver]
and a and a
jp nz,WarpFound2 jp nz,WarpFound2
ld hl,wd72d ld hl,wd72d
@ -78,7 +78,7 @@ OverworldLoopLessDelay::
jr z,.startButtonNotPressed jr z,.startButtonNotPressed
; if START is pressed ; if START is pressed
xor a xor a
ld [$ff8c],a ; the $2920 ID for the start menu is 0 ld [hSpriteIndexOrTextID],a ; start menu text ID
jp .displayDialogue jp .displayDialogue
.startButtonNotPressed .startButtonNotPressed
bit 0,a ; A button bit 0,a ; A button
@ -87,14 +87,14 @@ OverworldLoopLessDelay::
ld a,[wd730] ld a,[wd730]
bit 2,a bit 2,a
jp nz,.noDirectionButtonsPressed jp nz,.noDirectionButtonsPressed
call Func_30fd call IsPlayerCharacterBeingControlledByGame
jr nz,.checkForOpponent jr nz,.checkForOpponent
call Func_3eb5 ; check for hidden items, PC's, etc. call CheckForHiddenObjectOrBookshelfOrCardKeyDoor
ld a,[$ffeb] ld a,[$ffeb]
and a and a
jp z,OverworldLoop jp z,OverworldLoop ; jump if a hidden object or bookshelf was found, but not if a card key door was found
call IsSpriteOrSignInFrontOfPlayer ; check for sign or sprite in front of the player call IsSpriteOrSignInFrontOfPlayer
ld a,[$ff8c] ; $2920 ID for NPC/sign text, if any ld a,[hSpriteIndexOrTextID]
and a and a
jp z,OverworldLoop jp z,OverworldLoop
.displayDialogue .displayDialogue
@ -293,7 +293,7 @@ OverworldLoopLessDelay::
bit 7,a ; in the safari zone? bit 7,a ; in the safari zone?
jr z,.notSafariZone jr z,.notSafariZone
callba SafariZoneCheckSteps callba SafariZoneCheckSteps
ld a,[wda46] ld a,[wSafariZoneGameOver]
and a and a
jp nz,WarpFound2 jp nz,WarpFound2
.notSafariZone .notSafariZone
@ -350,8 +350,8 @@ NewBattle:: ; 0683 (0:0683)
ld a,[wd72d] ld a,[wd72d]
bit 4,a bit 4,a
jr nz,.noBattle jr nz,.noBattle
call Func_30fd call IsPlayerCharacterBeingControlledByGame
jr nz,.noBattle jr nz,.noBattle ; no battle if the player character is under the game's control
ld a,[wd72e] ld a,[wd72e]
bit 4,a bit 4,a
jr nz,.noBattle jr nz,.noBattle
@ -523,7 +523,7 @@ WarpFound2:: ; 073c (0:073c)
.done .done
ld hl,wd736 ld hl,wd736
set 0,[hl] ; have the player's sprite step out from the door (if there is one) set 0,[hl] ; have the player's sprite step out from the door (if there is one)
call Func_12da call IgnoreInputForHalfSecond
jp EnterMap jp EnterMap
ContinueCheckWarpsNoCollisionLoop:: ; 07b5 (0:07b5) ContinueCheckWarpsNoCollisionLoop:: ; 07b5 (0:07b5)
@ -747,7 +747,7 @@ HandleBlackOut::
res 5, [hl] res 5, [hl]
ld a, Bank(ResetStatusAndHalveMoneyOnBlackout) ; also Bank(SpecialWarpIn) and Bank(SpecialEnterMap) ld a, Bank(ResetStatusAndHalveMoneyOnBlackout) ; also Bank(SpecialWarpIn) and Bank(SpecialEnterMap)
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
call ResetStatusAndHalveMoneyOnBlackout call ResetStatusAndHalveMoneyOnBlackout
call SpecialWarpIn call SpecialWarpIn
call Func_2312 call Func_2312
@ -798,7 +798,7 @@ LoadPlayerSpriteGraphics::
dec a dec a
jr z, .ridingBike jr z, .ridingBike
ld a, [$ffd7] ld a, [hTilesetType]
and a and a
jr nz, .determineGraphics jr nz, .determineGraphics
jr .startWalking jr .startWalking
@ -1058,11 +1058,11 @@ LoadEastWestConnectionsTileMap:: ; 0b02 (0:0b02)
ret ret
; function to check if there is a sign or sprite in front of the player ; function to check if there is a sign or sprite in front of the player
; if so, it is stored in [$FF8C] ; if so, it is stored in [hSpriteIndexOrTextID]
; if not, [$FF8C] is set to 0 ; if not, [hSpriteIndexOrTextID] is set to 0
IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23) IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23)
xor a xor a
ld [$ff8c],a ld [hSpriteIndexOrTextID],a
ld a,[wd4b0] ; number of signs in the map ld a,[wd4b0] ; number of signs in the map
and a and a
jr z,.extendRangeOverCounter jr z,.extendRangeOverCounter
@ -1092,7 +1092,7 @@ IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23)
dec c dec c
add hl,bc add hl,bc
ld a,[hl] ld a,[hl]
ld [$ff8c],a ; store sign text ID ld [hSpriteIndexOrTextID],a ; store sign text ID
pop bc pop bc
pop hl pop hl
ret ret
@ -1113,7 +1113,7 @@ IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23)
jr nz,.counterTilesLoop jr nz,.counterTilesLoop
; part of the above function, but sometimes its called on its own, when signs are irrelevant ; part of the above function, but sometimes its called on its own, when signs are irrelevant
; the caller must zero [$FF8C] ; the caller must zero [hSpriteIndexOrTextID]
IsSpriteInFrontOfPlayer:: ; 0b6b (0:0b6b) IsSpriteInFrontOfPlayer:: ; 0b6b (0:0b6b)
ld d,$10 ; talking range in pixels (normal range) ld d,$10 ; talking range in pixels (normal range)
IsSpriteInFrontOfPlayer2:: ; 0b6d (0:0b6d) IsSpriteInFrontOfPlayer2:: ; 0b6d (0:0b6d)
@ -1195,7 +1195,7 @@ IsSpriteInFrontOfPlayer2:: ; 0b6d (0:0b6d)
ld l,a ld l,a
set 7,[hl] set 7,[hl]
ld a,e ld a,e
ld [$ff8c],a ; store sprite ID ld [hSpriteIndexOrTextID],a
ret ret
; function to check if the player will jump down a ledge and check if the tile ahead is passable (when not surfing) ; function to check if the player will jump down a ledge and check if the tile ahead is passable (when not surfing)
@ -1214,9 +1214,9 @@ CollisionCheckOnLand:: ; 0bd1 (0:0bd1)
and d ; check if a sprite is in the direction the player is trying to go and d ; check if a sprite is in the direction the player is trying to go
jr nz,.collision jr nz,.collision
xor a xor a
ld [$ff8c],a ld [hSpriteIndexOrTextID],a
call IsSpriteInFrontOfPlayer ; check for sprite collisions again? when does the above check fail to detect a sprite collision? call IsSpriteInFrontOfPlayer ; check for sprite collisions again? when does the above check fail to detect a sprite collision?
ld a,[$ff8c] ld a,[hSpriteIndexOrTextID]
and a ; was there a sprite collision? and a ; was there a sprite collision?
jr nz,.collision jr nz,.collision
; if no sprite collision ; if no sprite collision
@ -1467,7 +1467,7 @@ AdvancePlayerSprite:: ; 0d27 (0:0d27)
cp a,$01 cp a,$01
jr nz,.checkIfMovingWest jr nz,.checkIfMovingWest
; moving east ; moving east
ld a,[wd526] ld a,[wMapViewVRAMPointer]
ld e,a ld e,a
and a,$e0 and a,$e0
ld d,a ld d,a
@ -1475,13 +1475,13 @@ AdvancePlayerSprite:: ; 0d27 (0:0d27)
add a,$02 add a,$02
and a,$1f and a,$1f
or d or d
ld [wd526],a ld [wMapViewVRAMPointer],a
jr .adjustXCoordWithinBlock jr .adjustXCoordWithinBlock
.checkIfMovingWest .checkIfMovingWest
cp a,$ff cp a,$ff
jr nz,.checkIfMovingSouth jr nz,.checkIfMovingSouth
; moving west ; moving west
ld a,[wd526] ld a,[wMapViewVRAMPointer]
ld e,a ld e,a
and a,$e0 and a,$e0
ld d,a ld d,a
@ -1489,36 +1489,36 @@ AdvancePlayerSprite:: ; 0d27 (0:0d27)
sub a,$02 sub a,$02
and a,$1f and a,$1f
or d or d
ld [wd526],a ld [wMapViewVRAMPointer],a
jr .adjustXCoordWithinBlock jr .adjustXCoordWithinBlock
.checkIfMovingSouth .checkIfMovingSouth
ld a,b ld a,b
cp a,$01 cp a,$01
jr nz,.checkIfMovingNorth jr nz,.checkIfMovingNorth
; moving south ; moving south
ld a,[wd526] ld a,[wMapViewVRAMPointer]
add a,$40 add a,$40
ld [wd526],a ld [wMapViewVRAMPointer],a
jr nc,.adjustXCoordWithinBlock jr nc,.adjustXCoordWithinBlock
ld a,[wd527] ld a,[wMapViewVRAMPointer + 1]
inc a inc a
and a,$03 and a,$03
or a,$98 or a,$98
ld [wd527],a ld [wMapViewVRAMPointer + 1],a
jr .adjustXCoordWithinBlock jr .adjustXCoordWithinBlock
.checkIfMovingNorth .checkIfMovingNorth
cp a,$ff cp a,$ff
jr nz,.adjustXCoordWithinBlock jr nz,.adjustXCoordWithinBlock
; moving north ; moving north
ld a,[wd526] ld a,[wMapViewVRAMPointer]
sub a,$40 sub a,$40
ld [wd526],a ld [wMapViewVRAMPointer],a
jr nc,.adjustXCoordWithinBlock jr nc,.adjustXCoordWithinBlock
ld a,[wd527] ld a,[wMapViewVRAMPointer + 1]
dec a dec a
and a,$03 and a,$03
or a,$98 or a,$98
ld [wd527],a ld [wMapViewVRAMPointer + 1],a
.adjustXCoordWithinBlock .adjustXCoordWithinBlock
ld a,c ld a,c
and a and a
@ -1694,18 +1694,18 @@ MoveTileBlockMapPointerNorth:: ; 0e85 (0:0e85)
ScheduleNorthRowRedraw:: ; 0e91 (0:0e91) ScheduleNorthRowRedraw:: ; 0e91 (0:0e91)
hlCoord 0, 0 hlCoord 0, 0
call ScheduleRowRedrawHelper call CopyToScreenEdgeTiles
ld a,[wd526] ld a,[wMapViewVRAMPointer]
ld [H_SCREENEDGEREDRAWADDR],a ld [H_SCREENEDGEREDRAWADDR],a
ld a,[wd527] ld a,[wMapViewVRAMPointer + 1]
ld [H_SCREENEDGEREDRAWADDR + 1],a ld [H_SCREENEDGEREDRAWADDR + 1],a
ld a,REDRAWROW ld a,REDRAWROW
ld [H_SCREENEDGEREDRAW],a ld [H_SCREENEDGEREDRAW],a
ret ret
ScheduleRowRedrawHelper:: ; 0ea6 (0:0ea6) CopyToScreenEdgeTiles:: ; 0ea6 (0:0ea6)
ld de,wScreenEdgeTiles ld de,wScreenEdgeTiles
ld c,$28 ld c,2 * 20
.loop .loop
ld a,[hli] ld a,[hli]
ld [de],a ld [de],a
@ -1716,10 +1716,10 @@ ScheduleRowRedrawHelper:: ; 0ea6 (0:0ea6)
ScheduleSouthRowRedraw:: ; 0eb2 (0:0eb2) ScheduleSouthRowRedraw:: ; 0eb2 (0:0eb2)
hlCoord 0, 16 hlCoord 0, 16
call ScheduleRowRedrawHelper call CopyToScreenEdgeTiles
ld a,[wd526] ld a,[wMapViewVRAMPointer]
ld l,a ld l,a
ld a,[wd527] ld a,[wMapViewVRAMPointer + 1]
ld h,a ld h,a
ld bc,$0200 ld bc,$0200
add hl,bc add hl,bc
@ -1736,7 +1736,7 @@ ScheduleSouthRowRedraw:: ; 0eb2 (0:0eb2)
ScheduleEastColumnRedraw:: ; 0ed3 (0:0ed3) ScheduleEastColumnRedraw:: ; 0ed3 (0:0ed3)
hlCoord 18, 0 hlCoord 18, 0
call ScheduleColumnRedrawHelper call ScheduleColumnRedrawHelper
ld a,[wd526] ld a,[wMapViewVRAMPointer]
ld c,a ld c,a
and a,$e0 and a,$e0
ld b,a ld b,a
@ -1745,7 +1745,7 @@ ScheduleEastColumnRedraw:: ; 0ed3 (0:0ed3)
and a,$1f and a,$1f
or b or b
ld [H_SCREENEDGEREDRAWADDR],a ld [H_SCREENEDGEREDRAWADDR],a
ld a,[wd527] ld a,[wMapViewVRAMPointer + 1]
ld [H_SCREENEDGEREDRAWADDR + 1],a ld [H_SCREENEDGEREDRAWADDR + 1],a
ld a,REDRAWCOL ld a,REDRAWCOL
ld [H_SCREENEDGEREDRAW],a ld [H_SCREENEDGEREDRAW],a
@ -1774,9 +1774,9 @@ ScheduleColumnRedrawHelper:: ; 0ef2 (0:0ef2)
ScheduleWestColumnRedraw:: ; 0f08 (0:0f08) ScheduleWestColumnRedraw:: ; 0f08 (0:0f08)
hlCoord 0, 0 hlCoord 0, 0
call ScheduleColumnRedrawHelper call ScheduleColumnRedrawHelper
ld a,[wd526] ld a,[wMapViewVRAMPointer]
ld [H_SCREENEDGEREDRAWADDR],a ld [H_SCREENEDGEREDRAWADDR],a
ld a,[wd527] ld a,[wMapViewVRAMPointer + 1]
ld [H_SCREENEDGEREDRAWADDR + 1],a ld [H_SCREENEDGEREDRAWADDR + 1],a
ld a,REDRAWCOL ld a,REDRAWCOL
ld [H_SCREENEDGEREDRAW],a ld [H_SCREENEDGEREDRAW],a
@ -2013,7 +2013,7 @@ LoadPlayerSpriteGraphicsCommon:: ; 1063 (0:1063)
; function to load data from the map header ; function to load data from the map header
LoadMapHeader:: ; 107c (0:107c) LoadMapHeader:: ; 107c (0:107c)
callba Func_f113 callba MarkTownVisitedAndLoadMissableObjects
ld a,[W_CURMAPTILESET] ld a,[W_CURMAPTILESET]
ld [wd119],a ld [wd119],a
ld a,[W_CURMAP] ld a,[W_CURMAP]
@ -2307,9 +2307,9 @@ LoadMapData:: ; 1241 (0:1241)
push af push af
call DisableLCD call DisableLCD
ld a,$98 ld a,$98
ld [wd527],a ld [wMapViewVRAMPointer + 1],a
xor a xor a
ld [wd526],a ld [wMapViewVRAMPointer],a
ld [$ffaf],a ld [$ffaf],a
ld [$ffae],a ld [$ffae],a
ld [wWalkCounter],a ld [wWalkCounter],a
@ -2383,16 +2383,16 @@ SwitchToMapRomBank:: ; 12bc (0:12bc)
pop hl pop hl
ret ret
Func_12da:: ; 12da (0:12da) IgnoreInputForHalfSecond: ; 12da (0:12da)
ld a, $1e ld a, 30
ld [wd13a], a ld [wIgnoreInputCounter], a
ld hl, wd730 ld hl, wd730
ld a, [hl] ld a, [hl]
or $26 or $26
ld [hl], a ld [hl], a ; set ignore input bit
ret ret
Func_12e7:: ; 12e7 (0:12e7) ResetUsingStrengthOutOfBattleBit: ; 12e7 (0:12e7)
ld hl, wd728 ld hl, wd728
res 0, [hl] res 0, [hl]
ret ret

View file

@ -29,7 +29,7 @@ VBlank::
call $ff80 ; hOAMDMA call $ff80 ; hOAMDMA
ld a, Bank(PrepareOAMData) ld a, Bank(PrepareOAMData)
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
call PrepareOAMData call PrepareOAMData
; VBlank-sensitive operations end. ; VBlank-sensitive operations end.
@ -54,7 +54,7 @@ VBlank::
ld a, [wc0ef] ; music ROM bank ld a, [wc0ef] ; music ROM bank
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
cp BANK(Music2_UpdateMusic) cp BANK(Music2_UpdateMusic)
jr nz, .notbank2 jr nz, .notbank2
@ -72,7 +72,7 @@ VBlank::
call Music1f_UpdateMusic call Music1f_UpdateMusic
.afterMusic .afterMusic
callba Func_18dee ; keep track of time played callba TrackPlayTime ; keep track of time played
ld a, [$fff9] ld a, [$fff9]
and a and a
@ -80,7 +80,7 @@ VBlank::
ld a, [wd122] ld a, [wd122]
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
pop hl pop hl
pop de pop de

View file

@ -376,9 +376,9 @@ UpdateMovingBgTiles::
; Animate water and flower ; Animate water and flower
; tiles in the overworld. ; tiles in the overworld.
ld a, [$ffd7] ld a, [hTilesetType]
and a and a
ret z ret z ; no animations if indoors (or if a menu set this to 0)
ld a, [$ffd8] ld a, [$ffd8]
inc a inc a
@ -412,9 +412,10 @@ UpdateMovingBgTiles::
dec c dec c
jr nz, .left jr nz, .left
.done .done
ld a, [$ffd7] ld a, [hTilesetType]
rrca rrca
ret nc ret nc
; if in a cave, no flower animations
xor a xor a
ld [$ffd8], a ld [$ffd8], a
ret ret

View file

@ -17,6 +17,9 @@ H_DOWNARROWBLINKCNT2 EQU $FF8C
H_SPRITEDATAOFFSET EQU $FF8B H_SPRITEDATAOFFSET EQU $FF8B
H_SPRITEINDEX EQU $FF8C H_SPRITEINDEX EQU $FF8C
; DisplayTextID's argument
hSpriteIndexOrTextID EQU $FF8C
; Note: the following multiplication and division addresses are used for multiple purposes ; Note: the following multiplication and division addresses are used for multiple purposes
; and so they overlap with each other ; and so they overlap with each other
@ -120,6 +123,12 @@ H_FRAMECOUNTER EQU $FFD5 ; decremented every V-blank (used for delays)
; you can detect that the V-blank handler has run since then. ; you can detect that the V-blank handler has run since then.
H_VBLANKOCCURRED EQU $FFD6 H_VBLANKOCCURRED EQU $FFD6
; 00 = indoor
; 01 = cave
; 02 = outdoor
; this is often set to 00 in order to turn off water and flower BG tile animations
hTilesetType EQU $FFD7
H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10 H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10
H_WHOSETURN EQU $FFF3 ; 0 on players turn, 1 on enemys turn H_WHOSETURN EQU $FFF3 ; 0 on players turn, 1 on enemys turn

View file

@ -16,11 +16,11 @@ homecall: MACRO
push af push af
ld a, BANK(\1) ld a, BANK(\1)
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
call \1 call \1
pop af pop af
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [MBC3RomBank], a ld [MBC1RomBank], a
ENDM ENDM
callba: MACRO callba: MACRO

View file

@ -2021,12 +2021,12 @@ INCLUDE "data/map_songs.asm"
INCLUDE "data/map_header_banks.asm" INCLUDE "data/map_header_banks.asm"
Func_c335: ; c335 (3:4335) ClearVariablesAfterLoadingMapData: ; c335 (3:4335)
ld a, $90 ld a, $90
ld [hVBlankWY], a ld [hVBlankWY], a
ld [rWY], a ; $ff4a ld [rWY], a
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a
ld [wStepCounter], a ld [wStepCounter], a
ld [W_LONEATTACKNO], a ; W_GYMLEADERNO ld [W_LONEATTACKNO], a ; W_GYMLEADERNO
ld [hJoyPressed], a ld [hJoyPressed], a
@ -2034,10 +2034,10 @@ Func_c335: ; c335 (3:4335)
ld [hJoyHeld], a ld [hJoyHeld], a
ld [wcd6a], a ld [wcd6a], a
ld [wd5a3], a ld [wd5a3], a
ld hl, wd73f ld hl, wCardKeyDoorY
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
ld hl, wWhichTrade ; wWhichTrade ld hl, wWhichTrade
ld bc, $1e ld bc, $1e
call FillMemory call FillMemory
ret ret
@ -2509,7 +2509,7 @@ CheckForBoulderCollisionWithSprites: ; c636 (3:4636)
ApplyOutOfBattlePoisonDamage: ; c69c (3:469c) ApplyOutOfBattlePoisonDamage: ; c69c (3:469c)
ld a, [wd730] ld a, [wd730]
add a add a
jp c, .noBlackOut jp c, .noBlackOut ; no black out if joypad states are being simulated
ld a, [wPartyCount] ld a, [wPartyCount]
and a and a
jp z, .noBlackOut jp z, .noBlackOut
@ -2644,7 +2644,7 @@ LoadTilesetHeader: ; c754 (3:4754)
dec c dec c
jr nz, .copyTilesetHeaderLoop jr nz, .copyTilesetHeaderLoop
ld a, [hl] ld a, [hl]
ld [$ffd7], a ld [hTilesetType], a
xor a xor a
ld [$ffd8], a ld [$ffd8], a
pop hl pop hl
@ -3068,10 +3068,14 @@ DrawBadges: ; ea03 (3:6a03)
GymLeaderFaceAndBadgeTileGraphics: ; ea9e (3:6a9e) GymLeaderFaceAndBadgeTileGraphics: ; ea9e (3:6a9e)
INCBIN "gfx/badges.2bpp" INCBIN "gfx/badges.2bpp"
Func_ee9e: ; ee9e (3:6e9e) ; replaces a tile block with the one specified in [wNewTileBlockID]
; and redraws the map view if necessary
; b = Y
; c = X
ReplaceTileBlock: ; ee9e (3:6e9e)
call GetPredefRegisters call GetPredefRegisters
ld hl, wOverworldMap ld hl, wOverworldMap
ld a, [W_CURMAPWIDTH] ; wd369 ld a, [W_CURMAPWIDTH]
add $6 add $6
ld e, a ld e, a
ld d, $0 ld d, $0
@ -3083,21 +3087,22 @@ Func_ee9e: ; ee9e (3:6e9e)
ld e, a ld e, a
ld a, b ld a, b
and a and a
jr z, .asm_eebb jr z, .addX
.asm_eeb7 ; add width * Y
.addWidthYTimesLoop
add hl, de add hl, de
dec b dec b
jr nz, .asm_eeb7 jr nz, .addWidthYTimesLoop
.asm_eebb .addX
add hl, bc add hl, bc ; add X
ld a, [wd09f] ld a, [wNewTileBlockID]
ld [hl], a ld [hl], a
ld a, [wCurrentTileBlockMapViewPointer] ld a, [wCurrentTileBlockMapViewPointer]
ld c, a ld c, a
ld a, [wCurrentTileBlockMapViewPointer + 1] ld a, [wCurrentTileBlockMapViewPointer + 1]
ld b, a ld b, a
call Func_ef4e call CompareHLWithBC
ret c ret c ; return if the replaced tile block is below the map view in memory
push hl push hl
ld l, e ld l, e
ld h, $0 ld h, $0
@ -3108,27 +3113,27 @@ Func_ee9e: ; ee9e (3:6e9e)
add hl, de add hl, de
add hl, bc add hl, bc
pop bc pop bc
call Func_ef4e call CompareHLWithBC
ret c ret c ; return if the replaced tile block is above the map view in memory
Func_eedc: ; eedc (3:6edc) RedrawMapView: ; eedc (3:6edc)
ld a, [W_ISINBATTLE] ; W_ISINBATTLE ld a, [W_ISINBATTLE] ; W_ISINBATTLE
inc a inc a
ret z ret z
ld a, [H_AUTOBGTRANSFERENABLED] ; $ffba ld a, [H_AUTOBGTRANSFERENABLED]
push af push af
ld a, [$ffd7] ld a, [hTilesetType]
push af push af
xor a xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a
ld [$ffd7], a ld [hTilesetType], a ; no flower/water BG tile animations
call LoadCurrentMapView call LoadCurrentMapView
call GoPAL_SET_CF1C call GoPAL_SET_CF1C
ld hl, wd526 ld hl, wMapViewVRAMPointer
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
ld de, $ffc0 ld de, -2 * 32
add hl, de add hl, de
ld a, h ld a, h
and $3 and $3
@ -3137,21 +3142,21 @@ Func_eedc: ; eedc (3:6edc)
ld [wHPBarMaxHP], a ld [wHPBarMaxHP], a
ld a, h ld a, h
ld [wHPBarMaxHP + 1], a ld [wHPBarMaxHP + 1], a
ld a, $2 ld a, 2
ld [$ffbe], a ld [$ffbe], a
ld c, $9 ld c, 9 ; number of rows of 2x2 tiles (this covers the whole screen)
.asm_ef0f .redrawRowLoop
push bc push bc
push hl push hl
push hl push hl
ld hl, wOAMBuffer + $78 ld hl, wTileMap - 2 * 20
ld de, $14 ld de, 20
ld a, [$ffbe] ld a, [$ffbe]
.asm_ef1a .asm_ef1a
add hl, de add hl, de
dec a dec a
jr nz, .asm_ef1a jr nz, .asm_ef1a
call ScheduleRowRedrawHelper call CopyToScreenEdgeTiles
pop hl pop hl
ld de, $20 ld de, $20
ld a, [$ffbe] ld a, [$ffbe]
@ -3163,11 +3168,11 @@ Func_eedc: ; eedc (3:6edc)
or $98 or $98
dec c dec c
jr nz, .asm_ef28 jr nz, .asm_ef28
ld [$ffd2], a ld [H_SCREENEDGEREDRAWADDR + 1], a
ld a, l ld a, l
ld [H_SCREENEDGEREDRAWADDR], a ; $ffd1 ld [H_SCREENEDGEREDRAWADDR], a
ld a, $2 ld a, REDRAWROW
ld [H_SCREENEDGEREDRAW], a ; $ffd0 ld [H_SCREENEDGEREDRAW], a
call DelayFrame call DelayFrame
ld hl, $ffbe ld hl, $ffbe
inc [hl] inc [hl]
@ -3175,14 +3180,14 @@ Func_eedc: ; eedc (3:6edc)
pop hl pop hl
pop bc pop bc
dec c dec c
jr nz, .asm_ef0f jr nz, .redrawRowLoop
pop af pop af
ld [$ffd7], a ld [hTilesetType], a
pop af pop af
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba ld [H_AUTOBGTRANSFERENABLED], a
ret ret
Func_ef4e: ; ef4e (3:6f4e) CompareHLWithBC: ; ef4e (3:6f4e)
ld a, h ld a, h
sub b sub b
ret nz ret nz
@ -3192,8 +3197,8 @@ Func_ef4e: ; ef4e (3:6f4e)
INCLUDE "engine/overworld/cut.asm" INCLUDE "engine/overworld/cut.asm"
Func_f113: ; f113 (3:7113) MarkTownVisitedAndLoadMissableObjects: ; f113 (3:7113)
ld a, [W_CURMAP] ; W_CURMAP ld a, [W_CURMAP]
cp ROUTE_1 cp ROUTE_1
jr nc, .notInTown jr nc, .notInTown
ld c, a ld c, a
@ -3202,15 +3207,16 @@ Func_f113: ; f113 (3:7113)
predef FlagActionPredef predef FlagActionPredef
.notInTown .notInTown
ld hl, MapHSPointers ld hl, MapHSPointers
ld a, [W_CURMAP] ; W_CURMAP ld a, [W_CURMAP]
ld b, $0 ld b, $0
ld c, a ld c, a
add hl, bc add hl, bc
add hl, bc add hl, bc
ld a, [hli] ; load missable objects pointer in hl ld a, [hli] ; load missable objects pointer in hl
ld h, [hl] ld h, [hl]
; fall through
Func_f132: ; f132 (3:7132) LoadMissableObjects: ; f132 (3:7132)
ld l, a ld l, a
push hl push hl
ld de, MapHS00 ; calculate difference between out pointer and the base pointer ld de, MapHS00 ; calculate difference between out pointer and the base pointer

View file

@ -24,7 +24,7 @@ AgathaScript_76443: ; 76443 (1d:6443)
AgathaScript_76459: ; 76459 (1d:6459) AgathaScript_76459: ; 76459 (1d:6459)
ld [wd09f], a ld [wd09f], a
ld bc, $2 ld bc, $2
predef_jump Func_ee9e predef_jump ReplaceTileBlock
AgathaScript_76464: ; 76464 (1d:6464) AgathaScript_76464: ; 76464 (1d:6464)
xor a xor a
@ -33,7 +33,7 @@ AgathaScript_76464: ; 76464 (1d:6464)
AgathaScriptPointers: ; 76469 (1d:6469) AgathaScriptPointers: ; 76469 (1d:6469)
dw AgathaScript0 dw AgathaScript0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw AgathaScript2 dw AgathaScript2
dw AgathaScript3 dw AgathaScript3
dw AgathaScript4 dw AgathaScript4

View file

@ -24,7 +24,7 @@ BrunoScript_762ec: ; 762ec (1d:62ec)
BrunoScript_76302: ; 76302 (1d:6302) BrunoScript_76302: ; 76302 (1d:6302)
ld [wd09f], a ld [wd09f], a
ld bc, $2 ld bc, $2
predef_jump Func_ee9e predef_jump ReplaceTileBlock
BrunoScript_7630d: ; 7630d (1d:630d) BrunoScript_7630d: ; 7630d (1d:630d)
xor a xor a
@ -33,7 +33,7 @@ BrunoScript_7630d: ; 7630d (1d:630d)
BrunoScriptPointers: ; 76312 (1d:6312) BrunoScriptPointers: ; 76312 (1d:6312)
dw BrunoScript0 dw BrunoScript0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw BrunoScript2 dw BrunoScript2
dw BrunoScript3 dw BrunoScript3
dw BrunoScript4 dw BrunoScript4

View file

@ -34,7 +34,7 @@ CeladonGameCornerScript_48bec: ; 48bec (12:4bec)
ld a, $2a ld a, $2a
ld [wd09f], a ld [wd09f], a
ld bc, $0208 ld bc, $0208
predef_jump Func_ee9e predef_jump ReplaceTileBlock
CeladonGameCornerScript_48c07: ; 48c07 (12:4c07) CeladonGameCornerScript_48c07: ; 48c07 (12:4c07)
xor a xor a
@ -409,7 +409,7 @@ CeladonGameCornerText11: ; 48e9d (12:4e9d)
set 7, [hl] set 7, [hl]
ld hl, CeladonGameCornerText_48ed3 ld hl, CeladonGameCornerText_48ed3
ld de, CeladonGameCornerText_48ed3 ld de, CeladonGameCornerText_48ed3
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ldh a, [$8c] ldh a, [$8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer
@ -449,7 +449,7 @@ CeladonGameCornerText12: ; 48edd (12:4edd)
ld a, $43 ld a, $43
ld [wd09f], a ld [wd09f], a
ld bc, $0208 ld bc, $0208
predef Func_ee9e predef ReplaceTileBlock
jp TextScriptEnd jp TextScriptEnd
CeladonGameCornerText_48f09: ; 48f09 (12:4f09) CeladonGameCornerText_48f09: ; 48f09 (12:4f09)

View file

@ -31,7 +31,7 @@ CeladonGymText_48943: ; 48943 (12:4943)
CeladonGymScriptPointers: ; 4894e (12:494e) CeladonGymScriptPointers: ; 4894e (12:494e)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw CeladonGymScript3 dw CeladonGymScript3
@ -177,7 +177,7 @@ CeladonGymText1: ; 48a11 (12:4a11)
set 7, [hl] set 7, [hl]
ld hl, CeladonGymText_48a63 ld hl, CeladonGymText_48a63
ld de, CeladonGymText_48a63 ld de, CeladonGymText_48a63
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ldh a, [$8c] ldh a, [$8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -133,7 +133,7 @@ CeruleanCityScript1: ; 19567 (6:5567)
set 7, [hl] set 7, [hl]
ld hl, CeruleanCityText_1966d ld hl, CeruleanCityText_1966d
ld de, CeruleanCityText_19672 ld de, CeruleanCityText_19672
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld a, SONY1 + $c8 ld a, SONY1 + $c8
ld [W_CUROPPONENT], a ld [W_CUROPPONENT], a
@ -277,7 +277,7 @@ CeruleanCityText2: ; 1967c (6:567c)
set 7, [hl] set 7, [hl]
ld hl, CeruleanCityText_196ee ld hl, CeruleanCityText_196ee
ld de, CeruleanCityText_196ee ld de, CeruleanCityText_196ee
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld a, [$ff8c] ld a, [$ff8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -31,7 +31,7 @@ CeruleanGymScript_5c6ed: ; 5c6ed (17:46ed)
CeruleanGymScriptPointers: ; 5c6f8 (17:46f8) CeruleanGymScriptPointers: ; 5c6f8 (17:46f8)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw CeruleanGymScript3 dw CeruleanGymScript3
@ -126,7 +126,7 @@ CeruleanGymText1: ; 5c771 (17:4771)
set 7, [hl] set 7, [hl]
ld hl, CeruleanGymText_5c7d8 ld hl, CeruleanGymText_5c7d8
ld de, CeruleanGymText_5c7d8 ld de, CeruleanGymText_5c7d8
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ldh a, [$8c] ldh a, [$8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -224,7 +224,7 @@ CinnabarGymText1: ; 758df (1d:58df)
call PrintText call PrintText
ld hl, BlaineEndBattleText ld hl, BlaineEndBattleText
ld de, BlaineEndBattleText ld de, BlaineEndBattleText
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld a, $7 ld a, $7
ld [W_GYMLEADERNO], a ld [W_GYMLEADERNO], a
jp CinnabarGymScript_758b7 jp CinnabarGymScript_758b7
@ -267,7 +267,7 @@ CinnabarGymText2: ; 75939 (1d:5939)
call PrintText call PrintText
ld hl, CinnabarGymText_75964 ld hl, CinnabarGymText_75964
ld de, CinnabarGymText_75964 ; $5964 XXX ld de, CinnabarGymText_75964 ; $5964 XXX
call PreBattleSaveRegisters call SaveEndBattleTextPointers
jp CinnabarGymScript_758b7 jp CinnabarGymScript_758b7
.asm_46bb4 ; 0x75956 .asm_46bb4 ; 0x75956
ld hl, CinnabarGymText_75969 ld hl, CinnabarGymText_75969
@ -296,7 +296,7 @@ CinnabarGymText3: ; 7596e (1d:596e)
call PrintText call PrintText
ld hl, CinnabarGymText_75999 ld hl, CinnabarGymText_75999
ld de, CinnabarGymText_75999 ; $5999 XXX ld de, CinnabarGymText_75999 ; $5999 XXX
call PreBattleSaveRegisters call SaveEndBattleTextPointers
jp CinnabarGymScript_758b7 jp CinnabarGymScript_758b7
.asm_4b406 ; 0x7598b .asm_4b406 ; 0x7598b
ld hl, CinnabarGymText_7599e ld hl, CinnabarGymText_7599e
@ -325,7 +325,7 @@ CinnabarGymText4: ; 759a3 (1d:59a3)
call PrintText call PrintText
ld hl, CinnabarGymText_759ce ld hl, CinnabarGymText_759ce
ld de, CinnabarGymText_759ce ; $59ce XXX ld de, CinnabarGymText_759ce ; $59ce XXX
call PreBattleSaveRegisters call SaveEndBattleTextPointers
jp CinnabarGymScript_758b7 jp CinnabarGymScript_758b7
.asm_c0673 ; 0x759c0 .asm_c0673 ; 0x759c0
ld hl, CinnabarGymText_759d3 ld hl, CinnabarGymText_759d3
@ -354,7 +354,7 @@ CinnabarGymText5: ; 759d8 (1d:59d8)
call PrintText call PrintText
ld hl, CinnabarGymText_75a03 ld hl, CinnabarGymText_75a03
ld de, CinnabarGymText_75a03 ; $5a03 XXX ld de, CinnabarGymText_75a03 ; $5a03 XXX
call PreBattleSaveRegisters call SaveEndBattleTextPointers
jp CinnabarGymScript_758b7 jp CinnabarGymScript_758b7
.asm_5cfd7 ; 0x759f5 .asm_5cfd7 ; 0x759f5
ld hl, CinnabarGymText_75a08 ld hl, CinnabarGymText_75a08
@ -383,7 +383,7 @@ CinnabarGymText6: ; 75a0d (1d:5a0d)
call PrintText call PrintText
ld hl, CinnabarGymText_75a38 ld hl, CinnabarGymText_75a38
ld de, CinnabarGymText_75a38 ld de, CinnabarGymText_75a38
call PreBattleSaveRegisters call SaveEndBattleTextPointers
jp CinnabarGymScript_758b7 jp CinnabarGymScript_758b7
.asm_776b4 ; 0x75a2a .asm_776b4 ; 0x75a2a
ld hl, CinnabarGymText_75a3d ld hl, CinnabarGymText_75a3d
@ -412,7 +412,7 @@ CinnabarGymText7: ; 75a42 (1d:5a42)
call PrintText call PrintText
ld hl, CinnabarGymText_75a6d ld hl, CinnabarGymText_75a6d
ld de, CinnabarGymText_75a6d ld de, CinnabarGymText_75a6d
call PreBattleSaveRegisters call SaveEndBattleTextPointers
jp CinnabarGymScript_758b7 jp CinnabarGymScript_758b7
.asm_2f755 ; 0x75a5f .asm_2f755 ; 0x75a5f
ld hl, CinnabarGymText_75a72 ld hl, CinnabarGymText_75a72
@ -441,7 +441,7 @@ CinnabarGymText8: ; 75a77 (1d:5a77)
call PrintText call PrintText
ld hl, CinnabarGymText_75aa2 ld hl, CinnabarGymText_75aa2
ld de, CinnabarGymText_75aa2 ; $5aa2 XXX ld de, CinnabarGymText_75aa2 ; $5aa2 XXX
call PreBattleSaveRegisters call SaveEndBattleTextPointers
jp CinnabarGymScript_758b7 jp CinnabarGymScript_758b7
.asm_d87be ; 0x75a94 .asm_d87be ; 0x75a94
ld hl, CinnabarGymText_75aa7 ld hl, CinnabarGymText_75aa7

View file

@ -16,7 +16,7 @@ FightingDojoScript_5cd70: ; 5cd70 (17:4d70)
FightingDojoScriptPointers: ; 5cd7b (17:4d7b) FightingDojoScriptPointers: ; 5cd7b (17:4d7b)
dw FightingDojoScript1 dw FightingDojoScript1
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw FightingDojoScript3 dw FightingDojoScript3
@ -147,7 +147,7 @@ FightingDojoText1: ; 5ce44 (17:4e44)
set 7, [hl] set 7, [hl]
ld hl, FightingDojoText_5ce93 ld hl, FightingDojoText_5ce93
ld de, FightingDojoText_5ce93 ld de, FightingDojoText_5ce93
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ldh a, [$8c] ldh a, [$8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -32,7 +32,7 @@ FuchsiaGymScript_75477: ; 75477 (1d:5477)
FuchsiaGymScriptPointers: ; 75482 (1d:5482) FuchsiaGymScriptPointers: ; 75482 (1d:5482)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw FuchsiaGymScript3 dw FuchsiaGymScript3
@ -166,7 +166,7 @@ FuchsiaGymText1: ; 75534 (1d:5534)
set 7, [hl] set 7, [hl]
ld hl, UnnamedText_75586 ld hl, UnnamedText_75586
ld de, UnnamedText_75586 ld de, UnnamedText_75586
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ldh a, [$8c] ldh a, [$8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -63,7 +63,7 @@ GaryScript2: ; 75f6a (1d:5f6a)
set 7, [hl] set 7, [hl]
ld hl, GaryText_760f9 ld hl, GaryText_760f9
ld de, GaryText_760fe ld de, GaryText_760fe
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld a, SONY3 + $c8 ld a, SONY3 + $c8
ld [W_CUROPPONENT], a ld [W_CUROPPONENT], a

View file

@ -34,7 +34,7 @@ LanceScript_5a2de: ; 5a2de (16:62de)
ld bc, $603 ld bc, $603
LanceScript_5a2f0: ; 5a2f0 (16:62f0) LanceScript_5a2f0: ; 5a2f0 (16:62f0)
predef_jump Func_ee9e predef_jump ReplaceTileBlock
LanceScript_5a2f5: ; 5a2f5 (16:62f5) LanceScript_5a2f5: ; 5a2f5 (16:62f5)
xor a xor a
@ -43,7 +43,7 @@ LanceScript_5a2f5: ; 5a2f5 (16:62f5)
LanceScriptPointers: ; 5a2fa (16:62fa) LanceScriptPointers: ; 5a2fa (16:62fa)
dw LanceScript0 dw LanceScript0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw LanceScript2 dw LanceScript2
dw LanceScript3 dw LanceScript3
dw LanceScript4 dw LanceScript4

View file

@ -25,7 +25,7 @@ LoreleiScript_76191: ; 76191 (1d:6191)
.asm_761ab .asm_761ab
ld [wd09f], a ld [wd09f], a
ld bc, $2 ld bc, $2
predef_jump Func_ee9e predef_jump ReplaceTileBlock
LoreleiScript_761b6: ; 761b6 (1d:61b6) LoreleiScript_761b6: ; 761b6 (1d:61b6)
xor a xor a
@ -34,7 +34,7 @@ LoreleiScript_761b6: ; 761b6 (1d:61b6)
LoreleiScriptPointers: ; 761bb (1d:61bb) LoreleiScriptPointers: ; 761bb (1d:61bb)
dw LoreleiScript0 dw LoreleiScript0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw LoreleiScript2 dw LoreleiScript2
dw LoreleiScript3 dw LoreleiScript3
dw LoreleiScript4 dw LoreleiScript4

View file

@ -43,7 +43,7 @@ Mansion1Script_4430b: ; 4430b (11:430b)
ld a, $e ld a, $e
ld [wd09f], a ld [wd09f], a
asm_44310: ; 44310 (11:4310) asm_44310: ; 44310 (11:4310)
predef Func_ee9e predef ReplaceTileBlock
ret ret
Mansion1Script_Switches: ; 44316 (11:4316) Mansion1Script_Switches: ; 44316 (11:4316)
@ -58,7 +58,7 @@ Mansion1Script_Switches: ; 44316 (11:4316)
Mansion1ScriptPointers: ; 44326 (11:4326) Mansion1ScriptPointers: ; 44326 (11:4326)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Mansion1TextPointers: ; 4432c (11:432c) Mansion1TextPointers: ; 4432c (11:432c)

View file

@ -40,7 +40,7 @@ Mansion2Script_51fee: ; 51fee (14:5fee)
Mansion2Script_5202f: ; 5202f (14:602f) Mansion2Script_5202f: ; 5202f (14:602f)
ld [wd09f], a ld [wd09f], a
predef_jump Func_ee9e predef_jump ReplaceTileBlock
Mansion2Script_Switches: ; 52037 (14:6037) Mansion2Script_Switches: ; 52037 (14:6037)
ld a, [wSpriteStateData1 + 9] ld a, [wSpriteStateData1 + 9]
@ -54,7 +54,7 @@ Mansion2Script_Switches: ; 52037 (14:6037)
Mansion2ScriptPointers: ; 52047 (14:6047) Mansion2ScriptPointers: ; 52047 (14:6047)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Mansion2TextPointers: ; 5204d (14:604d) Mansion2TextPointers: ; 5204d (14:604d)

View file

@ -34,7 +34,7 @@ Mansion3Script_52204: ; 52204 (14:6204)
Mansion3ScriptPointers: ; 52235 (14:6235) Mansion3ScriptPointers: ; 52235 (14:6235)
dw Mansion3Script0 dw Mansion3Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Mansion3Script0: ; 5223b (14:623b) Mansion3Script0: ; 5223b (14:623b)

View file

@ -56,7 +56,7 @@ Mansion4Script_Switches: ; 52420 (14:6420)
Mansion4ScriptPointers: ; 52430 (14:6430) Mansion4ScriptPointers: ; 52430 (14:6430)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Mansion4TextPointers: ; 52436 (14:6436) Mansion4TextPointers: ; 52436 (14:6436)

View file

@ -9,7 +9,7 @@ MtMoon1Script: ; 499c8 (12:59c8)
MtMoon1ScriptPointers: ; 499db (12:59db) MtMoon1ScriptPointers: ; 499db (12:59db)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
MtMoon1TextPointers: ; 499e1 (12:59e1) MtMoon1TextPointers: ; 499e1 (12:59e1)

View file

@ -47,7 +47,7 @@ MtMoon3Script_49d58: ; 49d58 (12:5d58)
MtMoon3ScriptPointers: ; 49d63 (12:5d63) MtMoon3ScriptPointers: ; 49d63 (12:5d63)
dw MtMoon3Script0 dw MtMoon3Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw MtMoon3Script3 dw MtMoon3Script3
dw MtMoon3Script4 dw MtMoon3Script4
@ -228,7 +228,7 @@ MtMoon3Text1: ; 49e79 (12:5e79)
set 7, [hl] set 7, [hl]
ld hl, MtMoon3Text_49f8a ld hl, MtMoon3Text_49f8a
ld de, MtMoon3Text_49f8a ld de, MtMoon3Text_49f8a
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ldh a, [$8c] ldh a, [$8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -378,7 +378,7 @@ OaksLabScript11: ; 1cdb9 (7:4db9)
call GetSpritePosition1 call GetSpritePosition1
ld hl, OaksLabText_1d3be ld hl, OaksLabText_1d3be
ld de, OaksLabText_1d3c3 ld de, OaksLabText_1d3c3
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld hl, wd72d ld hl, wd72d
set 6, [hl] set 6, [hl]
set 7, [hl] set 7, [hl]

View file

@ -31,7 +31,7 @@ PewterGymScript_5c3bf: ; 5c3bf (17:43bf)
PewterGymScriptPointers: ; 5c3ca (17:43ca) PewterGymScriptPointers: ; 5c3ca (17:43ca)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw PewterGymScript3 dw PewterGymScript3
@ -126,7 +126,7 @@ PewterGymText1: ; 5c44e (17:444e)
set 7, [hl] set 7, [hl]
ld hl, PewterGymText_5c4bc ld hl, PewterGymText_5c4bc
ld de, PewterGymText_5c4bc ld de, PewterGymText_5c4bc
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ldh a, [$8c] ldh a, [$8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -130,7 +130,7 @@ PokemonTower2Text1: ; 605df (18:45df)
set 7, [hl] set 7, [hl]
ld hl, PokemonTower2Text_60632 ld hl, PokemonTower2Text_60632
ld de, PokemonTower2Text_60637 ; XXX $4637 ld de, PokemonTower2Text_60637 ; XXX $4637
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld a, SONY2 + $c8 ld a, SONY2 + $c8
ld [W_CUROPPONENT], a ld [W_CUROPPONENT], a

View file

@ -9,7 +9,7 @@ PokemonTower3Script: ; 606cc (18:46cc)
PokemonTower3ScriptPointers: ; 606df (18:46df) PokemonTower3ScriptPointers: ; 606df (18:46df)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
PokemonTower3TextPointers: ; 606e5 (18:46e5) PokemonTower3TextPointers: ; 606e5 (18:46e5)

View file

@ -9,7 +9,7 @@ PokemonTower4Script: ; 607f6 (18:47f6)
PokemonTower4ScriptPointers: ; 60809 (18:4809) PokemonTower4ScriptPointers: ; 60809 (18:4809)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
PokemonTower4TextPointers: ; 6080f (18:480f) PokemonTower4TextPointers: ; 6080f (18:480f)

View file

@ -9,7 +9,7 @@ PokemonTower5Script: ; 60932 (18:4932)
PokemonTower5ScriptPointers: ; 60945 (18:4945) PokemonTower5ScriptPointers: ; 60945 (18:4945)
dw PokemonTower5Script0 dw PokemonTower5Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
PokemonTower5Script0: ; 6094b (18:494b) PokemonTower5Script0: ; 6094b (18:494b)

View file

@ -16,7 +16,7 @@ PokemonTower6Script_60b02: ; 60b02 (18:4b02)
PokemonTower6ScriptPointers: ; 60b0d (18:4b0d) PokemonTower6ScriptPointers: ; 60b0d (18:4b0d)
dw PokemonTower6Script0 dw PokemonTower6Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw PokemonTower6Script3 dw PokemonTower6Script3
dw PokemonTower6Script4 dw PokemonTower6Script4

View file

@ -16,7 +16,7 @@ PokemonTower7Script_60d18: ; 60d18 (18:4d18)
PokemonTower7ScriptPointers: ; 60d23 (18:4d23) PokemonTower7ScriptPointers: ; 60d23 (18:4d23)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw PokemonTower7Script2 dw PokemonTower7Script2
dw PokemonTower7Script3 dw PokemonTower7Script3
dw PokemonTower7Script4 dw PokemonTower7Script4

View file

@ -9,7 +9,7 @@ PowerPlantScript: ; 1e2c6 (7:62c6)
PowerPlantScriptPointers: ; 1e2d9 (7:62d9) PowerPlantScriptPointers: ; 1e2d9 (7:62d9)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
PowerPlantTextPointers: ; 1e2df (7:62df) PowerPlantTextPointers: ; 1e2df (7:62df)

View file

@ -30,11 +30,11 @@ RocketHideout1Script_44be0: ; 44be0 (11:4be0)
.asm_44c03 .asm_44c03
ld [wd09f], a ld [wd09f], a
ld bc, $080c ld bc, $080c
predef_jump Func_ee9e predef_jump ReplaceTileBlock
RocketHideout1ScriptPointers: ; 44c0e (11:4c0e) RocketHideout1ScriptPointers: ; 44c0e (11:4c0e)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
RocketHideout1TextPointers: ; 44c14 (11:4c14) RocketHideout1TextPointers: ; 44c14 (11:4c14)

View file

@ -9,7 +9,7 @@ RocketHideout2Script: ; 44e27 (11:4e27)
RocketHideout2ScriptPointers: ; 44e3a (11:4e3a) RocketHideout2ScriptPointers: ; 44e3a (11:4e3a)
dw RocketHideout2Script0 dw RocketHideout2Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw RocketHideout2Script3 dw RocketHideout2Script3
@ -19,7 +19,7 @@ RocketHideout2Script0: ; 44e42 (11:4e42)
ld a, [W_XCOORD] ld a, [W_XCOORD]
ld c, a ld c, a
ld hl, RocketHideout2ArrowTilePlayerMovement ld hl, RocketHideout2ArrowTilePlayerMovement
call Func_3442 call DecodeArrowMovementRLE
cp $ff cp $ff
jp z, CheckFightingMapTrainers jp z, CheckFightingMapTrainers
ld hl, wd736 ld hl, wd736

View file

@ -9,7 +9,7 @@ RocketHideout3Script: ; 45225 (11:5225)
RocketHideout3ScriptPointers: ; 45238 (11:5238) RocketHideout3ScriptPointers: ; 45238 (11:5238)
dw RocketHideout3Script0 dw RocketHideout3Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw RocketHideout3Script3 dw RocketHideout3Script3
@ -19,7 +19,7 @@ RocketHideout3Script0: ; 45240 (11:5240)
ld a, [W_XCOORD] ld a, [W_XCOORD]
ld c, a ld c, a
ld hl, RocketHideout3ArrowTilePlayerMovement ld hl, RocketHideout3ArrowTilePlayerMovement
call Func_3442 call DecodeArrowMovementRLE
cp $ff cp $ff
jp z, CheckFightingMapTrainers jp z, CheckFightingMapTrainers
ld hl, wd736 ld hl, wd736

View file

@ -31,7 +31,7 @@ RocketHideout4Script_45473: ; 45473 (11:5473)
.asm_45498 .asm_45498
ld [wd09f], a ld [wd09f], a
ld bc, $050c ld bc, $050c
predef_jump Func_ee9e predef_jump ReplaceTileBlock
RocketHideout4Script_454a3: ; 454a3 (11:54a3) RocketHideout4Script_454a3: ; 454a3 (11:54a3)
xor a xor a
@ -42,7 +42,7 @@ RocketHideout4Script_454a3: ; 454a3 (11:54a3)
RocketHideout4ScriptPointers: ; 454ae (11:54ae)c RocketHideout4ScriptPointers: ; 454ae (11:54ae)c
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw RocketHideout4Script3 dw RocketHideout4Script3
@ -130,7 +130,7 @@ RocketHideout4Text1: ; 4553a (11:553a)
set 7, [hl] set 7, [hl]
ld hl, RocketHideout4Text_4557f ld hl, RocketHideout4Text_4557f
ld de, RocketHideout4Text_4557f ld de, RocketHideout4Text_4557f
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ldh a, [$8c] ldh a, [$8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -9,7 +9,7 @@ RockTunnel1Script: ; 444dc (11:44dc)
RockTunnel1ScriptPointers: ; 444ef (11:44ef) RockTunnel1ScriptPointers: ; 444ef (11:44ef)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
RockTunnel1TextPointers: ; 444f5 (11:44f5) RockTunnel1TextPointers: ; 444f5 (11:44f5)

View file

@ -9,7 +9,7 @@ RockTunnel2Script: ; 45feb (11:5feb)
RockTunnel2ScriptPointers: ; 45ffe (11:5ffe) RockTunnel2ScriptPointers: ; 45ffe (11:5ffe)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
RockTunnel2TextPointers: ; 46004 (11:6004) RockTunnel2TextPointers: ; 46004 (11:6004)

View file

@ -9,7 +9,7 @@ Route10Script: ; 59336 (16:5336)
Route10ScriptPointers: ; 59349 (16:5349) Route10ScriptPointers: ; 59349 (16:5349)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route10TextPointers: ; 5934f (16:534f) Route10TextPointers: ; 5934f (16:534f)

View file

@ -9,7 +9,7 @@ Route11Script: ; 5944c (16:544c)
Route11ScriptPointers: ; 5945f (16:545f) Route11ScriptPointers: ; 5945f (16:545f)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route11TextPointers: ; 59465 (16:5465) Route11TextPointers: ; 59465 (16:5465)

View file

@ -16,7 +16,7 @@ Route12Script_59606: ; 59606 (16:5606)
Route12ScriptPointers: ; 59611 (16:5611) Route12ScriptPointers: ; 59611 (16:5611)
dw Route12Script0 dw Route12Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw Route12Script3 dw Route12Script3

View file

@ -9,7 +9,7 @@ Route13Script: ; 5581e (15:581e)
Route13ScriptPointers: ; 55831 (15:5831) Route13ScriptPointers: ; 55831 (15:5831)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route13TextPointers: ; 55837 (15:5837) Route13TextPointers: ; 55837 (15:5837)

View file

@ -9,7 +9,7 @@ Route14Script: ; 559d3 (15:59d3)
Route14ScriptPointers: ; 559e6 (15:59e6) Route14ScriptPointers: ; 559e6 (15:59e6)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route14TextPointers: ; 559ec (15:59ec) Route14TextPointers: ; 559ec (15:59ec)

View file

@ -9,7 +9,7 @@ Route15Script: ; 597ae (16:57ae)
Route15ScriptPointers: ; 597c1 (16:57c1) Route15ScriptPointers: ; 597c1 (16:57c1)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route15TextPointers: ; 597c7 (16:57c7) Route15TextPointers: ; 597c7 (16:57c7)

View file

@ -16,7 +16,7 @@ Route16Script_59946: ; 59946 (16:5946)
Route16ScriptPointers: ; 59951 (16:5951) Route16ScriptPointers: ; 59951 (16:5951)
dw Route16Script0 dw Route16Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw Route16Script3 dw Route16Script3

View file

@ -9,7 +9,7 @@ Route17Script: ; 55b7a (15:5b7a)
Route17ScriptPointers: ; 55b8d (15:5b8d) Route17ScriptPointers: ; 55b8d (15:5b8d)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route17TextPointers: ; 55b93 (15:5b93) Route17TextPointers: ; 55b93 (15:5b93)

View file

@ -9,7 +9,7 @@ Route18Script: ; 59ac7 (16:5ac7)
Route18ScriptPointers: ; 59ada (16:5ada) Route18ScriptPointers: ; 59ada (16:5ada)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route18TextPointers: ; 59ae0 (16:5ae0) Route18TextPointers: ; 59ae0 (16:5ae0)

View file

@ -9,7 +9,7 @@ Route19Script: ; 55d44 (15:5d44)
Route19ScriptPointers: ; 55d57 (15:5d57) Route19ScriptPointers: ; 55d57 (15:5d57)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route19TextPointers: ; 55d5d (15:5d5d) Route19TextPointers: ; 55d5d (15:5d5d)

View file

@ -58,7 +58,7 @@ Route20Script_50d14: ; 50d14 (14:4d14)
Route20ScriptPointers: ; 50d1c (14:4d1c) Route20ScriptPointers: ; 50d1c (14:4d1c)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route20TextPointers: ; 50d22 (14:4d22) Route20TextPointers: ; 50d22 (14:4d22)

View file

@ -9,7 +9,7 @@ Route21Script: ; 55eeb (15:5eeb)
Route21ScriptPointers: ; 55efe (15:5efe) Route21ScriptPointers: ; 55efe (15:5efe)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route21TextPointers: ; 55f04 (15:5f04) Route21TextPointers: ; 55f04 (15:5f04)

View file

@ -128,7 +128,7 @@ Route22Script1: ; 50f62 (14:4f62)
set 7, [hl] set 7, [hl]
ld hl, Route22RivalDefeatedText1 ld hl, Route22RivalDefeatedText1
ld de, Route22Text_511bc ld de, Route22Text_511bc
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld a, SONY1 + $c8 ld a, SONY1 + $c8
ld [W_CUROPPONENT], a ld [W_CUROPPONENT], a
ld hl, StarterMons_50faf ; $4faf ld hl, StarterMons_50faf ; $4faf
@ -270,7 +270,7 @@ Route22Script4: ; 51087 (14:5087)
set 7, [hl] set 7, [hl]
ld hl, Route22RivalDefeatedText2 ; $51cb ld hl, Route22RivalDefeatedText2 ; $51cb
ld de, Route22Text_511d0 ; $51d0 ld de, Route22Text_511d0 ; $51d0
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld a, SONY2 + $c8 ld a, SONY2 + $c8
ld [W_CUROPPONENT], a ; wd059 ld [W_CUROPPONENT], a ; wd059
ld hl, StarterMons_510d9 ; $50d9 ld hl, StarterMons_510d9 ; $50d9

View file

@ -16,7 +16,7 @@ Route24Script_513c0: ; 513c0 (14:53c0)
Route24ScriptPointers: ; 513cb (14:53cb) Route24ScriptPointers: ; 513cb (14:53cb)
dw Route24Script0 dw Route24Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw Route24Script3 dw Route24Script3
dw Route24Script4 dw Route24Script4
@ -169,7 +169,7 @@ Route24Text1: ; 514a4 (14:54a4)
set 7, [hl] set 7, [hl]
ld hl, Route24Text_5152b ld hl, Route24Text_5152b
ld de, Route24Text_5152b ld de, Route24Text_5152b
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld a, [$ff8c] ld a, [$ff8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -38,7 +38,7 @@ Route25Script_515e1: ; 515e1 (14:55e1)
Route25ScriptPointers: ; 51622 (14:5622) Route25ScriptPointers: ; 51622 (14:5622)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route25TextPointers: ; 51628 (14:5628) Route25TextPointers: ; 51628 (14:5628)

View file

@ -9,7 +9,7 @@ Route3Script: ; 554f8 (15:54f8)
Route3ScriptPointers: ; 5550b (15:550b) Route3ScriptPointers: ; 5550b (15:550b)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route3TextPointers: ; 55511 (15:5511) Route3TextPointers: ; 55511 (15:5511)

View file

@ -9,7 +9,7 @@ Route4Script: ; 55658 (15:5658)
Route4ScriptPointers: ; 5566b (15:566b) Route4ScriptPointers: ; 5566b (15:566b)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route4TextPointers: ; 55671 (15:5671) Route4TextPointers: ; 55671 (15:5671)

View file

@ -9,7 +9,7 @@ Route6Script: ; 590b0 (16:50b0)
Route6ScriptPointers: ; 590c3 (16:50c3) Route6ScriptPointers: ; 590c3 (16:50c3)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route6TextPointers: ; 590c9 (16:50c9) Route6TextPointers: ; 590c9 (16:50c9)

View file

@ -9,7 +9,7 @@ Route8Script: ; 591b6 (16:51b6)
Route8ScriptPointers: ; 591c9 (16:51c9) Route8ScriptPointers: ; 591c9 (16:51c9)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route8TextPointers: ; 591cf (16:51cf) Route8TextPointers: ; 591cf (16:51cf)

View file

@ -9,7 +9,7 @@ Route9Script: ; 556bc (15:56bc)
Route9ScriptPointers: ; 556cf (15:56cf) Route9ScriptPointers: ; 556cf (15:56cf)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
Route9TextPointers: ; 556d5 (15:56d5) Route9TextPointers: ; 556d5 (15:56d5)

View file

@ -31,7 +31,7 @@ SaffronGymText_5d048: ; 5d048 (17:5048)
SaffronGymScriptPointers: ; 5d053 (17:5053) SaffronGymScriptPointers: ; 5d053 (17:5053)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw SaffronGymScript3 dw SaffronGymScript3
@ -178,7 +178,7 @@ SaffronGymText1: ; 5d118 (17:5118)
set 7, [hl] set 7, [hl]
ld hl, SaffronGymText_5d167 ld hl, SaffronGymText_5d167
ld de, SaffronGymText_5d167 ld de, SaffronGymText_5d167
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ldh a, [$8c] ldh a, [$8c]
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -22,7 +22,7 @@ SilphCo10Script_5a14f: ; 5a14f (16:614f)
ld a, $54 ld a, $54
ld [wd09f], a ld [wd09f], a
ld bc, $405 ld bc, $405
predef_jump Func_ee9e predef_jump ReplaceTileBlock
DataTable_5a173: ; 5a173 (16:6173) DataTable_5a173: ; 5a173 (16:6173)
db $04,$05,$FF db $04,$05,$FF
@ -37,7 +37,7 @@ SilphCo10Text_5a176: ; 5a176 (16:6176)
SilphCo10ScriptPointers: ; 5a180 (16:6180) SilphCo10ScriptPointers: ; 5a180 (16:6180)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
SilphCo10TextPointers: ; 5a186 (16:6186) SilphCo10TextPointers: ; 5a186 (16:6186)

View file

@ -22,14 +22,14 @@ SilphCo11Script_62110: ; 62110 (18:6110)
ld a, $20 ld a, $20
ld [wd09f], a ld [wd09f], a
ld bc, $603 ld bc, $603
predef_jump Func_ee9e predef_jump ReplaceTileBlock
DataTable_62134: ; 62134 (18:6134) DataTable_62134: ; 62134 (18:6134)
db $06,$03,$FF db $06,$03,$FF
SilphCo11Script_62137: ; 62137 (18:6137) SilphCo11Script_62137: ; 62137 (18:6137)
push hl push hl
ld hl, wd73f ld hl, wCardKeyDoorY
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [hl] ld a, [hl]
@ -53,7 +53,7 @@ SilphCo11Script_62137: ; 62137 (18:6137)
ld a, [hli] ld a, [hli]
cp c cp c
jr nz, .asm_62143 jr nz, .asm_62143
ld hl, wd73f ld hl, wCardKeyDoorY
xor a xor a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
@ -116,7 +116,7 @@ SilphCo11Script_621c8: ; 621c8 (18:61c8)
SilphCo11ScriptPointers: ; 621cf (18:61cf) SilphCo11ScriptPointers: ; 621cf (18:61cf)
dw SilphCo11Script0 dw SilphCo11Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw SilphCo11Script3 dw SilphCo11Script3
dw SilphCo11Script4 dw SilphCo11Script4
@ -221,7 +221,7 @@ SilphCo11Script4: ; 62293 (18:6293)
set 7, [hl] set 7, [hl]
ld hl, SilphCo10Text_62330 ; $6330 ld hl, SilphCo10Text_62330 ; $6330
ld de, SilphCo10Text_62330 ; $6330 ld de, SilphCo10Text_62330 ; $6330
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
ld [wSpriteIndex], a ld [wSpriteIndex], a
call EngageMapTrainer call EngageMapTrainer

View file

@ -23,7 +23,7 @@ SilphCo2Script_59d07: ; 59d07 (16:5d07)
ld a, $54 ld a, $54
ld [wd09f], a ld [wd09f], a
ld bc, $0202 ld bc, $0202
predef Func_ee9e predef ReplaceTileBlock
pop af pop af
.asm_59d2e .asm_59d2e
bit 6, a bit 6, a
@ -31,14 +31,14 @@ SilphCo2Script_59d07: ; 59d07 (16:5d07)
ld a, $54 ld a, $54
ld [wd09f], a ld [wd09f], a
ld bc, $0502 ld bc, $0502
predef_jump Func_ee9e predef_jump ReplaceTileBlock
DataTable_59d3e: ; 59d3e (16:5d3e) DataTable_59d3e: ; 59d3e (16:5d3e)
db $02,$02,$05,$02,$FF db $02,$02,$05,$02,$FF
SilphCo2Script_59d43: ; 59d43 (16:5d43) SilphCo2Script_59d43: ; 59d43 (16:5d43)
push hl push hl
ld hl, wd73f ld hl, wCardKeyDoorY
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [hl] ld a, [hl]
@ -62,7 +62,7 @@ SilphCo2Script_59d43: ; 59d43 (16:5d43)
ld a, [hli] ld a, [hli]
cp c cp c
jr nz, .asm_59d4f jr nz, .asm_59d4f
ld hl, wd73f ld hl, wCardKeyDoorY
xor a xor a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
@ -87,7 +87,7 @@ SilphCo2Script_59d6f: ; 59d6f (16:5d6f)
SilphCo2ScriptPointers: ; 59d80 (16:5d80) SilphCo2ScriptPointers: ; 59d80 (16:5d80)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
SilphCo2TextPointers: ; 59d86 (16:5d86) SilphCo2TextPointers: ; 59d86 (16:5d86)

View file

@ -23,7 +23,7 @@ SilphCo3Script_59f71: ; 59f71 (16:5f71)
ld a, $5f ld a, $5f
ld [wd09f], a ld [wd09f], a
ld bc, $404 ld bc, $404
predef Func_ee9e predef ReplaceTileBlock
pop af pop af
.asm_59f98 .asm_59f98
bit 1, a bit 1, a
@ -31,7 +31,7 @@ SilphCo3Script_59f71: ; 59f71 (16:5f71)
ld a, $5f ld a, $5f
ld [wd09f], a ld [wd09f], a
ld bc, $408 ld bc, $408
predef_jump Func_ee9e predef_jump ReplaceTileBlock
DataTable_59fa8: ; 59fa8 (16:5fa8) DataTable_59fa8: ; 59fa8 (16:5fa8)
db $04,$04,$04,$08,$FF db $04,$04,$04,$08,$FF
@ -51,7 +51,7 @@ SilphCo3Script_59fad: ; 59fad (16:5fad)
SilphCo3ScriptPointers: ; 59fbe (16:5fbe) SilphCo3ScriptPointers: ; 59fbe (16:5fbe)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
SilphCo3TextPointers: ; 59fc4 (16:5fc4) SilphCo3TextPointers: ; 59fc4 (16:5fc4)

View file

@ -23,7 +23,7 @@ SilphCo4Script_19d21: ; 19d21 (6:5d21)
ld a, $54 ld a, $54
ld [wd09f], a ld [wd09f], a
ld bc, $0602 ld bc, $0602
predef Func_ee9e predef ReplaceTileBlock
pop af pop af
.asm_19d48 .asm_19d48
bit 1, a bit 1, a
@ -31,14 +31,14 @@ SilphCo4Script_19d21: ; 19d21 (6:5d21)
ld a, $54 ld a, $54
ld [wd09f], a ld [wd09f], a
ld bc, $0406 ld bc, $0406
predef_jump Func_ee9e predef_jump ReplaceTileBlock
SilphCo4Data19d58: ; 19d58 (6:5d58) SilphCo4Data19d58: ; 19d58 (6:5d58)
db $06, $02, $04, $06, $ff db $06, $02, $04, $06, $ff
SilphCo4Script_19d5d: ; 19d5d (6:5d5d) SilphCo4Script_19d5d: ; 19d5d (6:5d5d)
push hl push hl
ld hl, wd73f ld hl, wCardKeyDoorY
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [hl] ld a, [hl]
@ -62,7 +62,7 @@ SilphCo4Script_19d5d: ; 19d5d (6:5d5d)
ld a, [hli] ld a, [hli]
cp c cp c
jr nz, .asm_19d69 ; 0x19d7c $eb jr nz, .asm_19d69 ; 0x19d7c $eb
ld hl, wd73f ld hl, wCardKeyDoorY
xor a xor a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
@ -87,7 +87,7 @@ SilphCo4Script_19d89: ; 19d89 (6:5d89)
SilphCo4ScriptPointers: ; 19d9a (6:5d9a) SilphCo4ScriptPointers: ; 19d9a (6:5d9a)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
SilphCo4TextPointers: ; 19da0 (6:5da0) SilphCo4TextPointers: ; 19da0 (6:5da0)

View file

@ -23,7 +23,7 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d)
ld a, $5f ld a, $5f
ld [wd09f], a ld [wd09f], a
ld bc, $0203 ld bc, $0203
predef Func_ee9e predef ReplaceTileBlock
pop af pop af
.asm_19f74 .asm_19f74
bit 1, a bit 1, a
@ -32,7 +32,7 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d)
ld a, $5f ld a, $5f
ld [wd09f], a ld [wd09f], a
ld bc, $0603 ld bc, $0603
predef Func_ee9e predef ReplaceTileBlock
pop af pop af
.asm_19f87 .asm_19f87
bit 2, a bit 2, a
@ -40,7 +40,7 @@ SilphCo5Script_19f4d: ; 19f4d (6:5f4d)
ld a, $5f ld a, $5f
ld [wd09f], a ld [wd09f], a
ld bc, $0507 ld bc, $0507
predef_jump Func_ee9e predef_jump ReplaceTileBlock
SilphCo5Coords: ; 19f97 (6:5f97) ; coords? SilphCo5Coords: ; 19f97 (6:5f97) ; coords?
db $02, $03, $06, $03, $05, $07, $ff db $02, $03, $06, $03, $05, $07, $ff
@ -65,7 +65,7 @@ SilphCo5Script_19f9e: ; 19f9e (6:5f9e)
SilphCo5ScriptPointers: ; 19fb6 (6:5fb6) SilphCo5ScriptPointers: ; 19fb6 (6:5fb6)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
SilphCo5TextPointers: ; 19fbc (6:5fbc) SilphCo5TextPointers: ; 19fbc (6:5fbc)

View file

@ -22,7 +22,7 @@ SilphCo6Script_1a1bf: ; 1a1bf (6:61bf)
ld a, $5f ld a, $5f
ld [wd09f], a ld [wd09f], a
ld bc, $0602 ld bc, $0602
predef_jump Func_ee9e predef_jump ReplaceTileBlock
SilphCo6Coords1: ; 1a1e3 (6:61e3) SilphCo6Coords1: ; 1a1e3 (6:61e3)
db $06, $02 db $06, $02
@ -38,7 +38,7 @@ SilphCo6Script_1a1e6: ; 1a1e6 (6:61e6)
SilphCo6ScriptPointers: ; 1a1f0 (6:61f0) SilphCo6ScriptPointers: ; 1a1f0 (6:61f0)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
SilphCo6TextPointers: ; 1a1f6 (6:61f6) SilphCo6TextPointers: ; 1a1f6 (6:61f6)

View file

@ -23,7 +23,7 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77)
ld a, $54 ld a, $54
ld [wd09f], a ld [wd09f], a
ld bc, $305 ld bc, $305
predef Func_ee9e predef ReplaceTileBlock
pop af pop af
.asm_51b9e .asm_51b9e
bit 5, a bit 5, a
@ -32,7 +32,7 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77)
ld a, $54 ld a, $54
ld [wd09f], a ld [wd09f], a
ld bc, $20a ld bc, $20a
predef Func_ee9e predef ReplaceTileBlock
pop af pop af
.asm_51bb1 .asm_51bb1
bit 6, a bit 6, a
@ -40,14 +40,14 @@ SilphCo7Script_51b77: ; 51b77 (14:5b77)
ld a, $54 ld a, $54
ld [wd09f], a ld [wd09f], a
ld bc, $60a ld bc, $60a
predef_jump Func_ee9e predef_jump ReplaceTileBlock
DataTable_51bc1: ; 51bc1 (14:5bc1) DataTable_51bc1: ; 51bc1 (14:5bc1)
db $03,$05,$02,$0A,$06,$0A,$FF db $03,$05,$02,$0A,$06,$0A,$FF
SilphCo7Text_51bc8: ; 51bc8 (14:5bc8) SilphCo7Text_51bc8: ; 51bc8 (14:5bc8)
push hl push hl
ld hl, wd73f ld hl, wCardKeyDoorY
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [hl] ld a, [hl]
@ -71,7 +71,7 @@ SilphCo7Text_51bc8: ; 51bc8 (14:5bc8)
ld a, [hli] ld a, [hli]
cp c cp c
jr nz, .asm_51bd4 jr nz, .asm_51bd4
ld hl, wd73f ld hl, wCardKeyDoorY
xor a xor a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
@ -110,7 +110,7 @@ SilphCo7Text_51c10: ; 51c10 (14:5c10)
SilphCo7ScriptPointers: ; 51c17 (14:5c17) SilphCo7ScriptPointers: ; 51c17 (14:5c17)
dw SilphCo7Script0 dw SilphCo7Script0
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
dw SilphCo7Script3 dw SilphCo7Script3
dw SilphCo7Script4 dw SilphCo7Script4
@ -177,7 +177,7 @@ SilphCo7Script3: ; 51c82 (14:5c82)
set 7, [hl] set 7, [hl]
ld hl, SilphCo7Text14 ; $5ec8 ld hl, SilphCo7Text14 ; $5ec8
ld de, SilphCo7Text_51ecd ; $5ecd ld de, SilphCo7Text_51ecd ; $5ecd
call PreBattleSaveRegisters call SaveEndBattleTextPointers
ld a, SONY2 + $c8 ld a, SONY2 + $c8
ld [W_CUROPPONENT], a ; wd059 ld [W_CUROPPONENT], a ; wd059
ld a, [W_RIVALSTARTER] ; wd715 ld a, [W_RIVALSTARTER] ; wd715

View file

@ -22,14 +22,14 @@ SilphCo8Script_5651a: ; 5651a (15:651a)
ld a, $5f ld a, $5f
ld [wd09f], a ld [wd09f], a
ld bc, $403 ld bc, $403
predef_jump Func_ee9e predef_jump ReplaceTileBlock
DataTable_5653e: ; 5653e (15:653e) DataTable_5653e: ; 5653e (15:653e)
db $04,$03,$FF db $04,$03,$FF
SilphCo8Script_56541: ; 56541 (15:6541) SilphCo8Script_56541: ; 56541 (15:6541)
push hl push hl
ld hl, wd73f ld hl, wCardKeyDoorY
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [hl] ld a, [hl]
@ -53,7 +53,7 @@ SilphCo8Script_56541: ; 56541 (15:6541)
ld a, [hli] ld a, [hli]
cp c cp c
jr nz, .asm_5654d jr nz, .asm_5654d
ld hl, wd73f ld hl, wCardKeyDoorY
xor a xor a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
@ -73,7 +73,7 @@ SilphCo8Script_5656d: ; 5656d (15:656d)
SilphCo8ScriptPointers: ; 56577 (15:6577) SilphCo8ScriptPointers: ; 56577 (15:6577)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
SilphCo8TextPointers: ; 5657d (15:657d) SilphCo8TextPointers: ; 5657d (15:657d)

View file

@ -23,7 +23,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1)
ld a, $5f ld a, $5f
ld [wd09f], a ld [wd09f], a
ld bc, $401 ld bc, $401
predef Func_ee9e predef ReplaceTileBlock
pop af pop af
.asm_5d7f8 .asm_5d7f8
bit 1, a bit 1, a
@ -32,7 +32,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1)
ld a, $54 ld a, $54
ld [wd09f], a ld [wd09f], a
ld bc, $209 ld bc, $209
predef Func_ee9e predef ReplaceTileBlock
pop af pop af
.asm_5d80b .asm_5d80b
bit 2, a bit 2, a
@ -41,7 +41,7 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1)
ld a, $54 ld a, $54
ld [wd09f], a ld [wd09f], a
ld bc, $509 ld bc, $509
predef Func_ee9e predef ReplaceTileBlock
pop af pop af
.asm_5d81e .asm_5d81e
bit 3, a bit 3, a
@ -49,14 +49,14 @@ SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1)
ld a, $5f ld a, $5f
ld [wd09f], a ld [wd09f], a
ld bc, $605 ld bc, $605
predef_jump Func_ee9e predef_jump ReplaceTileBlock
DataTable_5d82e: ; 5d82e (17:582e) DataTable_5d82e: ; 5d82e (17:582e)
db $04,$01,$02,$09,$05,$09,$06,$05,$FF db $04,$01,$02,$09,$05,$09,$06,$05,$FF
SilphCo9Script_5d837: ; 5d837 (17:5837) SilphCo9Script_5d837: ; 5d837 (17:5837)
push hl push hl
ld hl, wd73f ld hl, wCardKeyDoorY
ld a, [hli] ld a, [hli]
ld b, a ld b, a
ld a, [hl] ld a, [hl]
@ -80,7 +80,7 @@ SilphCo9Script_5d837: ; 5d837 (17:5837)
ld a, [hli] ld a, [hli]
cp c cp c
jr nz, .asm_5d843 jr nz, .asm_5d843
ld hl, wd73f ld hl, wCardKeyDoorY
xor a xor a
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
@ -117,7 +117,7 @@ SilphCo9Script_5d863: ; 5d863 (17:5863)
SilphCo9ScriptPointers: ; 5d885 (17:5885) SilphCo9ScriptPointers: ; 5d885 (17:5885)
dw CheckFightingMapTrainers dw CheckFightingMapTrainers
dw Func_324c dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle dw EndTrainerBattle
SilphCo9TextPointers: ; 5d88b (17:588b) SilphCo9TextPointers: ; 5d88b (17:588b)

Some files were not shown because too many files have changed in this diff Show more