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
; MBC3
MBC3SRamEnable EQU $0000
MBC3RomBank EQU $2000
MBC3SRamBank EQU $4000
MBC3LatchClock EQU $6000
MBC3RTC EQU $a000
; MBC1
MBC1SRamEnable EQU $0000
MBC1RomBank EQU $2000
MBC1SRamBank EQU $4000
MBC1SRamBankingMode EQU $6000
SRAM_DISABLE EQU $00
SRAM_ENABLE EQU $0a
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
VBLANK EQU 0
LCD_STAT EQU 1

View file

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

View file

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

View file

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

View file

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

View file

@ -11,7 +11,7 @@ TryEvolvingMon: ; 3ad0e (e:6d0e)
; 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
EvolutionAfterBattle: ; 3ad1c (e:6d1c)
ld a, [$ffd7]
ld a, [hTilesetType]
push af
xor a
ld [wd121], a
@ -245,7 +245,7 @@ Evolution_PartyMonLoop: ; loop over party mons
pop bc
pop hl
pop af
ld [$ffd7], a
ld [hTilesetType], a
ld a, [W_ISLINKBATTLE]
cp $32
ret z

View file

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

View file

@ -70,7 +70,7 @@ PrintBenchGuyText: ; 6245d (18:645d)
ld a, [hl]
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)
db VIRIDIAN_POKECENTER,$08,$0F
db PEWTER_POKECENTER,$08,$10

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -500,10 +500,10 @@ StartMenu_TrainerInfo: ; 13460 (4:7460)
call GBPalWhiteOut
call ClearScreen
call UpdateSprites ; move sprites
ld a,[$ffd7]
ld a,[hTilesetType]
push af
xor a
ld [$ffd7],a
ld [hTilesetType],a
call DrawTrainerInfo
predef DrawBadges ; draw badges
ld b,$0d
@ -517,7 +517,7 @@ StartMenu_TrainerInfo: ; 13460 (4:7460)
call ReloadMapData
call LoadGBPal
pop af
ld [$ffd7],a
ld [hTilesetType],a
jp RedisplayStartMenu
; 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 bc,(BANK(PTile) << 8 | $01)
call CopyVideoDataDouble ; P (for PP), inline
ld a, [$ffd7]
ld a, [hTilesetType]
push af
xor a
ld [$ffd7], a
ld [hTilesetType], a
hlCoord 19, 1
ld bc, $060a
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 WaitForTextScrollButtonPress ; wait for button
pop af
ld [$ffd7], a
ld [hTilesetType], a
ret
.unk_12a7e ; 0x12a7e ; I don't know what this does, iterates over pointers?
ld a, [wcc49]
@ -227,10 +227,10 @@ StatsText: ; 12b3a (4:6b3a)
next "SPECIAL@"
StatusScreen2: ; 12b57 (4:6b57)
ld a, [$ffd7]
ld a, [hTilesetType]
push af
xor a
ld [$ffd7], a
ld [hTilesetType], a
ld [$ffba], a
ld bc, $0005
ld hl, wd0dc
@ -360,7 +360,7 @@ StatusScreen2: ; 12b57 (4:6b57)
call Delay3
call WaitForTextScrollButtonPress ; wait for button
pop af
ld [$ffd7], a
ld [hTilesetType], a
ld hl, wd72c
res 1, [hl]
ld a, $77

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -58,7 +58,7 @@ PredefPointers:: ; 4fe79 (13:7e79)
add_predef ScaleSpriteByTwo
add_predef LoadMonBackPic
add_predef Func_79aba
add_predef Func_f132
add_predef LoadMissableObjects
add_predef HealParty
add_predef MoveAnimation; 08 play move animation
add_predef DivideBCDPredef
@ -75,13 +75,13 @@ PredefPointers:: ; 4fe79 (13:7e79)
add_predef AnyPartyAlive
add_predef ShowObject
add_predef ShowObject2
add_predef Func_ee9e
add_predef ReplaceTileBlock
add_predef InitPlayerData2
add_predef LoadTilesetHeader
add_predef LearnMoveFromLevelUp
add_predef LearnMove
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
add_predef ChangeBGPalColor0_4Frames
add_predef FindPathToPlayer
@ -117,7 +117,7 @@ PredefPointers:: ; 4fe79 (13:7e79)
add_predef WriteMonMoves
add_predef SaveSAV
add_predef LoadSGB
add_predef Func_f113
add_predef MarkTownVisitedAndLoadMissableObjects
add_predef SetPartyMonTypes
add_predef CanLearnTM
add_predef TMToMove

View file

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

View file

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

View file

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

View file

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

217
home.asm
View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -17,6 +17,9 @@ H_DOWNARROWBLINKCNT2 EQU $FF8C
H_SPRITEDATAOFFSET EQU $FF8B
H_SPRITEINDEX EQU $FF8C
; DisplayTextID's argument
hSpriteIndexOrTextID EQU $FF8C
; Note: the following multiplication and division addresses are used for multiple purposes
; 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.
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_WHOSETURN EQU $FFF3 ; 0 on players turn, 1 on enemys turn

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

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