summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rw-r--r--main.asm13581
1 files changed, 2234 insertions, 11347 deletions
diff --git a/main.asm b/main.asm
index 0d7b4cd01..7da8bdf56 100644
--- a/main.asm
+++ b/main.asm
@@ -9,7 +9,7 @@ Function4000:: ; 4000
ld b, 1
ld c, 11
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
and a
jr z, .notinbattle
@@ -111,13 +111,13 @@ Function5b44: ; 5b44
call ClearTileMap
call Functione5f
call Functione51
- call Function1fbf
+ call ResetTextRelatedRAM
ret
; 5b54
MysteryGift: ; 5b54
call UpdateTime
- callba Function11548
+ callba DoMysteryGiftIfDayHasPassed
callba DoMysteryGift
ret
; 5b64
@@ -149,7 +149,7 @@ NewGame: ; 5b6b
AreYouABoyOrAreYouAGirl: ; 5b8f
callba Function10632f ; some mobile stuff
jr c, .ok
- callba AreYouABoyOrAreYouAGirl_Menu
+ callba InitGender
ret
.ok
@@ -183,29 +183,29 @@ _ResetWRAM: ; 5bae
call ByteFill
ld a, [rLY]
- ld [$ffe3], a
+ ld [hSecondsBackup], a
call DelayFrame
ld a, [hRandomSub]
ld [PlayerID], a
ld a, [rLY]
- ld [$ffe3], a
+ ld [hSecondsBackup], a
call DelayFrame
ld a, [hRandomAdd]
ld [PlayerID + 1], a
call Random
- ld [wd84a], a
+ ld [wSecretID], a
call DelayFrame
call Random
- ld [wd84b], a
+ ld [wSecretID + 1], a
ld hl, PartyCount
call InitList
xor a
ld [wCurBox], a
- ld [wd4b4], a
+ ld [wSavedAtLeastOnce], a
call SetDefaultBoxNames
@@ -380,7 +380,7 @@ InitializeNPCNames: ; 5ce9
InitializeWorld: ; 5d23
call ShrinkPlayer
callba GetSpawnCoord
- callba Function113d6
+ callba _InitializeStartDay
ret
; 5d33
@@ -542,7 +542,7 @@ FinishContinueFunction: ; 5e5d
.loop
xor a
ld [wc2c1], a
- ld [InLinkBattle], a
+ ld [wLinkMode], a
ld hl, GameTimerPause
set 0, [hl]
res 7, [hl]
@@ -648,7 +648,7 @@ MenuData2_0x5f03: ; 5f03
Function5f1c: ; 5f1c
- call Function1cfd
+ call GetMemTileCoord
push hl
ld de, $005d
add hl, de
@@ -727,7 +727,7 @@ DisplayGameTime: ; 5f84
OakSpeech: ; 0x5f99
- callba Function90672
+ callba InitClock
call Function4dd
call ClearTileMap
@@ -947,7 +947,7 @@ ShrinkPlayer: ; 610f
ld c, 3
call DelayFrames
- call Function61cd
+ call Intro_PlacePlayerSprite
call Functione5f
ld c, 50
@@ -1020,7 +1020,7 @@ ShrinkFrame: ; 61b4
ret
; 61cd
-Function61cd: ; 61cd
+Intro_PlacePlayerSprite: ; 61cd
callba GetPlayerIcon
ld c, $c
@@ -1028,7 +1028,7 @@ Function61cd: ; 61cd
call Request2bpp
ld hl, Sprites
- ld de, .data_61fe
+ ld de, .sprites
ld a, [de]
inc de
@@ -1058,12 +1058,12 @@ Function61cd: ; 61cd
ret
; 61fe
-.data_61fe ; 61fe
+.sprites ; 61fe
db 4
- db $4c, $48, $00
- db $4c, $50, $01
- db $54, $48, $02
- db $54, $50, $03
+ db $4c, $48, 0
+ db $4c, $50, 1
+ db $54, $48, 2
+ db $54, $50, 3
; 620b
@@ -1082,6 +1082,7 @@ Function6219: ; 6219
.loop
call Function627b
jr nc, .loop
+
call ClearSprites
call WhiteBGMap
pop af
@@ -1123,7 +1124,7 @@ endr
dw Function6389
dw Function620b
dw Function620b
- dw Function6392
+ dw ResetClock
; 6274
@@ -1133,16 +1134,16 @@ TitleScreen: ; 6274
; 627b
Function627b: ; 627b
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
- jr nz, .true
+ jr nz, .done_title
call TitleScreenScene
- callba Function10eea7
+ callba SuicuneFrameIterator
call DelayFrame
and a
ret
-.true
+.done_title
scf
ret
; 6292
@@ -1154,7 +1155,7 @@ Function6292: ; 6292 ; unreferenced
ld hl, LYOverrides + $5f
ld a, [hl]
dec a
- ld bc, $0028
+ ld bc, 2 * SCREEN_WIDTH
call ByteFill
ret
; 62a3
@@ -1180,7 +1181,7 @@ endr
; 62b7
Function62b7: ; 62b7
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
; 62bc
@@ -1221,7 +1222,7 @@ TitleScreenEntrance: ; 62bc
.done
; Next scene
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
xor a
ld [hLCDStatCustom], a
@@ -1239,7 +1240,7 @@ TitleScreenEntrance: ; 62bc
TitleScreenTimer: ; 62f6
; Next scene
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
; Start a timer
@@ -1323,13 +1324,13 @@ TitleScreenMain: ; 6304
ld [wcf64], a
; Return to the intro sequence.
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
.end
; Next scene
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
; Fade out the title screen music
@@ -1348,7 +1349,7 @@ TitleScreenMain: ; 6304
ld [wcf64], a
; Return to the intro sequence.
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
; 6375
@@ -1368,7 +1369,7 @@ TitleScreenEnd: ; 6375
ld [wcf64], a
; Back to the intro.
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
; 6389
@@ -1378,18 +1379,19 @@ Function6389: ; 6389
jp Init
; 6392
-Function6392: ; 6392
- callba Function4d3b1
+ResetClock: ; 6392
+ callba _ResetClock
jp Init
; 639b
Function639b: ; 639b
+ ; If bit 0 or 1 of [wcf65] is set, we don't need to be here.
ld a, [wcf65]
and $3
ret nz
ld bc, wc3a4
ld hl, $000a
- add hl, bc
+ add hl, bc ; over-the-top compicated way to load wc3ae into hl
ld l, [hl]
ld h, 0
rept 2
@@ -1397,8 +1399,9 @@ rept 2
endr
ld de, Data63ca
add hl, de
+ ; If bit 2 of [wcf65] is set, get the second dw; else, get the first dw
ld a, [wcf65]
- and $4
+ and %00000100
srl a
srl a
ld e, a
@@ -1417,19 +1420,19 @@ endr
; 63ca
Data63ca: ; 63ca
- db $5c, $50, $00, $00
- db $5c, $68, $5c, $58
- db $5c, $68, $5c, $78
- db $5c, $88, $5c, $78
- db $00, $00, $5c, $78
- db $00, $00, $5c, $58
+ dw $505c, $0000
+ dw $685c, $585c
+ dw $685c, $785c
+ dw $885c, $785c
+ dw $0000, $785c
+ dw $0000, $585c
; 63e2
Copyright: ; 63e2
call ClearTileMap
call Functione5f
ld de, CopyrightGFX
- ld hl, VTiles2 + $600 ; tile $60
+ ld hl, VTiles2 tile $60
lb bc, BANK(CopyrightGFX), $1d
call Request2bpp
hlcoord 2, 7
@@ -1459,11 +1462,11 @@ CopyrightString: ; 63fd
GameInit:: ; 642e
callba Function14f1c
- call Function1fbf
+ call ResetTextRelatedRAM
call WhiteBGMap
call ClearTileMap
- ld a, $98
- ld [$ffd7], a
+ ld a, VBGMap0 / $100
+ ld [hBGMapAddress + 1], a
xor a
ld [hBGMapAddress], a
ld [hJoyDown], a
@@ -1479,6 +1482,7 @@ Function6454:: ; 6454
call DelayFrame
ld a, [hOAMUpdate]
push af
+
ld a, $1
ld [hOAMUpdate], a
ld a, [hBGMapMode]
@@ -1486,6 +1490,7 @@ Function6454:: ; 6454
xor a
ld [hBGMapMode], a
call Function6473
+
pop af
ld [hBGMapMode], a
pop af
@@ -1502,7 +1507,7 @@ Function6473: ; 6473
ld a, $90
ld [hWY], a
call Function2173
- ld a, $9c
+ ld a, VBGMap1 / $100
call Function64b9
call Function2e20
callba Function49409
@@ -1512,8 +1517,8 @@ Function6473: ; 6473
xor a
ld [hBGMapMode], a
ld [hWY], a
- callba Function64db
- ld a, $98
+ callba Function64db ; no need to callba
+ ld a, VBGMap0 / $100
call Function64b9
xor a
ld [wd152], a
@@ -1527,7 +1532,7 @@ Function6473: ; 6473
; 64b9
Function64b9: ; 64b9
- ld [$ffd7], a
+ ld [hBGMapAddress + 1], a
xor a
ld [hBGMapAddress], a
ret
@@ -1538,7 +1543,9 @@ Function64bf:: ; 64bf
push af
ld a, $1
ld [hOAMUpdate], a
+
call Function64cd
+
pop af
ld [hOAMUpdate], a
ret
@@ -1566,9 +1573,9 @@ Function64db: ; 64db
ld [rHDMA1], a
ld a, w6_d000 % $100
ld [rHDMA2], a
- ld a, ($9800 % $8000) / $100
+ ld a, (VBGMap0 % $8000) / $100
ld [rHDMA3], a
- ld a, ($9800 % $8000) % $100
+ ld a, (VBGMap0 % $8000) % $100
ld [rHDMA4], a
ld a, $3f
ld [hDMATransfer], a
@@ -1614,7 +1621,7 @@ LearnMove: ; 6508
ld [wd265], a
ld b, a
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
and a
jr z, .not_disabled
ld a, [DisabledMove]
@@ -1650,7 +1657,7 @@ LearnMove: ; 6508
ld [hl], a
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
and a
jp z, .learned
@@ -1704,7 +1711,7 @@ ForgetMove: ; 65d3
ld bc, -NUM_MOVES
add hl, bc
push hl
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld bc, NUM_MOVES
call CopyBytes
pop hl
@@ -2422,7 +2429,7 @@ Function7041: ; 7041
ld bc, ObjectStructs
xor a
.loop
- ld [$ffb0], a
+ ld [hConnectedMapWidth], a
call GetObjectSprite
jr z, .nope
ld hl, OBJECT_04
@@ -2452,7 +2459,7 @@ Function7041: ; 7041
.ok2
ld a, [hConnectionStripLength]
ld l, a
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
cp l
jr nz, .setcarry
@@ -2469,7 +2476,7 @@ Function7041: ; 7041
jr nz, .nope
ld a, [hConnectionStripLength]
ld l, a
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
cp l
jr nz, .setcarry
@@ -2478,7 +2485,7 @@ Function7041: ; 7041
add hl, bc
ld b, h
ld c, l
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -2589,7 +2596,7 @@ Function7113: ; 7113
ld bc, ObjectStructs
xor a
.loop
- ld [$ffb0], a
+ ld [hConnectedMapWidth], a
call GetObjectSprite
jr z, .asm_7160
ld hl, OBJECT_03
@@ -2612,7 +2619,7 @@ Function7113: ; 7113
ld a, [hl]
cp d
jr nz, .asm_714e
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
cp $0
jr z, .asm_7160
jr .asm_716f
@@ -2635,7 +2642,7 @@ Function7113: ; 7113
add hl, bc
ld b, h
ld c, l
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -2766,7 +2773,7 @@ endr
.done
ld [de], a
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
and a
ret z
ld a, [CurPartyMon]
@@ -3066,16 +3073,16 @@ SpecialReturnShuckle: ; 737e
ret
; 73f7
-Function73f7: ; 73f7
+Special_BillsGrandfather: ; 73f7
callba SelectMonFromParty
- jr c, .asm_740e
+ jr c, .cancel
ld a, [CurPartySpecies]
ld [ScriptVar], a
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetPokemonName
jp CopyPokemonName_Buffer1_Buffer3
-.asm_740e
+.cancel
xor a
ld [ScriptVar], a
ret
@@ -3169,7 +3176,7 @@ Predef1: ; 747a
SECTION "bank2", ROMX, BANK[$2]
Function8000: ; 8000
- call Function2ed3
+ call DisableSpriteUpdates
xor a
ld [hBGMapMode], a
call WhiteBGMap
@@ -3188,26 +3195,26 @@ Function8000: ; 8000
; 8029
GetSpawnCoord: ; 8029
- ld a, $ff
+ ld a, -1
ld [wd4cd], a
ld [wd4ce], a
ld a, $0
ld hl, PlayerObjectTemplate
call Function19a6
ld b, $0
- call Function808f
+ call PlayerSpawn_ConvertCoords
ld a, $0
call GetMapObject
ld hl, MAPOBJECT_COLOR
add hl, bc
- ld e, $80
- ld a, [wd45b]
+ ln e, (1 << 3) | PAL_OW_RED, $0
+ ld a, [wPlayerSpriteSetupFlags]
bit 2, a
jr nz, .ok
ld a, [PlayerGender]
bit 0, a
jr z, .ok
- ld e, (PAL_OW_BLUE << 4) | $80
+ ln e, (1 << 3) | PAL_OW_BLUE, $0
.ok
ld [hl], e
@@ -3215,7 +3222,7 @@ GetSpawnCoord: ; 8029
ld [hConnectionStripLength], a
ld bc, MapObjects
ld a, $0
- ld [$ffb0], a
+ ld [hConnectedMapWidth], a
ld de, ObjectStructs
call Function8116
ld a, $0
@@ -3227,11 +3234,10 @@ PlayerObjectTemplate: ; 8071
; A dummy map object used to initialize the player object.
; Shorter than the actual amount copied by two bytes.
; Said bytes seem to be unused.
- person_event SPRITE_CHRIS, 0, 0, $0b, 15, 15, -1, -1, 0, 0, 0, $0000, -1
- ; db $01, $00, $00, $0b, $ff, $ff, $ff, $00, $00, $00, $00, $ff, $ff
+ person_event SPRITE_CHRIS, -4, -4, $0b, 15, 15, -1, -1, 0, 0, 0, $0000, -1
; 807e
-Function807e:: ; 807e
+CopyDECoordsToMapObject:: ; 807e
push de
ld a, b
call GetMapObject
@@ -3245,7 +3251,7 @@ Function807e:: ; 807e
ret
; 808f
-Function808f: ; 808f
+PlayerSpawn_ConvertCoords: ; 808f
push bc
ld a, [XCoord]
add 4
@@ -3254,7 +3260,7 @@ Function808f: ; 808f
add 4
ld e, a
pop bc
- call Function807e
+ call CopyDECoordsToMapObject
ret
; 80a1
@@ -3271,7 +3277,7 @@ Function80a1:: ; 80a1
ld e, [hl]
ld a, [hConnectionStripLength]
ld b, a
- call Function807e
+ call CopyDECoordsToMapObject
and a
ret
; 80b8
@@ -3314,12 +3320,12 @@ CopyObjectStruct:: ; 80e7
ld a, 1
ld de, OBJECT_STRUCT_LENGTH
.loop
- ld [$ffb0], a
+ ld [hConnectedMapWidth], a
ld a, [hl]
and a
jr z, .done
add hl, de
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -3346,7 +3352,7 @@ Function8116: ; 8116
; 811d
Function811d: ; 811d
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
add hl, bc
ld [hl], a
@@ -3833,7 +3839,7 @@ Function839e:: ; 839e
ld hl, OBJECT_SPRITE_Y
add hl, de
ld [hl], a
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
ld hl, OBJECT_32
add hl, de
ld [hl], a
@@ -4094,10 +4100,10 @@ CheckTime:: ; c000
; c012
TimeOfDayTable: ; c012
- db MORN, 1
- db DAY, 2
- db NITE, 4
- db NITE, 4
+ db MORN, 1 << MORN
+ db DAY, 1 << DAY
+ db NITE, 1 << NITE
+ db NITE, 1 << NITE
db -1
; c01b
@@ -5024,7 +5030,7 @@ UsedSurfScript: ; c986
; c9a2
Functionc9a2: ; c9a2
- callba Function1060bb ; empty
+ callba MobileFn_1060bb ; empty
ret
; c9a9
@@ -5323,7 +5329,7 @@ CheckContinueWaterfall: ; cb38
ld a, [StandingTile]
call CheckWaterfallTile
ret z
- callba Function1060c1
+ callba MobileFn_1060c1
ld a, $1
ld [ScriptVar], a
ret
@@ -6062,7 +6068,7 @@ GetFacingObject: ; cf0d
callba CheckFacingObject
jr nc, .fail
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
call GetObjectStruct
ld hl, OBJECT_MAP_OBJECT_INDEX
add hl, bc
@@ -6594,12 +6600,12 @@ UnknownText_0xd1d0: ; 0xd1d0
_ReceiveItem:: ; d1d5
- call CheckHLequTMsHMsEnd
+ call DoesHLEqualNumItems
jp nz, PutItemInPocket
push hl
call CheckItemPocket
pop de
- ld a, [wd142]
+ ld a, [wItemAttributeParamBuffer]
dec a
ld hl, .Pockets
rst JumpTable
@@ -6641,12 +6647,12 @@ _ReceiveItem:: ; d1d5
_TossItem:: ; d20d
- call CheckHLequTMsHMsEnd
- jr nz, .asm_d241
+ call DoesHLEqualNumItems
+ jr nz, .remove
push hl
call CheckItemPocket
pop de
- ld a, [wd142]
+ ld a, [wItemAttributeParamBuffer]
dec a
ld hl, .Pockets
rst JumpTable
@@ -6684,17 +6690,17 @@ _TossItem:: ; d20d
ld l, e
; d241
-.asm_d241
+.remove
jp RemoveItemFromPocket
; d244
_CheckItem:: ; d244
- call CheckHLequTMsHMsEnd
- jr nz, .asm_d278
+ call DoesHLEqualNumItems
+ jr nz, .nope
push hl
call CheckItemPocket
pop de
- ld a, [wd142]
+ ld a, [wItemAttributeParamBuffer]
dec a
ld hl, .Pockets
rst JumpTable
@@ -6732,16 +6738,16 @@ _CheckItem:: ; d244
ld l, e
; d278
-.asm_d278
+.nope
jp CheckTheItem
; d27b
-CheckHLequTMsHMsEnd: ; d27b
+DoesHLEqualNumItems: ; d27b
ld a, l
- cp TMsHMsEnd % $100
+ cp NumItems % $100
ret nz
ld a, h
- cp TMsHMsEnd / $100
+ cp NumItems / $100
ret
; d283
@@ -6749,21 +6755,21 @@ GetPocketCapacity: ; d283
ld c, MAX_ITEMS
ld a, e
cp NumItems % $100
- jr nz, .asm_d28e
+ jr nz, .not_bag
ld a, d
cp NumItems / $100
ret z
-.asm_d28e
+.not_bag
ld c, MAX_PC_ITEMS
ld a, e
cp PCItems % $100
- jr nz, .asm_d299
+ jr nz, .not_pc
ld a, d
cp PCItems / $100
ret z
-.asm_d299
+.not_pc
ld c, MAX_BALLS
ret
; d29c
@@ -7131,50 +7137,50 @@ GetNumberedTMHM: ; d417
_CheckTossableItem:: ; d427
-; Return 1 in wd142 and carry if CurItem can't be removed from the bag.
+; Return 1 in wItemAttributeParamBuffer and carry if CurItem can't be removed from the bag.
ld a, ITEMATTR_PERMISSIONS
call GetItemAttr
bit 7, a
- jr nz, Functiond47f
+ jr nz, ItemAttr_ReturnCarry
and a
ret
; d432
CheckSelectableItem: ; d432
-; Return 1 in wd142 and carry if CurItem can't be selected.
+; Return 1 in wItemAttributeParamBuffer and carry if CurItem can't be selected.
ld a, ITEMATTR_PERMISSIONS
call GetItemAttr
bit 6, a
- jr nz, Functiond47f
+ jr nz, ItemAttr_ReturnCarry
and a
ret
; d43d
CheckItemPocket:: ; d43d
-; Return the pocket for CurItem in wd142.
+; Return the pocket for CurItem in wItemAttributeParamBuffer.
ld a, ITEMATTR_POCKET
call GetItemAttr
and $f
- ld [wd142], a
+ ld [wItemAttributeParamBuffer], a
ret
; d448
CheckItemContext: ; d448
-; Return the context for CurItem in wd142.
+; Return the context for CurItem in wItemAttributeParamBuffer.
ld a, ITEMATTR_HELP
call GetItemAttr
and $f
- ld [wd142], a
+ ld [wItemAttributeParamBuffer], a
ret
; d453
CheckItemMenu: ; d453
-; Return the menu for CurItem in wd142.
+; Return the menu for CurItem in wItemAttributeParamBuffer.
ld a, ITEMATTR_HELP
call GetItemAttr
swap a
and $f
- ld [wd142], a
+ ld [wItemAttributeParamBuffer], a
ret
; d460
@@ -7190,7 +7196,7 @@ GetItemAttr: ; d460
add hl, bc
xor a
- ld [wd142], a
+ ld [wItemAttributeParamBuffer], a
ld a, [CurItem]
dec a
@@ -7205,9 +7211,9 @@ GetItemAttr: ; d460
ret
; d47f
-Functiond47f: ; d47f
+ItemAttr_ReturnCarry: ; d47f
ld a, 1
- ld [wd142], a
+ ld [wItemAttributeParamBuffer], a
scf
ret
; d486
@@ -7304,7 +7310,7 @@ Functiond508: ; d508 (3:5508)
ret
Functiond509: ; d509 (3:5509)
- callba Function10602e
+ callba MobileFn_10602e
ret
Functiond510: ; d510 (3:5510)
@@ -8012,7 +8018,7 @@ GeneratePartyMonStats: ; d906
ld a, [BaseDexNo]
ld [de], a
inc de
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
and a
ld a, $0
jr z, .skipitem
@@ -8024,7 +8030,7 @@ GeneratePartyMonStats: ; d906
push de
ld h, d
ld l, e
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
and a
jr z, .randomlygeneratemoves
ld a, [MonType]
@@ -8103,7 +8109,7 @@ endr
pop de
pop hl
push hl
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
and a
jr nz, .copywildmonstats
call Random
@@ -8211,7 +8217,7 @@ endr
inc de
.next2
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
dec a
jr nz, .generatestats
ld hl, EnemyMonMaxHP
@@ -9217,7 +9223,7 @@ Functione039: ; e039
ld a, [wd10b]
and a
jp nz, CloseSRAM
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
ret nz
ld a, BANK(s0_a600)
@@ -9520,14 +9526,14 @@ GivePoke:: ; e277
push af
ld a, [CurItem]
and a
- jr z, .asm_e2e1
+ jr z, .done
ld a, [CurPartyMon]
ld hl, PartyMon1Item
ld bc, PartyMon2 - PartyMon1
call AddNTimes
ld a, [CurItem]
ld [hl], a
- jr .asm_e2e1
+ jr .done
.failed
ld a, [CurPartySpecies]
@@ -9548,11 +9554,11 @@ GivePoke:: ; e277
push af
ld a, [CurItem]
and a
- jr z, .asm_e2e1
+ jr z, .done
ld a, [CurItem]
ld [sBoxMon1Item], a
-.asm_e2e1
+.done
ld a, [CurPartySpecies]
ld [wd265], a
ld [TempEnemyMonSpecies], a
@@ -9586,6 +9592,7 @@ endr
push de
push bc
jr nz, .asm_e35e
+
push hl
ld a, [CurPartyMon]
ld hl, PartyMonOT
@@ -9593,14 +9600,14 @@ endr
ld d, h
ld e, l
pop hl
-.asm_e32f
+.otnameloop
ld a, [ScriptBank]
call GetFarByte
ld [de], a
inc hl
inc de
cp "@"
- jr nz, .asm_e32f
+ jr nz, .otnameloop
ld a, [ScriptBank]
call GetFarByte
ld b, a
@@ -9609,9 +9616,9 @@ endr
ld hl, PartyMon1ID
ld bc, PartyMon2 - PartyMon1
call AddNTimes
- ld a, $3
+ ld a, 01001 / $100
ld [hli], a
- ld [hl], $e9
+ ld [hl], 01001 % $100
pop bc
callba SetPkmnCaughtData
jr .asm_e3b2
@@ -9626,7 +9633,7 @@ endr
ld [de], a
inc hl
inc de
- cp $50
+ cp "@"
jr nz, .asm_e366
ld a, [ScriptBank]
call GetFarByte
@@ -9672,7 +9679,7 @@ endr
call GetSRAMBank
ld hl, wd050
ld de, sBoxMonNicknames
- ld bc, $000b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
call CloseSRAM
ld b, $1
@@ -9696,7 +9703,7 @@ TextJump_WasSentToBillsPC: ; 0xe3d9
Functione3de: ; e3de
push de
call LoadMenuDataHeader_0x1d75
- call Function2ed3
+ call DisableSpriteUpdates
pop de
push de
ld b, $0
@@ -9746,7 +9753,7 @@ Functione41c: ; e41c (3:641c)
call PrintText
pop af
ld [Options], a
- call Functione58
+ call LoadFontsBattleExtra
ret
; e43a (3:643a)
@@ -9765,14 +9772,14 @@ Functione443: ; e443 (3:6443)
call LoadMenuDataHeader
ld a, $1
.asm_e44b
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
call SetPalettes
xor a
ld [wcf76], a
ld [hBGMapMode], a ; $ff00+$d4
call Function1e5d
jr c, .asm_e46b
- ld a, [wcf88]
+ ld a, [wPocketCursorBuffer]
push af
ld a, [MenuSelection]
ld hl, Jumptable_e4ba
@@ -9970,7 +9977,7 @@ Functione583: ; e583 (3:6583)
ret
ClearPCItemScreen: ; e58b
- call Function2ed3
+ call DisableSpriteUpdates
xor a
ld [hBGMapMode], a
call WhiteBGMap
@@ -10116,11 +10123,11 @@ Unknown_e66e: ; e66e
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; e698
Functione698: ; e698
@@ -10442,7 +10449,7 @@ TMHMMoves: ; 1167a
; 116b7
_NamingScreen: ; 0x116b7
- call Function2ed3
+ call DisableSpriteUpdates
call Function116c1
call Function2b74
ret
@@ -10463,17 +10470,17 @@ Function116c1: ; 116c1
push af
xor a
ld [$ffde], a
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
call Function116f8
call DelayFrame
.asm_116e5
call Function11915
jr nc, .asm_116e5
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
pop af
ld [$ffde], a
pop af
@@ -10609,7 +10616,7 @@ String_117e6: ; 117e6
Function117f5: ; 117f5 (4:57f5)
ld de, PokeBallSpriteGFX
- ld hl, $8000
+ ld hl, VTiles0 tile $00
lb bc, BANK(PokeBallSpriteGFX), $4
call Request2bpp
xor a
@@ -10647,7 +10654,7 @@ String_11839: ; 11839
Function11847: ; 11847 (4:5847)
push de
- ld hl, $8000
+ ld hl, VTiles0 tile $00
ld c, $4
push bc
call Request2bpp
@@ -10656,7 +10663,7 @@ Function11847: ; 11847 (4:5847)
add hl, de
ld e, l
ld d, h
- ld hl, $8040
+ ld hl, VTiles0 tile $04
call Request2bpp
xor a
ld hl, wc300
@@ -10776,8 +10783,8 @@ Function118ca: ; 118ca
; 11915
Function11915: ; 11915
- call Functiona57
- ld a, [wcf63]
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_11930
call Function11968
@@ -10823,7 +10830,7 @@ Function11940: ; 11940
; 11968
Function11968: ; 11968
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, $0
ld hl, Jumptable_11977
@@ -10860,7 +10867,7 @@ Function1197b: ; 1197b (4:597b)
ld hl, $e
add hl, bc
ld [hl], a
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
@@ -10914,7 +10921,7 @@ Function119a1: ; 119a1 (4:59a1)
.asm_119eb
call Function11bf7
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -11018,7 +11025,7 @@ Unknown_11a82: ; 11a82
; 11a8b
Function11a8b: ; 11a8b (4:5a8b)
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .up
@@ -11223,21 +11230,22 @@ Function11bd0: ; 11bd0 (4:5bd0)
; 11be0
Function11be0: ; 11be0
+; load $f2, ($eb * [wc6d3]), $50 into the dw address at wc6d0
ld hl, wc6d0
ld a, [hli]
ld h, [hl]
ld l, a
- ld [hl], $f2
+ ld [hl], "·"
inc hl
ld a, [wc6d3]
dec a
ld c, a
- ld a, $eb
-.asm_11bf0
+ ld a, "→"
+.loop
ld [hli], a
dec c
- jr nz, .asm_11bf0
- ld [hl], $50
+ jr nz, .loop
+ ld [hl], "@"
ret
; 11bf7
@@ -11313,22 +11321,22 @@ Function11c51: ; 11c51
call Functione5f
ld de, GFX_11e65
- ld hl, $8eb0
+ ld hl, VTiles1 tile $6b
lb bc, BANK(GFX_11e65), 1
call Get1bpp
ld de, GFX_11e6d
- ld hl, $8f20
+ ld hl, VTiles1 tile $72
lb bc, BANK(GFX_11e6d), 1
call Get1bpp
- ld de, $9600
+ ld de, VTiles2 tile $60
ld hl, GFX_11cb7
ld bc, $10
ld a, BANK(GFX_11cb7)
call FarCopyBytes
- ld de, $87e0
+ ld de, VTiles0 tile $7e
ld hl, GFX_11cc7
ld bc, $20
ld a, BANK(GFX_11cc7)
@@ -11343,7 +11351,7 @@ Function11c51: ; 11c51
ld [wc3bf], a
ld [hSCX], a
ld [wc3c0], a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld [wcf64], a
ld [hBGMapMode], a
ld [wc6d2], a
@@ -11409,17 +11417,17 @@ Function11e75: ; 11e75 (4:5e75)
push af
xor a
ld [$ffde], a
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
call Function11e9a
call DelayFrame
.asm_11e8e
call Function11fc0
jr nc, .asm_11e8e
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
pop af
ld [$ffde], a
ret
@@ -11428,7 +11436,7 @@ Function11e9a: ; 11e9a (4:5e9a)
call WhiteBGMap
call DisableLCD
call Function11c51
- ld de, $8000
+ ld de, VTiles0 tile $00
ld hl, GFX_11ef4
ld bc, $80
ld a, BANK(GFX_11ef4)
@@ -11451,9 +11459,9 @@ Function11e9a: ; 11e9a (4:5e9a)
call GetSGBLayout
call WaitBGMap
call WaitTop
- ld a, $e4
+ ld a, %11100100
call DmgToCgbBGPals
- ld a, $e4
+ ld a, %11100100
call Functioncf8
call Function11be0
ld hl, wc6d0
@@ -11483,15 +11491,15 @@ String_11f7a: ; 11f7a
Function11f84: ; 11f84 (4:5f84)
call WaitTop
hlcoord 0, 0
- ld bc, $78
+ ld bc, 6 * SCREEN_WIDTH
ld a, $60
call ByteFill
hlcoord 0, 6
- ld bc, $f0
+ ld bc, 12 * SCREEN_WIDTH
ld a, " "
call ByteFill
hlcoord 1, 1
- ld bc, $412
+ lb bc, 4, SCREEN_WIDTH - 2
call ClearBox
ld de, String_121dd
@@ -11515,8 +11523,8 @@ Function11fa9: ; 11fa9 (4:5fa9)
ret
Function11fc0: ; 11fc0 (4:5fc0)
- call Functiona57
- ld a, [wcf63]
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_11fdb
call Function12008
@@ -11551,7 +11559,7 @@ Function11feb: ; 11feb (4:5feb)
ret
Function12008: ; 12008 (4:6008)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_12017
@@ -11582,7 +11590,7 @@ Function1201b: ; 1201b (4:601b)
ld hl, $e
add hl, bc
ld [hl], a
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
@@ -11652,7 +11660,7 @@ Function1203a: ; 1203a (4:603a)
.asm_120a1
call Function11bf7
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -11712,7 +11720,7 @@ Unknown_12102: ; 12102
; 1210c
Function1210c: ; 1210c (4:610c)
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .up
@@ -12033,7 +12041,7 @@ Jumptable_12377: ; 12377
Function12383: ; 12383
call Function12434
ld de, GFX_123fc
- ld hl, $87c0
+ ld hl, VTiles0 tile $7c
lb bc, BANK(GFX_123fc), $2
call Request2bpp
ret
@@ -12276,7 +12284,7 @@ Function1250a: ; 1250a
HalveMoney: ; 12513
; Empty function...
- callba Function1060c7
+ callba MobileFn_1060c7
; Halve the player's money.
ld hl, Money
@@ -12440,7 +12448,7 @@ UnknownText_0x125c8: ; 0x125c8
StartMenu:: ; 125cd
- call Function1fbf
+ call ResetTextRelatedRAM
ld de, SFX_MENU
call PlaySFX
@@ -12457,7 +12465,7 @@ StartMenu:: ; 125cd
call LoadMenuDataHeader
call .SetUpMenuItems
ld a, [wd0d2]
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
call .DrawMenuAccount_
call MenuFunc_1e7f
call .DrawBugContestStatusBox
@@ -12473,13 +12481,13 @@ StartMenu:: ; 125cd
call UpdateTimePals
call .SetUpMenuItems
ld a, [wd0d2]
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
.Select
call .GetInput
jr c, .Exit
call .DrawMenuAccount
- ld a, [wcf88]
+ ld a, [wPocketCursorBuffer]
ld [wd0d2], a
call PlayClickSFX
call Function1bee
@@ -12518,7 +12526,7 @@ endr
.ReturnEnd
call ExitMenu
.ReturnEnd2
- call Function2dcf
+ call LoadMoveSprites
call UpdateTimePals
ret
@@ -12550,15 +12558,15 @@ endr
.ReturnFour ; 12691
call ExitMenu
- ld a, $80
- ld [$ffa0], a
+ ld a, HMENURETURN_SCRIPT
+ ld [hMenuReturn], a
ret
; 12699
.ReturnThree ; 12699
call ExitMenu
- ld a, $80
- ld [$ffa0], a
+ ld a, HMENURETURN_SCRIPT
+ ld [hMenuReturn], a
jr .ReturnEnd2
; 126a2
@@ -12740,7 +12748,7 @@ endr
call .AppendMenuList
.no_pokemon
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
jr nz, .no_pack
ld hl, StatusFlags2
@@ -12760,7 +12768,7 @@ endr
ld a, 3 ; status
call .AppendMenuList
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
jr nz, .no_save
ld hl, StatusFlags2
@@ -12786,8 +12794,8 @@ endr
xor a
ld hl, MenuItemsList
ld [hli], a
- ld a, $ff
- ld bc, $000f
+ ld a, -1
+ ld bc, MenuItemsListEnd - (MenuItemsList + 1)
call ByteFill
ld de, MenuItemsList + 1
ld c, 0
@@ -13035,7 +13043,7 @@ Function129f4: ; 129f4
push de
call PartyMonItemName
callba _CheckTossableItem
- ld a, [wd142]
+ ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_12a3f
ld hl, UnknownText_0x12a45
@@ -13171,7 +13179,7 @@ PokemonActionSubmenu: ; 12a88
dbw 17, GiveTakePartyMonItem
dbw 18, CancelPokemonAction
dbw 19, Function12fba ; move
- dbw 20, Function12d45 ; mail
+ dbw 20, MonMailAction ; mail
; 12aec
@@ -13254,7 +13262,7 @@ GiveTakePartyMonItem: ; 12b60
call ClearPalettes
call Function12ba9
call ClearPalettes
- call Functione58
+ call LoadFontsBattleExtra
call ExitMenu
ld a, 0
ret
@@ -13286,7 +13294,7 @@ Function12ba9: ; 12ba9
jr z, .next
call CheckTossableItem
- ld a, [wd142]
+ ld a, [wItemAttributeParamBuffer]
and a
jr nz, .next
@@ -13534,82 +13542,89 @@ Function12cfe: ; 12cfe (4:6cfe)
call CloseSRAM
ret
-Function12d45: ; 12d45
- ld a, [InLinkBattle]
- cp $1
- jr z, .asm_12d6d
- cp $2
- jr z, .asm_12d6d
- ld hl, MenuDataHeader_0x12dc9
+MonMailAction: ; 12d45
+; If in the time capsule or trade center,
+; selecting the mail only allows you to
+; read the mail.
+ ld a, [wLinkMode]
+ cp LINK_TIMECAPSULE
+ jr z, .read
+ cp LINK_TRADECENTER
+ jr z, .read
+
+; Show the READ/TAKE/QUIT menu.
+ ld hl, .MenuDataHeader
call LoadMenuDataHeader
call InterpretMenu2
call ExitMenu
- jp c, .asm_12dc6
+
+; Interpret the menu.
+ jp c, .done
ld a, [wcfa9]
cp $1
- jr z, .asm_12d6d
+ jr z, .read
cp $2
- jr z, .asm_12d76
- jp .asm_12dc6
+ jr z, .take
+ jp .done
-.asm_12d6d
- callba Functionb9229
+.read
+ callba ReadPartyMonMail
ld a, $0
ret
-.asm_12d76
- ld hl, UnknownText_0x12df1
+.take
+ ld hl, .sendmailtopctext
call Function12cf5
- jr c, .asm_12d9a
+ jr c, .RemoveMailToBag
ld a, [CurPartyMon]
ld b, a
callba Function4456e
- jr c, .asm_12d92
- ld hl, UnknownText_0x12dfb
+ jr c, .MailboxFull
+ ld hl, .sentmailtopctext
call MenuTextBoxBackup
- jr .asm_12dc6
+ jr .done
-.asm_12d92
- ld hl, UnknownText_0x12df6
+.MailboxFull
+ ld hl, .mailboxfulltext
call MenuTextBoxBackup
- jr .asm_12dc6
+ jr .done
-.asm_12d9a
- ld hl, UnknownText_0x12de2
+.RemoveMailToBag
+ ld hl, .mailwilllosemessagetext
call Function12cf5
- jr c, .asm_12dc6
+ jr c, .done
call GetPartyItemLocation
ld a, [hl]
ld [CurItem], a
call Function12cdf
- jr nc, .asm_12dbe
+ jr nc, .BagIsFull
call GetPartyItemLocation
ld [hl], $0
call GetCurNick
- ld hl, UnknownText_0x12de7
+ ld hl, .tookmailfrommontext
call MenuTextBoxBackup
- jr .asm_12dc6
+ jr .done
-.asm_12dbe
- ld hl, UnknownText_0x12dec
+.BagIsFull
+ ld hl, .bagfulltext
call MenuTextBoxBackup
- jr .asm_12dc6
+ jr .done
-.asm_12dc6
+.done
ld a, $3
ret
; 12dc9
-MenuDataHeader_0x12dc9: ; 0x12dc9
+.MenuDataHeader: ; 0x12dc9
db $40 ; flags
db 10, 12 ; start coords
db 17, 19 ; end coords
- dw MenuData2_0x12dd1
+ dw .MenuData2
db 1 ; default option
; 0x12dd1
-MenuData2_0x12dd1: ; 0x12dd1
+.MenuData2: ; 0x12dd1
db $80 ; flags
db 3 ; items
db "READ@"
@@ -13618,32 +13633,38 @@ MenuData2_0x12dd1: ; 0x12dd1
; 0x12de2
-UnknownText_0x12de2: ; 0x12de2
+.mailwilllosemessagetext: ; 0x12de2
+; The MAIL will lose its message. OK?
text_jump UnknownText_0x1c1c22
db "@"
; 0x12de7
-UnknownText_0x12de7: ; 0x12de7
+.tookmailfrommontext: ; 0x12de7
+; MAIL detached from <POKEMON>.
text_jump UnknownText_0x1c1c47
db "@"
; 0x12dec
-UnknownText_0x12dec: ; 0x12dec
+.bagfulltext: ; 0x12dec
+; There's no space for removing MAIL.
text_jump UnknownText_0x1c1c62
db "@"
; 0x12df1
-UnknownText_0x12df1: ; 0x12df1
+.sendmailtopctext: ; 0x12df1
+; Send the removed MAIL to your PC?
text_jump UnknownText_0x1c1c86
db "@"
; 0x12df6
-UnknownText_0x12df6: ; 0x12df6
+.mailboxfulltext: ; 0x12df6
+; Your PC's MAILBOX is full.
text_jump UnknownText_0x1c1ca9
db "@"
; 0x12dfb
-UnknownText_0x12dfb: ; 0x12dfb
+.sentmailtopctext: ; 0x12dfb
+; The MAIL was sent to your PC.
text_jump UnknownText_0x1c1cc4
db "@"
; 0x12e00
@@ -13686,7 +13707,7 @@ Function12e30: ; 12e30
jr z, .asm_12e4c
cp $0
jr z, .asm_12e4f
- callba Function1060b5
+ callba MobileFn_1060b5
ld b, $4
ld a, $2
ret
@@ -13886,7 +13907,7 @@ Function12f5b: ; 12f5b
ld a, [hl]
push af
set 4, [hl]
- call Functione58
+ call LoadFontsBattleExtra
call Function12f73
pop bc
ld a, b
@@ -13994,12 +14015,12 @@ Function12fd5: ; 12fd5
jp .asm_12ff2
.asm_13018
- ld a, $7f
+ ld a, " "
hlcoord 1, 11
- ld bc, $0005
+ ld bc, 5
call ByteFill
hlcoord 1, 12
- ld bc, $0512
+ lb bc, 5, SCREEN_WIDTH - 2
call ClearBox
hlcoord 1, 12
ld de, String_1316b
@@ -14016,7 +14037,7 @@ Function12fd5: ; 12fd5
xor a
ld [wd0e3], a
hlcoord 1, 2
- ld bc, $0812
+ lb bc, 8, SCREEN_WIDTH - 2
call ClearBox
jp .asm_12fe8
; 1305b
@@ -14107,7 +14128,7 @@ Function12fd5: ; 12fd5
ld bc, $0015
add hl, bc
call Function1313a
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
jr z, .asm_13113
ld hl, BattleMonMoves
ld bc, $0020
@@ -14183,7 +14204,7 @@ Function13172: ; 13172
xor a
ld [hBGMapMode], a
callba Functionfb571
- callba Function8e814
+ callba InefficientlyClear121BytesAtwc300
ld a, [CurPartyMon]
ld e, a
ld d, $0
@@ -14231,7 +14252,7 @@ Function131ef: ; 131ef
ld [MonType], a
predef CopyPkmnToTempMon
ld hl, TempMonMoves
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld bc, NUM_MOVES
call CopyBytes
ld a, SCREEN_WIDTH * 2
@@ -14401,12 +14422,12 @@ SelectMenu:: ; 13327
jp UseRegisteredItem
.NotRegistered
- call Function2e08
+ call LoadFont
ld b, BANK(ItemMayBeRegisteredText)
ld hl, ItemMayBeRegisteredText
call MapTextbox
call CloseText
- jp Function2dcf
+ jp LoadMoveSprites
; 13340
@@ -14519,7 +14540,7 @@ endr
UseRegisteredItem: ; 133c3
callba CheckItemMenu
- ld a, [wd142]
+ ld a, [wItemAttributeParamBuffer]
ld hl, .SwitchTo
rst JumpTable
ret
@@ -14535,17 +14556,17 @@ UseRegisteredItem: ; 133c3
; 133df
.NoFunction ; 133df
- call Function2e08
+ call LoadFont
call CantUseItem
- call Function2dcf
+ call LoadMoveSprites
and a
ret
; 133ea
.Current ; 133ea
- call Function2e08
+ call LoadFont
call DoItemEffect
- call Function2dcf
+ call LoadMoveSprites
and a
ret
; 133f5
@@ -14555,7 +14576,7 @@ UseRegisteredItem: ; 133c3
call FadeToMenu
call DoItemEffect
call Function2b3c
- call Function2dcf
+ call LoadMoveSprites
and a
ret
; 13406
@@ -14569,19 +14590,19 @@ UseRegisteredItem: ; 133c3
ld [wd0ef], a
ld a, [wd0ec]
cp 1
- jr nz, .asm_13425
+ jr nz, ._cantuse
scf
- ld a, $80
- ld [$ffa0], a
+ ld a, HMENURETURN_SCRIPT
+ ld [hMenuReturn], a
ret
; 13422
.CantUse ; 13422
call ResetWindow
-.asm_13425
+._cantuse
call CantUseItem
- call Function2dcf
+ call LoadMoveSprites
and a
ret
; 1342d
@@ -14791,9 +14812,9 @@ Elevator_MenuData2: ; 0x13558
db 4, 0 ; rows, columns
db 1 ; horizontal spacing
dbw 0, OBPals + 8 * 6
- dbw BANK(GetElevatorFlorStrings), GetElevatorFlorStrings
- dbw BANK(NULL), NULL
- dbw BANK(NULL), NULL
+ dba GetElevatorFlorStrings
+ dba NULL
+ dba NULL
; 13568
GetElevatorFlorStrings: ; 13568
@@ -14881,7 +14902,7 @@ Special_GiveParkBalls: ; 135db
ld [wContestMon], a
ld a, 20
ld [wdc79], a
- callba Function11490
+ callba StartBugContestTimer
ret
; 135eb
@@ -15030,7 +15051,7 @@ Script_JumpStdFromRAM: ; 0x1369a
_BugContestJudging: ; 1369d
call ContestScore
- callba Function105f79
+ callba MobileFn_105f79
call Function13819
ld a, [wd00a]
call LoadContestantName
@@ -16075,11 +16096,13 @@ Function1409b: ; 1409b
Function140ae: ; 140ae
call Function6e3
ld c, a
- and $c0
+ and %11000000
jr nz, .asm_140c8
+
ld a, c
- and $20
+ and %00100000
jr z, .asm_140eb
+
call UpdateTime
ld a, [wRTC + 0]
ld b, a
@@ -16088,7 +16111,7 @@ Function140ae: ; 140ae
jr c, .asm_140eb
.asm_140c8
- callba Function113da
+ callba ClearDailyTimers
callba Function170923
ld a, $5
call GetSRAMBank
@@ -16221,7 +16244,7 @@ GetPlayerSprite: ; 14183
; Get Chris or Kris's sprite.
ld hl, .Chris
- ld a, [wd45b]
+ ld a, [wPlayerSpriteSetupFlags]
bit 2, a
jr nz, .go
ld a, [PlayerGender]
@@ -16870,51 +16893,51 @@ EmotesPointers: ; 144d
dw ShockEmote
db $40, BANK(ShockEmote)
- dwtile $78, VTiles1
+ dw VTiles1 tile $78
dw QuestionEmote
db $40, BANK(QuestionEmote)
- dwtile $78, VTiles1
+ dw VTiles1 tile $78
dw HappyEmote
db $40, BANK(HappyEmote)
- dwtile $78, VTiles1
+ dw VTiles1 tile $78
dw SadEmote
db $40, BANK(SadEmote)
- dwtile $78, VTiles1
+ dw VTiles1 tile $78
dw HeartEmote
db $40, BANK(HeartEmote)
- dwtile $78, VTiles1
+ dw VTiles1 tile $78
dw BoltEmote
db $40, BANK(BoltEmote)
- dwtile $78, VTiles1
+ dw VTiles1 tile $78
dw SleepEmote
db $40, BANK(SleepEmote)
- dwtile $78, VTiles1
+ dw VTiles1 tile $78
dw FishEmote
db $40, BANK(FishEmote)
- dwtile $78, VTiles1
+ dw VTiles1 tile $78
dw FishingRodGFX + $00
db $10, BANK(FishingRodGFX)
- dwtile $7c, VTiles1
+ dw VTiles1 tile $7c
dw FishingRodGFX + $10
db $20, BANK(FishingRodGFX)
- dwtile $7c, VTiles1
+ dw VTiles1 tile $7c
dw FishingRodGFX + $30
db $20, BANK(FishingRodGFX)
- dwtile $7e, VTiles1
+ dw VTiles1 tile $7e
dw FishingRodGFX + $50
db $10, BANK(FishingRodGFX)
- dwtile $7e, VTiles1
+ dw VTiles1 tile $7e
; 14495
@@ -18107,7 +18130,7 @@ KrisWithdrawItemMenu: ; 0x157d1
Function157e9: ; 0x157e9
; check if the item has a quantity
callba _CheckTossableItem
- ld a, [wd142]
+ ld a, [wItemAttributeParamBuffer]
and a
jr z, .askquantity
@@ -18205,7 +18228,7 @@ KrisLogOffMenu: ; 0x15888
KrisDepositItemMenu: ; 0x1588b
call Function158b8
jr c, .asm_158b6
- call Function2ed3
+ call DisableSpriteUpdates
call LoadMenuDataHeader_0x1d75
callba Function106a5
.asm_1589c
@@ -18247,26 +18270,27 @@ Function158cc: ; 0x158cc
ld a, $0
ld [wc2ce], a
callba CheckItemMenu
- ld a, [wd142]
- ld hl, Jumptable_158e7
+ ld a, [wItemAttributeParamBuffer]
+ ld hl, .jumptable
rst JumpTable
pop af
ld [wc2ce], a
ret
; 0x158e7
-Jumptable_158e7: ; 0x158e7
- dw .jump2
- dw .jump1
- dw .jump1
- dw .jump1
- dw .jump2
- dw .jump2
- dw .jump2
+.jumptable: ; 0x158e7
+ dw .maybe_use
+ dw .no_use
+ dw .no_use
+ dw .no_use
+ dw .maybe_use
+ dw .maybe_use
+ dw .maybe_use
-.jump1:
+.no_use:
ret
-.jump2:
+
+.maybe_use:
ld a, [Buffer1]
push af
ld a, [Buffer2]
@@ -18281,7 +18305,7 @@ Jumptable_158e7: ; 0x158e7
Function1590a: ; 0x1590a
callba _CheckTossableItem
- ld a, [wd142]
+ ld a, [wItemAttributeParamBuffer]
and a
jr z, .asm_1591d
ld a, $1
@@ -18363,7 +18387,7 @@ Function15985: ; 0x15985
ld c, $12
call TextBox
ld a, [wd0d7]
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
ld a, [wd0dd]
ld [wd0e4], a
call Function350c
@@ -18432,9 +18456,9 @@ MenuData15a08: ; 0x15a08
db 4, 8 ; rows/cols?
db 2 ; horizontal spacing?
dbw 0, PCItems
- dbw BANK(Function24ab4), Function24ab4
- dbw BANK(Function24ac3), Function24ac3
- dbw BANK(Function244c3), Function244c3
+ dba PlaceMenuItemName
+ dba PlaceMenuItemQuantity
+ dba Function244c3
PC_DisplayText: ; 15a20
call MenuTextBox
@@ -18939,7 +18963,7 @@ Function15cef: ; 15cef
ld hl, MenuDataHeader_0x15e18
call CopyMenuDataHeader
ld a, [WalkingX]
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
ld a, [WalkingY]
ld [wd0e4], a
call Function350c
@@ -18979,7 +19003,7 @@ Function15cef: ; 15cef
call TakeMoney
ld a, $4
call Function15c7d
- call Functiona36
+ call JoyWaitAorB
.asm_15d68
call SpeechTextBox
@@ -18993,14 +19017,14 @@ Function15cef: ; 15cef
.asm_15d6f
ld a, $3
call Function15c7d
- call Functiona36
+ call JoyWaitAorB
and a
ret
.asm_15d79
ld a, $2
call Function15c7d
- call Functiona36
+ call JoyWaitAorB
and a
ret
; 15d83
@@ -19059,7 +19083,7 @@ endr
.asm_15dd8
ld a, $5
call Function15c7d
- call Functiona36
+ call JoyWaitAorB
scf
ret
; 15de2
@@ -19120,9 +19144,9 @@ MenuData2_0x15e20: ; 0x15e20
db 4, 8 ; rows, columns
db 1 ; horizontal spacing
dbw 0, OBPals + 8 * 6
- dbw BANK(Function24ab4), Function24ab4
- dbw BANK(Function15e30), Function15e30
- dbw BANK(Function244c3), Function244c3
+ dba PlaceMenuItemName
+ dba Function15e30
+ dba Function244c3
; 15e30
Function15e30: ; 15e30
@@ -19272,7 +19296,7 @@ UnknownText_0x15eae: ; 0x15eae
Function15eb3: ; 15eb3
- call Function2ed3
+ call DisableSpriteUpdates
callba Function106a5
.asm_15ebc
callba Function106be
@@ -19305,30 +19329,30 @@ UnknownText_0x15edb: ; 0x15edb
Function15ee0: ; 15ee0
callba CheckItemMenu
- ld a, [wd142]
- ld hl, Jumptable_15eee
+ ld a, [wItemAttributeParamBuffer]
+ ld hl, .jumptable
rst JumpTable
ret
; 15eee
-Jumptable_15eee: ; 15eee
- dw Function15efd
- dw Function15efc
- dw Function15efc
- dw Function15efc
- dw Function15efd
- dw Function15efd
- dw Function15efd
+.jumptable: ; 15eee
+ dw .maybe_use
+ dw .no_use
+ dw .no_use
+ dw .no_use
+ dw .maybe_use
+ dw .maybe_use
+ dw .maybe_use
; 15efc
-Function15efc: ; 15efc
+.no_use: ; 15efc
ret
; 15efd
-Function15efd: ; 15efd
+.maybe_use: ; 15efd
callba _CheckTossableItem
- ld a, [wd142]
+ ld a, [wItemAttributeParamBuffer]
and a
jr z, .asm_15f11
ld hl, UnknownText_0x15faf
@@ -19364,7 +19388,7 @@ Function15efd: ; 15efd
call PrintTextBoxText
call Function15fc3
callba Function24af0
- call Functiona36
+ call JoyWaitAorB
.asm_15f6e
call ExitMenu
@@ -19458,7 +19482,7 @@ Function15fc3: ; 15fc3
Function15fcd: ; 15fcd
call MenuTextBox
- call Functiona36
+ call JoyWaitAorB
call ExitMenu
ret
; 15fd7
@@ -20452,10 +20476,10 @@ Function16be4: ; 16be4
and a
ret z
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
ld a, [Options]
push af
set 4, a
@@ -20464,12 +20488,12 @@ Function16be4: ; 16be4
call ClearTileMap
ld de, UnownDexATile
- ld hl, $8ef0
+ ld hl, VTiles1 tile $6f
lb bc, BANK(UnownDexBTile), 1
call Request1bpp
ld de, UnownDexBTile
- ld hl, $8f50
+ ld hl, VTiles1 tile $75
lb bc, BANK(UnownDexBTile), 1
call Request1bpp
@@ -20498,7 +20522,7 @@ Function16be4: ; 16be4
call PlaceString
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
call Function16cc8
call WaitBGMap
@@ -20513,7 +20537,7 @@ Function16be4: ; 16be4
call SetPalettes
.asm_16c6b
- call Functiona57
+ call JoyTextDelay
ld a, [hJoyPressed]
and B_BUTTON
@@ -20528,34 +20552,34 @@ Function16be4: ; 16be4
jr .asm_16c6b
.asm_16c82
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
push af
callba Function84560
call RestartMapMusic
pop af
- ld [wcf63], a
+ ld [wJumptableIndex], a
jr .asm_16c6b
.asm_16c95
pop af
ld [Options], a
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
call Function222a
ret
; 16ca0
Function16ca0: ; 16ca0
- ld a, [$ffa9]
- and $10
+ ld a, [hJoyLast]
+ and D_RIGHT
jr nz, .asm_16cb9
- ld a, [$ffa9]
- and $20
+ ld a, [hJoyLast]
+ and D_LEFT
jr nz, .asm_16cad
ret
.asm_16cad
- ld hl, wcf63
+ ld hl, wJumptableIndex
ld a, [hl]
and a
jr nz, .asm_16cb6
@@ -20566,7 +20590,7 @@ Function16ca0: ; 16ca0
jr .asm_16cc4
.asm_16cb9
- ld hl, wcf63
+ ld hl, wJumptableIndex
ld a, [hl]
cp $1a
jr c, .asm_16cc3
@@ -20581,7 +20605,7 @@ Function16ca0: ; 16ca0
; 16cc8
Function16cc8: ; 16cc8
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
cp 26
jr z, Function16d20
inc a
@@ -20598,7 +20622,7 @@ Function16cc8: ; 16cc8
ld [$ffad], a
lb bc, 7, 7
predef FillBox
- ld de, $9310
+ ld de, VTiles2 tile $31
callba Functione0000
ret
; 16cff
@@ -20632,17 +20656,17 @@ Function16d20: ; 16d20
xor a
call GetSRAMBank
ld hl, sScratch
- ld bc, $0310
+ ld bc, $0310 ; 784
xor a
call ByteFill
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld de, sScratch
ld c, $31
ld a, [hROMBank]
ld b, a
call Get2bpp
call CloseSRAM
- ld c, $14
+ ld c, 20
call DelayFrames
ret
; 16d57
@@ -20673,7 +20697,7 @@ INCBIN "gfx/unknown/016da4.1bpp"
Function16dac: ; 16dac
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $7f
+ ld a, " "
call ByteFill
hlcoord 7, 11
ld a, $31
@@ -20693,7 +20717,7 @@ Function16dc7: ; 16dc7
jr z, .asm_16dfd
ld hl, UnknownText_0x16e09
call PrintText
- call Function2ed3
+ call DisableSpriteUpdates
callba Function8461a
call Function2b74
ld a, [$ffac]
@@ -20910,7 +20934,7 @@ Function16ed6: ; 16ed6
ret
; 16f3e
-Function16f3e:: ; 16f3e
+DoEggStep:: ; 16f3e
ld de, PartySpecies
ld hl, PartyMon1Happiness
ld c, 0
@@ -20941,7 +20965,7 @@ OverworldHatchEgg:: ; 16f5e
call Function16f70
call Function2b4d
call RestartMapMusic
- jp Function2dcf
+ jp LoadMoveSprites
; 16f70
Function16f70: ; 16f70 (5:6f70)
@@ -20967,7 +20991,7 @@ Function16f7a: ; 16f7a (5:6f7a)
push de
callba Function4dbb8
- callba Function10608d
+ callba MobileFn_10608d
ld a, [CurPartyMon]
ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species)
ld bc, PartyMon2 - PartyMon1
@@ -21405,13 +21429,13 @@ Function17254: ; 17254 (5:7254)
push hl
push bc
hlcoord 0, 0
- ld bc, $168
- ld a, $7f
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ ld a, " "
call ByteFill
pop bc
pop hl
ld a, b
- ld [$ffd7], a
+ ld [hBGMapAddress + 1], a
ld a, c
ld [$ffad], a
ld bc, $707
@@ -21434,7 +21458,7 @@ Function1727f: ; 1727f (5:727f)
Function1728f: ; 1728f (5:728f)
ld a, [wd265]
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld a, [CurSpecies]
push af
ld de, MUSIC_NONE
@@ -21442,15 +21466,15 @@ Function1728f: ; 1728f (5:728f)
callba Function8000
call DisableLCD
ld hl, EggHatchGFX
- ld de, $8000
+ ld de, VTiles0 tile $00
ld bc, $20
ld a, BANK(EggHatchGFX)
call FarCopyBytes
callba Function8cf53
- ld de, $9000
- ld a, [wcf63]
+ ld de, VTiles2 tile $00
+ ld a, [wJumptableIndex]
call Function1723c
- ld de, $9310
+ ld de, VTiles2 tile $31
ld a, EGG
call Function17224
ld de, MUSIC_EVOLUTION
@@ -21506,11 +21530,11 @@ Function1728f: ; 1728f (5:728f)
hlcoord 6, 3
ld b, $98
ld c, $0
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
call Function17254
call Function17418
call WaitSFX
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld [CurPartySpecies], a
hlcoord 6, 3
ld d, $0
@@ -21614,7 +21638,7 @@ Function17418: ; 17418 (5:7418)
jr nz, .asm_1741a
ret
-Function17421: ; 17421
+Special_DayCareMon1: ; 17421
ld hl, UnknownText_0x17467
call PrintText
ld a, [wBreedMon1Species]
@@ -21627,7 +21651,7 @@ Function17421: ; 17421
call Function1746c
jp PrintText
-Function17440: ; 17440
+Special_DayCareMon2: ; 17440
ld hl, UnknownText_0x17462
call PrintText
ld a, [wBreedMon2Species]
@@ -22052,7 +22076,7 @@ Function2403c:: ; 2403c
ld c, a
ld a, [wcfa3]
call SimpleMultiply
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
and a
ret
; 24085
@@ -22097,7 +22121,7 @@ Function24098: ; 24098
ld c, a
ld a, [wcfaa]
add c
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
and a
ret
@@ -22183,7 +22207,7 @@ Function2411a: ; 2411a (9:411a)
call Function24193
ld a, [wcfa4]
ld e, a
- ld a, [wcf88]
+ ld a, [wPocketCursorBuffer]
ld b, a
xor a
ld d, $0
@@ -22387,7 +22411,7 @@ Function24259: ; 24259
callab Function8cf62
.asm_24266
- call Functiona57
+ call JoyTextDelay
call Function1bdd
and a
ret z
@@ -22586,53 +22610,59 @@ Function24329: ; 24329
ret
; 24374
-Function24374:: ; 24374
+_BackUpTiles:: ; 24374
ld a, [rSVBK]
push af
ld a, $7
ld [rSVBK], a
+
ld hl, wcf71
ld e, [hl]
inc hl
ld d, [hl]
push de
+
ld b, $10
ld hl, wcf81
-.asm_24387
+.loop
ld a, [hli]
ld [de], a
dec de
dec b
- jr nz, .asm_24387
+ jr nz, .loop
+
+; If bit 6 or 7 of the menu flags is set, set bit 0 of the address
+; at 7:[wcf71], and draw the menu using the coordinates from the header.
+; Otherwise, reset bit 0 of 7:[wcf71].
ld a, [wcf81]
bit 6, a
- jr nz, .asm_24398
+ jr nz, .bit_6
bit 7, a
- jr z, .asm_243ae
+ jr z, .not_bit_7
-.asm_24398
+.bit_6
ld hl, wcf71
ld a, [hli]
ld h, [hl]
ld l, a
set 0, [hl]
- call Function1cfd
- call Function243cd
- call Function1d19
- call Function243cd
- jr .asm_243b5
+ call GetMemTileCoord
+ call .copy
+ call GetMemAttrCoord
+ call .copy
+ jr .done
-.asm_243ae
- pop hl
+.not_bit_7
+ pop hl ; last-pushed register was de
push hl
ld a, [hld]
ld l, [hl]
ld h, a
res 0, [hl]
-.asm_243b5
+.done
pop hl
- call Function243e7
+ call .ret ; empty function
ld a, h
ld [de], a
dec de
@@ -22643,6 +22673,7 @@ Function24374:: ; 24374
ld [hl], e
inc hl
ld [hl], d
+
pop af
ld [rSVBK], a
ld hl, wcf78
@@ -22650,30 +22681,34 @@ Function24374:: ; 24374
ret
; 243cd
-Function243cd: ; 243cd
- call Function1c53
+.copy: ; 243cd
+ call GetMenuBoxDims
inc b
inc c
- call Function243e7
-.asm_243d5
+ call .ret ; empty function
+
+.row
push bc
push hl
-.asm_243d7
+
+.col
ld a, [hli]
ld [de], a
dec de
dec c
- jr nz, .asm_243d7
+ jr nz, .col
+
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, .asm_243d5
+ jr nz, .row
+
ret
; 243e7
-Function243e7: ; 243e7
+.ret: ; 243e7
ret
; 243e8
@@ -22698,7 +22733,7 @@ Function243e8:: ; 243e8
jr z, .next
ld d, h
ld e, l
- call Function1c23
+ call RestoreTileBackup
.next
call Function1c7e
@@ -22767,7 +22802,7 @@ Function2446d:: ; 2446d
ld a, [wcf91]
ld b, a
ld hl, wcfa1
- ld a, [wcf82]
+ ld a, [wMenuBorderTopCoord]
inc a
bit 6, b
jr nz, .asm_2447d
@@ -22775,7 +22810,7 @@ Function2446d:: ; 2446d
.asm_2447d
ld [hli], a
- ld a, [wcf83]
+ ld a, [wMenuBorderLeftCoord]
inc a
ld [hli], a
ld a, [wcf92]
@@ -22806,7 +22841,7 @@ Function2446d:: ; 2446d
.asm_244a9
ld [hli], a
- ld a, [wcf88]
+ ld a, [wPocketCursorBuffer]
and a
jr z, .asm_244b7
ld c, a
@@ -22834,11 +22869,11 @@ Function244c3: ; 0x244c3
ld a, [MenuSelection]
ld [CurSpecies], a
hlcoord 0, 12
- ld b, $4
- ld c, $12
+ ld b, 4
+ ld c, SCREEN_WIDTH - 2
call TextBox
ld a, [MenuSelection]
- cp $ff
+ cp -1
ret z
decoord 1, 14
callba PrintItemDescription
@@ -22860,10 +22895,10 @@ Pokepic:: ; 244e3
call GetBaseData
ld de, VTiles1
predef GetFrontpic
- ld a, [wcf82]
+ ld a, [wMenuBorderTopCoord]
inc a
ld b, a
- ld a, [wcf83]
+ ld a, [wMenuBorderLeftCoord]
inc a
ld c, a
call GetTileCoord
@@ -22974,7 +23009,7 @@ Function245af:: ; 245af
ld [wcf73], a
ld [hBGMapMode], a
inc a
- ld [$ffaa], a
+ ld [hInMenu], a
call Function2471a
call Function24764
call Function247dd
@@ -22987,21 +23022,21 @@ Function245af:: ; 245af
Function245cb:: ; 245cb
.loop
- call Function24609
- jp c, Function245d6
- call z, Function245e1
+ call MenuJoyAction
+ jp c, .exit
+ call z, .zero
jr .loop
; 245d6
-Function245d6: ; 245d6
+.exit: ; 245d6
call Function1ff8
ld [wcf73], a
ld a, 0
- ld [$ffaa], a
+ ld [hInMenu], a
ret
; 245e1
-Function245e1: ; 245e1
+.zero: ; 245e1
call Function245f1
ld a, 1
ld [hBGMapMode], a
@@ -23027,42 +23062,42 @@ Function245f1: ; 245f1
ret
; 24609
-Function24609: ; 24609
-.asm_24609
+MenuJoyAction: ; 24609
+.loop
call Function1bd3
- ld a, [$ffa9]
- and $f0
+ ld a, [hJoyLast]
+ and D_PAD
ld b, a
ld a, [hJoyPressed]
- and $f
+ and BUTTONS
or b
- bit 0, a
- jp nz, Function24644
- bit 1, a
- jp nz, Function2466f
- bit 2, a
- jp nz, Function24673
- bit 3, a
- jp nz, Function24695
- bit 4, a
- jp nz, Function246b5
- bit 5, a
- jp nz, Function246a1
- bit 6, a
- jp nz, Function246c9
- bit 7, a
- jp nz, Function246df
- jr .asm_24609
+ bit 0, a ; A
+ jp nz, .a_button
+ bit 1, a ; B
+ jp nz, .b_button
+ bit 2, a ; Select
+ jp nz, .select
+ bit 3, a ; Start
+ jp nz, .start
+ bit 4, a ; Right
+ jp nz, .d_right
+ bit 5, a ; Left
+ jp nz, .d_left
+ bit 6, a ; Up
+ jp nz, .d_up
+ bit 7, a ; Down
+ jp nz, .d_down
+ jr .loop
; 24640
-Function24640: ; 24640
- ld a, $ff
+.unreferenced: ; unreferenced
+ ld a, -1
and a
ret
; 24644
-Function24644: ; 24644
+.a_button: ; 24644
call Function1bee
ld a, [wcfa9]
dec a
@@ -23076,20 +23111,20 @@ Function24644: ; 24644
ld [wcf77], a
ld [wd107], a
ld a, [MenuSelection]
- cp $ff
- jr z, Function2466f
- ld a, $1
+ cp -1
+ jr z, .b_button
+ ld a, A_BUTTON
scf
ret
; 2466f
-Function2466f: ; 2466f
- ld a, $2
+.b_button: ; 2466f
+ ld a, B_BUTTON
scf
ret
; 24673
-Function24673: ; 24673
+.select: ; 24673
ld a, [wcf91]
bit 7, a
jp z, xor_a_dec_a
@@ -23097,65 +23132,65 @@ Function24673: ; 24673
dec a
call Function248d5
ld a, [MenuSelection]
- cp $ff
+ cp -1
jp z, xor_a_dec_a
call Function246fc
dec a
ld [wcf77], a
- ld a, $4
+ ld a, SELECT
scf
ret
; 24695
-Function24695: ; 24695
+.start: ; 24695
ld a, [wcf91]
bit 6, a
jp z, xor_a_dec_a
- ld a, $8
+ ld a, START
scf
ret
; 246a1
-Function246a1: ; 246a1
+.d_left: ; 246a1
ld hl, wcfa6
bit 7, [hl]
jp z, xor_a_dec_a
ld a, [wcf91]
bit 3, a
jp z, xor_a_dec_a
- ld a, $20
+ ld a, D_LEFT
scf
ret
; 246b5
-Function246b5: ; 246b5
+.d_right: ; 246b5
ld hl, wcfa6
bit 7, [hl]
jp z, xor_a_dec_a
ld a, [wcf91]
bit 2, a
jp z, xor_a_dec_a
- ld a, $10
+ ld a, D_RIGHT
scf
ret
; 246c9
-Function246c9: ; 246c9
+.d_up: ; 246c9
ld hl, wcfa6
bit 7, [hl]
jp z, xor_a
ld hl, wd0e4
ld a, [hl]
and a
- jr z, .asm_246dc
+ jr z, .xor_dec_up
dec [hl]
jp xor_a
-.asm_246dc
+.xor_dec_up
jp xor_a_dec_a
; 246df
-Function246df: ; 246df
+.d_down: ; 246df
ld hl, wcfa6
bit 7, [hl]
jp z, xor_a
@@ -23165,11 +23200,11 @@ Function246df: ; 246df
ld b, a
ld a, [wd144]
cp b
- jr c, .asm_246f9
+ jr c, .xor_dec_down
inc [hl]
jp xor_a
-.asm_246f9
+.xor_dec_down
jp xor_a_dec_a
; 246fc
@@ -23183,19 +23218,20 @@ Function246fc: ; 246fc
; 24706
Function24706: ; 24706 (9:4706)
- call Function1cfd
- ld de, $14
+ call GetMemTileCoord
+ ld de, SCREEN_WIDTH
add hl, de
- ld de, $28
+ ld de, 2 * SCREEN_WIDTH
ld a, [wcf92]
.asm_24713
- ld [hl], $7f
+ ld [hl], " "
add hl, de
dec a
jr nz, .asm_24713
ret
Function2471a: ; 2471a
+; Get the value of (wcf95):(wcf96,wcf97) and store it in wd144.
ld hl, wcf96
ld a, [hli]
ld h, [hl]
@@ -23203,30 +23239,33 @@ Function2471a: ; 2471a
ld a, [wcf95]
call GetFarByte
ld [wd144], a
+; Store [wcf92] + [wd0e4] in c
ld a, [wcf92]
ld c, a
ld a, [wd0e4]
add c
ld c, a
+; If [wd144] > c, skip this next part.
ld a, [wd144]
inc a
cp c
- jr nc, .asm_24748
+ jr nc, .skip
+; If [wd144] > [wcf92], store ([wd144] - [wcf92]) in [wd0e4]. Else, store 0 in [wd0e4].
ld a, [wcf92]
ld c, a
ld a, [wd144]
inc a
sub c
- jr nc, .asm_24745
+ jr nc, .store
xor a
-.asm_24745
+.store
ld [wd0e4], a
-.asm_24748
+.skip
ld a, [wd0e4]
ld c, a
- ld a, [wcf88]
+ ld a, [wPocketCursorBuffer]
add c
ld b, a
ld a, [wd144]
@@ -23239,7 +23278,7 @@ Function2471a: ; 2471a
xor a
ld [wd0e4], a
ld a, $1
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
.asm_24763
ret
@@ -23250,10 +23289,10 @@ Function24764: ; 24764
ld c, a
ld a, [wd144]
ld b, a
- ld a, [wcf82]
+ ld a, [wMenuBorderTopCoord]
add $1
ld [wcfa1], a
- ld a, [wcf83]
+ ld a, [wMenuBorderLeftCoord]
add $0
ld [wcfa2], a
ld a, [wcf92]
@@ -23297,7 +23336,7 @@ Function24764: ; 24764
ld [wcfa8], a
ld a, [wcfa3]
ld b, a
- ld a, [wcf88]
+ ld a, [wPocketCursorBuffer]
and a
jr z, .asm_247c8
cp b
@@ -23342,15 +23381,15 @@ Function247f0: ; 247f0
ld a, [wd0e4]
and a
jr z, .asm_2480d
- ld a, [wcf82]
+ ld a, [wMenuBorderTopCoord]
ld b, a
- ld a, [wcf85]
+ ld a, [wMenuBorderRightCoord]
ld c, a
call GetTileCoord
ld [hl], $61
.asm_2480d
- call Function1cfd
+ call GetMemTileCoord
ld bc, $0015
add hl, bc
ld a, [wcf92]
@@ -23379,9 +23418,9 @@ Function247f0: ; 247f0
ld a, [wcf91]
bit 4, a
jr z, .asm_24850
- ld a, [wcf84]
+ ld a, [wMenuBorderBottomCoord]
ld b, a
- ld a, [wcf85]
+ ld a, [wMenuBorderRightCoord]
ld c, a
call GetTileCoord
ld [hl], $ee
@@ -23448,10 +23487,10 @@ Function2488b: ; 2488b
add a
add $1
ld c, a
- ld a, [wcf82]
+ ld a, [wMenuBorderTopCoord]
add c
ld b, a
- ld a, [wcf83]
+ ld a, [wMenuBorderLeftCoord]
add $0
ld c, a
call GetTileCoord
@@ -23783,28 +23822,28 @@ Function24aab: ; 24aab (9:4aab)
jr nz, Function24aab
ret
-Function24ab4: ; 0x24ab4
+PlaceMenuItemName: ; 0x24ab4
push de
ld a, [MenuSelection]
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetItemName
pop hl
call PlaceString
ret
; 0x24ac3
-Function24ac3: ; 0x24ac3
+PlaceMenuItemQuantity: ; 0x24ac3
push de
ld a, [MenuSelection]
ld [CurItem], a
callba _CheckTossableItem
- ld a, [wd142]
+ ld a, [wItemAttributeParamBuffer]
pop hl
and a
jr nz, .done
ld de, $0015
add hl, de
- ld [hl], $f1
+ ld [hl], "×"
inc hl
ld de, wcf75
lb bc, 1, 2
@@ -23831,7 +23870,7 @@ Function24af8: ; 24af8
Function24b01: ; 24b01
call Function1cbb
- call Function1cfd
+ call GetMemTileCoord
ld de, $0015
add hl, de
ld de, Money
@@ -23856,7 +23895,8 @@ MenuDataHeader_0x24b1d: ; 0x24b1d
db 1 ; default option
; 0x24b25
-Function24b25: ; 24b25
+Special_DisplayCoinCaseBalance: ; 24b25
+ ; Place a text box of size 1x7 at 11, 0.
hlcoord 11, 0
ld b, 1
ld c, 7
@@ -23865,7 +23905,7 @@ Function24b25: ; 24b25
ld de, CoinString
call PlaceString
hlcoord 17, 1
- ld de, String24b8e
+ ld de, ShowMoney_TerminatorString
call PlaceString
ld de, Coins
lb bc, 2, 4
@@ -23874,10 +23914,10 @@ Function24b25: ; 24b25
ret
; 24b4e
-Function24b4e: ; 24b4e
+Special_DisplayMoneyAndCoinBalance: ; 24b4e
hlcoord 5, 0
- ld b, $3
- ld c, $d
+ ld b, 3
+ ld c, 13
call TextBox
hlcoord 6, 1
ld de, MoneyString
@@ -23900,7 +23940,7 @@ MoneyString: ; 24b83
db "MONEY@"
CoinString: ; 24b89
db "COIN@"
-String24b8e: ; 24b8e
+ShowMoney_TerminatorString: ; 24b8e
db "@"
; 24b8f
@@ -24004,34 +24044,35 @@ String24c5e: ; 24c5e
; 24c64
-Function24c64: ; 24c64
+FindApricornsInBag: ; 24c64
+; Checks the bag for Apricorns.
ld hl, Buffer1
xor a
ld [hli], a
dec a
- ld bc, $000a
+ ld bc, 10
call ByteFill
- ld hl, ApricornBalls
-.asm_24c73
+ ld hl, .ApricornBalls
+.loop
ld a, [hl]
- cp $ff
- jr z, .asm_24c8d
+ cp -1
+ jr z, .done
push hl
ld [CurItem], a
ld hl, NumItems
call CheckItem
pop hl
- jr nc, .asm_24c89
+ jr nc, .nope
ld a, [hl]
- call Function24c94
-.asm_24c89
+ call .addtobuffer
+.nope
rept 2
inc hl
endr
- jr .asm_24c73
+ jr .loop
-.asm_24c8d
+.done
ld a, [Buffer1]
and a
ret nz
@@ -24039,7 +24080,7 @@ endr
ret
; 24c94
-Function24c94: ; 24c94
+.addtobuffer: ; 24c94
push hl
ld hl, Buffer1
inc [hl]
@@ -24051,7 +24092,7 @@ Function24c94: ; 24c94
ret
; 24ca0
-ApricornBalls: ; 24ca0
+.ApricornBalls: ; 24ca0
db RED_APRICORN, LEVEL_BALL
db BLU_APRICORN, LURE_BALL
db YLW_APRICORN, MOON_BALL
@@ -24059,7 +24100,7 @@ ApricornBalls: ; 24ca0
db WHT_APRICORN, FAST_BALL
db BLK_APRICORN, HEAVY_BALL
db PNK_APRICORN, LOVE_BALL
- db $ff
+ db -1
; 24caf
@@ -24135,10 +24176,10 @@ Function24d47: ; 24d47
inc a
add a
ld b, a
- ld a, [wcf84]
+ ld a, [wMenuBorderBottomCoord]
sub b
inc a
- ld [wcf82], a
+ ld [wMenuBorderTopCoord], a
call Function1cbb
ret
; 24d59
@@ -24178,7 +24219,7 @@ MonMenuLoop: ; 24d59
; 24d91
PopulateMonMenu: ; 24d91
- call Function1cfd
+ call GetMemTileCoord
ld bc, $002a ; 42
add hl, bc
ld de, Buffer2
@@ -24228,7 +24269,7 @@ Function24dd4: ; 24dd4
ld a, [CurPartySpecies]
cp EGG
jr z, .egg
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
jr nz, .skip
ld a, PartyMon1Moves - PartyMon1
@@ -24262,7 +24303,7 @@ Function24dd4: ; 24dd4
call Function24e83
ld a, $13
call Function24e83
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
jr nz, .skip2
push hl
@@ -24325,7 +24366,7 @@ Function24e68: ; 24e68
xor a
ld [Buffer1], a
ld hl, Buffer2
- ld bc, $0009
+ ld bc, 9
call ByteFill
ret
; 24e76
@@ -24336,7 +24377,7 @@ Function24e76: ; 24e76
ld d, $0
ld hl, Buffer2
add hl, de
- ld [hl], $ff
+ ld [hl], -1
ret
; 24e83
@@ -24413,9 +24454,9 @@ LoadBattleMenu: ; 24ef2
ld hl, BattleMenuDataHeader
call LoadMenuDataHeader
ld a, [wd0d2]
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
call Function2039
- ld a, [wcf88]
+ ld a, [wPocketCursorBuffer]
ld [wd0d2], a
call ExitMenu
ret
@@ -24436,9 +24477,9 @@ ContestBattleMenu: ; 24f13
Function24f19: ; 24f19
ld a, [wd0d2]
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
call InterpretMenu
- ld a, [wcf88]
+ ld a, [wPocketCursorBuffer]
ld [wd0d2], a
call ExitMenu
ret
@@ -24457,7 +24498,7 @@ MenuData_0x24f34: ; 0x24f34
db $81 ; flags
dn 2, 2 ; rows, columns
db 6 ; spacing
- dbw BANK(Strings24f3d), Strings24f3d
+ dba Strings24f3d
dbw $09, $0000
; 0x24f3d
@@ -24481,8 +24522,8 @@ MenuData_0x24f56: ; 24f56
db $81 ; flags
dn 2, 2 ; rows, columns
db 11 ; spacing
- dbw BANK(Strings24f5f), Strings24f5f
- dbw BANK(Function24f7c), Function24f7c
+ dba Strings24f5f
+ dba Function24f7c
; 24f5f
Strings24f5f: ; 24f5f
@@ -24513,8 +24554,8 @@ MenuData_0x24f91: ; 24f91
db $81 ; flags
dn 2, 2 ; rows, columns
db 12 ; spacing
- dbw BANK(Strings24f9a), Strings24f9a
- dbw BANK(Function24fb2), Function24fb2
+ dba Strings24f9a
+ dba Function24fb2
; 24f9a
Strings24f9a: ; 24f9a
@@ -24666,7 +24707,7 @@ Function2500e: ; 2500e
Function25072: ; 25072
call Function1cbb
- call Function1cfd
+ call GetMemTileCoord
ld de, $0015
add hl, de
ld [hl], $f1
@@ -24786,12 +24827,12 @@ Function25105: ; 25105
call Function2513b
.asm_25117
call UpdateTime
- call Functiona57
- ld a, [wcf63]
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_25132
- ld a, [$ffa9]
- and $2
+ ld a, [hJoyLast]
+ and B_BUTTON
jr nz, .asm_25132
call Function2518e
call DelayFrame
@@ -24810,12 +24851,12 @@ Function2513b: ; 2513b (9:513b)
call DisableLCD
callba Function8833e
ld hl, CardRightCornerGFX
- ld de, $91c0
+ ld de, VTiles2 tile $1c
ld bc, $10
ld a, BANK(CardRightCornerGFX)
call FarCopyBytes
ld hl, CardStatusGFX
- ld de, $9290
+ ld de, VTiles2 tile $29
ld bc, $60 + $500
ld a, BANK(CardStatusGFX)
call FarCopyBytes
@@ -24829,7 +24870,7 @@ Function2513b: ; 2513b (9:513b)
call GetSGBLayout
call SetPalettes
call WaitBGMap
- ld hl, wcf63
+ ld hl, wJumptableIndex
xor a
rept 3
ld [hli], a
@@ -24838,7 +24879,7 @@ endr
ret
Function2518e: ; 2518e (9:518e)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, $0
ld hl, Jumptable_2519d
@@ -24861,12 +24902,12 @@ Jumptable_2519d: ; 2519d (9:519d)
Function251ab: ; 251ab (9:51ab)
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
Function251b0: ; 251b0 (9:51b0)
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -24877,7 +24918,7 @@ Function251b6: ; 251b6 (9:51b6)
call Function253b0
call WaitBGMap
ld de, CardStatusGFX
- ld hl, $9290
+ ld hl, VTiles2 tile $29
lb bc, BANK(CardStatusGFX), $6 + $50
call Request2bpp
call Function2530a
@@ -24886,14 +24927,14 @@ Function251b6: ; 251b6 (9:51b6)
Function251d7: ; 251d7 (9:51d7)
call Function25415
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $11
+ and D_RIGHT | A_BUTTON
jr nz, .asm_251e3
ret
.asm_251e3
ld a, $2
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 251e9 (9:51e9)
@@ -24902,7 +24943,7 @@ Function251e9: ; 251e9
and a
ret z
ld a, $4
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 251f4
@@ -24913,11 +24954,11 @@ Function251f4: ; 251f4 (9:51f4)
call Function253b0
call WaitBGMap
ld de, LeaderGFX
- ld hl, $9290
+ ld hl, VTiles2 tile $29
lb bc, BANK(LeaderGFX), $56
call Request2bpp
ld de, BadgeGFX
- ld hl, $8000
+ ld hl, VTiles0 tile $00
lb bc, BANK(BadgeGFX), $2c
call Request2bpp
call Function2536c
@@ -24927,17 +24968,17 @@ Function251f4: ; 251f4 (9:51f4)
Function25221: ; 25221 (9:5221)
ld hl, Unknown_254c9
call Function25438
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $1
+ and A_BUTTON
jr nz, Function25246
ld a, [hl]
- and $20
+ and D_LEFT
jr nz, .asm_25235
ret
.asm_25235
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 2523b (9:523b)
@@ -24946,13 +24987,13 @@ Function2523b: ; 2523b
and a
ret z
ld a, $4
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 25246
Function25246: ; 25246
ld a, $6
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function2524c: ; 2524c (9:524c)
@@ -24962,11 +25003,11 @@ Function2524c: ; 2524c (9:524c)
call Function253b0
call WaitBGMap
ld de, LeaderGFX2
- ld hl, $9290
+ ld hl, VTiles2 tile $29
lb bc, BANK(LeaderGFX2), $56
call Request2bpp
ld de, BadgeGFX2
- ld hl, $8000
+ ld hl, VTiles0 tile $00
lb bc, BANK(BadgeGFX2), $2c
call Request2bpp
call Function2536c
@@ -24976,21 +25017,21 @@ Function2524c: ; 2524c (9:524c)
Function25279: ; 25279 (9:5279)
ld hl, Unknown_254c9
call Function25438
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $20
+ and D_LEFT
jr nz, .asm_2528d
ld a, [hl]
- and $10
+ and D_RIGHT
jr nz, .asm_25293
ret
.asm_2528d
ld a, $2
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
.asm_25293
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function25299: ; 25299 (9:5299)
@@ -25388,7 +25429,7 @@ ProfOaksPC: ; 0x265d3
.shutdown
ld hl, OakPCText4
call PrintText
- call Functiona36
+ call JoyWaitAorB
call ExitMenu
ret
; 0x265ee
@@ -25398,7 +25439,7 @@ ProfOaksPCBoot ; 0x265ee
call PrintText
call Rate
call PlaySFX ; sfx loaded by previous Rate function call
- call Functiona36
+ call JoyWaitAorB
call WaitSFX
ret
; 0x26601
@@ -25410,7 +25451,7 @@ Function26601: ; 0x26601
call PlayMusic
pop de
call PlaySFX
- call Functiona36
+ call JoyWaitAorB
call WaitSFX
ret
; 0x26616
@@ -25430,7 +25471,7 @@ Rate: ; 0x26616
call ClearOakRatingBuffers
ld hl, OakPCText3
call PrintText
- call Functiona36
+ call JoyWaitAorB
ld a, [wd003]
ld hl, OakRatings
call FindOakRating
@@ -25453,7 +25494,7 @@ ClearOakRatingBuffers: ; 0x26647
ClearOakRatingBuffer: ; 0x2665a
push hl
ld a, "@"
- ld bc, $000d
+ ld bc, ITEM_NAME_LENGTH
call ByteFill
pop hl
lb bc, PRINTNUM_RIGHTALIGN | 1, 3
@@ -25678,7 +25719,7 @@ _KrisDecorationMenu: ; 0x2675c
ld [wd1ef], a
.asm_2676f
ld a, [wd1ef]
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
call Function26806
call Function1e5d
ld a, [wcfa9]
@@ -25751,8 +25792,8 @@ Function26822: ; 26822 (9:6822)
ld hl, StringBuffer2
xor a
ld [hli], a
- ld bc, $c
- ld a, $ff
+ ld bc, ITEM_NAME_LENGTH - 1
+ ld a, -1
call ByteFill
ret
@@ -26069,7 +26110,7 @@ MenuData2_0x269cd: ; 0x269cd
db 8, 0 ; rows, columns
db 1 ; horizontal spacing
dbw 0, wd002 ; text pointer
- dbw BANK(DecorationMenuFunction), DecorationMenuFunction
+ dba DecorationMenuFunction
dbw 0, 0
dbw 0, 0
; 269dd
@@ -27155,7 +27196,7 @@ Function27192: ; 27192
ld a, [hBattleTurn]
and a
jr nz, .ourturn
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
dec a
jr z, .done
@@ -27225,7 +27266,7 @@ LinkCommunications: ; 28000
call ClearScreen
call UpdateSprites
call Functione51
- call Functione58
+ call LoadFontsBattleExtra
callba Function16d69a
call Function3200
hlcoord 3, 8
@@ -27243,8 +27284,8 @@ LinkCommunications: ; 28000
xor a
ld [hli], a
ld [hl], $50
- ld a, [InLinkBattle]
- cp $1
+ ld a, [wLinkMode]
+ cp LINK_TIMECAPSULE
jp nz, Function28177
Function2805d: ; 2805d
@@ -27441,8 +27482,8 @@ Function28177: ; 28177
ld de, wc6d0
ld bc, $00c8
call Function75f
- ld a, [InLinkBattle]
- cp $2
+ ld a, [wLinkMode]
+ cp LINK_TRADECENTER
jr nz, .asm_281fd
ld hl, wc9f4
ld de, wcb84
@@ -27492,8 +27533,8 @@ Function28177: ; 28177
ld hl, wc90f
dec c
jr nz, .asm_28224
- ld a, [InLinkBattle]
- cp $2
+ ld a, [wLinkMode]
+ cp LINK_TRADECENTER
jp nz, .asm_282fe
ld hl, wcb84
.asm_28254
@@ -27626,8 +27667,8 @@ Function28177: ; 28177
cp $2
ld c, 66
call z, DelayFrames
- ld a, [InLinkBattle]
- cp $3
+ ld a, [wLinkMode]
+ cp LINK_COLOSSEUM
jr nz, .asm_283a9
ld a, CAL
ld [OtherTrainerClass], a
@@ -27641,7 +27682,7 @@ Function28177: ; 28177
ld [hl], a
ld hl, wd26b
ld de, OTName
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
call Function222a
ld a, [wc2d7]
@@ -27809,8 +27850,8 @@ endr
dec a
jr nz, .asm_2847f
push bc
- ld a, [InLinkBattle]
- cp $1
+ ld a, [wLinkMode]
+ cp LINK_TIMECAPSULE
ld b, $d
jr z, .asm_2847a
ld b, $27
@@ -28040,8 +28081,8 @@ Function28595: ; 28595
ld hl, PartyMonNicknames
ld bc, $0042
call CopyBytes
- ld a, [InLinkBattle]
- cp $2
+ ld a, [wLinkMode]
+ cp LINK_TRADECENTER
ret nz
ld de, wc9f4
ld a, $20
@@ -28583,7 +28624,7 @@ Function28926: ; 28926
.asm_28946
ld a, $7f
- ldcoord 11, 16
+ ldcoord_a 11, 16
ld a, $13
ld [wcfa8], a
ld a, $1
@@ -28615,7 +28656,7 @@ Function28926: ; 28926
.asm_2898d
ld a, $7f
- ldcoord 1, 16
+ ldcoord_a 1, 16
ld a, $23
ld [wcfa8], a
ld a, $1
@@ -28761,17 +28802,17 @@ Function28ac9: ; 28ac9
Function28ade: ; 28ade
.asm_28ade
ld a, $ed
- ldcoord 9, 17
+ ldcoord_a 9, 17
.asm_28ae3
- call Functiona57
- ld a, [$ffa9]
+ call JoyTextDelay
+ ld a, [hJoyLast]
and a
jr z, .asm_28ae3
bit 0, a
jr nz, .asm_28b0b
push af
- ld a, $7f
- ldcoord 9, 17
+ ld a, " "
+ ldcoord_a 9, 17
pop af
bit 6, a
jr z, .asm_28b03
@@ -28786,7 +28827,7 @@ Function28ade: ; 28ade
.asm_28b0b
ld a, $ec
- ldcoord 9, 17
+ ldcoord_a 9, 17
ld a, $f
ld [wcf56], a
callba Function16d6ce
@@ -28814,12 +28855,12 @@ Function28b22: ; 28b22
Function28b42: ; 28b42
hlcoord 0, 16
- ld a, $7e
- ld bc, $0028
+ ld a, "┘"
+ ld bc, 2 * SCREEN_WIDTH
call ByteFill
hlcoord 1, 16
- ld a, $7f
- ld bc, SCREEN_HEIGHT
+ ld a, " "
+ ld bc, SCREEN_WIDTH - 2
call ByteFill
hlcoord 2, 16
ld de, String_28b61
@@ -29100,7 +29141,7 @@ Function28b87: ; 28b87
ld c, $64
call DelayFrames
call ClearTileMap
- call Functione58
+ call LoadFontsBattleExtra
ld b, $8
call GetSGBLayout
ld a, [$ffcb]
@@ -29160,8 +29201,8 @@ Function28b87: ; 28b87
push bc
call Function862
pop bc
- ld a, [InLinkBattle]
- cp $1
+ ld a, [wLinkMode]
+ cp LINK_TIMECAPSULE
jr z, .asm_28e63
ld a, b
and a
@@ -29172,7 +29213,7 @@ Function28b87: ; 28b87
.asm_28e63
callba Function14a58
- callba Function1060af
+ callba MobileFn_1060af
callba Function106187
ld c, $28
call DelayFrames
@@ -29186,8 +29227,8 @@ Function28b87: ; 28b87
callba Function4d354
ld c, $32
call DelayFrames
- ld a, [InLinkBattle]
- cp $1
+ ld a, [wLinkMode]
+ cp LINK_TIMECAPSULE
jp z, Function2805d
jp Function28177
; 28ea3
@@ -29383,12 +29424,12 @@ Function28fa1: ; 28fa1
Function28fdb: ; 28fdb
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
call WhiteBGMap
call ClearSprites
call ClearTileMap
call DisableLCD
- call Functione58
+ call LoadFontsBattleExtra
callab Function8cf53
ld a, [hCGB]
and a
@@ -29396,7 +29437,7 @@ Function28fdb: ; 28fdb
ld a, $1
ld [rVBK], a
ld hl, VTiles0
- ld bc, $2000
+ ld bc, sScratch - VTiles0
xor a
call ByteFill
ld a, $0
@@ -29404,19 +29445,19 @@ Function28fdb: ; 28fdb
.asm_2900b
ld hl, VBGMap0
- ld bc, $0800
- ld a, $7f
+ ld bc, sScratch - VBGMap0
+ ld a, " "
call ByteFill
ld hl, TradeGameBoyLZ
- ld de, $9310
+ ld de, VTiles2 tile $31
call Decompress
ld hl, TradeArrowGFX
- ld de, $8ed0
+ ld de, VTiles1 tile $6d
ld bc, $0010
ld a, BANK(TradeArrowGFX)
call FarCopyBytes
ld hl, TradeArrowGFX + $10
- ld de, $8ee0
+ ld de, VTiles1 tile $6e
ld bc, $0010
ld a, BANK(TradeArrowGFX)
call FarCopyBytes
@@ -29436,7 +29477,7 @@ Function28fdb: ; 28fdb
call Function29491
ld a, [wc702]
ld hl, wc72f
- ld de, $8310
+ ld de, VTiles0 tile $31
call Function29491
ld a, [wc6d0]
ld de, wc6d1
@@ -29449,7 +29490,7 @@ Function28fdb: ; 28fdb
; 29082
Function29082: ; 29082
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_2909b
call Function290a0
@@ -29467,7 +29508,7 @@ Function29082: ; 29082
; 290a0
Function290a0: ; 290a0
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, JumpTable290af
@@ -29532,7 +29573,7 @@ JumpTable290af: ; 290af
; 2910f
Function2910f: ; 2910f
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
; 29114
@@ -29543,7 +29584,7 @@ Function29114: ; 29114
inc hl
ld d, [hl]
ld a, [de]
- ld [wcf63], a
+ ld [wJumptableIndex], a
inc de
ld [hl], d
dec hl
@@ -29552,7 +29593,7 @@ Function29114: ; 29114
; 29123
Function29123: ; 29123
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
; 29129
@@ -29713,8 +29754,8 @@ Function29229: ; 29229
call DisableLCD
callab Function8cf53
ld hl, VBGMap0
- ld bc, $0800
- ld a, $7f
+ ld bc, sScratch - VBGMap0
+ ld a, " "
call ByteFill
xor a
ld [hSCX], a
@@ -29837,12 +29878,12 @@ Function292f6: ; 292f6
push af
call WhiteBGMap
call WaitTop
- ld a, $9c
- ld [$ffd7], a
+ ld a, VBGMap1 / $100
+ ld [hBGMapAddress + 1], a
call ClearTileMap
hlcoord 0, 0
ld bc, SCREEN_WIDTH
- ld a, $7a
+ ld a, "─"
call ByteFill
hlcoord 0, 1
ld de, wc736
@@ -29851,7 +29892,7 @@ Function292f6: ; 292f6
ld de, 0
.asm_2931e
ld a, [hli]
- cp $50
+ cp "@"
jr z, .asm_29326
dec de
jr .asm_2931e
@@ -29867,8 +29908,8 @@ Function292f6: ; 292f6
call ByteFill
call WaitBGMap
call WaitTop
- ld a, $98
- ld [$ffd7], a
+ ld a, VBGMap0 / $100
+ ld [hBGMapAddress + 1], a
call ClearTileMap
ret
; 29348
@@ -29978,8 +30019,8 @@ Function293de: ; 293de
Function293ea: ; 293ea
call WaitTop
- ld a, $9c
- ld [$ffd7], a
+ ld a, VBGMap1 / $100
+ ld [hBGMapAddress + 1], a
call WaitBGMap
ld a, $7
ld [hWX], a
@@ -29987,8 +30028,8 @@ Function293ea: ; 293ea
ld [hWY], a
call DelayFrame
call WaitTop
- ld a, $98
- ld [$ffd7], a
+ ld a, VBGMap0 / $100
+ ld [hBGMapAddress + 1], a
call ClearTileMap
call Function2910f
ret
@@ -30003,15 +30044,15 @@ Function2940c: ; 2940c
ret
.asm_29417
- ld a, $9c
- ld [$ffd7], a
+ ld a, VBGMap1 / $100
+ ld [hBGMapAddress + 1], a
call WaitBGMap
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
- ld a, $98
- ld [$ffd7], a
+ ld a, VBGMap0 / $100
+ ld [hBGMapAddress + 1], a
call Function29114
ret
; 2942e
@@ -30094,7 +30135,7 @@ Function294bb: ; 294bb
jr Function294c3
Function294c0: ; 294c0
- ld de, $8310
+ ld de, VTiles0 tile $31
Function294c3: ; 294c3
call DelayFrame
@@ -30197,8 +30238,8 @@ Function29549: ; 29549
Function29573: ; 29573
call WaitTop
call Function297cf
- ld a, $9c
- ld [$ffd7], a
+ ld a, VBGMap1 / $100
+ ld [hBGMapAddress + 1], a
hlcoord 3, 0
ld b, $6
ld c, $d
@@ -30219,8 +30260,8 @@ String29591: ; 29591
Function295a1: ; 295a1
call WaitTop
call Function297cf
- ld a, $9c
- ld [$ffd7], a
+ ld a, VBGMap1 / $100
+ ld [hBGMapAddress + 1], a
hlcoord 3, 0
ld b, $6
ld c, $d
@@ -30241,8 +30282,8 @@ String295c2: ; 295c2
Function295d8: ; 295d8
call WaitBGMap
call WaitTop
- ld a, $98
- ld [$ffd7], a
+ ld a, VBGMap0 / $100
+ ld [hBGMapAddress + 1], a
ret
; 295e3
@@ -30453,8 +30494,8 @@ Function296f2: ; 296f2 (a:56f2)
; 29701 (a:5701)
Function29701: ; 29701
- ld a, [InLinkBattle]
- cp $1
+ ld a, [wLinkMode]
+ cp LINK_TIMECAPSULE
jr z, .asm_29725
ld hl, UnknownText_0x29737
call PrintText
@@ -30514,8 +30555,8 @@ UnknownText_0x29757: ; 0x29757
Function2975c: ; 2975c
call WaitTop
hlcoord 0, 10
- ld bc, $00a0
- ld a, $7f
+ ld bc, 8 * SCREEN_WIDTH
+ ld a, " "
call ByteFill
call WaitBGMap
ld hl, UnknownText_0x2977a
@@ -30590,7 +30631,7 @@ Function297c9: ; 297c9
Function297cf: ; 297cf
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $7f
+ ld a, " "
call ByteFill
ret
; 297db
@@ -30661,15 +30702,15 @@ Function2981d: ; 2981d
Function2982b: ; 2982b
call DelayFrame
ld de, TradeBallGFX
- ld hl, $8620
+ ld hl, VTiles0 tile $62
lb bc, BANK(TradeBallGFX), $6
call Request2bpp
ld de, TradePoofGFX
- ld hl, $8680
+ ld hl, VTiles0 tile $68
lb bc, BANK(TradePoofGFX), $c
call Request2bpp
ld de, TradeCableGFX
- ld hl, $8740
+ ld hl, VTiles0 tile $74
lb bc, BANK(TradeCableGFX), $4
call Request2bpp
xor a
@@ -30684,7 +30725,7 @@ Function2985a: ; 2985a
ld e, $3
callab Function8e83f
ld de, TradeBubbleGFX
- ld hl, $8720
+ ld hl, VTiles0 tile $72
lb bc, BANK(TradeBubbleGFX), $4
call Request2bpp
xor a
@@ -30889,14 +30930,14 @@ Special_EnterTimeCapsule: ; 29c7b
xor a
ld [hVBlank], a
inc a
- ld [InLinkBattle], a
+ ld [wLinkMode], a
ret
; 29c92
Special_AbortLink: ; 29c92
ld c, $3
call DelayFrames
- ld a, $ff
+ ld a, -1
ld [$ffcb], a
xor a
ld [rSB], a
@@ -30922,7 +30963,7 @@ Special_AbortLink: ; 29c92
ld [rSC], a
ld c, $3
call DelayFrames
- ld a, $ff
+ ld a, -1
ld [$ffcb], a
ld a, [rIF]
push af
@@ -30937,7 +30978,7 @@ Special_AbortLink: ; 29c92
ld [hli], a
ld [hl], a
ld [hVBlank], a
- ld [InLinkBattle], a
+ ld [wLinkMode], a
ret
; 29ce8
@@ -30997,7 +31038,7 @@ Special_WaitForLinkedFriend: ; 29d11
jr z, .asm_29d79
cp $1
jr z, .asm_29d79
- ld a, $ff
+ ld a, -1
ld [$ffcb], a
ld a, $2
ld [rSB], a
@@ -31209,7 +31250,7 @@ Special_CheckBothSelectedSameRoom: ; 29e82
jr nz, .asm_29eaa
ld a, [wd265]
inc a
- ld [InLinkBattle], a
+ ld [wLinkMode], a
xor a
ld [hVBlank], a
ld a, $1
@@ -31223,33 +31264,33 @@ Special_CheckBothSelectedSameRoom: ; 29e82
; 29eaf
Special_TimeCapsule: ; 29eaf
- ld a, $1
- ld [InLinkBattle], a
- call Function2ed3
+ ld a, LINK_TIMECAPSULE
+ ld [wLinkMode], a
+ call DisableSpriteUpdates
callab LinkCommunications
- call Function2ee4
+ call EnableSpriteUpdates
xor a
ld [hVBlank], a
ret
; 29ec4
Special_TradeCenter: ; 29ec4
- ld a, $2
- ld [InLinkBattle], a
- call Function2ed3
+ ld a, LINK_TRADECENTER
+ ld [wLinkMode], a
+ call DisableSpriteUpdates
callab LinkCommunications
- call Function2ee4
+ call EnableSpriteUpdates
xor a
ld [hVBlank], a
ret
; 29ed9
Special_Colosseum: ; 29ed9
- ld a, $3
- ld [InLinkBattle], a
- call Function2ed3
+ ld a, LINK_COLOSSEUM
+ ld [wLinkMode], a
+ call DisableSpriteUpdates
callab LinkCommunications
- call Function2ee4
+ call EnableSpriteUpdates
xor a
ld [hVBlank], a
ret
@@ -31257,7 +31298,7 @@ Special_Colosseum: ; 29ed9
Special_CloseLink: ; 29eee
xor a
- ld [InLinkBattle], a
+ ld [wLinkMode], a
ld c, $3
call DelayFrames
jp Function29f04
@@ -31273,7 +31314,7 @@ Special_FailedLinkToPast: ; 29efa
Function29f04: ; 29f04
ld c, $3
call DelayFrames
- ld a, $ff
+ ld a, -1
ld [$ffcb], a
ld a, $2
ld [rSB], a
@@ -31720,7 +31761,7 @@ endr
CheckRepelEffect:: ; 2a1df
; If there is no active Repel, there's no need to be here.
- ld a, [RepelStepsLeft]
+ ld a, [wRepelEffect]
and a
jr z, .encounter
; Get the first Pokemon in your party that isn't fainted.
@@ -32443,23 +32484,23 @@ Function2b930: ; 2b930
jr nc, .asm_2b97f
.asm_2b976
- ld a, [wd0ee]
+ ld a, [wBattleResult]
and $f0
- ld [wd0ee], a
+ ld [wBattleResult], a
ret
.asm_2b97f
- ld a, [wd0ee]
+ ld a, [wBattleResult]
and $f0
add $1
- ld [wd0ee], a
+ ld [wBattleResult], a
ret
.asm_2b98a
- ld a, [wd0ee]
+ ld a, [wBattleResult]
and $f0
add $2
- ld [wd0ee], a
+ ld [wBattleResult], a
ret
; 2b995
@@ -32587,7 +32628,7 @@ Function2c000: ; 2c000
ld [rOBP0], a
call Function2c165
call Function2c01c
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
dec a
ret z
jp Function2c03a
@@ -32728,7 +32769,7 @@ Function2c0c5: ; 2c0c5
hlcoord 1, 2
ld de, 1
call Function2c0f1
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
dec a
ret nz
ld a, [TempEnemyMonSpecies]
@@ -32784,7 +32825,7 @@ Function2c10d: ; 2c10d
ld de, OTPartyCount
call Function2c059
ld hl, wcfc4
- ld a, $50
+ ld a, "@"
ld [hli], a
ld [hl], $68
ld hl, Sprites + $18
@@ -32794,7 +32835,7 @@ Function2c10d: ; 2c10d
Function2c143: ; 2c143
ld de, Buffer1
ld c, $6
-.asm_2c148
+.loop
ld a, [wcfc5]
ld [hli], a
ld a, [wcfc4]
@@ -32810,13 +32851,13 @@ Function2c143: ; 2c143
ld [wcfc4], a
inc de
dec c
- jr nz, .asm_2c148
+ jr nz, .loop
ret
; 2c165
Function2c165: ; 2c165
ld de, GFX_2c172
- ld hl, $8310
+ ld hl, VTiles0 tile $31
lb bc, BANK(GFX_2c172), 4
call Functiondc9
ret
@@ -32826,24 +32867,24 @@ GFX_2c172: ; 2c172
INCBIN "gfx/battle/balls.2bpp"
; 2c1b2
-Function2c1b2: ; 2c1b2
+_ShowLinkBattleParticipants: ; 2c1b2
call WhiteBGMap
call Functione5f
hlcoord 2, 3
- ld b, $9
- ld c, $e
+ ld b, 9
+ ld c, 14
call TextBox
hlcoord 4, 5
ld de, PlayerName
call PlaceString
hlcoord 4, 10
- ld de, wd26b
+ ld de, OTPlayerName
call PlaceString
hlcoord 9, 8
ld a, $69
ld [hli], a
ld [hl], $6a
- callba Function2c10d
+ callba Function2c10d ; no need to callba
ld b, $8
call GetSGBLayout
call SetPalettes
@@ -33359,10 +33400,10 @@ Unknown_2c74a: ; 2c74a
Function2c76f: ; 2c76f (b:476f)
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
call Function2c8d3
ld a, $0
- ld [$ffaa], a
+ ld [hInMenu], a
ret nc
call Function1bee
call WaitBGMap
@@ -33507,7 +33548,7 @@ Function2c867: ; 2c867
and a
jr z, .nope
- callba Function106049
+ callba MobileFn_106049
ld a, [CurItem]
call IsHM
ret c
@@ -33580,7 +33621,7 @@ Function2c8d3: ; 2c8d3 (b:48d3)
ld [wcfa7], a
ld a, $f3
ld [wcfa8], a
- ld a, [wd0dc]
+ ld a, [wTMHMPocketCursor]
inc a
ld [wcfa9], a
ld a, $1
@@ -33593,7 +33634,7 @@ Function2c915: ; 2c915 (b:4915)
ld b, a
ld a, [wcfa9]
dec a
- ld [wd0dc], a
+ ld [wTMHMPocketCursor], a
xor a
ld [hBGMapMode], a ; $ff00+$d4
ld a, [wcfa6]
@@ -34114,11 +34155,14 @@ ConvertBerriesToBerryJuice: ; 2ede6
ret
; 2ee18
-Function2ee18: ; 2ee18
- ld a, [InLinkBattle]
+ShowLinkBattleParticipants: ; 2ee18
+; If we're not in a communications room,
+; we don't need to be here.
+ ld a, [wLinkMode]
and a
ret z
- callba Function2c1b2
+
+ callba _ShowLinkBattleParticipants
ld c, 150
call DelayFrames
call ClearTileMap
@@ -34127,27 +34171,28 @@ Function2ee18: ; 2ee18
; 2ee2f
-Function2ee2f: ; 2ee2f
+FindFirstAliveMon: ; 2ee2f
xor a
ld [$ffde], a
call DelayFrame
ld b, 6
ld hl, PartyMon1HP
ld de, PartyMon2 - PartyMon1 - 1
-.asm_2ee3d
+
+.loop
ld a, [hli]
or [hl]
- jr nz, .asm_2ee45
+ jr nz, .okay
add hl, de
dec b
- jr nz, .asm_2ee3d
+ jr nz, .loop
-.asm_2ee45
+.okay
ld de, PartyMon1Level - PartyMon1HP
add hl, de
ld a, [hl]
ld [BattleMonLevel], a
- predef Function8c20f
+ predef Predef_StartBattle
callba Function3ed9f
ld a, 1
ld [hBGMapMode], a
@@ -34239,7 +34284,7 @@ PlayBattleMusic: ; 2ee6c
jr .done
.othertrainer
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
jr nz, .johtotrainer
@@ -34268,7 +34313,7 @@ PlayBattleMusic: ; 2ee6c
ClearBattleRAM: ; 2ef18
xor a
ld [wd0ec], a
- ld [wd0ee], a
+ ld [wBattleResult], a
ld hl, wd0d8
rept 3
@@ -34307,7 +34352,7 @@ endr
callab ResetEnemyStatLevels
- call Function1fbf
+ call ResetTextRelatedRAM
ld hl, hBGMapAddress
xor a
@@ -34402,7 +34447,7 @@ GetTrainerClassName: ; 3952d
ld [CurSpecies], a
ld a, TRAINER_NAME
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
call GetName
ld de, StringBuffer1
ret
@@ -34418,7 +34463,7 @@ GetTrainerClassName: ; 3952d
Function39550: ; 39550
ld hl, wd26b
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
jr nz, .ok
@@ -34429,12 +34474,12 @@ Function39550: ; 39550
ld [CurSpecies], a
ld a, TRAINER_NAME
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
call GetName
ld hl, StringBuffer1
.ok
- ld bc, $000d
+ ld bc, TRAINER_CLASS_NAME_LENGTH
ld de, OTName
push de
call CopyBytes
@@ -34449,7 +34494,7 @@ Function3957b: ; 3957b
ld a, [TrainerClass]
dec a
ld hl, TrainerClassAttributes
- ld bc, 7
+ ld bc, NUM_TRAINER_ATTRIBUTES
call AddNTimes
ld de, wc650
ld a, [hli]
@@ -34470,7 +34515,7 @@ ReadTrainerParty: ; 39771
bit 0, a
ret nz
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
ret nz
@@ -34902,7 +34947,7 @@ Function41a7f: ; 41a7f
ld [hl], $3b
inc hl
ld bc, $0013
- ld a, $7f
+ ld a, " "
call ByteFill
callba Function4424d
call EnableLCD
@@ -35024,7 +35069,7 @@ endr
cp EVOLVE_TRADE
jr z, .trade
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
jp nz, .asm_423f9
@@ -35101,7 +35146,7 @@ endr
.trade
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
jp z, .asm_423f9
@@ -35113,8 +35158,8 @@ endr
inc a
jr z, .asm_422fd
- ld a, [InLinkBattle]
- cp $1
+ ld a, [wLinkMode]
+ cp LINK_TIMECAPSULE
jp z, .asm_423fa
ld a, [TempMonItem]
@@ -35136,7 +35181,7 @@ endr
ld a, [wd1e9]
and a
jp z, .asm_423fa
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
jp nz, .asm_423fa
jr .asm_422fd
@@ -35203,7 +35248,7 @@ endr
push hl
ld hl, UnknownText_0x42478
call PrintTextBoxText
- callba Function106094
+ callba MobileFn_106094
ld de, MUSIC_NONE
call PlayMusic
@@ -35297,10 +35342,10 @@ Function423ff: ; 423ff
pop de
pop bc
pop hl
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
ret nz
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
and a
ret nz
ld a, [wd268]
@@ -35646,11 +35691,11 @@ AIChooseMove: ; 440ce
; Pick the move with the lowest score.
; Wildmons attack at random.
- ld a, [IsInBattle]
+ ld a, [wBattleMode]
dec a
ret z
- ld a, [InLinkBattle]
+ ld a, [wLinkMode]
and a
ret nz
@@ -36000,7 +36045,7 @@ endr
lb bc, 2, 36
call PrintNum
hlcoord 14, 7
- ld [hl], $5e
+ ld [hl], "<ROCKET>"
pop af
pop hl
@@ -36015,7 +36060,7 @@ endr
ld e, h
ld a, e
or d
- jr z, .asm_442cd
+ jr z, .skip
push de
ld hl, [sp+$0]
ld d, h
@@ -36025,8 +36070,8 @@ endr
call PrintNum
pop de
-.asm_442cd
- ld bc, $0512
+.skip
+ lb bc, 5, SCREEN_WIDTH - 2
hlcoord 2, 11
call ClearBox
hlcoord 1, 10
@@ -36034,13 +36079,13 @@ endr
ld a, $61
call ByteFill
hlcoord 1, 9
- ld [hl], $55
+ ld [hl], "<CONT>"
inc hl
- ld [hl], $55
+ ld [hl], "<CONT>"
hlcoord 1, 10
- ld [hl], $56
+ ld [hl], "<......>"
inc hl
- ld [hl], $57
+ ld [hl], "<DONE>"
pop de
inc de
pop af
@@ -36053,7 +36098,7 @@ endr
ret z
push bc
push de
- ld bc, $0512
+ lb bc, 5, SCREEN_WIDTH - 2
hlcoord 2, 11
call ClearBox
hlcoord 1, 10
@@ -36061,13 +36106,13 @@ endr
ld a, $61
call ByteFill
hlcoord 1, 9
- ld [hl], $55
+ ld [hl], "<CONT>"
inc hl
- ld [hl], $55
+ ld [hl], "<CONT>"
hlcoord 1, 10
- ld [hl], $56
+ ld [hl], "<......>"
inc hl
- ld [hl], $58
+ ld [hl], "<PROMPT>"
pop de
inc de
pop af
@@ -36125,25 +36170,25 @@ Function44355: ; 44355
push hl
ld h, d
ld l, e
-.asm_4435b
+.loop1
ld a, b
call GetFarByte
inc hl
- cp $50
- jr nz, .asm_4435b
+ cp "@"
+ jr nz, .loop1
rept 4
inc hl
endr
dec c
- jr z, .asm_44374
-.asm_4436b
+ jr z, .done
+.loop2
ld a, b
call GetFarByte
inc hl
- cp $50
- jr nz, .asm_4436b
+ cp "@"
+ jr nz, .loop2
-.asm_44374
+.done
ld d, h
ld e, l
pop hl
@@ -36164,23 +36209,23 @@ Function4456e: ; 4456e
call Function44648
cp $a
jr nc, .asm_445be
- ld bc, $002f
- ld hl, s0_a834 + 1
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
+ ld hl, s0_a835
call AddNTimes
ld d, h
ld e, l
ld a, [CurPartyMon]
- ld bc, $002f
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
ld hl, s0_a600
call AddNTimes
push hl
ld a, BANK(s0_a834)
call GetSRAMBank
- ld bc, $002f
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
call CopyBytes
pop hl
xor a
- ld bc, $002f
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
call ByteFill
ld a, PartyMon1Item - PartyMon1
call GetPartyParamLocation
@@ -36201,42 +36246,42 @@ Function445c0: ; 445c0 (11:45c0)
call GetSRAMBank
ld a, b
push bc
- ld hl, s0_a834 + 1
- ld bc, $2f
+ ld hl, s0_a835
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
call AddNTimes
push hl
add hl, bc
pop de
pop bc
-.asm_445d4
+.loop
ld a, b
cp $9
- jr z, .asm_445e4
+ jr z, .done
push bc
- ld bc, $2f
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
call CopyBytes
pop bc
inc b
- jr .asm_445d4
-.asm_445e4
+ jr .loop
+.done
ld h, d
ld l, e
xor a
- ld bc, $2f
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
call ByteFill
ld hl, s0_a834
dec [hl]
jp CloseSRAM
; 445f4 (11:45f4)
-Function445f4: ; 445f4
+ReadMailMessage: ; 445f4
ld a, b
- ld hl, s0_a834 + 1
- ld bc, $2f
+ ld hl, s0_a835
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
call AddNTimes
ld d, h
ld e, l
- callba Functionb9237
+ callba ReadAnyMail
ret
Function44607: ; 44607
@@ -36244,22 +36289,22 @@ Function44607: ; 44607
call GetSRAMBank
push bc
ld a, b
- ld bc, $2f
- ld hl, s0_a834 + 1
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
+ ld hl, s0_a835
call AddNTimes
push hl
ld a, [CurPartyMon]
- ld bc, $2f
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
ld hl, s0_a600
call AddNTimes
ld d, h
ld e, l
pop hl
push hl
- ld bc, $2f
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
call CopyBytes
pop hl
- ld de, $2e
+ ld de, PartyMon1StatsEnd - PartyMon1Moves
add hl, de
ld d, [hl]
ld a, [CurPartyMon]
@@ -36298,7 +36343,7 @@ Function44654:: ; 44654
call GetSRAMBank
ld a, [CurPartyMon]
ld hl, s0_a600
- ld bc, $002f
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
call AddNTimes
ld d, h
ld e, l
@@ -36312,7 +36357,7 @@ Function44654:: ; 44654
ld c, a
ld a, b
call GetFarByte
- cp $50
+ cp "@"
jr z, .asm_446ab
cp c
ld a, $0
@@ -36509,7 +36554,7 @@ InitMail: ; 0x447b9
Function447da: ; 0x447da
dec a
- ld hl, s0_a834 + 1 + $21
+ ld hl, s0_a835 + $21
ld bc, $002f
call AddNTimes
ld a, BANK(s0_a834)
@@ -36547,7 +36592,7 @@ Function44806: ; 0x44806
call Function352f
call UpdateSprites
ld a, [wd0f1]
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
ld a, [OBPals + 8 * 6]
ld [wd0e4], a
call Function350c
@@ -36592,7 +36637,7 @@ Function4484a: ; 0x4484a
ld a, [MenuSelection]
dec a
ld b, a
- call Function445f4
+ call ReadMailMessage
jp Function2b3c
; 0x44877
@@ -36639,7 +36684,7 @@ Function4484a: ; 0x4484a
ld a, BANK(s0_a834)
call GetSRAMBank
pop af
- ld hl, s0_a834 + 1 + $2e
+ ld hl, s0_a835 + $2e
ld bc, $002f
call AddNTimes
ld a, [hl]
@@ -36719,7 +36764,7 @@ MenuData4494c: ; 0x4494c
db 4, 0 ; rows/columns?
db 1 ; horizontal spacing?
dbw 0,wd0f2 ; text pointer
- dbw BANK(Function447fb), Function447fb
+ dba Function447fb
dbw 0,0
dbw 0,0
@@ -36753,6 +36798,7 @@ Function48000: ; 48000
ld [wd478], a
ld [DefaultFlypoint], a
ld [wd003], a
+ ; could have done "ld a, [wd479] \ and -4", saved four operations
ld a, [wd479]
res 0, a
ld [wd479], a
@@ -36787,11 +36833,11 @@ Function4802f: ; 4802f (12:402f)
call Function486bf
call Functione5f
ld de, GFX_488c3
- ld hl, $9100
+ ld hl, VTiles2 tile $10
lb bc, BANK(GFX_488c3), 1
call Request1bpp
ld de, GFX_488cb
- ld hl, $9110
+ ld hl, VTiles2 tile $11
lb bc, BANK(GFX_488cb), 1
call Request1bpp
call Function4a3a7
@@ -37065,7 +37111,7 @@ asm_4828d: ; 4828d (12:428d)
call WaitBGMap
ld a, [PlayerGender]
inc a
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
call Function1bc9
call PlayClickSFX
call ExitMenu
@@ -37109,7 +37155,7 @@ Function48304: ; 48304 (12:4304)
ld b, $c
ld c, $8
call Function48cdc
- ld a, [wcf88]
+ ld a, [wPocketCursorBuffer]
ld b, a
ld a, [wd0e4]
ld c, a
@@ -37120,7 +37166,7 @@ Function48304: ; 48304 (12:4304)
jr c, .asm_4833f
sub $29
inc a
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
ld a, $29
.asm_4833f
ld [wd0e4], a
@@ -37133,7 +37179,7 @@ Function48304: ; 48304 (12:4304)
ld d, a
pop bc
ld a, b
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
ld a, c
ld [wd0e4], a
ld a, d
@@ -37182,7 +37228,7 @@ Function48383: ; 48383 (12:4383)
.asm_483af
ld hl, wcfa9
ld a, [hl]
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
scf
.asm_483b7
pop bc
@@ -37580,10 +37626,10 @@ Function4876f: ; 4876f (12:476f)
call PlaceString
ld hl, MenuDataHeader_0x48509
call LoadMenuDataHeader
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
hlcoord 10, 5
ld b, $1
ld c, $8
@@ -37614,7 +37660,7 @@ Function4876f: ; 4876f (12:476f)
ld a, [wd473]
push af
.asm_487c6
- call Functiona57
+ call JoyTextDelay
call Function4880e
jr nc, .asm_487c6
ld a, $1
@@ -37629,7 +37675,7 @@ Function4876f: ; 4876f (12:476f)
hlcoord 11, 6
call Function487ec
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
jp Function4840c
Function487ec: ; 487ec (12:47ec)
@@ -37667,7 +37713,7 @@ Function4880e: ; 4880e (12:480e)
ld a, [hJoyPressed] ; $ff00+$a7
and B_BUTTON
jp nz, Function488b4
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .asm_48843
@@ -37783,10 +37829,10 @@ Function488d3: ; 488d3 (12:48d3)
jp c, Function4840c
ld hl, MenuDataHeader_0x4850e
call LoadMenuDataHeader
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
hlcoord 10, 9
ld b, $1
ld c, $8
@@ -37812,7 +37858,7 @@ Function488d3: ; 488d3 (12:48d3)
asm_48922: ; 48922 (12:4922)
push bc
- call Functiona57
+ call JoyTextDelay
ld a, [hJoyDown] ; $ff00+$a8
and a
jp z, Function4896e
@@ -37821,7 +37867,7 @@ asm_48922: ; 48922 (12:4922)
bit 1, a
jp nz, Function4896e
ld a, [DefaultFlypoint]
- and $cf
+ and %11001111
res 7, a
ld [DefaultFlypoint], a
pop bc
@@ -37854,7 +37900,7 @@ Function4895a: ; 4895a
jr asm_48972
.asm_48965
- ld a, [$ffa9]
+ ld a, [hJoyLast]
and a
jr z, asm_48972
@@ -37931,7 +37977,7 @@ asm_48972: ; 48972 (12:4972)
ld bc, $108
call ClearBox
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
jp Function4840c
Function489ea: ; 489ea (12:49ea)
@@ -38108,18 +38154,18 @@ Function48ab5: ; 48ab5 (12:4ab5)
dec a
jr .asm_48b25
.asm_48b2c
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $40
+ and D_UP
jr nz, .asm_48b8d
ld a, [hl]
- and $80
+ and D_DOWN
jr nz, .asm_48b55
ld a, [hl]
- and $20
+ and D_LEFT
jp nz, Function48bd7
ld a, [hl]
- and $10
+ and D_RIGHT
jr nz, .asm_48b9d
hlcoord 11, 10
call Function489ea
@@ -38593,7 +38639,7 @@ Function48d94: ; 48d94 (12:4d94)
ld [hl], a
ret
-AreYouABoyOrAreYouAGirl_Menu: ; 48dcb (12:4dcb)
+InitGender: ; 48dcb (12:4dcb)
call Function48e14
call Function48e47
call Function48e64
@@ -38601,7 +38647,7 @@ AreYouABoyOrAreYouAGirl_Menu: ; 48dcb (12:4dcb)
call SetPalettes
ld hl, TextJump_AreYouABoyOrAreYouAGirl
call PrintText
- ld hl, MenuDataHeader_BoyGirl
+ ld hl, .MenuDataHeader
call LoadMenuDataHeader
call Function3200
call InterpretMenu2
@@ -38609,20 +38655,20 @@ AreYouABoyOrAreYouAGirl_Menu: ; 48dcb (12:4dcb)
ld a, [wcfa9]
dec a
ld [PlayerGender], a
- ld c, $a
+ ld c, 10
call DelayFrames
ret
; 48dfc (12:4dfc)
-MenuDataHeader_BoyGirl: ; 0x48dfc
+.MenuDataHeader: ; 0x48dfc
db $40 ; flags
db 04, 06 ; start coords
db 09, 12 ; end coords
- dw MenuData2_BoyGirl
+ dw .MenuData2
db 1 ; default option
; 0x48e04
-MenuData2_BoyGirl: ; 0x48e04
+.MenuData2: ; 0x48e04
db $a1 ; flags
db 2 ; items
db "Boy@"
@@ -38648,11 +38694,11 @@ Function48e14: ; 48e14 (12:4e14)
call Function48000
call Functione5f
hlcoord 0, 0
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
ld a, $0
call ByteFill
hlcoord 0, 0, AttrMap
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
xor a
call ByteFill
ret
@@ -38676,7 +38722,7 @@ Palette_48e5c: ; 48e5c
Function48e64: ; 48e64 (12:4e64)
ld de, GFX_48e71
- ld hl, $9000
+ ld hl, VTiles2 tile $00
lb bc, BANK(GFX_48e71), 1
call Get2bpp
ret
@@ -38686,7 +38732,7 @@ GFX_48e71: ; 48e71
INCBIN "gfx/unknown/048e71.2bpp"
-Function48e81: ; 48e81
+DrawKrisPackGFX: ; 48e81
ld hl, PackFGFXPointers
rept 2
add hl, de
@@ -38694,7 +38740,7 @@ endr
ld a, [hli]
ld e, a
ld d, [hl]
- ld hl, $9500
+ ld hl, VTiles2 tile $50
lb bc, BANK(PackFGFX), 15
call Request2bpp
ret
@@ -38719,7 +38765,7 @@ Function4925b: ; 4925b
ld b, $14
call GetSGBLayout
xor a
- ld [wd142], a
+ ld [wItemAttributeParamBuffer], a
call Function492a5
ld [wd265], a
ld [wd262], a
@@ -38871,7 +38917,7 @@ Function49336: ; 49336
Function49346: ; 49346 (12:5346)
hlcoord 0, 0, AttrMap
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
xor a
call ByteFill
ret
@@ -38929,7 +38975,7 @@ Function49384: ; 49384 (12:5384)
ld a, $3
call Function49336
hlcoord 0, 12, AttrMap
- ld bc, $78
+ ld bc, 6 * SCREEN_WIDTH
ld a, $7
call ByteFill
ret
@@ -39001,7 +39047,7 @@ Function4942f: ; 4942f
xor a
call ByteFill
hlcoord 0, 14, AttrMap
- ld bc, $0050
+ ld bc, 4 * SCREEN_WIDTH
ld a, $7
call ByteFill
ld a, [DefaultFlypoint]
@@ -39344,8 +39390,8 @@ Function49797: ; 49797
ld a, $4
call Function49336
ld a, $3
- ldcoord 0, 1, AttrMap
- ldcoord 0, 14, AttrMap
+ ldcoord_a 0, 1, AttrMap
+ ldcoord_a 0, 14, AttrMap
hlcoord 2, 0, AttrMap
ld bc, $0812
ld a, $5
@@ -39385,7 +39431,7 @@ endr
ld [hl], a
hlcoord 2, 17, AttrMap
ld a, $3
- ld bc, $0006
+ ld bc, 6
call ByteFill
ret
; 49811
@@ -39471,7 +39517,7 @@ Special_CelebiShrineEvent: ; 4989a
ld [wcf64], a
ld d, $0
.loop
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .done
push bc
@@ -39522,11 +39568,11 @@ LoadCelebiGFX: ; 49912
lb bc, BANK(SpecialCelebiLeafGFX), 4
call Request2bpp
ld de, SpecialCelebiGFX
- ld hl, $8840
+ ld hl, VTiles1 tile $04
lb bc, BANK(SpecialCelebiGFX), $10
call Request2bpp
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 49935
@@ -39539,7 +39585,7 @@ Function49935: ; 49935
ret
.asm_4993e
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
; 49944
@@ -39787,7 +39833,7 @@ Function49bf3: ; 49bf3
; 49bf9
Function49bf9: ; 49bf9
- ld a, [wd0ee]
+ ld a, [wBattleResult]
bit 6, a
jr z, .asm_49c07
ld a, $1
@@ -40074,7 +40120,7 @@ Function49e3d: ; 49e3d
decoord 4, 16
ld a, [hHours]
ld c, a
- callba Function90b3e
+ callba PrintHour
ld [hl], ":"
inc hl
ld de, hMinutes
@@ -40137,7 +40183,7 @@ Function49ed0: ; 49ed0
call ClearTileMap
call Functione5f
call Functione51
- call Function1fbf
+ call ResetTextRelatedRAM
ret
; 49ee0
@@ -40617,7 +40663,7 @@ Function4a28a: ; 4a28a (12:628a)
call CloseSRAM
ld hl, UnknownText_0x4a35d
call PrintText
- call Functiona36
+ call JoyWaitAorB
.asm_4a338
call ExitMenu
.asm_4a33b
@@ -40769,17 +40815,17 @@ Function4a3aa: ; 4a3aa
; 4a449 (12:6449)
Function4a449: ; 4a449
- ld bc, $003c
+ ld bc, 3 * SCREEN_WIDTH
ld a, $0
hlcoord 0, 0
call ByteFill
- ld bc, $0028
+ ld bc, 2 * SCREEN_WIDTH
ld a, $1
call ByteFill
- ld bc, $0028
+ ld bc, 2 * SCREEN_WIDTH
ld a, $0
call ByteFill
- ld bc, $0028
+ ld bc, 2 * SCREEN_WIDTH
ld a, $1
call ByteFill
ld bc, SCREEN_WIDTH
@@ -40789,14 +40835,14 @@ Function4a449: ; 4a449
ld a, $3
call ByteFill
ld bc, SCREEN_WIDTH
- ld a, $7f
+ ld a, " "
call ByteFill
ret
; 4a485
Function4a485: ; 4a485 (12:6485)
ld de, GFX_49c0c
- ld hl, $9000
+ ld hl, VTiles2 tile $00
lb bc, BANK(GFX_49c0c), $d
call Get2bpp
ret
@@ -41308,11 +41354,11 @@ BoxAddressTable1: ; 4a810
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; 4a83a
UpdateOTPointer: ; 0x4a83a
@@ -41470,11 +41516,11 @@ BoxAddressTable2: ; 4a8f4
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; 4a91e
Function4a91e: ; 4a91e
@@ -41513,9 +41559,9 @@ Function4a927: ; 4a927
Function4a94e: ; 4a94e
call FadeToMenu
- ld a, $ff
+ ld a, -1
ld hl, DefaultFlypoint
- ld bc, $0003
+ ld bc, 3
call ByteFill
xor a
ld [wd018], a
@@ -41549,8 +41595,8 @@ Function4a94e: ; 4a94e
.asm_4a990
call Function2b3c
ld hl, DefaultFlypoint
- ld a, $ff
- ld bc, $0003
+ ld a, -1
+ ld bc, 3
call ByteFill
scf
jr .asm_4a9af
@@ -41767,15 +41813,15 @@ Function4aad3: ; 4aad3
ld c, a
xor a
- ld [$ffb0], a
+ ld [hConnectedMapWidth], a
.loop
push bc
push hl
ld e, 0
callba Function8e83f
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
inc a
- ld [$ffb0], a
+ ld [hConnectedMapWidth], a
pop hl
pop bc
dec c
@@ -42062,20 +42108,20 @@ Function4acaa: ; 4acaa
ld a, $2
ld [wcf92], a
ld a, $c
- ld [wcf82], a
+ ld [wMenuBorderTopCoord], a
jr .asm_4accc
.asm_4acc2
ld a, $4
ld [wcf92], a
ld a, $8
- ld [wcf82], a
+ ld [wMenuBorderTopCoord], a
.asm_4accc
ld a, $b
- ld [wcf83], a
+ ld [wMenuBorderLeftCoord], a
ld a, $1
- ld [wcf88], a
+ ld [wPocketCursorBuffer], a
call Function1c10
ld hl, wcfa5
set 6, [hl]
@@ -42283,14 +42329,14 @@ Function4ae1f: ; 4ae1f
call CopyMenuDataHeader
pop bc
ld a, b
- ld [wcf83], a
+ ld [wMenuBorderLeftCoord], a
add $5
- ld [wcf85], a
+ ld [wMenuBorderRightCoord], a
ld a, c
- ld [wcf82], a
+ ld [wMenuBorderTopCoord], a
add $4
- ld [wcf84], a
- call Function1c00
+ ld [wMenuBorderBottomCoord], a
+ call BackUpTiles
call InterpretMenu2
push af
ld c, $f
@@ -42428,59 +42474,59 @@ TileCollisionTable:: ; 4ce1f
; 11 talkable water
; 1f talkable wall
- db $00, $00, $00, $00, $00, $00, $00, $0f
- db $00, $00, $00, $00, $00, $00, $00, $0f
- db $00, $00, $1f, $00, $00, $1f, $00, $00
- db $00, $00, $1f, $00, $00, $1f, $00, $00
- db $01, $01, $11, $00, $11, $01, $01, $0f
- db $01, $01, $11, $00, $11, $01, $01, $0f
- db $01, $01, $01, $01, $01, $01, $01, $01
- db $01, $01, $01, $01, $01, $01, $01, $01
-
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $0f, $00, $00, $00, $00, $00
- db $00, $00, $0f, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
-
- db $0f, $0f, $0f, $0f, $0f, $00, $00, $00
- db $0f, $0f, $0f, $0f, $0f, $00, $00, $00
- db $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f
- db $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
-
- db $01, $01, $01, $01, $01, $01, $01, $01
- db $01, $01, $01, $01, $01, $01, $01, $01
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $0f
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + WATRTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + WATRTILE
+ db NULL + LANDTILE, NULL + LANDTILE, TALK + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, TALK + WATRTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, TALK + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, TALK + WATRTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + WALLTILE, NULL + WALLTILE, TALK + WALLTILE, NULL + LANDTILE, TALK + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WATRTILE
+ db NULL + WALLTILE, NULL + WALLTILE, TALK + WALLTILE, NULL + LANDTILE, TALK + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WATRTILE
+ db NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE
+ db NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE
+
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+
+ db NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE
+ db NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE, NULL + WATRTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+
+ db NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE
+ db NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE, NULL + WALLTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE
+ db NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + LANDTILE, NULL + WATRTILE
; 4cf1f
-Function4cf1f: ; 4cf1f
+EmptyAllSRAMBanks: ; 4cf1f
ld a, $0
- call Function4cf34
+ call .EmptyBank
ld a, $1
- call Function4cf34
+ call .EmptyBank
ld a, $2
- call Function4cf34
+ call .EmptyBank
ld a, $3
- call Function4cf34
+ call .EmptyBank
ret
; 4cf34
-Function4cf34: ; 4cf34
+.EmptyBank: ; 4cf34
call GetSRAMBank
- ld hl, $a000
- ld bc, $2000
+ ld hl, SRAM_Begin
+ ld bc, SRAM_End - SRAM_Begin
xor a
call ByteFill
call CloseSRAM
@@ -42492,6 +42538,8 @@ Function4cf45: ; 4cf45 (13:4f45)
ld a, [hCGB] ; $ff00+$e6
and a
jp z, WaitBGMap
+
+; The following is a modified version of Function3246.
ld a, [hBGMapMode] ; $ff00+$d4
push af
xor a
@@ -42500,24 +42548,26 @@ Function4cf45: ; 4cf45 (13:4f45)
push af
xor a
ld [$ffde], a
-.asm_4cf57
+.WaitLY
ld a, [rLY] ; $ff00+$44
cp $60
- jr c, .asm_4cf57
+ jr c, .WaitLY
+
di
- ld a, $1
+ ld a, 1 ; BANK(VBGMap2)
ld [rVBK], a ; $ff00+$4f
hlcoord 0, 0, AttrMap
call Function4cf80
- ld a, $0
+ ld a, 0 ; BANK(VBGMap0)
ld [rVBK], a ; $ff00+$4f
hlcoord 0, 0
call Function4cf80
-.asm_4cf72
+.WaitLY2
ld a, [rLY] ; $ff00+$44
cp $60
- jr c, .asm_4cf72
+ jr c, .WaitLY2
ei
+
pop af
ld [$ffde], a
pop af
@@ -42527,113 +42577,37 @@ Function4cf45: ; 4cf45 (13:4f45)
Function4cf80: ; 4cf80 (13:4f80)
ld [hSPBuffer], sp ; $ffd9
ld sp, hl
- ld a, [$ffd7]
+ ld a, [hBGMapAddress + 1]
ld h, a
- ld l, $0
- ld a, $12
+ ld l, 0
+ ld a, SCREEN_HEIGHT
ld [$ffd3], a
- ld b, $2
- ld c, $41
-.asm_4cf91
- pop de
-.asm_4cf92
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4cf92
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4cf9b
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4cf9b
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4cfa4
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4cfa4
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4cfad
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4cfad
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4cfb6
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4cfb6
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4cfbf
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4cfbf
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4cfc8
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4cfc8
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4cfd1
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4cfd1
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4cfda
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4cfda
- ld [hl], e
- inc l
- ld [hl], d
- inc l
+ ld b, 1 << 1
+ ld c, rSTAT % $100
+
+.loop
+rept SCREEN_WIDTH / 2
pop de
-.asm_4cfe3
+.loop\@
ld a, [$ff00+c]
and b
- jr nz, .asm_4cfe3
+ jr nz, .loop\@
ld [hl], e
inc l
ld [hl], d
inc l
- ld de, $c
+endr
+
+ ld de, $20 - SCREEN_WIDTH
add hl, de
ld a, [$ffd3]
dec a
ld [$ffd3], a
- jr nz, .asm_4cf91
+ jr nz, .loop
+
ld a, [hSPBuffer] ; $ff00+$d9
ld l, a
- ld a, [$ffda]
+ ld a, [hSPBuffer + 1]
ld h, a
ld sp, hl
ret
@@ -42648,15 +42622,15 @@ Function4cffe:: ; 4cffe
ld c, a
call CloseSRAM
ld a, b
- cp $63
- jr nz, .asm_4d01b
+ cp 99
+ jr nz, .ok
ld a, c
- cp $7f
- jr nz, .asm_4d01b
+ cp " "
+ jr nz, .ok
ld c, $1
ret
-.asm_4d01b
+.ok
ld c, $0
ret
; 4d01e
@@ -42711,6 +42685,8 @@ Function4d188: ; 4d188
ld a, [wc2ce]
cp $0
jp z, WaitBGMap
+
+; What follows is a modified version of Function3246.
ld a, [hBGMapMode]
push af
xor a
@@ -42719,24 +42695,26 @@ Function4d188: ; 4d188
push af
xor a
ld [$ffde], a
-.asm_4d1a2
+.wait
ld a, [rLY]
cp $8f
- jr c, .asm_4d1a2
+ jr c, .wait
+
di
- ld a, $1
+ ld a, 1 ; BANK(VBGMap2)
ld [rVBK], a
hlcoord 0, 0, AttrMap
call Function4d1cb
- ld a, $0
+ ld a, 0 ; BANK(VBGMap0)
ld [rVBK], a
hlcoord 0, 0
call Function4d1cb
-.asm_4d1bd
+.wait2
ld a, [rLY]
cp $8f
- jr c, .asm_4d1bd
+ jr c, .wait2
ei
+
pop af
ld [$ffde], a
pop af
@@ -42747,113 +42725,37 @@ Function4d188: ; 4d188
Function4d1cb: ; 4d1cb
ld [hSPBuffer], sp
ld sp, hl
- ld a, [$ffd7]
+ ld a, [hBGMapAddress + 1]
ld h, a
- ld l, $0
- ld a, $12
+ ld l, 0
+ ld a, SCREEN_HEIGHT
ld [$ffd3], a
- ld b, $2
- ld c, $41
-.asm_4d1dc
- pop de
-.asm_4d1dd
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4d1dd
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4d1e6
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4d1e6
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4d1ef
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4d1ef
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4d1f8
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4d1f8
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4d201
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4d201
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4d20a
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4d20a
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4d213
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4d213
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4d21c
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4d21c
- ld [hl], e
- inc l
- ld [hl], d
- inc l
- pop de
-.asm_4d225
- ld a, [$ff00+c]
- and b
- jr nz, .asm_4d225
- ld [hl], e
- inc l
- ld [hl], d
- inc l
+ ld b, 1 << 1 ; not in v/hblank
+ ld c, rSTAT % $100
+
+.loop
+rept SCREEN_WIDTH / 2
pop de
-.asm_4d22e
+.loop\@
ld a, [$ff00+c]
and b
- jr nz, .asm_4d22e
+ jr nz, .loop\@
ld [hl], e
inc l
ld [hl], d
inc l
- ld de, $000c
+endr
+
+ ld de, $20 - SCREEN_WIDTH
add hl, de
ld a, [$ffd3]
dec a
ld [$ffd3], a
- jr nz, .asm_4d1dc
+ jr nz, .loop
+
ld a, [hSPBuffer]
ld l, a
- ld a, [$ffda]
+ ld a, [hSPBuffer + 1]
ld h, a
ld sp, hl
ret
@@ -42910,19 +42812,19 @@ rept 2
inc c
endr
ld a, $7
-.asm_4d36e
+.row
push bc
push hl
-.asm_4d370
+.col
ld [hli], a
dec c
- jr nz, .asm_4d370
+ jr nz, .col
pop hl
ld de, SCREEN_WIDTH
add hl, de
pop bc
dec b
- jr nz, .asm_4d36e
+ jr nz, .row
ret
; 4d37e
@@ -42937,36 +42839,36 @@ Function4d37e: ; 4d37e
pop hl
ld de, SCREEN_WIDTH
add hl, de
-.asm_4d38d
+.loop
push hl
- ld a, $79
+ ld a, "┌"
ld [hli], a
- ld a, $7f
+ ld a, " "
call Function4d3ab
- ld [hl], $7a
+ ld [hl], "─"
pop hl
ld de, SCREEN_WIDTH
add hl, de
dec b
- jr nz, .asm_4d38d
- ld a, $7b
+ jr nz, .loop
+ ld a, "┐"
ld [hli], a
- ld a, $7c
+ ld a, "│"
call Function4d3ab
- ld [hl], $7d
+ ld [hl], "└"
ret
; 4d3ab
Function4d3ab: ; 4d3ab
ld d, c
-.asm_4d3ac
+.loop
ld [hli], a
dec d
- jr nz, .asm_4d3ac
+ jr nz, .loop
ret
; 4d3b1
-Function4d3b1: ; 4d3b1
+_ResetClock: ; 4d3b1
callba Function8000
ld b, $8
call GetSGBLayout
@@ -42974,129 +42876,129 @@ Function4d3b1: ; 4d3b1
call Functione5f
ld de, MUSIC_MAIN_MENU
call PlayMusic
- ld hl, UnknownText_0x4d408
+ ld hl, .text_askreset
call PrintText
- ld hl, MenuDataHeader_0x4d40d
+ ld hl, .NoYes_MenuDataHeader
call CopyMenuDataHeader
call InterpretMenu2
ret c
ld a, [wcfa9]
cp $1
ret z
- call Function4d41e
- jr c, .asm_4d3f7
+ call ClockResetPassword
+ jr c, .wrongpassword
ld a, BANK(s0_ac60)
call GetSRAMBank
ld a, $80
ld [s0_ac60], a
call CloseSRAM
- ld hl, UnknownText_0x4d3fe
+ ld hl, .text_okay
call PrintText
ret
-.asm_4d3f7
- ld hl, UnknownText_0x4d403
+.wrongpassword
+ ld hl, .text_wrong
call PrintText
ret
; 4d3fe
-UnknownText_0x4d3fe: ; 0x4d3fe
+.text_okay: ; 0x4d3fe
; Password OK. Select CONTINUE & reset settings.
text_jump UnknownText_0x1c55db
db "@"
; 0x4d403
-UnknownText_0x4d403: ; 0x4d403
+.text_wrong: ; 0x4d403
; Wrong password!
text_jump UnknownText_0x1c560b
db "@"
; 0x4d408
-UnknownText_0x4d408: ; 0x4d408
+.text_askreset: ; 0x4d408
; Reset the clock?
text_jump UnknownText_0x1c561c
db "@"
; 0x4d40d
-MenuDataHeader_0x4d40d: ; 0x4d40d
+.NoYes_MenuDataHeader: ; 0x4d40d
db $00 ; flags
db 07, 14 ; start coords
db 11, 19 ; end coords
- dw MenuData2_0x4d415
+ dw .NoYes_MenuData2
db 1 ; default option
; 0x4d415
-MenuData2_0x4d415: ; 0x4d415
+.NoYes_MenuData2: ; 0x4d415
db $c0 ; flags
db 2 ; items
db "NO@"
db "YES@"
; 0x4d41e
-Function4d41e: ; 4d41e
- call Function4d50f
+ClockResetPassword: ; 4d41e
+ call .CalculatePassword
push de
ld hl, StringBuffer2
- ld bc, $0005
+ ld bc, 5
xor a
call ByteFill
ld a, $4
ld [StringBuffer2 + 5], a
- ld hl, UnknownText_0x4d463
+ ld hl, .pleaseenterpasswordtext
call PrintText
-.asm_4d437
- call Function4d468
-.asm_4d43a
- call Functiona57
- ld a, [$ffa9]
+.loop
+ call .updateIDdisplay
+.loop2
+ call JoyTextDelay
+ ld a, [hJoyLast]
ld b, a
- and $1
- jr nz, .asm_4d453
+ and A_BUTTON
+ jr nz, .confirm
ld a, b
- and $f0
- jr z, .asm_4d43a
- call Function4d490
+ and D_PAD
+ jr z, .loop2
+ call .dpadinput
ld c, $3
call DelayFrames
- jr .asm_4d437
+ jr .loop
-.asm_4d453
- call Function4d4e0
+.confirm
+ call .ConvertDecIDToBytes
pop de
ld a, e
cp l
- jr nz, .asm_4d461
+ jr nz, .nope
ld a, d
cp h
- jr nz, .asm_4d461
+ jr nz, .nope
and a
ret
-.asm_4d461
+.nope
scf
ret
; 4d463
-UnknownText_0x4d463: ; 0x4d463
+.pleaseenterpasswordtext: ; 0x4d463
; Please enter the password.
text_jump UnknownText_0x1c562e
db "@"
; 0x4d468
-Function4d468: ; 4d468
+.updateIDdisplay: ; 4d468
hlcoord 14, 15
ld de, StringBuffer2
- ld c, $5
-.asm_4d470
+ ld c, 5
+.loop3
ld a, [de]
- add $f6
+ add "0"
ld [hli], a
inc de
dec c
- jr nz, .asm_4d470
+ jr nz, .loop3
hlcoord 14, 16
- ld bc, $0005
- ld a, $7f
+ ld bc, 5
+ ld a, " "
call ByteFill
hlcoord 14, 16
ld a, [StringBuffer2 + 5]
@@ -43107,22 +43009,22 @@ Function4d468: ; 4d468
ret
; 4d490
-Function4d490: ; 4d490
+.dpadinput: ; 4d490
ld a, b
- and $20
- jr nz, .asm_4d4a5
+ and D_LEFT
+ jr nz, .left
ld a, b
- and $10
- jr nz, .asm_4d4af
+ and D_RIGHT
+ jr nz, .right
ld a, b
- and $40
- jr nz, .asm_4d4ba
+ and D_UP
+ jr nz, .up
ld a, b
- and $80
- jr nz, .asm_4d4c8
+ and D_DOWN
+ jr nz, .down
ret
-.asm_4d4a5
+.left
ld a, [StringBuffer2 + 5]
and a
ret z
@@ -43130,7 +43032,7 @@ Function4d490: ; 4d490
ld [StringBuffer2 + 5], a
ret
-.asm_4d4af
+.right
ld a, [StringBuffer2 + 5]
cp $4
ret z
@@ -43138,34 +43040,34 @@ Function4d490: ; 4d490
ld [StringBuffer2 + 5], a
ret
-.asm_4d4ba
- call Function4d4d5
+.up
+ call .getcurrentdigit
ld a, [hl]
- cp $9
- jr z, .asm_4d4c5
+ cp 9
+ jr z, .wraparound_up
inc a
ld [hl], a
ret
-.asm_4d4c5
+.wraparound_up
ld [hl], $0
ret
-.asm_4d4c8
- call Function4d4d5
+.down
+ call .getcurrentdigit
ld a, [hl]
and a
- jr z, .asm_4d4d2
+ jr z, .wraparound_down
dec a
ld [hl], a
ret
-.asm_4d4d2
- ld [hl], $9
+.wraparound_down
+ ld [hl], 9
ret
; 4d4d5
-Function4d4d5: ; 4d4d5
+.getcurrentdigit: ; 4d4d5
ld a, [StringBuffer2 + 5]
ld e, a
ld d, $0
@@ -43174,19 +43076,19 @@ Function4d4d5: ; 4d4d5
ret
; 4d4e0
-Function4d4e0: ; 4d4e0
+.ConvertDecIDToBytes: ; 4d4e0
ld hl, 0
ld de, StringBuffer2 + 4
ld bc, 1
- call Function4d501
+ call .ConvertToBytes
ld bc, 10
- call Function4d501
+ call .ConvertToBytes
ld bc, 100
- call Function4d501
+ call .ConvertToBytes
ld bc, 1000
- call Function4d501
+ call .ConvertToBytes
ld bc, 10000
-Function4d501: ; 4d501
+.ConvertToBytes: ; 4d501
ld a, [de]
dec de
push hl
@@ -43199,25 +43101,24 @@ Function4d501: ; 4d501
ret
; 4d50f
-Function4d50f: ; 4d50f
+.CalculatePassword: ; 4d50f
ld a, BANK(sPlayerData)
call GetSRAMBank
ld de, $0000
- ld hl, sPlayerData + PlayerID - wPlayerData
+ ld hl, sPlayerData + (PlayerID - wPlayerData)
ld c, $2
- call Function4d533
- ld hl, sPlayerData + PlayerName - wPlayerData
+ call .ComponentFromNumber
+ ld hl, sPlayerData + (PlayerName - wPlayerData)
ld c, $5
- call Function4d53e
- ld hl, sPlayerData + Money - wPlayerData
+ call .ComponentFromString
+ ld hl, sPlayerData + (Money - wPlayerData)
ld c, $3
- call Function4d533
+ call .ComponentFromNumber
call CloseSRAM
ret
; 4d533
-Function4d533: ; 4d533
-.asm_4d533
+.ComponentFromNumber: ; 4d533
ld a, [hli]
add e
ld e, a
@@ -43225,12 +43126,11 @@ Function4d533: ; 4d533
adc d
ld d, a
dec c
- jr nz, .asm_4d533
+ jr nz, .ComponentFromNumber
ret
; 4d53e
-Function4d53e: ; 4d53e
-.asm_4d53e
+.ComponentFromString: ; 4d53e
ld a, [hli]
cp "@"
ret z
@@ -43240,7 +43140,7 @@ Function4d53e: ; 4d53e
adc d
ld d, a
dec c
- jr nz, .asm_4d53e
+ jr nz, .ComponentFromString
ret
; 4d54c
@@ -43261,7 +43161,7 @@ Function4d54c: ; 4d54c
ld a, [wcfa9]
cp $1
ret z
- callba Function4cf1f
+ callba EmptyAllSRAMBanks
ret
; 4d580
@@ -43535,7 +43435,7 @@ endr
ld a, [ScriptVar]
and a
ret z ; found nothing
- callba Function1060cd
+ callba MobileFn_1060cd
ld a, [wFoundMatchingIDInParty]
and a
push af
@@ -43634,11 +43534,11 @@ endr
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; 4d9c9
.FoundPartymonText: ; 0x4d9c9
@@ -43653,7 +43553,7 @@ endr
db "@"
; 0x4d9d3
-Function4d9d3: ; 4d9d3
+Special_PrintTodaysLuckyNumber: ; 4d9d3
ld hl, StringBuffer3
ld de, wLuckyIDNumber
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
@@ -44064,11 +43964,11 @@ RetroactivelyIgnoreEggs: ; 4dc67
Function4dc7b: ; 4dc7b (13:5c7b)
- ld a, [InLinkBattle]
- cp $4
+ ld a, [wLinkMode]
+ cp LINK_MOBILE
jr nz, StatsScreenInit
- ld a, [IsInBattle] ; wd22d (aliases: EnemyMonEnd)
+ ld a, [wBattleMode] ; wd22d (aliases: EnemyMonEnd)
and a
jr z, StatsScreenInit
jr Function4dc8f
@@ -44088,7 +43988,7 @@ StatsScreenInit_gotaddress: ; 4dc94
ld [$ffde], a ; disable overworld tile animations
ld a, [wc2c6] ; whether sprite is to be mirrorred
push af
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld b, a
ld a, [wcf64]
ld c, a
@@ -44107,7 +44007,7 @@ StatsScreenInit_gotaddress: ; 4dc94
; restore old values
ld a, b
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld a, c
ld [wcf64], a
pop af
@@ -44119,19 +44019,19 @@ StatsScreenInit_gotaddress: ; 4dc94
StatsScreenMain: ; 0x4dcd2
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld [wcf64], a
ld a, [wcf64]
and $fc
or $1
ld [wcf64], a
.loop ; 4dce3
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
and $7f
ld hl, StatsScreenPointerTable
rst JumpTable
call Function4dd3a ; check for keys?
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr z, .loop
ret
@@ -44139,7 +44039,7 @@ StatsScreenMain: ; 0x4dcd2
StatsScreenBattle: ; 4dcf7
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld [wcf64], a
ld a, [wcf64]
and $fc
@@ -44147,14 +44047,14 @@ StatsScreenBattle: ; 4dcf7
ld [wcf64], a
.asm_4dd08
callba Function100dd2
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
and $7f
ld hl, StatsScreenPointerTable
rst JumpTable
call Function4dd3a
callba Function100dfd
jr c, .asm_4dd29
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr z, .asm_4dd08
@@ -44194,14 +44094,14 @@ Function4dd3a: ; 4dd3a (13:5d3a)
ret
Function4dd62: ; 4dd62 (13:5d62)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
and $80
or h
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function4dd6c: ; 4dd6c (13:5d6c)
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -44228,9 +44128,9 @@ Function4dd72: ; 4dd72 (13:5d72)
EggStatsInit: ; 4dda1
call EggStatsScreen
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
inc a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 0x4ddac
@@ -44255,9 +44155,9 @@ Function4ddc6: ; 4ddc6 (13:5dc6)
call Function4dfb6
ld hl, wcf64
res 4, [hl]
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
inc a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function4ddd6: ; 4ddd6 (13:5dd6)
@@ -44273,9 +44173,9 @@ Function4ddd6: ; 4ddd6 (13:5dd6)
Function4dde6: ; 4dde6 (13:5de6)
call IsSFXPlaying
ret nc
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
inc a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function4ddf2: ; 4ddf2 (13:5df2)
@@ -44746,7 +44646,7 @@ Function4e147: ; 4e147 (13:6147)
hlcoord 0, 10
call PlaceString
ld hl, TempMonMoves
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld bc, NUM_MOVES
call CopyBytes
hlcoord 8, 10
@@ -44906,7 +44806,7 @@ Function4e289: ; 4e289 (13:6289)
call IsAPokemon
ret c
call Function4e307
- ld de, $9000
+ ld de, VTiles2 tile $00
predef Function5108b
hlcoord 0, 0
ld d, $0
@@ -44994,7 +44894,7 @@ Function4e307: ; 4e307 (13:6307)
ld [rVBK], a ; $ff00+$4f
ld de, GFX_f9204
lb bc, BANK(GFX_f9204), 1
- ld hl, $97f0
+ ld hl, VTiles2 tile $7f
call Get2bpp
pop af
ld [rVBK], a ; $ff00+$4f
@@ -45109,7 +45009,7 @@ Function4e497: ; 4e497 (13:6497)
ld a, $1
ld [wc2c6], a
call Function4e307
- ld de, $9000
+ ld de, VTiles2 tile $00
predef Function5108b
pop de
hlcoord 0, 0
@@ -45358,7 +45258,7 @@ _EvolutionAnimation: ; 4e607
call Function4e708
ld de, VTiles2
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld bc, $0031
call Request2bpp
@@ -45541,10 +45441,10 @@ Function4e779: ; 4e779
.asm_4e779
call DelayFrame
push bc
- call Functiona57
+ call JoyTextDelay
ld a, [hJoyDown]
pop bc
- and $2
+ and B_BUTTON
jr nz, .asm_4e78c
.asm_4e787
dec c
@@ -45576,7 +45476,7 @@ Function4e7a6: ; 4e7a6
ret nz
ld de, SFX_EVOLVED
call PlaySFX
- ld hl, wcf63
+ ld hl, wJumptableIndex
ld a, [hl]
push af
ld [hl], $0
@@ -45593,12 +45493,12 @@ Function4e7a6: ; 4e7a6
dec c
jr nz, .asm_4e7c4
pop af
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 4e7cf
Function4e7cf: ; 4e7cf
- ld hl, wcf63
+ ld hl, wJumptableIndex
ld a, [hl]
cp $20
ret nc
@@ -45623,7 +45523,7 @@ Function4e7e8: ; 4e7e8
call Function3b2a
ld hl, $000b
add hl, bc
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
and $e
sla a
pop de
@@ -45676,10 +45576,10 @@ Function4e881: ; 4e881
call ClearSprites
call DisableLCD
call Functione51
- call Functione58
+ call LoadFontsBattleExtra
ld hl, VBGMap0
- ld bc, $400
- ld a, $7f
+ ld bc, VBGMap1 - VBGMap0
+ ld a, " "
call ByteFill
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
@@ -45709,10 +45609,10 @@ Function4e8c2: ; 4e8c2
call ClearSprites
call DisableLCD
call Functione51
- call Functione58
+ call LoadFontsBattleExtra
ld hl, VBGMap0
- ld bc, $400
- ld a, $7f
+ ld bc, VBGMap1 - VBGMap0
+ ld a, " "
call ByteFill
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
@@ -45721,9 +45621,9 @@ Function4e8c2: ; 4e8c2
ld hl, wd000
ld c, $40
.asm_4e8ee
- ld a, $ff
+ ld a, -1
ld [hli], a
- ld a, $7f
+ ld a, " "
ld [hli], a
dec c
jr nz, .asm_4e8ee
@@ -45742,8 +45642,8 @@ Function4e906: ; 4e906
ld a, $6
ld [rSVBK], a
ld hl, w6_d000
- ld bc, $400
- ld a, $7f
+ ld bc, w6_d400 - w6_d000
+ ld a, " "
call ByteFill
ld hl, VBGMap0
ld de, w6_d000
@@ -45926,7 +45826,7 @@ endr
Function4e9e5: ; 4e9e5
ld hl, LYOverrides
ld a, $90
- ld bc, $0090
+ ld bc, SCREEN_HEIGHT_PX
call ByteFill
ret
; 4e9f1
@@ -45990,9 +45890,9 @@ CheckBattleScene: ; 4ea44
; Return carry if battle scene is turned off.
ld a, 0
- ld hl, InLinkBattle
+ ld hl, wLinkMode
call GetFarWRAMByte
- cp 4
+ cp LINK_MOBILE
jr z, .mobile
ld a, [Options]
@@ -46044,7 +45944,7 @@ INCLUDE "event/poke_seer.asm"
SECTION "bank14", ROMX, BANK[$14]
SelectMonFromParty: ; 50000
- call Function2ed3
+ call DisableSpriteUpdates
xor a
ld [PartyMenuActionText], a
call WhiteBGMap
@@ -46061,7 +45961,7 @@ SelectMonFromParty: ; 50000
Function5001d: ; 5001d
ld a, b
ld [PartyMenuActionText], a
- call Function2ed3
+ call DisableSpriteUpdates
call WhiteBGMap
call Function5003f
call WaitBGMap
@@ -46084,9 +45984,9 @@ Function5003f: ; 5003f
; 5004f
Function5004f: ; 5004f
- call Functione58
- callab Function8ad1
- callab Function8e814
+ call LoadFontsBattleExtra
+ callab Function8ad1 ; engine/color.asm
+ callab InefficientlyClear121BytesAtwc300
ret
; 5005f
@@ -46305,7 +46205,7 @@ Function50176: ; 50176
ld a, [de]
cp 100 ; This is distinct from MAX_LEVEL.
jr nc, .asm_501a1
- ld a, LV_CHAR
+ ld a, "<LV>"
ld [hli], a
ld bc, $4102
.asm_501a1
@@ -46698,7 +46598,7 @@ Function503e0: ; 503e0
ret z
ld c, a
xor a
- ld [$ffb0], a
+ ld [hConnectedMapWidth], a
.asm_503ea
push bc
push hl
@@ -46706,9 +46606,9 @@ Function503e0: ; 503e0
ld a, BANK(Function8e83f)
ld e, $0
rst FarCall
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
inc a
- ld [$ffb0], a
+ ld [hConnectedMapWidth], a
pop hl
pop bc
dec c
@@ -46788,7 +46688,7 @@ PartyMenuSelect: ; 0x50457
cp b
jr z, .exitmenu ; CANCEL
ld [wd0d8], a
- ld a, [$ffa9]
+ ld a, [hJoyLast]
ld b, a
bit 1, b
jr nz, .exitmenu ; B button?
@@ -46986,7 +46886,7 @@ endr
ret
; 505da
-Function505da:: ; 505da
+DoPoisonStep:: ; 505da
ld a, [PartyCount]
and a
jr z, .asm_5062c
@@ -48115,19 +48015,19 @@ ParString: db "PAR@"
ListMoves: ; 50d6f
; List moves at hl, spaced every [Buffer1] tiles.
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld b, $0
-.asm_50d74
+.moves_loop
ld a, [de]
inc de
and a
- jr z, .asm_50da7
+ jr z, .no_more_moves
push de
push hl
push hl
ld [CurSpecies], a
ld a, MOVE_NAME
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
call GetName
ld de, StringBuffer1
pop hl
@@ -48147,12 +48047,12 @@ ListMoves: ; 50d6f
pop de
ld a, b
cp NUM_MOVES
- jr z, .asm_50db8
- jr .asm_50d74
+ jr z, .done
+ jr .moves_loop
-.asm_50da7
+.no_more_moves
ld a, b
-.asm_50da8
+.nonmove_loop
push af
ld [hl], "-"
ld a, [Buffer1]
@@ -48162,9 +48062,9 @@ ListMoves: ; 50d6f
pop af
inc a
cp NUM_MOVES
- jr nz, .asm_50da8
+ jr nz, .nonmove_loop
-.asm_50db8
+.done
ret
; 50db9
@@ -48189,7 +48089,7 @@ Function50db9: ; 50db9
cp $5
jr nz, .check_item_name
- ld hl, OBPals + 8 * 6
+ ld hl, CurMart
ld de, PokemonNames
ld a, PKMN_NAME
jr .done
@@ -48203,12 +48103,12 @@ Function50db9: ; 50db9
jr .done
.check_ob_item_name
- ld hl, OBPals + 8 * 6
+ ld hl, CurMart
ld de, ItemNames
ld a, ITEM_NAME
.done
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
ld a, l
ld [wd100], a
ld a, h
@@ -48217,7 +48117,7 @@ Function50db9: ; 50db9
ld [wd102], a
ld a, d
ld [wd103], a
- ld bc, $67c1 ; XXX ItemAttributes?
+ ld bc, ItemAttributes
ld a, c
ld [wd104], a
ld a, b
@@ -48431,10 +48331,10 @@ Function50f12:
Function50f34: ; 50f34 (14:4f34)
push af
hlcoord 0, 1
- ld bc, $28
+ ld bc, 2 * SCREEN_WIDTH
call AddNTimes
- ld bc, $28
- ld a, $7f
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, " "
call ByteFill
pop af
ld hl, Sprites
@@ -49269,7 +49169,7 @@ GetMovementInput: ; 80017
ret z
ld c, a
- and $f0
+ and D_PAD
ret nz
ld a, c
@@ -49581,14 +49481,14 @@ TrySurfStep: ; 801c0
call CheckWaterPermissions
ld [wd040], a
- jr c, .asm_801f1
+ jr c, .bump
call IsNPCInFront
ld [wd03f], a
and a
- jr z, .asm_801f1
+ jr z, .bump
cp 2
- jr z, .asm_801f1
+ jr z, .bump
ld a, [wd040]
and a
@@ -49608,7 +49508,7 @@ TrySurfStep: ; 801c0
scf
ret
-.asm_801f1
+.bump
xor a
ret
; 801f3
@@ -50182,12 +50082,12 @@ INCLUDE "engine/engine_flags.asm"
_GetVarAction:: ; 80648 (20:4648)
ld a, c
cp NUM_VARS
- jr c, .asm_8064e
+ jr c, .valid
xor a
-.asm_8064e
+.valid
ld c, a
ld b, 0
- ld hl, VarActionTable
+ ld hl, .VarActionTable
rept 3
add hl, bc
endr
@@ -50197,104 +50097,105 @@ endr
inc hl
ld b, [hl]
ld a, b
- and $80
- jr nz, .asm_80668
+ and RETVAR_EXECUTE
+ jr nz, .call
ld a, b
- and $40
+ and RETVAR_ADDR_DE
ret nz
ld a, [de]
- jr Function8066c
-.asm_80668
+ jr .loadstringbuffer2
+
+.call
call _de_
ret
-Function8066c: ; 8066c (20:466c)
+.loadstringbuffer2: ; 8066c (20:466c)
ld de, StringBuffer2
ld [de], a
ret
; 80671 (20:4671)
-VarActionTable: ; 80671
-; $00: return address
-; $40: return at StringBuffer2
-; $80: return function result at StringBuffer2
- dwb StringBuffer2, $00
- dwb PartyCount, $00
- dwb Function80728, $80
- dwb BattleType, $40
- dwb TimeOfDay, $00
- dwb Function806c5, $80
- dwb Function806d3, $80
- dwb CountBadges, $80
- dwb PlayerState, $40
- dwb Function806ef, $80
- dwb hHours, $00
- dwb Function806f9, $80
- dwb MapGroup, $00
- dwb MapNumber, $00
- dwb Function806ff, $80
- dwb wPermission, $00
- dwb Function80715, $80
- dwb wd46c, $00
- dwb XCoord, $00
- dwb YCoord, $00
- dwb wSpecialPhoneCallID, $00
- dwb wcf64, $00
- dwb wdca4, $00
- dwb wCurrentCaller, $40
- dwb wdc4b, $40
- dwb wdc4a, $40
- dwb wdc58, $00
- dwb NULL, $00
+.VarActionTable: ; 80671
+; $00: copy [de] to StringBuffer2
+; $40: return address in de
+; $80: call function
+ dwb StringBuffer2, RETVAR_STRBUF2
+ dwb PartyCount, RETVAR_STRBUF2
+ dwb .BattleResult, RETVAR_EXECUTE
+ dwb BattleType, RETVAR_ADDR_DE
+ dwb TimeOfDay, RETVAR_STRBUF2
+ dwb .CountCaughtMons, RETVAR_EXECUTE
+ dwb .CountSeenMons, RETVAR_EXECUTE
+ dwb .CountBadges, RETVAR_EXECUTE
+ dwb PlayerState, RETVAR_ADDR_DE
+ dwb .PlayerFacing, RETVAR_EXECUTE
+ dwb hHours, RETVAR_STRBUF2
+ dwb .DayOfWeek, RETVAR_EXECUTE
+ dwb MapGroup, RETVAR_STRBUF2
+ dwb MapNumber, RETVAR_STRBUF2
+ dwb .UnownCaught, RETVAR_EXECUTE
+ dwb wPermission, RETVAR_STRBUF2
+ dwb .BoxFreeSpace, RETVAR_EXECUTE
+ dwb wBugContestMinsRemaining, RETVAR_STRBUF2
+ dwb XCoord, RETVAR_STRBUF2
+ dwb YCoord, RETVAR_STRBUF2
+ dwb wSpecialPhoneCallID, RETVAR_STRBUF2
+ dwb wcf64, RETVAR_STRBUF2
+ dwb wKurtApricornQuantity, RETVAR_STRBUF2
+ dwb wCurrentCaller, RETVAR_ADDR_DE
+ dwb wBlueCardBalance, RETVAR_ADDR_DE
+ dwb wBuenasPassword, RETVAR_ADDR_DE
+ dwb wdc58, RETVAR_STRBUF2
+ dwb NULL, RETVAR_STRBUF2
; 806c5
-Function806c5: ; 806c5
+.CountCaughtMons: ; 806c5
; Caught mons.
ld hl, PokedexCaught
ld b, EndPokedexCaught - PokedexCaught
call CountSetBits
ld a, [wd265]
- jp Function8066c
+ jp .loadstringbuffer2
; 806d3
-Function806d3: ; 806d3
+.CountSeenMons: ; 806d3
; Seen mons.
ld hl, PokedexSeen
ld b, EndPokedexSeen - PokedexSeen
call CountSetBits
ld a, [wd265]
- jp Function8066c
+ jp .loadstringbuffer2
; 806e1
-CountBadges: ; 806e1
+.CountBadges: ; 806e1
; Number of owned badges.
ld hl, Badges
ld b, 2
call CountSetBits
ld a, [wd265]
- jp Function8066c
+ jp .loadstringbuffer2
; 806ef
-Function806ef: ; 806ef
+.PlayerFacing: ; 806ef
; The direction the player is facing.
ld a, [PlayerDirection]
and $c
rrca
rrca
- jp Function8066c
+ jp .loadstringbuffer2
; 806f9
-Function806f9: ; 806f9
+.DayOfWeek: ; 806f9
; The day of the week.
call GetWeekday
- jp Function8066c
+ jp .loadstringbuffer2
; 806ff
-Function806ff: ; 806ff
+.UnownCaught: ; 806ff
; Number of unique Unown caught.
call .count
ld a, b
- jp Function8066c
+ jp .loadstringbuffer2
.count
ld hl, UnownDex
@@ -50310,7 +50211,7 @@ Function806ff: ; 806ff
ret
; 80715
-Function80715: ; 80715
+.BoxFreeSpace: ; 80715
; Remaining slots in the current box.
ld a, BANK(sBoxCount)
call GetSRAMBank
@@ -50320,13 +50221,13 @@ Function80715: ; 80715
ld b, a
call CloseSRAM
ld a, b
- jp Function8066c
+ jp .loadstringbuffer2
; 80728
-Function80728: ; 80728
- ld a, [wd0ee]
+.BattleResult: ; 80728
+ ld a, [wBattleResult]
and $3f
- jp Function8066c
+ jp .loadstringbuffer2
; 80730
@@ -50345,10 +50246,10 @@ ColorTest: ; 818ac
ret z
.asm_818b5
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
call DisableLCD
call Function81948
call Function8197c
@@ -50358,11 +50259,11 @@ ColorTest: ; 818ac
ld de, MUSIC_NONE
call PlayMusic
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld [wcf66], a
ld [wd003], a
.asm_818de
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_818f0
call Function81a74
@@ -50372,7 +50273,7 @@ ColorTest: ; 818ac
.asm_818f0
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
ret
; 818f4
@@ -50441,13 +50342,13 @@ Function81948: ; 81948
ld a, $1
ld [rVBK], a
ld hl, VTiles0
- ld bc, $2000
+ ld bc, sScratch - VTiles0
xor a
call ByteFill
ld a, $0
ld [rVBK], a
ld hl, VTiles0
- ld bc, $2000
+ ld bc, sScratch - VTiles0
xor a
call ByteFill
hlcoord 0, 0, AttrMap
@@ -50464,7 +50365,7 @@ Function81948: ; 81948
Function8197c: ; 8197c
ld hl, DebugColorTestGFX + $10
- ld de, $96a0
+ ld de, VTiles2 tile $6a
ld bc, $0160
call CopyBytes
ld hl, DebugColorTestGFX
@@ -50619,20 +50520,20 @@ Palette_81a34: ; 81a34
; 81a74
Function81a74: ; 81a74
- call Functiona57
- ld a, [wcf63]
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
cp $4
jr nc, .asm_81a8b
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $4
+ and SELECT
jr nz, .asm_81a9a
ld a, [hl]
- and $8
+ and START
jr nz, .asm_81aab
.asm_81a8b
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_81acf
@@ -50667,7 +50568,7 @@ endr
.asm_81aba
ld [wcf66], a
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 81ac3
@@ -50701,17 +50602,17 @@ Function81adb: ; 81adb
ld a, $6f
call ByteFill
hlcoord 1, 3
- ld bc, $0712
+ lb bc, 7, 18
ld a, $6c
- call Function81efc
+ call Bank20_FillBoxWithByte
hlcoord 11, 0
- ld bc, $0203
+ lb bc, 2, 3
ld a, $6d
- call Function81efc
+ call Bank20_FillBoxWithByte
hlcoord 16, 0
- ld bc, $0203
+ lb bc, 2, 3
ld a, $6e
- call Function81efc
+ call Bank20_FillBoxWithByte
call Function81bc0
call Function81bf4
ld a, [wcf66]
@@ -50734,7 +50635,7 @@ Function81adb: ; 81adb
ld [wc2c6], a
hlcoord 12, 3
call Function378b
- ld de, $9310
+ ld de, VTiles2 tile $31
predef GetBackpic
ld a, $31
ld [$ffad], a
@@ -50776,7 +50677,7 @@ Function81adb: ; 81adb
.asm_81ba9
ld a, $1
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 81baf
@@ -50847,7 +50748,7 @@ Function81c18: ; 81c18
.asm_81c2a
call WaitBGMap
ld a, $2
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 81c33
@@ -50872,7 +50773,7 @@ Function81c33: ; 81c33
ld a, $1
ld [hCGBPalUpdate], a
ld a, $3
- ld [wcf63], a
+ ld [wJumptableIndex], a
pop af
ld [rSVBK], a
ret
@@ -50907,7 +50808,7 @@ endr
ld de, wc608 + 2
call Function81ca7
ld a, $3
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 81ca7
@@ -50934,11 +50835,11 @@ Function81cbc: ; 81cbc
; 81cc2
Function81cc2: ; 81cc2
- ld a, [$ffa9]
- and $2
+ ld a, [hJoyLast]
+ and B_BUTTON
jr nz, .asm_81cdf
- ld a, [$ffa9]
- and $1
+ ld a, [hJoyLast]
+ and A_BUTTON
jr nz, .asm_81ce5
ld a, [wcf64]
and $3
@@ -50955,7 +50856,7 @@ endr
.asm_81cdf
ld a, $4
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
.asm_81ce5
@@ -50971,7 +50872,7 @@ endr
add hl, bc
call Function818fd
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 81d02
@@ -50983,15 +50884,15 @@ Jumptable_81d02: ; 81d02
; 81d0a
Function81d0a: ; 81d0a
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $80
+ and D_DOWN
jr nz, Function81d89
ld a, [hl]
- and $20
+ and D_LEFT
jr nz, .asm_81d1d
ld a, [hl]
- and $10
+ and D_RIGHT
jr nz, .asm_81d28
ret
@@ -51010,40 +50911,40 @@ Function81d0a: ; 81d0a
ret
Function81d34: ; 81d34
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $80
+ and D_DOWN
jr nz, Function81d89
ld a, [hl]
- and $40
+ and D_UP
jr nz, Function81d84
ld hl, wc608 + 10
jr Function81d63
Function81d46: ; 81d46
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $80
+ and D_DOWN
jr nz, Function81d89
ld a, [hl]
- and $40
+ and D_UP
jr nz, Function81d84
ld hl, wc608 + 11
jr Function81d63
Function81d58: ; 81d58
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $40
+ and D_UP
jr nz, Function81d84
ld hl, wc608 + 12
Function81d63: ; 81d63
- ld a, [$ffa9]
- and $10
+ ld a, [hJoyLast]
+ and D_RIGHT
jr nz, Function81d70
- ld a, [$ffa9]
- and $20
+ ld a, [hJoyLast]
+ and D_LEFT
jr nz, Function81d77
ret
@@ -51063,7 +50964,7 @@ Function81d77: ; 81d77
Function81d7b: ; 81d7b
call Function81e67
ld a, $2
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function81d84: ; 81d84
@@ -51089,37 +50990,37 @@ Function81d8e: ; 81d8e
ld [wd004], a
call Function81df4
ld a, $5
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 81daf
Function81daf: ; 81daf
ld hl, hJoyPressed
ld a, [hl]
- and $2
+ and B_BUTTON
jr nz, .asm_81dbb
call Function81dc7
ret
.asm_81dbb
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 81dc1
Function81dc1: ; 81dc1
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
; 81dc7
Function81dc7: ; 81dc7
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $40
+ and D_UP
jr nz, .asm_81dd5
ld a, [hl]
- and $80
+ and D_DOWN
jr nz, .asm_81de2
ret
@@ -51314,20 +51215,21 @@ endr
ret
; 81efc
-Function81efc: ; 81efc
-.asm_81efc
+Bank20_FillBoxWithByte: ; 81efc
+; For some reason, we have another copy of FillBoxWithByte here
+.row
push bc
push hl
-.asm_81efe
+.col
ld [hli], a
dec c
- jr nz, .asm_81efe
+ jr nz, .col
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, .asm_81efc
+ jr nz, .row
ret
; 81f0c
@@ -51404,7 +51306,7 @@ Function81f5e: ; 81f5e
ld [hl], a
hlcoord 1, 15
ld [hl], a
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
cp $3
jr nz, .asm_81fc9
ld a, [wcf64]
@@ -51412,7 +51314,7 @@ Function81f5e: ; 81f5e
jr z, .asm_81f8d
dec a
hlcoord 1, 11
- ld bc, $0028
+ ld bc, 2 * SCREEN_WIDTH
call AddNTimes
ld [hl], $ed
@@ -51477,7 +51379,7 @@ INCBIN "gfx/debug/color_test.2bpp"
TilesetColorTest:
ret
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld [wcf64], a
ld [wcf65], a
ld [wcf66], a
@@ -51488,15 +51390,15 @@ TilesetColorTest:
xor a
ld [hBGMapMode], a
ld de, DebugColorTestGFX + $10
- ld hl, $96a0
+ ld hl, VTiles2 tile $6a
lb bc, BANK(DebugColorTestGFX), $16
call Request2bpp
ld de, DebugColorTestGFX
ld hl, VTiles1
lb bc, BANK(DebugColorTestGFX), 1
call Request2bpp
- ld a, $9c
- ld [$ffd7], a
+ ld a, VBGMap1 / $100
+ ld [hBGMapAddress + 1], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, $6f
@@ -51520,7 +51422,7 @@ TilesetColorTest:
call Function821f4
call Function8220f
call Function3200
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld a, $40
ld [hWY], a
ret
@@ -51562,7 +51464,7 @@ Function821f4: ; 821f4
Function82203: ; 82203
ld a, $6a
ld [hli], a
- ld bc, $000f
+ ld bc, $10 - 1
ld a, $6b
call ByteFill
ret
@@ -51593,12 +51495,12 @@ endr
Function82236: ; 82236
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $4
+ and SELECT
jr nz, .loop7
ld a, [hl]
- and $2
+ and B_BUTTON
jr nz, .asm_82299
call Function822f0
ret
@@ -51690,7 +51592,7 @@ Function822f0: ; 822f0
and 3
ld e, a
ld d, 0
- ld hl, Jumptable_82301
+ ld hl, .jumptable
rept 2
add hl, de
endr
@@ -51700,7 +51602,7 @@ endr
jp [hl]
; 82301
-Jumptable_82301: ; 82301
+.jumptable: ; 82301
dw Function82309
dw Function82339
dw Function8234b
@@ -51708,15 +51610,15 @@ Jumptable_82301: ; 82301
; 82309
Function82309: ; 82309
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $80
+ and D_DOWN
jr nz, Function8238c
ld a, [hl]
- and $20
+ and D_LEFT
jr nz, .asm_8231c
ld a, [hl]
- and $10
+ and D_RIGHT
jr nz, .asm_82322
ret
@@ -51744,40 +51646,40 @@ endr
ret
Function82339: ; 82338
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $80
+ and D_DOWN
jr nz, Function8238c
ld a, [hl]
- and $40
+ and D_UP
jr nz, Function82387
ld hl, wc608 + 10
jr Function82368
Function8234b: ; 8234b
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $80
+ and D_DOWN
jr nz, Function8238c
ld a, [hl]
- and $40
+ and D_UP
jr nz, Function82387
ld hl, wc608 + 11
jr Function82368
Function8235d: ; 8235d
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $40
+ and D_UP
jr nz, Function82387
ld hl, wc608 + 12
Function82368: ; 82368
- ld a, [$ffa9]
- and $10
+ ld a, [hJoyLast]
+ and D_RIGHT
jr nz, .asm_82375
- ld a, [$ffa9]
- and $20
+ ld a, [hJoyLast]
+ and D_LEFT
jr nz, .asm_8237c
ret
@@ -51868,12 +51770,12 @@ Function84000: ; 84000
ld a, [GBPrinter]
ld [wcbfb], a
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; 84022
Function84022: ; 84022
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_84031
@@ -51911,19 +51813,19 @@ Jumptable_84031: ; 84031 (21:4031)
Function84059: ; 84059 (21:4059)
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
Function8405e: ; 8405e (21:405e)
- ld hl, wcf63
+ ld hl, wJumptableIndex
dec [hl]
ret
Function84063: ; 84063 (21:4063)
xor a
ld [wca89], a
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -51933,7 +51835,7 @@ Function8406d: ; 8406d (21:406d)
Function84071: ; 84071 (21:4071)
ld a, $1
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function84077: ; 84077 (21:4077)
@@ -51973,7 +51875,7 @@ Function84099: ; 84099 (21:4099)
Function840c5: ; 840c5 (21:40c5)
ld a, $6
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld hl, Unknown_842c9
call Function841e2
xor a
@@ -52065,7 +51967,7 @@ Function84143: ; 84143 (21:4143)
ld [wca88], a
ld [wca89], a
ld a, $e
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function84180: ; 84180 (21:4180)
@@ -52085,7 +51987,7 @@ Function84180: ; 84180 (21:4180)
ret
.asm_8419b
ld a, $12
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function841a1: ; 841a1 (21:41a1)
@@ -52109,7 +52011,7 @@ Function841b3: ; 841b3 (21:41b3)
and $f0
ret nz
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function841c3: ; 841c3 (21:41c3)
@@ -52464,10 +52366,10 @@ Function843e6: ; 843e6 (21:43e6)
Function843f0: ; 843f0
.asm_843f0
- call Functiona57
+ call JoyTextDelay
call Function846f6
jr c, .asm_8440f
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_8440d
call Function84022
@@ -52682,14 +52584,14 @@ Function84560: ; 84560
ld a, $9
ld [wcf65], a
.asm_84597
- call Functiona57
+ call JoyTextDelay
call Function846f6
jr c, .asm_845c0
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_845c0
call Function84022
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
cp $2
jr nc, .asm_845b5
ld a, $3
@@ -52866,7 +52768,7 @@ Function84688: ; 84688
Function846f6: ; 846f6
ld a, [hJoyDown]
- and $2
+ and B_BUTTON
jr nz, .asm_846fe
and a
ret
@@ -52920,7 +52822,7 @@ Function84742: ; 84742
ld [hJoyReleased], a
ld [hJoyPressed], a
ld [hJoyDown], a
- ld [$ffa9], a
+ ld [hJoyLast], a
ret
; 8474c
@@ -53055,13 +52957,13 @@ Function84817: ; 84817 (21:4817)
xor a
ld [wd002], a
hlcoord 0, 0
- ld bc, $168
- ld a, $7f
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ ld a, " "
call ByteFill
call Function84a0e
hlcoord 0, 0
- ld bc, $b4
- ld a, $7f
+ ld bc, 9 * SCREEN_WIDTH
+ ld a, " "
call ByteFill
call Function849e9
call Function849d7
@@ -53090,8 +52992,8 @@ String_84865:
Function8486f: ; 8486f (21:486f)
hlcoord 0, 0
- ld bc, $168
- ld a, $7f
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ ld a, " "
call ByteFill
call Function84a0e
call Function849e9
@@ -53107,8 +53009,8 @@ Function8486f: ; 8486f (21:486f)
Function84893: ; 84893 (21:4893)
hlcoord 0, 0
- ld bc, $168
- ld a, $7f
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ ld a, " "
call ByteFill
call Function84a0e
call Function849e9
@@ -53124,8 +53026,8 @@ Function84893: ; 84893 (21:4893)
Function848b7: ; 848b7 (21:48b7)
hlcoord 0, 0
- ld bc, $168
- ld a, $7f
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ ld a, " "
call ByteFill
call Function84a0e
hlcoord 1, 15
@@ -53162,7 +53064,7 @@ Function848ed: ; 848ed (21:48ed)
push de
push hl
ld bc, $10
- ld a, $7f
+ ld a, " "
call ByteFill
pop hl
push hl
@@ -53183,7 +53085,7 @@ Function848ed: ; 848ed (21:48ed)
ld [hli], a
push hl
ld bc, $e
- ld a, $7f
+ ld a, " "
call ByteFill
pop hl
push hl
@@ -53355,7 +53257,7 @@ HallOfFame:: ; 0x8640e
push af
ld a, 1
ld [wc2cd], a
- call Function2ed3
+ call DisableSpriteUpdates
ld a, SPAWN_LANCE
ld [wSpawnAfterChampion], a
@@ -53398,7 +53300,7 @@ RedCredits:: ; 86455
callba Function4e8c2
ld c, $8
call DelayFrames
- call Function2ed3
+ call DisableSpriteUpdates
ld a, SPAWN_RED
ld [wSpawnAfterChampion], a
ld a, [StatusFlags]
@@ -53435,7 +53337,7 @@ Function864b4: ; 864b4
Function864c3: ; 864c3
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
call Function8671c
jr c, .done
ld de, SCREEN_WIDTH
@@ -53504,7 +53406,7 @@ GetHallOfFameParty: ; 8653f
ld c, 0
.next
ld a, [hli]
- cp $ff
+ cp -1
jr z, .done
cp EGG
jr nz, .mon
@@ -53597,9 +53499,9 @@ endr
predef GetUnownLetter
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $7f
+ ld a, " "
call ByteFill
- ld de, $9310
+ ld de, VTiles2 tile $31
predef GetBackpic
ld a, $31
ld [$ffad], a
@@ -53621,7 +53523,7 @@ endr
ld [wc2c6], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $7f
+ ld a, " "
call ByteFill
hlcoord 6, 5
call Function378b
@@ -53658,15 +53560,15 @@ endr
; 86650
Function86650: ; 86650
- call Functione58
+ call LoadFontsBattleExtra
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
.asm_86657
call Function8671c
ret c
call Function86665
ret c
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
jr .asm_86657
; 86665
@@ -53678,16 +53580,16 @@ Function86665: ; 86665
call Function86692
jr c, .asm_86690
.asm_8666e
- call Functiona57
- ld hl, $ffa9
+ call JoyTextDelay
+ ld hl, hJoyLast
ld a, [hl]
- and $2
+ and B_BUTTON
jr nz, .asm_8668e
ld a, [hl]
- and $1
+ and A_BUTTON
jr nz, .asm_86688
ld a, [hl]
- and $8
+ and START
jr nz, .asm_86690
call DelayFrame
jr .asm_8666e
@@ -53775,7 +53677,7 @@ String_8670c:
Function8671c: ; 8671c
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
cp NUM_HOF_TEAMS
jr nc, .asm_86746
ld hl, sHallOfFame
@@ -53817,19 +53719,19 @@ Function86748: ; 86748
ld a, [hli]
ld [TempMonLevel], a
ld de, StringBuffer2
- ld bc, $000a
+ ld bc, 10
call CopyBytes
- ld a, $50
+ ld a, "@"
ld [StringBuffer2 + 10], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $7f
+ ld a, " "
call ByteFill
hlcoord 0, 0
- ld bc, $0312
+ lb bc, 3, SCREEN_WIDTH - 2
call TextBox
hlcoord 0, 12
- ld bc, $0412
+ lb bc, 4, SCREEN_WIDTH - 2
call TextBox
ld a, [TempMonSpecies]
ld [CurPartySpecies], a
@@ -53890,19 +53792,19 @@ Function86748: ; 86748
Function86810: ; 86810
call WhiteBGMap
- ld hl, $9630
+ ld hl, VTiles2 tile $63
ld de, FontExtra + $d0
lb bc, BANK(FontExtra), 1
call Request2bpp
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $7f
+ ld a, " "
call ByteFill
callba GetPlayerBackpic
ld a, $31
ld [$ffad], a
hlcoord 6, 6
- ld bc, $0606
+ lb bc, 6, 6
predef FillBox
ld a, $d0
ld [hSCY], a
@@ -53920,7 +53822,7 @@ Function86810: ; 86810
ld [wc2c6], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $7f
+ ld a, " "
call ByteFill
callba Function88840
xor a
@@ -53980,417 +53882,16 @@ Function86810: ; 86810
SECTION "bank22", ROMX, BANK[$22]
-Function88000: ; 88000
- ld hl, UnknownText_0x88007
- call PrintText
- ret
-; 88007
-
-UnknownText_0x88007: ; 0x88007
- ; Which APRICORN should I use?
- text_jump UnknownText_0x1bc06b
- db "@"
-; 0x8800c
-
-Function8800c: ; 8800c
- ld hl, UnknownText_0x88013
- call PrintText
- ret
-; 88013
-
-UnknownText_0x88013: ; 0x88013
- ; How many should I make?
- text_jump UnknownText_0x1bc089
- db "@"
-; 0x88018
-
-Function88018: ; 88018
- call LoadMenuDataHeader_0x1d75
- ld c, $1
- xor a
- ld [wd0e4], a
- ld [wdca4], a
-.asm_88024
- push bc
- call Function88000
- pop bc
- ld a, c
- ld [MenuSelection], a
- call Function88055
- ld a, c
- ld [ScriptVar], a
- and a
- jr z, .asm_88051
- ld [CurItem], a
- ld a, [wcfa9]
- ld c, a
- push bc
- call Function8800c
- call Function880c2
- pop bc
- jr nc, .asm_88024
- ld a, [wd10c]
- ld [wdca4], a
- call Function88161
-
-.asm_88051
- call Call_ExitMenu
- ret
-; 88055
-
-Function88055: ; 88055
- callba Function24c64
- jr c, .asm_88083
- ld hl, MenuDataHeader_0x88086
- call CopyMenuDataHeader
- ld a, [MenuSelection]
- ld [wcf88], a
- xor a
- ld [hBGMapMode], a
- call Function352f
- call UpdateSprites
- call Function350c
- ld a, [wcf73]
- cp $2
- jr z, .asm_88083
- ld a, [MenuSelection]
- cp $ff
- jr nz, .asm_88084
-
-.asm_88083
- xor a
-
-.asm_88084
- ld c, a
- ret
-; 88086
-
-MenuDataHeader_0x88086: ; 0x88086
- db $40 ; flags
- db 01, 01 ; start coords
- db 10, 13 ; end coords
- dw MenuData2_0x8808f
- db 1 ; default option
-; 0x8808e
-
- db 0
-
-MenuData2_0x8808f: ; 0x8808f
- db $10 ; flags
- db 4, 7
- db 1
- dbw 0, wd1ea
- dbw BANK(Function8809f), Function8809f
- dbw BANK(Function880ab), Function880ab
- dbw BANK(NULL), NULL
-
-Function8809f: ; 8809f
- ld a, [MenuSelection]
- and a
- ret z
- callba Function24ab4
- ret
-; 880ab
-
-Function880ab: ; 880ab
- ld a, [MenuSelection]
- ld [CurItem], a
- call Function88139
- ret z
- ld a, [wd10c]
- ld [wcf75], a
- callba Function24ac3
- ret
-; 880c2
-
-Function880c2: ; 880c2
- ld a, [CurItem]
- ld [MenuSelection], a
- call Function88139
- jr z, .asm_88109
- ld a, [wd10c]
- ld [wd10d], a
- ld a, $1
- ld [wd10c], a
- ld hl, MenuDataHeader_0x8810d
- call LoadMenuDataHeader
-.asm_880de
- xor a
- ld [hBGMapMode], a
- call Function1cbb
- call UpdateSprites
- call Function88116
- call Function88126
- call Function321c
- callba Function27a28
- jr nc, .asm_880de
- push bc
- call PlayClickSFX
- pop bc
- ld a, b
- cp $ff
- jr z, .asm_88109
- ld a, [wd10c]
- ld [wd10c], a
- scf
-
-.asm_88109
- call WriteBackup
- ret
-; 8810d
-
-MenuDataHeader_0x8810d: ; 0x8810d
- db $40 ; flags
- db 09, 06 ; start coords
- db 12, 19 ; end coords
-
- db 0, 0, -1, 0 ; XXX
-
-Function88116: ; 88116
- call Function1cfd
- ld de, $0015
- add hl, de
- ld d, h
- ld e, l
- callba Function24ab4
- ret
-; 88126
-
-Function88126: ; 88126
- call Function1cfd
- ld de, $0032
- add hl, de
- ld [hl], $f1
- inc hl
- ld de, wd10c
- lb bc, PRINTNUM_LEADINGZEROS | 1, 2
- jp PrintNum
-; 88139
-
-Function88139: ; 88139
- push bc
- ld hl, NumItems
- ld a, [CurItem]
- ld c, a
- ld b, $0
-.asm_88143
- inc hl
- ld a, [hli]
- cp $ff
- jr z, .asm_88153
- cp c
- jr nz, .asm_88143
- ld a, [hl]
- add b
- ld b, a
- jr nc, .asm_88143
- ld b, $ff
-
-.asm_88153
- ld a, b
- sub $63
- jr c, .asm_8815a
- ld b, $63
-
-.asm_8815a
- ld a, b
- ld [wd10c], a
- and a
- pop bc
- ret
-; 88161
-
-Function88161: ; 88161
- push de
- push bc
- ld hl, NumItems
- ld a, [CurItem]
- ld c, a
- ld e, $0
- xor a
- ld [wd107], a
- ld a, $ff
- ld [DefaultFlypoint], a
-.asm_88175
- ld a, [wd107]
- inc a
- ld [wd107], a
- inc hl
- ld a, [hli]
- cp $ff
- jr z, .asm_88198
- cp c
- jr nz, .asm_88175
- ld d, $0
- push hl
- ld hl, DefaultFlypoint
- add hl, de
- inc e
- ld a, [wd107]
- dec a
- ld [hli], a
- ld a, $ff
- ld [hl], a
- pop hl
- jr .asm_88175
-
-.asm_88198
- ld a, e
- and a
- jr z, .asm_881fa
- dec a
- jr z, .asm_881d0
- ld hl, DefaultFlypoint
-.asm_881a2
- ld a, [hl]
- ld c, a
- push hl
-.asm_881a5
- inc hl
- ld a, [hl]
- cp $ff
- jr z, .asm_881c9
- ld b, a
- ld a, c
- call Function88201
- ld e, a
- ld a, b
- call Function88201
- sub e
- jr z, .asm_881bc
- jr c, .asm_881c0
- jr .asm_881a5
-
-.asm_881bc
- ld a, c
- sub b
- jr nc, .asm_881a5
-
-.asm_881c0
- ld a, c
- ld c, b
- ld [hl], a
- ld a, c
- pop hl
- ld [hl], a
- push hl
- jr .asm_881a5
-
-.asm_881c9
- pop hl
- inc hl
- ld a, [hl]
- cp $ff
- jr nz, .asm_881a2
-
-.asm_881d0
- ld hl, DefaultFlypoint
-.asm_881d3
- ld a, [hl]
- cp $ff
- jr z, .asm_881fa
- push hl
- ld [wd107], a
- call Function88211
- pop hl
- ld a, [wd10c]
- and a
- jr z, .asm_881fa
- push hl
- ld a, [hli]
- ld c, a
-.asm_881e9
- ld a, [hli]
- cp $ff
- jr z, .asm_881f6
- cp c
- jr c, .asm_881e9
- dec a
- dec hl
- ld [hli], a
- jr .asm_881e9
-
-.asm_881f6
- pop hl
- inc hl
- jr .asm_881d3
-
-.asm_881fa
- ld a, [wd10c]
- and a
- pop bc
- pop de
- ret
-; 88201
-
-Function88201: ; 88201
- push hl
- push bc
- ld hl, NumItems
- inc hl
- ld c, a
- ld b, $0
-rept 2
- add hl, bc
-endr
- inc hl
- ld a, [hl]
- pop bc
- pop hl
- ret
-; 88211
-
-Function88211: ; 88211
- push bc
- ld hl, NumItems
- ld a, [wd107]
- ld c, a
- ld b, $0
- inc hl
-rept 2
- add hl, bc
-endr
- ld a, [CurItem]
- ld c, a
- ld a, [hli]
- cp $ff
- jr z, .asm_88243
- cp c
- jr nz, .asm_88243
- ld a, [wd10c]
- ld c, a
- ld a, [hl]
- sub c
- ld b, c
- jr nc, .asm_88235
- add c
- ld b, a
-
-.asm_88235
- push bc
- ld hl, NumItems
- ld a, b
- ld [wd10c], a
- call TossItem
- pop bc
- ld a, c
- sub b
-
-.asm_88243
- ld [wd10c], a
- pop bc
- ret
-; 88248
-
+INCLUDE "event/kurt.asm"
Function88248: ; 88248
- ld c, $c
+ ld c, CAL
ld a, [PlayerGender]
bit 0, a
- jr z, .asm_88253
- ld c, $e
+ jr z, .okay
+ ld c, KAREN
-.asm_88253
+.okay
ld a, c
ld [TrainerClass], a
ret
@@ -54446,9 +53947,9 @@ ShowPlayerNamingChoices: ; 88297
ld hl, ChrisNameMenuHeader
ld a, [PlayerGender]
bit 0, a
- jr z, .GotClass
+ jr z, .GotGender
ld hl, KrisNameMenuHeader
-.GotClass
+.GotGender
call LoadMenuDataHeader
call InterpretMenu2
ld a, [wcfa9]
@@ -54541,12 +54042,12 @@ Function8833e: ; 8833e
jr z, .GotClass
ld hl, KrisCardPic
.GotClass
- ld de, $9000
+ ld de, VTiles2 tile $00
ld bc, $230
ld a, BANK(ChrisCardPic) ; BANK(KrisCardPic)
call FarCopyBytes
ld hl, CardGFX
- ld de, $9230
+ ld de, VTiles2 tile $23
ld bc, $60
ld a, BANK(CardGFX)
call FarCopyBytes
@@ -54576,7 +54077,7 @@ GetPlayerBackpic: ; 88825
GetChrisBackpic: ; 88830
ld hl, ChrisBackpic
ld b, BANK(ChrisBackpic)
- ld de, $9310
+ ld de, VTiles2 tile $31
ld c, 7 * 7
predef DecompressPredef
ret
@@ -54661,7 +54162,7 @@ INCBIN "gfx/misc/kris.7x7.2bpp"
GetKrisBackpic: ; 88ec9
; Kris's backpic is uncompressed.
ld de, KrisBackpic
- ld hl, $9310
+ ld hl, VTiles2 tile $31
lb bc, BANK(KrisBackpic), 7 * 7 ; dimensions
call Get2bpp
ret
@@ -54676,7822 +54177,26 @@ String_89116:
db "-----@"
; 8911c
-String_8911c: ; 8911c
- db "でんわばんごうが ただしく" ; Phone number is not
- next "はいって いません!@" ; entered correctly!
-; 89135
-
-String_89135: ; 89135
- db "データが かわって いますが" ; The data has changed.
- next "かきかえないで やめますか?@" ; Quit anyway?
-; 89153
-
-String_89153: ; 89153
- db "メッセージは ありません@" ; No message
-; 89160
-
-Function89160: ; 89160
- push af
- ld a, $4
- call GetSRAMBank
- pop af
- ret
-; 89168
-
-
-Function89168: ; 89168 (22:5168)
- ld hl, GameTimerPause
- set 7, [hl]
- ret
-
-Function8916e: ; 8916e (22:516e)
- ld hl, GameTimerPause
- res 7, [hl]
- ret
-
-Function89174: ; 89174 (22:5174)
- ld hl, GameTimerPause
- bit 7, [hl]
- ret
-
-Function8917a: ; 8917a (22:517a)
- ld hl, DefaultFlypoint
- ld bc, $32
- xor a
- call ByteFill
- ret
-
-Function89185: ; 89185 (22:5185)
-; Compares c bytes starting at de and hl and incrementing together until a match is found.
- push de
- push hl
-.loop
- ld a, [de]
- inc de
- cp [hl]
- jr nz, .done
- inc hl
- dec c
- jr nz, .loop
-.done
- pop hl
- pop de
- ret
-
-Function89193: ; 89193
-; Copies c bytes from hl to de.
- push de
- push hl
-.loop
- ld a, [hli]
- ld [de], a
- inc de
- dec c
- jr nz, .loop
- pop hl
- pop de
- ret
-; 8919e
-
-
-Function8919e: ; 8919e (22:519e)
-; Searches for the c'th string starting at de. Returns the pointer in de.
- ld a, c
- and a
- ret z
-.loop
- ld a, [de]
- inc de
- cp "@"
- jr nz, .loop
- dec c
- jr nz, .loop
- ret
-
-Function891ab: ; 891ab
- call Function89240
- callba Function104061
- call Function8923c
- ret
-; 891b8
-
-Function891b8: ; 891b8
- call Function8923c
- hlcoord 0, 0
- ld a, $7f
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- call ByteFill
- call DelayFrame
- ret
-; 891ca
-
-
-Function891ca: ; 891ca (22:51ca)
- push bc
- call Function891b8
- call WaitBGMap
- pop bc
- ret
-
-Function891d3: ; 891d3 (22:51d3)
- push bc
- call Function891ca
- ld c, $10
- call DelayFrames
- pop bc
- ret
-
-Function891de: ; 891de
- call Function8923c
- call ClearPalettes
- hlcoord 0, 0, AttrMap
- ld a, $7
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- call ByteFill
- hlcoord 0, 0
- ld a, $7f
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- call ByteFill
- call Function891ab
- ret
-; 891fe
-
-Function891fe: ; 891fe
- push bc
- call Function891de
- ld c, $10
- call DelayFrames
- pop bc
- ret
-; 89209
-
-Function89209: ; 89209
- ld a, 1
- ld [wc2ce], a
- ret
-; 8920f
-
-Function8920f: ; 8920f
- ld a, 0
- ld [wc2ce], a
- ret
-; 89215
-
-Function89215: ; 89215
- push hl
- push bc
- ld bc, AttrMap - TileMap
- add hl, bc
- ld [hl], a
- pop bc
- pop hl
- ret
-; 8921f
-
-
-Function8921f: ; 8921f (22:521f)
- push de
- ld de, SCREEN_WIDTH
- add hl, de
- inc hl
- ld a, $7f
-.loop
- push bc
- push hl
-.asm_89229
- ld [hli], a
- dec c
- jr nz, .asm_89229
- pop hl
- add hl, de
- pop bc
- dec b
- jr nz, .loop
- pop de
- ret
-
-Function89235: ; 89235 (22:5235)
- call Functiona36
- call PlayClickSFX
- ret
-
-Function8923c: ; 8923c
- xor a
- ld [hBGMapMode], a
- ret
-; 89240
-
-Function89240: ; 89240
- ld a, $1
- ld [hBGMapMode], a
- ret
-; 89245
-
-
-Function89245: ; 89245 (22:5245)
- callba TryLoadSaveFile
- ret c
- callba Function150b9
- and a
- ret
-
-Function89254: ; 89254 (22:5254)
- ld bc, $d07
- jr Function89261
-
-Function89259: ; 89259
- ld bc, $0e07
- jr Function89261
-
-Function8925e: ; 8925e
- ld bc, $0e0c
-
-Function89261: ; 89261
- push af
- push bc
- ld hl, MenuDataHeader_0x892a3
- call CopyMenuDataHeader
- pop bc
- ld hl, wcf82
- ld a, c
- ld [hli], a
- ld a, b
- ld [hli], a
- ld a, c
- add $4
- ld [hli], a
- ld a, b
- add $5
- ld [hl], a
- pop af
- ld [wcf88], a
- call Function1c00
- call Function8923c
- call Function89209
- call InterpretMenu2
- push af
- ld c, $a
- call DelayFrames
- call WriteBackup
- call Function8920f
- pop af
- jr c, .done
- ld a, [wcfa9]
- cp $2
- jr z, .done
- and a
- ret
-
-.done
- scf
- ret
-; 892a3
-
-MenuDataHeader_0x892a3: ; 0x892a3
- db $40 ; flags
- db 05, 10 ; start coords
- db 09, 15 ; end coords
- dw MenuData2_0x892ab
- db 1 ; default option
-; 0x892ab
-
-MenuData2_0x892ab: ; 0x892ab
- db $c0 ; flags
- db 2 ; items
- db "はい@"
- db "いいえ@"
-; 0x892b4
-
-Function892b4: ; 892b4 (22:52b4)
- call Function8931b
-
-Function892b7: ; 892b7
- ld d, b
- ld e, c
- ld hl, 0
- add hl, bc
- ld a, "@"
- ld bc, 6
- call ByteFill
- ld b, d
- ld c, e
- ld hl, 6
- add hl, bc
- ld a, "@"
- ld bc, 6
- call ByteFill
- ld b, d
- ld c, e
- ld hl, 12
- add hl, bc
- xor a
- ld [hli], a
- ld [hl], a
- ld hl, 14
- add hl, bc
- ld [hli], a
- ld [hl], a
- ld hl, 16
- add hl, bc
- ld [hl], a
- ld hl, 17
- add hl, bc
- ld a, -1
- ld bc, 8
- call ByteFill
- ld b, d
- ld c, e
- ld e, 6
- ld hl, 25
- add hl, bc
-.loop
- ld a, -1
- ld [hli], a
- ld a, -1
- ld [hli], a
- dec e
- jr nz, .loop
- ret
-; 89305
-
-
-Function89305: ; 89305 (22:5305)
- xor a
- ld [MenuSelection], a
- ld c, 40
-.loop
- ld a, [MenuSelection]
- inc a
- ld [MenuSelection], a
- push bc
- call Function892b4
- pop bc
- dec c
- jr nz, .loop
- ret
-
-Function8931b: ; 8931b
- push hl
- ld hl, $a03b
- ld a, [MenuSelection]
- dec a
- ld bc, $0025
- call AddNTimes
- ld b, h
- ld c, l
- pop hl
- ret
-; 8932d
-
-Function8932d: ; 8932d
- ld hl, 0
- add hl, bc
-
-Function89331: ; 89331
-; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. Sets carry if it does not find a nonspace character. Returns the location of the following character in hl.
- push bc
- ld c, 5
-.loop
- ld a, [hli]
- cp "@"
- jr z, .terminator
- cp " "
- jr nz, .nonspace
- dec c
- jr nz, .loop
-
-.terminator
- scf
- jr .done
-
-.nonspace
- and a
-
-.done
- pop bc
- ret
-; 89346
-
-
-Function89346: ; 89346 (22:5346)
- ld h, b
- ld l, c
- jr _incave
-
-Function8934a: ; 8934a
- ld hl, 6
- add hl, bc
-_incave:
-; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. Sets carry if it does not find a nonspace character. Returns the location of the following character in hl.
- push bc
- ld c, 5
-.loop
- ld a, [hli]
- cp "@"
- jr z, .terminator
- cp " "
- jr nz, .nonspace
- dec c
- jr nz, .loop
-
-.terminator
- scf
- jr .done
-
-.nonspace
- and a
-
-.done
- pop bc
- ret
-; 89363
-
-Function89363: ; 89363
-; Scans six byte pairs starting at bc to find $ff. Sets carry if it does not find a $ff. Returns the location of the byte after the first $ff found in hl.
- ld h, b
- ld l, c
- jr ._incave
-
- ld hl, 25
- add hl, bc
-
-._incave
- push de
- ld e, 6
-.loop
- ld a, [hli]
- cp -1
- jr nz, .ok
- ld a, [hli]
- cp -1
- jr nz, .ok
- dec e
- jr nz, .loop
- scf
- jr .done
-
-.ok
- and a
-
-.done
- pop de
- ret
-; 89381
-
-Function89381: ; 89381
- push bc
- push de
- call Function89b45
- jr c, .ok
- push hl
- ld a, -1
- ld bc, 8
- call ByteFill
- pop hl
-
-.ok
- pop de
- ld c, 8
- call Function89193
- pop bc
- ret
-; 8939a
-
-Function8939a: ; 8939a
- push bc
- ld hl, 0
- add hl, bc
- ld de, DefaultFlypoint
- ld c, 6
- call Function89193
- pop bc
- ld hl, 17
- add hl, bc
- ld de, wd008
- call Function89381
- ret
-; 893b3
-
-
-Function893b3: ; 893b3 (22:53b3)
- call DisableLCD
- call ClearSprites
- call Functione51
- call Functione5f
- call Function893ef
- call Function8942b
- call Function89455
- call EnableLCD
- ret
-
-Function893cc: ; 893cc
- call DisableLCD
- call ClearSprites
- call Functione51
- call Functione5f
- call Function893ef
- call Function89464
- call EnableLCD
- ret
-; 893e2
-
-
-Function893e2: ; 893e2 (22:53e2)
- call Function89b1e
- call Function893b3
- call Function8a5b6
- call Function8949c
- ret
-
-Function893ef: ; 893ef
- ld de, VTiles0
- ld hl, GFX_8940b
- ld bc, $20
- ld a, BANK(GFX_8940b)
- call FarCopyBytes
- ret
-; 893fe
-
-Function893fe: ; 893fe
- call DisableLCD
- call Function893ef
- call EnableLCD
- call DelayFrame
- ret
-; 8940b
-
-GFX_8940b: ; 8940b
-INCBIN "gfx/unknown/08940b.2bpp"
-; 8942b
-
-Function8942b: ; 8942b (22:542b)
- ld de, $8020
- ld hl, MobileAdapterGFX + $7d0
- ld bc, $80
- ld a, BANK(MobileAdapterGFX)
- call FarCopyBytes
- ld de, $80a0
- ld hl, MobileAdapterGFX + $c60
- ld bc, $40
- ld a, BANK(MobileAdapterGFX)
- call FarCopyBytes
- ret
-
-Function89448: ; 89448 (22:5448)
-; Clears the Sprites array
- push af
- ld hl, Sprites
- ld d, $10 * 6
- xor a
-.loop
- ld [hli], a
- dec d
- jr nz, .loop
- pop af
- ret
-
-Function89455: ; 89455 (22:5455)
- ld hl, MobileAdapterGFX + $7d0
- ld de, $90c0
- ld bc, $490
- ld a, BANK(MobileAdapterGFX)
- call FarCopyBytes
- ret
-
-Function89464: ; 89464
- ld hl, MobileAdapterGFX
- ld de, VTiles2
- ld bc, $200
- ld a, BANK(MobileAdapterGFX)
- call FarCopyBytes
- ld hl, MobileAdapterGFX + $660
- ld de, $9200
- ld bc, $170
- ld a, BANK(MobileAdapterGFX)
- call FarCopyBytes
- ret
-; 89481
-
-Function89481: ; 89481
- ld d, 2
- call Function8934a
- ret c
- ld d, 0
- ld hl, 16
- add hl, bc
- bit 0, [hl]
- ret z
- inc d
- ret
-; 89492
-
-
-Function89492: ; 89492 (22:5492)
- ld d, 0
- ld a, [PlayerGender]
- bit 0, a
- ret z
- inc d
- ret
-
-Function8949c: ; 8949c
- ld a, [rSVBK]
- push af
- ld a, 5
- ld [rSVBK], a
- ld hl, Palette_894b3
- ld de, Unkn1Pals + 8 * 7
- ld bc, 8
- call CopyBytes
- pop af
- ld [rSVBK], a
- ret
-; 894b3
-
-Palette_894b3: ; 894b3
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-; 894bb
-
-Function894bb: ; 894bb
- call Function894dc
- push bc
- call Function8956f
- call Function8949c
- call Function8a60d
- pop bc
- ret
-; 894ca
-
-
-Function894ca: ; 894ca (22:54ca)
- push bc
- call Function894dc
- call Function895c7
- call Function8949c
- call Function8a60d
- call SetPalettes
- pop bc
- ret
-
-Function894dc: ; 894dc
- push bc
- ld a, [rSVBK]
- push af
- ld a, 5
- ld [rSVBK], a
- ld c, d
- ld b, 0
- ld hl, Unknown_89509
-rept 2
- add hl, bc
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld de, Unkn1Pals
- ld bc, 24
- call CopyBytes
- ld hl, Palette_89557
- ld de, wd018
- ld bc, 24
- call CopyBytes
- pop af
- ld [rSVBK], a
- pop bc
- ret
-; 89509
-
-Unknown_89509: ; 89509
- dw Palette_8950f
- dw Palette_89527
- dw Palette_8953f
-; 8950f
-
-Palette_8950f: ; 8950f
- RGB 31, 31, 31
- RGB 10, 17, 13
- RGB 10, 08, 22
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 16, 20, 31
- RGB 10, 08, 22
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 16, 20, 31
- RGB 10, 17, 13
- RGB 00, 00, 00
-
-Palette_89527: ; 89527
- RGB 31, 31, 31
- RGB 30, 22, 11
- RGB 31, 08, 15
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 16, 20, 31
- RGB 31, 08, 15
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 16, 20, 31
- RGB 30, 22, 11
- RGB 00, 00, 00
-
-Palette_8953f: ; 8953f
- RGB 31, 31, 31
- RGB 15, 20, 26
- RGB 25, 07, 20
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 16, 20, 31
- RGB 25, 07, 20
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 16, 20, 31
- RGB 15, 20, 26
- RGB 00, 00, 00
-
-Palette_89557: ; 89557
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 13, 00
- RGB 14, 08, 00
-
- RGB 31, 31, 31
- RGB 16, 16, 31
- RGB 00, 00, 31
- RGB 00, 00, 00
-
- RGB 19, 31, 11
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-; 8956f
-
-Function8956f: ; 8956f
- push bc
- ld hl, 16
- add hl, bc
- ld d, h
- ld e, l
- ld hl, $000c
- add hl, bc
- ld b, h
- ld c, l
- callba Function4e929
- ld a, c
- ld [TrainerClass], a
- ld a, [rSVBK]
- push af
- ld a, 5
- ld [rSVBK], a
- ld hl, wd030
- ld a, -1
- ld [hli], a
- ld a, " "
- ld [hl], a
- pop af
- ld [rSVBK], a
- ld a, [TrainerClass]
- ld h, 0
- ld l, a
-rept 2
- add hl, hl
-endr
- ld de, TrainerPalettes
- add hl, de
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld de, wd032
- ld c, 4
-.loop
- ld a, BANK(TrainerPalettes)
- call GetFarByte
- ld [de], a
- inc de
- inc hl
- dec c
- jr nz, .loop
- ld hl, wd036
- xor a
- ld [hli], a
- ld [hl], a
- pop af
- ld [rSVBK], a
- pop bc
- ret
-; 895c7
-
-
-Function895c7: ; 895c7 (22:55c7)
- ld a, [rSVBK] ; $ff00+$70
- push af
- ld a, 5
- ld [rSVBK], a ; $ff00+$70
- ld hl, Palette_895de
- ld de, wd030
- ld bc, 8
- call CopyBytes
- pop af
- ld [rSVBK], a ; $ff00+$70
- ret
-; 895de (22:55de)
-
-Palette_895de: ; 895de
- RGB 31, 31, 31
- RGB 07, 07, 06
- RGB 07, 07, 06
- RGB 00, 00, 00
-; 895e6
-
-Function895e6: ; 895e6
- ld a, 7
- hlcoord 0, 0, AttrMap
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- call ByteFill
- ret
-; 895f2
-
-Function895f2: ; 895f2
- push bc
- xor a
- hlcoord 0, 0, AttrMap
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- call ByteFill
- call Function89605
- call Function89655
- pop bc
- ret
-; 89605
-
-Function89605: ; 89605
- hlcoord 19, 2, AttrMap
- ld a, 1
- ld de, SCREEN_WIDTH
- ld c, 14
-.loop
- ld [hl], a
- dec c
- jr z, .done
- add hl, de
- inc a
- ld [hl], a
- dec a
- add hl, de
- dec c
- jr nz, .loop
-
-.done
- hlcoord 0, 16, AttrMap
- ld c, 10
- ld a, 2
-.loop2
- ld [hli], a
- dec a
- ld [hli], a
- inc a
- dec c
- jr nz, .loop2
- hlcoord 1, 11, AttrMap
- ld a, 4
- ld bc, 4
- call ByteFill
- ld a, 5
- ld bc, 14
- call ByteFill
- ret
-; 8963d
-
-Function8963d: ; 8963d
- hlcoord 12, 3, AttrMap
- ld a, 6
- ld de, SCREEN_WIDTH
- lb bc, 7, 7
-.loop
- push hl
- ld c, 7
-.next
- ld [hli], a
- dec c
- jr nz, .next
- pop hl
- add hl, de
- dec b
- jr nz, .loop
- ret
-; 89655
-
-Function89655: ; 89655
- hlcoord 1, 12, AttrMap
- ld de, SCREEN_WIDTH
- ld a, 5
- ld b, 4
-.loop
- ld c, 18
- push hl
-.next
- ld [hli], a
- dec c
- jr nz, .next
- pop hl
- add hl, de
- dec b
- jr nz, .loop
- ret
-; 8966c
-
-Function8966c: ; 8966c
- push bc
- call Function89688
- hlcoord 4, 0
- ld c, 8
- call Function896f5
- pop bc
- ret
-; 8967a
-
-
-Function8967a: ; 8967a (22:567a)
- push bc
- call Function89688
- hlcoord 2, 0
- ld c, 12
- call Function896f5
- pop bc
- ret
-
-Function89688: ; 89688
- hlcoord 0, 0
- ld a, 1
- ld e, SCREEN_WIDTH
- call Function896e1
- ld a, 2
- ld e, SCREEN_WIDTH
- call Function896eb
- ld a, 3
- ld [hli], a
- ld a, 4
- ld e, SCREEN_HEIGHT
- call Function896e1
- ld a, 6
- ld [hli], a
- push bc
- ld c, 13
-.loop
- call Function896cb
- dec c
- jr z, .done
- call Function896d6
- dec c
- jr nz, .loop
-
-.done
- pop bc
- ld a, 25
- ld [hli], a
- ld a, 26
- ld e, SCREEN_HEIGHT
- call Function896e1
- ld a, 28
- ld [hli], a
- ld a, 2
- ld e, SCREEN_WIDTH
- call Function896eb
- ret
-; 896cb
-
-Function896cb: ; 896cb
- ld de, SCREEN_WIDTH - 1
- ld a, 7
- ld [hl], a
- add hl, de
- ld a, 9
- ld [hli], a
- ret
-; 896d6
-
-Function896d6: ; 896d6
- ld de, SCREEN_WIDTH - 1
- ld a, 10
- ld [hl], a
- add hl, de
- ld a, 11
- ld [hli], a
- ret
-; 896e1
-
-Function896e1: ; 896e1
-.loop
- ld [hli], a
- inc a
- dec e
- ret z
- ld [hli], a
- dec a
- dec e
- jr nz, .loop
- ret
-; 896eb
-
-Function896eb: ; 896eb
-.loop
- ld [hli], a
- dec a
- dec e
- ret z
- ld [hli], a
- inc a
- dec e
- jr nz, .loop
- ret
-; 896f5
-
-Function896f5: ; 896f5
- call Function8971f
- call Function89736
-rept 2
- inc hl
-endr
- ld b, 2
-
-ClearScreenArea: ; 0x896ff
-; clears an area of the screen
-; INPUT:
-; hl = address of upper left corner of the area
-; b = height
-; c = width
-
- ld a, " " ; blank tile
- ld de, 20 ; screen width
-.loop
- push bc
- push hl
-.innerLoop
- ld [hli], a
- dec c
- jr nz, .innerLoop
- pop hl
- pop bc
- add hl, de
- dec b
- jr nz, .loop
-
- dec hl
-rept 2
- inc c
-endr
-.asm_89713
- ld a, $36
- ld [hli], a
- dec c
- ret z
- ld a, $18
- ld [hli], a
- dec c
- jr nz, .asm_89713 ; 0x8971c $f5
- ret
-; 0x8971f
-
-Function8971f: ; 8971f
- ld a, $2c
- ld [hli], a
- ld a, $2d
- ld [hld], a
- push hl
- ld de, SCREEN_WIDTH
- add hl, de
- ld a, $31
- ld [hli], a
- ld a, $32
- ld [hld], a
- add hl, de
- ld a, $35
- ld [hl], a
- pop hl
- ret
-; 89736
-
-Function89736: ; 89736
- push hl
-rept 2
- inc hl
-endr
- ld e, c
- ld d, $0
- add hl, de
- ld a, $2f
- ld [hli], a
- ld a, $30
- ld [hld], a
- ld de, SCREEN_WIDTH
- add hl, de
- ld a, $33
- ld [hli], a
- ld a, $34
- ld [hl], a
- add hl, de
- ld a, $1f
- ld [hl], a
- pop hl
- ret
-; 89753
-
-Function89753: ; 89753
- ld a, $c
- ld [hl], a
- xor a
- call Function89215
- ret
-; 8975b
-
-Function8975b: ; 8975b
- ld a, $1d
- ld [hli], a
- inc a
- ld [hli], a
- ld a, $d
- ld [hl], a
-rept 2
- dec hl
-endr
- ld a, $4
- ld e, $3
-.asm_89769
- call Function89215
- inc hl
- dec e
- jr nz, .asm_89769
- ret
-; 89771
-
-Function89771: ; 89771
- ld a, $12
- ld [hl], a
- ld a, $3
- call Function89215
- ret
-; 8977a
-
-Function8977a: ; 8977a
- ld e, $4
- ld d, $13
-.asm_8977e
- ld a, d
- ld [hl], a
- ld a, $4
- call Function89215
- inc hl
- inc d
- dec e
- jr nz, .asm_8977e
- ld e, $e
-.asm_8978c
- ld a, d
- ld [hl], a
- xor a
- call Function89215
- inc hl
- dec e
- jr nz, .asm_8978c
- ret
-; 89797
-
-Function89797: ; 89797
- push bc
- ld a, $e
- ld [hl], a
- ld bc, SCREEN_WIDTH
- add hl, bc
- ld a, $11
- ld [hli], a
- ld a, $10
- ld c, $8
-.asm_897a6
- ld [hli], a
- dec c
- jr nz, .asm_897a6
- ld a, $f
- ld [hl], a
- pop bc
- ret
-; 897af
-
-Function897af: ; 897af
- push bc
- ld hl, $0010
- add hl, bc
- ld d, h
- ld e, l
- ld hl, $000c
- add hl, bc
- ld b, h
- ld c, l
- callba Function4e929
- ld a, c
- ld [TrainerClass], a
- xor a
- ld [CurPartySpecies], a
- ld de, $9370
- callba GetTrainerPic
- pop bc
- ret
-; 897d5
-
-Function897d5: ; 897d5
- push bc
- call Function8934a
- jr nc, .asm_897f3
- hlcoord 12, 3, AttrMap
- xor a
- ld de, SCREEN_WIDTH
- lb bc, 7, 7
-.asm_897e5
- push hl
- ld c, $7
-.asm_897e8
- ld [hli], a
- dec c
- jr nz, .asm_897e8
- pop hl
- add hl, de
- dec b
- jr nz, .asm_897e5
- pop bc
- ret
-
-.asm_897f3
- ld a, $37
- ld [$ffad], a
- hlcoord 12, 3
- lb bc, 7, 7
- predef FillBox
- call Function8963d
- pop bc
- ret
-; 89807
-
-
-Function89807: ; 89807 (22:5807)
- ld hl, MobileAdapterGFX + $200
- ld a, [PlayerGender]
- bit 0, a
- jr z, .asm_89814
- ld hl, MobileAdapterGFX + $200 + $230
-.asm_89814
- call DisableLCD
- ld de, $9370
- ld bc, $230
- ld a, BANK(MobileAdapterGFX)
- call FarCopyBytes
- call EnableLCD
- call DelayFrame
- ret
-
-Function89829: ; 89829 (22:5829)
- push bc
- ld bc, $705
- ld de, $14
- ld a, $37
-.asm_89832
- push bc
- push hl
-.asm_89834
- ld [hli], a
- inc a
- dec c
- jr nz, .asm_89834
- pop hl
- add hl, de
- pop bc
- dec b
- jr nz, .asm_89832
- call Function8963d
- pop bc
- ret
-
-Function89844: ; 89844
- call Function89481
- call Function894bb
- call Function897af
- push bc
- call Function3200
- call SetPalettes
- pop bc
- ret
-; 89856
-
-Function89856: ; 89856
- push bc
- call Function891b8
- pop bc
- call Function895f2
- call Function8966c
- call Function899d3
- call Function898aa
- call Function898be
- call Function898dc
- call Function898f3
- push bc
- ld bc, wd008
- hlcoord 2, 10
- call Function89975
- pop bc
- call Function897d5
- ret
-; 8987f
-
-
-Function8987f: ; 8987f (22:587f)
- call Function891b8
- call Function895f2
- call Function8967a
- call Function899d3
- hlcoord 5, 1
- call Function8999c
- hlcoord 13, 3
- call Function89829
- call Function899b2
- hlcoord 5, 5
- call Function899c9
- ld bc, wd008
- hlcoord 2, 10
- call Function89975
- ret
-
-Function898aa: ; 898aa
- ld a, [MenuSelection]
- and a
- ret z
- push bc
- hlcoord 6, 1
- ld de, MenuSelection
- lb bc, PRINTNUM_LEADINGZEROS | 1, 2
- call PrintNum
- pop bc
- ret
-; 898be
-
-Function898be: ; 898be
- push bc
- ld de, DefaultFlypoint
- ld hl, DefaultFlypoint
- call Function89331
- jr nc, .asm_898cd
- ld de, String_89116
-
-.asm_898cd
- hlcoord 9, 1
- ld a, [MenuSelection]
- and a
- jr nz, .asm_898d7
- dec hl
-
-.asm_898d7
- call PlaceString
- pop bc
- ret
-; 898dc
-
-Function898dc: ; 898dc
- ld hl, $0006
- add hl, bc
- push bc
- ld d, h
- ld e, l
- call Function8934a
- jr nc, .asm_898eb
- ld de, String_89116
-
-.asm_898eb
- hlcoord 6, 4
- call PlaceString
- pop bc
- ret
-; 898f3
-
-Function898f3: ; 898f3
- push bc
- ld hl, $000c
- add hl, bc
- ld d, h
- ld e, l
- call Function8934a
- jr c, .asm_8990a
- hlcoord 5, 5
- lb bc, PRINTNUM_LEADINGZEROS | 2, 5
- call PrintNum
- jr .asm_89913
-
-.asm_8990a
- hlcoord 5, 5
- ld de, String_89116
- call PlaceString
-
-.asm_89913
- pop bc
- ret
-; 89915
-
-Function89915: ; 89915
- push bc
- push hl
- ld de, Unknown_89942
- ld c, $8
-.asm_8991c
- ld a, [de]
- ld [hl], a
- ld a, $4
- call Function89215
- inc hl
- inc de
- dec c
- jr nz, .asm_8991c
- pop hl
- ld b, $4
- ld c, $2b
- ld a, $8
- ld de, Unknown_8994a
-.asm_89932
- push af
- ld a, [de]
- cp [hl]
- jr nz, .asm_8993b
- call Function8994e
- inc de
-
-.asm_8993b
- inc hl
- pop af
- dec a
- jr nz, .asm_89932
- pop bc
- ret
-; 89942
-
-Unknown_89942: ; 89942
- db $24, $25, $26, " ", $27, $28, $29, $2a
-Unknown_8994a: ; 8994a
- db $24, $27, $29, $ff
-; 8994e
-
-Function8994e: ; 8994e
- push hl
- push de
- ld de, SCREEN_WIDTH
- ld a, l
- sub e
- ld l, a
- ld a, h
- sbc d
- ld h, a
- ld a, c
- ld [hl], a
- ld a, b
- call Function89215
- pop de
- pop hl
- ret
-; 89962
-
-Function89962: ; 89962
- push bc
- ld c, $4
- ld b, $20
-.asm_89967
- ld a, b
- ld [hl], a
- ld a, $4
- call Function89215
- inc hl
- inc b
- dec c
- jr nz, .asm_89967
- pop bc
- ret
-; 89975
-
-Function89975: ; 89975
- push bc
- ld e, $8
-.asm_89978
- ld a, [bc]
- ld d, a
- call Function8998b
- swap d
- inc hl
- ld a, d
- call Function8998b
- inc bc
- inc hl
- dec e
- jr nz, .asm_89978
- pop bc
- ret
-; 8998b
-
-Function8998b: ; 8998b
- push bc
- and $f
- cp $a
- jr nc, .asm_89997
- ld c, $f6
- add c
- jr .asm_89999
-
-.asm_89997
- ld a, $7f
-
-.asm_89999
- ld [hl], a
- pop bc
- ret
-; 8999c
-
-
-Function8999c: ; 8999c (22:599c)
- ld de, PlayerName
- call PlaceString
- inc bc
- ld h, b
- ld l, c
- ld de, String_899ac
- call PlaceString
- ret
-; 899ac (22:59ac)
-
-String_899ac: ; 899ac
- db "の めいし@"
-; 899b2
-
-Function899b2: ; 899b2 (22:59b2)
- ld bc, PlayerName
- call Function89346
- jr c, .asm_899bf
- ld de, PlayerName
- jr .asm_899c2
-.asm_899bf
- ld de, String_89116
-.asm_899c2
- hlcoord 6, 4
- call PlaceString
- ret
-
-Function899c9: ; 899c9 (22:59c9)
- ld de, PlayerID
- lb bc, PRINTNUM_LEADINGZEROS | 2, 5
- call PrintNum
- ret
-
-Function899d3: ; 899d3
- hlcoord 1, 4
- call Function89753
- hlcoord 2, 5
- call Function8975b
- hlcoord 1, 9
- call Function89771
- hlcoord 1, 11
- call Function8977a
- hlcoord 1, 5
- call Function89797
- hlcoord 2, 4
- call Function89962
- hlcoord 2, 9
- call Function89915
- ret
-; 899fe
-
-Function899fe: ; 899fe
- push bc
- push hl
- ld hl, $0019
- add hl, bc
- ld b, h
- ld c, l
- pop hl
- call Function89a0c
- pop bc
- ret
-; 89a0c
-
-Function89a0c: ; 89a0c
- push hl
- call Function89363
- pop hl
- jr c, .asm_89a1c
- ld d, h
- ld e, l
- callba Function11c08f
- ret
-
-.asm_89a1c
- ld de, String_89153
- call PlaceString
- ret
-; 89a23
-
-
-Function89a23: ; 89a23 (22:5a23)
- hlcoord 0, 11
- ld b, $4
- ld c, $12
- call Function8921f
- ret
-
-Function89a2e: ; 89a2e (22:5a2e)
- hlcoord 11, 12
- ld b, $2
- ld c, $6
- call TextBox
- hlcoord 13, 13
- ld de, String_89a4e
- call PlaceString
- hlcoord 13, 14
- ld de, String_89a53
- call PlaceString
- call Function89655
- ret
-; 89a4e (22:5a4e)
-
-String_89a4e: ; 89a4e
- db "けってい@"
-; 89a53
-
-String_89a53: ; 89a53
- db "やめる@"
-; 89a57
-
-Function89a57: ; 89a57
- call Function354b
- bit 6, c
- jr nz, .asm_89a78
- bit 7, c
- jr nz, .asm_89a81
- bit 0, c
- jr nz, .asm_89a70
- bit 1, c
- jr nz, .asm_89a70
- bit 3, c
- jr nz, .asm_89a74
- scf
- ret
-
-.asm_89a70
- ld a, $1
- and a
- ret
-
-.asm_89a74
- ld a, $2
- and a
- ret
-
-.asm_89a78
- call Function89a9b
- call nc, Function89a8a
- ld a, $0
- ret
-
-.asm_89a81
- call Function89a93
- call nc, Function89a8a
- ld a, $0
- ret
-; 89a8a
-
-Function89a8a: ; 89a8a
- push af
- ld de, SFX_UNKNOWN_62
- call PlaySFX
- pop af
- ret
-; 89a93
-
-Function89a93: ; 89a93
- ld d, $28
- ld e, $1
- call Function89aa3
- ret
-; 89a9b
-
-Function89a9b: ; 89a9b
- ld d, $1
- ld e, $ff
- call Function89aa3
- ret
-; 89aa3
-
-Function89aa3: ; 89aa3
- ld a, [MenuSelection]
- ld c, a
- push bc
-.asm_89aa8
- ld a, [MenuSelection]
- cp d
- jr z, .asm_89ac0
- add e
- jr nz, .asm_89ab2
- inc a
-
-.asm_89ab2
- ld [MenuSelection], a
- call Function89ac7
- jr nc, .asm_89aa8
- call Function89ae6
- pop bc
- and a
- ret
-
-.asm_89ac0
- pop bc
- ld a, c
- ld [MenuSelection], a
- scf
- ret
-; 89ac7
-
-Function89ac7: ; 89ac7
- call Function89160
- call Function8931b
- call Function89ad4
- call CloseSRAM
- ret
-; 89ad4
-
-Function89ad4: ; 89ad4
- push de
- call Function8932d
- jr c, .asm_89ae3
- ld hl, $0011
- add hl, bc
- call Function89b45
- jr c, .asm_89ae4
-
-.asm_89ae3
- and a
-
-.asm_89ae4
- pop de
- ret
-; 89ae6
-
-Function89ae6: ; 89ae6
- ld hl, wd031
- xor a
- ld [hl], a
- ld a, [MenuSelection]
-.asm_89aee
- cp $6
- jr c, .asm_89afc
- sub $5
- ld c, a
- ld a, [hl]
- add $5
- ld [hl], a
- ld a, c
- jr .asm_89aee
-
-.asm_89afc
- ld [wd030], a
- ret
-; 89b00
-
-
-Function89b00: ; 89b00 (22:5b00)
- callba Function49351
- ret
-; 89b07 (22:5b07)
-
-Function89b07: ; 89b07
- call Function8923c
- call DelayFrame
- callba Function4a3a7
- ret
-; 89b14
-
-Function89b14: ; 89b14
- call WhiteBGMap
- call Function89b07
- call Function89b00
- ret
-; 89b1e
-
-Function89b1e: ; 89b1e (22:5b1e)
- callba Function4a485
- call Function89b00
- ret
-
-Function89b28: ; 89b28 (22:5b28)
- call Function891de
- call WhiteBGMap
- call Function893e2
- call Call_ExitMenu
- call Function891ab
- call SetPalettes
- ret
-
-Function89b3b: ; 89b3b (22:5b3b)
- call Function8923c
- callba Function48cda
- ret
-
-Function89b45: ; 89b45
- push hl
- push bc
- ld c, $10
- ld e, $0
-.asm_89b4b
- ld a, [hli]
- ld b, a
- and $f
- cp $a
- jr c, .asm_89b5a
- ld a, c
- cp $b
- jr nc, .asm_89b74
- jr .asm_89b71
-
-.asm_89b5a
- dec c
- swap b
- inc e
- ld a, b
- and $f
- cp $a
- jr c, .asm_89b6c
- ld a, c
- cp $b
- jr nc, .asm_89b74
- jr .asm_89b71
-
-.asm_89b6c
- inc e
- dec c
- jr nz, .asm_89b4b
- dec e
-
-.asm_89b71
- scf
- jr .asm_89b75
-
-.asm_89b74
- and a
-
-.asm_89b75
- pop bc
- pop hl
- ret
-; 89b78
-
-
-Function89b78: ; 89b78 (22:5b78)
- push bc
- ld a, [wd010]
- cp $10
- jr c, .asm_89b8c
- ld a, e
- and a
- jr z, .asm_89b89
- ld c, e
-.asm_89b85
- inc hl
- dec c
- jr nz, .asm_89b85
-.asm_89b89
- ld a, $7f
- ld [hl], a
-.asm_89b8c
- ld a, [wd010]
- inc a
- and $1f
- ld [wd010], a
- pop bc
- ret
-
-Function89b97: ; 89b97 (22:5b97)
- call Function89c34
- jr c, .asm_89ba0
- call Function89448
- ret
-.asm_89ba0
- ld a, [wd011]
- ld hl, Unknown_89bd8
- and a
- jr z, .asm_89bae
-.asm_89ba9
-rept 2
- inc hl
-endr
- dec a
- jr nz, .asm_89ba9
-.asm_89bae
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld de, Sprites
-.asm_89bb4
- ld a, [hli]
- cp $ff
- ret z
- ld c, a
- ld b, $0
-.asm_89bbb
- push hl
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- add b
- ld [de], a
- inc de
- ld a, $8
- add b
- ld b, a
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- pop hl
- dec c
- jr nz, .asm_89bbb
- ld b, $0
- ld c, $4
- add hl, bc
- jr .asm_89bb4
-; 89bd8 (22:5bd8)
-
-Unknown_89bd8: ; 89bd8
- dw Unknown_89be0
- dw Unknown_89bf5
- dw Unknown_89c0a
- dw Unknown_89c1f
-; 89be0
-
-Unknown_89be0: ; 89be0
- db $01, $12, $4e, $01, $00
- db $01, $19, $4e, $01, $40
- db $01, $12, $72, $01, $20
- db $01, $19, $72, $01, $60
- db $ff
-
-Unknown_89bf5: ; 89bf5
- db $01, $60, $16, $01, $00
- db $01, $62, $16, $01, $40
- db $01, $60, $92, $01, $20
- db $01, $62, $92, $01, $60
- db $ff
-
-Unknown_89c0a: ; 89c0a
- db $01, $78, $66, $01, $00
- db $01, $78, $66, $01, $40
- db $01, $78, $92, $01, $20
- db $01, $78, $92, $01, $60
- db $ff
-
-Unknown_89c1f: ; 89c1f
- db $01, $80, $66, $01, $00
- db $01, $80, $66, $01, $40
- db $01, $80, $92, $01, $20
- db $01, $80, $92, $01, $60
- db $ff
-; 89c34
-
-Function89c34: ; 89c34 (22:5c34)
- push bc
- ld a, [wd012]
- ld c, a
- inc a
- and $f
- ld [wd012], a
- ld a, c
- cp $8
- pop bc
- ret
-
-Function89c44: ; 89c44 (22:5c44)
- call Function89c34
- jr c, .asm_89c4f
- push de
- call Function89448
- pop de
- ret
-.asm_89c4f
- ld hl, Sprites
- push de
- ld a, b
- ld [hli], a
- ld d, $8
- ld a, e
- and a
- ld a, c
- jr z, .asm_89c60
-.asm_89c5c
- add d
- dec e
- jr nz, .asm_89c5c
-.asm_89c60
- pop de
- ld [hli], a
- ld a, d
- ld [hli], a
- xor a
- ld [hli], a
- ret
-
-Function89c67: ; 89c67 (22:5c67)
- call Function354b
- ld b, $0
- bit 0, c
- jr z, .asm_89c74
- ld b, $1
- and a
- ret
-.asm_89c74
- bit 1, c
- jr z, .asm_89c7a
- scf
- ret
-.asm_89c7a
- xor a
- bit 6, c
- jr z, .asm_89c81
- ld a, $1
-.asm_89c81
- bit 7, c
- jr z, .asm_89c87
- ld a, $2
-.asm_89c87
- bit 5, c
- jr z, .asm_89c8d
- ld a, $3
-.asm_89c8d
- bit 4, c
- jr z, .asm_89c93
- ld a, $4
-.asm_89c93
- and a
- ret z
- dec a
- ld c, a
- ld d, $0
- ld hl, Unknown_89cbf
- ld a, [wd02f]
- and a
- jr z, .asm_89ca5
- ld hl, Unknown_89ccf
-.asm_89ca5
- ld a, [wd011]
- and a
- jr z, .asm_89cb1
- ld e, $4
-.asm_89cad
- add hl, de
- dec a
- jr nz, .asm_89cad
-.asm_89cb1
- ld e, c
- add hl, de
- ld a, [hl]
- and a
- ret z
- dec a
- ld [wd011], a
- xor a
- ld [wd012], a
- ret
-; 89cbf (22:5cbf)
-
-Unknown_89cbf: ; 89cbf
- db 0, 2, 0, 0
- db 1, 3, 0, 0
- db 2, 4, 0, 0
- db 3, 0, 0, 0
-
-Unknown_89ccf: ; 89ccf
- db 0, 0, 0, 0
- db 0, 3, 0, 0
- db 2, 4, 0, 0
- db 3, 0, 0, 0
-; 89cdf
-
-Function89cdf: ; 89cdf (22:5cdf)
- ld a, $10
- add b
- ld b, a
- ld a, $8
- add c
- ld c, a
- ld e, $2
- ld a, $2
- ld hl, Sprites
-.asm_89cee
- push af
- push bc
- ld d, $4
-.asm_89cf2
- ld a, b
- ld [hli], a
- ld a, c
- ld [hli], a
- ld a, e
- ld [hli], a
- ld a, $1
- ld [hli], a
- ld a, $8
- add c
- ld c, a
- inc e
- dec d
- jr nz, .asm_89cf2
- pop bc
- ld a, $8
- add b
- ld b, a
- pop af
- dec a
- jr nz, .asm_89cee
- ret
-
-Function89d0d: ; 89d0d (22:5d0d)
- call Function8923c
- ld a, [rSVBK] ; $ff00+$70
- push af
- ld a, $5
- ld [rSVBK], a ; $ff00+$70
- ld c, $8
- ld de, Unkn1Pals
-.asm_89d1c
- push bc
- ld hl, Palette_89d4e
- ld bc, $8
- call CopyBytes
- pop bc
- dec c
- jr nz, .asm_89d1c
- ld hl, Palette_89d56
- ld de, wd010
- ld bc, $8
- call CopyBytes
- pop af
- ld [rSVBK], a ; $ff00+$70
- call SetPalettes
- callba Function845db
- call Function89240
- ld c, $18
- call DelayFrames
- call RestartMapMusic
- ret
-; 89d4e (22:5d4e)
-
-Palette_89d4e: ; 89d4e
- RGB 31, 31, 31
- RGB 19, 19, 19
- RGB 15, 15, 15
- RGB 00, 00, 00
-; 89d56
-
-Palette_89d56: ; 89d56
- RGB 31, 31, 31
- RGB 19, 19, 19
- RGB 19, 19, 19
- RGB 00, 00, 00
-; 89d5e
-
-Function89d5e: ; 89d5e (22:5d5e)
- push af
- call CopyMenuDataHeader
- pop af
- ld [wcf88], a
- call Function8923c
- call Function1c89
- call Function1c10
- ld hl, wcfa5
- set 7, [hl]
- ret
-
-Function89d75: ; 89d75 (22:5d75)
- push hl
- call Function8923c
- call _hl_
- callba Function104148
- pop hl
- jr asm_89d90
-
-Function89d85: ; 89d85 (22:5d85)
- push hl
- call Function8923c
- call _hl_
- call Function3238
- pop hl
-
-asm_89d90: ; 89d90 (22:5d90)
- call Function8923c
- push hl
- call _hl_
- call Function89dab
- ld a, [wcfa9]
- push af
- call Function891ab
- pop af
- pop hl
- jr c, .asm_89da9
- jr z, asm_89d90
- scf
- ret
-.asm_89da9
- and a
- ret
-
-Function89dab: ; 89dab (22:5dab)
- call Function8923c
- callba Function241ba
- call Function8923c
- ld a, c
- ld hl, wcfa8
- and [hl]
- ret z
- bit 0, a
- jr nz, .asm_89dc7
- bit 1, a
- jr nz, .asm_89dd9
- xor a
- ret
-.asm_89dc7
- call PlayClickSFX
- ld a, [wcfa3]
- ld c, a
- ld a, [wcfa9]
- cp c
- jr z, .asm_89dd9
- call Function1bee
- scf
- ret
-.asm_89dd9
- call PlayClickSFX
- ld a, $1
- and a
- ret
-
-Function89de0: ; 89de0 (22:5de0)
- call ClearSprites
- call Function89e0a
- jr c, .asm_89e00
- ld c, $1
-.asm_89dea
- call Function8a31c
- jr z, .asm_89dfd
- ld a, [wcfa9]
- ld c, a
- push bc
- ld hl, Jumptable_89e04
- ld a, e
- dec a
- rst JumpTable
- pop bc
- jr .asm_89dea
-.asm_89dfd
- call Function891fe
-.asm_89e00
- call Function8917a
- ret
-
-Jumptable_89e04: ; 89e04 (22:5e04)
- dw Function8a62c
- dw Function8a999
- dw Function8ab93
-
-
-Function89e0a: ; 89e0a (22:5e0a)
- call Function89160
- call Function8b3b0
- call CloseSRAM
- ld hl, Jumptable_89e18
- rst JumpTable
- ret
-
-Jumptable_89e18: ; 89e18 (22:5e18)
- dw Function89e1e
- dw Function8a116
- dw Function8a2aa
-
-
-Function89e1e: ; 89e1e (22:5e1e)
- call Function89160
- ld bc, $a037
- call Function8b36c
- call CloseSRAM
- xor a
- ld [wd02d], a
-
-asm_89e2e: ; 89e2e (22:5e2e)
- ld a, [wd02d]
- ld hl, Jumptable_89e3c
- rst JumpTable
- ret
-
-Function89e36: ; 89e36 (22:5e36)
- ld hl, wd02d
- inc [hl]
- jr asm_89e2e
-
-Jumptable_89e3c: ; 89e3c (22:5e3c)
- dw Function89e6f
- dw Function89fed
- dw Function89ff6
- dw Function8a03d
- dw Function89eb9
- dw Function89efd
- dw Function89fce
- dw Function8a04c
- dw Function8a055
- dw Function8a0e6
- dw Function8a0ec
- dw Function8a0f5
- dw Function89e58
- dw Function89e68
-
-
-Function89e58: ; 89e58 (22:5e58)
- ld a, $1
- call Function8a2fe
- call Function891fe
- call Function893e2
- call Function89168
- and a
- ret
-
-Function89e68: ; 89e68 (22:5e68)
- call Function891fe
- ld a, $1
- scf
- ret
-
-Function89e6f: ; 89e6f (22:5e6f)
- call Function891de
- call Function89245
- call Function89ee1
- call Function89e9a
- hlcoord 7, 4
- call Function8a58d
- ld a, $5
- hlcoord 7, 4, AttrMap
- call Function8a5a3
- ld a, $6
- hlcoord 10, 4, AttrMap
- call Function8a5a3
- call Function891ab
- call SetPalettes
- jp Function89e36
-
-Function89e9a: ; 89e9a (22:5e9a)
- ld a, [rSVBK] ; $ff00+$70
- push af
- ld a, $5
- ld [rSVBK], a ; $ff00+$70
- ld hl, Palette_89eb1
- ld de, wd028
- ld bc, $8
- call CopyBytes
- pop af
- ld [rSVBK], a ; $ff00+$70
- ret
-; 89eb1 (22:5eb1)
-
-Palette_89eb1: ; 89eb1
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 27, 19, 00
- RGB 00, 00, 00
-; 89eb9
-
-Function89eb9: ; 89eb9 (22:5eb9)
- call Function891fe
- call Function89ee1
- call Function89e9a
- hlcoord 7, 4
- call Function8a58d
- ld a, $5
- hlcoord 7, 4, AttrMap
- call Function8a5a3
- ld a, $6
- hlcoord 10, 4, AttrMap
- call Function8a5a3
- call Function891ab
- call SetPalettes
- jp Function89e36
-
-Function89ee1: ; 89ee1 (22:5ee1)
- call WhiteBGMap
- call Function893e2
- call Function8923c
- callba Function4a3a7
- callba Function49384
- hlcoord 1, 0
- call Function8a53d
- ret
-
-Function89efd: ; 89efd (22:5efd)
- ld hl, wd012
- ld a, $ff
- ld [hli], a
- xor a
-rept 4
- ld [hli], a
-endr
- ld [hl], a
-.asm_89f09
- ld hl, wd012
- inc [hl]
- ld a, [hli]
- and $3
- jr nz, .asm_89f2e
- ld a, [hl]
- cp $4
- jr nc, .asm_89f2e
- ld b, $32
- inc [hl]
- ld a, [hl]
- dec a
- jr z, .asm_89f26
- ld c, a
-.asm_89f1f
- ld a, $b
- add b
- ld b, a
- dec c
- jr nz, .asm_89f1f
-.asm_89f26
- ld c, $e8
- ld a, [wd013]
- call Function89fa5
-.asm_89f2e
- ld a, [wd013]
- and a
- jr z, .asm_89f58
-.asm_89f34
- call Function89f6a
- ld e, a
- ld a, c
- cp $a8
- jr nc, .asm_89f4d
- cp $46
- jr c, .asm_89f4d
- ld d, $0
- dec e
- ld hl, wd014
- add hl, de
- set 0, [hl]
- inc e
- jr .asm_89f51
-.asm_89f4d
- ld a, $2
- add c
- ld c, a
-.asm_89f51
- ld a, e
- call Function89f77
- dec a
- jr nz, .asm_89f34
-.asm_89f58
- call DelayFrame
- ld hl, wd014
- ld c, $4
-.asm_89f60
- ld a, [hli]
- and a
- jr z, .asm_89f09
- dec c
- jr nz, .asm_89f60
- jp Function89e36
-
-Function89f6a: ; 89f6a (22:5f6a)
- push af
- ld de, $10
- call Function89f9a
- ld a, [hli]
- ld b, a
- ld a, [hl]
- ld c, a
- pop af
- ret
-
-Function89f77: ; 89f77 (22:5f77)
- push af
- ld de, $10
- call Function89f9a
- ld d, $2
-.asm_89f80
- push bc
- ld e, $2
-.asm_89f83
- ld a, b
- ld [hli], a
- ld a, c
- ld [hli], a
-rept 2
- inc hl
-endr
- ld a, $8
- add c
- ld c, a
- dec e
- jr nz, .asm_89f83
- pop bc
- ld a, $8
- add b
- ld b, a
- dec d
- jr nz, .asm_89f80
- pop af
- ret
-
-Function89f9a: ; 89f9a (22:5f9a)
- dec a
- ld hl, Sprites
- and a
- ret z
-.asm_89fa0
- add hl, de
- dec a
- jr nz, .asm_89fa0
- ret
-
-Function89fa5: ; 89fa5 (22:5fa5)
- ld de, $10
- call Function89f9a
- ld e, $2
- ld d, $a
-.asm_89faf
- push bc
- ld a, $2
-.asm_89fb2
- push af
- ld a, b
- ld [hli], a
- ld a, c
- ld [hli], a
- ld a, d
- inc d
- ld [hli], a
- ld a, $1
- ld [hli], a
- ld a, $8
- add c
- ld c, a
- pop af
- dec a
- jr nz, .asm_89fb2
- pop bc
- ld a, $8
- add b
- ld b, a
- dec e
- jr nz, .asm_89faf
- ret
-
-Function89fce: ; 89fce (22:5fce)
- call Function8a5b6
- ld a, $5
- hlcoord 7, 4, AttrMap
- call Function8a5a3
- ld a, $6
- hlcoord 10, 4, AttrMap
- call Function8a5a3
- call Function89448
- call SetPalettes
- call Function891ab
- jp Function89e36
-
-Function89fed: ; 89fed (22:5fed)
- ld hl, UnknownText_0x8a102
- call PrintText
- jp Function89e36
-
-Function89ff6: ; 89ff6 (22:5ff6)
- call Function891fe
- call WhiteBGMap
- call Function893cc
- call Function89807
- call Function89492
- call Function894ca
- call Function89160
- ld hl, $a603
- ld a, $ff
- ld bc, $8
- call ByteFill
- ld hl, $a603
- ld de, wd008
- call Function89381
- call CloseSRAM
- call Function8987f
- call Function89160
- hlcoord 1, 13
- ld bc, $a007
- call Function89a0c
- call CloseSRAM
- call Function891ab
- call Function89235
- jp Function89e36
-
-Function8a03d: ; 8a03d (22:603d)
- ld hl, UnknownText_0x8a107
- call Function89209
- call PrintText
- call Function8920f
- jp Function89e36
-
-Function8a04c: ; 8a04c (22:604c)
- ld hl, UnknownText_0x8a10c
- call PrintText
- jp Function89e36
-
-Function8a055: ; 8a055 (22:6055)
- ld c, $7
- ld b, $4
-.asm_8a059
- call Function8a0a1
- inc c
- call Function8a0c9
- push bc
- call Function8a58d
- pop bc
- call Function8a0de
- push bc
- push hl
- ld a, $5
- call Function8a5a3
- pop hl
-rept 3
- inc hl
-endr
- ld a, $6
- call Function8a5a3
- call Function3238
- pop bc
- ld a, c
- cp $b
- jr nz, .asm_8a059
- call Function8a0a1
- hlcoord 12, 4
- call Function8a58d
- ld a, $5
- hlcoord 12, 4, AttrMap
- call Function8a5a3
- pop hl
- ld a, $6
- hlcoord 15, 4, AttrMap
- call Function8a5a3
- call Function3238
- jp Function89e36
-
-Function8a0a1: ; 8a0a1 (22:60a1)
- call Function8923c
- push bc
- call Function8a0c9
- ld e, $6
-.asm_8a0aa
- push hl
- ld bc, $6
- add hl, bc
- ld d, [hl]
- call Function8a0c1
- pop hl
- ld [hl], d
- call Function89215
- ld bc, $14
- add hl, bc
- dec e
- jr nz, .asm_8a0aa
- pop bc
- ret
-
-Function8a0c1: ; 8a0c1 (22:60c1)
- push hl
- ld bc, AttrMap - TileMap
- add hl, bc
- ld a, [hl]
- pop hl
- ret
-
-Function8a0c9: ; 8a0c9 (22:60c9)
- push bc
- hlcoord 0, 0
- ld de, $14
- ld a, b
- and a
- jr z, .asm_8a0d8
-.asm_8a0d4
- add hl, de
- dec b
- jr nz, .asm_8a0d4
-.asm_8a0d8
- ld d, $0
- ld e, c
- add hl, de
- pop bc
- ret
-
-Function8a0de: ; 8a0de (22:60de)
- call Function8a0c9
- ld de, AttrMap - TileMap
- add hl, de
- ret
-
-Function8a0e6: ; 8a0e6 (22:60e6)
- call Function8b539
- jp Function89e36
-
-Function8a0ec: ; 8a0ec (22:60ec)
- ld hl, UnknownText_0x8a111
- call PrintText
- jp Function89e36
-
-Function8a0f5: ; 8a0f5 (22:60f5)
- call Function8b555
- jp nc, Function8a0ff
- ld hl, wd02d
- inc [hl]
-
-Function8a0ff: ; 8a0ff (22:60ff)
- jp Function89e36
-; 8a102 (22:6102)
-
-UnknownText_0x8a102: ; 0x8a102
- ; The CARD FOLDER stores your and your friends' CARDS. A CARD contains information like the person's name, phone number and profile.
- text_jump UnknownText_0x1c5238
- db "@"
-; 0x8a107
-
-UnknownText_0x8a107: ; 0x8a107
- ; This is your CARD. Once you've entered your phone number, you can trade CARDS with your friends.
- text_jump UnknownText_0x1c52bc
- db "@"
-; 0x8a10c
-
-UnknownText_0x8a10c: ; 0x8a10c
- ; If you have your friend's CARD, you can use it to make a call from a mobile phone on the 2nd floor of a #MON CENTER.
- text_jump UnknownText_0x1c531e
- db "@"
-; 0x8a111
-
-UnknownText_0x8a111: ; 0x8a111
- ; To safely store your collection of CARDS, you must set a PASSCODE for your CARD FOLDER.
- text_jump UnknownText_0x1c5394
- db "@"
-; 0x8a116
-
-Function8a116: ; 8a116 (22:6116)
- ld a, $1
- ld [wd030], a
- ld hl, MenuDataHeader_0x8a176
- call LoadMenuDataHeader
-.asm_8a121
- call Function8923c
- call Function8a17b
- jr c, .asm_8a16b
- ld a, [wcfa9]
- ld [wd030], a
- dec d
- jr z, .asm_8a140
- call Function8a20d
- jr c, .asm_8a121
- xor a
- call Function8a2fe
- call Function8916e
- jr .asm_8a16b
-.asm_8a140
- call Function89174
- jr nz, .asm_8a14c
- call Function8a241
- jr c, .asm_8a121
- jr .asm_8a15a
-.asm_8a14c
- call WaitSFX
- ld de, SFX_TWINKLE
- call PlaySFX
- ld c, $10
- call DelayFrames
-.asm_8a15a
- call ExitMenu
- call Function891de
- call Function893e2
- call Function89245
- call Function89168
- and a
- ret
-.asm_8a16b
- call Function89209
- call WriteBackup
- call Function8920f
- scf
- ret
-; 8a176 (22:6176)
-
-MenuDataHeader_0x8a176: ; 0x8a176
- db $40 ; flags
- db 00, 14 ; start coords
- db 06, 19 ; end coords
-; 8a17b
-
-Function8a17b: ; 8a17b (22:617b)
- decoord 14, 0
- ld b, $5
- ld c, $4
- call Function89b3b
- ld hl, MenuDataHeader_0x8a19a
- ld a, [wd030]
- call Function89d5e
- ld hl, Function8a1b0
- call Function89d75
- jr nc, .asm_8a198
- ld a, $0
-.asm_8a198
- ld d, a
- ret
-; 8a19a (22:619a)
-
-MenuDataHeader_0x8a19a: ; 0x8a19a
- db $40 ; flags
- db 00, 14 ; start coords
- db 06, 19 ; end coords
- dw MenuData2_0x8a1a2
- db 1 ; default option
-; 0x8a1a2
-
-MenuData2_0x8a1a2: ; 0x8a1a2
- db $e0 ; flags
- db 3 ; items
- db "ひらく@"
- db "すてる@"
- db "もどる@"
-; 0x8a1b0
-
-Function8a1b0: ; 8a1b0
- hlcoord 0, 12
- ld b, $4
- ld c, $12
- call TextBox
- hlcoord 1, 14
- ld a, [wcfa9]
- ld de, Strings_8a1cc
- dec a
- ld c, a
- call Function8919e
- call PlaceString
- ret
-; 8a1cc
-
-Strings_8a1cc: ; 8a1cc
- db "めいし", $25, "せいりと へんしゅうを"
- next "おこないます"
- db "@"
-
- db "めいしフ,ルダー", $25, "めいしと"
- next "あんしょうばんごう", $1f, "けします"
- db "@"
-
- db "まえ", $25, "がめん", $1d, "もどります"
- db "@"
-; 8a20d
-
-
-Function8a20d: ; 8a20d (22:620d)
- ld hl, UnknownText_0x8a232
- call PrintText
- ld a, $2
- call Function89259
- ret c
- ld hl, UnknownText_0x8a237
- call PrintText
- ld a, $2
- call Function89259
- ret c
- xor a
- call Function8a2fe
- ld hl, UnknownText_0x8a23c
- call PrintText
- xor a
- and a
- ret
-; 8a232 (22:6232)
-
-UnknownText_0x8a232: ; 0x8a232
- ; If the CARD FOLDER is deleted, all its CARDS and the PASSCODE will also be deleted. Beware--a deleted CARD FOLDER can't be restored. Want to delete your CARD FOLDER?
- text_jump UnknownText_0x1c53ee
- db "@"
-; 0x8a237
-
-UnknownText_0x8a237: ; 0x8a237
- ; Are you sure you want to delete it?
- text_jump UnknownText_0x1c5494
- db "@"
-; 0x8a23c
-
-UnknownText_0x8a23c: ; 0x8a23c
- ; The CARD FOLDER has been deleted.
- text_jump UnknownText_0x1c54b9
- db "@"
-; 0x8a241
-
-Function8a241: ; 8a241 (22:6241)
- call LoadMenuDataHeader_0x1d75
- call Function891fe
- call Function8a262
- jr nc, .asm_8a254
- call Function891fe
- call Function89b28
- scf
- ret
-.asm_8a254
- call Function891de
- call WhiteBGMap
- call Call_ExitMenu
- call Function891de
- and a
- ret
-
-Function8a262: ; 8a262 (22:6262)
- call WhiteBGMap
- call Function893e2
- call Function8923c
- callba Function4a3a7
- callba Function49384
- hlcoord 1, 0
- call Function8a53d
- hlcoord 12, 4
- call Function8a58d
- ld a, $5
- hlcoord 12, 4, AttrMap
- call Function8a5a3
- ld a, $6
- hlcoord 15, 4, AttrMap
- call Function8a5a3
- xor a
- ld [wd02e], a
- ld bc, wd013
- call Function8b36c
- call Function8b493
- call Function891ab
- call SetPalettes
- call Function8b5e7
- ret
-
-Function8a2aa: ; 8a2aa (22:62aa)
- ld hl, MenuDataHeader_0x8a2ef
- call LoadMenuDataHeader
- ld hl, UnknownText_0x8a2f4
- call PrintText
- ld a, $1
- call Function89259
- jr nc, .asm_8a2cf
- ld hl, UnknownText_0x8a2f9
- call PrintText
- ld a, $2
- call Function89259
- jr c, .asm_8a2ea
- call Function8a20d
- jr .asm_8a2ea
-.asm_8a2cf
- call ExitMenu
- call Function8a241
- jr c, .asm_8a2ed
- ld a, $1
- call Function8a313
- call CloseSRAM
- call Function891de
- call Function89245
- call Function89168
- and a
- ret
-.asm_8a2ea
- call WriteBackup
-.asm_8a2ed
- scf
- ret
-; 8a2ef (22:62ef)
-
-MenuDataHeader_0x8a2ef: ; 0x8a2ef
- db $40 ; flags
- db 12, 00 ; start coords
- db 17, 19 ; end coords
-; 8a2f4
-
-UnknownText_0x8a2f4: ; 0x8a2f4
- ; There is an older CARD FOLDER from a previous journey. Do you want to open it?
- text_jump UnknownText_0x1c54dd
- db "@"
-; 0x8a2f9
-
-UnknownText_0x8a2f9: ; 0x8a2f9
- ; Delete the old CARD FOLDER?
- text_jump UnknownText_0x1c552d
- db "@"
-; 0x8a2fe
-
-Function8a2fe: ; 8a2fe (22:62fe)
- call Function8a313
- call Function89305
- ld hl, $a603
- ld bc, $8
- ld a, $ff
- call ByteFill
- call CloseSRAM
- ret
-
-Function8a313: ; 8a313 (22:6313)
- ld c, a
- call Function89160
- ld a, c
- ld [$a60b], a
- ret
-
-Function8a31c: ; 8a31c (22:631c)
- push bc
- call Function8923c
- callba Function4a3a7
- callba Function49384
- hlcoord 1, 0
- call Function8a53d
- hlcoord 12, 4
- call Function8a58d
- call Function8a3b2
- pop bc
- ld a, c
- ld [wcf88], a
- ld [MenuSelection], a
- call Function1c89
- call Function1c10
- ld hl, wcfa5
- set 7, [hl]
-.asm_8a34e
- call Function8a3a2
- call Function8923c
- call Function8a453
- call Function8a4d3
- call Function8a4fc
- call Function891ab
- call SetPalettes
- call Function8a383
- jr c, .asm_8a370
- jr z, .asm_8a34e
-.asm_8a36a
- call Function89448
- xor a
- ld e, a
- ret
-.asm_8a370
- call Function89448
- call Function1bee
- call Function8a3a2
- ld a, [MenuSelection]
- cp $ff
- jr z, .asm_8a36a
- ld e, a
- and a
- ret
-
-Function8a383: ; 8a383 (22:6383)
- callba Function241ba
- ld a, c
- ld hl, wcfa8
- and [hl]
- ret z
- bit 0, a
- jr nz, .asm_8a399
- bit 1, a
- jr nz, .asm_8a39e
- xor a
- ret
-.asm_8a399
- call PlayClickSFX
- scf
- ret
-.asm_8a39e
- call PlayClickSFX
- ret
-
-Function8a3a2: ; 8a3a2 (22:63a2)
- ld a, [wcfa9]
- dec a
- ld hl, DefaultFlypoint
- ld e, a
- ld d, $0
- add hl, de
- ld a, [hl]
- ld [MenuSelection], a
- ret
-
-Function8a3b2: ; 8a3b2 (22:63b2)
- ld a, $1
- ld [MenuSelection], a
- call Function8a4fc
- call Function8a3df
- jr nc, .asm_8a3ce
- decoord 0, 2
- ld b, $6
- ld c, $9
- call Function89b3b
- ld hl, MenuDataHeader_0x8a435
- jr .asm_8a3db
-.asm_8a3ce
- decoord 0, 2
- ld b, $8
- ld c, $9
- call Function89b3b
- ld hl, MenuDataHeader_0x8a40f
-.asm_8a3db
- call CopyMenuDataHeader
- ret
-
-Function8a3df: ; 8a3df (22:63df)
- call Function89160
- ld hl, $a603
- call Function89b45
- call CloseSRAM
- ld hl, DefaultFlypoint
- jr c, .asm_8a3f8
- ld de, Unknown_8a408
- call Function8a400
- scf
- ret
-.asm_8a3f8
- ld de, Unknown_8a40b
- call Function8a400
- and a
- ret
-
-Function8a400: ; 8a400 (22:6400)
- ld a, [de]
- inc de
- ld [hli], a
- cp $ff
- jr nz, Function8a400
- ret
-; 8a408 (22:6408)
-
-Unknown_8a408: db 1, 2, -1
-Unknown_8a40b: db 1, 2, 3, -1
-
-MenuDataHeader_0x8a40f: ; 0x8a40f
- db $40 ; flags
- db 02, 00 ; start coords
- db 11, 10 ; end coords
- dw MenuData2_0x8a417
- db 1 ; default option
-; 0x8a417
-
-MenuData2_0x8a417: ; 0x8a417
- db $a0 ; flags
- db 4 ; items
- db "めいしりスト@"
- db "じぶんの めいし@"
- db "めいしこうかん@"
- db "やめる@"
-; 0x8a435
-
-MenuDataHeader_0x8a435: ; 0x8a435
- db $40 ; flags
- db 02, 00 ; start coords
- db 09, 10 ; end coords
- dw MenuData2_0x8a43d
- db 1 ; default option
-; 0x8a43d
-
-MenuData2_0x8a43d: ; 0x8a43d
- db $a0 ; flags
- db 3 ; items
- db "めいしりスト@"
- db "じぶんの めいし@"
- db "やめる@"
-; 0x8a453
-
-Function8a453: ; 8a453 (22:6453)
- hlcoord 0, 12
- ld b, $4
- ld c, $12
- call TextBox
- hlcoord 1, 14
- ld de, String_8a476
- ld a, [MenuSelection]
- cp $ff
- jr z, .asm_8a472
- ld de, Strings_8a483
- dec a
- ld c, a
- call Function8919e
-.asm_8a472
- call PlaceString
- ret
-; 8a476 (22:6476)
-
-String_8a476: ; 8a476
- db "まえ", $25, "がめん", $1d, "もどります@"
-; 8a483
-
-Strings_8a483: ; 8a483
- db "おともだち", $25, "めいしは"
- next "ここ", $1d, "いれておきます@"
-
- db "でんわばんごう", $1f, "いれると"
- next "めいしこうかん", $4a, "できます@"
-
- db "ともだちと じぶん", $25, "めいしを"
- next "せきがいせんで こうかん します@"
-; 8a4d3
-
-Function8a4d3: ; 8a4d3 (22:64d3)
- ld a, [MenuSelection]
- cp $1
- jr nz, .asm_8a4eb
- ld a, $5
- hlcoord 12, 4, AttrMap
- call Function8a5a3
- ld a, $7
- hlcoord 15, 4, AttrMap
- call Function8a5a3
- ret
-.asm_8a4eb
- ld a, $7
- hlcoord 12, 4, AttrMap
- call Function8a5a3
- ld a, $6
- hlcoord 15, 4, AttrMap
- call Function8a5a3
- ret
-
-Function8a4fc: ; 8a4fc (22:64fc)
- ld a, [MenuSelection]
- cp $3
- jr nz, asm_8a529
- ld hl, wd012
- ld a, [hli]
- ld b, a
- ld a, [hld]
- add b
- ld [hl], a
- ld b, a
- ld c, $80
- call Function89cdf
- call Function8a515
- ret
-
-Function8a515: ; 8a515 (22:6515)
- ld hl, wd012
- ld a, [hl]
- cp $38
- jr c, .asm_8a520
- cp $3c
- ret c
-.asm_8a520
- ld a, [wd013]
- cpl
- inc a
- ld [wd013], a
- ret
-
-asm_8a529: ; 8a529 (22:6529)
- ld hl, wd012
- ld a, $3c
- ld [hli], a
- ld a, $ff
- ld [hli], a
- ld hl, Sprites
- xor a
- ld bc, $20
- call ByteFill
- ret
-
-Function8a53d: ; 8a53d (22:653d)
- push hl
- ld a, $15
- ld c, $8
- ld de, $14
- call Function8a573
- ld a, $1d
- ld c, $9
- call Function8a57c
- inc a
- ld [hl], a
- call Function8a584
- pop hl
- add hl, de
- ld a, $1f
- ld c, $8
- call Function8a573
- dec hl
- ld a, $51
- ld [hli], a
- ld a, $26
- ld c, $1
- call Function8a57c
- ld a, $52
- ld c, $3
- call Function8a573
- ld a, $27
- ld c, $6
-
-Function8a573: ; 8a573 (22:6573)
- ld [hl], a
- call Function8a584
- inc a
- dec c
- jr nz, Function8a573
- ret
-
-Function8a57c: ; 8a57c (22:657c)
- ld [hl], a
- call Function8a584
- dec c
- jr nz, Function8a57c
- ret
-
-Function8a584: ; 8a584 (22:6584)
- push af
- ld a, $4
- call Function89215
- inc hl
- pop af
- ret
-
-Function8a58d: ; 8a58d (22:658d)
- ld a, $2d
- ld bc, $606
- ld de, $14
-.asm_8a595
- push bc
- push hl
-.asm_8a597
- ld [hli], a
- inc a
- dec c
- jr nz, .asm_8a597
- pop hl
- add hl, de
- pop bc
- dec b
- jr nz, .asm_8a595
- ret
-
-Function8a5a3: ; 8a5a3 (22:65a3)
- ld bc, $603
- ld de, $14
-.asm_8a5a9
- push bc
- push hl
-.asm_8a5ab
- ld [hli], a
- dec c
- jr nz, .asm_8a5ab
- pop hl
- add hl, de
- pop bc
- dec b
- jr nz, .asm_8a5a9
- ret
-
-Function8a5b6: ; 8a5b6 (22:65b6)
- ld a, [rSVBK] ; $ff00+$70
- push af
- ld a, $5
- ld [rSVBK], a ; $ff00+$70
- ld hl, Palette_8a5e5
- ld de, wd020
- ld bc, $18
- call CopyBytes
- ld hl, Palette_8a5fd
- ld de, Unkn2Pals
- ld bc, $8
- call CopyBytes
- ld hl, Palette_8a605
- ld de, wd048
- ld bc, $8
- call CopyBytes
- pop af
- ld [rSVBK], a ; $ff00+$70
- ret
-; 8a5e5 (22:65e5)
-
-Palette_8a5e5: ; 8a5e5
- RGB 31, 31, 31
- RGB 27, 19, 00
- RGB 07, 11, 22
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 16, 16, 31
- RGB 27, 19, 00
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 31, 00, 00
- RGB 27, 19, 00
- RGB 00, 00, 00
-; 8a5fd
-
-Palette_8a5fd: ; 8a5fd
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 31, 31, 31
-; 8a605
-
-Palette_8a605: ; 8a605
- RGB 00, 00, 00
- RGB 14, 18, 31
- RGB 16, 16, 31
- RGB 31, 31, 31
-; 8a60d
-
-Function8a60d: ; 8a60d
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, Palette_8a624
- ld de, Unkn2Pals
- ld bc, $0008
- call CopyBytes
- pop af
- ld [rSVBK], a
- ret
-; 8a624
-
-Palette_8a624: ; 8a624
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-; 8a62c
-
-Function8a62c: ; 8a62c (22:662c)
- call LoadMenuDataHeader_0x1d75
- call Function891fe
- xor a
- call Function8b94a
- call Function8b677
-.asm_8a639
- xor a
- ld [wd033], a
- ld [wd032], a
- ld [wd0e3], a
- call Function8b7bd
- ld a, c
- and a
- jr z, .asm_8a66a
- ld [MenuSelection], a
- ld b, a
- ld a, [wcf77]
- inc a
- ld [wd034], a
- push bc
- call Function8b960
- ld a, c
- pop bc
- jr z, .asm_8a639
- ld c, a
- ld hl, Jumptable_8a671
- ld a, b
- ld [MenuSelection], a
- ld a, c
- dec a
- rst JumpTable
- jr .asm_8a639
-.asm_8a66a
- call Function891fe
- call Function89b28
- ret
-
-Jumptable_8a671: ; 8a671 (22:6671)
- dw Function8a679
- dw Function8a6cd
- dw Function8a8c3
- dw Function8a930
-
-
-Function8a679: ; 8a679 (22:6679)
- call Function891de
- call WhiteBGMap
- call Function893cc
- call Function89160
- call Function8931b
- call Function89844
- call CloseSRAM
- call Function89160
- call Function8939a
- call Function89856
- hlcoord 1, 13
- call Function899fe
- call Function891ab
- call CloseSRAM
-.asm_8a6a3
- call Function89a57
- jr c, .asm_8a6a3
- and a
- jr z, Function8a679
- ld hl, Jumptable_8a6bc
- dec a
- rst JumpTable
- jr c, Function8a679
- call Function891fe
- call Function8b677
- call Function89448
- ret
-
-Jumptable_8a6bc: ; 8a6bc (22:66bc)
- dw Function8a6c0
- dw Function8a6c5
-
-
-Function8a6c0: ; 8a6c0 (22:66c0)
- call PlayClickSFX
- and a
- ret
-
-Function8a6c5: ; 8a6c5 (22:66c5)
- call PlayClickSFX
- call Function89d0d
- scf
- ret
-
-Function8a6cd: ; 8a6cd (22:66cd)
- call Function891de
- call WhiteBGMap
- call Function893cc
- call Function89160
- call Function8931b
- call Function89844
- call Function8a757
- call CloseSRAM
-.asm_8a6e5
- call Function89160
- call Function8931b
- call Function89856
- call Function89a2e
- call Function891ab
- xor a
- ld [wd02f], a
- call CloseSRAM
-.asm_8a6fb
- call Function89b97
- call Function89c67
- jr c, .asm_8a718
- ld a, b
- and a
- jr z, .asm_8a6fb
- call PlayClickSFX
- call Function89448
- ld a, [wd011]
- ld hl, Jumptable_8a74f
- rst JumpTable
- jr nc, .asm_8a6e5
- jr .asm_8a742
-.asm_8a718
- call Function89160
- call Function8a765
- call CloseSRAM
- jr nc, .asm_8a73f
- call Function8923c
- call Function89448
- call Function89a23
- hlcoord 1, 13
- ld de, String_89135
- call PlaceString
- call WaitBGMap
- ld a, $2
- call Function89254
- jr c, .asm_8a6e5
-.asm_8a73f
- call CloseSRAM
-.asm_8a742
- call WhiteBGMap
- call Function89448
- call Function891d3
- call Function8b677
- ret
-
-Jumptable_8a74f: ; 8a74f (22:674f)
- dw Function8a78c
- dw Function8a7cb
- dw Function8a818
- dw Function8a8a1
-
-
-Function8a757: ; 8a757 (22:6757)
- call Function8939a
- xor a
- ld [wd010], a
- ld [wd011], a
- ld [wd012], a
- ret
-
-Function8a765: ; 8a765 (22:6765)
- call Function8931b
- push bc
- ld hl, $0
- add hl, bc
- ld de, DefaultFlypoint
- ld c, $6
- call Function89185
- pop bc
- jr nz, .asm_8a78a
- push bc
- ld hl, $11
- add hl, bc
- ld de, wd008
- ld c, $8
- call Function89185
- pop bc
- jr nz, .asm_8a78a
- and a
- ret
-.asm_8a78a
- scf
- ret
-
-Function8a78c: ; 8a78c (22:678c)
- call Function891fe
- ld de, DefaultFlypoint
- ld b, $5
- callba Function116c1
- call Function89160
- call Function8931b
- push bc
- ld hl, $0
- add hl, bc
- ld d, h
- ld e, l
- ld hl, DefaultFlypoint
- call InitName
- call CloseSRAM
- call DelayFrame
- call Functiona57
- call Function891de
- call WhiteBGMap
- call Function893cc
- call Function89160
- pop bc
- call Function89844
- call CloseSRAM
- and a
- ret
-
-Function8a7cb: ; 8a7cb (22:67cb)
- ld a, [MenuSelection]
- push af
- call Function891de
- ld de, wd008
- ld c, $0
- callba Function17a68f
- jr c, .asm_8a7f4
- ld hl, wd008
- ld a, $ff
- ld bc, $8
- call ByteFill
- ld h, d
- ld l, e
- ld de, wd008
- ld c, $8
- call Function89193
-.asm_8a7f4
- pop af
- ld [MenuSelection], a
- call Function891de
- call WhiteBGMap
- call Function893cc
- call Function89160
- call Function8931b
- call Function89844
- call Function89856
- call Function89a2e
- call Function891ab
- call CloseSRAM
- and a
- ret
-
-Function8a818: ; 8a818 (22:6818)
- call Function89a23
- ld hl, DefaultFlypoint
- call Function89331
- jr c, .asm_8a875
- ld hl, wd008
- call Function89b45
- jr nc, .asm_8a87a
- call Function89160
- call Function8a765
- jr nc, .asm_8a863
- call Function8931b
- push bc
- ld hl, $0
- add hl, bc
- ld d, h
- ld e, l
- ld hl, DefaultFlypoint
- ld c, $6
- call Function89193
- pop bc
- ld hl, $11
- add hl, bc
- ld d, h
- ld e, l
- ld hl, wd008
- ld c, $8
- call Function89193
- hlcoord 1, 13
- ld de, .string_8a868
- call PlaceString
- call WaitBGMap
- call Functiona36
-.asm_8a863
- call CloseSRAM
- scf
- ret
-; 8a868 (22:6868)
-
-.string_8a868
- db "めいし", $1f, "かきかえ まし", $22, "@"
-
-.asm_8a875
- ld de, String_8a88b
- jr .asm_8a87d
-.asm_8a87a
- ld de, String_8911c
-.asm_8a87d
- hlcoord 1, 13
- call PlaceString
- call WaitBGMap
- call Functiona36
- and a
- ret
-; 8a88b (22:688b)
-
-String_8a88b: ; 8a88b
- db "おともだち", $25, "なまえが"
- next "かかれて いません!@"
-; 8a8a1
-
-Function8a8a1: ; 8a8a1 (22:68a1)
- call Function89160
- call Function8a765
- call CloseSRAM
- jr nc, .asm_8a8bf
- call Function89a23
- hlcoord 1, 13
- ld de, String_89135
- call PlaceString
- ld a, $2
- call Function89254
- jr c, .asm_8a8c1
-.asm_8a8bf
- scf
- ret
-.asm_8a8c1
- and a
- ret
-
-Function8a8c3: ; 8a8c3 (22:68c3)
- call Function891de
- call WhiteBGMap
- call Function893cc
- call Function89160
- call Function8931b
- call Function89844
- call Function8939a
- call Function89856
- call CloseSRAM
- call Function891ab
- hlcoord 1, 13
- ld de, String_8a919
- call PlaceString
- ld a, $2
- call Function89254
- jr c, .asm_8a90f
- call Function89160
- call Function892b4
- call CloseSRAM
- call Function89a23
- call Function8923c
- hlcoord 1, 13
- ld de, String_8a926
- call PlaceString
- call WaitBGMap
- call Functiona36
-.asm_8a90f
- call Function89448
- call Function891fe
- call Function8b677
- ret
-; 8a919 (22:6919)
-
-String_8a919: ; 8a919
- db "このデータ", $1f, "けしますか?@"
-; 8a926
-
-String_8a926: ; 8a926
- db "データ", $1f, "けしまし", $22, "@"
-; 8a930
-
-Function8a930: ; 8a930 (22:6930)
- ld a, [MenuSelection]
- push af
- xor a
- ld [wd032], a
- ld a, $1
- ld [wd033], a
- ld a, [wd034]
- ld [wd0e3], a
-.asm_8a943
- call Function8b7bd
- ld a, [wcf73]
- and $1
- jr nz, .asm_8a953
- ld a, c
- and a
- jr nz, .asm_8a943
- pop af
- ret
-.asm_8a953
- call Function89160
- pop af
- cp c
- jr z, .asm_8a995
- push bc
- ld [MenuSelection], a
- call Function8931b
- push bc
- ld h, b
- ld l, c
- ld de, DefaultFlypoint
- ld bc, $25
- call CopyBytes
- pop de
- pop bc
- ld a, c
- ld [MenuSelection], a
- call Function8931b
- push bc
- ld h, b
- ld l, c
- ld bc, $25
- call CopyBytes
- pop de
- ld hl, DefaultFlypoint
- ld bc, $25
- call CopyBytes
- ld de, SFX_SWITCH_POKEMON
- call WaitPlaySFX
- ld de, SFX_SWITCH_POKEMON
- call WaitPlaySFX
-.asm_8a995
- call CloseSRAM
- ret
-
-Function8a999: ; 8a999 (22:6999)
- ld hl, MenuDataHeader_0x8a9c9
- call LoadMenuDataHeader
- ld c, $1
-.asm_8a9a1
- call Function8a9ce
- jr c, .asm_8a9bb
- push bc
- push de
- call LoadMenuDataHeader_0x1d75
- pop de
- dec e
- ld a, e
- ld hl, Jumptable_8a9c5
- rst JumpTable
- call Function891fe
- call Function89b28
- pop bc
- jr .asm_8a9a1
-.asm_8a9bb
- call Function89209
- call WriteBackup
- call Function8920f
- ret
-
-Jumptable_8a9c5: ; 8a9c5 (22:69c5)
- dw Function8aa0a
- dw Function8ab3b
-; 8a9c9 (22:69c9)
-
-MenuDataHeader_0x8a9c9: ; 0x8a9c9
- db $40 ; flags
- db 04, 11 ; start coords
- db 11, 18 ; end coords
-; 8a9ce
-
-Function8a9ce: ; 8a9ce (22:69ce)
- push bc
- decoord 11, 4
- ld b, $6
- ld c, $6
- call Function89b3b
- pop bc
- ld a, c
- ld hl, MenuDataHeader_0x8a9f2
- call Function89d5e
- ld hl, Function8aa09
- call Function89d85
- jr c, .asm_8a9ed
- ld c, a
- ld e, a
- and a
- ret
-.asm_8a9ed
- ld c, a
- ld e, $0
- scf
- ret
-; 8a9f2 (22:69f2)
-
-MenuDataHeader_0x8a9f2: ; 0x8a9f2
- db $40 ; flags
- db 04, 11 ; start coords
- db 11, 18 ; end coords
- dw MenuData2_0x8a9fa
- db 1 ; default option
-; 0x8a9fa
-
-MenuData2_0x8a9fa: ; 0x8a9fa
- db $a0 ; flags
- db 3 ; items
- db "へんしゅう@"
- db "みる@"
- db "やめる@"
-; 0x8aa09
-
-Function8aa09: ; 8aa09
- ret
-; 8aa0a
-
-Function8aa0a: ; 8aa0a (22:6a0a)
- ld a, $1
- ld [wd02f], a
- ld [wd011], a
- xor a
- ld [wd010], a
- ld [wd012], a
- call Function89160
- ld hl, $a603
- ld de, wd008
- call Function89381
- call CloseSRAM
- call Function891fe
- call WhiteBGMap
- call Function893cc
- call Function89807
- call Function89492
- call Function894ca
-.asm_8aa3a
- call Function8987f
- call Function89a2e
- call Function891ab
-.asm_8aa43
- call Function89b97
- call Function89c67
- jr c, .asm_8aa61
- ld a, b
- and a
- jr z, .asm_8aa43
- call PlayClickSFX
- call Function89448
- ld a, [wd011]
- dec a
- ld hl, Jumptable_8aa6d
- rst JumpTable
- jr nc, .asm_8aa3a
- jr .asm_8aa69
-.asm_8aa61
- call Function89448
- call Function8ab11
- jr nc, .asm_8aa3a
-.asm_8aa69
- call Function89448
- ret
-
-Jumptable_8aa6d: ; 8aa6d (22:6a6d)
- dw Function8aa73
- dw Function8aab6
- dw Function8ab11
-
-
-Function8aa73: ; 8aa73 (22:6a73)
- ld a, [MenuSelection]
- ld e, a
- push de
- call Function891de
- ld de, wd008
- ld c, $0
- callba Function17a68f
- jr c, .asm_8aa9d
- ld hl, wd008
- ld a, $ff
- ld bc, $8
- call ByteFill
- ld h, d
- ld l, e
- ld de, wd008
- ld c, $8
- call Function89193
-.asm_8aa9d
- call Function891fe
- call WhiteBGMap
- call Function893cc
- call Function89807
- call Function89492
- call Function894ca
- pop de
- ld a, e
- ld [MenuSelection], a
- and a
- ret
-
-Function8aab6: ; 8aab6 (22:6ab6)
- call Function89a23
- ld hl, wd008
- call Function89b45
- jr nc, Function8ab00
- call Function89160
- ld de, wd008
- ld hl, $a603
- ld c, $8
- call Function89185
- jr z, .asm_8aaeb
- ld hl, wd008
- ld de, $a603
- ld c, $8
- call Function89193
- hlcoord 1, 13
- ld de, String_8aaf0
- call PlaceString
- call WaitBGMap
- call Functiona36
-.asm_8aaeb
- call CloseSRAM
- scf
- ret
-; 8aaf0 (22:6af0)
-
-String_8aaf0: ; 8aaf0
- db "あたらしい めいし", $4a, "できまし", $22, "@"
-; 8ab00
-
-Function8ab00: ; 8ab00
- ld de, String_8911c
- hlcoord 1, 13
- call PlaceString
- call WaitBGMap
- call Function89235
- and a
- ret
-
-Function8ab11: ; 8ab11 (22:6b11)
- call Function89160
- ld hl, $a603
- ld de, wd008
- ld c, $8
- call Function89185
- call CloseSRAM
- jr z, .asm_8ab37
- call Function89a23
- hlcoord 1, 13
- ld de, String_89135
- call PlaceString
- ld a, $2
- call Function89254
- jr c, .asm_8ab39
-.asm_8ab37
- scf
- ret
-.asm_8ab39
- and a
- ret
-
-Function8ab3b: ; 8ab3b (22:6b3b)
- call Function891fe
- call WhiteBGMap
- call Function893cc
- call Function89807
- call Function89492
- call Function894ca
- call Function89160
- ld hl, $a603
- ld de, wd008
- call Function89381
- call CloseSRAM
- call Function8987f
- call Function89160
- hlcoord 1, 13
- ld bc, $a007
- call Function89a0c
- call CloseSRAM
- call Function891ab
- call Function8ab77
- jr c, Function8ab3b
- ret
-
-Function8ab77: ; 8ab77 (22:6b77)
- call Function354b
- bit 0, c
- jr nz, .asm_8ab8e
- bit 1, c
- jr nz, .asm_8ab8e
- bit 3, c
- jr z, Function8ab77
- call PlayClickSFX
- call Function89d0d
- scf
- ret
-.asm_8ab8e
- call PlayClickSFX
- and a
- ret
-
-Function8ab93: ; 8ab93 (22:6b93)
- call WhiteBGMap
- call LoadMenuDataHeader_0x1d75
- callba Function105688
- call ClearSprites
- call Function891fe
- call Function89b28
- ret
-; 8aba9 (22:6ba9)
-
-Function8aba9: ; 8aba9
- ld a, $2
- call Function8b94a
- ld a, $1
- ld [wd032], a
-.asm_8abb3
- call Function891fe
- call Function8b677
-.asm_8abb9
- call Function8b7bd
- jr z, .asm_8abdf
- ld a, c
- ld [MenuSelection], a
- call Function89160
- call Function8931b
- ld hl, $0011
- add hl, bc
- call Function89b45
- call CloseSRAM
- jr c, .asm_8abe2
- ld de, SFX_WRONG
- call WaitPlaySFX
- call CloseSRAM
- jr .asm_8abb9
-
-.asm_8abdf
- xor a
- ld c, a
- ret
-
-.asm_8abe2
- call PlayClickSFX
-.asm_8abe5
- call Function891de
- call WhiteBGMap
- call Function893cc
- call Function89160
- call Function8931b
- call Function89844
- call CloseSRAM
- call Function89160
- call Function8939a
- call Function89856
- hlcoord 1, 13
- call Function899fe
- call CloseSRAM
- call Function891ab
-.asm_8ac0f
- call Function89a57
- jr c, .asm_8ac0f
- and a
- jr z, .asm_8abe5
- cp $2
- jr z, .asm_8ac0f
- hlcoord 0, 12
- ld b, $4
- ld c, $12
- call TextBox
- hlcoord 1, 14
- ld de, String_8ac3b
- call PlaceString
- ld a, $1
- call Function8925e
- jp c, .asm_8abb3
- ld a, [MenuSelection]
- ld c, a
- ret
-; 8ac3b
-
-String_8ac3b: ; 8ac3b
- db "こ", $25, "ともだち", $1d, "でんわを"
- next "かけますか?@"
-; 8ac4e
-
-Function8ac4e: ; 8ac4e
- xor a
- ld [MenuSelection], a
- push de
- call Function891de
- call WhiteBGMap
- call Function893cc
- pop bc
- call Function89844
- call Function8939a
- call Function89856
- hlcoord 1, 13
- call Function899fe
- call Function891ab
- ret
-; 8ac70
-
-Function8ac70: ; 8ac70
- push de
- ld a, $3
- call Function8b94a
-
-Function8ac76: ; 8ac76
- call Function891fe
- call Function8b677
-
-Function8ac7c: ; 8ac7c
- call Function8b7bd
- jr z, .asm_8acf0
- ld a, c
- ld [wd02f], a
- ld [MenuSelection], a
- call Function89160
- call Function8931b
- call Function8932d
- call CloseSRAM
- jr nc, .asm_8acb0
- call Function89160
- ld hl, $0011
- add hl, bc
- call Function89b45
- call CloseSRAM
- jr nc, .asm_8accc
- call Function89160
- call Function892b7
- call CloseSRAM
- jr .asm_8accc
-
-.asm_8acb0
- call Function8ad0b
- jr c, Function8ac76
- and a
- jr nz, .asm_8accc
- call Function89160
- ld h, b
- ld l, c
- ld d, $0
- ld e, $6
- add hl, de
- ld d, h
- ld e, l
- pop hl
- ld c, $1f
- call Function89193
- jr .asm_8ace4
-
-.asm_8accc
- pop hl
- call Function89160
- ld d, b
- ld e, c
- ld c, $6
- call Function89193
- ld a, $6
- add e
- ld e, a
- ld a, $0
- adc d
- ld d, a
- ld c, $1f
- call Function89193
-
-.asm_8ace4
- call CloseSRAM
- call Functione51
- ld a, [wd02f]
- ld c, a
- and a
- ret
-
-.asm_8acf0
- ld hl, UnknownText_0x8ad06
- call PrintText
- ld a, $2
- call Function89259
- jp c, Function8ac7c
- call Functione51
- pop de
- ld c, $0
- scf
- ret
-; 8ad06
-
-UnknownText_0x8ad06: ; 0x8ad06
- ; Finish registering CARDS?
- text_jump UnknownText_0x1c554a
- db "@"
-; 0x8ad0b
-
-Function8ad0b: ; 8ad0b
-.asm_8ad0b
- ld a, [MenuSelection]
- ld [wd02f], a
- call Function891de
- call WhiteBGMap
- call Function893cc
- call Function89160
- call Function8931b
- push bc
- call Function89844
- call Function8939a
- call Function89856
- hlcoord 1, 13
- call Function899fe
- call CloseSRAM
- call Function891ab
- pop bc
-.asm_8ad37
- push bc
- call Function89a57
- pop bc
- jr c, .asm_8ad37
- and a
- jr z, .asm_8ad0b
- cp $2
- jr z, .asm_8ad37
- call Function8923c
- push bc
- hlcoord 0, 12
- ld b, $4
- ld c, $12
- call TextBox
- ld de, String_8ad89
- hlcoord 1, 14
- call PlaceString
- ld a, $2
- call Function8925e
- jr c, .asm_8ad87
- call Function8923c
- hlcoord 0, 12
- ld b, $4
- ld c, $12
- call TextBox
- ld de, String_8ad9c
- hlcoord 1, 14
- call PlaceString
- ld a, $1
- call Function8925e
- jr c, .asm_8ad84
- ld a, $0
- jr .asm_8ad86
-
-.asm_8ad84
- ld a, $1
-
-.asm_8ad86
- and a
-
-.asm_8ad87
- pop bc
- ret
-; 8ad89
-
-String_8ad89: ; 8ad89
- db "こ", $25, "めいし", $1f, "けして"
- next "いれかえますか?@"
-; 8ad9c
-
-String_8ad9c: ; 8ad9c
- db "おともだち", $25, "なまえを"
- next "のこして おきますか?@"
-; 8adb3
-
-Function8adb3: ; 8adb3
- call Function891de
- call Function8a262
- push af
- call Function891de
- pop af
- ret
-; 8adbf
-
-Function8adbf: ; 8adbf
- call Function89160
- ld hl, $a603
- call Function89b45
- call CloseSRAM
- ret
-; 8adcc
-
-Function8adcc: ; 8adcc
- call Function89160
- call Function8b3b0
- call CloseSRAM
- ret nc
- cp $2
- ret z
- scf
- ret
-; 8addb
-
-
-SpecialHoOhChamber: ; 0x8addb
- ld hl, PartySpecies
- ld a, [hl]
- cp HO_OH ; is Ho-oh the first Pokémon in the party?
- jr nz, .done ; if not, we're done
- call GetSecondaryMapHeaderPointer
- ld de, EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
- ld b, SET_FLAG
- call EventFlagAction
-.done
- ret
-; 0x8adef
-
-SpecialOmanyteChamber: ; 8adef
- call GetSecondaryMapHeaderPointer
- ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
- ld b, CHECK_FLAG
- call EventFlagAction
- ld a, c
- and a
- jr nz, .nope
-
- ld a, WATER_STONE
- ld [CurItem], a
- ld hl, NumItems
- call CheckItem
- jr c, .open
-
- ld a, [PartyCount]
- ld b, a
- inc b
-.loop
- dec b
- jr z, .nope
- ld a, b
- dec a
- ld [CurPartyMon], a
- push bc
- ld a, PartyMon1Item - PartyMon1
- call GetPartyParamLocation
- pop bc
- ld a, [hl]
- cp WATER_STONE
- jr nz, .loop
-
-.open
- call GetSecondaryMapHeaderPointer
- ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
- ld b, SET_FLAG
- call EventFlagAction
-
-.nope
- ret
-; 8ae30
-
-SpecialAerodactylChamber: ; 8ae30
- push de
- push bc
-
- call GetSecondaryMapHeaderPointer
- ld a, h
- cp RuinsofAlphAerodactylChamber_SecondMapHeader / $100
- jr nz, .nope
- ld a, l
- cp RuinsofAlphAerodactylChamber_SecondMapHeader % $100
- jr nz, .nope
-
- ld de, EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER
- ld b, SET_FLAG
- call EventFlagAction
-
- scf
- jr .done
-
-.nope
- and a
-
-.done
- pop bc
- pop de
- ret
-; 8ae4e
-
-SpecialKabutoChamber: ; 8ae4e
- push hl
- push de
-
- call GetSecondaryMapHeaderPointer
- ld a, h
- cp RuinsofAlphKabutoChamber_SecondMapHeader / $100
- jr nz, .done
- ld a, l
- cp RuinsofAlphKabutoChamber_SecondMapHeader % $100
- jr nz, .done
-
- ld de, EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
- ld b, SET_FLAG
- call EventFlagAction
-
-.done
- pop de
- pop hl
- ret
-; 8ae68
-
-Special_DisplayUnownWords: ; 8ae68
- ld a, [ScriptVar]
- ld hl, MenuDataHeader_0x8aed5
- and a
- jr z, .asm_8ae79
-
- ld d, $0
- ld e, $5
-.asm_8ae75
- add hl, de
- dec a
- jr nz, .asm_8ae75
-
-.asm_8ae79
- call LoadMenuDataHeader
- xor a
- ld [hBGMapMode], a
- call Function1cbb
- call UpdateSprites
- call Function321c
- call Function1cfd
- inc hl
- ld d, $0
- ld e, $14
-rept 2
- add hl, de
-endr
- ld a, [ScriptVar]
- ld c, a
- ld de, Unknown_8aebc
- and a
- jr z, .asm_8aea5
-.asm_8ae9c
- ld a, [de]
- inc de
- cp $ff
- jr nz, .asm_8ae9c
- dec c
- jr nz, .asm_8ae9c
-
-.asm_8aea5
- call Function8af09
- ld bc, AttrMap - TileMap
- add hl, bc
- call Function8aee9
- call Function3200
- call Functiona36
- call PlayClickSFX
- call WriteBackup
- ret
-; 8aebc
-
-Unknown_8aebc: ; 8aebc
- db $08, $44, $04, $00, $2e, $08, $ff
- db $26, $20, $0c, $0e, $46, $ff
- db $4c, $00, $46, $08, $42, $ff
- db $0e, $2c, $64, $2c, $0e, $ff
-; 8aed5
-
-MenuDataHeader_0x8aed5: ; 0x8aed5
- db $40 ; flags
- db 04, 03 ; start coords
- db 09, 16 ; end coords
-
-MenuDataHeader_0x8aeda: ; 0x8aeda
- db $40 ; flags
- db 04, 04 ; start coords
- db 09, 15 ; end coords
-
-MenuDataHeader_0x8aedf: ; 0x8aedf
- db $40 ; flags
- db 04, 04 ; start coords
- db 09, 15 ; end coords
-
-MenuDataHeader_0x8aee4: ; 0x8aee4
- db $40 ; flags
- db 04, 04 ; start coords
- db 09, 15 ; end coords
-; 8aee9
-
-Function8aee9: ; 8aee9
-.asm_8aee9
- ld a, [de]
- cp $ff
- ret z
- cp $60
- ld a, $d
- jr c, .asm_8aef5
- ld a, $5
-
-.asm_8aef5
- call Function8aefd
-rept 2
- inc hl
-endr
- inc de
- jr .asm_8aee9
-; 8aefd
-
-Function8aefd: ; 8aefd
- push hl
- ld [hli], a
- ld [hld], a
- ld b, $0
- ld c, $14
- add hl, bc
- ld [hli], a
- ld [hl], a
- pop hl
- ret
-; 8af09
-
-Function8af09: ; 8af09
- push hl
- push de
-.asm_8af0b
- ld a, [de]
- cp $ff
- jr z, .asm_8af19
- ld c, a
- call Function8af1c
-rept 2
- inc hl
-endr
- inc de
- jr .asm_8af0b
-
-.asm_8af19
- pop de
- pop hl
- ret
-; 8af1c
-
-Function8af1c: ; 8af1c
- push hl
- ld a, c
- cp $60
- jr z, .asm_8af3b
- cp $62
- jr z, .asm_8af4b
- cp $64
- jr z, .asm_8af5b
- ld [hli], a
- inc a
- ld [hld], a
- dec a
- ld b, $0
- ld c, $14
- add hl, bc
- ld c, $10
- add c
- ld [hli], a
- inc a
- ld [hl], a
- pop hl
- ret
-
-.asm_8af3b
- ld [hl], $5b
- inc hl
- ld [hl], $5c
- ld bc, $0013
- add hl, bc
- ld [hl], $4d
- inc hl
- ld [hl], $5d
- pop hl
- ret
-
-.asm_8af4b
- ld [hl], $4e
- inc hl
- ld [hl], $4f
- ld bc, $0013
- add hl, bc
- ld [hl], $5e
- inc hl
- ld [hl], $5f
- pop hl
- ret
-
-.asm_8af5b
- ld [hl], $2
- inc hl
- ld [hl], $3
- ld bc, $0013
- add hl, bc
- ld [hl], $3
- inc hl
- ld [hl], $2
- pop hl
- ret
-; 8af6b
-
-SpecialBuenasPassword: ; 8af6b
- xor a
- ld [wcf76], a
- ld hl, MenuDataHeader_0x8afa9
- call CopyMenuDataHeader
- ld a, [wdc4a]
- ld c, a
- callba GetBuenasPassword
- ld a, [wcf83]
- add c
- add $2
- ld [wcf85], a
- call Function1c00
- call Function1e5d
- callba Function4ae5e
- ld b, $0
- ld a, [MenuSelection]
- ld c, a
- ld a, [wdc4a]
- and $3
- cp c
- jr nz, .asm_8afa4
- ld b, $1
-
-.asm_8afa4
- ld a, b
- ld [ScriptVar], a
- ret
-; 8afa9
-
-MenuDataHeader_0x8afa9: ; 0x8afa9
- db $40 ; flags
- db 00, 00 ; start coords
- db 07, 10 ; end coords
- dw MenuData2_0x8afb2
- db 1 ; default option
-; 0x8afb1
-
- db 0
-
-MenuData2_0x8afb2: ; 0x8afb2
- db $81 ; flags
- db 0 ; items
- dw Unknown_8afb8
- dw Function8afbd
-; 0x8afb4
-
-Unknown_8afb8: ; 8afb8
- db 3
- db 0, 1, 2
- db -1
-
-Function8afbd: ; 8afbd
- push de
- ld a, [wdc4a]
- and $f0
- ld c, a
- ld a, [MenuSelection]
- add c
- ld c, a
- callba GetBuenasPassword
- pop hl
- call PlaceString
- ret
-; 8afd4
-
-SpecialBuenaPrize: ; 8afd4
- xor a
- ld [wd0e4], a
- ld a, $1
- ld [MenuSelection], a
- call Function8b0d6
- call Function8b090
- ld hl, UnknownText_0x8b072
- call PrintText
- jr .asm_8aff1
-
-.asm_8afeb
- ld hl, UnknownText_0x8b072
- call Function105a
-
-.asm_8aff1
- call DelayFrame
- call UpdateSprites
- call Function8b097
- call Function8b0e2
- jr z, .asm_8b05f
- ld [wcf75], a
- call GetBuenaPrize
- ld a, [hl]
- ld [wd265], a
- call GetItemName
- ld hl, UnknownText_0x8b077
- call Function105a
- call YesNoBox
- jr c, .asm_8afeb
- ld a, [wcf75]
- call GetBuenaPrize
- inc hl
- ld a, [hld]
- ld c, a
- ld a, [wdc4b]
- cp c
- jr c, .asm_8b047
- ld a, [hli]
- push hl
- ld [CurItem], a
- ld a, $1
- ld [wd10c], a
- ld hl, NumItems
- call ReceiveItem
- pop hl
- jr nc, .asm_8b04c
- ld a, [hl]
- ld c, a
- ld a, [wdc4b]
- sub c
- ld [wdc4b], a
- call Function8b097
- jr .asm_8b051
-
-.asm_8b047
- ld hl, UnknownText_0x8b081
- jr .asm_8b05a
-
-.asm_8b04c
- ld hl, UnknownText_0x8b086
- jr .asm_8b05a
-
-.asm_8b051
- ld de, SFX_TRANSACTION
- call PlaySFX
- ld hl, UnknownText_0x8b07c
-
-.asm_8b05a
- call Function105a
- jr .asm_8afeb
-
-.asm_8b05f
- call WriteBackup
- call WriteBackup
- ld hl, UnknownText_0x8b08b
- call PrintText
- call Functiona36
- call PlayClickSFX
- ret
-; 8b072
-
-UnknownText_0x8b072: ; 0x8b072
- ; Which prize would you like?
- text_jump UnknownText_0x1c589f
- db "@"
-; 0x8b077
-
-UnknownText_0x8b077: ; 0x8b077
- ; ? Is that right?
- text_jump UnknownText_0x1c58bc
- db "@"
-; 0x8b07c
-
-UnknownText_0x8b07c: ; 0x8b07c
- ; Here you go!
- text_jump UnknownText_0x1c58d1
- db "@"
-; 0x8b081
-
-UnknownText_0x8b081: ; 0x8b081
- ; You don't have enough points.
- text_jump UnknownText_0x1c58e0
- db "@"
-; 0x8b086
-
-UnknownText_0x8b086: ; 0x8b086
- ; You have no room for it.
- text_jump UnknownText_0x1c58ff
- db "@"
-; 0x8b08b
-
-UnknownText_0x8b08b: ; 0x8b08b
- ; Oh. Please come back again!
- text_jump UnknownText_0x1c591a
- db "@"
-; 0x8b090
-
-Function8b090: ; 8b090
- ld hl, MenuDataHeader_0x8b0d1
- call LoadMenuDataHeader
- ret
-; 8b097
-
-Function8b097: ; 8b097
- ld de, wdc4b
- call Function8b09e
- ret
-; 8b09e
-
-Function8b09e: ; 8b09e
- push de
- xor a
- ld [hBGMapMode], a
- ld hl, MenuDataHeader_0x8b0d1
- call CopyMenuDataHeader
- call Function1cbb
- call UpdateSprites
- call Function1cfd
- ld bc, $0015
- add hl, bc
- ld de, String_8b0ca
- call PlaceString
- ld h, b
- ld l, c
- inc hl
- ld a, $7f
- ld [hli], a
- ld [hld], a
- pop de
- lb bc, 1, 2
- call PrintNum
- ret
-; 8b0ca
-
-String_8b0ca:
- db "Points@"
-; 8b0d1
-
-MenuDataHeader_0x8b0d1: ; 0x8b0d1
- db $40 ; flags
- db 11, 00 ; start coords
- db 13, 11 ; end coords
-; 8b0d6
-
-Function8b0d6: ; 8b0d6
- ld hl, MenuDataHeader_0x8b0dd
- call LoadMenuDataHeader
- ret
-; 8b0dd
-
-MenuDataHeader_0x8b0dd: ; 0x8b0dd
- db $40 ; flags
- db 00, 00 ; start coords
- db 11, 17 ; end coords
-; 8b0e2
-
-Function8b0e2: ; 8b0e2
- ld hl, MenuDataHeader_0x8b113
- call CopyMenuDataHeader
- ld a, [MenuSelection]
- ld [wcf88], a
- xor a
- ld [wcf76], a
- ld [hBGMapMode], a
- call Function352f
- call UpdateSprites
- call Function350c
- ld a, [MenuSelection]
- ld c, a
- ld a, [wcfa9]
- ld [MenuSelection], a
- ld a, [wcf73]
- cp $2
- jr z, .asm_8b111
- ld a, c
- and a
- ret nz
-
-.asm_8b111
- xor a
- ret
-; 8b113
-
-MenuDataHeader_0x8b113: ; 0x8b113
- db $40 ; flags
- db 01, 01 ; start coords
- db 09, 16 ; end coords
- dw MenuData2_0x8b11c
- db 1 ; default option
-; 0x8b11b
-
- db 0
-
-MenuData2_0x8b11c: ; 0x8b11c
- db $10 ; flags
- db 4 ; items
- db $d, $1
- dbw BANK(Unknown_8b129), Unknown_8b129
- dbw BANK(BuenaPrizeItem), BuenaPrizeItem
- dbw BANK(BuenaPrizePoints), BuenaPrizePoints
-; 8b129
-
-Unknown_8b129: ; 8b129
- db 9
- db 1, 2, 3, 4, 5, 6, 7, 8, 9, $ff
-; 8b134
-
-BuenaPrizeItem: ; 8b134
- ld a, [MenuSelection]
- call GetBuenaPrize
- ld a, [hl]
- push de
- ld [wd265], a
- call GetItemName
- pop hl
- call PlaceString
- ret
-; 8b147
-
-BuenaPrizePoints: ; 8b147
- ld a, [MenuSelection]
- call GetBuenaPrize
- inc hl
- ld a, [hl]
- ld c, "0"
- add c
- ld [de], a
- ret
-; 8b154
-
-GetBuenaPrize: ; 8b154
- dec a
- ld hl, BuenaPrizes
- ld b, 0
- ld c, a
-rept 2
- add hl, bc
-endr
- ret
-; 8b15e
-
-BuenaPrizes: ; 8b15e
- db ULTRA_BALL, 2
- db FULL_RESTORE, 2
- db NUGGET, 3
- db RARE_CANDY, 3
- db PROTEIN, 5
- db IRON, 5
- db CARBOS, 5
- db CALCIUM, 5
- db HP_UP, 5
-; 8b170
-
-
+INCLUDE "misc/mobile_22.asm"
+INCLUDE "event/unown.asm"
+INCLUDE "event/buena.asm"
INCLUDE "event/dratini.asm"
-
-
-Function8b1e1: ; 8b1e1
- ld de, Unknown_8b1ed
- call Function8b25b
- ret z
- call Function8b231
- scf
- ret
-; 8b1ed
-
-Unknown_8b1ed: ; 8b1ed
- db 2
- dw Unknown_8b1f2
- dw Unknown_8b1f6
-
-Unknown_8b1f2: ; 8b1f2
- dw Function8b2bb
- dw Function8b2c1
-; 8b1f6
-
-Unknown_8b1f6: ; 8b1f6
- dw UnknownText_0x8b1fc
- dw UnknownText_0x8b23d
- dw UnknownText_0x8b242
-; 8b1fc
-
-UnknownText_0x8b1fc: ; 0x8b1fc
- ; Excuse me!
- text_jump UnknownText_0x1c5937
- db "@"
-; 0x8b201
-
-CheckForBattleTowerRules: ; 8b201
- ld hl, StringBuffer2
- ld [hl], "3"
- inc hl
- ld [hl], "@"
- ld de, CheckForBattleTowerRules_FunctionsText
- call Function8b25b
- ret z
- call Function8b231
- scf
- ret
-; 8b215
-
-CheckForBattleTowerRules_FunctionsText: ; 8b215
- db 4
- dw CheckForBattleTowerRules_Functions
- dw CheckForBattleTowerRules_Text
-
-CheckForBattleTowerRules_Functions: ; 8b21a
- dw Function_PartyCountEq3
- dw Function8b2e2
- dw Function8b32a
- dw Function_HasPartyAnEgg
-; 8b222
-
-CheckForBattleTowerRules_Text: ; 8b222
- dw JumpText_ExcuseMeYoureNotReady
- dw JumbText_OnlyThreePkmnMayBeEntered
- dw JumpText_ThePkmnMustAllBeDifferentKinds
- dw JumpText_ThePkmnMustNotHoldTheSameItems
- dw JumpText_YouCantTakeAnEgg
-; 8b22c
-
-JumpText_ExcuseMeYoureNotReady: ; 0x8b22c
- ; Excuse me. You're not ready.
- text_jump Text_ExcuseMeYoureNotReady
- db "@"
-; 0x8b231
-
-Function8b231: ; 8b231
- ld hl, UnknownText_0x8b238
- call PrintText
- ret
-; 8b238
-
-UnknownText_0x8b238: ; 0x8b238
- ; Please return when you're ready.
- text_jump UnknownText_0x1c5962
- db "@"
-; 0x8b23d
-
-UnknownText_0x8b23d: ; 0x8b23d
- ; You need at least three #MON.
- text_jump UnknownText_0x1c5983
- db "@"
-; 0x8b242
-
-UnknownText_0x8b242: ; 0x8b242
- ; Sorry, an EGG doesn't qualify.
- text_jump UnknownText_0x1c59a3
- db "@"
-; 0x8b247
-
-JumbText_OnlyThreePkmnMayBeEntered: ; 0x8b247
- ; Only three #MON may be entered.
- text_jump Text_OnlyThreePkmnMayBeEntered
- db "@"
-; 0x8b24c
-
-JumpText_ThePkmnMustAllBeDifferentKinds: ; 0x8b24c
- ; The @ #MON must all be different kinds.
- text_jump Text_ThePkmnMustAllBeDifferentKinds
- db "@"
-; 0x8b251
-
-JumpText_ThePkmnMustNotHoldTheSameItems: ; 0x8b251
- ; The @ #MON must not hold the same items.
- text_jump Text_ThePkmnMustNotHoldTheSameItems
- db "@"
-; 0x8b256
-
-JumpText_YouCantTakeAnEgg: ; 0x8b256
- ; You can't take an EGG!
- text_jump Text_YouCantTakeAnEgg
- db "@"
-; 0x8b25b
-
-Function8b25b: ; 8b25b
- ld bc, $0000
-.asm_8b25e
- call Function8b26c
- call c, Function8b28e
- call Function8b276
- jr nz, .asm_8b25e
- ld a, b
- and a
- ret
-; 8b26c
-
-Function8b26c: ; 8b26c
- push de
- push bc
- call Function8b27a
- ld a, c
- rst JumpTable
- pop bc
- pop de
- ret
-; 8b276
-
-Function8b276: ; 8b276
- inc c
- ld a, [de]
- cp c
- ret
-; 8b27a
-
-Function8b27a: ; 8b27a
- inc de
- ld a, [de]
- ld l, a
- inc de
- ld a, [de]
- ld h, a
- ret
-; 8b281
-
-Function8b281: ; 8b281
-rept 3
- inc de
-endr
- ld a, [de]
- ld l, a
- inc de
- ld a, [de]
- ld h, a
- ret
-; 8b28a
-
-Function8b28a: ; 8b28a
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ret
-; 8b28e
-
-Function8b28e: ; 8b28e
- push de
- push bc
- ld a, b
- and a
- call z, Function8b29d
- pop bc
- call Function8b2a9
- ld b, $1
- pop de
- ret
-; 8b29d
-
-Function8b29d: ; 8b29d
- push de
- call Function8b281
- call Function8b28a
- call PrintText
- pop de
- ret
-; 8b2a9
-
-Function8b2a9: ; 8b2a9
- push bc
- call Function8b281
-rept 2
- inc hl
-endr
- ld b, $0
-rept 2
- add hl, bc
-endr
- call Function8b28a
- call PrintText
- pop bc
- ret
-; 8b2bb
-
-Function8b2bb: ; 8b2bb
- ld a, [PartyCount]
- cp 3
- ret
-; 8b2c1
-
-Function8b2c1: ; 8b2c1
- ld hl, PartyCount
- ld a, [hli]
- ld b, $0
- ld c, a
-.asm_8b2c8
- ld a, [hli]
- cp EGG
- jr z, .asm_8b2ce
- inc b
-
-.asm_8b2ce
- dec c
- jr nz, .asm_8b2c8
- ld a, [PartyCount]
- cp b
- ret z
- ld a, b
- cp 3
- ret
-; 8b2da
-
-Function_PartyCountEq3: ; 8b2da
- ld a, [PartyCount]
- cp 3
- ret z
- scf
- ret
-; 8b2e2
-
-Function8b2e2: ; 8b2e2
- ld hl, PartyMon1Species
- call Function8b2e9
- ret
-; 8b2e9
-
-Function8b2e9: ; 8b2e9
- ld de, PartyCount
- ld a, [de]
- inc de
- dec a
- jr z, .asm_8b314
- ld b, a
-.asm_8b2f2
- push hl
- push de
- ld c, b
- call Function8b322
- jr z, .asm_8b30c
- ld a, [hl]
- and a
- jr z, .asm_8b30c
-.asm_8b2fe
- call Function8b31a
- call Function8b322
- jr z, .asm_8b309
- cp [hl]
- jr z, .asm_8b316
-
-.asm_8b309
- dec c
- jr nz, .asm_8b2fe
-
-.asm_8b30c
- pop de
- pop hl
- call Function8b31a
- dec b
- jr nz, .asm_8b2f2
-
-.asm_8b314
- and a
- ret
-
-.asm_8b316
- pop de
- pop hl
- scf
- ret
-; 8b31a
-
-Function8b31a: ; 8b31a
- push bc
- ld bc, PartyMon2 - PartyMon1
- add hl, bc
- inc de
- pop bc
- ret
-; 8b322
-
-Function8b322: ; 8b322
- push bc
- ld b, a
- ld a, [de]
- cp EGG
- ld a, b
- pop bc
- ret
-; 8b32a
-
-Function8b32a: ; 8b32a
- ld hl, PartyMon1Item
- call Function8b2e9
- ret
-; 8b331
-
-Function_HasPartyAnEgg: ; 8b331
- ld hl, PartyCount
- ld a, [hli]
- ld c, a
-.asm_8b336
- ld a, [hli]
- cp EGG
- jr z, .asm_8b340
- dec c
- jr nz, .asm_8b336
- and a
- ret
-
-.asm_8b340
- scf
- ret
-; 8b342
-
-
-Function8b342:: ; 8b342
- call GetSecondaryMapHeaderPointer
- ld d, h
- ld e, l
- xor a
-.asm_8b348
- push af
- ld hl, Jumptable_8b354
- rst JumpTable
- pop af
- inc a
- cp 3
- jr nz, .asm_8b348
- ret
-; 8b354
-
-Jumptable_8b354: ; 8b354
- dw Function8b35a
- dw Function8b35b
- dw Function8b35c
-; 8b35a
-
-Function8b35a: ; 8b35a
- ret
-; 8b35b
-
-Function8b35b: ; 8b35b
- ret
-; 8b35c
-
-Function8b35c: ; 8b35c
- ret
-; 8b35d
-
-Function8b35d: ; 8b35d
- ld a, h
- cp d
- ret nz
- ld a, l
- cp e
- ret
-; 8b363
-
-Function8b363: ; 8b363
- push bc
- callba Function10632f
- pop bc
- ret
-; 8b36c
-
-Function8b36c: ; 8b36c (22:736c)
- push bc
- ld h, b
- ld l, c
- ld bc, $4
- ld a, $ff
- call ByteFill
- pop bc
- ret
-
-Function8b379: ; 8b379 (22:7379)
- push bc
- ld a, c
- add e
- ld c, a
- ld a, $0
- adc b
- ld b, a
- ld a, [bc]
- ld d, a
- pop bc
- ret
-
-Function8b385: ; 8b385 (22:7385)
- push bc
- ld a, c
- add e
- ld c, a
- ld a, $0
- adc b
- ld b, a
- ld a, d
- ld [bc], a
- pop bc
- ret
-
-Function8b391: ; 8b391 (22:7391)
- push bc
- ld e, $0
- ld d, $4
-.asm_8b396
- ld a, [bc]
- inc bc
- cp $ff
- jr z, .asm_8b3a2
- inc e
- dec d
- jr nz, .asm_8b396
- dec e
- scf
-.asm_8b3a2
- pop bc
- ret
-
-Function8b3a4: ; 8b3a4 (22:73a4)
- push de
- push bc
- ld d, b
- ld e, c
- ld c, $4
- call Function89185
- pop bc
- pop de
- ret
-
-Function8b3b0: ; 8b3b0 (22:73b0)
- ld bc, $a037
- ld a, [$a60b]
- and a
- jr z, .asm_8b3c2
- cp $3
- jr nc, .asm_8b3c2
- call Function8b391
- jr c, .asm_8b3c9
-.asm_8b3c2
- call Function8b36c
- xor a
- ld [$a60b], a
-.asm_8b3c9
- ld a, [$a60b]
- ret
-
-Function8b3cd: ; 8b3cd (22:73cd)
- push de
- push bc
- ld e, $4
-.asm_8b3d1
- ld a, [bc]
- inc bc
- call Function8998b
- inc hl
- dec e
- jr nz, .asm_8b3d1
- pop bc
- pop de
- ret
-
-Function8b3dd: ; 8b3dd (22:73dd)
- push de
- push bc
- call Function354b
- ld a, c
- pop bc
- pop de
- bit 0, a
- jr nz, .asm_8b3f7
- bit 1, a
- jr nz, .asm_8b40e
- bit 6, a
- jr nz, .asm_8b429
- bit 7, a
- jr nz, .asm_8b443
- and a
- ret
-.asm_8b3f7
- ld a, e
- cp $3
- jr z, .asm_8b407
- inc e
- ld d, $0
- call Function8b385
- xor a
- ld [wd010], a
- ret
-.asm_8b407
- call PlayClickSFX
- ld d, $0
- scf
- ret
-.asm_8b40e
- ld a, e
- and a
- jr nz, .asm_8b41e
- call PlayClickSFX
- ld d, $ff
- call Function8b385
- ld d, $1
- scf
- ret
-.asm_8b41e
- ld d, $ff
- call Function8b385
- dec e
- xor a
- ld [wd010], a
- ret
-.asm_8b429
- call Function8b379
- ld a, d
- cp $a
- jr c, .asm_8b433
- ld d, $9
-.asm_8b433
- inc d
- ld a, d
- cp $a
- jr c, .asm_8b43b
- ld d, $0
-.asm_8b43b
- call Function8b385
- xor a
- ld [wd010], a
- ret
-.asm_8b443
- call Function8b379
- ld a, d
- cp $a
- jr c, .asm_8b44d
- ld d, $0
-.asm_8b44d
- ld a, d
- dec d
- and a
- jr nz, .asm_8b454
- ld d, $9
-.asm_8b454
- call Function8b385
- xor a
- ld [wd010], a
- ret
-
-Function8b45c: ; 8b45c (22:745c)
- call Function8b36c
- xor a
- ld [wd010], a
- ld [wd012], a
- call Function8b391
- ld d, $0
- call Function8b385
-.asm_8b46e
- call Function8923c
- call Function8b493
- call Function8b4cc
- call Function8b518
- call Function89b78
- push bc
- call Function8b4fd
- call Function89c44
- ld a, $1
- ld [hBGMapMode], a ; $ff00+$d4
- pop bc
- call Function8b3dd
- jr nc, .asm_8b46e
- ld a, d
- and a
- ret z
- scf
- ret
-
-Function8b493: ; 8b493 (22:7493)
- push bc
- call Function8923c
- call Function8b521
- ld hl, Jumptable_8b4a0
- pop bc
- rst JumpTable
- ret
-
-Jumptable_8b4a0: ; 8b4a0 (22:74a0)
- dw Function8b4a4
- dw Function8b4b8
-
-
-Function8b4a4: ; 8b4a4 (22:74a4)
- push bc
- push de
- call Function8b4d8
- call TextBox
- pop de
- pop bc
- call Function8b4cc
- call Function8b518
- call Function8b3cd
- ret
-
-Function8b4b8: ; 8b4b8 (22:74b8)
- push bc
- push de
- call Function8b4ea
- call Function89b3b
- pop de
- pop bc
- call Function8b4cc
- call Function8b518
- call Function8b3cd
- ret
-
-Function8b4cc: ; 8b4cc (22:74cc)
- push bc
- ld hl, Unknown_8b529
- call Function8b50a
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop bc
- ret
-
-Function8b4d8: ; 8b4d8 (22:74d8)
- ld hl, Unknown_8b529
- call Function8b50a
- push hl
-rept 2
- inc hl
-endr
- ld a, [hli]
- ld b, a
- ld a, [hl]
- ld c, a
- pop hl
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ret
-
-Function8b4ea: ; 8b4ea (22:74ea)
- ld hl, Unknown_8b529
- call Function8b50a
- push hl
-rept 2
- inc hl
-endr
- ld a, [hli]
- ld b, a
- ld a, [hl]
- ld c, a
- pop hl
- ld a, [hli]
- ld e, a
- ld a, [hl]
- ld d, a
- ret
-
-Function8b4fd: ; 8b4fd (22:74fd)
- ld hl, Unknown_8b529 + 4
- call Function8b50a
- ld a, [hli]
- ld c, a
- ld a, [hli]
- ld b, a
- ld a, [hli]
- ld d, a
- ret
-
-Function8b50a: ; 8b50a (22:750a)
- ld a, [wd02e]
- and a
- ret z
- ld b, $0
- ld c, $8
-.asm_8b513
- add hl, bc
- dec a
- jr nz, .asm_8b513
- ret
-
-Function8b518: ; 8b518 (22:7518)
- push de
- ld d, $0
- ld e, $14
- add hl, de
- inc hl
- pop de
- ret
-
-Function8b521: ; 8b521 (22:7521)
- ld hl, Unknown_8b529 + 7
- call Function8b50a
- ld a, [hl]
- ret
-; 8b529 (22:7529)
-
-Unknown_8b529: ; 8b529
- dwcoord 2, 5
- db 1, 4, $20, $49, 0, 1
- dwcoord 7, 4
- db 1, 4, $48, $41, 0, 0
-; 8b539
-
-Function8b539: ; 8b539 (22:7539)
- ld bc, wd017
- call Function8b36c
- xor a
- ld [wd012], a
- ld [wd02e], a
- call Function8b493
- call Function8b4fd
- ld e, $0
- call Function89c44
- call Function3238
- ret
-
-Function8b555: ; 8b555 (22:7555)
- ld hl, UnknownText_0x8b5ce
- call PrintText
- ld bc, wd017
- call Function8b45c
- jr c, .asm_8b5c8
- call Function89448
- ld bc, wd017
- call Function8b493
- ld bc, wd017
- call Function8b664
- jr nz, .asm_8b57c
- ld hl, UnknownText_0x8b5e2
- call PrintText
- jr Function8b555
-.asm_8b57c
- ld hl, UnknownText_0x8b5d3
- call PrintText
- ld bc, wd013
- call Function8b45c
- jr c, Function8b555
- ld bc, wd017
- ld hl, wd013
- call Function8b3a4
- jr z, .asm_8b5a6
- call Function89448
- ld bc, wd013
- call Function8b493
- ld hl, UnknownText_0x8b5d8
- call PrintText
- jr .asm_8b57c
-.asm_8b5a6
- call Function89160
- ld hl, wd013
- ld de, $a037
- ld bc, $4
- call CopyBytes
- call CloseSRAM
- call Function89448
- ld bc, wd013
- call Function8b493
- ld hl, UnknownText_0x8b5dd
- call PrintText
- and a
-.asm_8b5c8
- push af
- call Function89448
- pop af
- ret
-; 8b5ce (22:75ce)
-
-UnknownText_0x8b5ce: ; 0x8b5ce
- ; Please enter any four-digit number.
- text_jump UnknownText_0x1bc187
- db "@"
-; 0x8b5d3
-
-UnknownText_0x8b5d3: ; 0x8b5d3
- ; Enter the same number to confirm.
- text_jump UnknownText_0x1bc1ac
- db "@"
-; 0x8b5d8
-
-UnknownText_0x8b5d8: ; 0x8b5d8
- ; That's not the same number.
- text_jump UnknownText_0x1bc1cf
- db "@"
-; 0x8b5dd
-
-UnknownText_0x8b5dd: ; 0x8b5dd
- ; Your PASSCODE has been set. Enter this number next time to open the CARD FOLDER.
- text_jump UnknownText_0x1bc1eb
- db "@"
-; 0x8b5e2
-
-UnknownText_0x8b5e2: ; 0x8b5e2
- ; 0000 is invalid!
- text_jump UnknownText_0x1bc23e
- db "@"
-; 0x8b5e7
-
-Function8b5e7: ; 8b5e7 (22:75e7)
- ld bc, wd013
- call Function8b36c
- xor a
- ld [wd012], a
- ld [wd02e], a
- call Function8b493
- call Function891ab
- call Function8b4fd
- ld e, $0
- call Function89c44
-.asm_8b602
- ld hl, UnknownText_0x8b642
- call PrintText
- ld bc, wd013
- call Function8b45c
- jr c, .asm_8b63c
- call Function89448
- ld bc, wd013
- call Function8b493
- call Function89160
- ld hl, $a037
- call Function8b3a4
- call CloseSRAM
- jr z, .asm_8b635
- ld hl, UnknownText_0x8b647
- call PrintText
- ld bc, wd013
- call Function8b36c
- jr .asm_8b602
-.asm_8b635
- ld hl, UnknownText_0x8b64c
- call PrintText
- and a
-.asm_8b63c
- push af
- call Function89448
- pop af
- ret
-; 8b642 (22:7642)
-
-UnknownText_0x8b642: ; 0x8b642
- ; Enter the CARD FOLDER PASSCODE.
- text_jump UnknownText_0x1bc251
- db "@"
-; 0x8b647
-
-UnknownText_0x8b647: ; 0x8b647
- ; Incorrect PASSCODE!
- text_jump UnknownText_0x1bc272
- db "@"
-; 0x8b64c
-
-UnknownText_0x8b64c: ; 0x8b64c
- ; CARD FOLDER open.@ @
- text_jump UnknownText_0x1bc288
- start_asm
-; 0x8b651
-
-Function8b651: ; 8b651
- ld de, SFX_TWINKLE
- call PlaySFX
- call WaitSFX
- ld c, $8
- call DelayFrames
- ld hl, .string_8b663
- ret
-.string_8b663
- db "@"
-; 8b664
-
-Function8b664: ; 8b664 (22:7664)
- push bc
- ld de, $4
-.asm_8b668
- ld a, [bc]
- cp $0
- jr nz, .asm_8b66e
- inc d
-.asm_8b66e
- inc bc
- dec e
- jr nz, .asm_8b668
- pop bc
- ld a, d
- cp $4
- ret
-
-Function8b677: ; 8b677
- call WhiteBGMap
- call DisableLCD
- call Function8b690
- call Function8b6bb
- call Function8b6ed
- call EnableLCD
- call Function891ab
- call SetPalettes
- ret
-; 8b690
-
-Function8b690: ; 8b690
- ld hl, GFX_17afa5 + $514
- ld de, VTiles2
- ld bc, $160
- ld a, BANK(GFX_17afa5)
- call FarCopyBytes
- ld hl, GFX_17afa5 + $514 + $160 - $10
- ld de, $9610
- ld bc, $10
- ld a, BANK(GFX_17afa5)
- call FarCopyBytes
- ld hl, GFX_17afa5 + $514 + $160
- ld de, $8ee0
- ld bc, $10
- ld a, BANK(GFX_17afa5)
- call FarCopyBytes
- ret
-; 8b6bb
-
-Function8b6bb: ; 8b6bb
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, Palette_8b6d5
- ld de, Unkn1Pals
- ld bc, $0018
- call CopyBytes
- pop af
- ld [rSVBK], a
- call Function8949c
- ret
-; 8b6d5
-
-Palette_8b6d5: ; 8b6d5
- RGB 31, 31, 31
- RGB 31, 21, 00
- RGB 14, 07, 03
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 31, 21, 00
- RGB 22, 09, 17
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 31, 21, 00
- RGB 06, 24, 08
- RGB 00, 00, 00
-; 8b6ed
-
-Function8b6ed: ; 8b6ed
- hlcoord 0, 0, AttrMap
- ld bc, $012c
- xor a
- call ByteFill
- hlcoord 0, 14, AttrMap
- ld bc, $0050
- ld a, $7
- call ByteFill
- ret
-; 8b703
-
-Function8b703: ; 8b703
- call Function8923c
- push hl
- ld a, $c
- ld [hli], a
- inc a
- call Function8b73e
- inc a
- ld [hl], a
- pop hl
- push hl
- push bc
- ld de, SCREEN_WIDTH
- add hl, de
-.asm_8b717
- push hl
- ld a, $f
- ld [hli], a
- ld a, $7f
- call Function8b73e
- ld a, $11
- ld [hl], a
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
- dec b
- jr nz, .asm_8b717
- call Function8b732
- pop bc
- pop hl
- jr Function8b744
-; 8b732
-
-Function8b732: ; 8b732
- ld a, $12
- ld [hli], a
- ld a, $13
- call Function8b73e
- ld a, $14
- ld [hl], a
- ret
-; 8b73e
-
-Function8b73e: ; 8b73e
- ld d, c
-.asm_8b73f
- ld [hli], a
- dec d
- jr nz, .asm_8b73f
- ret
-; 8b744
-
-Function8b744: ; 8b744
- ld de, AttrMap - TileMap
- add hl, de
-rept 2
- inc b
-endr
-rept 2
- inc c
-endr
- xor a
-.asm_8b74d
- push bc
- push hl
-.asm_8b74f
- ld [hli], a
- dec c
- jr nz, .asm_8b74f
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
- pop bc
- dec b
- jr nz, .asm_8b74d
- ret
-; 8b75d
-
-Function8b75d: ; 8b75d
- call Function8923c
- hlcoord 0, 0
- ld a, $1
- ld bc, SCREEN_WIDTH
- call ByteFill
- hlcoord 0, 1
- ld a, $2
- ld [hl], a
- hlcoord 9, 1
- ld c, $b
- call Function8b788
- hlcoord 1, 1
- ld a, $4
- ld e, $8
-.asm_8b780
- ld [hli], a
- inc a
- dec e
- jr nz, .asm_8b780
- jr Function8b79e
-; 8b787
-
-Function8b787: ; 8b787
- ret
-; 8b788
-
-Function8b788: ; 8b788
-.asm_8b788
- ld a, $2
- ld [hli], a
- dec c
- ret z
- ld a, $1
- ld [hli], a
- dec c
- ret z
- ld a, $3
- ld [hli], a
- dec c
- ret z
- ld a, $1
- ld [hli], a
- dec c
- jr nz, .asm_8b788
- ret
-; 8b79e
-
-Function8b79e: ; 8b79e
- hlcoord 0, 1, AttrMap
- ld a, $1
- ld [hli], a
- hlcoord 9, 1, AttrMap
- ld e, $b
-.asm_8b7a9
- ld a, $2
- ld [hli], a
- dec e
- ret z
- xor a
- ld [hli], a
- dec e
- ret z
- ld a, $1
- ld [hli], a
- dec e
- ret z
- xor a
- ld [hli], a
- dec e
- jr nz, .asm_8b7a9
- ret
-; 8b7bd
-
-Function8b7bd: ; 8b7bd
- call Function8b855
- ld hl, MenuDataHeader_0x8b867
- call CopyMenuDataHeader
- ld a, [wd030]
- ld [wcf88], a
- ld a, [wd031]
- ld [wd0e4], a
- ld a, [wd032]
- and a
- jr z, .asm_8b7e0
- ld a, [wcf81]
- set 3, a
- ld [wcf81], a
-
-.asm_8b7e0
- ld a, [wd0e3]
- and a
- jr z, .asm_8b7ea
- dec a
- ld [wcf77], a
-
-.asm_8b7ea
- hlcoord 0, 2
- ld b, $b
- ld c, $12
- call Function8b703
- call Function8b75d
- call UpdateSprites
- call Function89209
- call Function350c
- call Function8920f
- ld a, [wcf73]
- cp $2
- jr z, .asm_8b823
- cp $20
- jr nz, .asm_8b813
- call Function8b832
- jr .asm_8b7ea
-
-.asm_8b813
- cp $10
- jr nz, .asm_8b81c
- call Function8b83e
- jr .asm_8b7ea
-
-.asm_8b81c
- ld a, [MenuSelection]
- cp $ff
- jr nz, .asm_8b824
-
-.asm_8b823
- xor a
-
-.asm_8b824
- ld c, a
- ld a, [wcfa9]
- ld [wd030], a
- ld a, [wd0e4]
- ld [wd031], a
- ret
-; 8b832
-
-Function8b832: ; 8b832
- ld a, [wd0e4]
- ld hl, wcf92
- sub [hl]
- jr nc, Function8b84b
- xor a
- jr Function8b84b
-; 8b83e
-
-Function8b83e: ; 8b83e
- ld a, [wd0e4]
- ld hl, wcf92
- add [hl]
- cp $24
- jr c, Function8b84b
- ld a, $24
-
-Function8b84b: ; 8b84b
- ld [wd0e4], a
- ld a, [wcfa9]
- ld [wcf88], a
- ret
-; 8b855
-
-Function8b855: ; 8b855
- ld a, $28
- ld hl, DefaultFlypoint
- ld [hli], a
- ld c, $28
- xor a
-.asm_8b85e
- inc a
- ld [hli], a
- dec c
- jr nz, .asm_8b85e
- ld a, $ff
- ld [hl], a
- ret
-; 8b867
-
-MenuDataHeader_0x8b867: ; 0x8b867
- db $40 ; flags
- db 03, 01 ; start coords
- db 13, 18 ; end coords
- dw MenuData2_0x8b870
- db 1 ; default option
-; 0x8b86f
-
- db 0
-
-MenuData2_0x8b870: ; 0x8b870
- db $3c ; flags
- db 5 ; items
- db 3, 1
- dbw 0, wd002
- dbw BANK(Function8b880), Function8b880
- dbw BANK(Function8b88c), Function8b88c
- dbw BANK(Function8b8c8), Function8b8c8
-; 8b880
-
-Function8b880: ; 8b880
- ld h, d
- ld l, e
- ld de, MenuSelection
- lb bc, PRINTNUM_LEADINGZEROS | 1, 2
- call PrintNum
- ret
-; 8b88c
-
-Function8b88c: ; 8b88c
- call Function89160
- ld h, d
- ld l, e
- push hl
- ld de, String_89116
- call Function8931b
- call Function8932d
- jr c, .asm_8b8a3
- ld hl, $0000
- add hl, bc
- ld d, h
- ld e, l
-
-.asm_8b8a3
- pop hl
- push hl
- call PlaceString
- pop hl
- ld d, $0
- ld e, $6
- add hl, de
- push hl
- ld de, String_89116
- call Function8931b
- call Function8934a
- jr c, .asm_8b8c0
- ld hl, $0006
- add hl, bc
- ld d, h
- ld e, l
-
-.asm_8b8c0
- pop hl
- call PlaceString
- call CloseSRAM
- ret
-; 8b8c8
-
-Function8b8c8: ; 8b8c8
- hlcoord 0, 14
- ld b, $2
- ld c, $12
- call TextBox
- ld a, [wd033]
- ld b, 0
- ld c, a
- ld hl, Unknown_8b903
-rept 2
- add hl, bc
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld d, h
- ld e, l
- hlcoord 1, 16
- call PlaceString
- hlcoord 0, 13
- ld a, $f
- ld [hl], a
- hlcoord 19, 13
- ld a, $11
- ld [hl], a
- ld a, [wd0e4]
- cp $24
- ret c
- hlcoord 0, 13
- ld c, $12
- call Function8b732
- ret
-; 8b903
-
-Unknown_8b903: ; 8b903
- dw String_8b90b
- dw String_8b919
- dw String_8b92a
- dw String_8b938
-
-String_8b90b: db "めいしを えらんでください@" ; Please select a noun.
-String_8b919: db "どの めいしと いれかえますか?@" ; OK to swap with any noun?
-String_8b92a: db "あいてを えらんでください@" ; Please select an opponent.
-String_8b938: db "いれる ところを えらんでください@" ; Please select a location.
-; 8b94a
-
-Function8b94a: ; 8b94a
- ld [wd033], a
- xor a
- ld [wd0e4], a
- ld [wd032], a
- ld [wd0e3], a
- ld [wd031], a
- ld a, $1
- ld [wd030], a
- ret
-; 8b960
-
-
-Function8b960: ; 8b960 (22:7960)
- ld hl, MenuDataHeader_0x8b9ac
- call LoadMenuDataHeader
- call Function8b9e9
- jr c, .asm_8b97a
- hlcoord 11, 0
- ld b, $6
- ld c, $7
- call Function8b703
- ld hl, MenuDataHeader_0x8b9b1
- jr .asm_8b987
-.asm_8b97a
- hlcoord 11, 0
- ld b, $a
- ld c, $7
- call Function8b703
- ld hl, MenuDataHeader_0x8b9ca
-.asm_8b987
- ld a, $1
- call Function89d5e
- ld hl, Function8b9ab
- call Function89d85
- call ExitMenu
- jr c, .asm_8b99c
- call Function8b99f
- jr nz, .asm_8b99d
-.asm_8b99c
- xor a
-.asm_8b99d
- ld c, a
- ret
-
-Function8b99f: ; 8b99f (22:799f)
- ld hl, DefaultFlypoint
- dec a
- ld c, a
- ld b, $0
- add hl, bc
- ld a, [hl]
- cp $ff
- ret
-; 8b9ab (22:79ab)
-
-Function8b9ab: ; 8b9ab
- ret
-; 8b9ac
-
-MenuDataHeader_0x8b9ac: ; 0x8b9ac
- db $40 ; flags
- db 00, 11 ; start coords
- db 11, 19 ; end coords
-
-MenuDataHeader_0x8b9b1: ; 0x8b9b1
- db $40 ; flags
- db 00, 11 ; start coords
- db 07, 19 ; end coords
- dw MenuData2_0x8b9b9
- db 1 ; default option
-; 0x8b9b9
-
-MenuData2_0x8b9b9: ; 0x8b9b9
- db $a0 ; flags
- db 3 ; items
- db "へんしゅう@" ; EDIT
- db "いれかえ@" ; REPLACE
- db "やめる@" ; QUIT
-; 0x8b9ca
-
-MenuDataHeader_0x8b9ca: ; 0x8b9ca
- db $40 ; flags
- db 00, 11 ; start coords
- db 11, 19 ; end coords
- dw MenuData2_0x8b9d2
- db 1 ; default option
-; 0x8b9d2
-
-MenuData2_0x8b9d2: ; 0x8b9d2
- db $a0 ; flags
- db 5 ; items
- db "みる@" ; VIEW
- db "へんしゅう@" ; EDIT
- db "いれかえ@" ; REPLACE
- db "けす@" ; ERASE
- db "やめる@" ; QUIT
-; 0x8b9e9
-
-Function8b9e9: ; 8b9e9 (22:79e9)
- call Function89160
- call Function8931b
- call Function8932d
- jr nc, .asm_8b9f6
- jr .asm_8b9ff
-.asm_8b9f6
- ld hl, $11
- add hl, bc
- call Function89b45
- jr c, .asm_8ba08
-.asm_8b9ff
- call Function892b4
- and a
- ld de, Unknown_8ba1c
- jr .asm_8ba0c
-.asm_8ba08
- ld de, Unknown_8ba1f
- scf
-.asm_8ba0c
- push af
- ld hl, DefaultFlypoint
-.asm_8ba10
- ld a, [de]
- inc de
- ld [hli], a
- cp $ff
- jr nz, .asm_8ba10
- call CloseSRAM
- pop af
- ret
-; 8ba1c (22:7a1c)
-
-Unknown_8ba1c: ; 8b1ac
- db 2, 4, -1
-
-Unknown_8ba1f: ; 8ba1f
- db 1, 2, 4, 3, -1
-; 8ba24
+INCLUDE "event/battle_tower.asm"
+INCLUDE "misc/mobile_22_2.asm"
SECTION "bank23", ROMX, BANK[$23]
-Function8c000: ; 8c000
-Function8c000_2:
+Predef35: ; 8c000
+Predef36:
ret
; 8c001
-Function8c001:: ; 8c001
- call UpdateTime
- ld a, [TimeOfDay]
- ld [CurTimeOfDay], a
- call GetTimePalette
- ld [TimeOfDayPal], a
- ret
-; 8c011
-
-
-_TimeOfDayPals:: ; 8c011
-; return carry if pals are changed
-
-; forced pals?
- ld hl, wd846
- bit 7, [hl]
- jr nz, .dontchange
-
-; do we need to bother updating?
- ld a, [TimeOfDay]
- ld hl, CurTimeOfDay
- cp [hl]
- jr z, .dontchange
-
-; if so, the time of day has changed
- ld a, [TimeOfDay]
- ld [CurTimeOfDay], a
-
-; get palette id
- call GetTimePalette
-
-; same palette as before?
- ld hl, TimeOfDayPal
- cp [hl]
- jr z, .dontchange
-
-; update palette id
- ld [TimeOfDayPal], a
-
-
-; save bg palette 8
- ld hl, Unkn1Pals + 8 * 7 ; Unkn1Pals + 7 pals
-
-; save wram bank
- ld a, [rSVBK]
- ld b, a
-; wram bank 5
- ld a, 5
- ld [rSVBK], a
-
-; push palette
- ld c, 4 ; NUM_PAL_COLORS
-.push
- ld d, [hl]
- inc hl
- ld e, [hl]
- inc hl
- push de
- dec c
- jr nz, .push
-
-; restore wram bank
- ld a, b
- ld [rSVBK], a
-
-
-; update sgb pals
- ld b, $9
- call GetSGBLayout
-
-
-; restore bg palette 8
- ld hl, wd03f ; last byte in Unkn1Pals
-
-; save wram bank
- ld a, [rSVBK]
- ld d, a
-; wram bank 5
- ld a, 5
- ld [rSVBK], a
-
-; pop palette
- ld e, 4 ; NUM_PAL_COLORS
-.pop
- pop bc
- ld [hl], c
- dec hl
- ld [hl], b
- dec hl
- dec e
- jr nz, .pop
-
-; restore wram bank
- ld a, d
- ld [rSVBK], a
-
-; update palettes
- call _UpdateTimePals
- call DelayFrame
-
-; successful change
- scf
- ret
-
-.dontchange
-; no change occurred
- and a
- ret
-; 8c070
-
-
-_UpdateTimePals:: ; 8c070
- ld c, $9 ; normal
- call GetTimePalFade
- call DmgToCgbTimePals
- ret
-; 8c079
-
-FadeInBGMap:: ; 8c079
- ld c, $12
- call GetTimePalFade
- ld b, $4
- call Function8c16d
- ret
-; 8c084
-
-FadeBlackBGMap:: ; 8c084
- call Function8c0c1
- ld c, $9
- call GetTimePalFade
- ld b, $4
- call Function8c15e
- ret
-; 8c092
-
-Special_BattleTowerFade: ; 8c092
- call Function8c0c1
- ld c, $9
- call GetTimePalFade
- ld b, $4
-.asm_8c09c
- call DmgToCgbTimePals
-rept 3
- inc hl
-endr
- ld c, $7
- call DelayFrames
- dec b
- jr nz, .asm_8c09c
- ret
-; 8c0ab
-
-Special_FadeInQuickly: ; 8c0ab
- ld c, $0
- call GetTimePalFade
- ld b, $4
- call Function8c15e
- ret
-; 8c0b6
-
-Special_FadeBlackQuickly: ; 8c0b6
- ld c, $9
- call GetTimePalFade
- ld b, $4
- call Function8c16d
- ret
-; 8c0c1
-
-
-Function8c0c1: ; 8c0c1
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, Unkn1Pals
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- ld hl, Unkn1Pals + 8
- ld c, $6
-.asm_8c0d4
- ld a, e
- ld [hli], a
- ld a, d
- ld [hli], a
-rept 6
- inc hl
-endr
- dec c
- jr nz, .asm_8c0d4
- pop af
- ld [rSVBK], a
- ret
-; 8c0e5
-
-brightlevel: MACRO
- db (\1 << 6) | (\2 << 4) | (\3 << 2) | \4
-ENDM
-
-Function8c0e5: ; 8c0e5
- ld hl, .BrightnessLevels
- ld a, [wc2d0]
- cp $4 ; Dark cave, needs Flash
- jr z, .DarkCave
- and $7
- add l
- ld l, a
- ld a, $0
- adc h
- ld h, a
- ld a, [hl]
- ld [wd847], a
- ret
-.DarkCave
- ld a, [StatusFlags]
- bit 2, a
- jr nz, .UsedFlash
- ld a, $ff ; 3, 3, 3, 3
- ld [wd847], a
- ret
-.UsedFlash
- ld a, $aa ; 2, 2, 2, 2
- ld [wd847], a
- ret
-; 8c10f (23:410f)
-
-.BrightnessLevels: ; 8c10f
- brightlevel 3, 2, 1, 0
- brightlevel 1, 1, 1, 1
- brightlevel 2, 2, 2, 2
- brightlevel 0, 0, 0, 0
- brightlevel 3, 3, 3, 3
- brightlevel 3, 2, 1, 0
- brightlevel 3, 2, 1, 0
- brightlevel 3, 2, 1, 0
-; 8c117
-
-GetTimePalette: ; 8c117
- ld a, [TimeOfDay]
- ld e, a
- ld d, 0
- ld hl, .TimePalettes
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 8c126
-
-.TimePalettes
- dw .MorningPalette
- dw .DayPalette
- dw .NitePalette
- dw .DarknessPalette
-
-.MorningPalette
- ld a, [wd847]
- and %00000011 ; 0
- ret
-
-.DayPalette
- ld a, [wd847]
- and %00001100 ; 1
- srl a
- srl a
- ret
-
-.NitePalette
- ld a, [wd847]
- and %00110000 ; 2
- swap a
- ret
-
-.DarknessPalette
- ld a, [wd847]
- and %11000000 ; 3
- rlca
- rlca
- ret
-; 8c14e
-
-
-DmgToCgbTimePals: ; 8c14e
- push hl
- push de
- ld a, [hli]
- call DmgToCgbBGPals
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- call DmgToCgbObjPals
- pop de
- pop hl
- ret
-; 8c15e
-
-Function8c15e: ; 8c15e
-.asm_8c15e
- call DmgToCgbTimePals
-rept 3
- inc hl
-endr
- ld c, $2
- call DelayFrames
- dec b
- jr nz, .asm_8c15e
- ret
-; 8c16d
-
-Function8c16d: ; 8c16d
-.asm_8c16d
- call DmgToCgbTimePals
-rept 3
- dec hl
-endr
- ld c, $2
- call DelayFrames
- dec b
- jr nz, .asm_8c16d
- ret
-; 8c17c
-
-
-GetTimePalFade: ; 8c17c
-; check cgb
- ld a, [hCGB]
- and a
- jr nz, .cgb
-
-; else: dmg
-
-; index
- ld a, [TimeOfDayPal]
- and %11
-
-; get fade table
- push bc
- ld c, a
- ld b, $0
- ld hl, .dmgfades
-rept 2
- add hl, bc
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop bc
-
-; get place in fade table
- ld b, $0
- add hl, bc
- ret
-
-.cgb
- ld hl, .cgbfade
- ld b, $0
- add hl, bc
- ret
-
-.dmgfades
- dw .morn
- dw .day
- dw .nite
- dw .darkness
-
-.morn
- db %11111111, %11111111, %11111111
- db %11111110, %11111110, %11111110
- db %11111001, %11100100, %11100100
- db %11100100, %11010000, %11010000
- db %10010000, %10000000, %10000000
- db %01000000, %01000000, %01000000
- db %00000000, %00000000, %00000000
-
-.day
- db %11111111, %11111111, %11111111
- db %11111110, %11111110, %11111110
- db %11111001, %11100100, %11100100
- db %11100100, %11010000, %11010000
- db %10010000, %10000000, %10000000
- db %01000000, %01000000, %01000000
- db %00000000, %00000000, %00000000
-
-.nite
- db %11111111, %11111111, %11111111
- db %11111110, %11111110, %11111110
- db %11111001, %11100100, %11100100
- db %11101001, %11010000, %11010000
- db %10010000, %10000000, %10000000
- db %01000000, %01000000, %01000000
- db %00000000, %00000000, %00000000
-
-.darkness
- db %11111111, %11111111, %11111111
- db %11111110, %11111110, %11111111
- db %11111110, %11100100, %11111111
- db %11111101, %11010000, %11111111
- db %11111101, %10000000, %11111111
- db %00000000, %01000000, %00000000
- db %00000000, %00000000, %00000000
-
-.cgbfade
- db %11111111, %11111111, %11111111
- db %11111110, %11111110, %11111110
- db %11111001, %11111001, %11111001
- db %11100100, %11100100, %11100100
- db %10010000, %10010000, %10010000
- db %01000000, %01000000, %01000000
- db %00000000, %00000000, %00000000
-; 8c20f
-
-
-Function8c20f: ; 8c20f
- call Function8c26d
- ld a, [rBGP]
- ld [wcfc7], a
- ld a, [rOBP0]
- ld [wcfc8], a
- ld a, [rOBP1]
- ld [wcfc9], a
- call DelayFrame
- ld hl, hVBlank
- ld a, [hl]
- push af
- ld [hl], $1
-.asm_8c22b
- ld a, [wcf63]
- bit 7, a
- jr nz, .asm_8c23a
- call Function8c314
- call DelayFrame
- jr .asm_8c22b
-
-.asm_8c23a
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, Unkn1Pals
- ld bc, $0040
- xor a
- call ByteFill
- pop af
- ld [rSVBK], a
- ld a, $ff
- ld [wcfc7], a
- call DmgToCgbBGPals
- call DelayFrame
- xor a
- ld [hLCDStatCustom], a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
- ld [hSCY], a
- ld a, $1
- ld [rSVBK], a
- pop af
- ld [hVBlank], a
- call DelayFrame
- ret
-; 8c26d
-
-Function8c26d: ; 8c26d
- ld a, [InLinkBattle]
- cp $4
- jr z, .asm_8c288
- callba Function6454
- call UpdateSprites
- call DelayFrame
- call Function8c2a0
- call Function8cf4f
- jr .asm_8c28b
-
-.asm_8c288
- call Function8c2aa
-
-.asm_8c28b
- ld a, $90
- ld [hWY], a
- call DelayFrame
- xor a
- ld [hBGMapMode], a
- ld hl, wcf63
- xor a
-rept 2
- ld [hli], a
-endr
- ld [hl], a
- call Function8c6d8
- ret
-; 8c2a0
-
-Function8c2a0: ; 8c2a0
- call Function8c2aa
- ld hl, VBGMap0
- call Function8c2cf
- ret
-; 8c2aa
-
-Function8c2aa: ; 8c2aa
- ld de, GFX_8c2f4
- ld hl, $8fe0
- ld b, BANK(GFX_8c2f4)
- ld c, 2
- call Request2bpp
- ld a, [rVBK]
- push af
- ld a, $1
- ld [rVBK], a
- ld de, GFX_8c2f4
- ld hl, $8fe0
- ld b, BANK(GFX_8c2f4)
- ld c, 2
- call Request2bpp
- pop af
- ld [rVBK], a
- ret
-; 8c2cf
-
-Function8c2cf: ; 8c2cf
- ld a, [rSVBK]
- push af
- ld a, $6
- ld [rSVBK], a
- push hl
- ld hl, w6_d000
- ld bc, $28 * $10
-.asm_8c2dd
- ld [hl], $ff
- inc hl
- dec bc
- ld a, c
- or b
- jr nz, .asm_8c2dd
- pop hl
- ld de, w6_d000
- ld b, BANK(Function8c2cf) ; BANK(@)
- ld c, $28
- call Request2bpp
- pop af
- ld [rSVBK], a
- ret
-; 8c2f4
-
-GFX_8c2f4: ; 8c2f4
-INCBIN "gfx/unknown/08c2f4.2bpp"
-
-
-Function8c314: ; 8c314
- ld a, [wcf63]
- ld e, a
- ld d, 0
- ld hl, Jumptable_8c323
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 8c323
-
-Jumptable_8c323: ; 8c323 (23:4323)
- dw Function8c365
- dw Function8c5dc
- dw Function8c3a1
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c39c
- dw Function8c3e8
- dw Function8c408
- dw Function8c5dc
- dw Function8c3a1
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c39c
- dw Function8c768
- dw Function8c5dc
- dw Function8c3a1
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c39c
- dw Function8c43d
- dw Function8c44f
- dw Function8c5dc
- dw Function8c3a1
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c39c
- dw Function8c578
- dw Function8c58f
- dw Function8c393
-
-
-Function8c365: ; 8c365 (23:4365)
- ld de, 0
- ld a, [BattleMonLevel]
- add 3
- ld hl, EnemyMonLevel
- cp [hl]
- jr nc, .asm_8c375
- set 0, e
-.asm_8c375
- ld a, [wPermission]
- cp $4
- jr z, .asm_8c386
- cp $5
- jr z, .asm_8c386
- cp $7
- jr z, .asm_8c386
- set 1, e
-.asm_8c386
- ld hl, Unknown_8c38f
- add hl, de
- ld a, [hl]
- ld [wcf63], a
- ret
-; 8c38f (23:438f)
-
-Unknown_8c38f: ; 8c38f
- db 1, 9
- db 16, 24
-; 8c393
-
-Function8c393: ; 8c393 (23:4393)
- call ClearSprites
- ld a, $80
- ld [wcf63], a
- ret
-
-Function8c39c: ; 8c39c (23:439c)
- ld hl, wcf63
- inc [hl]
- ret
-
-Function8c3a1: ; 8c3a1 (23:43a1)
- call Function8c39c
- xor a
- ld [wcf64], a
- ld [hBGMapMode], a ; $ff00+$d4
- ret
-
-Function8c3ab: ; 8c3ab (23:43ab)
- call Function8c3b3
- ret nc
- call Function8c39c
- ret
-
-Function8c3b3: ; 8c3b3 (23:43b3)
- ld a, [wd847]
- cp $ff
- jr z, .asm_8c3d5
- ld hl, wcf64
- ld a, [hl]
- inc [hl]
- srl a
- ld e, a
- ld d, 0
- ld hl, Unknown_8c3db
- add hl, de
- ld a, [hl]
- cp $1
- jr z, .asm_8c3d5
- ld [wcfc7], a
- call DmgToCgbBGPals
- and a
- ret
-.asm_8c3d5
- xor a
- ld [wcf64], a
- scf
- ret
-; 8c3db (23:43db)
-
-Unknown_8c3db: ; 8c3db
- db $f9 ; 3321
- db $fe ; 3332
- db $ff ; 3333
- db $fe ; 3332
- db $f9 ; 3321
- db $e4 ; 3210
- db $90 ; 2100
- db $40 ; 1000
- db $00 ; 0000
- db $40 ; 1000
- db $90 ; 2100
- db $e4 ; 3210
- db $01 ; 0001
-; 8c3e8
-
-Function8c3e8: ; 8c3e8 (23:43e8)
- callba Function5602
- ld a, $5
- ld [rSVBK], a ; $ff00+$70
- call Function8c39c
- ld a, $43
- ld [hLCDStatCustom], a ; $ff00+$c6
- xor a
- ld [hLCDStatCustom + 1], a
- ld a, $90
- ld [hLCDStatCustom + 2], a
- xor a
- ld [wcf64], a
- ld [wcf65], a
- ret
-
-Function8c408: ; 8c408 (23:4408)
- ld a, [wcf64]
- cp $60
- jr nc, .asm_8c413
- call Function8c419
- ret
-.asm_8c413
- ld a, $20
- ld [wcf63], a
- ret
-
-Function8c419: ; 8c419 (23:4419)
- ld hl, wcf65
- ld a, [hl]
- inc [hl]
- ld hl, wcf64
- ld d, [hl]
- add [hl]
- ld [hl], a
- ld a, $90
- ld bc, wd100
- ld e, $0
-.asm_8c42b
- push af
- push de
- ld a, e
- call Function8c6f7
- ld [bc], a
- inc bc
- pop de
- ld a, e
- add $2
- ld e, a
- pop af
- dec a
- jr nz, .asm_8c42b
- ret
-
-Function8c43d: ; 8c43d (23:443d)
- callba Function5602
- ld a, $5
- ld [rSVBK], a ; $ff00+$70
- call Function8c39c
- xor a
- ld [wcf64], a
- ret
-
-Function8c44f: ; 8c44f (23:444f)
- xor a
- ld [hBGMapMode], a ; $ff00+$d4
- ld a, [wcf64]
- ld e, a
- ld d, 0
- ld hl, Unknown_8c490
-rept 5
- add hl, de
-endr
- ld a, [hli]
- cp -1
- jr z, .asm_8c47a
- ld [wcf65], a
- call Function8c4f5
- ld a, $1
- ld [hBGMapMode], a ; $ff00+$d4
- call DelayFrame
- call DelayFrame
- ld hl, wcf64
- inc [hl]
- ret
-.asm_8c47a
- ld a, $1
- ld [hBGMapMode], a ; $ff00+$d4
- call DelayFrame
- call DelayFrame
- call DelayFrame
- xor a
- ld [hBGMapMode], a ; $ff00+$d4
- ld a, $20
- ld [wcf63], a
- ret
-; 8c490 (23:4490)
-
-Unknown_8c490: ; 8c490
-macro_8c490: MACRO
- db \1
- dw \2
- dwcoord \3, \4
-ENDM
-
- macro_8c490 0, Unknown_8c538, 1, 6
- macro_8c490 0, Unknown_8c53e, 0, 3
- macro_8c490 0, Unknown_8c548, 1, 0
- macro_8c490 0, Unknown_8c55a, 5, 0
- macro_8c490 0, Unknown_8c568, 9, 0
- macro_8c490 1, Unknown_8c568, 10, 0
- macro_8c490 1, Unknown_8c55a, 14, 0
- macro_8c490 1, Unknown_8c548, 18, 0
- macro_8c490 1, Unknown_8c53e, 19, 3
- macro_8c490 1, Unknown_8c538, 18, 6
- macro_8c490 3, Unknown_8c538, 18, 11
- macro_8c490 3, Unknown_8c53e, 19, 14
- macro_8c490 3, Unknown_8c548, 18, 17
- macro_8c490 3, Unknown_8c55a, 14, 17
- macro_8c490 3, Unknown_8c568, 10, 17
- macro_8c490 2, Unknown_8c568, 9, 17
- macro_8c490 2, Unknown_8c55a, 5, 17
- macro_8c490 2, Unknown_8c548, 1, 17
- macro_8c490 2, Unknown_8c53e, 0, 14
- macro_8c490 2, Unknown_8c538, 1, 11
- db $ff
-; 8c4f5
-
-Function8c4f5: ; 8c4f5 (23:44f5)
- ld a, [hli]
- ld e, a
- ld a, [hli]
- ld d, a
- ld a, [hli]
- ld h, [hl]
- ld l, a
-.asm_8c4fc
- push hl
- ld a, [de]
- ld c, a
- inc de
-.asm_8c500
- ld [hl], $ff
- ld a, [wcf65]
- bit 0, a
- jr z, .asm_8c50c
- inc hl
- jr .asm_8c50d
-.asm_8c50c
- dec hl
-.asm_8c50d
- dec c
- jr nz, .asm_8c500
- pop hl
- ld a, [wcf65]
- bit 1, a
- ld bc, $14
- jr z, .asm_8c51e
- ld bc, $ffec
-.asm_8c51e
- add hl, bc
- ld a, [de]
- inc de
- cp $ff
- ret z
- and a
- jr z, .asm_8c4fc
- ld c, a
-.asm_8c528
- ld a, [wcf65]
- bit 0, a
- jr z, .asm_8c532
- dec hl
- jr .asm_8c533
-.asm_8c532
- inc hl
-.asm_8c533
- dec c
- jr nz, .asm_8c528
- jr .asm_8c4fc
-; 8c538 (23:4538)
-
-Unknown_8c538: db 2, 3, 5, 4, 9, $ff
-Unknown_8c53e: db 1, 1, 2, 2, 4, 2, 4, 2, 3, $ff
-Unknown_8c548: db 2, 1, 3, 1, 4, 1, 4, 1, 4, 1, 3, 1, 2, 1, 1, 1, 1, $ff
-Unknown_8c55a: db 4, 1, 4, 0, 3, 1, 3, 0, 2, 1, 2, 0, 1, $ff
-Unknown_8c568: db 4, 0, 3, 0, 3, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, $ff
-; 8c578
-
-Function8c578: ; 8c578 (23:4578)
- callba Function5602
- ld a, $5
- ld [rSVBK], a ; $ff00+$70
- call Function8c39c
- ld a, $10
- ld [wcf64], a
- ld a, $1
- ld [hBGMapMode], a ; $ff00+$d4
- ret
-
-Function8c58f: ; 8c58f (23:458f)
- ld hl, wcf64
- ld a, [hl]
- and a
- jr z, .asm_8c5a2
- dec [hl]
- ld c, $c
-.asm_8c599
- push bc
- call Function8c5b8
- pop bc
- dec c
- jr nz, .asm_8c599
- ret
-.asm_8c5a2
- ld a, $1
- ld [hBGMapMode], a ; $ff00+$d4
- call DelayFrame
- call DelayFrame
- call DelayFrame
- xor a
- ld [hBGMapMode], a ; $ff00+$d4
- ld a, $20
- ld [wcf63], a
- ret
-
-Function8c5b8: ; 8c5b8 (23:45b8)
- call Random
- cp $12
- jr nc, Function8c5b8
- ld b, a
-.asm_8c5c0
- call Random
- cp $14
- jr nc, .asm_8c5c0
- ld c, a
- ld hl, Sprites + $8c
- ld de, $14
- inc b
-.asm_8c5cf
- add hl, de
- dec b
- jr nz, .asm_8c5cf
- add hl, bc
- ld a, [hl]
- cp $ff
- jr z, Function8c5b8
- ld [hl], $ff
- ret
-
-Function8c5dc: ; 8c5dc (23:45dc)
- ld a, [OtherTrainerClass]
- and a
- jp z, Function8c673
- xor a
- ld [hBGMapMode], a ; $ff00+$d4
- hlcoord 0, 0, AttrMap
- ld bc, $168
- inc b
- inc c
- jr .asm_8c5f4
-.asm_8c5f0
- ld a, [hl]
- or $7
- ld [hli], a
-.asm_8c5f4
- dec c
- jr nz, .asm_8c5f0
- dec b
- jr nz, .asm_8c5f0
- call Function8c6b1
- hlcoord 2, 1
- ld b, $10
-.asm_8c602
- push hl
- ld c, $2
-.asm_8c605
- push hl
- ld a, [de]
- inc de
-.asm_8c608
- and a
- jr z, .asm_8c614
- sla a
- jr nc, .asm_8c611
- ld [hl], $fe
-.asm_8c611
- inc hl
- jr .asm_8c608
-.asm_8c614
- pop hl
- push bc
- ld bc, $8
- add hl, bc
- pop bc
- dec c
- jr nz, .asm_8c605
- pop hl
- push bc
- ld bc, $14
- add hl, bc
- pop bc
- dec b
- jr nz, .asm_8c602
- ld a, [hCGB] ; $ff00+$e6
- and a
- jr nz, .asm_8c639
- ld a, $1
- ld [hBGMapMode], a ; $ff00+$d4
- call DelayFrame
- call DelayFrame
- jr Function8c673
-.asm_8c639
- ld hl, Unknown_8c6a1
- ld a, [TimeOfDayPal]
- and 3
- cp 3
- jr nz, .asm_8c648
- ld hl, Unknown_8c6a9
-.asm_8c648
- ld a, [rSVBK] ; $ff00+$70
- push af
- ld a, $5
- ld [rSVBK], a ; $ff00+$70
- call Function8c677
- push hl
- ld de, Unkn1Pals + 8 * 7
- ld bc, $8
- call CopyBytes
- pop hl
- ld de, BGPals + 8 * 7
- ld bc, $8
- call CopyBytes
- pop af
- ld [rSVBK], a ; $ff00+$70
- ld a, $1
- ld [hCGBPalUpdate], a ; $ff00+$e5
- call DelayFrame
- call Function8cf4f
-
-Function8c673: ; 8c673 (23:4673)
- call Function8c39c
- ret
-
-Function8c677: ; 8c677 (23:4677)
- ld de, Unkn1Pals + 8 * 7
- call Function8c698
- ld de, BGPals + 8 * 7
- call Function8c698
- ld de, Unkn2Pals + 8 * 6
- call Function8c698
- ld de, OBPals + 8 * 6
- call Function8c698
- ld de, Unkn2Pals + 8 * 7
- call Function8c698
- ld de, OBPals + 8 * 7
-
-Function8c698: ; 8c698 (23:4698)
- push hl
- ld bc, $8
- call CopyBytes
- pop hl
- ret
-; 8c6a1 (23:46a1)
-
-Unknown_8c6a1: ; 8c6a1
- RGB 31, 18, 29
- RGB 31, 11, 15
- RGB 31, 05, 05
- RGB 07, 07, 07
-; 8c6a9
-
-Unknown_8c6a9: ; 8c6a9
- RGB 31, 18, 29
- RGB 31, 05, 05
- RGB 31, 05, 05
- RGB 31, 05, 05
-
-Function8c6b1:
- ld a, [OtherTrainerClass]
- ld de, PokeBallTransition
- ret
-
-PokeBallTransition:
- db %00000011,%11000000
- db %00001111,%11110000
- db %00111100,%00111100
- db %00110000,%00001100
- db %01100000,%00000110
- db %01100011,%11000110
- db %11000110,%01100011
- db %11111100,%00111111
- db %11111100,%00111111
- db %11000110,%01100011
- db %01100011,%11000110
- db %01100000,%00000110
- db %00110000,%00001100
- db %00111100,%00111100
- db %00001111,%11110000
- db %00000011,%11000000
-
-Function8c6d8: ; 8c6d8
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, LYOverrides
- call Function8c6ef
- ld hl, LYOverridesBackup
- call Function8c6ef
- pop af
- ld [rSVBK], a
- ret
-; 8c6ef
-
-Function8c6ef: ; 8c6ef
- xor a
- ld c, $90
-.asm_8c6f2
- ld [hli], a
- dec c
- jr nz, .asm_8c6f2
- ret
-; 8c6f7
-
-
-Function8c6f7: ; 8c6f7 (23:46f7)
- and $3f
- cp $20
- jr nc, .asm_8c702
- call Function8c70c
- ld a, h
- ret
-.asm_8c702
- and $1f
- call Function8c70c
- ld a, h
- xor $ff
- inc a
- ret
-
-Function8c70c: ; 8c70c (23:470c)
- ld e, a
- ld a, d
- ld d, 0
- ld hl, Unknown_8c728
-rept 2
- add hl, de
-endr
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, 0
-.asm_8c71b
- srl a
- jr nc, .asm_8c720
- add hl, de
-.asm_8c720
- sla e
- rl d
- and a
- jr nz, .asm_8c71b
- ret
-; 8c728 (23:4728)
-
-Unknown_8c728: ; 8c728
- sine_wave $100
-; 8c768
-
-Function8c768: ; 8c768 (23:4768)
- callba Function5602
- ld de, Unknown_8c792
-.asm_8c771
- ld a, [de]
- cp $ff
- jr z, .asm_8c78c
- inc de
- ld c, a
- ld a, [de]
- inc de
- ld b, a
- ld a, [de]
- inc de
- ld l, a
- ld a, [de]
- inc de
- ld h, a
- xor a
- ld [hBGMapMode], a ; $ff00+$d4
- call Function8c7b7
- call WaitBGMap
- jr .asm_8c771
-.asm_8c78c
- ld a, $20
- ld [wcf63], a
- ret
-; 8c792 (23:4792)
-
-Unknown_8c792: ; 8c792
-macro_8c792: macro
- db \1, \2
- dwcoord \3, \4
-endm
- macro_8c792 4, 2, 8, 8
- macro_8c792 6, 4, 7, 7
- macro_8c792 8, 6, 6, 6
- macro_8c792 10, 8, 5, 5
- macro_8c792 12, 10, 4, 4
- macro_8c792 14, 12, 3, 3
- macro_8c792 16, 14, 2, 2
- macro_8c792 18, 16, 1, 1
- macro_8c792 20, 18, 0, 0
- db $ff
-; 8c7b7
-
-Function8c7b7: ; 8c7b7 (23:47b7)
- ld a, $ff
-.asm_8c7b9
- push bc
- push hl
-.asm_8c7bb
- ld [hli], a
- dec c
- jr nz, .asm_8c7bb
- pop hl
- ld bc, $14
- add hl, bc
- pop bc
- dec b
- jr nz, .asm_8c7b9
- ret
-; 8c7c9 (23:47c9)
+INCLUDE "engine/timeofdaypals.asm"
+INCLUDE "engine/battle_start.asm"
-Function8c7c9: ; 8c7c9
+Function8c7c9: ; unreferenced
ld a, $1
ld [hBGMapMode], a
call WaitBGMap
@@ -62528,7 +54233,7 @@ ShakeHeadbuttTree: ; 8c80a
lb bc, BANK(GFX_8c9cc), 4
call Request2bpp
ld de, HeadbuttTreeGFX
- ld hl, $8840
+ ld hl, VTiles1 tile $04
lb bc, BANK(HeadbuttTreeGFX), 8
call Request2bpp
call Function8cad3
@@ -62540,25 +54245,25 @@ ShakeHeadbuttTree: ; 8c80a
ld a, $90
ld [wc3b5], a
callba Function8cf7a
- call Function8c913
+ call GetHeadbuttTreeRelativeLocation
ld a, $20
ld [wcf64], a
call WaitSFX
ld de, SFX_SANDSTORM
call PlaySFX
-.asm_8c852
+.loop
ld hl, wcf64
ld a, [hl]
and a
- jr z, .asm_8c86a
+ jr z, .done
dec [hl]
ld a, $90
ld [wc3b5], a
callba Function8cf7a
call DelayFrame
- jr .asm_8c852
+ jr .loop
-.asm_8c86a
+.done
call Function2173
call WaitBGMap
xor a
@@ -62580,19 +54285,20 @@ HeadbuttTreeGFX: ; 8c893
INCBIN "gfx/unknown/08c893.2bpp"
; 8c913
-Function8c913: ; 8c913
+GetHeadbuttTreeRelativeLocation: ; 8c913
xor a
ld [hBGMapMode], a
ld a, [PlayerDirection]
- and $c
+ and %00001100
srl a
ld e, a
ld d, 0
- ld hl, Unknown_8c938
+ ld hl, TreeRelativeLocationTable
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
+
ld a, $5
ld [hli], a
ld [hld], a
@@ -62606,23 +54312,24 @@ Function8c913: ; 8c913
ret
; 8c938
-Unknown_8c938: ; 8c938
- dwcoord 8, 10
- dwcoord 8, 6
- dwcoord 6, 8
- dwcoord 10, 8
+TreeRelativeLocationTable: ; 8c938
+ dwcoord 8, 8 + 2 ; RIGHT
+ dwcoord 8, 8 - 2 ; LEFT
+ dwcoord 8 - 2, 8 ; DOWN
+ dwcoord 8 + 2, 8 ; UP
+; 8c940
; 8c940
Function8c940: ; 8c940
ld a, e
and $1
- ld [wcf63], a
+ ld [wJumptableIndex], a
call Function8c96d
call WaitSFX
ld de, SFX_PLACE_PUZZLE_PIECE_DOWN
call PlaySFX
.asm_8c952
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_8c96c
ld a, $90
@@ -62658,7 +54365,7 @@ INCBIN "gfx/unknown/08c9cc.2bpp"
; 8ca0c
Function8ca0c: ; 8ca0c
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_8ca1b
@@ -62688,7 +54395,7 @@ Function8ca23: ; 8ca23 (23:4a23)
ld [hl], $84
ld a, $20
ld [wcf64], a
- ld hl, wcf63
+ ld hl, wJumptableIndex
rept 2
inc [hl]
endr
@@ -62706,14 +54413,14 @@ Function8ca3c: ; 8ca3c (23:4a3c)
call Function8ca73
ld a, $20
ld [wcf64], a
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
Function8ca5c: ; 8ca5c (23:4a5c)
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
Function8ca64: ; 8ca64 (23:4a64)
@@ -62724,7 +54431,7 @@ Function8ca64: ; 8ca64 (23:4a64)
dec [hl]
ret
.asm_8ca6d
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -62831,7 +54538,7 @@ Function8caed: ; 8caed
ld a, $80
ld [wcf64], a
.asm_8cb14
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_8cb2e
ld a, $0
@@ -62868,7 +54575,7 @@ Function8cb33: ; 8cb33
ld a, $40
ld [wcf64], a
.asm_8cb60
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_8cb7a
ld a, $0
@@ -62904,7 +54611,7 @@ endr
Function8cb9b: ; 8cb9b (23:4b9b)
callab Function8cf53
ld de, GFX_8c9cc
- ld hl, $8800
+ ld hl, VTiles1 tile $00
lb bc, BANK(GFX_8c9cc), 4
call Request2bpp
ld a, [CurPartyMon]
@@ -62917,7 +54624,7 @@ Function8cb9b: ; 8cb9b (23:4b9b)
ld e, $84
callba Function8e9bc
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function8cbc8: ; 8cbc8 (23:4bc8)
@@ -62935,7 +54642,7 @@ Function8cbc8: ; 8cbc8 (23:4bc8)
call PlaySFX
ret
.asm_8cbe0
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -62998,7 +54705,7 @@ Special_MagnetTrain: ; 8cc04
push af
ld [hl], $1
.loop
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
and a
jr z, .initialize
bit 7, a
@@ -63101,11 +54808,11 @@ Function8ccc9: ; 8ccc9
add hl, de
ld d, h
ld e, l
- ld hl, $8040
+ ld hl, VTiles0 tile $04
ld c, $4
call Request2bpp
call Function8cda6
- ld hl, wcf63
+ ld hl, wJumptableIndex
xor a
ld [hli], a
ld a, [wd192]
@@ -63127,19 +54834,19 @@ DrawMagnetTrain: ; 8cd27
inc a
cp $12
jr c, .asm_8cd2b
- ld hl, $98c0
+ ld hl, VBGMap0 tile $0c
ld de, MagnetTrainTilemap1
ld c, 20
call .FillLine
- ld hl, $98e0
+ ld hl, VBGMap0 tile $0e
ld de, MagnetTrainTilemap2
ld c, 20
call .FillLine
- ld hl, $9900
+ ld hl, VBGMap0 tile $10
ld de, MagnetTrainTilemap3
ld c, 20
call .FillLine
- ld hl, $9920
+ ld hl, VBGMap0 tile $12
ld de, MagnetTrainTilemap4
ld c, 20
call .FillLine
@@ -63228,13 +54935,13 @@ SetMagnetTrainPals: ; 8cdc3
call ByteFill
; train
- ld hl, $9880
+ ld hl, VBGMap0 tile $08
ld bc, $0140
xor a
call ByteFill
; more bushes
- ld hl, $99c0
+ ld hl, VBGMap0 tile $1c
ld bc, $0080
ld a, $2
call ByteFill
@@ -63251,7 +54958,7 @@ SetMagnetTrainPals: ; 8cdc3
; 8cdf7
Function8cdf7: ; 8cdf7
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_8ce06
@@ -63275,7 +54982,7 @@ Jumptable_8ce06: ; 8ce06
; 8ce14
Function8ce14: ; 8ce14
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
; 8ce19
@@ -63379,7 +55086,7 @@ endr
Function8cea2: ; 8cea2
ld a, $80
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld de, SFX_TRAIN_ARRIVED
call PlaySFX
ret
@@ -63474,9 +55181,11 @@ Function8cf69: ; 8cf69
push de
push bc
push af
+
ld a, $0
ld [wc3b5], a
call Function8cf7a
+
pop af
pop bc
pop de
@@ -63487,6 +55196,7 @@ Function8cf69: ; 8cf69
Function8cf7a: ; 8cf7a
ld hl, wPartyMonMenuIconAnims
ld e, 10 ; Do this first loop 10 times
+
.loop
ld a, [hl]
and a
@@ -63509,6 +55219,7 @@ Function8cf7a: ; 8cf7a
ld a, [wc3b5]
ld l, a
ld h, Sprites / $0100
+
.loop2 ; Clear (Sprites + [wc3b5] --> SpritesEnd)
ld a, l
cp SpritesEnd % $0100
@@ -63523,7 +55234,8 @@ Function8cf7a: ; 8cf7a
Function8cfa8: ; 8cfa8 (23:4fa8)
ld hl, wPartyMonMenuIconAnims
- ld e, $a
+ ld e, 10
+
.loop
ld a, [hl]
and a
@@ -63537,21 +55249,24 @@ Function8cfa8: ; 8cfa8 (23:4fa8)
pop de
pop hl
jr c, .done
+
.next
- ld bc, $10
+ ld bc, $0010
add hl, bc
dec e
jr nz, .loop
+
ld a, [wc3b5]
ld l, a
- ld h, $c4
+ ld h, Sprites / $100
.loop2
ld a, l
- cp $40
+ cp 4 * 16
jr nc, .done
xor a
ld [hli], a
jr .loop2
+
.done
ret
@@ -63597,6 +55312,7 @@ endr
add hl, bc
ld a, [wc3b4]
ld [hli], a
+; read from the table
ld a, [de]
ld [hli], a
inc de
@@ -63607,6 +55323,7 @@ endr
call Function8d109
ld [hli], a
pop de
+
ld hl, $0004
add hl, bc
ld a, e
@@ -63904,6 +55621,8 @@ endr
; 8d189
Function8d189: ; 8d189
+ ; Get the [bc+10]th entry in the data table
+ ; indexed at [bc+1] in Unknown_8d6e6
ld hl, $0001
add hl, bc
ld e, [hl]
@@ -63958,51 +55677,51 @@ endr
; 8d1c4
Unknown_8d1c4: ; 8d1c4
- db $01, $01, $00
- db $07, $04, $00
- db $08, $05, $05
- db $0a, $06, $00
- db $0b, $07, $06
- db $0c, $08, $06
- db $0d, $09, $07
- db $0e, $0a, $07
- db $10, $0b, $07
- db $08, $0c, $05
- db $11, $00, $00
- db $12, $0d, $08
- db $12, $0e, $08
- db $12, $0f, $08
- db $13, $10, $00
- db $15, $00, $00
- db $16, $11, $00
- db $17, $12, $00
- db $18, $12, $00
- db $19, $13, $00
- db $1a, $14, $00
- db $1b, $00, $00
- db $1d, $15, $00
- db $1e, $00, $00
- db $1d, $17, $00
- db $1f, $00, $00
- db $24, $19, $00
- db $25, $00, $00
- db $20, $13, $00
- db $26, $1a, $00
- db $2d, $00, $00
- db $2e, $00, $00
- db $2f, $00, $00
- db $30, $00, $00
- db $31, $00, $00
- db $32, $1b, $00
- db $33, $1c, $00
- db $34, $00, $00
- db $35, $1d, $00
- db $37, $1e, $00
- db $38, $1e, $00
- db $39, $20, $00
- db $3f, $21, $00
- db $3e, $22, $00
- db $40, $00, $00
+ db $01, $01, $00 ; 00
+ db $07, $04, $00 ; 01
+ db $08, $05, $05 ; 02
+ db $0a, $06, $00 ; 03
+ db $0b, $07, $06 ; 04
+ db $0c, $08, $06 ; 05
+ db $0d, $09, $07 ; 06
+ db $0e, $0a, $07 ; 07
+ db $10, $0b, $07 ; 08
+ db $08, $0c, $05 ; 09
+ db $11, $00, $00 ; 0a
+ db $12, $0d, $08 ; 0b
+ db $12, $0e, $08 ; 0c
+ db $12, $0f, $08 ; 0d
+ db $13, $10, $00 ; 0e
+ db $15, $00, $00 ; 0f
+ db $16, $11, $00 ; 10
+ db $17, $12, $00 ; 11
+ db $18, $12, $00 ; 12
+ db $19, $13, $00 ; 13
+ db $1a, $14, $00 ; 14
+ db $1b, $00, $00 ; 15
+ db $1d, $15, $00 ; 16
+ db $1e, $00, $00 ; 17
+ db $1d, $17, $00 ; 18
+ db $1f, $00, $00 ; 19
+ db $24, $19, $00 ; 1a
+ db $25, $00, $00 ; 1b
+ db $20, $13, $00 ; 1c
+ db $26, $1a, $00 ; 1d
+ db $2d, $00, $00 ; 1e
+ db $2e, $00, $00 ; 1f
+ db $2f, $00, $00 ; 20
+ db $30, $00, $00 ; 21
+ db $31, $00, $00 ; 22
+ db $32, $1b, $00 ; 23
+ db $33, $1c, $00 ; 24
+ db $34, $00, $00 ; 25
+ db $35, $1d, $00 ; 26
+ db $37, $1e, $00 ; 27
+ db $38, $1e, $00 ; 28
+ db $39, $20, $00 ; 29
+ db $3f, $21, $00 ; 2a
+ db $3e, $22, $00 ; 2b
+ db $40, $00, $00 ; 2c
; 8d24b
@@ -64094,7 +55813,7 @@ endr
ld hl, $7
add hl, bc
ld a, d
- and $10
+ and $10 ; bit 4
jr z, .asm_8d2df
ld a, e
and a
@@ -66249,19 +57968,16 @@ Unknown_8e6a5: ; 8e6a5
; 8e706
-Unknown_8e706: ; 8e706
- dbbw $80, $01, Unknown_8e72a
- dbbw $80, $01, Unknown_8e72a
- dbbw $80, $01, Unknown_8e72a
- dbbw $80, $01, Unknown_8e72a
- dbbw $10, $37, Unknown_8e72a
- dbbw $10, $11, Unknown_8e72a
- dbbw $10, $39, Unknown_8e72a
- dbbw $10, $24, Unknown_8e72a
- dbbw $10, $21, Unknown_8e72a
-
-Unknown_8e72a:
- ; nothing to see here
+Unknown_8e706: ; Broken 2bpp pointers
+ dbbw $80, $01, $672a ; 128-tile 2bpp at 1:672a (inside Multiply)
+ dbbw $80, $01, $672a
+ dbbw $80, $01, $672a
+ dbbw $80, $01, $672a
+ dbbw $10, $37, $672a ; 16-tile 2bpp at 37:672a (within Tileset11GFX)
+ dbbw $10, $11, $672a ; 16-tile 2bpp at 11:672a (empty data)
+ dbbw $10, $39, $672a ; 16-tile 2bpp at 39:672a (empty data)
+ dbbw $10, $24, $672a ; 16-tile 2bpp at 24:672a (inside Function926f7)
+ dbbw $10, $21, $672a ; 16-tile 2bpp at 21:672a (inside Function8671c)
Function8e72a: ; 8e72a
add $10
@@ -66277,7 +57993,7 @@ Function8e72c: ; 8e72c
and $1f
call Function8e741
ld a, h
- xor $ff
+ xor $ff ; cpl
inc a
ret
; 8e741
@@ -66378,20 +58094,20 @@ INCBIN "gfx/unknown/08e7f4.2bpp"
GFX_8e804: ; 8e804
INCBIN "gfx/unknown/08e804.2bpp"
-Function8e814: ; 8e814
+InefficientlyClear121BytesAtwc300: ; 8e814
push hl
push de
push bc
push af
ld hl, wc300
- ld bc, $00c1
-.asm_8e81e
+ ld bc, wc3c1 - wc300
+.loop
ld [hl], $0
inc hl
dec bc
ld a, c
or b
- jr nz, .asm_8e81e
+ jr nz, .loop
pop af
pop bc
pop de
@@ -66457,7 +58173,7 @@ Function8e862: ; 8e862 (23:6862)
Function8e86c: ; 8e86c (23:686c)
push bc
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
ld hl, PartyMon1Item
ld bc, PartyMon2 - PartyMon1
call AddNTimes
@@ -66529,7 +58245,7 @@ Function8e8d5: ; 8e8d5 (23:68d5)
Function8e8df: ; 8e8df (23:68df)
push bc
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
ld hl, PartyMon1Item
ld bc, $30
call AddNTimes
@@ -66557,7 +58273,7 @@ Function8e8df: ; 8e8df (23:68df)
Function8e908: ; 8e908 (23:6908)
ld a, [wc3b7]
push af
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
ld hl, PartySpecies
ld e, a
ld d, $0
@@ -66566,7 +58282,7 @@ Function8e908: ; 8e908 (23:6908)
call ReadMonMenuIcon
ld [CurIcon], a
call Function8e9db
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
rept 4
add a
endr
@@ -66583,7 +58299,7 @@ endr
Function8e936: ; 8e936 (23:6936)
push bc
- ld a, [$ffb0]
+ ld a, [hConnectedMapWidth]
ld b, a
call Function8e94c
ld a, b
@@ -66750,8 +58466,8 @@ endr
; 8ea3f
GetGFXUnlessMobile: ; 8ea3f
- ld a, [InLinkBattle]
- cp 4 ; Mobile Link Battle
+ ld a, [wLinkMode]
+ cp LINK_MOBILE
jp nz, Request2bpp
jp Functiondc9
; 8ea4a
@@ -66848,877 +58564,15 @@ INCLUDE "menu/mon_icons.asm"
SECTION "bank24", ROMX, BANK[$24]
-AddPhoneNumber:: ; 90000
- call _CheckCellNum
- jr c, .asm_9000d
- call Function9002d
- jr nc, .asm_9000d
- ld [hl], c
- xor a
- ret
-
-.asm_9000d
- scf
- ret
-; 9000f
-
-
-DelCellNum:: ; 9000f
- call _CheckCellNum
- jr nc, .asm_90017
- xor a
- ld [hl], a
- ret
-
-.asm_90017
- scf
- ret
-; 90019
-
-CheckCellNum:: ; 90019
- jp _CheckCellNum
-; 9001c
-
-_CheckCellNum: ; 9001c
- ld hl, wdc7c
- ld b, $a
-.asm_90021
- ld a, [hli]
- cp c
- jr z, .asm_9002a
- dec b
- jr nz, .asm_90021
- xor a
- ret
-
-.asm_9002a
- dec hl
- scf
- ret
-; 9002d
-
-Function9002d: ; 9002d
- call Function90040
- ld b, a
- ld hl, wdc7c
-.asm_90034
- ld a, [hli]
- and a
- jr z, .asm_9003d
- dec b
- jr nz, .asm_90034
- xor a
- ret
-
-.asm_9003d
- dec hl
- scf
- ret
-; 90040
-
-Function90040: ; 90040
- xor a
- ld [Buffer1], a
- ld hl, Unknown_90066
-.asm_90047
- ld a, [hli]
- cp $ff
- jr z, .asm_9005f
- cp c
- jr z, .asm_9005d
- push bc
- push hl
- ld c, a
- call _CheckCellNum
- jr c, .asm_9005b
- ld hl, Buffer1
- inc [hl]
-
-.asm_9005b
- pop hl
- pop bc
-
-.asm_9005d
- jr .asm_90047
-
-.asm_9005f
- ld a, $a
- ld hl, Buffer1
- sub [hl]
- ret
-; 90066
-
-Unknown_90066: ; 90066
- db 1, 4, $ff
-; 90069
-
-
-Function90069: ; 90069
- ld a, [hROMBank]
- push af
- ld a, b
- rst Bankswitch
-
- call PlaceString
-
- pop af
- rst Bankswitch
- ret
-; 90074
-
-
-CheckPhoneCall:: ; 90074 (24:4074)
-; Check if the phone is ringing in the overworld.
-
- call CheckStandingOnEntrance
- jr z, .no_call
-
- call Function900a6
- nop
- jr nc, .no_call
-
- call Random
- ld b, a
- and $7f
- cp b
- jr nz, .no_call
-
- call GetMapHeaderPhoneServiceNybble
- and a
- jr nz, .no_call
-
- call Function900de
- call Function900bf
- jr nc, .no_call
-
- ld e, a
- call Function9020d
- ld a, BANK(UnknownScript_0x90241)
- ld hl, UnknownScript_0x90241
- call CallScript
- scf
- ret
-
-.no_call
- xor a
- ret
-
-Function900a6: ; 900a6 (24:40a6)
- callba Function11401
- ret
-
-Function900ad: ; 900ad (24:40ad)
- push hl
- push bc
- push de
- push af
- callba CheckTime
- pop af
- and $7
- and c
- pop de
- pop bc
- pop hl
- ret
-
-Function900bf: ; 900bf (24:40bf)
- ld a, [wd040]
- and a
- jr z, .asm_900dc
- ld c, a
- call Random
- ld a, [hRandomAdd] ; $ff00+$e1
- swap a
- and $1f
- call SimpleDivide
- ld c, a
- ld b, $0
- ld hl, wd041
- add hl, bc
- ld a, [hl]
- scf
- ret
-.asm_900dc
- xor a
- ret
-
-Function900de: ; 900de (24:40de)
- callba CheckTime
- ld a, c
- ld [EngineBuffer1], a ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput)
- ld hl, wd040
- ld bc, $b
- xor a
- call ByteFill
- ld de, wdc7c
- ld a, $a
-.asm_900f7
- ld [wd03f], a
- ld a, [de]
- and a
- jr z, .asm_9012e
- ld hl, PhoneContacts + 8
- ld bc, 12
- call AddNTimes
- ld a, [EngineBuffer1] ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput)
- and [hl]
- jr z, .asm_9012e
- ld bc, $fffa
- add hl, bc
- ld a, [MapGroup]
- cp [hl]
- jr nz, .asm_9011e
- inc hl
- ld a, [MapNumber]
- cp [hl]
- jr z, .asm_9012e
-.asm_9011e
- ld a, [wd040]
- ld c, a
- ld b, $0
- inc a
- ld [wd040], a
- ld hl, wd041
- add hl, bc
- ld a, [de]
- ld [hl], a
-.asm_9012e
- inc de
- ld a, [wd03f]
- dec a
- jr nz, .asm_900f7
- ret
-
-Function90136:: ; 90136 (24:4136)
- ld a, [wSpecialPhoneCallID]
- and a
- jr z, .asm_90171
- dec a
- ld c, a
- ld b, 0
- ld hl, SpecialPhoneCallList
- ld a, 6
- call AddNTimes
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call _hl_
- jr nc, .asm_90171
- call Function90178
-rept 2
- inc hl
-endr
- ld a, [hli]
- ld e, a
- push hl
- call Function9020d
- pop hl
- ld de, wd048
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- inc de
- ld a, [hli]
- ld [de], a
- ld a, BANK(UnknownScript_0x90173)
- ld hl, UnknownScript_0x90173
- call CallScript
- scf
- ret
-.asm_90171
- xor a
- ret
-; 90173 (24:4173)
-
-UnknownScript_0x90173: ; 0x90173
- pause 30
- jump UnknownScript_0x90241
-; 0x90178
-
-Function90178: ; 90178 (24:4178)
- ld a, [wSpecialPhoneCallID]
- dec a
- ld c, a
- ld b, 0
- ld hl, SpecialPhoneCallList
- ld a, 6
- call AddNTimes
- ret
-
-Function90188: ; 90188
- ld a, [wPermission]
- cp $1
- jr z, .asm_90195
- cp $2
- jr z, .asm_90195
- xor a
- ret
-.asm_90195
- scf
- ret
-
-Function90197: ; 90197
- scf
- ret
-
-Function90199: ; 90199 (24:4199)
- ld a, [InLinkBattle]
- and a
- jr nz, .asm_901e7
- call GetMapHeaderPhoneServiceNybble
- and a
- jr nz, .asm_901e7
- ld a, b
- ld [wCurrentCaller], a
- ld hl, PhoneContacts
- ld bc, 12
- call AddNTimes
- ld d, h
- ld e, l
- ld hl, 4
- add hl, de
- ld a, [hl]
- call Function900ad
- jr z, .asm_901e7
- ld hl, 2
- add hl, de
- ld a, [MapGroup]
- cp [hl]
- jr nz, .asm_901d9
- ld hl, $3
- add hl, de
- ld a, [MapNumber]
- cp [hl]
- jr nz, .asm_901d9
- ld b, BANK(UnknownScript_0x90660)
- ld hl, UnknownScript_0x90660
- jr .asm_901f0
-
-.asm_901d9
- ld hl, $5
- add hl, de
- ld b, [hl]
- ld hl, $6
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jr .asm_901f0
-
-.asm_901e7
- ld b, BANK(UnknownScript_0x90209)
- ld de, UnknownScript_0x90209
- call ExecuteCallbackScript
- ret
-
-.asm_901f0
- ld a, b
- ld [wd002], a
- ld a, l
- ld [wd003], a
- ld a, h
- ld [wd004], a
- ld b, BANK(UnknownScript_0x90205)
- ld de, UnknownScript_0x90205
- call ExecuteCallbackScript
- ret
-; 90205 (24:4205)
-
-UnknownScript_0x90205: ; 0x90205
- ptcall wd002
- return
-; 0x90209
-
-UnknownScript_0x90209: ; 0x90209
- scall UnknownScript_0x90657
- return
-; 0x9020d
-
-Function9020d: ; 9020d (24:420d)
- nop
- nop
- ld a, e
- ld [wCurrentCaller], a
- and a
- jr nz, .asm_9021d
- ld a, BANK(Unknown_90233)
- ld hl, Unknown_90233
- jr .asm_90229
-.asm_9021d
- ld hl, PhoneContacts
- ld bc, 12
- ld a, e
- call AddNTimes
- ld a, BANK(PhoneContacts)
-.asm_90229
- ld de, wd03f
- ld bc, 12
- call FarCopyBytes
- ret
-; 90233 (24:4233)
-
-Unknown_90233: ; 90233
- db 0, 0
- dbw BANK(UnknownScript_0x90238), UnknownScript_0x90238
-UnknownScript_0x90238:
- writetext UnknownText_0x9023c
- end
-UnknownText_0x9023c:
- text_jump UnknownText_0x1c5565
- db "@"
-; 90241
-
-UnknownScript_0x90241: ; 0x90241
- refreshscreen $0
- callasm Function9026f
- ptcall wd048
- closetext
- callasm HangUp
- loadmovesprites
- callasm Function113e5
- end
-; 0x90255
-
-UnknownScript_0x90255:: ; 0x90255
- callasm Function9025c
- jump UnknownScript_0x90241
-; 0x9025c
-
-Function9025c: ; 9025c
- ld e, $3
- jp Function9020d
-; 90261
-
-UnknownScript_0x90261: ; 0x90261
- callasm Function9026a
- pause 30
- jump UnknownScript_0x90241
-; 0x9026a
-
-Function9026a: ; 9026a
- ld e, $4
- jp Function9020d
-; 9026f
-
-Function9026f: ; 9026f
- call Function9027c
- call Function9027c
- callba Function1060d3
- ret
-; 9027c
-
-Function9027c: ; 9027c (24:427c)
- call Phone_StartRinging
- call Phone_Wait20Frames
- call Phone_CallerTextboxWithName
- call Phone_Wait20Frames
- call Phone_CallerTextbox
- call Phone_Wait20Frames
- call Phone_CallerTextboxWithName
- ret
-
-Phone_CallerTextboxWithName: ; 90292 (24:4292)
- ld a, [wCurrentCaller]
- ld b, a
- call Function90363
- ret
-
-
-PhoneCall:: ; 9029a
- ld a, b
- ld [PhoneScriptBank], a
- ld a, e
- ld [PhoneCallerLo], a
- ld a, d
- ld [PhoneCallerHi], a
- call Phone_FirstOfTwoRings
- call Phone_FirstOfTwoRings
- callba Function1060d3
- ret
-; 902b3
-
-Phone_FirstOfTwoRings: ; 902b3
- call Phone_StartRinging
- call Phone_Wait20Frames
- call Phone_CallerTextboxWithName2
- call Phone_Wait20Frames
- call Phone_CallerTextbox
- call Phone_Wait20Frames
- call Phone_CallerTextboxWithName2
- ret
-; 902c9
-
-Phone_CallerTextboxWithName2: ; 902c9
- call Phone_CallerTextbox
- hlcoord 1, 2
- ld [hl], $62
-rept 2
- inc hl
-endr
- ld a, [PhoneScriptBank]
- ld b, a
- ld a, [PhoneCallerLo]
- ld e, a
- ld a, [PhoneCallerHi]
- ld d, a
- call Function90069
- ret
-; 902e3
-
-
-Phone_NoSignal: ; 902e3 (24:42e3)
- ld de, SFX_NO_SIGNAL
- call PlaySFX
- jr Phone_CallEnd
-
-HangUp:: ; 902eb
- call HangUp_Beep
- call HangUp_Wait20Frames
-Phone_CallEnd:
- call HangUp_BoopOn
- call HangUp_Wait20Frames
- call HangUp_BoopOff
- call HangUp_Wait20Frames
- call HangUp_BoopOn
- call HangUp_Wait20Frames
- call HangUp_BoopOff
- call HangUp_Wait20Frames
- call HangUp_BoopOn
- call HangUp_Wait20Frames
- call HangUp_BoopOff
- call HangUp_Wait20Frames
- ret
-; 90316
-
-Function90316: ; 90316
- ld de, SFX_SHUT_DOWN_PC
- call PlaySFX
- ret
-; 9031d
-
-HangUp_Beep: ; 9031d
- ld hl, UnknownText_0x9032a
- call PrintText
- ld de, SFX_HANG_UP
- call PlaySFX
- ret
-; 9032a
-
-UnknownText_0x9032a: ; 9032a
- text_jump UnknownText_0x1c5580
- db "@"
-; 9032f
-
-
-HangUp_BoopOn: ; 9032f
- ld hl, UnknownText_0x90336
- call PrintText
- ret
-; 90336
-
-UnknownText_0x90336: ; 0x90336
- text_jump UnknownText_0x1c5588
- db "@"
-; 0x9033b
-
-
-HangUp_BoopOff: ; 9033b
- call SpeechTextBox
- ret
-; 9033f
-
-Phone_StartRinging: ; 9033f
- call WaitSFX
- ld de, SFX_CALL
- call PlaySFX
- call Phone_CallerTextbox
- call UpdateSprites
- callba Function4d188
- ret
-; 90355
-
-HangUp_Wait20Frames: ; 90355
- jr Phone_Wait20Frames
-
-Phone_Wait20Frames
- ld c, 20
- call DelayFrames
- callba Function4d188
- ret
-; 90363
-
-
-Function90363: ; 90363 (24:4363)
- push bc
- call Phone_CallerTextbox
- hlcoord 1, 1
- ld [hl], $62
-rept 2
- inc hl
-endr
- ld d, h
- ld e, l
- pop bc
- call Function90380
- ret
-
-
-Phone_CallerTextbox: ; 90375
- hlcoord 0, 0
- ld b, 2
- ld c, SCREEN_WIDTH - 2
- call TextBox
- ret
-; 90380
-
-
-Function90380: ; 90380 (24:4380)
- ld h, d
- ld l, e
- ld a, b
- call GetCallerTrainerClass
- call GetCallerName
- ret
-
-Function9038a: ; 9038a (24:438a)
- ld a, c
- call GetCallerTrainerClass
- ld a, c
- ret nz
- ld a, b
- cp $1
- ret z
- cp $4
- ret z
- ld c, $1
- ret
-
-GetCallerTrainerClass: ; 9039a
- push hl
- ld hl, PhoneContacts + 0 ; PHONE_CONTACT_TRAINER_CLASS
- ld bc, 12 ; PHONE_TABLE_WIDTH
- call AddNTimes
- ld a, [hli]
- ld b, [hl]
- ld c, a
- pop hl
- ret
-; 903a9
-
-
-GetCallerName: ; 903a9 (24:43a9)
- ld a, c
- and a
- jr z, .NotTrainer
-
- call Phone_GetTrainerName
- push hl
- push bc
- call PlaceString
- ld a, ":"
- ld [bc], a
- pop bc
- pop hl
- ld de, SCREEN_WIDTH + 3
- add hl, de
- call Phone_GetTrainerClassName
- call PlaceString
- ret
-
-.NotTrainer
- push hl
- ld c, b
- ld b, 0
- ld hl, NonTrainerCallerNames
-rept 2
- add hl, bc
-endr
- ld a, [hli]
- ld e, a
- ld d, [hl]
- pop hl
- call PlaceString
- ret
-; 903d6 (24:43d6)
-
-NonTrainerCallerNames: ; 903d6
- dw .none
- dw .mom
- dw .bikeshop
- dw .bill
- dw .elm
- dw .buena
-
-.none: db "----------@"
-.mom: db "MOM:@"
-.bill: db "BILL:@"
-.elm: db "PROF.ELM:@"
-.bikeshop: db "BIKE SHOP:@"
-.buena: db "BUENA:", $22, " DISC JOCKEY@"
-; 90423
-
-Phone_GetTrainerName: ; 90423 (24:4423)
- push hl
- push bc
- callba GetTrainerName
- pop bc
- pop hl
- ret
-
-Phone_GetTrainerClassName: ; 9042e (24:442e)
- push hl
- push bc
- callba GetTrainerClassName
- pop bc
- pop hl
- ret
-
-GetCallerLocation: ; 90439
- ld a, [wCurrentCaller]
- call GetCallerTrainerClass
- ld d, c
- ld e, b
- push de
- ld a, [wCurrentCaller]
- ld hl, PhoneContacts + 2 ; PHONE_CONTACT_MAP_GROUP
- ld bc, 12 ; PHONE_TABLE_WIDTH
- call AddNTimes
- ld b, [hl]
- inc hl
- ld c, [hl]
- push bc
- call GetWorldMapLocation
- ld e, a
- callba GetLandmarkName
- pop bc
- pop de
- ret
-; 9045f
-
-PhoneContacts: ; 9045f
-phone: MACRO
- db \1, \2 ; trainer
- map \3 ; map
- db \4
- dbw BANK(\5), \5 ; script 1
- db \6
- dbw BANK(\7), \7 ; script 2
-ENDM
-
- phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone 0, 1, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript
- phone 0, 2, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone 0, 3, N_A, 7, BillPhoneScript1, 0, BillPhoneScript2
- phone 0, 4, ELMS_LAB, 7, ElmPhoneScript1, 0, ElmPhoneScript2
- phone SCHOOLBOY, JACK1, NATIONAL_PARK, 7, JackPhoneScript1, 7, JackPhoneScript2
- phone POKEFANF, BEVERLY1, NATIONAL_PARK, 7, BeverlyPhoneScript1, 7, BeverlyPhoneScript2
- phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, 7, HueyPhoneScript1, 7, HueyPhoneScript2
- phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone COOLTRAINERM, GAVEN3, ROUTE_26, 7, GavenPhoneScript1, 7, GavenPhoneScript2
- phone COOLTRAINERF, BETH1, ROUTE_26, 7, BethPhoneScript1, 7, BethPhoneScript2
- phone BIRD_KEEPER, JOSE2, ROUTE_27, 7, JosePhoneScript1, 7, JosePhoneScript2
- phone COOLTRAINERF, REENA1, ROUTE_27, 7, ReenaPhoneScript1, 7, ReenaPhoneScript2
- phone YOUNGSTER, JOEY1, ROUTE_30, 7, JoeyPhoneScript1, 7, JoeyPhoneScript2
- phone BUG_CATCHER, WADE1, ROUTE_31, 7, WadePhoneScript1, 7, WadePhoneScript2
- phone FISHER, RALPH1, ROUTE_32, 7, RalphPhoneScript1, 7, RalphPhoneScript2
- phone PICNICKER, LIZ1, ROUTE_32, 7, LizPhoneScript1, 7, LizPhoneScript2
- phone HIKER, ANTHONY2, ROUTE_33, 7, AnthonyPhoneScript1, 7, AnthonyPhoneScript2
- phone CAMPER, TODD1, ROUTE_34, 7, ToddPhoneScript1, 7, ToddPhoneScript2
- phone PICNICKER, GINA1, ROUTE_34, 7, GinaPhoneScript1, 7, GinaPhoneScript2
- phone JUGGLER, IRWIN1, ROUTE_35, 7, IrwinPhoneScript1, 7, IrwinPhoneScript2
- phone BUG_CATCHER, ARNIE1, ROUTE_35, 7, ArniePhoneScript1, 7, ArniePhoneScript2
- phone SCHOOLBOY, ALAN1, ROUTE_36, 7, AlanPhoneScript1, 7, AlanPhoneScript2
- phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone LASS, DANA1, ROUTE_38, 7, DanaPhoneScript1, 7, DanaPhoneScript2
- phone SCHOOLBOY, CHAD1, ROUTE_38, 7, ChadPhoneScript1, 7, ChadPhoneScript2
- phone POKEFANM, DEREK1, ROUTE_39, 7, DerekPhoneScript1, 7, DerekPhoneScript2
- phone FISHER, TULLY1, ROUTE_42, 7, TullyPhoneScript1, 7, TullyPhoneScript2
- phone POKEMANIAC, BRENT1, ROUTE_43, 7, BrentPhoneScript1, 7, BrentPhoneScript2
- phone PICNICKER, TIFFANY3, ROUTE_43, 7, TiffanyPhoneScript1, 7, TiffanyPhoneScript2
- phone BIRD_KEEPER, VANCE1, ROUTE_44, 7, VancePhoneScript1, 7, VancePhoneScript2
- phone FISHER, WILTON1, ROUTE_44, 7, WiltonPhoneScript1, 7, WiltonPhoneScript2
- phone BLACKBELT_T, KENJI3, ROUTE_45, 7, KenjiPhoneScript1, 7, KenjiPhoneScript2
- phone HIKER, PARRY1, ROUTE_45, 7, ParryPhoneScript1, 7, ParryPhoneScript2
- phone PICNICKER, ERIN1, ROUTE_46, 7, ErinPhoneScript1, 7, ErinPhoneScript2
- phone 0, 5, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1, 7, BuenaPhoneScript2
-; 90627
-
-SpecialPhoneCallList: ; 90627
- dw Function90188
- db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
-
- dw Function90188
- db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
-
- dw Function90188
- db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
-
- dw Function90188
- db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
-
- dw Function90197
- db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
-
- dw Function90197
- db 2
- dbw BANK(BikeShopPhoneScript), BikeShopPhoneScript ; bike shop
-
- dw Function90197
- db 1
- dbw BANK(MomPhoneLectureScript), MomPhoneLectureScript
-
- dw Function90188
- db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
-; 90657
-
-UnknownScript_0x90657: ; 0x90657
- writetext UnknownText_0x9065b
- end
-; 0x9065b
-
-UnknownText_0x9065b: ; 0x9065b
- ; That number is out of the area.
- text_jump UnknownText_0x1c558b
- db "@"
-; 0x90660
-
-UnknownScript_0x90660: ; 0x90660
- writetext UnknownText_0x90664
- end
-; 0x90664
-
-UnknownText_0x90664: ; 0x90664
- ; Just go talk to that person!
- text_jump UnknownText_0x1c55ac
- db "@"
-; 0x90669
-
-UnknownScript_0x90669: ; 0x90669
- writetext UnknownText_0x9066d
- end
-; 0x9066d
-
-UnknownText_0x9066d: ; 0x9066d
- ; Thank you!
- text_jump UnknownText_0x1c55ca
- db "@"
-; 0x90672
+INCLUDE "engine/phone.asm"
-Function90672: ; 90672 (24:4672)
- ld a, [$ffaa]
+InitClock: ; 90672 (24:4672)
+; Ask the player to set the time.
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
+
ld a, $0
ld [wc2ce], a
ld a, $10
@@ -67738,109 +58592,116 @@ Function90672: ; 90672 (24:4672)
ld [hBGMapMode], a ; $ff00+$d4
call Functione51
ld de, GFX_908fb
- ld hl, $9000
+ ld hl, VTiles2 tile $00
lb bc, BANK(GFX_908fb), 1
call Request1bpp
ld de, GFX_90903
- ld hl, $9010
+ ld hl, VTiles2 tile $01
lb bc, BANK(GFX_90903), 1
call Request1bpp
ld de, GFX_9090b
- ld hl, $9020
+ ld hl, VTiles2 tile $02
lb bc, BANK(GFX_9090b), 1
call Request1bpp
- call Function90783
+ call .ClearScreen
call WaitBGMap
call Function4a3
ld hl, UnknownText_0x90874
call PrintText
ld hl, wc608
- ld bc, $32
+ ld bc, 50
xor a
call ByteFill
ld a, $a
- ld [wc608 + 20], a
-.asm_906e8
+ ld [wInitHourBuffer], a
+
+.loop
ld hl, UnknownText_0x90879
call PrintText
hlcoord 3, 7
- ld b, $2
- ld c, $f
+ ld b, 2
+ ld c, 15
call TextBox
hlcoord 11, 7
ld [hl], $1
hlcoord 11, 10
ld [hl], $2
hlcoord 4, 9
- call Function907de
+ call DisplayHourOClock
ld c, $a
call DelayFrames
-.asm_9070d
- call Functiona57
- call Function90795
- jr nc, .asm_9070d
- ld a, [wc608 + 20]
+
+.SetHourLoop
+ call JoyTextDelay
+ call SetHour
+ jr nc, .SetHourLoop
+
+ ld a, [wInitHourBuffer]
ld [StringBuffer2 + 1], a
- call Function90783
+ call .ClearScreen
ld hl, UnknownText_0x90886
call PrintText
call YesNoBox
- jr nc, .asm_9072e
- call Function90783
- jr .asm_906e8
-.asm_9072e
+ jr nc, .HourIsSet
+ call .ClearScreen
+ jr .loop
+
+.HourIsSet
ld hl, UnknownText_0x9089a
call PrintText
hlcoord 11, 7
- ld bc, $207
+ lb bc, 2, 7
call TextBox
hlcoord 15, 7
ld [hl], $1
hlcoord 15, 10
ld [hl], $2
hlcoord 12, 9
- call Function90859
+ call DisplayMinutesWithMinString
ld c, 10
call DelayFrames
-.asm_90752
- call Functiona57
- call Function90810
- jr nc, .asm_90752
+
+.SetMinutesLoop
+ call JoyTextDelay
+ call SetMinutes
+ jr nc, .SetMinutesLoop
+
ld a, [BattleMonNick + 5]
ld [StringBuffer2 + 2], a
- call Function90783
+ call .ClearScreen
ld hl, UnknownText_0x908a4
call PrintText
call YesNoBox
- jr nc, .asm_90773
- call Function90783
- jr .asm_9072e
-.asm_90773
+ jr nc, .MinutesAreSet
+ call .ClearScreen
+ jr .HourIsSet
+
+.MinutesAreSet
call Function658
- ld hl, UnknownText_0x908b8
+ ld hl, OakText_ResponseToSetTime
call PrintText
call Functiona80
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
ret
-Function90783: ; 90783 (24:4783)
+.ClearScreen: ; 90783 (24:4783)
xor a
ld [hBGMapMode], a ; $ff00+$d4
hlcoord 0, 0
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
xor a
call ByteFill
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
ret
-Function90795: ; 90795 (24:4795)
+SetHour: ; 90795 (24:4795)
ld a, [hJoyPressed]
and A_BUTTON
- jr nz, .asm_907dc
+ jr nz, .Confirm
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .up
@@ -67852,50 +58713,50 @@ Function90795: ; 90795 (24:4795)
ret
.down
- ld hl, wc608 + 20
+ ld hl, wInitHourBuffer
ld a, [hl]
and a
- jr nz, .asm_907b6
+ jr nz, .DecreaseThroughMidnight
ld a, 23 + 1
-.asm_907b6
+.DecreaseThroughMidnight
dec a
ld [hl], a
- jr .asm_907c6
+ jr .okay
.up
- ld hl, wc608 + 20
+ ld hl, wInitHourBuffer
ld a, [hl]
cp 23
- jr c, .asm_907c4
+ jr c, .AdvanceThroughMidnight
ld a, -1
-.asm_907c4
+.AdvanceThroughMidnight
inc a
ld [hl], a
-.asm_907c6
+.okay
hlcoord 4, 9
ld a, " "
ld bc, 15
call ByteFill
hlcoord 4, 9
- call Function907de
+ call DisplayHourOClock
call WaitBGMap
and a
ret
-.asm_907dc
+.Confirm
scf
ret
-Function907de: ; 907de (24:47de)
+DisplayHourOClock: ; 907de (24:47de)
push hl
- ld a, [wc608 + 20]
+ ld a, [wInitHourBuffer]
ld c, a
ld e, l
ld d, h
- call Function90b3e
+ call PrintHour
inc hl
- ld de, String_9087e
+ ld de, String_oclock
call PlaceString
pop hl
ret
@@ -67905,7 +58766,7 @@ Function907f1: ; 907f1
ld h, d
ld l, e
push hl
- call Function907de
+ call DisplayHourOClock
pop de
rept 2
inc de
@@ -67922,18 +58783,18 @@ endr
ld a, [de]
ld [hl], a
pop hl
- call Function90859
+ call DisplayMinutesWithMinString
rept 3
inc hl
endr
ret
; 90810
-Function90810: ; 90810 (24:4810)
+SetMinutes: ; 90810 (24:4810)
ld a, [hJoyPressed] ; $ff00+$a7
- and $1
+ and A_BUTTON
jr nz, .asm_90857
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .asm_90835
@@ -67968,7 +58829,7 @@ Function90810: ; 90810 (24:4810)
ld bc, 7
call ByteFill
hlcoord 12, 9
- call Function90859
+ call DisplayMinutesWithMinString
call WaitBGMap
and a
ret
@@ -67976,15 +58837,15 @@ Function90810: ; 90810 (24:4810)
scf
ret
-Function90859: ; 90859 (24:4859)
+DisplayMinutesWithMinString: ; 90859 (24:4859)
ld de, BattleMonNick + 5
- call Function90867
+ call PrintTwoDigitNumberRightAlign
inc hl
- ld de, String_9089f
+ ld de, String_min
call PlaceString
ret
-Function90867: ; 90867 (24:4867)
+PrintTwoDigitNumberRightAlign: ; 90867 (24:4867)
push hl
ld a, " "
ld [hli], a
@@ -68007,7 +58868,7 @@ UnknownText_0x90879: ; 0x90879
db "@"
; 0x9087e
-String_9087e:
+String_oclock:
db "o'clock@"
; 90886
@@ -68016,7 +58877,7 @@ UnknownText_0x90886: ; 0x90886
text_jump UnknownText_0x1bc2fd
start_asm
hlcoord 1, 16
- call Function907de
+ call DisplayHourOClock
ld hl, UnknownText_0x90895
ret
; 90895 (24:4895)
@@ -68033,7 +58894,7 @@ UnknownText_0x9089a: ; 0x9089a
db "@"
; 0x9089f
-String_9089f:
+String_min:
db "min.@"
; 908a4
@@ -68043,7 +58904,7 @@ UnknownText_0x908a4: ; 0x908a4
start_asm
; 0x908a9
hlcoord 7, 14
- call Function90859
+ call DisplayMinutesWithMinString
ld hl, UnknownText_0x908b3
ret
; 908b3 (24:48b3)
@@ -68054,12 +58915,12 @@ UnknownText_0x908b3: ; 0x908b3
db "@"
; 0x908b8
-UnknownText_0x908b8: ; 0x908b8
+OakText_ResponseToSetTime: ; 0x908b8
start_asm
decoord 1, 14
- ld a, [wc608 + 20]
+ ld a, [wInitHourBuffer]
ld c, a
- call Function90b3e
+ call PrintHour
ld [hl], ":"
inc hl
ld de, BattleMonNick + 5
@@ -68067,37 +58928,37 @@ UnknownText_0x908b8: ; 0x908b8
call PrintNum
ld b, h
ld c, l
- ld a, [wc608 + 20]
+ ld a, [wInitHourBuffer]
cp 4
- jr c, .asm_908e0
+ jr c, .NITE
cp 11
- jr c, .asm_908e4
+ jr c, .MORN
cp 18
- jr c, .asm_908e8
-.asm_908e0
- ld hl, UnknownText_0x908f6
+ jr c, .DAY
+.NITE
+ ld hl, .sodark
ret
-.asm_908e4
- ld hl, UnknownText_0x908ec
+.MORN
+ ld hl, .overslept
ret
-.asm_908e8
- ld hl, UnknownText_0x908f1
+.DAY
+ ld hl, .yikes
ret
; 908ec (24:48ec)
-UnknownText_0x908ec: ; 0x908ec
+.overslept: ; 0x908ec
; ! I overslept!
text_jump UnknownText_0x1bc326
db "@"
; 0x908f1
-UnknownText_0x908f1: ; 0x908f1
+.yikes: ; 0x908f1
; ! Yikes! I over- slept!
text_jump UnknownText_0x1bc336
db "@"
; 0x908f6
-UnknownText_0x908f6: ; 0x908f6
+.sodark: ; 0x908f6
; ! No wonder it's so dark!
text_jump UnknownText_0x1bc34f
db "@"
@@ -68112,30 +58973,30 @@ INCBIN "gfx/unknown/09090b.2bpp"
; 90913
Special_SetDayOfWeek: ; 90913
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
ld de, GFX_90903
- ld hl, $8ef0
+ ld hl, VTiles1 tile $6f
lb bc, BANK(GFX_90903), 1
call Request1bpp
ld de, GFX_9090b
- ld hl, $8f50
+ ld hl, VTiles1 tile $75
lb bc, BANK(GFX_9090b), 1
call Request1bpp
xor a
ld [DefaultFlypoint], a
.asm_90936
hlcoord 0, 12
- ld bc, $0412
+ lb bc, 4, 18
call TextBox
call LoadMenuDataHeader_0x1d75
ld hl, UnknownText_0x90a3f
call PrintText
hlcoord 9, 3
- ld b, $2
- ld c, $9
+ ld b, 2
+ ld c, 9
call TextBox
hlcoord 14, 3
ld [hl], $ef
@@ -68147,7 +59008,7 @@ Special_SetDayOfWeek: ; 90913
ld c, $a
call DelayFrames
.asm_9096a
- call Functiona57
+ call JoyTextDelay
call Function90993
jr nc, .asm_9096a
call ExitMenu
@@ -68161,7 +59022,7 @@ Special_SetDayOfWeek: ; 90913
call Function663
call Functione51
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
ret
; 90993
@@ -68173,7 +59034,7 @@ Function90993: ; 90993
ret
.asm_9099b
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .asm_909ba
@@ -68341,7 +59202,7 @@ UnknownText_0x90ab7: ; 0x90ab7
Function90abc: ; 90abc
hlcoord 1, 14
- ld bc, $0312
+ lb bc, 3, SCREEN_WIDTH - 2
call ClearBox
ld hl, UnknownText_0x90acc
call PlaceWholeStringInBoxAtOnce
@@ -68402,8 +59263,7 @@ UnknownText_0x90acc: ; 0x90acc
; 90b13
UnknownText_0x90b13: ; 0x90b13
- db $0
- para "Now on DEBUG…"
+ text "<PARA>Now on DEBUG…"
prompt
; 0x90b23
@@ -68423,23 +59283,23 @@ Function90b23: ; 90b23
ret
; 90b3e
-Function90b3e: ; 90b3e (24:4b3e)
+PrintHour: ; 90b3e (24:4b3e)
ld l, e
ld h, d
push bc
- call Function90b58
+ call GetTimeOfDayString
call PlaceString
ld l, c
ld h, b
inc hl
pop bc
- call Function90b7f
+ call AdjustHourForAMorPM
ld [wd265], a
ld de, wd265
- call Function90867
+ call PrintTwoDigitNumberRightAlign
ret
-Function90b58: ; 90b58 (24:4b58)
+GetTimeOfDayString: ; 90b58 (24:4b58)
ld a, c
cp 4
jr c, .nite
@@ -68448,31 +59308,33 @@ Function90b58: ; 90b58 (24:4b58)
cp 18
jr c, .day
.nite
- ld de, String_90b71
+ ld de, .NITE
ret
.morn
- ld de, String_90b76
+ ld de, .MORN
ret
.day
- ld de, String_90b7b
+ ld de, .DAY
ret
; 90b71 (24:4b71)
-String_90b71: db "NITE@"
-String_90b76: db "MORN@"
-String_90b7b: db "DAY@"
+.NITE: db "NITE@"
+.MORN: db "MORN@"
+.DAY: db "DAY@"
; 90b7f
-Function90b7f: ; 90b7f (24:4b7f)
+AdjustHourForAMorPM:
+; Convert the hour stored in c (0-23) to a 1-12 value
ld a, c
or a
- jr z, .asm_90b8a
+ jr z, .midnight
cp 12
ret c
ret z
sub 12
ret
-.asm_90b8a
+
+.midnight
ld a, 12
ret
@@ -68481,10 +59343,10 @@ Function90b8d: ; 90b8d (24:4b8d)
ld a, [hl]
push af
set NO_TEXT_SCROLL, [hl]
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
ld a, [VramState]
push af
xor a
@@ -68494,8 +59356,8 @@ Function90b8d: ; 90b8d (24:4b8d)
.loop
call UpdateTime
- call Functiona57
- ld a, [wcf63]
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .done
call Function90f04
@@ -68510,13 +59372,13 @@ Function90b8d: ; 90b8d (24:4b8d)
pop af
ld [VramState], a
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
pop af
ld [Options], a
call WhiteBGMap
xor a
ld [hBGMapAddress], a
- ld a, $98
+ ld a, VBGMap0 / $100
ld [hBGMapAddress + 1], a
ld a, $90
ld [hWY], a
@@ -68542,7 +59404,7 @@ Function90bea: ; 90bea (24:4bea)
ld [rLCDC], a
call Function90d70
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld [wcf64], a
ld [wcf65], a
ld [wcf66], a
@@ -68597,7 +59459,7 @@ Function90c4e: ; 90c4e
ld a, b
push af
- ld de, $8100
+ ld de, VTiles0 tile $10
ld bc, $40
call FarCopyBytes
pop af
@@ -68606,14 +59468,14 @@ Function90c4e: ; 90c4e
ld de, $c0
add hl, de
- ld de, $8140
+ ld de, VTiles0 tile $14
ld bc, $40
call FarCopyBytes
ret
.ssaqua
ld hl, FastShipGFX
- ld de, $8100
+ ld de, VTiles0 tile $10
ld bc, $80
call CopyBytes
ret
@@ -68698,7 +59560,7 @@ Function90d70: ; 90d70 (24:4d70)
Function90d9e: ; 90d9e (24:4d9e)
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
xor a
ld [wcf64], a
ret
@@ -68733,7 +59595,7 @@ Function90da8: ; 90da8 (24:4da8)
xor a
ld [hBGMapAddress], a
- ld a, $98
+ ld a, VBGMap0 / $100
ld [hBGMapAddress + 1], a
call Function90e00
ld a, $90
@@ -68742,7 +59604,7 @@ Function90da8: ; 90da8 (24:4da8)
.asm_90de8
xor a
ld [hBGMapAddress], a
- ld a, $9c
+ ld a, VBGMap1 / $100
ld [hBGMapAddress + 1], a
call Function90e00
xor a
@@ -68906,7 +59768,7 @@ Function90ef7: ; 90ef7 (24:4ef7)
ret
Function90f04: ; 90f04 (24:4f04)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_90f13
@@ -68938,14 +59800,14 @@ Function90f2d: ; 90f2d (24:4f2d)
call Function90da8
ld hl, UnknownText_0x914d3
call PrintText
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
call Function91492
ret
Function90f3e: ; 90f3e (24:4f3e)
call Function90f7b
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and A_BUTTON + B_BUTTON + START + SELECT
@@ -68983,7 +59845,7 @@ Function90f3e: ; 90f3e (24:4f3e)
ret
.asm_90f75
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -69034,7 +59896,7 @@ Function90fb4: ; 90fb4 (24:4fb4)
.kanto
ld a, 5
.done
- ld [wcf63], a
+ ld [wJumptableIndex], a
call Function91492
ret
@@ -69048,7 +59910,7 @@ Function90fcd: ; 90fcd (24:4fcd)
ld [wc6d5], a
ld a, b
ld [wc6d6], a
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
@@ -69060,7 +59922,7 @@ Function90fee: ; 90fee (24:4fee)
ld d, $2e
ld e, $1
Function90ff2: ; 90ff2 (24:4ff2)
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and B_BUTTON
jr nz, .cancel
@@ -69096,12 +59958,12 @@ Function90ff2: ; 90ff2 (24:4ff2)
call Function91480
ret
.cancel
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
Function9102f: ; 9102f (24:502f)
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .up
@@ -69244,12 +60106,12 @@ Function910f9: ; 910f9 (24:50f9)
add hl, bc
ld [hl], $8
call _UpdateRadioStation
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
Function91112: ; 91112 (24:5112)
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and B_BUTTON
jr nz, .cancel
@@ -69290,12 +60152,12 @@ Function91112: ; 91112 (24:5112)
ret
.cancel
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
Function91156: ; 91156 (24:5156)
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
xor a
ld [wc6d2], a
@@ -69315,7 +60177,7 @@ Function91171: ; 91171 (24:5171)
ld a, [hl]
and A_BUTTON
jr nz, .a
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_LEFT
jr nz, .left
@@ -69348,12 +60210,12 @@ Function91171: ; 91171 (24:5171)
ret
.b
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
.a
- ld hl, wdc7c
+ ld hl, wPhoneList
ld a, [wc6d2]
ld e, a
ld d, 0
@@ -69375,13 +60237,13 @@ Function91171: ; 91171 (24:5171)
call Function91342
jr c, .asm_911e5
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
.asm_911e5
ld a, $8
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function911eb: ; 911eb (24:51eb)
@@ -69391,7 +60253,7 @@ Function911eb: ; 911eb (24:51eb)
ld hl, Options
res NO_TEXT_SCROLL, [hl]
xor a
- ld [$ffaa], a
+ ld [hInMenu], a
ld de, SFX_CALL
call PlaySFX
ld hl, UnknownText_0x9124c
@@ -69410,9 +60272,9 @@ Function911eb: ; 911eb (24:51eb)
ld hl, Options
set NO_TEXT_SCROLL, [hl]
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
call Function912b7
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
.asm_91234
@@ -69420,7 +60282,7 @@ Function911eb: ; 911eb (24:51eb)
ld hl, OutOfServiceAreaText
call PrintText
ld a, $8
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld hl, UnknownText_0x914ce
call PrintText
ret
@@ -69440,17 +60302,17 @@ OutOfServiceAreaText: ; 0x91251
Function91256: ; 91256 (24:5256)
ld a, [hJoyPressed] ; $ff00+$a7
- and $3
+ and A_BUTTON | B_BUTTON
ret z
callba HangUp
ld a, $8
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld hl, UnknownText_0x914ce
call PrintText
ret
Function9126d: ; 9126d (24:526d)
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .up
@@ -69540,7 +60402,7 @@ endr
ld a, [wc6d2]
ld e, a
ld d, $0
- ld hl, wdc7c
+ ld hl, wPhoneList
add hl, de
xor a
ld [wc6d0], a
@@ -69568,7 +60430,7 @@ endr
; 9131e (24:531e)
Function9131e: ; 9131e
- ld hl, wdc7c
+ ld hl, wPhoneList
ld a, [wc6d2]
ld e, a
ld d, 0
@@ -69578,7 +60440,7 @@ Function9131e: ; 9131e
ld d, 0
add hl, de
ld [hl], 0
- ld hl, wdc7c
+ ld hl, wPhoneList
ld c, $a
.asm_91336
ld a, [hli]
@@ -69594,7 +60456,7 @@ Function9131e: ; 9131e
; 91342
Function91342: ; 91342 (24:5342)
- ld hl, wdc7c
+ ld hl, wPhoneList
ld a, [wc6d2]
ld e, a
ld d, 0
@@ -69629,7 +60491,7 @@ Function91342: ; 91342 (24:5342)
ld h, a
inc de
push hl
- ld bc, $ffd7
+ ld bc, hBGMapAddress + 1
add hl, bc
ld a, [de]
inc de
@@ -69650,7 +60512,7 @@ Function91342: ; 91342 (24:5342)
.asm_91398
push de
- call Functiona57
+ call JoyTextDelay
pop de
ld hl, hJoyPressed
ld a, [hl]
@@ -69813,7 +60675,7 @@ Function91480: ; 91480 (24:5480)
ld de, SFX_READ_TEXT_2
call PlaySFX
ld a, c
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld a, b
ld [wcf64], a
call Function914ab
@@ -69905,10 +60767,10 @@ Function9191c: ; 9191c
ld a, [hl]
push af
set 4, [hl]
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
ld a, [VramState]
push af
xor a
@@ -69965,7 +60827,7 @@ Function9191c: ; 9191c
pop af
ld [VramState], a
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
pop af
ld [Options], a
call WhiteBGMap
@@ -69974,12 +60836,12 @@ Function9191c: ; 9191c
Function919b0: ; 919b0
.asm_919b0
- call Functiona57
+ call JoyTextDelay
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
ret nz
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .asm_919d4
@@ -70077,7 +60939,7 @@ PlayRadio: ; 91a53
ld c, 100
call DelayFrames
.loop
- call Functiona57
+ call JoyTextDelay
ld a, [hJoyPressed]
and A_BUTTON | B_BUTTON
jr nz, .stop
@@ -70178,7 +61040,7 @@ _FlyMap: ; 91af3
call WhiteBGMap
call ClearTileMap
call ClearSprites
- ld hl, $ffaa
+ ld hl, hInMenu
ld a, [hl]
push af
ld [hl], $1
@@ -70187,7 +61049,7 @@ _FlyMap: ; 91af3
callba Function8cf53
call Function91ff2
ld de, GFX_922e1
- ld hl, $9300
+ ld hl, VTiles2 tile $30
lb bc, BANK(GFX_922e1), 6
call Request1bpp
call FlyMap
@@ -70196,7 +61058,7 @@ _FlyMap: ; 91af3
call GetSGBLayout
call SetPalettes
.loop
- call Functiona57
+ call JoyTextDelay
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
@@ -70226,14 +61088,14 @@ _FlyMap: ; 91af3
.exit
ld [DefaultFlypoint], a
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
call WhiteBGMap
ld a, $90
ld [hWY], a
xor a
ld [hBGMapAddress], a
- ld a, $98
- ld [$ffd7], a
+ ld a, VBGMap0 / $100
+ ld [hBGMapAddress + 1], a
ld a, [DefaultFlypoint]
ld e, a
ret
@@ -70244,7 +61106,7 @@ FlyMapScroll: ; 91b73
ld e, a
ld a, [EndFlypoint]
ld d, a
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .ScrollNext
@@ -70594,13 +61456,13 @@ Function91d11: ; 91d11
xor a
ld [hBGMapMode], a
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
ld de, GFX_922d1
- ld hl, $87f0
+ ld hl, VTiles0 tile $7f
lb bc, BANK(GFX_922d1), 1
call Request2bpp ; actually 1bpp
call Function91ed0
- ld hl, $8780
+ ld hl, VTiles0 tile $78
ld c, $4
call Request2bpp
call Function91ff2
@@ -70622,13 +61484,13 @@ Function91d11: ; 91d11
xor a
call Function91e1e
.asm_91d6e
- call Functiona57
+ call JoyTextDelay
ld hl, hJoyPressed
ld a, [hl]
- and $3
+ and A_BUTTON | B_BUTTON
jr nz, .asm_91d8f
ld a, [hJoypadDown]
- and $4
+ and SELECT
jr nz, .asm_91d87
call Function91d9b
call Function91dcd
@@ -70877,7 +61739,7 @@ TownMapBGUpdate: ; 91ee4
ld a, l
ld [hBGMapAddress], a
ld a, h
- ld [$ffd7], a
+ ld [hBGMapAddress + 1], a
; Only update palettes on CGB
ld a, [hCGB]
@@ -71022,7 +61884,7 @@ TownMapPlayerIcon: ; 91fa6
callba GetPlayerIcon
; Standing icon
- ld hl, $8100
+ ld hl, VTiles0 tile $10
ld c, 4 ; # tiles
call Request2bpp
@@ -71031,7 +61893,7 @@ TownMapPlayerIcon: ; 91fa6
add hl, de
ld d, h
ld e, l
- ld hl, $8140
+ ld hl, VTiles0 tile $14
ld c, 4 ; # tiles
ld a, BANK(ChrisSpriteGFX) ; does nothing
call Request2bpp
@@ -71097,7 +61959,7 @@ Function92311: ; 92311
call WhiteBGMap
call ClearTileMap
call ClearSprites
- ld hl, $ffaa
+ ld hl, hInMenu
ld a, [hl]
push af
ld [hl], $1
@@ -71106,7 +61968,7 @@ Function92311: ; 92311
callba Function8cf53
call Function91ff2
ld de, GFX_922e1
- ld hl, $9300
+ ld hl, VTiles2 tile $30
lb bc, BANK(GFX_922e1), 6
call Request1bpp
call FillKantoMap
@@ -71128,7 +61990,7 @@ Function92311: ; 92311
call GetSGBLayout
call SetPalettes
.loop
- call Functiona57
+ call JoyTextDelay
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
@@ -71158,21 +62020,21 @@ Function92311: ; 92311
.asm_9239f
ld [DefaultFlypoint], a
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
call WhiteBGMap
ld a, $90
ld [hWY], a
xor a
ld [hBGMapAddress], a
- ld a, $98
- ld [$ffd7], a
+ ld a, VBGMap0 / $100
+ ld [hBGMapAddress + 1], a
ld a, [DefaultFlypoint]
ld e, a
ret
; 923b8
Function923b8: ; 923b8
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_DOWN | D_RIGHT
jr nz, .asm_923c6
@@ -71218,7 +62080,7 @@ Function923b8: ; 923b8
.asm_923f3
ld [hWY], a
ld a, b
- ld [$ffd7], a
+ ld [hBGMapAddress + 1], a
call TownMapBubble
call WaitBGMap
xor a
@@ -71243,7 +62105,7 @@ _SlotMachine:
call PlaySFX
call WaitSFX
call WhiteBGMap
- callba Function105fd0
+ callba MobileFn_105fd0
ld hl, Options
res 4, [hl]
ld hl, rLCDC ; $ff40
@@ -71258,7 +62120,7 @@ Function926f7: ; 926f7 (24:66f7)
call PlayMusic
call DelayFrame
call DisableLCD
- ld hl, $9800
+ ld hl, VBGMap0 tile $00
ld bc, $400
ld a, $7f
call ByteFill
@@ -71270,16 +62132,16 @@ Function926f7: ; 926f7 (24:66f7)
xor a
call ByteFill
ld hl, Slots2LZ
- ld de, $8000
+ ld de, VTiles0 tile $00
call Decompress
ld hl, Slots3LZ
- ld de, $8400
+ ld de, VTiles0 tile $40
call Decompress
ld hl, Slots1LZ
- ld de, $9000
+ ld de, VTiles2 tile $00
call Decompress
ld hl, Slots2LZ
- ld de, $9250
+ ld de, VTiles2 tile $25
call Decompress
ld hl, SlotsTilemap
decoord 0, 0
@@ -71299,7 +62161,7 @@ Function926f7: ; 926f7 (24:66f7)
ld [hli], a
ld [hl], $40
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld a, $ff
ld [wc709], a
ld de, MUSIC_GAME_CORNER
@@ -71326,7 +62188,7 @@ Function9279b: ; 9279b (24:679b)
ret
Function927af: ; 927af (24:67af)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_927d1
call Function92844
@@ -71422,7 +62284,7 @@ endr
; 92844
Function92844: ; 92844 (24:6844)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_92853
@@ -71459,7 +62321,7 @@ Jumptable_92853: ; 92853 (24:6853)
Function92879: ; 92879 (24:6879)
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
@@ -71476,7 +62338,7 @@ Function9288e: ; 9288e (24:688e)
call Function9307c
jr nc, .asm_92899
ld a, $12
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
.asm_92899
call Function92879
@@ -71667,15 +62529,15 @@ Function929d9: ; 929d9 (24:69d9)
call Function930e9
jr c, .asm_929ea
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
.asm_929ea
ld a, $12
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Function929f0: ; 929f0 (24:69f0)
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -72989,7 +63851,7 @@ Function93124: ; 93124 (24:7124)
ld a, [hl]
ld [wc711], a
ld d, a
- callba Function105fe3
+ callba MobileFn_105fe3
ret
.data_93145
@@ -73013,7 +63875,7 @@ Function93158: ; 93158 (24:7158)
jr nz, .asm_9316c
ld hl, UnknownText_0x931e0
call PrintText
- callba Function105fd0
+ callba MobileFn_105fd0
ret
.asm_9316c
srl a
@@ -73035,7 +63897,7 @@ endr
.asm_93188
ld hl, UnknownText_0x931b9
call PrintText
- callba Function105f9f
+ callba MobileFn_105f9f
ret
; 93195 (24:7195)
@@ -73061,13 +63923,13 @@ UnknownText_0x931b9: ; 0x931b9
Function931ba: ; 931ba
ld a, [EffectFailed]
add $25
- ldcoord 2, 13
+ ldcoord_a 2, 13
inc a
- ldcoord 2, 14
+ ldcoord_a 2, 14
inc a
- ldcoord 3, 13
+ ldcoord_a 3, 13
inc a
- ldcoord 3, 14
+ ldcoord_a 3, 14
hlcoord 18, 17
ld [hl], $ee
ld hl, UnknownText_0x931db
@@ -73511,7 +64373,7 @@ Functionb8098:: ; b8098 (2e:4098)
Functionb80c6: ; b80c6
ld de, GFX_f9344
- ld hl, $9600
+ ld hl, VTiles2 tile $60
lb bc, BANK(GFX_f9344), $e
call Get2bpp
ret
@@ -73731,7 +64593,7 @@ CheckForSignpostItems: ; b8172
TreeMonEncounter: ; b81ea
- callba Function1060ef
+ callba MobileFn_1060ef
xor a
ld [TempWildMonSpecies], a
@@ -74196,13 +65058,13 @@ Functionb84b3: ; b84b3
ld de, KrisFishingGFX
.asm_b84c7
- ld hl, $8020
+ ld hl, VTiles0 tile $02
call Functionb84e3
- ld hl, $8060
+ ld hl, VTiles0 tile $06
call Functionb84e3
- ld hl, $80a0
+ ld hl, VTiles0 tile $0a
call Functionb84e3
- ld hl, $9000 - $40
+ ld hl, VTiles2 tile $00 - $40
call Functionb84e3
pop af
@@ -74232,14 +65094,14 @@ INCBIN "gfx/unknown/0b8582.2bpp"
INCLUDE "engine/radio.asm"
-Functionb9229: ; b9229
+ReadPartyMonMail: ; b9229
ld a, [CurPartyMon]
ld hl, s0_a600
- ld bc, $002f
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
call AddNTimes
ld d, h
ld e, l
-Functionb9237: ; b9237
+ReadAnyMail: ; b9237
push de
call WhiteBGMap
call ClearSprites
@@ -74293,11 +65155,11 @@ Functionb929a: ; b929a
ret
.asm_b92a8
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
push af
callab Function845d4
pop af
- ld [wcf63], a
+ ld [wJumptableIndex], a
jr .asm_b929a
; b92b8
@@ -74365,7 +65227,7 @@ Unknown_b92f8: ; b92f8
Functionb9317: ; b9317
push bc
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld de, Unknown_b9d46
ld c, $40
call Functionb9915
@@ -74379,7 +65241,7 @@ Functionb9317: ; b9317
Functionb9335: ; b9335
push bc
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld de, Unknown_b9dc6
ld c, $40
call Functionb9915
@@ -74449,7 +65311,7 @@ Functionb9351: ; b9351
Functionb93d2: ; b93d2
push bc
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld de, Unknown_b997e
ld c, $8
call Functionb9915
@@ -74468,7 +65330,7 @@ Functionb93d2: ; b93d2
ld de, MailPikaGFX
ld c, $30
call Functionb991e
- ld hl, $93d0
+ ld hl, VTiles2 tile $3d
ld de, Unknown_b9c9e
ld c, $20
call Functionb990c
@@ -74498,7 +65360,7 @@ Functionb93d2: ; b93d2
Functionb944b: ; b944b
push bc
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld de, Unknown_b9e26
ld c, $28
call Functionb9915
@@ -74560,7 +65422,7 @@ Functionb9491: ; b9491
Functionb94d6: ; b94d6
push bc
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld bc, $0028
call Functionb97f8
ld de, Unknown_b9c96
@@ -74636,7 +65498,7 @@ Functionb94d6: ; b94d6
Functionb9582: ; b9582
push bc
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld de, Unknown_b997e
ld c, $8
call Functionb9915
@@ -74723,7 +65585,7 @@ Functionb9636: ; b9636
Functionb963e: ; b963e
push bc
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld de, Unknown_b9d86
ld c, $40
call Functionb990c
@@ -74777,14 +65639,14 @@ Functionb963e: ; b963e
Functionb96ca: ; b96ca
push bc
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld de, Unknown_b9e4e
ld c, $28
call Functionb9915
ld de, Unknown_b995e
ld c, $8
call Functionb9915
- ld hl, $93d0
+ ld hl, VTiles2 tile $3d
ld de, Unknown_b9bfe
ld c, $20
call Functionb990c
@@ -74807,7 +65669,7 @@ Functionb96ca: ; b96ca
Functionb9710: ; b9710
push bc
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld de, Unknown_b9e06
ld c, $20
call Functionb9915
@@ -74849,7 +65711,7 @@ Functionb9710: ; b9710
Functionb9776: ; b9776
push bc
- ld hl, $9310
+ ld hl, VTiles2 tile $31
ld bc, $0028
call Functionb97f8
ld de, Unknown_b992e
@@ -75406,7 +66268,7 @@ DisplayCaughtContestMonStats: ; cc000
call WhiteBGMap
call ClearTileMap
call ClearSprites
- call Functione58
+ call LoadFontsBattleExtra
ld hl, Options
ld a, [hl]
@@ -75718,20 +66580,20 @@ _CardFlip: ; e00ee (38:40ee)
call Functione51
call Functione5f
ld hl, LZ_e0d16
- ld de, $9000
+ ld de, VTiles2 tile $00
call Decompress
ld hl, LZ_e0ea8
- ld de, $93e0
+ ld de, VTiles2 tile $3e
call Decompress
ld hl, LZ_e0cdb
- ld de, $8000
+ ld de, VTiles0 tile $00
call Decompress
ld hl, GFX_e0cf6
- ld de, $8ef0
+ ld de, VTiles1 tile $6f
ld bc, $10
call CopyBytes
ld hl, GFX_e0d06
- ld de, $8f50
+ ld de, VTiles1 tile $75
ld bc, $10
call CopyBytes
call Functione0521
@@ -75745,14 +66607,14 @@ _CardFlip: ; e00ee (38:40ee)
call DmgToCgbObjPals
call DelayFrame
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld a, $2
ld [wcf64], a
ld [wcf65], a
ld de, MUSIC_GAME_CORNER
call PlayMusic
.MasterLoop
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .leavethegame
call .CardFlip
@@ -75768,7 +66630,7 @@ _CardFlip: ; e00ee (38:40ee)
ret
.CardFlip: ; e0191 (38:4191)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, .Jumptable
@@ -75793,7 +66655,7 @@ endr
; e01b0
.Increment: ; e01b0
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
; e01b5
@@ -75809,7 +66671,7 @@ endr
.SaidNo
ld a, $7
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e01cd
@@ -75833,7 +66695,7 @@ endr
ld hl, .NotEnoughCoinsText
call Functione0489
ld a, $7
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
.deduct
@@ -75890,9 +66752,9 @@ endr
xor a
ld [wcf66], a
.loop
- call Functiona57
- ld a, [$ffa9]
- and $1
+ call JoyTextDelay
+ ld a, [hJoyLast]
+ and A_BUTTON
jr nz, .next
ld de, SFX_KINESIS
call PlaySFX
@@ -75944,9 +66806,9 @@ endr
ld hl, .PlaceYourBetText
call Functione0489
.betloop
- call Functiona57
- ld a, [$ffa9]
- and $1
+ call JoyTextDelay
+ ld a, [hJoyLast]
+ and A_BUTTON
jr nz, .betdone
call Functione089c
call Functione0960
@@ -76030,7 +66892,7 @@ endr
.LoopAround
ld a, $1
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e0356
@@ -76047,7 +66909,7 @@ endr
; 0xe0360
.Quit: ; e0360
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
; e0366
@@ -76233,7 +67095,7 @@ Functione04c1: ; e04c1 (38:44c1)
xor a
ld [hBGMapMode], a ; $ff00+$d4
hlcoord 0, 0
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
ld a, $29
call ByteFill
hlcoord 9, 0
@@ -76308,7 +67170,7 @@ Functione0509: ; e0509
; e0521
Functione0521: ; e0521 (38:4521)
- ld de, $8f60
+ ld de, VTiles1 tile $76
ld hl, $8f62
ld bc, $9e
call CopyBytes
@@ -76924,7 +67786,7 @@ Unknown_e0853: ; e0853
; e089c
Functione089c: ; e089c
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
and D_LEFT
jp nz, Functione08b8
@@ -77300,7 +68162,7 @@ Functione0c37: ; e0c37 (38:4c37)
and a
ret z
hlcoord 0, 0, AttrMap
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
xor a
call ByteFill
hlcoord 12, 1, AttrMap
@@ -77414,10 +68276,10 @@ Unknown_e110c: ; e110c
; e1190
Functione1190: ; e1190
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
call WhiteBGMap
call ClearTileMap
call ClearSprites
@@ -77429,11 +68291,11 @@ Functione1190: ; e1190
xor a
call ByteFill
ld hl, GFX_e17c5
- ld de, $8e00
+ ld de, VTiles1 tile $60
ld bc, $0040
call CopyBytes
ld hl, LZ_e1805
- ld de, $8ed0
+ ld de, VTiles1 tile $6d
call Decompress
call Functione17a3
hlcoord 0, 0
@@ -77451,7 +68313,7 @@ Functione1190: ; e1190
ld [hSCY], a
ld [hSCX], a
ld [rWY], a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld [wcf64], a
ld [wcf65], a
ld [wcf66], a
@@ -77468,8 +68330,8 @@ Functione1190: ; e1190
ld [wd0ec], a
call DelayFrame
.asm_e1217
- call Functiona57
- ld a, [wcf63]
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_e123d
call Functione12ca
@@ -77493,7 +68355,7 @@ Functione1190: ; e1190
.asm_e123d
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
call WhiteBGMap
call ClearTileMap
call ClearSprites
@@ -77577,7 +68439,7 @@ Functione128d: ; e128d
; e12ca
Functione12ca: ; e12ca
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_e12d9
@@ -77596,23 +68458,23 @@ Jumptable_e12d9: ; e12d9
Functione12db: ; e12db
ld a, [hJoyPressed]
- and $8
+ and START
jp nz, Functione13de
ld a, [hJoyPressed]
and A_BUTTON
jp nz, Functione1376
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [hl]
- and $40
+ and D_UP
jr nz, .asm_e1301
ld a, [hl]
- and $80
+ and D_DOWN
jr nz, .asm_e130d
ld a, [hl]
- and $20
+ and D_LEFT
jr nz, .asm_e1325
ld a, [hl]
- and $10
+ and D_RIGHT
jr nz, .asm_e1345
ret
@@ -77751,7 +68613,7 @@ Functione1376: ; e1376
ld [wd0ec], a
Functione13de: ; e13de
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -78280,10 +69142,10 @@ Functione1e67: ; e1e67 (38:5e67)
call GetSGBLayout
callab Function8cf53
ld hl, LZ_e2221
- ld de, $9000
+ ld de, VTiles2 tile $00
call Decompress
ld hl, Unknown_e00ed
- ld de, $8000
+ ld de, VTiles0 tile $00
ld bc, $40
ld a, BANK(Unknown_e00ed)
call FarCopyBytes
@@ -78292,14 +69154,14 @@ Functione1e67: ; e1e67 (38:5e67)
ld [hli], a
ld [hl], $0
hlcoord 0, 0
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
xor a
call ByteFill
xor a
ld [hSCY], a ; $ff00+$d0
ld [hSCX], a ; $ff00+$cf
ld [rWY], a ; $ff00+$4a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
ld a, $e3
@@ -78311,7 +69173,7 @@ Functione1e67: ; e1e67 (38:5e67)
ret
Functione1ebb: ; e1ebb (38:5ebb)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_e1ed0
call Functione1ed2
@@ -78324,7 +69186,7 @@ Functione1ebb: ; e1ebb (38:5ebb)
ret
Functione1ed2: ; e1ed2 (38:5ed2)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_e1ee1
@@ -78351,7 +69213,7 @@ Jumptable_e1ee1: ; e1ee1
Functione1ef3: ; e1ef3
call Functione2152
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
; e1efb
@@ -78359,13 +69221,13 @@ Functione1ef3: ; e1ef3
Functione1efb: ; e1efb
call Functione00ed
jr nc, .asm_e1f06
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
.asm_e1f06
call Functione209d
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
xor a
ld [wc708], a
@@ -78394,7 +69256,7 @@ Functione1f1c: ; e1f1c
call Function3b2a
ld a, $5
ld [wc702], a
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
; e1f42
@@ -78409,14 +69271,14 @@ Functione1f42: ; e1f42
and a
jr nz, .asm_e1f58
ld a, $7
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
.asm_e1f58
dec [hl]
xor a
ld [wcf64], a
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
Functione1f61: ; e1f61
@@ -78439,7 +69301,7 @@ Functione1f61: ; e1f61
call Functione2128
xor a
ld [wcf64], a
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
; e1f8b
@@ -78467,7 +69329,7 @@ Functione1f8b: ; e1f8b
call Functione2128
ld a, $40
ld [wc708], a
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
Functione1fba: ; e1fba
@@ -78481,7 +69343,7 @@ Functione1fba: ; e1fba
.asm_e1fc3
call Functione2010
ld a, $3
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e1fcc
@@ -78515,19 +69377,19 @@ Functione1fcc: ; e1fcc
.asm_e1ff9
call Functiona80
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
Functione2000: ; e2000
call Functione00ed
jr nc, .asm_e200b
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
.asm_e200b
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e2010
@@ -78786,10 +69648,10 @@ Functione2183: ; e2183
; e21a1
Functione21a1: ; e21a1 (38:61a1)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
cp $7
jr nc, .asm_e21c8
- call Functiona57
+ call JoyTextDelay
ld hl, hJoypadPressed ; $ffa3
ld a, [hl]
and A_BUTTON
@@ -78885,10 +69747,10 @@ Functione2391: ; e2391 (38:6391)
push af
xor a
ld [VramState], a
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
xor a
ld [$ffde], a
call Functione2963
@@ -78896,8 +69758,8 @@ Functione2391: ; e2391 (38:6391)
ld [wcb2e], a
call DelayFrame
.asm_e23b4
- call Functiona57
- ld a, [wcf63]
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_e23c6
call Functione23d5
@@ -78906,7 +69768,7 @@ Functione2391: ; e2391 (38:6391)
.asm_e23c6
call ClearSprites
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
pop af
ld [VramState], a
pop af
@@ -78914,7 +69776,7 @@ Functione2391: ; e2391 (38:6391)
ret
Functione23d5: ; e23d5 (38:63d5)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld hl, Jumptable_e23df
call Functione33df
jp [hl]
@@ -78976,18 +69838,18 @@ Functione241a: ; e241a (38:641a)
cp $ff
jr z, .asm_e2457
ld a, $2
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e2452 (38:6452)
.asm_e2452
- ld hl, wcf63
+ ld hl, wJumptableIndex
dec [hl]
ret
.asm_e2457
ld a, $4
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
Functione245d: ; e245d (38:645d)
@@ -79039,7 +69901,7 @@ BillsPCDepositFuncDeposit: ; e24a9 (38:64a9)
call Functione307c
jr c, .asm_e24c1
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
xor a
ld [wcb2b], a
ld [wcb2a], a
@@ -79086,7 +69948,7 @@ BillsPCDepositFuncRelease: ; e24e0 (38:64e0)
callba Functione039
call Functione3180
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
xor a
ld [wcb2b], a
ld [wcb2a], a
@@ -79101,7 +69963,7 @@ BillsPCDepositFuncRelease: ; e24e0 (38:64e0)
BillsPCDepositFuncCancel: ; e2537 (38:6537)
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e253d (38:653d)
@@ -79147,10 +70009,10 @@ Functione2583: ; e2583 (38:6583)
push af
xor a
ld [VramState], a
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
xor a
ld [$ffde], a
call Functione2963
@@ -79158,8 +70020,8 @@ Functione2583: ; e2583 (38:6583)
ld [wcb2e], a
call DelayFrame
.asm_e25a7
- call Functiona57
- ld a, [wcf63]
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_e25b9
call Functione25c8
@@ -79168,7 +70030,7 @@ Functione2583: ; e2583 (38:6583)
.asm_e25b9
call ClearSprites
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
pop af
ld [VramState], a
pop af
@@ -79176,7 +70038,7 @@ Functione2583: ; e2583 (38:6583)
ret
Functione25c8: ; e25c8 (38:65c8)
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld hl, .jumptable
call Functione33df
jp [hl]
@@ -79240,18 +70102,18 @@ Functione2612: ; e2612 (38:6612)
cp $ff
jr z, .asm_e264f
ld a, $2
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e264a (38:664a)
.asm_e264a
- ld hl, wcf63
+ ld hl, wJumptableIndex
dec [hl]
ret
.asm_e264f
ld a, $4
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e2655
@@ -79304,7 +70166,7 @@ endr
call TryWithdrawPokemon
jr c, .FailedWithdraw
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
xor a
ld [wcb2b], a
ld [wcb2a], a
@@ -79349,7 +70211,7 @@ endr
callba Functione039
call Functione3180
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
xor a
ld [wcb2b], a
ld [wcb2a], a
@@ -79364,7 +70226,7 @@ endr
.cancel: ; e272b (38:672b)
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e2731 (38:6731)
@@ -79394,10 +70256,10 @@ Functione2759: ; e2759
push af
xor a
ld [VramState], a
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
xor a
ld [$ffde], a
call Functione2963
@@ -79407,8 +70269,8 @@ Functione2759: ; e2759
ld [wcb2e], a
call DelayFrame
.asm_e2781
- call Functiona57
- ld a, [wcf63]
+ call JoyTextDelay
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_e2793
call Functione27a2
@@ -79418,7 +70280,7 @@ Functione2759: ; e2759
.asm_e2793
call ClearSprites
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
pop af
ld [VramState], a
pop af
@@ -79427,7 +70289,7 @@ Functione2759: ; e2759
; e27a2
Functione27a2: ; e27a2
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld hl, Jumptable_e27ac
call Functione33df
jp [hl]
@@ -79493,7 +70355,7 @@ Functione27eb: ; e27eb
ld [wcb2b], a
ld [wcb2a], a
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
.asm_e2823
@@ -79503,16 +70365,16 @@ Functione27eb: ; e27eb
cp $ff
jr z, .asm_e2837
ld a, $2
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
- ld hl, wcf63
+ ld hl, wJumptableIndex
dec [hl]
ret
.asm_e2837
ld a, $6
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e283d
@@ -79570,7 +70432,7 @@ Functione2887: ; e2887
ld a, [wcb2e]
ld [wcb31], a
ld a, $4
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e28a5
@@ -79588,7 +70450,7 @@ Functione28a5: ; e28a5
Functione28bd: ; e28bd
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e28c3
@@ -79652,7 +70514,7 @@ Functione2903: ; e2903
ld [wcb2b], a
ld [wcb2a], a
ld a, $4
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
.asm_e2938
@@ -79660,11 +70522,11 @@ Functione2903: ; e2903
jr c, .asm_e2946
call Functione31e7
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
.asm_e2946
- ld hl, wcf63
+ ld hl, wJumptableIndex
dec [hl]
ret
@@ -79676,7 +70538,7 @@ Functione2903: ; e2903
ld a, [wcb31]
ld [wcb2e], a
ld a, $0
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e2963
@@ -79690,7 +70552,7 @@ Functione2963: ; e2963 (38:6963)
xor a
call ByteFill
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld [wcf64], a
ld [wcf65], a
ld [wcf66], a
@@ -79699,12 +70561,12 @@ Functione2963: ; e2963 (38:6963)
ret
Functione298d: ; e298d (38:698d)
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
Functione2992: ; e2992 (38:6992)
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -79728,7 +70590,7 @@ Functione2998: ; e2998 (38:6998)
jp Functione2a65
Functione29b5: ; e29b5 (38:69b5)
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [wcb2d]
ld d, a
ld a, [wcb2c]
@@ -79746,7 +70608,7 @@ Functione29b5: ; e29b5 (38:69b5)
; e29d0 (38:69d0)
Functione29d0: ; e29d0
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [wcb2d]
ld d, a
ld a, [wcb2c]
@@ -79770,7 +70632,7 @@ Functione29d0: ; e29d0
jr Functione2a65
Functione29f4: ; e29f4
- ld hl, $ffa9
+ ld hl, hJoyLast
ld a, [wcb2d]
ld d, a
ld a, [wcb2c]
@@ -79980,7 +70842,7 @@ PCMonInfo: ; e2ac6 (38:6ac6)
ld hl, TempMonDVs
predef GetUnownLetter
call GetBaseData
- ld de, $9000
+ ld de, VTiles2 tile $00
predef GetFrontpic
xor a
ld [wcb32], a
@@ -80419,7 +71281,7 @@ Functione2e01: ; e2e01 (38:6e01)
.asm_e2e0b
ld hl, Unknown_e2e2b
ld de, Sprites
-.asm_e2e11
+.done1
ld a, [hl]
cp $ff
ret z
@@ -80439,7 +71301,7 @@ Functione2e01: ; e2e01 (38:6e01)
ld a, [hli]
ld [de], a
inc de
- jr .asm_e2e11
+ jr .done1
; e2e2b (38:6e2b)
Unknown_e2e2b: ; e2e2b
@@ -81142,11 +72004,11 @@ Unknown_e33a6: ; e33a6
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; e33d0
Functione33d0: ; e33d0 (38:73d0)
@@ -81171,18 +72033,18 @@ endr
Functione33e8: ; e33e8 (38:73e8)
call DisableLCD
- ld hl, $9000
+ ld hl, VTiles2 tile $00
ld bc, $310
xor a
call ByteFill
call Functione51
- call Functione58
+ call LoadFontsBattleExtra
ld hl, PCMailGFX
- ld de, $95c0
+ ld de, VTiles2 tile $5c
ld bc, $40
call CopyBytes
ld hl, PCSelectLZ
- ld de, $8000
+ ld de, VTiles0 tile $00
call Decompress
ld a, 6
call SkipMusic
@@ -81215,26 +72077,26 @@ PCString_NoReleasingEGGS: db "No releasing EGGS!@"
Functione35aa: ; e35aa (38:75aa)
call LoadMenuDataHeader_0x1d75
call Functione35e2
-.asm_e35b0
+.loop
xor a
ld [hBGMapMode], a ; $ff00+$d4
call Functione36cf
call Functione379c
- ld hl, MenuDataHeader_0xe35f1
+ ld hl, Functione35aa_menudataheader
call CopyMenuDataHeader
xor a
ld [wd0e4], a
hlcoord 0, 4
- ld bc, $809
+ lb bc, 8, 9
call TextBox
call Function350c
ld a, [wcf73]
cp $2
- jr z, .asm_e35de
+ jr z, .done
call Functione37af
call Functione36f9
- jr .asm_e35b0
-.asm_e35de
+ jr .loop
+.done
call WriteBackup
ret
@@ -81242,37 +72104,37 @@ Functione35e2: ; e35e2 (38:75e2)
xor a
ld [hBGMapMode], a ; $ff00+$d4
hlcoord 0, 0
- ld bc, $168
- ld a, $7f
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
+ ld a, " "
call ByteFill
ret
; e35f1 (38:75f1)
-MenuDataHeader_0xe35f1: ; 0xe35f1
+Functione35aa_menudataheader: ; 0xe35f1
db $40 ; flags
db 05, 01 ; start coords
db 12, 09 ; end coords
- dw MenuData2_0xe35f9
+ dw .menudata2
db 1 ; default option
; 0xe35f9
-MenuData2_0xe35f9: ; 0xe35f9
+.menudata2: ; 0xe35f9
db $22 ; flags
db 4, 0
db 1
- dbw BANK(Unknown_e3609), Unknown_e3609
- dbw BANK(Functione3619), Functione3619
- dbw BANK(NULL), NULL
- dbw BANK(Functione3632), Functione3632
+ dba .boxes
+ dba .boxnames
+ dba NULL
+ dba Functione3632
; e3609
-Unknown_e3609: ; e3609
+.boxes: ; e3609
db 14
db 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
db -1
; e3619
-Functione3619: ; e3619
+.boxnames: ; e3619
push de
ld a, [MenuSelection]
dec a
@@ -81293,15 +72155,15 @@ Functione3626: ; e3626 (38:7626)
Functione3632: ; e3632
hlcoord 11, 7
- ld bc, $0507
+ lb bc, 5, 7
call TextBox
ld a, [MenuSelection]
- cp $ff
+ cp -1
ret z
hlcoord 12, 9
ld de, String_e3663
call PlaceString
- call Functione366c
+ call GetBoxCount
ld [wd265], a
hlcoord 13, 11
ld de, wd265
@@ -81318,21 +72180,21 @@ String_e3663: ; e3663
String_e3668: ; e3668
db "/"
- db "0" + MONS_PER_BOX / 10
- db "0" + MONS_PER_BOX % 10
+ db "0" + MONS_PER_BOX / 10 ; "2"
+ db "0" + MONS_PER_BOX % 10 ; "0"
db "@"
; e366c
-Functione366c: ; e366c (38:766c)
+GetBoxCount: ; e366c (38:766c)
ld a, [wCurBox]
ld c, a
ld a, [MenuSelection]
dec a
cp c
- jr z, .asm_e3697
+ jr z, .activebox
ld c, a
ld b, 0
- ld hl, Unknown_e36a5
+ ld hl, .boxbanks
rept 3
add hl, bc
endr
@@ -81345,15 +72207,17 @@ endr
ld a, [hl]
call CloseSRAM
ld c, a
- ld a, [wd4b4]
+ ld a, [wSavedAtLeastOnce]
and a
- jr z, .asm_e3695
+ jr z, .newfile
ld a, c
ret
-.asm_e3695
+
+.newfile
xor a
ret
-.asm_e3697
+
+.activebox
ld a, BANK(sBoxCount)
ld b, a
call GetSRAMBank
@@ -81363,7 +72227,7 @@ endr
ret
; e36a5 (38:76a5)
-Unknown_e36a5: ; e36a5
+.boxbanks: ; e36a5
dbw BANK(sBox1), sBox1
dbw BANK(sBox2), sBox2
dbw BANK(sBox3), sBox3
@@ -81373,11 +72237,11 @@ Unknown_e36a5: ; e36a5
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; e36cf
Functione36cf: ; e36cf (38:76cf)
@@ -81417,7 +72281,7 @@ Functione36f9: ; e36f9 (38:76f9)
ret
.asm_e3717
- call Functione366c
+ call GetBoxCount
and a
jr z, .asm_e372f
ld e, l
@@ -81451,7 +72315,7 @@ Functione36f9: ; e36f9 (38:76f9)
callba Function116c1
call ClearTileMap
call Functione51
- call Functione58
+ call LoadFontsBattleExtra
ld a, [MenuSelection]
dec a
call Functione3626
@@ -81540,7 +72404,7 @@ INCBIN "gfx/misc/copyright.2bpp"
; e41d0
_OptionsMenu: ; e41d0
- ld hl, $ffaa
+ ld hl, hInMenu
ld a, [hl]
push af
ld [hl], $1
@@ -81553,21 +72417,21 @@ _OptionsMenu: ; e41d0
ld de, StringOptions
call PlaceString
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld c, $6 ;number of items on the menu minus 1 (for cancel)
.asm_e41f3 ;this next will display the settings of each option when the menu is opened
push bc
xor a
- ld [$ffa9], a
+ ld [hJoyLast], a
call GetOptionPointer
pop bc
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
dec c
jr nz, .asm_e41f3
call Functione4512
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
inc a
ld [hBGMapMode], a
call WaitBGMap
@@ -81575,9 +72439,9 @@ _OptionsMenu: ; e41d0
call GetSGBLayout
call SetPalettes
.asm_e4217
- call Functiona57
+ call JoyTextDelay
ld a, [hJoyPressed]
- and $a
+ and START | B_BUTTON
jr nz, .ExitOptions
call OptionsControl
jr c, .asm_e422a
@@ -81595,7 +72459,7 @@ _OptionsMenu: ; e41d0
call PlaySFX
call WaitSFX
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
ret
; e4241
@@ -81619,7 +72483,7 @@ StringOptions: ; e4241
GetOptionPointer: ; e42d6
- ld a, [wcf63] ;load the cursor position to a
+ ld a, [wJumptableIndex] ;load the cursor position to a
ld e, a ;copy it to de
ld d, 0
ld hl, .Pointers
@@ -82059,11 +72923,11 @@ Options_Cancel: ; e4520
; e452a
OptionsControl: ; e452a
- ld hl, wcf63
- ld a, [$ffa9]
- cp $80
+ ld hl, wJumptableIndex
+ ld a, [hJoyLast]
+ cp D_DOWN
jr z, .DownPressed
- cp $40
+ cp D_UP
jr z, .UpPressed
and a
ret
@@ -82116,7 +72980,7 @@ Functione455c: ; e455c
jr nz, .asm_e4564
hlcoord 1, 2
ld bc, $0028
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
call AddNTimes
ld [hl], $ed
ret
@@ -82128,8 +72992,8 @@ Functione4579: ; e4579
call PlayMusic
call WhiteBGMap
call ClearTileMap
- ld a, $98
- ld [$ffd7], a
+ ld a, VBGMap0 / $100
+ ld [hBGMapAddress + 1], a
xor a
ld [hBGMapAddress], a
ld [hJoyDown], a
@@ -82151,11 +73015,11 @@ Functione4579: ; e4579
callba GBCOnlyScreen
call Functione45e8
.asm_e45c0
- call Functiona57
- ld a, [$ffa9]
- and $f
+ call JoyTextDelay
+ ld a, [hJoyLast]
+ and BUTTONS
jr nz, .asm_e45de
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_e45e3
call Functione4670
@@ -82211,7 +73075,7 @@ Functione45e8: ; e45e8
add hl, bc
ld [hl], $30
xor a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ld [wcf64], a
ld [wcf65], a
ld [hSCX], a
@@ -82235,7 +73099,7 @@ Functione465e: ; e465e
; e4670
Functione4670: ; e4670
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, Jumptable_e467f
@@ -82256,7 +73120,7 @@ Jumptable_e467f: ; e467f
; e4687
Functione4687: ; e4687
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
; e468c
@@ -82325,7 +73189,7 @@ Functione46dd: ; e46dd
ret
.asm_e46e7
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
; e46ed
@@ -82491,19 +73355,19 @@ INCBIN "gfx/splash/logo.1bpp"
CrystalIntro: ; e48ac
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, 5
ld [rSVBK], a
- ld a, [$ffaa]
+ ld a, [hInMenu]
push af
ld a, [hVBlank]
push af
call Functione4901
.loop: ; e48bc
- call Functiona57
- ld a, [$ffa9]
- and $f
+ call JoyTextDelay
+ ld a, [hJoyLast]
+ and BUTTONS
jr nz, .ShutOffMusic
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
bit 7, a
jr nz, .done
call IntroSceneJumper
@@ -82529,7 +73393,7 @@ CrystalIntro: ; e48ac
pop af
ld [hVBlank], a
pop af
- ld [$ffaa], a
+ ld [hInMenu], a
pop af
ld [rSVBK], a
ret
@@ -82539,15 +73403,15 @@ Functione4901: ; e4901
xor a
ld [hVBlank], a
ld a, $1
- ld [$ffaa], a
+ ld [hInMenu], a
xor a
ld [$ffde], a
- ld [wcf63], a
+ ld [wJumptableIndex], a
ret
; e490f
IntroSceneJumper: ; e490f
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, IntroScenes
@@ -82593,7 +73457,7 @@ IntroScenes: ; e491e (39:491e)
NextIntroScene: ; e4956 (39:4956)
- ld hl, wcf63
+ ld hl, wJumptableIndex
inc [hl]
ret
@@ -82607,18 +73471,18 @@ IntroScene1: ; e495b (39:495b)
ld a, $1
ld [rVBK], a ; $ff00+$4f
ld hl, IntroTilemap001
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld hl, IntroUnownsGFX
- ld de, $9000
+ ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroPulseGFX
- ld de, $8000
+ ld de, VTiles0 tile $00
call Functione54c2
ld hl, IntroTilemap002
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, [rSVBK] ; $ff00+$70
push af
@@ -82644,32 +73508,32 @@ IntroScene1: ; e495b (39:495b)
callba Function8cf53
call Functione549e
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene2: ; e49d6 (39:49d6)
; First Unown (A) fades in, pulses, then fades out.
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $80
- jr nc, .asm_e49f9
+ jr nc, .endscene
cp $60
- jr nz, .asm_e49f1
+ jr nz, .DontPlaySound
push af
ld de, $5858
call Functione51dc
ld de, SFX_INTRO_UNOWN_1
call PlaySFX
pop af
-.asm_e49f1
+.DontPlaySound
ld [wcf65], a
xor a
call Functione5223
ret
-.asm_e49f9
+.endscene
call NextIntroScene
ret
@@ -82683,15 +73547,15 @@ IntroScene3: ; e49fd (39:49fd)
ld a, $1
ld [rVBK], a ; $ff00+$4f
ld hl, IntroTilemap003
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld hl, IntroBackgroundGFX
- ld de, $9000
+ ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroTilemap004
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, [rSVBK] ; $ff00+$70
push af
@@ -82717,20 +73581,20 @@ IntroScene3: ; e49fd (39:49fd)
call Functione5516
call Functione549e
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
call NextIntroScene
ret
IntroScene4: ; e4a69 (39:4a69)
; Scroll the outdoor panorama for a bit.
call Functione552f
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
cp $80
- jr z, .asm_e4a76
+ jr z, .endscene
inc [hl]
ret
-.asm_e4a76
+.endscene
call NextIntroScene
ret
@@ -82745,18 +73609,18 @@ IntroScene5: ; e4a7a (39:4a7a)
ld a, $1
ld [rVBK], a ; $ff00+$4f
ld hl, IntroTilemap005
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld hl, IntroUnownsGFX
- ld de, $9000
+ ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroPulseGFX
- ld de, $8000
+ ld de, VTiles0 tile $00
call Functione54c2
ld hl, IntroTilemap006
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, [rSVBK] ; $ff00+$70
push af
@@ -82793,39 +73657,39 @@ IntroScene6: ; e4af7 (39:4af7)
ld a, [hl]
inc [hl]
cp $80
- jr nc, .asm_e4b3b
+ jr nc, .endscene
cp $60
- jr z, .asm_e4b24
+ jr z, .SecondUnown
cp $40
- jr nc, .asm_e4b32
+ jr nc, .StopUnown
cp $20
- jr z, .asm_e4b0e
- jr .asm_e4b1c
-.asm_e4b0e
+ jr z, .FirstUnown
+ jr .NoUnown
+.FirstUnown
push af
ld de, $3878
call Functione51dc
ld de, SFX_INTRO_UNOWN_2
call PlaySFX
pop af
-.asm_e4b1c
+.NoUnown
ld [wcf65], a
xor a
call Functione5223
ret
-.asm_e4b24
+.SecondUnown
push af
ld de, $7030
call Functione51dc
ld de, SFX_INTRO_UNOWN_1
call PlaySFX
pop af
-.asm_e4b32
+.StopUnown
ld [wcf65], a
ld a, $1
call Functione5223
ret
-.asm_e4b3b
+.endscene
call NextIntroScene
ret
@@ -82839,21 +73703,21 @@ IntroScene7: ; e4b3f (39:4b3f)
ld a, $1
ld [rVBK], a ; $ff00+$4f
ld hl, IntroTilemap003
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld hl, IntroPichuWooperGFX
- ld de, $8000
+ ld de, VTiles0 tile $00
call Functione54c2
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld hl, IntroSuicuneRunGFX
- ld de, $8000
+ ld de, VTiles0 tile $00
call Functione54de
ld hl, IntroBackgroundGFX
- ld de, $9000
+ ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroTilemap004
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, [rSVBK] ; $ff00+$70
push af
@@ -82885,14 +73749,14 @@ IntroScene7: ; e4b3f (39:4b3f)
ld [wc3c0], a
call Functione549e
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene8: ; e4bd3 (39:4bd3)
; Scroll the scene, then show Suicune running across the screen.
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $40
@@ -82995,15 +73859,15 @@ IntroScene11: ; e4c86 (39:4c86)
ld a, $1
ld [rVBK], a ; $ff00+$4f
ld hl, IntroTilemap007
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld hl, IntroUnownsGFX
- ld de, $9000
+ ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroTilemap008
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, [rSVBK] ; $ff00+$70
push af
@@ -83029,7 +73893,7 @@ IntroScene11: ; e4c86 (39:4c86)
callba Function8cf53
call Functione549e
xor a
- ld [wcf64], a
+ ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
@@ -83037,7 +73901,7 @@ IntroScene11: ; e4c86 (39:4c86)
IntroScene12: ; e4cfa (39:4cfa)
; Even more Unown.
call Functione4d36
- ld hl, wcf64
+ ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $c0
@@ -83071,20 +73935,20 @@ IntroScene12: ; e4cfa (39:4cfa)
ret
Functione4d36: ; e4d36 (39:4d36)
- ld a, [wcf64]
+ ld a, [wIntroSceneFrameCounter]
ld c, a
- ld hl, Unknown_e4d54
-.asm_e4d3d
+ ld hl, .UnownSounds
+.loop
ld a, [hli]
- cp $ff
+ cp -1
ret z
cp c
- jr z, .asm_e4d48
+ jr z, .playsound
rept 2
inc hl
endr
- jr .asm_e4d3d
-.asm_e4d48
+ jr .loop
+.playsound
ld a, [hli]
ld d, [hl]
ld e, a
@@ -83095,7 +73959,7 @@ endr
ret
; e4d54 (39:4d54)
-Unknown_e4d54: ; e4d54
+.UnownSounds: ; e4d54
dbw $00, SFX_INTRO_UNOWN_3
dbw $20, SFX_INTRO_UNOWN_2
dbw $40, SFX_INTRO_UNOWN_1
@@ -83117,18 +73981,18 @@ IntroScene13: ; e4d6d (39:4d6d)
ld a, $1
ld [rVBK], a ; $ff00+$4f
ld hl, IntroTilemap003
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld hl, IntroSuicuneRunGFX
- ld de, $8000
+ ld de, VTiles0 tile $00
call Functione54de
ld hl, IntroBackgroundGFX
- ld de, $9000
+ ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroTilemap004
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, [rSVBK] ; $ff00+$70
push af
@@ -83221,22 +74085,22 @@ IntroScene15: ; e4e40 (39:4e40)
ld a, $1
ld [rVBK], a ; $ff00+$4f
ld hl, IntroTilemap009
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld hl, IntroSuicuneJumpGFX
- ld de, $9000
+ ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroUnownBackGFX
- ld de, $8000
+ ld de, VTiles0 tile $00
call Functione54c2
ld de, GFX_e7a5d
- ld hl, $8800
+ ld hl, VTiles1 tile $00
lb bc, BANK(GFX_e7a5d), 1
call Request2bpp
ld hl, IntroTilemap010
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
call Functione541b
ld a, [rSVBK] ; $ff00+$70
@@ -83303,15 +74167,15 @@ IntroScene17: ; e4ef5 (39:4ef5)
ld a, $1
ld [rVBK], a ; $ff00+$4f
ld hl, IntroTilemap011
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld hl, IntroSuicuneCloseGFX
- ld de, $8800
+ ld de, VTiles1 tile $00
call Functione54de
ld hl, IntroTilemap012
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, [rSVBK] ; $ff00+$70
push af
@@ -83369,22 +74233,22 @@ IntroScene19: ; e4f7e (39:4f7e)
ld a, $1
ld [rVBK], a ; $ff00+$4f
ld hl, IntroTilemap013
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld hl, IntroSuicuneBackGFX
- ld de, $9000
+ ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroUnownsGFX
- ld de, $8800
+ ld de, VTiles1 tile $00
call Functione54c2
ld de, GFX_e7a5d
- ld hl, $8ff0
+ ld hl, VTiles1 tile $7f
lb bc, BANK(GFX_e7a5d), 1
call Request2bpp
ld hl, IntroTilemap014
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
call Functione541b
ld a, [rSVBK] ; $ff00+$70
@@ -83545,15 +74409,15 @@ IntroScene26: ; e50bb (39:50bb)
ld a, $1
ld [rVBK], a ; $ff00+$4f
ld hl, IntroTilemap015
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld hl, IntroCrystalUnownsGFX
- ld de, $9000
+ ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroTilemap017
- ld de, $9800
+ ld de, VBGMap0 tile $00
call Functione54fa
ld a, [rSVBK] ; $ff00+$70
push af
@@ -83630,7 +74494,7 @@ IntroScene28: ; e5152 (39:5152)
ret
.done
- ld hl, wcf63
+ ld hl, wJumptableIndex
set 7, [hl]
ret
@@ -84024,7 +74888,7 @@ Functione5441: ; e5441 (39:5441)
Functione5451: ; e5451 (39:5451)
hlcoord 0, 0
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
.asm_e5457
ld a, [hl]
and a
@@ -84763,15 +75627,15 @@ Functionfb449:: ; fb449
Functionfb48a:: ; fb48a
ld de, GFX_f9214
- ld hl, $9600
+ ld hl, VTiles2 tile $60
lb bc, BANK(GFX_f9214), 1
call Functionddc
ld de, GFX_f8f24
- ld hl, $9620
+ ld hl, VTiles2 tile $62
lb bc, BANK(GFX_f8f24), 1
call Functiondc9
ld de, FontExtra + $30
- ld hl, $9630
+ ld hl, VTiles2 tile $63
lb bc, BANK(FontExtra), $16
call Functiondc9
jr Functionfb4cc
@@ -84779,16 +75643,16 @@ Functionfb48a:: ; fb48a
Functionfb4b0:: ; fb4b0
ld de, GFX_f9424
- ld hl, $9610
+ ld hl, VTiles2 tile $61
ld b, BANK(GFX_f9424)
ld c, 1
call Functiondc9
ret
; fb4be
-Functionfb4be:: ; fb4be
+_LoadFontsBattleExtra:: ; fb4be
ld de, FontBattleExtra
- ld hl, $9600
+ ld hl, VTiles2 tile $60
lb bc, BANK(FontBattleExtra), $19
call Functiondc9
jr Functionfb4cc
@@ -84802,10 +75666,10 @@ Functionfb4cc: ; fb4cc
call AddNTimes
ld d, h
ld e, l
- ld hl, $9790
+ ld hl, VTiles2 tile $79
lb bc, BANK(Frames), 6
call Functionddc
- ld hl, $97f0
+ ld hl, VTiles2 tile $7f
ld de, GFX_f9204
lb bc, BANK(GFX_f9204), 1
call Functionddc
@@ -84814,10 +75678,10 @@ Functionfb4cc: ; fb4cc
Functionfb4f2: ; fb4f2
ld de, FontBattleExtra
- ld hl, $9600
+ ld hl, VTiles2 tile $60
lb bc, BANK(FontBattleExtra), $c
call Functiondc9
- ld hl, $9700
+ ld hl, VTiles2 tile $70
ld de, FontBattleExtra + $100
lb bc, BANK(FontBattleExtra), 3
call Functiondc9
@@ -84825,46 +75689,46 @@ Functionfb4f2: ; fb4f2
Functionfb50d: ; fb50d
ld de, GFX_f8ac0
- ld hl, $96c0
+ ld hl, VTiles2 tile $6c
lb bc, BANK(GFX_f8ac0), 4
call Functionddc
ld de, GFX_f8ae0
- ld hl, $9730
+ ld hl, VTiles2 tile $73
lb bc, BANK(GFX_f8ae0), 6
call Functionddc
ld de, GFX_f8b10
- ld hl, $9550
+ ld hl, VTiles2 tile $55
lb bc, BANK(GFX_f8b10), 9
call Functiondc9
ld de, GFX_f9214 + $90
- ld hl, $95e0
+ ld hl, VTiles2 tile $5e
lb bc, BANK(GFX_f9214), 2
call Functiondc9
ret
; fb53e
Functionfb53e: ; fb53e
- call Functionfb4be
+ call _LoadFontsBattleExtra
ld de, GFX_f8ac0
- ld hl, $96c0
+ ld hl, VTiles2 tile $6c
lb bc, BANK(GFX_f8ac0), 4
call Functionddc
ld de, GFX_f8ae0
- ld hl, $9780
+ ld hl, VTiles2 tile $78
lb bc, BANK(GFX_f8ae0), 1
call Functionddc
ld de, GFX_f8ae0 + $18
- ld hl, $9760
+ ld hl, VTiles2 tile $76
lb bc, BANK(GFX_f8ae0), 2
call Functionddc
ld de, GFX_f8b10
- ld hl, $9550
+ ld hl, VTiles2 tile $55
lb bc, BANK(GFX_f8b10), 8
call Functiondc9
Functionfb571: ; fb571
ld de, GFX_f89b0
- ld hl, $9310
+ ld hl, VTiles2 tile $31
lb bc, BANK(GFX_f89b0), $11
call Functiondc9
ret
@@ -84896,8 +75760,8 @@ Functionfb57e: ; fb57e
ld a, [hl]
cp 101
jr nc, .asm_fb5db
- ld a, [InLinkBattle]
- cp $1
+ ld a, [wLinkMode]
+ cp LINK_TIMECAPSULE
jr nz, .asm_fb5d9
ld hl, OTPartySpecies
ld a, [wd003]
@@ -85706,7 +76570,7 @@ TRADE_AFTER EQU 4
NPCTrade:: ; fcba8
ld a, e
- ld [wcf63], a
+ ld [wJumptableIndex], a
call Functionfcc59
ld b, CHECK_FLAG
call TradeFlagAction
@@ -85760,8 +76624,8 @@ NPCTrade:: ; fcba8
; fcc07
Functionfcc07: ; fcc07
- call Function2ed3
- ld a, [wcf63]
+ call DisableSpriteUpdates
+ ld a, [wJumptableIndex]
push af
ld a, [wcf64]
push af
@@ -85769,7 +76633,7 @@ Functionfcc07: ; fcc07
pop af
ld [wcf64], a
pop af
- ld [wcf63], a
+ ld [wJumptableIndex], a
call Function2b74
ret
; fcc23
@@ -85805,7 +76669,7 @@ CheckTradeGender: ; fcc23
TradeFlagAction: ; fcc4a
ld hl, wd960
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
ld c, a
predef FlagPredef
ld a, c
@@ -85987,7 +76851,7 @@ Functionfcc63: ; fcc63
GetTradeAttribute: ; 0xfcdc2
ld d, 0
push de
- ld a, [wcf63]
+ ld a, [wJumptableIndex]
and $f
swap a
ld e, a
@@ -86306,8 +77170,8 @@ TradeAfterText3: ; 0xfcfe7
; 0xfcfec
-Functionfcfec:: ; fcfec
- ld a, [wd45c]
+MomTriesToBuySomething:: ; fcfec
+ ld a, [wMapReentryScriptQueueFlag]
and a
ret nz
call GetMapHeaderPhoneServiceNybble
@@ -86321,14 +77185,14 @@ Functionfcfec:: ; fcfec
ret nc
ld b, BANK(UnknownScript_0xfd00f)
ld de, UnknownScript_0xfd00f
- callba Function97c4f
+ callba LoadScriptBDE
scf
ret
; fd00f
UnknownScript_0xfd00f: ; 0xfd00f
callasm Functionfd017
- farjump UnknownScript_0x90241
+ farjump Script_ReceivePhoneCall
; 0xfd017
Functionfd017: ; fd017
@@ -86605,7 +77469,7 @@ Function104000:: ; 104000
Function104006: ; 104006
decoord 0, 0, AttrMap
- ld hl, w6_d000 + $400
+ ld hl, w6_d400
call Function104263
decoord 0, 0
ld hl, w6_d000
@@ -86616,7 +77480,7 @@ Function104006: ; 104006
call Function10419d
ld a, $1
ld [rVBK], a
- ld hl, w6_d000 + $400
+ ld hl, w6_d400
call Function10419d
ret
; 10402d
@@ -86644,11 +77508,11 @@ Function104047: ; 104047
Function10404d: ; 10404d
decoord 0, 0, AttrMap
- ld hl, $d400
+ ld hl, w6_d400
call Function104263
ld a, $1
ld [rVBK], a ; $ff00+$4f
- ld hl, $d400
+ ld hl, w6_d400
call Function10419d
ret
; 104061
@@ -86660,7 +77524,7 @@ Function104061:: ; 104061
Function104067: ; 104067
decoord 0, 0, AttrMap
- ld hl, $d400
+ ld hl, w6_d400
call Function104263
decoord 0, 0
ld hl, w6_d000
@@ -86671,7 +77535,7 @@ Function104067: ; 104067
push af
ld a, $1
ld [rVBK], a ; $ff00+$4f
- ld hl, $d400
+ ld hl, w6_d400
call Function1041ad
ld a, $0
ld [rVBK], a ; $ff00+$4f
@@ -86690,7 +77554,7 @@ Function104099: ; 104099
Function1040a2: ; 1040a2
decoord 0, 0, AttrMap
- ld hl, $d400
+ ld hl, w6_d400
call Function104263
decoord 0, 0
ld hl, w6_d000
@@ -86701,7 +77565,7 @@ Function1040a2: ; 1040a2
push af
ld a, $1
ld [rVBK], a
- ld hl, $d400
+ ld hl, w6_d400
call Function1041c1
ld a, $0
ld [rVBK], a
@@ -86724,7 +77588,7 @@ Function1040da: ; 1040da
ld a, $3
ld [rSVBK], a
ld de, $d800
- ld a, [$ffd7]
+ ld a, [hBGMapAddress + 1]
ld [rHDMA1], a
ld a, [hBGMapAddress]
ld [rHDMA2], a
@@ -86760,7 +77624,7 @@ Function104110:: ; 104110
Function104116: ; 104116
decoord 0, 0, AttrMap
- ld hl, $d400
+ ld hl, w6_d400
call Function104263
decoord 0, 0
ld hl, w6_d000
@@ -86771,7 +77635,7 @@ Function104116: ; 104116
push af
ld a, $1
ld [rVBK], a ; $ff00+$4f
- ld hl, $d400
+ ld hl, w6_d400
call Function1041b7
ld a, $0
ld [rVBK], a ; $ff00+$4f
@@ -86790,7 +77654,7 @@ Function104148: ; 104148 (41:4148)
Function10414e: ; 10414e
decoord 0, 0, AttrMap
- ld hl, $d400
+ ld hl, w6_d400
call Function104263
ld c, $ff
decoord 0, 0
@@ -86798,7 +77662,7 @@ Function10414e: ; 10414e
call Function104265
ld a, $1
ld [rVBK], a
- ld hl, $d400
+ ld hl, w6_d400
call Function1041ad
ld a, $0
ld [rVBK], a
@@ -86817,7 +77681,7 @@ Function104177: ; 104177
ld [$ffde], a
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, 6
ld [rSVBK], a
ld a, [rVBK]
push af
@@ -86852,7 +77716,7 @@ Function1041a4: ; 104a14
ret
Function1041ad: ; 1041ad (41:41ad)
- ld a, [$ffd7]
+ ld a, [hBGMapAddress + 1]
ld d, a
ld a, [hBGMapAddress] ; $ff00+$d6
ld e, a
@@ -86860,7 +77724,7 @@ Function1041ad: ; 1041ad (41:41ad)
jr Function104209
Function1041b7: ; 1041b7 (41:41b7)
- ld a, [$ffd7]
+ ld a, [hBGMapAddress + 1]
ld d, a
ld a, [hBGMapAddress] ; $ff00+$d6
ld e, a
@@ -86869,7 +77733,7 @@ Function1041b7: ; 1041b7 (41:41b7)
; 1041c1 (41:41c1)
Function1041c1: ; 1041c1
- ld a, [$ffd7]
+ ld a, [hBGMapAddress + 1]
ld d, a
ld a, [hBGMapAddress]
ld e, a
@@ -86892,25 +77756,25 @@ Function1041c1: ; 1041c1
ld a, $7f
sub c
ld d, a
-.asm_1041e4
+.loop1
ld a, [rLY]
cp d
- jr nc, .asm_1041e4
-.asm_1041e9
+ jr nc, .loop1
+.loop2
ld a, [rSTAT]
and $3
- jr z, .asm_1041e9
+ jr z, .loop2
ld a, b
ld [rHDMA5], a
ld a, [rLY]
inc c
ld hl, rLY
-.asm_1041f8
+.loop3
cp [hl]
- jr z, .asm_1041f8
+ jr z, .loop3
ld a, [hl]
dec c
- jr nz, .asm_1041f8
+ jr nz, .loop3
ld hl, rHDMA5
res 7, [hl]
ret
@@ -86921,54 +77785,57 @@ asm_104205:
jr asm_10420b
-Function104209: ; 104209
+Function104209:
+; LY magic
ld b, $7f
asm_10420b:
ld a, h
ld [rHDMA1], a
ld a, l
- and $f0
+ and $f0 ; high nybble
ld [rHDMA2], a
ld a, d
- and $1f
+ and $1f ; lower 5 bits
ld [rHDMA3], a
ld a, e
- and $f0
+ and $f0 ; high nybble
ld [rHDMA4], a
ld a, c
dec c
- or $80
+ or $80 ; set 7, a
ld e, a
ld a, b
sub c
ld d, a
-.asm_104225
+.ly_loop
ld a, [rLY]
cp d
- jr nc, .asm_104225
+ jr nc, .ly_loop
+
di
-.asm_10422b
+.rstat_loop_1
ld a, [rSTAT]
and $3
- jr nz, .asm_10422b
-.asm_104231
+ jr nz, .rstat_loop_1
+.rstat_loop_2
ld a, [rSTAT]
and $3
- jr z, .asm_104231
+ jr z, .rstat_loop_2
ld a, e
ld [rHDMA5], a
ld a, [rLY]
inc c
ld hl, rLY
-.asm_104240
+.final_ly_loop
cp [hl]
- jr z, .asm_104240
+ jr z, .final_ly_loop
ld a, [hl]
dec c
- jr nz, .asm_104240
+ jr nz, .final_ly_loop
ld hl, rHDMA5
res 7, [hl]
ei
+
ret
; 10424e
@@ -86978,7 +77845,7 @@ Function10424e: ; 10424e (41:424e)
ld [rHDMA1], a ; $ff00+$51
ld a, l
ld [rHDMA2], a ; $ff00+$52
- ld a, [$ffd7]
+ ld a, [hBGMapAddress + 1]
and $1f
ld [rHDMA3], a ; $ff00+$53
ld a, [hBGMapAddress] ; $ff00+$d6
@@ -86993,76 +77860,95 @@ Function104263: ; 104263 (41:4263)
ld c, $0
Function104265: ; 104265 (41:4265)
+; back up the value of c to hConnectionStripLength
ld a, [hConnectionStripLength]
push af
ld a, c
ld [hConnectionStripLength], a
- ld c, $12
-.asm_10426d
- ld b, $14
-.asm_10426f
+
+; for each row on the screen
+ ld c, SCREEN_HEIGHT
+.loop1
+; for each tile in the row
+ ld b, SCREEN_WIDTH
+.loop2
+; copy from de to hl
ld a, [de]
inc de
ld [hli], a
dec b
- jr nz, .asm_10426f
+ jr nz, .loop2
+
+; load the original value of c into hl 12 times
ld a, [hConnectionStripLength]
- ld b, $c
-.asm_104279
+ ld b, 12
+.loop3
ld [hli], a
dec b
- jr nz, .asm_104279
+ jr nz, .loop3
+
dec c
- jr nz, .asm_10426d
+ jr nz, .loop1
+
+; restore the original value of hConnectionStripLength
pop af
ld [hConnectionStripLength], a
ret
Function104284:: ; 104284
+ ; switch to WRAM bank 6
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
+
push bc
push hl
- ld a, b
- ld l, c
+
+ ; Copy c tiles of the 2bpp from b:de to w6_d000
+ ld a, b ; bank
+ ld l, c ; number of tiles
ld h, $0
rept 4
- add hl, hl
+ add hl, hl ; multiply by 16 (16 bytes of a 2bpp = 8 x 8 tile)
endr
ld b, h
ld c, l
- ld h, d
+ ld h, d ; address
ld l, e
ld de, w6_d000
call FarCopyBytes
+
pop hl
pop bc
+
push bc
call DelayFrame
pop bc
+
ld d, h
ld e, l
ld hl, w6_d000
call Function104209
+
+ ; restore the previous bank
pop af
ld [rSVBK], a
ret
; 1042b2
Function1042b2:: ; 1042b2
-.asm_1042b2
+.loop
ld a, c
cp $10
- jp c, Function1042d6
- jp z, Function1042d6
+ jp c, .asm_1042d6
+ jp z, .asm_1042d6
push bc
push hl
push de
ld c, $10
- call Function1042d6
+ call .asm_1042d6
pop de
ld hl, $0080
add hl, de
@@ -87075,10 +77961,10 @@ Function1042b2:: ; 1042b2
ld a, c
sub $10
ld c, a
- jr .asm_1042b2
+ jr .loop
; 1042d6
-Function1042d6: ; 1042d6
+.asm_1042d6: ; 1042d6
ld a, [rSVBK]
push af
ld a, $6
@@ -87127,13 +78013,13 @@ Function104309:
ld [rVBK], a ; $ff00+$4f
ld c, $8
ld hl, w6_d000 + $80
- ld de, $9c00
+ ld de, VBGMap1 tile $00
call Function104209
ld a, $0
ld [rVBK], a ; $ff00+$4f
ld c, $8
ld hl, w6_d000
- ld de, $9c00
+ ld de, VBGMap1 tile $00
call Function104209
ret
@@ -87428,13 +78314,13 @@ Function104770: ; 104770 (41:4770)
ld [rVBK], a ; $ff00+$4f
xor a
ld bc, $400
- ld hl, $9800
+ ld hl, VBGMap0 tile $00
call ByteFill
pop af
ld [rVBK], a ; $ff00+$4f
ld a, $60
ld bc, $400
- ld hl, $9800
+ ld hl, VBGMap0 tile $00
call ByteFill
ret
@@ -87449,7 +78335,7 @@ Function1047a3: ; 1047a3 (41:47a3)
ld [rVBK], a ; $ff00+$4f
Function1047b4: ; 1047b4 (41:47b4)
- ld hl, $9800
+ ld hl, VBGMap0 tile $00
ld c, $14
ld b, $12
.asm_1047bb
@@ -87492,23 +78378,23 @@ RefreshMapSprites: ; 1047f0
call Function2914
callba Function579d
callba Function154f7
- ld hl, wd45b
+ ld hl, wPlayerSpriteSetupFlags
bit 6, [hl]
jr nz, .asm_104817
ld hl, VramState
set 0, [hl]
call Function2e31
.asm_104817
- ld a, [wd45b]
+ ld a, [wPlayerSpriteSetupFlags]
and $1c
- ld [wd45b], a
+ ld [wPlayerSpriteSetupFlags], a
ret
CheckMovingOffEdgeOfMap:: ; 104820 (41:4820)
ld a, [wd151]
cp STANDING
ret z
- and a
+ and a ; DOWN
jr z, .down
cp UP
jr z, .up
@@ -87668,7 +78554,7 @@ DoMysteryGift: ; 1048ba (41:48ba)
jr z, .asm_104963
call Function104a71
callba Function10619d
- callba Function1060a9
+ callba MobileFn_1060a9
callba Function106187
.asm_104963
ld a, [wc90f]
@@ -87691,7 +78577,7 @@ DoMysteryGift: ; 1048ba (41:48ba)
jr Function1049c5
.item
- call Function105106
+ call GetMysteryGiftBank
ld a, [wc910]
ld c, a
callba MysteryGiftGetItem
@@ -87775,13 +78661,13 @@ UnknownText_0x104a20: ; 104a20
; 104a25
Function104a25: ; 104a25 (41:4a25)
- call Function105106
+ call GetMysteryGiftBank
ld a, [s0_abe5]
cp $5
jp CloseSRAM
Function104a30: ; 104a30 (41:4a30)
- call Function105106
+ call GetMysteryGiftBank
ld a, [wc901]
ld b, a
ld a, [wc902]
@@ -87809,11 +78695,11 @@ Function104a30: ; 104a30 (41:4a30)
jp CloseSRAM
Function104a56: ; 104a56 (41:4a56)
- call Function105106
+ call GetMysteryGiftBank
ld hl, s0_abe5
ld a, [hl]
inc [hl]
- ld hl, s0_abe6
+ ld hl, s0_abe6 ; inc hl
ld e, a
ld d, $0
rept 2
@@ -87826,7 +78712,7 @@ endr
jp CloseSRAM
Function104a71: ; 104a71 (41:4a71)
- call Function105106
+ call GetMysteryGiftBank
ld a, $1
ld [sMysteryGiftTrainerHouseFlag], a
ld hl, wc903
@@ -88693,7 +79579,7 @@ endr
ret
Function105069: ; 105069 (41:5069)
- call Function105106
+ call GetMysteryGiftBank
ld d, $0
ld b, $2
ld hl, s0_abf0
@@ -88707,7 +79593,7 @@ Function105069: ; 105069 (41:5069)
pop bc
pop hl
ret nz
- call Function105106
+ call GetMysteryGiftBank
ld b, $1
predef FlagPredef
call CloseSRAM
@@ -88715,7 +79601,7 @@ Function105069: ; 105069 (41:5069)
ret
Function105091: ; 105091 (41:5091)
- call Function105106
+ call GetMysteryGiftBank
ld c, $0
.asm_105096
push bc
@@ -88738,7 +79624,7 @@ Function105091: ; 105091 (41:5091)
jp CloseSRAM
Special_UnlockMysteryGift: ; 1050b9
- call Function105106
+ call GetMysteryGiftBank
ld hl, s0_abe3
ld a, [hl]
inc a
@@ -88750,19 +79636,19 @@ Special_UnlockMysteryGift: ; 1050b9
; 1050c8
Function1050c8: ; 1050c8
- call Function105106
+ call GetMysteryGiftBank
ld a, [s0_abe5]
cp $ff
- jr z, .asm_1050d6
+ jr z, .okay
xor a
ld [s0_abe5], a
-.asm_1050d6
+.okay
jp CloseSRAM
; 1050d9
Function1050d9: ; 1050d9
- call Function105106
+ call GetMysteryGiftBank
ld hl, sMysteryGiftItem
ld de, s0_abe4
ld a, [hli]
@@ -88775,7 +79661,7 @@ Function1050d9: ; 1050d9
Function1050ea: ; 1050ea (41:50ea)
- call Function105106
+ call GetMysteryGiftBank
ld hl, s0_abe4
ld de, sMysteryGiftItem
ld a, [hli]
@@ -88796,7 +79682,7 @@ Function1050fb: ; 1050fb (41:50fb)
ret
-Function105106: ; 105106
+GetMysteryGiftBank: ; 105106
ld a, BANK(s0_abe4)
jp GetSRAMBank
; 10510b
@@ -88851,16 +79737,16 @@ Function105153: ; 105153 (41:5153)
call WhiteBGMap
call DisableLCD
ld hl, MysteryGiftGFX
- ld de, $9000
+ ld de, VTiles2 tile $00
ld a, BANK(MysteryGiftGFX)
- ld bc, $430
+ ld bc, Function105688 - MysteryGiftGFX
call FarCopyBytes
hlcoord 0, 0
ld a, $42
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
call ByteFill
hlcoord 3, 7
- ld bc, $90f
+ lb bc, 9, 15
call ClearBox
hlcoord 0, 0
ld a, $0
@@ -89126,7 +80012,7 @@ Function10578c: ; 10578c (41:578c)
ld hl, sPlayerData + PlayerID - wPlayerData
ld bc, 2
call CopyBytes
- ld hl, sPlayerData + wd84a - wPlayerData
+ ld hl, sPlayerData + wSecretID - wPlayerData
ld bc, 2
call CopyBytes
call CloseSRAM
@@ -89150,18 +80036,18 @@ Function1057d7: ; 1057d7 (41:57d7)
call WhiteBGMap
call DisableLCD
ld hl, MysteryGiftJP_GFX
- ld de, $9000
+ ld de, VTiles2 tile $00
ld a, BANK(MysteryGiftJP_GFX)
ld bc, $400
call FarCopyBytes
ld hl, MysteryGiftJP_GFX + $400
- ld de, $8000
+ ld de, VTiles0 tile $00
ld a, BANK(MysteryGiftJP_GFX)
ld bc, $80
call FarCopyBytes
hlcoord 0, 0
ld a, $3f
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
call ByteFill
hlcoord 3, 7
ld bc, $90f
@@ -89749,7 +80635,7 @@ MagikarpLength_Mobile: mobile ; 105f33
ret
; 105f79
-Function105f79: mobile ; 105f79
+MobileFn_105f79: mobile ; 105f79
ld a, $5
call GetSRAMBank
ld a, [hProduct]
@@ -89778,7 +80664,7 @@ Function105f79: mobile ; 105f79
ret
; 105f9f
-Function105f9f: mobile ; 105f9f
+MobileFn_105f9f: mobile ; 105f9f
ld a, $5
call GetSRAMBank
ld hl, $a070
@@ -89815,7 +80701,7 @@ Function105f9f: mobile ; 105f9f
ret
; 105fd0
-Function105fd0: mobile ; 105fd0
+MobileFn_105fd0: mobile ; 105fd0
ld a, $5
call GetSRAMBank
ld hl, $a06f
@@ -89827,7 +80713,7 @@ Function105fd0: mobile ; 105fd0
ret
; 105fe3
-Function105fe3: mobile ; 105fe3
+MobileFn_105fe3: mobile ; 105fe3
ld a, $5
call GetSRAMBank
ld hl, $a076
@@ -89855,7 +80741,7 @@ endr
ret
; 106008
-Function106008: mobile ; 106008
+MobileFn_106008: mobile ; 106008
ld a, $5
call GetSRAMBank
ld hl, $a07a
@@ -89885,11 +80771,11 @@ endr
ret
; 10602e
-Function10602e: mobile ; 10602e (41:602e)
+MobileFn_10602e: mobile ; 10602e (41:602e)
ld hl, $a010
jp Function106117
-Function106035: mobile ; 106035
+MobileFn_106035: mobile ; 106035
ld a, $5
call GetSRAMBank
ld a, [$aa8d]
@@ -89899,29 +80785,29 @@ Function106035: mobile ; 106035
ld hl, $a014
jp Function106123
-Function106049: mobile ; 106049
+MobileFn_106049: mobile ; 106049
ld hl, $a018
jp Function10611d
-Function106050: mobile ; 106050
+MobileFn_106050: mobile ; 106050
ld a, [BattleType]
cp BATTLETYPE_TUTORIAL
ret z
ld hl, $a01b
jp Function10611d
-Function10605d: mobile ; 10605d
+MobileFn_10605d: mobile ; 10605d
ld a, [BattleType]
cp BATTLETYPE_TUTORIAL
ret z
ld hl, $a01e
jp Function10611d
-Function10606a: mobile ; 10606a
+MobileFn_10606a: mobile ; 10606a
ld hl, $a021
jp Function10611d
-Function106071: mobile ; 106071
+MobileFn_106071: mobile ; 106071
ld hl, $a024
jp Function10611d
@@ -89929,23 +80815,23 @@ Mobile_HallOfFame:: mobile ; 0x106078
ld hl, $a027
jp Function10611d
-Function10607f: mobile ; 10607f (41:607f)
+MobileFn_10607f: mobile ; 10607f (41:607f)
ld hl, $a02a
jp Function10611d
-Function106086: mobile ; 106086
+MobileFn_106086: mobile ; 106086
ld hl, $a02d
jp Function10611d
-Function10608d: mobile ; 10608d (41:608d)
+MobileFn_10608d: mobile ; 10608d (41:608d)
ld hl, $a030
jp Function10611d
-Function106094: mobile ; 106094
+MobileFn_106094: mobile ; 106094
ld hl, $a033
jp Function10611d
-Function10609b: mobile ; 10609b
+MobileFn_10609b: mobile ; 10609b
ld hl, $a036
jp Function10611d
@@ -89953,76 +80839,76 @@ Mobile_HealParty: mobile ; 1060a2
ld hl, $a039
jp Function10611d
-Function1060a9: mobile ; 1060a9 (41:60a9)
+MobileFn_1060a9: mobile ; 1060a9 (41:60a9)
ld hl, $a03c
jr Function10611d
-Function1060af: mobile ; 1060af
+MobileFn_1060af: mobile ; 1060af
ld hl, $a03f
jr Function10611d
-Function1060b5: mobile ; 1060b5
+MobileFn_1060b5: mobile ; 1060b5
ld hl, $a042
jr Function10611d
-Function1060bb: mobile ; 1060bb
+MobileFn_1060bb: mobile ; 1060bb
ld hl, $a045
jr Function10611d
-Function1060c1: mobile ; 1060c1
+MobileFn_1060c1: mobile ; 1060c1
ld hl, $a048
jr Function10611d
-Function1060c7: mobile ; 1060c7
+MobileFn_1060c7: mobile ; 1060c7
ld hl, $a04b
jr Function10611d
-Function1060cd: mobile ; 1060cd
+MobileFn_1060cd: mobile ; 1060cd
ld hl, $a04e
jr Function106123
-Function1060d3: mobile ; 1060d3
+MobileFn_1060d3: mobile ; 1060d3
ld hl, $a051
jr Function10611d
-Function1060d9: mobile ; 1060df
+MobileFn_1060d9: mobile ; 1060df
ld hl, $a054
jr Function10611d
-Function1060df: mobile ; 1060df
+MobileFn_1060df: mobile ; 1060df
ld hl, $a057
jr Function10611d
-Function1060e5: mobile ; 1060e5
+MobileFn_1060e5: mobile ; 1060e5
ld a, [hBattleTurn]
and a
ret nz
ld hl, $a05a
jr Function10611d
-Function1060ef: mobile ; 1060ef
+MobileFn_1060ef: mobile ; 1060ef
ld hl, $a05d
jr Function10611d
-Function1060f5: mobile ; 1060f5
+MobileFn_1060f5: mobile ; 1060f5
ld hl, $a060
jr Function10611d
-Function1060fb: mobile ; 1060fb
+MobileFn_1060fb: mobile ; 1060fb
ld hl, $a063
jr Function10611d
-Function106101: mobile ; 106101
+MobileFn_106101: mobile ; 106101
ld hl, $a066
jr Function10611d
; 106107
-Function106107: mobile ; 106107
+MobileFn_106107: mobile ; 106107
ld hl, $a069
jr Function10611d
; 10610d
-Function10610d: mobile ; 10610d
+MobileFn_10610d: mobile ; 10610d
ld a, [hBattleTurn]
and a
ret nz
@@ -90088,7 +80974,7 @@ Function10612d: ; 10612d
ret
; 106155
-Function106155: mobile ; 106155
+MobileFn_106155: mobile ; 106155
ld a, $5
call GetSRAMBank
call Function106162
@@ -90403,7 +81289,7 @@ Function10630f: ; 10630f
ret
; 106314
-Function106314: mobile ; 106314
+MobileFn_106314: mobile ; 106314
ld a, $4
call GetSRAMBank
ld a, c
@@ -90575,7 +81461,7 @@ Function106403: ; 106403
or c
inc a
ld c, a
- call Function106314
+ call MobileFn_106314
ld a, [wcd25]
inc a
ld [wcd25], a
@@ -90593,7 +81479,7 @@ Function106403: ; 106403
.asm_106435
ld c, $0
- call Function106314
+ call MobileFn_106314
ld a, [wcd25]
inc a
ld [wcd25], a
@@ -90604,7 +81490,7 @@ Function106442: ; 106442
ld a, $36
call Function3e32
xor a
- ld [$ffe9], a
+ ld [hMobile], a
ld [$ffc9], a
ld a, [wcd25]
inc a
@@ -90630,20 +81516,20 @@ Function106463: ; 106463
Function106464:: ; 106464
ld de, GFX_f9214
- ld hl, $9600
+ ld hl, VTiles2 tile $60
lb bc, BANK(GFX_f9214), 1
call Get2bpp
ld de, GFX_f9424
- ld hl, $9610
+ ld hl, VTiles2 tile $61
lb bc, BANK(GFX_f9424), 1
call Get2bpp
ld de, GFX_106514
- ld hl, $9620
+ ld hl, VTiles2 tile $62
ld c, 9
ld b, BANK(GFX_106514)
call Get2bpp
ld de, $40b0
- ld hl, $96b0
+ ld hl, VTiles2 tile $6b
ld b, $f ; XXX no graphics at 0f:40b0
call Get2bpp
callba Functionfb4cc
@@ -90658,11 +81544,11 @@ Function10649b: ; 10649b
call AddNTimes
ld d, h
ld e, l
- ld hl, $9790
+ ld hl, VTiles2 tile $79
ld c, $6
ld b, BANK(Frames)
call Function1064c3
- ld hl, $97f0
+ ld hl, VTiles2 tile $7f
ld de, GFX_f9204
ld c, $1
ld b, BANK(GFX_f9204)
@@ -90738,7 +81624,7 @@ Function106594:: ; 106594
lb bc, BANK(GFX_1065ad), $80
call Get2bpp
ld de, GFX_1065ad + $800
- ld hl, $97f0
+ ld hl, VTiles2 tile $7f
lb bc, BANK(GFX_1065ad), 1
call Get2bpp
ret
@@ -90993,20 +81879,20 @@ Function1dc381: ; 1dc381
call ClearSprites
xor a
ld [hBGMapMode], a
- call Functione58
+ call LoadFontsBattleExtra
ld de, MobileHPIcon
- ld hl, $9710
+ ld hl, VTiles2 tile $71
lb bc, BANK(MobileHPIcon), 1
call Request1bpp
ld de, MobileLvIcon
- ld hl, $96e0
+ ld hl, VTiles2 tile $6e
lb bc, BANK(MobileLvIcon), 1
call Request1bpp
ld de, ShinyIcon
- ld hl, $93f0
+ ld hl, VTiles2 tile $3f
lb bc, BANK(ShinyIcon), 1
call Get2bpp
@@ -91093,7 +81979,7 @@ Function1dc47b: ; 1dc47b
call ClearSprites
xor a
ld [hBGMapMode], a
- call Functione58
+ call LoadFontsBattleExtra
xor a
ld [MonType], a
callba CopyPkmnToTempMon
@@ -91297,14 +82183,14 @@ INCLUDE "engine/diploma.asm"
Function1ddf1c: ; 1ddf1c
ld hl, LZ_1ddf33
- ld de, $9310
+ ld de, VTiles2 tile $31
call Decompress
ret
; 1ddf26
Function1ddf26: ; 1ddf26 (77:5f26)
ld hl, LZ_1ddf33
- ld de, $9310
+ ld de, VTiles2 tile $31
lb bc, BANK(LZ_1ddf33), $3a
call Functione73
ret
@@ -91422,14 +82308,14 @@ String_1de23c: ; 1de23c
Function1de247: ; 1de247
ld a, [hBGMapAddress]
ld l, a
- ld a, [$ffd7]
+ ld a, [hBGMapAddress + 1]
ld h, a
push hl
inc hl
ld a, l
ld [hBGMapAddress], a
ld a, h
- ld [$ffd7], a
+ ld [hBGMapAddress + 1], a
hlcoord 19, 0
ld [hl], $66
hlcoord 19, 1
@@ -91448,7 +82334,7 @@ Function1de247: ; 1de247
ld a, l
ld [hBGMapAddress], a
ld a, h
- ld [$ffd7], a
+ ld [hBGMapAddress + 1], a
ret
; 1de27f
@@ -91466,22 +82352,22 @@ Function1de27f: ; 1de27f
-Start_DudeAutoInput_A:: ; 1de28a
+_DudeAutoInput_A:: ; 1de28a
ld hl, DudeAutoInput_A
- jr CallStartAutoInput
+ jr _DudeAutoInput
; 1de28f
-Start_DudeAutoInput_RightA: ; 1de28f
+_DudeAutoInput_RightA: ; 1de28f
ld hl, DudeAutoInput_RightA
- jr CallStartAutoInput
+ jr _DudeAutoInput
; 1de294
-Start_DudeAutoInput_DownA: ; 1de294
+_DudeAutoInput_DownA: ; 1de294
ld hl, DudeAutoInput_DownA
- jr CallStartAutoInput
+ jr _DudeAutoInput
; 1de299
-CallStartAutoInput: ; 1de299
+_DudeAutoInput: ; 1de299
ld a, BANK(DudeAutoInputs)
call StartAutoInput
ret
@@ -91748,3 +82634,4 @@ ELSE
INCBIN "misc/stadium2_1.bin"
ENDC
+