mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-06 15:45:24 +13:00
Commented/labelled misc functions
This commit is contained in:
parent
0c916aea33
commit
2ed65d9c3e
114 changed files with 733 additions and 668 deletions
|
|
@ -1,5 +1,5 @@
|
|||
Func_525af: ; 525af (14:65af)
|
||||
ld a, [$ffd7]
|
||||
ld a, [hTilesetType]
|
||||
ld [wd0d4], a
|
||||
xor a
|
||||
ld [wcd6a], a
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
192
engine/save.asm
192
engine/save.asm
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue