summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2016-01-04 07:41:19 -0500
committeryenatch <yenatch@gmail.com>2016-01-04 07:41:19 -0500
commit0add51451cda9d4221af137f83e2429d3577310c (patch)
treefd05f8f0ad49d88b032dc9e10af85a42dfa0e402 /misc
parentda87d2a929b1d58175efe063833c124d8ba702c9 (diff)
parent2a263629a40e201b1702e2f4e65f1c61360cc2b2 (diff)
Merge pull request #330 from PikalaxALT/scriptmacrorenaming
Scriptmacrorenaming
Diffstat (limited to 'misc')
-rwxr-xr-xmisc/battle_tower_5c.asm593
-rw-r--r--misc/crystal_misc.asm2
-rwxr-xr-xmisc/fixed_words.asm615
-rwxr-xr-xmisc/gfx_41.asm600
-rwxr-xr-xmisc/mobile_12.asm167
-rwxr-xr-xmisc/mobile_12_2.asm937
-rw-r--r--misc/mobile_22.asm88
-rw-r--r--misc/mobile_22_2.asm21
-rw-r--r--misc/mobile_40.asm1159
-rwxr-xr-xmisc/mobile_41.asm30
-rw-r--r--misc/mobile_42.asm1035
-rw-r--r--misc/mobile_45.asm644
-rwxr-xr-xmisc/mobile_46.asm1724
-rwxr-xr-xmisc/mobile_5b.asm405
-rwxr-xr-xmisc/mobile_5c.asm110
-rw-r--r--misc/mobile_5f.asm284
-rwxr-xr-xmisc/mobile_menu.asm879
-rwxr-xr-xmisc/printer_77.asm356
18 files changed, 6092 insertions, 3557 deletions
diff --git a/misc/battle_tower_5c.asm b/misc/battle_tower_5c.asm
index 1c9c7436b..c975f4901 100755
--- a/misc/battle_tower_5c.asm
+++ b/misc/battle_tower_5c.asm
@@ -1,11 +1,12 @@
Function1700b0: ; 1700b0
- call Function17021e
+; special
+ call InitBattleTowerChallengeRAM
callba Function118121
ret
; 1700ba
Function1700ba: ; 1700ba
- call Function17021e
+ call InitBattleTowerChallengeRAM
callba Function11811a
ret
; 1700c4
@@ -17,21 +18,22 @@ Function1700c4: ; 1700c4
ld [rSVBK], a
call Function17042c
+
ld a, $5
call GetSRAMBank
ld a, $1
ld [$be45], a
xor a
ld [$be46], a
- ld hl, $dffc
+ ld hl, w3_dffc
ld de, $aa41
- ld bc, $0004
+ ld bc, 4
call CopyBytes
- ld hl, $d202
+ ld hl, w3_d202Name
ld de, $aa8e
- ld bc, $0594
+ ld bc, 7 * $cc ; length of battle tower struct from japanese games?
call CopyBytes
- ld hl, $aa5d
+ ld hl, $aa5d ; some sort of count
ld a, [hl]
inc [hl]
inc hl
@@ -42,8 +44,8 @@ Function1700c4: ; 1700c4
add hl, de
ld e, l
ld d, h
- ld hl, $dffc
- ld bc, $0004
+ ld hl, w3_dffc
+ ld bc, 4
call CopyBytes
call CloseSRAM
pop af
@@ -52,18 +54,18 @@ Function1700c4: ; 1700c4
; 170114
Function170114: ; 170114
- call Function17021e
- call Function170121
+ call InitBattleTowerChallengeRAM
+ call .Function170121
callba Function11805f
ret
; 170121
-Function170121: ; 170121
+.Function170121: ; 170121
ld a, $5
call GetSRAMBank
ld hl, $a948
- ld de, $c608
- ld bc, $00f6
+ ld de, wMisc
+ ld bc, $f6 ; 246
call CopyBytes
call CloseSRAM
call Function170c8b
@@ -71,27 +73,29 @@ Function170121: ; 170121
; 170139
Function170139: ; 170139
+; Convert the 4-digit decimal number at 5:aa41 into binary
ld a, $5
call GetSRAMBank
ld de, $aa41
ld h, $0
ld l, h
- ld bc, $03e8
- call Function17020c
- ld bc, $0064
- call Function17020c
- ld bc, $000a
- call Function17020c
+ ld bc, 1000
+ call .DecToBin
+ ld bc, 100
+ call .DecToBin
+ ld bc, 10
+ call .DecToBin
ld a, [de]
ld c, a
ld b, $0
add hl, bc
call CloseSRAM
+; Store that number in wMisc
ld a, h
- ld [$c608], a
+ ld [wMisc], a
ld a, l
- ld [$c608 + 1], a
- ld hl, $c628
+ ld [wMisc + 1], a
+ ld hl, wBT_OTTempPkmn1DVs
ld a, [PlayerID]
ld [hli], a
ld a, [PlayerID + 1]
@@ -103,31 +107,31 @@ Function170139: ; 170139
ld e, l
ld d, h
ld hl, PlayerName
- ld bc, $0005 ; Japanese name length
+ ld bc, 5 ; Japanese name length
call CopyBytes
ld bc, PlayerID
ld de, PlayerGender
callba Function4e929
- ld de, $c62c + 5
+ ld de, wBT_OTTempPkmn1CaughtGender
ld a, c
ld [de], a
inc de
- ld a, $df
+ ld a, PartyMons % $100
ld [wcd49], a
- ld a, $dc
+ ld a, PartyMons / $100
ld [wcd4a], a
- ld a, $41
+ ld a, PartyMonNicknames % $100
ld [wcd4b], a
- ld a, $de
+ ld a, PartyMonNicknames / $100
ld [wcd4c], a
- ld a, $3
-.asm_1701ac
+ ld a, 3
+.CopyLoop
push af
ld a, [wcd49]
ld l, a
ld a, [wcd4a]
ld h, a
- ld bc, $0030
+ ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
ld a, l
ld [wcd49], a
@@ -145,42 +149,42 @@ Function170139: ; 170139
ld [wcd4c], a
pop af
dec a
- jr nz, .asm_1701ac
+ jr nz, .CopyLoop
ld a, $4
call GetSRAMBank
ld hl, $a013
- ld bc, $0024
+ ld bc, $24
call CopyBytes
call CloseSRAM
ld a, $5
call GetSRAMBank
ld hl, $a894
- ld bc, $0006
+ ld bc, 6
call CopyBytes
- ld hl, $c608
+ ld hl, wMisc
ld de, $a948
- ld bc, $00f6
+ ld bc, $f6
call CopyBytes
call CloseSRAM
ret
; 17020c
-Function17020c: ; 17020c
+.DecToBin: ; 17020c
ld a, [de]
inc de
and a
ret z
-.loop
+.digit_loop
add hl, bc
dec a
- jr nz, .loop
+ jr nz, .digit_loop
ret
; 170215
BattleTowerBattle: ; 170215
xor a
- ld [wcf63], a
+ ld [wBattleTowerBattleEnded], a
call _BattleTowerBattle
ret
; 17021d
@@ -189,10 +193,10 @@ EmptySpecial_17021d: ; 17021d
ret
; 17021e
-Function17021e: ; 17021e
+InitBattleTowerChallengeRAM: ; 17021e
xor a
- ld [wcf63], a
- ld [wcf64], a
+ ld [wBattleTowerBattleEnded], a
+ ld [wNrOfBeatenBattleTowerTrainers], a
ld [wcf65], a
ld [wcf66], a
ret
@@ -200,19 +204,19 @@ Function17021e: ; 17021e
_BattleTowerBattle: ; 17022c
.loop
- call .do_jumptable
+ call .do_dw
call DelayFrame
- ld a, [wcf63]
+ ld a, [wBattleTowerBattleEnded]
cp $1
jr nz, .loop
ret
; 17023a
-.do_jumptable: ; 17023a
- ld a, [wcf63]
+.do_dw: ; 17023a
+ ld a, [wBattleTowerBattleEnded]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -222,7 +226,7 @@ endr
jp [hl]
; 170249
-.jumptable: ; 170249
+.dw: ; 170249
dw RunBattleTowerTrainer
dw SkipBattleTowerTrainer
; 17024d
@@ -256,10 +260,10 @@ RunBattleTowerTrainer: ; 17024d
ld a, BANK(sNrOfBeatenBattleTowerTrainers)
call GetSRAMBank
ld a, [sNrOfBeatenBattleTowerTrainers]
- ld [wNrOfBeatenBattleTowerTrainers], a ; wcf64
+ ld [wNrOfBeatenBattleTowerTrainers], a
call CloseSRAM
ld hl, StringBuffer3
- ld a, [wNrOfBeatenBattleTowerTrainers] ; wcf64
+ ld a, [wNrOfBeatenBattleTowerTrainers]
add "1"
ld [hli], a
ld a, "@"
@@ -271,7 +275,7 @@ RunBattleTowerTrainer: ; 17024d
pop af
ld [Options], a
ld a, $1
- ld [wcf63], a
+ ld [wBattleTowerBattleEnded], a
ret
@@ -479,7 +483,7 @@ endr
ld e, l
push hl
push de
- ld hl, MON_EXP + 2
+ ld hl, MON_STAT_EXP - 1
add hl, bc
ld b, $1
predef CalcPkmnStats
@@ -508,7 +512,7 @@ BT_ChrisName: ; 170426
Function17042c: ; 17042c
ld hl, w3_d202TrainerData
- ld a, 7
+ ld a, BATTLETOWER_NROFTRAINERS
.loop
push af
push hl
@@ -521,7 +525,7 @@ Function17042c: ; 17042c
ld a, [hli]
and a
jr z, .empty
- cp $f
+ cp 15
jr nc, .copy_data
push hl
@@ -615,7 +619,7 @@ CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2
ld [rSVBK], a
ld hl, BT_OTTrainer ; $d100
- ld de, wBT_OTTemp ; $c608
+ ld de, wBT_OTTemp ; wMisc
ld bc, BATTLE_TOWER_STRUCT_LENGTH
call CopyBytes
@@ -624,7 +628,7 @@ CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
- ld a, $2
+ ld a, BATTLETOWER_CHALLENGE_IN_PROGESS
ld [sBattleTowerChallengeState], a
ld hl, sNrOfBeatenBattleTowerTrainers
inc [hl]
@@ -632,7 +636,9 @@ CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2
SkipBattleTowerTrainer: ; 1704c9
ret
; 1704ca
+
Function1704ca: ; 1704ca
+; unreferenced mobile function
ld a, [$be46]
cp $7
jr c, .asm_1704d3
@@ -653,36 +659,37 @@ Function1704ca: ; 1704ca
; 1704e1
Function1704e1: ; 1704e1
+; unreferenced special
call SpeechTextBox
call FadeToMenu
- call Function17021e
- call Function1704f1
- call ReturnToCallingMenu
+ call InitBattleTowerChallengeRAM
+ call .JumptableLoop
+ call CloseSubmenu
ret
; 1704f1
-Function1704f1: ; 1704f1
+.JumptableLoop: ; 1704f1
call ClearBGPalettes
call ClearSprites
call ClearScreen
-.asm_1704fa
+.loop
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_17050f
- call Function170510
+ jr nz, .done
+ call .DoJumptable
callba ReloadMapPart
- jr .asm_1704fa
+ jr .loop
-.asm_17050f
+.done
ret
; 170510
-Function170510: ; 170510
+.DoJumptable: ; 170510
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, Jumptable_17051f
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -692,23 +699,23 @@ endr
jp [hl]
; 17051f
-Jumptable_17051f: ; 17051f
- dw Function170525
- dw Function170571
- dw Function170577
+.dw: ; 17051f
+ dw .Jumptable_0
+ dw .Jumptable_1
+ dw .Jumptable_2
; 170525
-Function170525: ; 170525
+.Jumptable_0: ; 170525
ld a, $5
call GetSRAMBank
ld hl, $a89c
ld de, StringBuffer3
- ld bc, $0016
+ ld bc, $16
call CopyBytes
ld hl, $a8b2
- ld de, $c608
+ ld de, wMisc
ld bc, $0096
call CopyBytes
@@ -717,118 +724,118 @@ Function170525: ; 170525
ld de, StringBuffer3
call PlaceString
hlcoord 1, 3
- ld de, String_170676
+ ld de, .String_Mail
call PlaceString
hlcoord 4, 3
ld de, StringBuffer4
call PlaceString
hlcoord 8, 3
- ld de, String_17067a
+ ld de, .String_PastReaders
call PlaceString
- call Function1705b7
- call Function1705f0
- jr Function1705b2
+ call .DrawBorder
+ call .PlaceTextItems
+ jr .NextJumptableFunction
-Function170571:
+.Jumptable_1:
call SetPalettes
- call Function1705b2
+ call .NextJumptableFunction
-Function170577:
+.Jumptable_2:
ld hl, hJoyPressed
ld a, [hl]
- and $1
- jr nz, .asm_1705ac
+ and A_BUTTON
+ jr nz, .pressed_a_or_b
ld a, [hl]
- and $2
- jr nz, .asm_1705ac
+ and B_BUTTON
+ jr nz, .pressed_a_or_b
ld a, [hl]
- and $40
- jr nz, .asm_17058f
+ and D_UP
+ jr nz, .pressed_up
ld a, [hl]
- and $80
- jr nz, .asm_17059d
+ and D_DOWN
+ jr nz, .pressed_down
ret
-.asm_17058f
- ld a, [wcf64]
+.pressed_up
+ ld a, [wNrOfBeatenBattleTowerTrainers]
and a
ret z
- sub $f
- ld [wcf64], a
- call Function1705f0
+ sub 15
+ ld [wNrOfBeatenBattleTowerTrainers], a
+ call .PlaceTextItems
ret
-.asm_17059d
- ld a, [wcf64]
- cp $3c
+.pressed_down
+ ld a, [wNrOfBeatenBattleTowerTrainers]
+ cp 60
ret z
- add $f
- ld [wcf64], a
- call Function1705f0
+ add 15
+ ld [wNrOfBeatenBattleTowerTrainers], a
+ call .PlaceTextItems
ret
-.asm_1705ac
+.pressed_a_or_b
ld hl, wJumptableIndex
set 7, [hl]
ret
-Function1705b2:
+.NextJumptableFunction:
ld hl, wJumptableIndex
inc [hl]
ret
; 1705b7
-Function1705b7: ; 1705b7
+.DrawBorder: ; 1705b7
hlcoord 0, 4
ld a, $79
ld [hli], a
- ld c, $12
-.asm_1705bf
+ ld c, SCREEN_WIDTH - 2
+.top_border_loop
ld a, $7a
ld [hli], a
dec c
- jr nz, .asm_1705bf
+ jr nz, .top_border_loop
ld a, $7b
ld [hli], a
- ld de, $0014
- ld c, $c
-.asm_1705cd
+ ld de, SCREEN_WIDTH
+ ld c, 12
+.left_border_loop
ld a, $7c
ld [hl], a
add hl, de
dec c
- jr nz, .asm_1705cd
+ jr nz, .left_border_loop
ld a, $7d
ld [hli], a
- ld c, $12
-.asm_1705d9
+ ld c, SCREEN_WIDTH - 2
+.bottom_border_loop
ld a, $7a
ld [hli], a
dec c
- jr nz, .asm_1705d9
+ jr nz, .bottom_border_loop
ld a, $7e
ld [hl], a
- ld de, $ffec
+ ld de, -SCREEN_WIDTH
add hl, de
- ld c, $c
-.asm_1705e8
+ ld c, 12
+.right_border_loop
ld a, $7c
ld [hl], a
add hl, de
dec c
- jr nz, .asm_1705e8
+ jr nz, .right_border_loop
ret
; 1705f0
-Function1705f0: ; 1705f0
- call Function17064b
- call Function17065d
+.PlaceTextItems: ; 1705f0
+ call .ClearBox
+ call .PlaceUpDownArrows
ld a, $50
ld [wcd4e], a
- ld hl, $c608
- ld a, [wcf64]
+ ld hl, wMisc
+ ld a, [wNrOfBeatenBattleTowerTrainers]
ld c, a
xor a
ld b, a
@@ -836,19 +843,20 @@ Function1705f0: ; 1705f0
push hl
pop bc
hlcoord 1, 6
- ld a, $6
-.asm_17060c
+ ld a, 6
+.loop1
push af
push hl
- ld a, $3
-.asm_170610
+ ld a, 3
+.loop2
push af
ld de, wcd49
ld a, [bc]
and a
- jr z, .asm_170625
- ld a, $5
-.asm_17061a
+ jr z, .fill_with_e3
+; .copy
+ ld a, 5
+.loop3a
push af
ld a, [bc]
ld [de], a
@@ -856,12 +864,12 @@ Function1705f0: ; 1705f0
inc de
pop af
dec a
- jr nz, .asm_17061a
- jr .asm_170631
+ jr nz, .loop3a
+ jr .rejoin
-.asm_170625
- ld a, $5
-.asm_170627
+.fill_with_e3
+ ld a, 5
+.loop3b
push af
ld a, $e3
ld [de], a
@@ -869,68 +877,68 @@ Function1705f0: ; 1705f0
inc bc
pop af
dec a
- jr nz, .asm_170627
+ jr nz, .loop3b
-.asm_170631
+.rejoin
ld de, wcd49
push bc
call PlaceString
- ld de, $0006
+ ld de, 6
add hl, de
pop bc
pop af
dec a
- jr nz, .asm_170610
+ jr nz, .loop2
pop hl
- ld de, $0028
+ ld de, $28
add hl, de
pop af
dec a
- jr nz, .asm_17060c
+ jr nz, .loop1
ret
; 17064b
-Function17064b: ; 17064b
+.ClearBox: ; 17064b
hlcoord 1, 5
xor a
- ld b, $c
-.asm_170651
- ld c, $12
-.asm_170653
+ ld b, 12
+.clearbox_row
+ ld c, SCREEN_WIDTH - 2
+.clearbox_column
ld [hli], a
dec c
- jr nz, .asm_170653
+ jr nz, .clearbox_column
rept 2
inc hl
endr
dec b
- jr nz, .asm_170651
+ jr nz, .clearbox_row
ret
; 17065d
-Function17065d: ; 17065d
- ld a, [wcf64]
+.PlaceUpDownArrows: ; 17065d
+ ld a, [wNrOfBeatenBattleTowerTrainers]
and a
- jr z, .asm_170669
+ jr z, .nope
hlcoord 18, 5
- ld a, $61
+ ld a, "▲"
ld [hl], a
-.asm_170669
- ld a, [wcf64]
- cp $3c
+.nope
+ ld a, [wNrOfBeatenBattleTowerTrainers]
+ cp 60
ret z
hlcoord 18, 16
- ld a, $ee
+ ld a, "▼"
ld [hl], a
ret
; 170676
-String_170676: ; 170676
+.String_Mail: ; 170676
db "ルーム@"
; 17067a
-String_17067a: ; 17067a
+.String_PastReaders: ; 17067a
db "れきだいりーダーいちらん@"
; 170687
@@ -938,7 +946,7 @@ BattleTowerAction: ; 170687
ld a, [ScriptVar]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -949,17 +957,17 @@ endr
; 170696
-.jumptable: ; 170696 (5c:4696)
+.dw: ; 170696 (5c:4696)
dw Function17075f ; 0x00
dw Function170788 ; 0x01
dw Function170778 ; 0x02
- dw Function170799 ; 0x03
- dw Function17079d ; 0x04
+ dw BattleTowerAction_SetByteToQuickSaveChallenge ; 0x03
+ dw BattleTowerAction_SetByteToCancelChallenge ; 0x04
dw Function1707ac ; 0x05
dw Function1707f4 ; 0x06
- dw Function170868 ; 0x07
- dw Function170881 ; 0x08
- dw Function17089a ; 0x09
+ dw SaveBattleTowerLevelGroup ; 0x07
+ dw LoadBattleTowerLevelGroup ; 0x08
+ dw BattleTower_CheckSaveFileExistsAndIsYours ; 0x09
dw Function1708b1 ; 0x0a
dw CheckMobileEventIndex ; 0x0b
dw Function1708c8 ; 0x0c
@@ -977,11 +985,11 @@ endr
dw Function170ae8 ; 0x18
dw Function170b16 ; 0x19
dw ResetBattleTowerTrainersSRAM ; 0x1a
- dw Function1706ee ; 0x1b
+ dw BattleTower_GiveReward ; 0x1b
dw Function17071b ; 0x1c
dw Function170729 ; 0x1d
- dw Function17073e ; 0x1e
- dw Function170737 ; 0x1f
+ dw BattleTower_RandomlyChooseReward ; 0x1e
+ dw BattleTower_SaveOptions ; 0x1f
; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes)
@@ -1001,7 +1009,7 @@ ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) BattleTowerAction $1a
ret
-Function1706ee: ; 1706ee (5c:46ee) BattleTowerAction $1b
+BattleTower_GiveReward: ; 1706ee (5c:46ee) BattleTowerAction $1b
ld a, BANK(sBattleTowerReward)
call GetSRAMBank
@@ -1033,7 +1041,7 @@ Function1706ee: ; 1706ee (5c:46ee) BattleTowerAction $1b
Function17071b: ; 17071b (5c:471b) BattleTowerAction $1c
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
- ld a, $3
+ ld a, BATTLETOWER_WON_CHALLENGE
ld [sBattleTowerChallengeState], a
call CloseSRAM
ret
@@ -1041,16 +1049,16 @@ Function17071b: ; 17071b (5c:471b) BattleTowerAction $1c
Function170729: ; 170729 (5c:4729) BattleTowerAction $1d
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
- ld a, $4
+ ld a, BATTLETOWER_RECEIVED_REWARD
ld [sBattleTowerChallengeState], a
call CloseSRAM
ret
-Function170737: ; 170737 (5c:4737) BattleTowerAction $1e
+BattleTower_SaveOptions: ; 170737 (5c:4737) BattleTowerAction $1f
callba SaveOptions
ret
-Function17073e: ; 17073e (5c:473e) BattleTowerAction $1f
+BattleTower_RandomlyChooseReward: ; 17073e (5c:473e) BattleTowerAction $1e
; Generate a random stat boosting item.
.loop
call Random
@@ -1072,7 +1080,7 @@ Function17073e: ; 17073e (5c:473e) BattleTowerAction $1f
ret
Function17075f: ; 17075f (5c:475f) BattleTowerAction $00
- call Function17089a
+ call BattleTower_CheckSaveFileExistsAndIsYours
ld a, [ScriptVar]
and a
ret z
@@ -1103,12 +1111,12 @@ Function170788: ; 170788 (5c:4788) BattleTowerAction $01
call CloseSRAM
ret
-Function170799: ; 170799 (5c:4799) BattleTowerAction $03
- ld c, $1
+BattleTowerAction_SetByteToQuickSaveChallenge: ; 170799 (5c:4799) BattleTowerAction $03
+ ld c, BATTLETOWER_SAVED_AND_LEFT
jr asm_17079f
-Function17079d: ; 17079d (5c:479d) BattleTowerAction $04
- ld c, $0
+BattleTowerAction_SetByteToCancelChallenge: ; 17079d (5c:479d) BattleTowerAction $04
+ ld c, BATTLETOWER_NO_CHALLENGE
asm_17079f: ; 17079f (5c:479f)
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
@@ -1203,9 +1211,10 @@ Function17081d: ; 17081d (5c:481d) BattleTowerAction $17
and a
jr nz, .asm_170853
ret
+
.asm_170849
ld hl, CurDay
- ld a, $8c
+ ld a, 140
sub c
add [hl]
cp $b
@@ -1221,39 +1230,39 @@ Function17081d: ; 17081d (5c:481d) BattleTowerAction $17
call CloseSRAM
ret
-Function170868: ; 170868 (5c:4868) BattleTowerAction $07
- ld a, BANK(sbe47)
+SaveBattleTowerLevelGroup: ; 170868 (5c:4868) BattleTowerAction $07
+ ld a, BANK(sBTChoiceOfLevelGroup)
call GetSRAMBank
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
- ld a, [wd000 + $800]
- ld [sbe47], a
+ ld a, [wBTChoiceOfLvlGroup]
+ ld [sBTChoiceOfLevelGroup], a
pop af
ld [rSVBK], a
call CloseSRAM
ret
-Function170881: ; 170881 (5c:4881) BattleTowerAction $08
- ld a, BANK(sbe47)
+LoadBattleTowerLevelGroup: ; 170881 (5c:4881) BattleTowerAction $08 ; Load level group choice
+ ld a, BANK(sBTChoiceOfLevelGroup)
call GetSRAMBank
ld a, [rSVBK]
push af
ld a, $3
ld [rSVBK], a
- ld a, [sbe47]
- ld [wd000 + $800], a
+ ld a, [sBTChoiceOfLevelGroup]
+ ld [wBTChoiceOfLvlGroup], a
pop af
ld [rSVBK], a
call CloseSRAM
ret
-Function17089a: ; 17089a BattleTowerAction $09
+BattleTower_CheckSaveFileExistsAndIsYours: ; 17089a BattleTowerAction $09
ld a, [wSaveFileExists]
and a
jr z, .nope
- callba Function14bcb
+ callba CompareLoadedAndSavedPlayerID
jr z, .yes
xor a
jr .nope
@@ -1359,7 +1368,7 @@ Function17093c: ; 17093c (5c:493c) BattleTowerAction $0e
jr nz, .not_egg
push hl
ld hl, PartyMonOT ; wddff (aliases: PartyMonOT)
- ld de, $6
+ ld de, $6 ; NAME_LENGTH
ld a, b
and a
jr z, .skip
@@ -1369,38 +1378,38 @@ Function17093c: ; 17093c (5c:493c) BattleTowerAction $0e
jr nz, .loop2
.skip
ld de, String_1709a4
- ld a, $6
-.asm_17096e
+ ld a, $6 ; NAME_LENGTH
+.compare_loop
push af
ld a, [de]
inc de
cp [hl]
inc hl
- jr nz, .asm_17099d
+ jr nz, .different
pop af
dec a
- jr nz, .asm_17096e
+ jr nz, .compare_loop
rept 4
dec hl
endr
- ld a, $50
+ ld a, "@"
rept 2
ld [hli], a
endr
pop hl
ld a, EGG_TICKET
ld [CurItem], a
- ld a, $1
+ ld a, 1
ld [wItemQuantityChangeBuffer], a
- ld a, $ff
- ld [wd107], a
+ ld a, -1
+ ld [CurItemQuantity], a
ld hl, NumItems
call TossItem
ld a, $1
ld [ScriptVar], a
ret
-.asm_17099d
+.different
pop af
pop hl
.not_egg
@@ -1454,30 +1463,30 @@ endr
; 1709e7 (5c:49e7)
Jumptable_1709e7: ; 1709e7
- dw Function170a00
- dw Function170a00
- dw Function1709f3
- dw Function1709f3
- dw Function170a01
- dw Function170a33
+ dw .NoAction
+ dw .NoAction
+ dw .DoAction1
+ dw .DoAction1
+ dw .Action4
+ dw .Action5
; 1709f3
-Function1709f3: ; 1709f3
+.DoAction1: ; 1709f3
ld a, $5
call GetSRAMBank
ld a, $1
ld [$a800], a
call CloseSRAM
-Function170a00: ; 170a00
+.NoAction: ; 170a00
ret
; 170a01
-Function170a01: ; 170a01
+.Action4: ; 170a01
ld a, $5
call GetSRAMBank
ld hl, $b023
- ld de, $c608
+ ld de, wMisc
ld bc, $0069
call CopyBytes
ld a, [$a825]
@@ -1492,27 +1501,27 @@ Function170a01: ; 170a01
ret
; 170a33
-Function170a33: ; 170a33
+.Action5: ; 170a33
ld a, $0
call GetSRAMBank
ld hl, wRTC
- ld de, $c608
+ ld de, wMisc
ld bc, $0004
call CopyBytes
call CloseSRAM
ld a, $5
call GetSRAMBank
ld hl, $b08c
- ld de, $c608
+ ld de, wMisc
ld c, $4
-.asm_170a54
+.compare_loop
ld a, [de]
inc de
cp [hl]
- jr nz, .asm_170a78
+ jr nz, .different
inc hl
dec c
- jr nz, .asm_170a54
+ jr nz, .compare_loop
call CloseSRAM
ld a, [MapGroup]
ld b, a
@@ -1521,17 +1530,17 @@ Function170a33: ; 170a33
call GetMapTrigger
ld a, d
or e
- jr z, .asm_170a72
+ jr z, .no_trigger
ld a, [de]
and a
ret nz
-.asm_170a72
+.no_trigger
ld a, $1
ld [ScriptVar], a
ret
-.asm_170a78
+.different
call CloseSRAM
ld a, $5
call GetSRAMBank
@@ -1546,11 +1555,11 @@ Function170a33: ; 170a33
call GetMapTrigger
ld a, d
or e
- jr z, .asm_170a9b
+ jr z, .no_trigger_2
xor a
ld [de], a
-.asm_170a9b
+.no_trigger_2
ret
; 170a9c
@@ -1577,10 +1586,11 @@ Function170aaf: ; 170aaf (5c:4aaf) BattleTowerAction $13
ret
Function170abe: ; 170abe (5c:4abe) BattleTowerAction $14
- call Function17089a
+ call BattleTower_CheckSaveFileExistsAndIsYours
ld a, [ScriptVar]
and a
ret z
+
ld a, BANK(sbe4f)
call GetSRAMBank
ld a, [sbe4f]
@@ -1603,13 +1613,13 @@ Function170ae8: ; 170ae8 (5c:4ae8) BattleTowerAction $18
call GetSRAMBank
ld a, [$b2fb]
call CloseSRAM
- ld c, $a
+ ld c, 10
call SimpleDivide
ld a, b
ld [wcd4f], a
xor a
ld [ScriptVar], a
- callba Function119d93
+ callba Function119d93 ; level check
ret nc
ld a, $5
call GetSRAMBank
@@ -1629,7 +1639,7 @@ Function170b16: ; 170b16 (5c:4b16) BattleTowerAction $19
ld [wcd4f], a
xor a
ld [ScriptVar], a
- callba Function119dd1
+ callba Function119dd1 ; ubers check
ret nc
ld a, $5
call GetSRAMBank
@@ -1637,3 +1647,134 @@ Function170b16: ; 170b16 (5c:4b16) BattleTowerAction $19
call CloseSRAM
ld [ScriptVar], a
ret
+
+Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
+ callba Function_LoadOpponentTrainerAndPokemons
+ ld a, [rSVBK]
+ push af
+ ld a, $3
+ ld [rSVBK], a
+ ld hl, BT_OTTrainerClass
+ ld a, [hl]
+ dec a
+ ld c, a
+ ld b, $0
+ pop af
+ ld [rSVBK], a
+ ld hl, .Sprites
+ add hl, bc
+ ld a, [hl]
+ ld [wBTTempOTSprite], a
+
+; Load sprite of the opponent trainer
+; because s/he is chosen randomly and appears out of nowhere
+ ld a, [ScriptVar]
+ dec a
+ sla a
+ ld e, a
+ sla a
+ sla a
+ sla a
+ ld c, a
+ ld b, 0
+ ld d, 0
+ ld hl, MapObjects
+ add hl, bc
+ inc hl
+ ld a, [wBTTempOTSprite]
+ ld [hl], a
+ ld hl, UsedSprites
+ add hl, de
+ ld [hli], a
+ ld [hUsedSpriteIndex], a
+ ld a, [hl]
+ ld [hUsedSpriteTile], a
+ callba GetUsedSprite
+ ret
+; 170b90
+
+.Sprites:
+ db SPRITE_FALKNER
+ db SPRITE_WHITNEY
+ db SPRITE_BUGSY
+ db SPRITE_MORTY
+ db SPRITE_PRYCE
+ db SPRITE_JASMINE
+ db SPRITE_CHUCK
+ db SPRITE_CLAIR
+ db SPRITE_SILVER
+ db SPRITE_OAK
+ db SPRITE_WILL
+ db SPRITE_CHRIS
+ db SPRITE_BRUNO
+ db SPRITE_KAREN
+ db SPRITE_KOGA
+ db SPRITE_LANCE
+ db SPRITE_BROCK
+ db SPRITE_MISTY
+ db SPRITE_SURGE
+ db SPRITE_SCIENTIST
+ db SPRITE_ERIKA
+ db SPRITE_YOUNGSTER
+ db SPRITE_YOUNGSTER
+ db SPRITE_YOUNGSTER
+ db SPRITE_LASS
+ db SPRITE_JANINE
+ db SPRITE_COOLTRAINER_M
+ db SPRITE_COOLTRAINER_F
+ db SPRITE_BUENA
+ db SPRITE_SUPER_NERD
+ db SPRITE_ROCKET
+ db SPRITE_GENTLEMAN
+ db SPRITE_BUENA
+ db SPRITE_TEACHER
+ db SPRITE_SABRINA
+ db SPRITE_BUG_CATCHER
+ db SPRITE_FISHER
+ db SPRITE_SUPER_NERD
+ db SPRITE_COOLTRAINER_F
+ db SPRITE_SAILOR
+ db SPRITE_SUPER_NERD
+ db SPRITE_BLUE
+ db SPRITE_ROCKER
+ db SPRITE_POKEFAN_M
+ db SPRITE_BIKER
+ db SPRITE_BLAINE
+ db SPRITE_PHARMACIST
+ db SPRITE_FISHER
+ db SPRITE_SUPER_NERD
+ db SPRITE_BLACK_BELT
+ db SPRITE_ROCKET
+ db SPRITE_YOUNGSTER
+ db SPRITE_LASS
+ db SPRITE_YOUNGSTER
+ db SPRITE_ROCKET_GIRL
+ db SPRITE_SAGE
+ db SPRITE_GRANNY
+ db SPRITE_ROCKER
+ db SPRITE_POKEFAN_M
+ db SPRITE_KIMONO_GIRL
+ db SPRITE_TWIN
+ db SPRITE_POKEFAN_F
+ db SPRITE_RED
+ db SPRITE_BLUE
+ db SPRITE_OFFICER
+ db SPRITE_ROCKET_GIRL
+
+ret_170bd2: ; 170bd2
+ ret
+; 170bd3
+
+SpecialCheckForBattleTowerRules: ; 170bd3
+ callba CheckForBattleTowerRules
+ jr c, .asm_170bde
+ xor a
+ jr .asm_170be0
+
+.asm_170bde
+ ld a, $1
+
+.asm_170be0
+ ld [ScriptVar], a
+ ret
+; 170be4
diff --git a/misc/crystal_misc.asm b/misc/crystal_misc.asm
index 662c1788a..01538a3d6 100644
--- a/misc/crystal_misc.asm
+++ b/misc/crystal_misc.asm
@@ -49,7 +49,7 @@ Function17a6a8: ; 17a6a8 (5e:66a8)
call Function17ac0c
callba Function104000
call Function17abcf
- callba Function49409
+ callba LoadOW_BGPal7
callba Function49420
call SetPalettes
call DelayFrame
diff --git a/misc/fixed_words.asm b/misc/fixed_words.asm
index 708116689..c7f1390e5 100755
--- a/misc/fixed_words.asm
+++ b/misc/fixed_words.asm
@@ -21,6 +21,7 @@ Function11c05d: ; 11c05d
ld b, h
scf
ret
+
; 11c075
Function11c075: ; 11c075
@@ -31,6 +32,7 @@ Function11c075: ; 11c075
ld bc, wcd36
call Function11c08f
ret
+
; 11c082
Function11c082: ; 11c082
@@ -41,6 +43,7 @@ Function11c082: ; 11c082
ld bc, wcd36
call Function11c0c6
ret
+
; 11c08f
Function11c08f: ; 11c08f
@@ -93,6 +96,7 @@ Function11c08f: ; 11c08f
dec a
jr nz, .asm_11c0b0
ret
+
; 11c0c6
@@ -187,6 +191,7 @@ Function11c0c6: ; 11c0c6
ld a, h
ld [wcf64], a
ret
+
; 11c14a
Function11c14a: ; 11c14a
@@ -211,8 +216,8 @@ Function11c156: ; 11c156
call ByteFill
ld a, d
and a
- jr z, .asm_11c19c
- ld hl, Unknown_11daac
+ jr z, .get_name
+ ld hl, MobileFixedWordCategoryPointers
dec d
sla d
ld c, d
@@ -233,8 +238,8 @@ Function11c156: ; 11c156
sla c
rl b
add hl, bc
- ld bc, $0005
-.asm_11c18f
+ ld bc, 5 ; length of a string
+.loop
ld de, $c608
call CopyBytes
ld de, $c608
@@ -242,13 +247,13 @@ Function11c156: ; 11c156
ld [rSVBK], a
ret
-.asm_11c19c
+.get_name
ld a, e
ld [wd265], a
call GetPokemonName
ld hl, StringBuffer1
- ld bc, $000a
- jr .asm_11c18f
+ ld bc, PKMN_NAME_LENGTH - 1
+ jr .loop
; 11c1ab
Function11c1ab: ; 11c1ab
@@ -260,6 +265,7 @@ Function11c1ab: ; 11c1ab
pop af
ld [hInMenu], a
ret
+
; 11c1b9
Function11c1b9: ; 11c1b9
@@ -272,6 +278,7 @@ Function11c1b9: ; 11c1b9
pop af
ld [rSVBK], a
ret
+
; 11c1ca
Function11c1ca: ; 11c1ca
@@ -281,14 +288,14 @@ Function11c1ca: ; 11c1ca
ld [wcf65], a
ld [wcf66], a
ld [wcd23], a
- ld [BGMapBuffer], a
+ ld [wcd20], a
ld [wcd21], a
- ld [CreditsTimer], a
+ ld [wcd22], a
ld [wcd35], a
ld [wcd2b], a
ld a, $ff
ld [wcd24], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
call Function11c254
call ClearBGPalettes
@@ -306,9 +313,9 @@ Function11c1ca: ; 11c1ca
call Decompress
call EnableLCD
callba ReloadMapPart
- callba Function8cf53
+ callba ClearSpriteAnims
callba LoadPokemonData
- callba Function40c30
+ callba Pokedex_ABCMode
ld a, [rSVBK]
push af
ld a, $5
@@ -322,6 +329,7 @@ Function11c1ca: ; 11c1ca
call Function11d4aa
call Function11d3ba
ret
+
; 11c254
Function11c254: ; 11c254
@@ -343,6 +351,7 @@ Function11c254: ; 11c254
call CopyBytes
call CloseSRAM
ret
+
; 11c277
@@ -362,28 +371,19 @@ Function11c283: ; 11c283
bit 7, a
jr nz, .exit
call .DoJumptableFunction
- callba Function8cf69
+ callba PlaySpriteAnimations
callba ReloadMapPart
jr .loop
.exit
- callba Function8cf53
+ callba ClearSpriteAnims
call ClearSprites
ret
+
; 11c2ac
.DoJumptableFunction: ; 11c2ac
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wJumptableIndex
; 11c2bb
@@ -470,12 +470,10 @@ Function11c346: ; 11c346 (47:4346)
Function11c35f: ; 11c35f (47:435f)
ld hl, wcd2f
-rept 2
inc [hl]
-endr
-rept 2
+ inc [hl]
+ dec hl
dec hl
-endr
dec [hl]
push af
ld de, wcd2d
@@ -486,12 +484,10 @@ endr
Function11c373: ; 11c373 (47:4373)
ld hl, wcd30
-rept 2
inc [hl]
-endr
-rept 2
+ inc [hl]
+ dec hl
dec hl
-endr
dec [hl]
push af
ld de, wcd2d
@@ -539,6 +535,7 @@ Function11c38a: ; 11c38a (47:438a)
dec a
jr nz, .asm_11c392
ret
+
; 11c3bc (47:43bc)
String_11c3bc: ; 11c3bc
@@ -563,7 +560,7 @@ Function11c3c2: ; 11c3c2 (47:43c2)
call Function11cfb5
Function11c3ed: ; 11c3ed (47:43ed)
- ld hl, BGMapBuffer ; wcd20 (aliases: CreditsPos)
+ ld hl, wcd20 ; wcd20 (aliases: CreditsPos)
ld de, hJoypadPressed ; $ffa3
ld a, [de]
and $8
@@ -588,6 +585,7 @@ Function11c3ed: ; 11c3ed (47:43ed)
and $10
jr nz, .asm_11c498
ret
+
.asm_11c41a
call PlayClickSFX
.asm_11c41d
@@ -597,10 +595,11 @@ Function11c3ed: ; 11c3ed (47:43ed)
jr .asm_11c475
.asm_11c426
ld a, $8
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
ret
+
.asm_11c42c
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
cp $6
jr c, .asm_11c472
sub $6
@@ -642,6 +641,7 @@ Function11c3ed: ; 11c3ed (47:43ed)
ld [wJumptableIndex], a
call PlayClickSFX
ret
+
.asm_11c47c
ld a, [hl]
cp $3
@@ -687,9 +687,10 @@ Function11c4a5: ; 11c4a5 (47:44a5)
ld [wcd21], a
ld a, $6
ret
+
.asm_11c4b7
xor a
- ld [CreditsTimer], a
+ ld [wcd22], a
ld a, $15
ret
@@ -704,6 +705,7 @@ Function11c4be: ; 11c4be (47:44be)
call ByteFill
callba ReloadMapPart
ret
+
; 11c4db (47:44db)
String_11c4db: ; 11c4db
@@ -780,7 +782,7 @@ Function11c53d: ; 11c53d (47:453d)
ld hl, wcd24
set 0, [hl]
ld a, $8
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
.b
ld a, $4
@@ -808,7 +810,7 @@ Function11c53d: ; 11c53d (47:453d)
ret
.asm_11c5ab
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
call Function11ca6a
call PlayClickSFX
ret
@@ -863,10 +865,11 @@ Function11c53d: ; 11c53d (47:453d)
.asm_11c5ee
ld [hl], a
ret
+
; 11c5f0
Function11c5f0: ; 11c5f0 (47:45f0)
- ld de, Strings_11da52
+ ld de, MobileFixedWordCategoryNames
ld bc, Unknown_11c63a
ld a, $f
.asm_11c5f8
@@ -900,6 +903,7 @@ Function11c618: ; 11c618 (47:4618)
call ByteFill
callba ReloadMapPart
ret
+
; 11c62a (47:462a)
String_11c62a: ; 11c62a
@@ -1024,6 +1028,7 @@ Function11c675: ; 11c675 (47:4675)
set 3, [hl]
call PlayClickSFX
ret
+
.asm_11c708
ld a, [hl]
cp $3
@@ -1117,6 +1122,7 @@ Function11c770: ; 11c770 (47:4770)
.asm_11c795
ld [wcd29], a
ret
+
.asm_11c799
ld a, [wc7d2]
ld [wcd28], a
@@ -1131,12 +1137,11 @@ Function11c770: ; 11c770 (47:4770)
jr .asm_11c795
.asm_11c7ab
ld hl, $c68a + 30
- ld a, [CreditsTimer]
+ ld a, [wcd22]
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hl]
ld [wcd28], a
jr .asm_11c79f
@@ -1172,6 +1177,7 @@ Function11c7bc: ; 11c7bc (47:47bc)
cp e
jr nz, .asm_11c7d0
ret
+
.asm_11c7e9
ld hl, wd100
ld a, [wcd26]
@@ -1202,18 +1208,19 @@ Function11c7bc: ; 11c7bc (47:47bc)
cp e
jr nz, .asm_11c7f1
ret
+
.asm_11c811
pop hl
pop de
ret
+
.asm_11c814
ld hl, $c648
ld a, [wcd22]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -1223,9 +1230,8 @@ endr
ld a, [wcd26]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wcd26]
ld e, a
.asm_11c831
@@ -1254,10 +1260,12 @@ endr
cp e
jr nz, .asm_11c831
ret
+
.asm_11c851
pop hl
pop de
ret
+
; 11c854 (47:4854)
Unknown_11c854: ; 11c854
@@ -1281,7 +1289,7 @@ Function11c86e: ; 11c86e (47:486e)
and a
jr z, .asm_11c88a
hlcoord 2, 17
- ld de, String_11c8f0
+ ld de, MobileString_Prev
call PlaceString
hlcoord 6, 17
ld c, $3
@@ -1308,7 +1316,7 @@ Function11c86e: ; 11c86e (47:486e)
cp [hl]
jr nc, .asm_11c8b7
hlcoord 16, 17
- ld de, String_11c8f3
+ ld de, MobileString_Next
call PlaceString
hlcoord 11, 17
ld a, $3
@@ -1319,6 +1327,7 @@ Function11c86e: ; 11c86e (47:486e)
dec c
jr nz, .asm_11c8b1
ret
+
.asm_11c8b7
hlcoord 17, 16
ld a, $7f
@@ -1330,9 +1339,10 @@ Function11c86e: ; 11c86e (47:486e)
dec c
jr nz, .asm_11c8c2
ret
+
; 11c8c7 (47:48c7)
-Function11c8c7: ; 11c8c7
+BCD2String: ; 11c8c7
inc a
push af
and $f
@@ -1340,35 +1350,36 @@ Function11c8c7: ; 11c8c7
pop af
and $f0
swap a
- ld [hQuotient], a
+ ld [hDividend + 1], a
xor a
- ld [$ffb5], a
+ ld [hDividend + 2], a
push hl
callba Function11a80c
pop hl
ld a, [wcd63]
- add $f6
+ add "0"
ld [hli], a
ld a, [wcd62]
- add $f6
+ add "0"
ld [hli], a
ret
+
; 11c8ec
-String_11c8ec: ; 11c8ec
+MobileString_Page: ; 11c8ec
db "ぺージ@"
; 11c8f0
-String_11c8f0: ; 11c8f0
+MobileString_Prev: ; 11c8f0
db "まえ@"
; 11c8f3
-String_11c8f3: ; 11c8f3
+MobileString_Next: ; 11c8f3
db "つぎ@"
; 11c8f6
Function11c8f6: ; 11c8f6 (47:48f6)
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
call Function11c95d
push hl
ld a, [wcd2b]
@@ -1388,17 +1399,17 @@ Function11c8f6: ; 11c8f6 (47:48f6)
push de
call Function11c05d
pop de
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
ld c, a
ld b, $0
ld hl, wcd36
-rept 2
add hl, bc
-endr
+ add hl, bc
ld [hl], e
inc hl
ld [hl], d
ret
+
.asm_11c927
ld hl, wcd26
ld a, [wcd25]
@@ -1414,9 +1425,8 @@ endr
ld a, [wcd22]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -1426,14 +1436,12 @@ endr
ld a, [wcd26]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wcd25]
ld e, a
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -1472,6 +1480,7 @@ Function11c95d: ; 11c95d (47:495d)
jr nz, .asm_11c980
pop hl
ret
+
; 11c986 (47:4986)
Unknown_11c986:
@@ -1528,13 +1537,14 @@ Function11c9c3: ; 11c9c3 (47:49c3)
and $80
jr nz, .asm_11c9fc
ret
+
.asm_11c9de
ld a, [hl]
and a
jr nz, .asm_11c9e9
call Function11ca5e
xor a
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
.asm_11c9e9
ld hl, wcd24
set 4, [hl]
@@ -1542,12 +1552,14 @@ Function11c9c3: ; 11c9c3 (47:49c3)
ld [wJumptableIndex], a
call PlayClickSFX
ret
+
.asm_11c9f7
ld a, [hl]
and a
ret z
dec [hl]
ret
+
.asm_11c9fc
ld a, [hl]
and a
@@ -1594,6 +1606,7 @@ Function11ca19: ; 11ca19 (47:4a19)
jr nz, .asm_11ca22
callba ReloadMapPart
ret
+
; 11ca38 (47:4a38)
String_11ca38: ; 11ca38
@@ -1621,9 +1634,8 @@ Function11ca6a: ; 11ca6a (47:4a6a)
ld hl, wcd36
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld [hl], b
inc hl
ld [hl], b
@@ -1672,6 +1684,7 @@ Function11cab3: ; 11cab3 (47:4ab3)
and $80
jr nz, .asm_11cb17
ret
+
.asm_11cace
call PlayClickSFX
ld a, [hl]
@@ -1690,10 +1703,12 @@ Function11cab3: ; 11cab3 (47:4ab3)
ld a, $1
ld [wcd2a], a
ret
+
.asm_11caf3
ld hl, wJumptableIndex
set 7, [hl]
ret
+
.asm_11caf9
call PlayClickSFX
.asm_11cafc
@@ -1707,18 +1722,21 @@ Function11cab3: ; 11cab3 (47:4ab3)
ld a, $1
ld [wcd35], a
ret
+
.asm_11cb12
ld a, [hl]
and a
ret z
dec [hl]
ret
+
.asm_11cb17
ld a, [hl]
and a
ret nz
inc [hl]
ret
+
; 11cb1c (47:4b1c)
String_11cb1c: ; 11cb1c
@@ -1733,13 +1751,12 @@ String_11cb31: ; 11cb31
Function11cb52: ; 11cb52 (47:4b52)
ld hl, Unknown_11cc01
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
.asm_11cb58
dec a
jr z, .asm_11cb5f
-rept 2
inc hl
-endr
+ inc hl
jr .asm_11cb58
.asm_11cb5f
ld a, [hli]
@@ -1764,6 +1781,7 @@ Function11cb66: ; 11cb66 (47:4b66)
and $80
jr nz, .asm_11cbf0
ret
+
.asm_11cb81
ld a, [hl]
and a
@@ -1771,7 +1789,7 @@ Function11cb66: ; 11cb66 (47:4b66)
ld a, $4
call GetSRAMBank
ld hl, $a007
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
sla a
sla a
@@ -1794,13 +1812,12 @@ Function11cb66: ; 11cb66 (47:4b66)
ld de, Unknown_11cfc6
call Function11cfce
ld hl, Unknown_11cc7e
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
.asm_11cbba
dec a
jr z, .asm_11cbc1
-rept 2
inc hl
-endr
+ inc hl
jr .asm_11cbba
.asm_11cbc1
ld a, [hli]
@@ -1815,6 +1832,7 @@ endr
ld a, $10
ld [hl], a
ret
+
.asm_11cbd4
call PlayClickSFX
.asm_11cbd7
@@ -1826,12 +1844,14 @@ endr
ld a, $4
ld [wJumptableIndex], a
ret
+
.asm_11cbeb
ld a, [hl]
and a
ret z
dec [hl]
ret
+
.asm_11cbf0
ld a, [hl]
and a
@@ -1847,6 +1867,7 @@ Function11cbf5: ; 11cbf5 (47:4bf5)
dec hl
set 7, [hl]
ret
+
; 11cc01 (47:4c01)
Unknown_11cc01: ; 11cc01
@@ -1912,6 +1933,7 @@ Function11cd04: ; 11cd04 (47:4d04)
ld a, $4
ld [wJumptableIndex], a
ret
+
; 11cd10 (47:4d10)
String_11cd10: ; 11cd10
@@ -2011,6 +2033,7 @@ Function11cdaa: ; 11cdaa (47:4daa)
call ByteFill
callba ReloadMapPart
ret
+
; 11cdc7 (47:4dc7)
String_11cdc7: ; 11cdc7
@@ -2044,7 +2067,7 @@ Function11ce0b: ; 11ce0b (47:4e0b)
call Function11cfb5
Function11ce2b: ; 11ce2b (47:4e2b)
- ld a, [CreditsTimer]
+ ld a, [wcd22]
sla a
sla a
ld c, a
@@ -2083,7 +2106,7 @@ Function11ce2b: ; 11ce2b (47:4e2b)
ret
.a
- ld a, [CreditsTimer]
+ ld a, [wcd22]
cp NUM_KANA
jr c, .place
sub NUM_KANA
@@ -2096,7 +2119,7 @@ Function11ce2b: ; 11ce2b (47:4e2b)
ld hl, wcd24
set 0, [hl]
ld a, $8
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
.b
ld a, $4
jr .load
@@ -2122,7 +2145,7 @@ Function11ce2b: ; 11ce2b (47:4e2b)
ret
.asm_11cea4
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
call Function11ca6a
call PlayClickSFX
ret
@@ -2137,60 +2160,109 @@ Function11ce2b: ; 11ce2b (47:4e2b)
ld a, [hl]
cp $ff
ret z
- ld [CreditsTimer], a
+ ld [wcd22], a
ret
+
; 11ceb9 (47:4eb9)
Unknown_11ceb9: ; 11ceb9
; up left down right
- db $ff, $01, $05, $ff
- db $ff, $02, $06, $00
- db $ff, $03, $07, $01
- db $ff, $04, $08, $02
- db $ff, $14, $09, $03
- db $00, $06, $0a, $ff
- db $01, $07, $0b, $05
- db $02, $08, $0c, $06
- db $03, $09, $0d, $07
- db $04, $19, $0e, $08
- db $05, $0b, $0f, $ff
- db $06, $0c, $10, $0a
- db $07, $0d, $11, $0b
- db $08, $0e, $12, $0c
- db $09, $1e, $13, $0d
- db $0a, $10, $2d, $ff
- db $0b, $11, $2d, $0f
- db $0c, $12, $2d, $10
- db $0d, $13, $2d, $11
- db $0e, $26, $2d, $12
- db $ff, $15, $19, $04
- db $ff, $16, $1a, $14
- db $ff, $17, $1b, $15
- db $ff, $18, $1c, $16
- db $ff, $23, $1d, $17
- db $14, $1a, $1e, $09
- db $15, $1b, $1f, $19
- db $16, $1c, $20, $1a
- db $17, $1d, $21, $1b
- db $18, $2b, $22, $1c
- db $19, $1f, $26, $0e
- db $1a, $20, $27, $1e
- db $1b, $21, $28, $1f
- db $1c, $22, $29, $20
- db $1d, $2c, $2a, $21
- db $ff, $24, $2b, $18
- db $ff, $25, $2b, $23
- db $ff, $ff, $2b, $24
- db $1e, $27, $2e, $13
- db $1f, $28, $2e, $26
- db $20, $29, $2e, $27
- db $21, $2a, $2e, $28
- db $22, $ff, $2e, $29
- db $23, $ff, $2c, $1d
- db $2b, $ff, $2f, $22
- db $0f, $2e, $ff, $ff
- db $26, $2f, $ff, $2d
- db $2c, $ff, $ff, $2e
+ db $ff, $01
+ db $05, $ff
+ db $ff, $02
+ db $06, $00
+ db $ff, $03
+ db $07, $01
+ db $ff, $04
+ db $08, $02
+ db $ff, $14
+ db $09, $03
+ db $00, $06
+ db $0a, $ff
+ db $01, $07
+ db $0b, $05
+ db $02, $08
+ db $0c, $06
+ db $03, $09
+ db $0d, $07
+ db $04, $19
+ db $0e, $08
+ db $05, $0b
+ db $0f, $ff
+ db $06, $0c
+ db $10, $0a
+ db $07, $0d
+ db $11, $0b
+ db $08, $0e
+ db $12, $0c
+ db $09, $1e
+ db $13, $0d
+ db $0a, $10
+ db $2d, $ff
+ db $0b, $11
+ db $2d, $0f
+ db $0c, $12
+ db $2d, $10
+ db $0d, $13
+ db $2d, $11
+ db $0e, $26
+ db $2d, $12
+ db $ff, $15
+ db $19, $04
+ db $ff, $16
+ db $1a, $14
+ db $ff, $17
+ db $1b, $15
+ db $ff, $18
+ db $1c, $16
+ db $ff, $23
+ db $1d, $17
+ db $14, $1a
+ db $1e, $09
+ db $15, $1b
+ db $1f, $19
+ db $16, $1c
+ db $20, $1a
+ db $17, $1d
+ db $21, $1b
+ db $18, $2b
+ db $22, $1c
+ db $19, $1f
+ db $26, $0e
+ db $1a, $20
+ db $27, $1e
+ db $1b, $21
+ db $28, $1f
+ db $1c, $22
+ db $29, $20
+ db $1d, $2c
+ db $2a, $21
+ db $ff, $24
+ db $2b, $18
+ db $ff, $25
+ db $2b, $23
+ db $ff, $ff
+ db $2b, $24
+ db $1e, $27
+ db $2e, $13
+ db $1f, $28
+ db $2e, $26
+ db $20, $29
+ db $2e, $27
+ db $21, $2a
+ db $2e, $28
+ db $22, $ff
+ db $2e, $29
+ db $23, $ff
+ db $2c, $1d
+ db $2b, $ff
+ db $2f, $22
+ db $0f, $2e
+ db $ff, $ff
+ db $26, $2f
+ db $ff, $2d
+ db $2c, $ff
+ db $ff, $2e
; 11cf79
String_11cf79: ; 11cf79
@@ -2206,6 +2278,7 @@ Function11cfb5: ; 11cfb5 (47:4fb5)
ld hl, wJumptableIndex
inc [hl]
ret
+
; 11cfba (47:4fba)
Unknown_11cfba:
@@ -2253,9 +2326,8 @@ Function11cfce: ; 11cfce (47:4fce)
ld [hli], a
ld a, [de]
inc de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11cff6
ld c, a
ld a, $7a
@@ -2271,9 +2343,8 @@ endr
add hl, bc
ld a, [de]
dec de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11d022
ld b, a
.asm_11d005
@@ -2281,9 +2352,8 @@ endr
ld a, $7c
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11d015
ld c, a
ld a, $7f
@@ -2305,9 +2375,8 @@ endr
ld a, $7d
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11d031
ld c, a
ld a, $7a
@@ -2369,9 +2438,8 @@ Function11d035: ; 11d035 (47:5035)
ld a, [de]
cp $2
jr z, .asm_11d082
-rept 2
dec a
-endr
+ dec a
.asm_11d078
push af
ld a, $7a
@@ -2397,9 +2465,8 @@ endr
cp $2
ret z
push bc
-rept 2
dec a
-endr
+ dec a
ld c, a
ld b, a
ld de, $14
@@ -2429,78 +2496,76 @@ Function11d0ac: ; 11d0ac (47:50ac)
ret
Function11d0b6: ; 11d0b6 (47:50b6)
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
ld e, a
ld d, 0
- ld hl, Jumptable_11d0c7
-rept 2
+ ld hl, .Jumptable
+ add hl, de
add hl, de
-endr
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
-Jumptable_11d0c7: ; 11d0c7 (47:50c7)
- dw Function11d0dd
- dw Function11d0e9
- dw Function11d0f5
- dw Function11d10f
- dw Function11d134
- dw Function11d145
- dw Function11d156
- dw Function11d175
- dw Function11d1d7
- dw Function11d1d1
- dw Function11d1fc
-
-
-Function11d0dd: ; 11d0dd (47:50dd)
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+.Jumptable
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
+ dw .seven
+ dw .eight
+ dw .nine
+ dw .ten
+
+
+.zero: ; 11d0dd (47:50dd)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
sla a
ld hl, Unknown_11d208
ld e, $1
- jr asm_11d11e
+ jr .load
-Function11d0e9: ; 11d0e9 (47:50e9)
+.one: ; 11d0e9 (47:50e9)
ld a, [wcd21]
sla a
ld hl, Unknown_11d21a
ld e, $2
- jr asm_11d11e
+ jr .load
-Function11d0f5: ; 11d0f5 (47:50f5)
+.two: ; 11d0f5 (47:50f5)
ld hl, Unknown_11d2be
- ld a, [CreditsTimer]
+ ld a, [wcd22]
ld e, a
ld d, $0
add hl, de
ld a, [hl]
- call Function3b3c
- ld a, [CreditsTimer]
+ call ReinitSpriteAnimFrame
+ ld a, [wcd22]
sla a
ld hl, Unknown_11d23e
ld e, $4
- jr asm_11d11e
+ jr .load
-Function11d10f: ; 11d10f (47:510f)
- ld a, $27
- call Function3b3c
+.three: ; 11d10f (47:510f)
+ ld a, SPRITE_ANIM_FRAMESET_27
+ call ReinitSpriteAnimFrame
ld a, [wcd25]
sla a
ld hl, Unknown_11d29e
ld e, $8
-
-asm_11d11e: ; 11d11e (47:511e)
+.load: ; 11d11e (47:511e)
push de
ld e, a
ld d, $0
add hl, de
push hl
pop de
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld a, [de]
inc de
@@ -2512,27 +2577,27 @@ asm_11d11e: ; 11d11e (47:511e)
call Function11d2ee
ret
-Function11d134: ; 11d134 (47:5134)
- ld a, $27
- call Function3b3c
+.four: ; 11d134 (47:5134)
+ ld a, SPRITE_ANIM_FRAMESET_27
+ call ReinitSpriteAnimFrame
ld a, [wcd2a]
sla a
ld hl, Unknown_11d2b6
ld e, $10
- jr asm_11d11e
+ jr .load
-Function11d145: ; 11d145 (47:5145)
- ld a, $27
- call Function3b3c
+.five: ; 11d145 (47:5145)
+ ld a, SPRITE_ANIM_FRAMESET_27
+ call ReinitSpriteAnimFrame
ld a, [wcd2c]
sla a
ld hl, Unknown_11d2ba
ld e, $20
- jr asm_11d11e
+ jr .load
-Function11d156: ; 11d156 (47:5156)
- ld a, $2a
- call Function3b3c
+.six: ; 11d156 (47:5156)
+ ld a, SPRITE_ANIM_FRAMESET_2A
+ call ReinitSpriteAnimFrame
ld a, [wcd4a]
sla a
sla a
@@ -2548,16 +2613,16 @@ Function11d156: ; 11d156 (47:5156)
call Function11d2ee
ret
-Function11d175: ; 11d175 (47:5175)
+.seven: ; 11d175 (47:5175)
ld a, [wcd4d]
cp $4
jr z, .asm_11d180
- ld a, $28
+ ld a, SPRITE_ANIM_FRAMESET_28
jr .asm_11d182
.asm_11d180
- ld a, $26
+ ld a, SPRITE_ANIM_FRAMESET_26
.asm_11d182
- call Function3b3c
+ call ReinitSpriteAnimFrame
ld a, [wcd4d]
cp $4
jr z, .asm_11d1b1
@@ -2566,7 +2631,7 @@ Function11d175: ; 11d175 (47:5175)
sla a
sla a
add $20
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hli], a
ld a, [wcd4d]
@@ -2580,6 +2645,7 @@ Function11d175: ; 11d175 (47:5175)
ld e, a
call Function11d2ee
ret
+
.asm_11d1b1
ld a, [wcd4c]
sla a
@@ -2590,7 +2656,7 @@ Function11d175: ; 11d175 (47:5175)
sla a
add e
add $18
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hli], a
ld a, $8a
@@ -2600,18 +2666,17 @@ Function11d175: ; 11d175 (47:5175)
call Function11d2ee
ret
-Function11d1d1: ; 11d1d1 (47:51d1)
- ld d, $98
- ld a, $2c
- jr asm_11d1db
+.nine: ; 11d1d1 (47:51d1)
+ ld d, -13 * 8
+ ld a, SPRITE_ANIM_FRAMESET_2C
+ jr .eight_nine_load
-Function11d1d7: ; 11d1d7 (47:51d7)
- ld d, $10
- ld a, $2b
-
-asm_11d1db: ; 11d1db (47:51db)
+.eight: ; 11d1d7 (47:51d7)
+ ld d, 2 * 8
+ ld a, SPRITE_ANIM_FRAMESET_2B
+.eight_nine_load: ; 11d1db (47:51db)
push de
- call Function3b3c
+ call ReinitSpriteAnimFrame
ld a, [wcd4a]
sla a
sla a
@@ -2619,8 +2684,8 @@ asm_11d1db: ; 11d1db (47:51db)
ld e, a
sla a
add e
- add $40
- ld hl, $5
+ add 8 * 8
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld [hld], a
pop af
@@ -2630,13 +2695,14 @@ asm_11d1db: ; 11d1db (47:51db)
call Function11d2ee
ret
-Function11d1fc: ; 11d1fc (47:51fc)
- ld a, $26
- call Function3b3c
+.ten: ; 11d1fc (47:51fc)
+ ld a, SPRITE_ANIM_FRAMESET_26
+ call ReinitSpriteAnimFrame
ld a, $8
ld e, a
call Function11d2ee
ret
+
; 11d208 (47:5208)
Unknown_11d208: ; 11d208
@@ -2771,38 +2837,40 @@ Unknown_11d2be: ; 11d2be
Function11d2ee: ; 11d2ee (47:52ee)
ld hl, wcd24
and [hl]
- jr nz, .asm_11d316
+ jr nz, .update_y_offset
ld a, e
ld hl, wcd23
and [hl]
- jr z, .asm_11d30f
- ld hl, $e
+ jr z, .reset_y_offset
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld a, [hl]
and a
- jr z, .asm_11d305
+ jr z, .flip_bit_0
dec [hl]
ret
-.asm_11d305
+
+.flip_bit_0
ld a, $0
ld [hld], a
ld a, $1
xor [hl]
ld [hl], a
and a
- jr nz, .asm_11d316
-.asm_11d30f
- ld hl, $7
+ jr nz, .update_y_offset
+.reset_y_offset
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
xor a
ld [hl], a
ret
-.asm_11d316
- ld hl, $5
+
+.update_y_offset
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, $b0
sub [hl]
- ld hl, $7
+ ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], a
ret
@@ -2814,11 +2882,12 @@ Function11d323: ; 11d323
ld [rSVBK], a
ld hl, Palette_11d33a
ld de, UnknBGPals
- ld bc, 16 * 8
+ ld bc, 16 palettes
call CopyBytes
pop af
ld [rSVBK], a
ret
+
; 11d33a
Palette_11d33a:
@@ -3077,6 +3146,7 @@ Function11d3ba: ; 11d3ba
pop af
ld [rSVBK], a
ret
+
; 11d493
.CheckSeenMon: ; 11d493
@@ -3095,6 +3165,7 @@ Function11d3ba: ; 11d3ba
pop bc
pop hl
ret
+
; 11d4aa
Function11d4aa: ; 11d4aa
@@ -3102,35 +3173,34 @@ Function11d4aa: ; 11d4aa
push af
ld a, $3
ld [rSVBK], a
- ld hl, Unknown_11daac
+ ld hl, MobileFixedWordCategoryPointers
ld bc, Unknown_11f220
xor a
ld [wcd2d], a
inc a
ld [wcd2e], a
ld a, $e
-.asm_11d4c1
+.loop1
push af
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
push hl
- ld hl, $0005
+ ld hl, 5 ; length of a string
add hl, de
ld a, [bc]
-rept 2
inc bc
-endr
+ inc bc
push bc
-.asm_11d4cf
+.loop2
push af
push hl
ld a, [hli]
ld e, a
ld a, [hl]
ld d, a
- ld hl, wd000
+ ld hl, w3_d000
add hl, de
ld a, [wcd2d]
ld [hli], a
@@ -3139,11 +3209,11 @@ endr
ld a, [wcd2e]
ld [hl], a
pop hl
- ld de, $0008
+ ld de, 8
add hl, de
pop af
dec a
- jr nz, .asm_11d4cf
+ jr nz, .loop2
ld hl, wcd2d
xor a
ld [hli], a
@@ -3152,17 +3222,17 @@ endr
pop hl
pop af
dec a
- jr nz, .asm_11d4c1
+ jr nz, .loop1
pop af
ld [rSVBK], a
ret
+
; 11d4fe
SortedPokemon:
; Pokemon sorted by kana.
; Notably, Rhydon is missing.
-
dw .a
dw .i
dw .u
@@ -3307,40 +3377,40 @@ LZ_11d6de:
INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
; 11da52
-Strings_11da52: ; 11da52
+MobileFixedWordCategoryNames: ; 11da52
; Fixed message categories
- db "ポケモン@@"
- db "タイプ@@@"
- db "あいさつ@@"
- db "ひと@@@@"
- db "バトル@@@"
- db "こえ@@@@"
- db "かいわ@@@"
- db "きもち@@@"
- db "じょうたい@"
- db "せいかつ@@"
- db "しゅみ@@@"
- db "こうどう@@"
- db "じかん@@@"
- db "むすび@@@"
- db "あれこれ@@"
+ db "ポケモン@@" ; 00
+ db "タイプ@@@" ; 01
+ db "あいさつ@@" ; 02
+ db "ひと@@@@" ; 03
+ db "バトル@@@" ; 04
+ db "こえ@@@@" ; 05
+ db "かいわ@@@" ; 06
+ db "きもち@@@" ; 07
+ db "じょうたい@" ; 08
+ db "せいかつ@@" ; 09
+ db "しゅみ@@@" ; 0a
+ db "こうどう@@" ; 0b
+ db "じかん@@@" ; 0c
+ db "むすび@@@" ; 0d
+ db "あれこれ@@" ; 0e
; 11daac
-Unknown_11daac: ; 11daac
- dw .Types
- dw .Greetings
- dw .People
- dw .Battle
- dw .Exclamations
- dw .Conversation
- dw .Feelings
- dw .Conditions
- dw .Life
- dw .Hobbies
- dw .Actions
- dw .Time
- dw .Farewells
- dw .ThisAndThat
+MobileFixedWordCategoryPointers: ; 11daac
+ dw .Types ; 01
+ dw .Greetings ; 02
+ dw .People ; 03
+ dw .Battle ; 04
+ dw .Exclamations ; 05
+ dw .Conversation ; 06
+ dw .Feelings ; 07
+ dw .Conditions ; 08
+ dw .Life ; 09
+ dw .Hobbies ; 0a
+ dw .Actions ; 0b
+ dw .Time ; 0c
+ dw .Farewells ; 0d
+ dw .ThisAndThat ; 0e
.Types: ; 11dac8
db "あく@@@", $26, $0, $0
@@ -4119,13 +4189,20 @@ Unknown_11daac: ; 11daac
; 11f220
Unknown_11f220:
- db $12, $01, $24, $02
- db $45, $05, $45, $05
- db $42, $05, $42, $05
- db $45, $05, $42, $05
- db $27, $03, $27, $03
- db $45, $05, $27, $03
- db $42, $05, $24, $02
+ db $12, $01 ; 01
+ db $24, $02 ; 02
+ db $45, $05 ; 03
+ db $45, $05 ; 04
+ db $42, $05 ; 05
+ db $42, $05 ; 06
+ db $45, $05 ; 07
+ db $42, $05 ; 08
+ db $27, $03 ; 09
+ db $27, $03 ; 0a
+ db $45, $05 ; 0b
+ db $27, $03 ; 0c
+ db $42, $05 ; 0d
+ db $24, $02 ; 0e
Unknown_11f23c:
macro_11f23c: macro
diff --git a/misc/gfx_41.asm b/misc/gfx_41.asm
new file mode 100755
index 000000000..7efdf41b8
--- /dev/null
+++ b/misc/gfx_41.asm
@@ -0,0 +1,600 @@
+Function104000:: ; 104000
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteTilemap
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function10419d
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function10419d
+ ret
+; 10402d
+
+Function10402d:: ; 10402d
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteTilemap
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function10419d
+ ret
+; 104047
+
+Function104047: ; 104047
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function10419d
+ ret
+; 104061
+
+ReloadMapPart:: ; 104061
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteTilemap
+ call DelayFrame
+ di
+ ld a, [rVBK]
+ push af
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function1041ad
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function1041ad
+ pop af
+ ld [rVBK], a
+ ei
+ ret
+
+Function104099: ; 104099
+ ld hl, ReloadMapPart ; useless
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteTilemap
+ call DelayFrame
+ di
+ ld a, [rVBK]
+ push af
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function1041c1
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function1041c1
+ pop af
+ ld [rVBK], a
+ ei
+ ret
+; 1040d4
+
+Function1040d4: ; 1040d4
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ ld a, $1
+ ld [rVBK], a
+ ld a, $3
+ ld [rSVBK], a
+ ld de, w3_d800
+ ld a, [hBGMapAddress + 1]
+ ld [rHDMA1], a
+ ld a, [hBGMapAddress]
+ ld [rHDMA2], a
+ ld a, d
+ ld [rHDMA3], a
+ ld a, e
+ ld [rHDMA4], a
+ ld a, $23
+ ld [hDMATransfer], a
+ call WaitDMATransfer
+ ret
+; 1040fb
+
+Function1040fb: ; 1040fb
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ ld a, $1
+ ld [rVBK], a
+ ld a, $3
+ ld [rSVBK], a
+ ld hl, w3_d800
+ call Function10419d
+ ret
+; 104110
+
+Function104110:: ; 104110
+; OpenText
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteTilemap
+ call DelayFrame
+
+ di
+ ld a, [rVBK]
+ push af
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function1041b7
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function1041b7
+ pop af
+ ld [rVBK], a
+ ei
+ ret
+; 104148
+
+Function104148: ; 104148 (41:4148)
+ ld hl, .Function
+ jp CallInSafeGFXMode
+
+.Function
+ decoord 0, 0, AttrMap
+ ld hl, wBackupAttrMap
+ call CutAndPasteAttrMap
+ ld c, $ff
+ decoord 0, 0
+ ld hl, wDecompressScratch
+ call CutAndPasteMap
+ ld a, $1
+ ld [rVBK], a
+ ld hl, wBackupAttrMap
+ call Function1041ad
+ ld a, $0
+ ld [rVBK], a
+ ld hl, wDecompressScratch
+ call Function1041ad
+ ret
+; 104177
+
+CallInSafeGFXMode: ; 104177
+ ld a, [hBGMapMode]
+ push af
+ ld a, [hMapAnims]
+ push af
+ xor a
+ ld [hBGMapMode], a
+ ld [hMapAnims], a
+ ld a, [rSVBK]
+ push af
+ ld a, $6
+ ld [rSVBK], a
+ ld a, [rVBK]
+ push af
+
+ call ._hl_
+
+ pop af
+ ld [rVBK], a
+ pop af
+ ld [rSVBK], a
+ pop af
+ ld [hMapAnims], a
+ pop af
+ ld [hBGMapMode], a
+ ret
+; 10419c
+
+._hl_: ; 10419c
+ jp [hl]
+; 10419d
+
+
+Function10419d: ; 10419d (41:419d)
+ call Function10424e
+ ld a, $23
+ ld [hDMATransfer], a
+
+WaitDMATransfer: ; 104a14
+.loop
+ call DelayFrame
+ ld a, [hDMATransfer]
+ and a
+ jr nz, .loop
+ ret
+
+Function1041ad: ; 1041ad (41:41ad)
+ ld a, [hBGMapAddress + 1]
+ ld d, a
+ ld a, [hBGMapAddress]
+ ld e, a
+ ld c, $24
+ jr Function104209
+
+Function1041b7: ; 1041b7 (41:41b7)
+; hBGMapAddress -> de
+; $24 -> c
+; $7b --> b
+ ld a, [hBGMapAddress + 1]
+ ld d, a
+ ld a, [hBGMapAddress]
+ ld e, a
+ ld c, $24
+ jr asm_104205
+; 1041c1 (41:41c1)
+
+Function1041c1: ; 1041c1
+ ld a, [hBGMapAddress + 1]
+ ld d, a
+ ld a, [hBGMapAddress]
+ ld e, a
+ ld c, $24
+ ld a, h
+ ld [rHDMA1], a
+ ld a, l
+ and $f0
+ ld [rHDMA2], a
+ ld a, d
+ and $1f
+ ld [rHDMA3], a
+ ld a, e
+ and $f0
+ ld [rHDMA4], a
+ ld a, c
+ dec c
+ or $80
+ ld b, a
+ ld a, $7f
+ sub c
+ ld d, a
+.loop1
+ ld a, [rLY]
+ cp d
+ jr nc, .loop1
+.loop2
+ ld a, [rSTAT]
+ and $3
+ jr z, .loop2
+ ld a, b
+ ld [rHDMA5], a
+ ld a, [rLY]
+ inc c
+ ld hl, rLY
+.loop3
+ cp [hl]
+ jr z, .loop3
+ ld a, [hl]
+ dec c
+ jr nz, .loop3
+ ld hl, rHDMA5
+ res 7, [hl]
+ ret
+; 104205
+
+asm_104205:
+ ld b, $7b
+ jr asm_10420b
+
+
+Function104209:
+; LY magic
+ ld b, $7f
+asm_10420b:
+ ld a, h
+ ld [rHDMA1], a
+ ld a, l
+ and $f0 ; high nybble
+ ld [rHDMA2], a
+ ld a, d
+ and $1f ; lower 5 bits
+ ld [rHDMA3], a
+ ld a, e
+ and $f0 ; high nybble
+ ld [rHDMA4], a
+ ld a, c
+ dec c
+ or $80 ; set 7, a
+ ld e, a
+ ld a, b
+ sub c
+ ld d, a
+.ly_loop
+ ld a, [rLY]
+ cp d
+ jr nc, .ly_loop
+
+ di
+.rstat_loop_1
+ ld a, [rSTAT]
+ and $3
+ jr nz, .rstat_loop_1
+.rstat_loop_2
+ ld a, [rSTAT]
+ and $3
+ jr z, .rstat_loop_2
+ ld a, e
+ ld [rHDMA5], a
+ ld a, [rLY]
+ inc c
+ ld hl, rLY
+.final_ly_loop
+ cp [hl]
+ jr z, .final_ly_loop
+ ld a, [hl]
+ dec c
+ jr nz, .final_ly_loop
+ ld hl, rHDMA5
+ res 7, [hl]
+ ei
+
+ ret
+; 10424e
+
+
+Function10424e: ; 10424e (41:424e)
+ ld a, h
+ ld [rHDMA1], a
+ ld a, l
+ ld [rHDMA2], a
+ ld a, [hBGMapAddress + 1]
+ and $1f
+ ld [rHDMA3], a
+ ld a, [hBGMapAddress]
+ ld [rHDMA4], a
+ ret
+
+CutAndPasteTilemap: ; 10425f (41:425f)
+ ld c, " "
+ jr CutAndPasteMap
+
+CutAndPasteAttrMap: ; 104263 (41:4263)
+ ld c, $0
+
+CutAndPasteMap: ; 104265 (41:4265)
+; back up the value of c to hMapObjectIndexBuffer
+ ld a, [hMapObjectIndexBuffer]
+ push af
+ ld a, c
+ ld [hMapObjectIndexBuffer], a
+
+; 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, .loop2
+
+; load the original value of c into hl 12 times
+ ld a, [hMapObjectIndexBuffer]
+ ld b, 12
+.loop3
+ ld [hli], a
+ dec b
+ jr nz, .loop3
+
+ dec c
+ jr nz, .loop1
+
+; restore the original value of hMapObjectIndexBuffer
+ pop af
+ ld [hMapObjectIndexBuffer], a
+ ret
+
+
+_Get2bpp:: ; 104284
+ ; 2bpp when [rLCDC] & $80
+ ; switch to WRAM bank 6
+ ld a, [rSVBK]
+ push af
+ ld a, $6
+ ld [rSVBK], a
+
+ push bc
+ push hl
+
+ ; Copy c tiles of the 2bpp from b:de to wDecompressScratch
+ ld a, b ; bank
+ ld l, c ; number of tiles
+ ld h, $0
+rept 4
+ 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 ; address
+ ld l, e
+ ld de, wDecompressScratch
+ call FarCopyBytes
+
+ pop hl
+ pop bc
+
+ push bc
+ call DelayFrame
+ pop bc
+
+ ld d, h
+ ld e, l
+ ld hl, wDecompressScratch
+ call Function104209
+
+ ; restore the previous bank
+ pop af
+ ld [rSVBK], a
+ ret
+; 1042b2
+
+_Get1bpp:: ; 1042b2
+ ; 1bpp when [rLCDC] & $80
+.loop
+ ld a, c
+ cp $10
+ jp c, .bankswitch
+ jp z, .bankswitch
+ push bc
+ push hl
+ push de
+ ld c, $10
+ call .bankswitch
+ pop de
+ ld hl, $80
+ add hl, de
+ ld d, h
+ ld e, l
+ pop hl
+ lb bc, 1, 0
+ add hl, bc
+ pop bc
+ ld a, c
+ sub $10
+ ld c, a
+ jr .loop
+; 1042d6
+
+.bankswitch: ; 1042d6
+ ld a, [rSVBK]
+ push af
+ ld a, $6
+ ld [rSVBK], a
+
+ push bc
+ push hl
+
+ ld a, b
+ ld l, c
+ ld h, $0
+rept 3
+ add hl, hl ; multiply by 8
+endr
+ ld c, l
+ ld b, h
+ ld h, d
+ ld l, e
+ ld de, wDecompressScratch
+ call FarCopyBytesDouble_DoubleBankSwitch
+
+ pop hl
+ pop bc
+
+ push bc
+ call DelayFrame
+ pop bc
+
+ ld d, h
+ ld e, l
+ ld hl, wDecompressScratch
+ call Function104209
+
+ pop af
+ ld [rSVBK], a
+ ret
+; 104303
+
+Function104303: ; 104303
+ ld hl, Function104309
+ jp CallInSafeGFXMode
+; 104309
+
+Function104309:
+ ld hl, wDecompressScratch
+ decoord 0, 0
+ call Function10433a
+ ld hl, wDecompressScratch + $80
+ decoord 0, 0, AttrMap
+ call Function10433a
+ ld a, $1
+ ld [rVBK], a
+ ld c, $8
+ ld hl, wDecompressScratch + $80
+ debgcoord 0, 0, VBGMap1
+ call Function104209
+ ld a, $0
+ ld [rVBK], a
+ ld c, $8
+ ld hl, wDecompressScratch
+ debgcoord 0, 0, VBGMap1
+ call Function104209
+ ret
+
+Function10433a: ; 10433a (41:433a)
+ ld b, 4
+.outer_loop
+ ld c, SCREEN_WIDTH
+.inner_loop
+ ld a, [de]
+ ld [hli], a
+ inc de
+ dec c
+ jr nz, .inner_loop
+ ld a, l
+ add $20 - SCREEN_WIDTH
+ ld l, a
+ ld a, h
+ adc $0
+ ld h, a
+ dec b
+ jr nz, .outer_loop
+ ret
+; 104350
+
+ShockEmote: INCBIN "gfx/emotes/shock.2bpp"
+QuestionEmote: INCBIN "gfx/emotes/question.2bpp"
+HappyEmote: INCBIN "gfx/emotes/happy.2bpp"
+SadEmote: INCBIN "gfx/emotes/sad.2bpp"
+HeartEmote: INCBIN "gfx/emotes/heart.2bpp"
+BoltEmote: INCBIN "gfx/emotes/bolt.2bpp"
+SleepEmote: INCBIN "gfx/emotes/sleep.2bpp"
+FishEmote: INCBIN "gfx/emotes/fish.2bpp"
+JumpShadowGFX: INCBIN "gfx/misc/shadow.2bpp"
+FishingRodGFX2: INCBIN "gfx/misc/fishing2.2bpp"
+BoulderDustGFX: INCBIN "gfx/misc/boulderdust.2bpp"
+FishingRodGFX4: INCBIN "gfx/misc/fishing4.2bpp"
diff --git a/misc/mobile_12.asm b/misc/mobile_12.asm
index 185d19e89..48e740681 100755
--- a/misc/mobile_12.asm
+++ b/misc/mobile_12.asm
@@ -6,7 +6,7 @@ InitMobileProfile: ; 4802f (12:402f)
set 0, [hl]
ld a, c
and a
- call z, Function48000
+ call z, InitCrystalData
call ClearBGPalettes
call Function48d3d
ld a, [wd479]
@@ -46,11 +46,11 @@ InitMobileProfile: ; 4802f (12:402f)
ld c, 20
call DelayFrames
ld b, $1
- call Function4930f
+ call GetMysteryGift_MobileAdapterLayout
call ClearBGPalettes
hlcoord 0, 0
- ld b, $2
- ld c, $14
+ ld b, 2
+ ld c, 20
call ClearBox
hlcoord 0, 1
ld a, $c
@@ -66,20 +66,20 @@ InitMobileProfile: ; 4802f (12:402f)
ld c, $12
call Function48cdc
hlcoord 2, 4
- ld de, String_48482
+ ld de, MobileString_Gender
call PlaceString
.asm_480d7
hlcoord 2, 6
- ld de, String_48489
+ ld de, MobileString_Age
call PlaceString
hlcoord 2, 8
- ld de, String_4848d
+ ld de, MobileString_Address
call PlaceString
hlcoord 2, 10
- ld de, String_48495
+ ld de, MobileString_ZipCode
call PlaceString
hlcoord 2, 12
- ld de, String_4849e
+ ld de, MobileString_OK
call PlaceString
ld a, [wd002]
bit 6, a
@@ -109,20 +109,20 @@ InitMobileProfile: ; 4802f (12:402f)
ld c, $12
call TextBox
hlcoord 1, 16
- ld de, String_48275
+ ld de, MobileString_PersonalInfo
call PlaceString
call Function48187
- call Function3200
+ call WaitBGMap2
call SetPalettes
- call Function1bc9
- ld hl, MenuSelection2
+ call StaticMenuJoypad
+ ld hl, wMenuCursorY
ld b, [hl]
push bc
jr asm_4815f
Function48157: ; 48157 (12:4157)
- call Function1bd3
- ld hl, MenuSelection2
+ call ScrollingMenuJoypad
+ ld hl, wMenuCursorY
ld b, [hl]
push bc
@@ -163,7 +163,7 @@ Function48187: ; 48187 (12:4187)
.asm_481a2
push de
hlcoord 2, 12
- ld de, String_4849e
+ ld de, MobileString_OK
call PlaceString
pop de
.asm_481ad
@@ -203,19 +203,19 @@ Function48187: ; 48187 (12:4187)
jr nz, .asm_48201
.asm_481f8
hlcoord 11, 10
- ld de, String_48202
+ ld de, .String_TellLater
call PlaceString
.asm_48201
ret
; 48202 (12:4202)
-String_48202: ; 48202
+.String_TellLater: ; 48202
db "Tell Later@"
; 4820d
Function4820d: ; 4820d (12:420d)
- call Function1bee
- ld hl, MenuSelection2
+ call PlaceHollowCursor
+ ld hl, wMenuCursorY
ld a, [hl]
push af
ld a, [wd002]
@@ -235,7 +235,7 @@ Function4820d: ; 4820d (12:420d)
cp $4
jp z, Function488d3
ld a, $2
- call Function1ff8
+ call MenuClickSound
ld a, [wd002]
bit 6, a
jr z, .asm_4825c
@@ -246,7 +246,7 @@ Function4820d: ; 4820d (12:420d)
ld b, $2
ld c, $12
call ClearBox
- ld de, String_484a1
+ ld de, MobileString_ProfileChanged
hlcoord 1, 16
call PlaceString
call WaitBGMap
@@ -269,7 +269,7 @@ Function48272: ; 48272 (12:4272)
jp Function4840c
; 48275 (12:4275)
-String_48275: ; 48275
+MobileString_PersonalInfo: ; 48275
db "Personal Info@"
; 48283
@@ -282,7 +282,7 @@ Function48283: ; 48283 (12:4283)
asm_4828d: ; 4828d (12:428d)
call Function48283
hlcoord 1, 16
- ld de, String_484b1
+ ld de, MobileDesc_Gender
call PlaceString
ld hl, MenuDataHeader_0x484f1
call LoadMenuDataHeader
@@ -301,12 +301,12 @@ asm_4828d: ; 4828d (12:428d)
ld a, [PlayerGender]
inc a
ld [wMenuCursorBuffer], a
- call Function1bc9
+ call StaticMenuJoypad
call PlayClickSFX
call ExitMenu
bit 0, a
jp z, Function4840c
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
ld a, [hl]
ld hl, Strings_484fb
cp $1
@@ -334,7 +334,7 @@ asm_4828d: ; 4828d (12:428d)
Function48304: ; 48304 (12:4304)
call Function48283
hlcoord 1, 16
- ld de, String_484cf
+ ld de, MobileDesc_Address
call PlaceString
ld hl, MenuDataHeader_0x48504
call LoadMenuDataHeader
@@ -361,7 +361,7 @@ Function48304: ; 48304 (12:4304)
ld [wMenuScrollPosition], a
callba Function104148
.asm_48348
- call HandleScrollingMenu
+ call ScrollingMenu
ld de, $629
call Function48383
jr c, .asm_48348
@@ -415,7 +415,7 @@ Function48383: ; 48383 (12:4383)
ld [wMenuScrollPosition], a
jr .asm_483af
.asm_483af
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
ld a, [hl]
ld [wMenuCursorBuffer], a
scf
@@ -426,7 +426,7 @@ Function48383: ; 48383 (12:4383)
ret
Function483bb: ; 483bb (12:43bb)
- ld hl, wcf77
+ ld hl, wScrollingMenuCursorPosition
ld a, [hl]
inc a
ld [wd474], a
@@ -489,42 +489,41 @@ Function4840c: ; 4840c (12:440c)
call Function48187
call Function48283
hlcoord 1, 16
- ld de, String_48275
+ ld de, MobileString_PersonalInfo
call PlaceString
call Function486bf
pop bc
- ld hl, MenuSelection2
+ ld hl, wMenuCursorY
ld [hl], b
ld a, [wd002]
bit 6, a
jr nz, .asm_48437
- ld b, $9
- ld c, $1
+ ld b, 9
+ ld c, 1
hlcoord 1, 4
call ClearBox
jp Function48157
.asm_48437
- ld b, $7
- ld c, $1
+ ld b, 7
+ ld c, 1
hlcoord 1, 6
call ClearBox
jp Function48157
-Function48444: ; 48444 (12:4444)
+Mobile12_Bin2Dec: ; 48444 (12:4444)
push bc
push af
push de
push hl
- ld hl, Unknown_4845d
-.asm_4844b
+ ld hl, .DigitStrings
+.loop
and a
- jr z, .asm_48453
-rept 2
+ jr z, .got_string
+ inc hl
inc hl
-endr
dec a
- jr .asm_4844b
-.asm_48453
+ jr .loop
+.got_string
ld d, h
ld e, l
pop hl
@@ -535,7 +534,7 @@ endr
ret
; 4845d (12:445d)
-Unknown_4845d: ; 4845d
+.DigitStrings: ; 4845d
; 4845d
db "0@"
db "1@"
@@ -549,17 +548,17 @@ Unknown_4845d: ; 4845d
db "9@"
; 48471
-MobileProfileString: db " Mobile Profile@"
-String_48482: db "Gender@"
-String_48489: db "Age@"
-String_4848d: db "Address@"
-String_48495: db "Zip Code@"
-String_4849e: db "OK@"
-String_484a1: db "Profile Changed@"
-String_484b1: db "Boy or girl?@"
-String_484be: db "How old are you?@"
-String_484cf: db "Where do you live?@"
-String_484e2: db "Your zip code?@"
+MobileProfileString: db " Mobile Profile@"
+MobileString_Gender: db "Gender@"
+MobileString_Age: db "Age@"
+MobileString_Address: db "Address@"
+MobileString_ZipCode: db "Zip Code@"
+MobileString_OK: db "OK@"
+MobileString_ProfileChanged: db "Profile Changed@"
+MobileDesc_Gender: db "Boy or girl?@"
+MobileDesc_Age: db "How old are you?@"
+MobileDesc_Address: db "Where do you live?@"
+MobileDesc_ZipCode: db "Your zip code?@"
; 484f1
MenuDataHeader_0x484f1: ; 0x484f1
@@ -665,7 +664,7 @@ Function48689: ; 48689 (12:4689)
ld c, 7
call DelayFrames
ld b, $1
- call Function4930f
+ call GetMysteryGift_MobileAdapterLayout
call ClearBGPalettes
hlcoord 0, 0
ld b, $4
@@ -687,7 +686,7 @@ Function48689: ; 48689 (12:4689)
ret
Function486bf: ; 486bf (12:46bf)
- ld hl, wcfa1
+ ld hl, w2DMenuCursorInitY
ld a, [wd002]
bit 6, a
jr nz, .asm_486ce
@@ -746,9 +745,8 @@ Function486bf: ; 486bf (12:46bf)
pop af
ld [hli], a
ld a, $1
-rept 2
ld [hli], a
-endr
+ ld [hli], a
xor a
rept 3
ld [hli], a
@@ -772,7 +770,7 @@ Function48725: ; 48725 (12:4725)
ret
Function4873c: ; 4873c (12:473c)
- ld hl, wcfa1
+ ld hl, w2DMenuCursorInitY
ld a, $4
ld [hli], a
ld a, $c
@@ -811,7 +809,7 @@ endr
Function4876f: ; 4876f (12:476f)
call Function48283
hlcoord 1, 16
- ld de, String_484be
+ ld de, MobileDesc_Age
call PlaceString
ld hl, MenuDataHeader_0x48509
call LoadMenuDataHeader
@@ -853,7 +851,7 @@ Function4876f: ; 4876f (12:476f)
call Function4880e
jr nc, .asm_487c6
ld a, $1
- call Function1ff8
+ call MenuClickSound
pop bc
jr nz, .asm_487da
ld a, b
@@ -1012,7 +1010,7 @@ INCBIN "gfx/unknown/0488cb.2bpp"
Function488d3: ; 488d3 (12:48d3)
call Function48283
hlcoord 1, 16
- ld de, String_484e2
+ ld de, MobileDesc_ZipCode
call PlaceString
call Function48a3a
jp c, Function4840c
@@ -1154,7 +1152,7 @@ asm_48972: ; 48972 (12:4972)
push de
push hl
ld a, $1
- call Function1ff8
+ call MenuClickSound
pop hl
pop de
pop bc
@@ -1173,16 +1171,16 @@ Function489ea: ; 489ea (12:49ea)
push de
ld a, [wd475]
and $f
- call Function48444
+ call Mobile12_Bin2Dec
ld a, [wd476]
and $f0
swap a
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
ld a, [wd476]
and $f
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
inc hl
ld de, String_48a38
call PlaceString
@@ -1190,20 +1188,20 @@ Function489ea: ; 489ea (12:49ea)
and $f0
swap a
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
ld a, [wd477]
and $f
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
ld a, [wd478]
and $f0
swap a
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
ld a, [wd478]
and $f
inc hl
- call Function48444
+ call Mobile12_Bin2Dec
pop de
ret
; 48a38 (12:4a38)
@@ -1217,11 +1215,11 @@ Function48a3a: ; 48a3a (12:4a3a)
call LoadMenuDataHeader
call Function4873c
ld a, $a
- ld [wcfa1], a
+ ld [w2DMenuCursorInitY], a
ld a, $b
- ld [wcfa2], a
+ ld [w2DMenuCursorInitX], a
ld a, $1
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
hlcoord 10, 8
ld b, $4
ld c, $8
@@ -1229,14 +1227,14 @@ Function48a3a: ; 48a3a (12:4a3a)
hlcoord 12, 10
ld de, String_48aa1
call PlaceString
- call Function1bc9
+ call StaticMenuJoypad
push af
call PlayClickSFX
call ExitMenu
pop af
bit 1, a
jp nz, Function48a9a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .asm_48a98
ld a, [wd003]
@@ -1605,7 +1603,8 @@ Function48c63: ; 48c63
; 48c8e
Function48c8e: ; 48c8e
- ld hl, wd02a
+; unreferenced
+ ld hl, $d02a
ld d, h
ld e, l
callba Function48c63
@@ -1646,13 +1645,13 @@ Function48ca3: ; 48ca3
.asm_48cc7
ld a, b
- call Function48444
+ call Mobile12_Bin2Dec
inc hl
ld a, c
- call Function48444
+ call Mobile12_Bin2Dec
inc hl
ld a, d
- call Function48444
+ call Mobile12_Bin2Dec
pop hl
pop de
pop bc
@@ -1672,12 +1671,10 @@ Function48cdc: ; 48cdc (12:4cdc)
pop bc
ld de, AttrMap - TileMap
add hl, de
-rept 2
inc b
-endr
-rept 2
+ inc b
+ inc c
inc c
-endr
ld a, $0
.asm_48ced
push bc
diff --git a/misc/mobile_12_2.asm b/misc/mobile_12_2.asm
new file mode 100755
index 000000000..86583aa40
--- /dev/null
+++ b/misc/mobile_12_2.asm
@@ -0,0 +1,937 @@
+MobileCheckOwnMonAnywhere: ; 4a843
+; Like CheckOwnMonAnywhere, but only check for species.
+; OT/ID don't matter.
+
+ ld a, [PartyCount]
+ and a
+ ret z
+
+ ld d, a
+ ld e, 0
+ ld hl, PartyMon1Species
+ ld bc, PartyMonOT
+.asm_4a851
+ call .CheckMatch
+ ret c
+ push bc
+ ld bc, PARTYMON_STRUCT_LENGTH
+ add hl, bc
+ pop bc
+ call .CopyName
+ dec d
+ jr nz, .asm_4a851
+ ld a, BANK(sBoxCount)
+ call GetSRAMBank
+ ld a, [sBoxCount]
+ and a
+ jr z, .asm_4a888
+ ld d, a
+ ld hl, sBoxMon1Species
+ ld bc, sBoxMonOT
+.asm_4a873
+ call .CheckMatch
+ jr nc, .asm_4a87c
+ call CloseSRAM
+ ret
+
+.asm_4a87c
+ push bc
+ ld bc, BOXMON_STRUCT_LENGTH
+ add hl, bc
+ pop bc
+ call .CopyName
+ dec d
+ jr nz, .asm_4a873
+
+.asm_4a888
+ call CloseSRAM
+ ld c, 0
+.asm_4a88d
+ ld a, [wCurBox]
+ and $f
+ cp c
+ jr z, .asm_4a8d1
+ ld hl, .BoxAddrs
+ ld b, 0
+rept 3
+ add hl, bc
+endr
+ ld a, [hli]
+ call GetSRAMBank
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [hl]
+ and a
+ jr z, .asm_4a8d1
+ push bc
+ push hl
+ ld de, sBoxMons - sBoxCount
+ add hl, de
+ ld d, h
+ ld e, l
+ pop hl
+ push de
+ ld de, sBoxMonOT - sBoxCount
+ add hl, de
+ ld b, h
+ ld c, l
+ pop hl
+ ld d, a
+.asm_4a8ba
+ call .CheckMatch
+ jr nc, .asm_4a8c4
+ pop bc
+ call CloseSRAM
+ ret
+
+.asm_4a8c4
+ push bc
+ ld bc, BOXMON_STRUCT_LENGTH
+ add hl, bc
+ pop bc
+ call .CopyName
+ dec d
+ jr nz, .asm_4a8ba
+ pop bc
+
+.asm_4a8d1
+ inc c
+ ld a, c
+ cp NUM_BOXES
+ jr c, .asm_4a88d
+ call CloseSRAM
+ and a
+ ret
+; 4a8dc
+
+.CheckMatch: ; 4a8dc
+ push bc
+ push hl
+ push de
+ ld d, b
+ ld e, c
+ ld a, [ScriptVar]
+ ld b, [hl]
+ cp b
+ jr nz, .no_match
+ jr .match
+
+.no_match
+ pop de
+ pop hl
+ pop bc
+ and a
+ ret
+
+.match
+ pop de
+ pop hl
+ pop bc
+ scf
+ ret
+; 4a8f4
+
+.BoxAddrs: ; 4a8f4
+ dba sBox1
+ dba sBox2
+ dba sBox3
+ dba sBox4
+ dba sBox5
+ dba sBox6
+ dba sBox7
+ dba sBox8
+ dba sBox9
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
+; 4a91e
+
+.CopyName: ; 4a91e
+ push hl
+ ld hl, NAME_LENGTH
+ add hl, bc
+ ld b, h
+ ld c, l
+ pop hl
+ ret
+; 4a927
+
+FindItemInPCOrBag: ; 4a927
+ ld a, [ScriptVar]
+ ld [CurItem], a
+ ld hl, PCItems
+ call CheckItem
+ jr c, .found
+
+ ld a, [ScriptVar]
+ ld [CurItem], a
+ ld hl, NumItems
+ call CheckItem
+ jr c, .found
+
+ xor a
+ ld [ScriptVar], a
+ ret
+
+.found
+ ld a, 1
+ ld [ScriptVar], a
+ ret
+; 4a94e
+
+Function4a94e: ; 4a94e
+ call FadeToMenu
+ ld a, -1
+ ld hl, wd002
+ ld bc, 3
+ call ByteFill
+ xor a
+ ld [wd018], a
+ ld [wd019], a
+ ld b, SCGB_PACKPALS
+ call GetSGBLayout
+ call SetPalettes
+ call Function4aa22
+ jr c, .asm_4a985
+ jr z, .asm_4a9a1
+ jr .asm_4a97b
+
+.asm_4a974
+ call Function4aa25
+ jr c, .asm_4a985
+ jr z, .asm_4a9a1
+
+.asm_4a97b
+ call Function4ac58
+ ld hl, wd019
+ res 1, [hl]
+ jr .asm_4a974
+
+.asm_4a985
+ ld a, [wd018]
+ and a
+ jr nz, .asm_4a990
+ call Function4aba8
+ jr c, .asm_4a974
+
+.asm_4a990
+ call CloseSubmenu
+ ld hl, wd002
+ ld a, -1
+ ld bc, 3
+ call ByteFill
+ scf
+ jr .asm_4a9af
+
+.asm_4a9a1
+ call Function4a9c3
+ jr c, .asm_4a9b0
+ call Function4a9d7
+ jr c, .asm_4a974
+ call CloseSubmenu
+ and a
+
+.asm_4a9af
+ ret
+
+.asm_4a9b0
+ ld de, SFX_WRONG
+ call PlaySFX
+ ld hl, UnknownText_0x4a9be
+ call PrintText
+ jr .asm_4a974
+; 4a9be
+
+UnknownText_0x4a9be: ; 0x4a9be
+ ; Pick three #MON for battle.
+ text_jump UnknownText_0x1c51d7
+ db "@"
+; 0x4a9c3
+
+Function4a9c3: ; 4a9c3
+ ld hl, wd002
+ ld a, $ff
+ cp [hl]
+ jr z, .asm_4a9d5
+ inc hl
+ cp [hl]
+ jr z, .asm_4a9d5
+ inc hl
+ cp [hl]
+ jr z, .asm_4a9d5
+ and a
+ ret
+
+.asm_4a9d5
+ scf
+ ret
+; 4a9d7
+
+Function4a9d7: ; 4a9d7
+ ld a, [wd002]
+ ld hl, PartyMonNicknames
+ call GetNick
+ ld h, d
+ ld l, e
+ ld de, EndFlypoint
+ ld bc, 6
+ call CopyBytes
+ ld a, [wd003]
+ ld hl, PartyMonNicknames
+ call GetNick
+ ld h, d
+ ld l, e
+ ld de, wd00c
+ ld bc, 6
+ call CopyBytes
+ ld a, [wd004]
+ ld hl, PartyMonNicknames
+ call GetNick
+ ld h, d
+ ld l, e
+ ld de, wd012
+ ld bc, 6
+ call CopyBytes
+ ld hl, UnknownText_0x4aa1d
+ call PrintText
+ call YesNoBox
+ ret
+; 4aa1d
+
+UnknownText_0x4aa1d: ; 0x4aa1d
+ ; , @ and @ . Use these three?
+ text_jump UnknownText_0x1c51f4
+ db "@"
+; 0x4aa22
+
+Function4aa22: ; 4aa22
+ call ClearBGPalettes
+
+Function4aa25: ; 4aa25
+ callba LoadPartyMenuGFX
+ callba InitPartyMenuWithCancel
+ call Function4aad3
+
+Function4aa34: ; 4aa34
+ ld a, $9
+ ld [PartyMenuActionText], a
+ callba WritePartyMenuTilemap
+ xor a
+ ld [PartyMenuActionText], a
+ callba PrintPartyMenuText
+ call Function4aab6
+ call WaitBGMap
+ call SetPalettes
+ call DelayFrame
+ call Function4ab1a
+ jr z, .asm_4aa66
+ push af
+ call Function4aafb
+ jr c, .asm_4aa67
+ call Function4ab06
+ jr c, .asm_4aa67
+ pop af
+
+.asm_4aa66
+ ret
+
+.asm_4aa67
+ ld hl, wd019
+ set 1, [hl]
+ pop af
+ ret
+; 4aa6e
+
+Function4aa6e: ; 4aa6e
+ pop af
+ ld de, SFX_WRONG
+ call PlaySFX
+ call WaitSFX
+ jr Function4aa34
+; 4aa7a
+
+Function4aa7a: ; 4aa7a
+ ld hl, wd002
+ ld d, $3
+.loop
+ ld e, PARTY_LENGTH
+ ld a, [hli]
+ push de
+ push hl
+ cp -1
+ jr z, .done
+ ld hl, wSpriteAnimationStructs
+ inc a
+ ld d, a
+.inner_loop
+ ld a, [hl]
+ and a
+ jr z, .next
+ cp d
+ jr z, .same_as_d
+ jr .next
+
+ ld a, $3
+ jr .proceed
+
+.same_as_d
+ ld a, $2
+
+.proceed
+ push hl
+ ld c, l
+ ld b, h
+ ld hl, $2
+ add hl, bc
+ ld [hl], a
+ pop hl
+
+.next
+ ld bc, $10
+ add hl, bc
+ dec e
+ jr nz, .inner_loop
+ pop hl
+ pop de
+ dec d
+ jr nz, .loop
+ jr .finished
+
+.done
+ pop hl
+ pop de
+
+.finished
+ ret
+; 4aab6
+
+Function4aab6: ; 4aab6
+ ld hl, wd002
+ ld d, $3
+.loop
+ ld a, [hli]
+ cp -1
+ jr z, .done
+ push de
+ push hl
+ hlcoord 0, 1
+ ld bc, $28
+ call AddNTimes
+ ld [hl], $ec
+ pop hl
+ pop de
+ dec d
+ jr nz, .loop
+
+.done
+ ret
+; 4aad3
+
+Function4aad3: ; 4aad3
+ ld hl, PartyCount
+ ld a, [hli]
+ and a
+ ret z ; Nothing in your party
+
+ ld c, a
+ xor a
+ ld [hObjectStructIndexBuffer], a
+.loop
+ push bc
+ push hl
+ ld e, 0
+ callba Function8e83f
+ ld a, [hObjectStructIndexBuffer]
+ inc a
+ ld [hObjectStructIndexBuffer], a
+ pop hl
+ pop bc
+ dec c
+ jr nz, .loop
+
+ call Function4aa7a
+ callba PlaySpriteAnimations
+ ret
+; 4aafb
+
+Function4aafb: ; 4aafb
+ ld a, [CurPartySpecies]
+ cp EGG
+ jr z, .egg
+ and a
+ ret
+
+.egg
+ scf
+ ret
+; 4ab06
+
+Function4ab06: ; 4ab06
+ ld a, [CurPartyMon]
+ ld bc, PARTYMON_STRUCT_LENGTH
+ ld hl, PartyMon1HP
+ call AddNTimes
+ ld a, [hli]
+ ld b, a
+ ld a, [hl]
+ or b
+ jr nz, .NotFainted
+ scf
+
+.NotFainted
+ ret
+; 4ab1a
+
+Function4ab1a: ; 4ab1a
+.asm_4ab1a
+ ld a, $fb
+ ld [wMenuJoypadFilter], a
+ ld a, $26
+ ld [w2DMenuCursorOffsets], a
+ ld a, $2
+ ld [w2DMenuNumCols], a
+ call Function4adf7
+ call StaticMenuJoypad
+ call Function4abc3
+ jr c, .asm_4ab1a
+ push af
+ call Function4ab99
+ call nc, PlaceHollowCursor
+ pop af
+ bit 1, a
+ jr nz, .asm_4ab6d
+ ld a, [PartyCount]
+ inc a
+ ld b, a
+ ld a, [wMenuCursorY]
+ ld [wPartyMenuCursor], a
+ cp b
+ jr z, .asm_4ab7e
+ ld a, [wMenuCursorY]
+ dec a
+ ld [CurPartyMon], a
+ ld c, a
+ ld b, $0
+ ld hl, PartySpecies
+ add hl, bc
+ ld a, [hl]
+ ld [CurPartySpecies], a
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ call WaitSFX
+ ld a, $1
+ and a
+ ret
+
+.asm_4ab6d
+ ld a, [wMenuCursorY]
+ ld [wPartyMenuCursor], a
+.asm_4ab73
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ call WaitSFX
+ scf
+ ret
+
+.asm_4ab7e
+ ld a, $1
+ ld [wd018], a
+ ld a, [wMenuCursorX]
+ cp $2
+ jr z, .asm_4ab73
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ call WaitSFX
+ xor a
+ ld [wd018], a
+ and a
+ ret
+; 4ab99
+
+Function4ab99: ; 4ab99
+ bit 1, a
+ jr z, .asm_4aba6
+ ld a, [wd002]
+ cp $ff
+ jr z, .asm_4aba6
+ scf
+ ret
+
+.asm_4aba6
+ and a
+ ret
+; 4aba8
+
+Function4aba8: ; 4aba8
+ ld hl, wd004
+ ld a, [hl]
+ cp $ff
+ jr nz, .asm_4abbe
+ dec hl
+ ld a, [hl]
+ cp $ff
+ jr nz, .asm_4abbe
+ dec hl
+ ld a, [hl]
+ cp $ff
+ jr nz, .asm_4abbe
+ and a
+ ret
+
+.asm_4abbe
+ ld a, $ff
+ ld [hl], a
+ scf
+ ret
+; 4abc3
+
+Function4abc3: ; 4abc3
+ bit 3, a
+ jr z, .asm_4abd5
+ ld a, [PartyCount]
+ inc a
+ ld [wMenuCursorY], a
+ ld a, $1
+ ld [wMenuCursorX], a
+ jr .asm_4ac29
+
+.asm_4abd5
+ bit 6, a
+ jr z, .asm_4abeb
+ ld a, [wMenuCursorY]
+ ld [wMenuCursorY], a
+ and a
+ jr nz, .asm_4ac29
+ ld a, [PartyCount]
+ inc a
+ ld [wMenuCursorY], a
+ jr .asm_4ac29
+
+.asm_4abeb
+ bit 7, a
+ jr z, .asm_4ac08
+ ld a, [wMenuCursorY]
+ ld [wMenuCursorY], a
+ ld a, [PartyCount]
+rept 2
+ inc a
+endr
+ ld b, a
+ ld a, [wMenuCursorY]
+ cp b
+ jr nz, .asm_4ac29
+ ld a, $1
+ ld [wMenuCursorY], a
+ jr .asm_4ac29
+
+.asm_4ac08
+ bit 4, a
+ jr nz, .asm_4ac10
+ bit 5, a
+ jr z, .asm_4ac56
+
+.asm_4ac10
+ ld a, [wMenuCursorY]
+ ld b, a
+ ld a, [PartyCount]
+ inc a
+ cp b
+ jr nz, .asm_4ac29
+ ld a, [wMenuCursorX]
+ cp $1
+ jr z, .asm_4ac26
+ ld a, $1
+ jr .asm_4ac29
+
+.asm_4ac26
+ ld [wMenuCursorX], a
+
+.asm_4ac29
+ hlcoord 0, 1
+ lb bc, 13, 1
+ call ClearBox
+ call Function4aab6
+ ld a, [PartyCount]
+ hlcoord 6, 1
+.asm_4ac3b
+ ld bc, $28
+ add hl, bc
+ dec a
+ jr nz, .asm_4ac3b
+ ld [hl], $7f
+ ld a, [wMenuCursorY]
+ ld b, a
+ ld a, [PartyCount]
+ inc a
+ cp b
+ jr z, .asm_4ac54
+ ld a, $1
+ ld [wMenuCursorX], a
+
+.asm_4ac54
+ scf
+ ret
+
+.asm_4ac56
+ and a
+ ret
+; 4ac58
+
+Function4ac58: ; 4ac58
+ lb bc, 2, 18
+ hlcoord 1, 15
+ call ClearBox
+ callba FreezeMonIcons
+ ld hl, MenuDataHeader_0x4aca2
+ call LoadMenuDataHeader
+ ld hl, wd019
+ bit 1, [hl]
+ jr z, .asm_4ac89
+ hlcoord 11, 13
+ ld b, $3
+ ld c, $7
+ call TextBox
+ hlcoord 13, 14
+ ld de, String_4ada7
+ call PlaceString
+ jr .asm_4ac96
+
+.asm_4ac89
+ hlcoord 11, 9
+ ld b, $7
+ ld c, $7
+ call TextBox
+ call Function4ad68
+
+.asm_4ac96
+ ld a, $1
+ ld [hBGMapMode], a
+ call Function4acaa
+ call ExitMenu
+ and a
+ ret
+; 4aca2
+
+MenuDataHeader_0x4aca2: ; 0x4aca2
+ db $40 ; flags
+ db 09, 11 ; start coords
+ db 17, 19 ; end coords
+ dw NULL
+ db 1 ; default option
+; 0x4acaa
+
+Function4acaa: ; 4acaa
+.asm_4acaa
+ ld a, $a0
+ ld [wMenuData2Flags], a
+ ld a, [wd019]
+ bit 1, a
+ jr z, .asm_4acc2
+ ld a, $2
+ ld [wMenuData2Items], a
+ ld a, $c
+ ld [wMenuBorderTopCoord], a
+ jr .asm_4accc
+
+.asm_4acc2
+ ld a, $4
+ ld [wMenuData2Items], a
+ ld a, $8
+ ld [wMenuBorderTopCoord], a
+
+.asm_4accc
+ ld a, $b
+ ld [wMenuBorderLeftCoord], a
+ ld a, $1
+ ld [wMenuCursorBuffer], a
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
+ set 6, [hl]
+ call StaticMenuJoypad
+ ld de, SFX_READ_TEXT_2
+ call PlaySFX
+ ld a, [hJoyPressed]
+ bit 0, a
+ jr nz, .asm_4acf4
+ bit 1, a
+ jr nz, .asm_4acf3
+ jr .asm_4acaa
+
+.asm_4acf3
+ ret
+
+.asm_4acf4
+ ld a, [wd019]
+ bit 1, a
+ jr nz, .asm_4ad0e
+ ld a, [wMenuCursorY]
+ cp $1
+ jr z, Function4ad17
+ cp $2
+ jp z, Function4ad56
+ cp $3
+ jp z, Function4ad60
+ jr .asm_4acf3
+
+.asm_4ad0e
+ ld a, [wMenuCursorY]
+ cp $1
+ jr z, Function4ad56
+ jr .asm_4acf3
+
+Function4ad17: ; 4ad17
+ call Function4adb2
+ jr z, .asm_4ad4a
+ ld hl, wd002
+ ld a, $ff
+ cp [hl]
+ jr z, .asm_4ad39
+ inc hl
+ cp [hl]
+ jr z, .asm_4ad39
+ inc hl
+ cp [hl]
+ jr z, .asm_4ad39
+ ld de, SFX_WRONG
+ call WaitPlaySFX
+ ld hl, UnknownText_0x4ad51
+ call PrintText
+ ret
+
+.asm_4ad39
+ ld a, [CurPartyMon]
+ ld [hl], a
+ call Function4a9c3
+ ret c
+ ld a, [wd019]
+ set 0, a
+ ld [wd019], a
+ ret
+
+.asm_4ad4a
+ ld a, $ff
+ ld [hl], a
+ call Function4adc2
+ ret
+
+UnknownText_0x4ad51: ; 0x4ad51
+ ; Only three #MON may enter.
+ text_jump UnknownText_0x1c521c
+ db "@"
+; 0x4ad56
+
+Function4ad56: ; 4ad56
+ callba OpenPartyStats
+ call WaitBGMap2
+ ret
+; 4ad60
+
+Function4ad60: ; 4ad60
+ callba ManagePokemonMoves
+ ret
+; 4ad67
+
+Function4ad67: ; 4ad67
+ ret
+; 4ad68
+
+Function4ad68: ; 4ad68
+ hlcoord 13, 12
+ ld de, String_4ad88
+ call PlaceString
+ call Function4adb2
+ jr c, .asm_4ad7e
+ hlcoord 13, 10
+ ld de, String_4ada0
+ jr .asm_4ad84
+
+.asm_4ad7e
+ hlcoord 13, 10
+ ld de, String_4ad9a
+
+.asm_4ad84
+ call PlaceString
+ ret
+; 4ad88
+
+String_4ad88: ; 4ad88
+ db "つよさをみる"
+ next "つかえるわざ"
+ next "もどる@"
+; 4ad9a
+
+String_4ad9a: ; 4ad9a
+ db "さんかする@"
+; 4ada0
+
+String_4ada0: ; 4ada0
+ db "さんかしない@"
+; 4ada7
+
+String_4ada7: ; 4ada7
+ db "つよさをみる"
+ next "もどる@" ; BACK
+; 4adb2
+
+Function4adb2: ; 4adb2
+ ld hl, wd002
+ ld a, [CurPartyMon]
+ cp [hl]
+ ret z
+ inc hl
+ cp [hl]
+ ret z
+ inc hl
+ cp [hl]
+ ret z
+ scf
+ ret
+; 4adc2
+
+Function4adc2: ; 4adc2
+ ld a, [wd002]
+ cp $ff
+ jr nz, .skip
+ ld a, [wd003]
+ cp $ff
+ jr nz, .skip2
+ ld a, [wd004]
+ ld [wd002], a
+ ld a, $ff
+ ld [wd004], a
+ jr .skip
+
+.skip2
+ ld [wd002], a
+ ld a, $ff
+ ld [wd003], a
+
+.skip
+ ld a, [wd003]
+ cp $ff
+ ret nz
+ ld b, a
+ ld a, [wd004]
+ ld [wd003], a
+ ld a, b
+ ld [wd004], a
+ ret
+; 4adf7
+
+Function4adf7: ; 4adf7
+ ld a, [wd019]
+ bit 0, a
+ ret z
+ ld a, [PartyCount]
+ inc a
+ ld [wMenuCursorY], a
+ ld a, $1
+ ld [wMenuCursorX], a
+ ld a, [wd019]
+ res 0, a
+ ld [wd019], a
+ ret
+; 4ae12
diff --git a/misc/mobile_22.asm b/misc/mobile_22.asm
index 061e67117..64cb84dc3 100644
--- a/misc/mobile_22.asm
+++ b/misc/mobile_22.asm
@@ -214,7 +214,7 @@ Function89240: ; 89240
Function89245: ; 89245 (22:5245)
callba TryLoadSaveFile
ret c
- callba Function150b9
+ callba _LoadData
and a
ret
@@ -248,18 +248,18 @@ Function89261: ; 89261
ld [hl], a
pop af
ld [wMenuCursorBuffer], a
- call BackUpTiles
+ call PushWindow
call Function8923c
call Function89209
- call InterpretMenu2
+ call VerticalMenu
push af
ld c, $a
call DelayFrames
- call WriteBackup
+ call CloseWindow
call Function8920f
pop af
jr c, .done
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $2
jr z, .done
and a
@@ -1308,7 +1308,7 @@ Function89844: ; 89844
call Function894bb
call Function897af
push bc
- call Function3200
+ call WaitBGMap2
call SetPalettes
pop bc
ret
@@ -1694,7 +1694,7 @@ Function89a57: ; 89a57
Function89a8a: ; 89a8a
push af
- ld de, SFX_UNKNOWN_62
+ ld de, SFX_SWITCH_POCKETS
call PlaySFX
pop af
ret
@@ -1791,7 +1791,7 @@ Function89ae6: ; 89ae6
Function89b00: ; 89b00 (22:5b00)
- callba Function49351
+ callba MG_Mobile_Layout_LoadPals
ret
; 89b07 (22:5b07)
@@ -2198,9 +2198,9 @@ Function89d5e: ; 89d5e (22:5d5e)
pop af
ld [wMenuCursorBuffer], a
call Function8923c
- call Function1c89
- call Function1c10
- ld hl, wcfa5
+ call PlaceVerticalMenuItems
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
set 7, [hl]
ret
@@ -2224,7 +2224,7 @@ asm_89d90: ; 89d90 (22:5d90)
push hl
call _hl_
call Function89dab
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
push af
call Function891ab
pop af
@@ -2239,10 +2239,10 @@ asm_89d90: ; 89d90 (22:5d90)
Function89dab: ; 89dab (22:5dab)
call Function8923c
- callba Function241ba
+ callba MobileMenuJoypad
call Function8923c
ld a, c
- ld hl, wcfa8
+ ld hl, wMenuJoypadFilter
and [hl]
ret z
bit 0, a
@@ -2253,12 +2253,12 @@ Function89dab: ; 89dab (22:5dab)
ret
.asm_89dc7
call PlayClickSFX
- ld a, [wcfa3]
+ ld a, [w2DMenuNumRows]
ld c, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp c
jr z, .asm_89dd9
- call Function1bee
+ call PlaceHollowCursor
scf
ret
.asm_89dd9
@@ -2275,7 +2275,7 @@ Function89de0: ; 89de0 (22:5de0)
.asm_89dea
call Function8a31c
jr z, .asm_89dfd
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld c, a
push bc
ld hl, Jumptable_89e04
@@ -2384,8 +2384,8 @@ Function89e9a: ; 89e9a (22:5e9a)
ld a, $5
ld [rSVBK], a
ld hl, Palette_89eb1
- ld de, wd028
- ld bc, $8
+ ld de, UnknBGPals + 5 palettes
+ ld bc, 1 palettes
call CopyBytes
pop af
ld [rSVBK], a
@@ -2420,7 +2420,7 @@ Function89ee1: ; 89ee1 (22:5ee1)
call Function893e2
call Function8923c
callba Function4a3a7
- callba Function49384
+ callba MG_Mobile_Layout_CreatePalBoxes
hlcoord 1, 0
call Function8a53d
ret
@@ -2784,7 +2784,7 @@ Function8a116: ; 8a116 (22:6116)
call Function8923c
call Function8a17b
jr c, .asm_8a16b
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wd030], a
dec d
jr z, .asm_8a140
@@ -2816,7 +2816,7 @@ Function8a116: ; 8a116 (22:6116)
ret
.asm_8a16b
call Function89209
- call WriteBackup
+ call CloseWindow
call Function8920f
scf
ret
@@ -2867,7 +2867,7 @@ Function8a1b0: ; 8a1b0
ld c, $12
call TextBox
hlcoord 1, 14
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld de, Strings_8a1cc
dec a
ld c, a
@@ -2950,7 +2950,7 @@ Function8a262: ; 8a262 (22:6262)
call Function893e2
call Function8923c
callba Function4a3a7
- callba Function49384
+ callba MG_Mobile_Layout_CreatePalBoxes
hlcoord 1, 0
call Function8a53d
hlcoord 12, 4
@@ -2999,7 +2999,7 @@ Function8a2aa: ; 8a2aa (22:62aa)
and a
ret
.asm_8a2ea
- call WriteBackup
+ call CloseWindow
.asm_8a2ed
scf
ret
@@ -3044,7 +3044,7 @@ Function8a31c: ; 8a31c (22:631c)
push bc
call Function8923c
callba Function4a3a7
- callba Function49384
+ callba MG_Mobile_Layout_CreatePalBoxes
hlcoord 1, 0
call Function8a53d
hlcoord 12, 4
@@ -3054,9 +3054,9 @@ Function8a31c: ; 8a31c (22:631c)
ld a, c
ld [wMenuCursorBuffer], a
ld [MenuSelection], a
- call Function1c89
- call Function1c10
- ld hl, wcfa5
+ call PlaceVerticalMenuItems
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
set 7, [hl]
.asm_8a34e
call Function8a3a2
@@ -3076,7 +3076,7 @@ Function8a31c: ; 8a31c (22:631c)
ret
.asm_8a370
call Function89448
- call Function1bee
+ call PlaceHollowCursor
call Function8a3a2
ld a, [MenuSelection]
cp $ff
@@ -3086,9 +3086,9 @@ Function8a31c: ; 8a31c (22:631c)
ret
Function8a383: ; 8a383 (22:6383)
- callba Function241ba
+ callba MobileMenuJoypad
ld a, c
- ld hl, wcfa8
+ ld hl, wMenuJoypadFilter
and [hl]
ret z
bit 0, a
@@ -3106,7 +3106,7 @@ Function8a383: ; 8a383 (22:6383)
ret
Function8a3a2: ; 8a3a2 (22:63a2)
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld hl, wd002
ld e, a
@@ -3390,16 +3390,16 @@ Function8a5b6: ; 8a5b6 (22:65b6)
ld a, $5
ld [rSVBK], a
ld hl, Palette_8a5e5
- ld de, wd020
- ld bc, $18
+ ld de, UnknBGPals + 4 palettes
+ ld bc, 3 palettes
call CopyBytes
ld hl, Palette_8a5fd
ld de, UnknOBPals
- ld bc, $8
+ ld bc, 1 palettes
call CopyBytes
ld hl, Palette_8a605
- ld de, wd048
- ld bc, $8
+ ld de, UnknOBPals + 1 palettes
+ ld bc, 1 palettes
call CopyBytes
pop af
ld [rSVBK], a
@@ -3411,10 +3411,12 @@ Palette_8a5e5: ; 8a5e5
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
@@ -3442,7 +3444,7 @@ Function8a60d: ; 8a60d
ld [rSVBK], a
ld hl, Palette_8a624
ld de, UnknOBPals
- ld bc, $0008
+ ld bc, 1 palettes
call CopyBytes
pop af
ld [rSVBK], a
@@ -3473,7 +3475,7 @@ Function8a62c: ; 8a62c (22:662c)
jr z, .asm_8a66a
ld [MenuSelection], a
ld b, a
- ld a, [wcf77]
+ ld a, [wScrollingMenuCursorPosition]
inc a
ld [wd034], a
push bc
@@ -3834,7 +3836,7 @@ Function8a930: ; 8a930 (22:6930)
ld [wd0e3], a
.asm_8a943
call Function8b7bd
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
and $1
jr nz, .asm_8a953
ld a, c
@@ -3899,7 +3901,7 @@ Function8a999: ; 8a999 (22:6999)
jr .asm_8a9a1
.asm_8a9bb
call Function89209
- call WriteBackup
+ call CloseWindow
call Function8920f
ret
diff --git a/misc/mobile_22_2.asm b/misc/mobile_22_2.asm
index b794ba33a..70fc96095 100644
--- a/misc/mobile_22_2.asm
+++ b/misc/mobile_22_2.asm
@@ -1,6 +1,6 @@
Function8b342:: ; 8b342
; Loads the secondary map header pointer, then runs through a
-; jumptable with three dummy functions. Spends a lot of energy
+; dw with three dummy functions. Spends a lot of energy
; doing pretty much nothing.
call GetSecondaryMapHeaderPointer
ld d, h
@@ -10,7 +10,7 @@ Function8b342:: ; 8b342
xor a
.loop
push af
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
pop af
inc a
@@ -19,7 +19,7 @@ Function8b342:: ; 8b342
ret
; 8b354
-.jumptable: ; 8b354
+.dw: ; 8b354
dw .zero
dw .one
dw .two
@@ -48,7 +48,7 @@ Function8b35d: ; 8b35d
Function8b363: ; 8b363
push bc
- callba Function10632f
+ callba Mobile_AlwaysReturnNotCarry
pop bc
ret
; 8b36c
@@ -542,9 +542,6 @@ UnknownText_0x8b64c: ; 0x8b64c
; CARD FOLDER open.@ @
text_jump UnknownText_0x1bc288
start_asm
-; 0x8b651
-
-Function8b651: ; 8b651
ld de, SFX_TWINKLE
call PlaySFX
call WaitSFX
@@ -818,7 +815,7 @@ Function8b7bd: ; 8b7bd
and a
jr z, .asm_8b7ea
dec a
- ld [wcf77], a
+ ld [wScrollingMenuCursorPosition], a
.asm_8b7ea
hlcoord 0, 2
@@ -828,9 +825,9 @@ Function8b7bd: ; 8b7bd
call Function8b75d
call UpdateSprites
call Function89209
- call HandleScrollingMenu
+ call ScrollingMenu
call Function8920f
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
cp $2
jr z, .asm_8b823
cp $20
@@ -854,7 +851,7 @@ Function8b7bd: ; 8b7bd
.asm_8b824
ld c, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wd030], a
ld a, [wMenuScrollPosition]
ld [wd031], a
@@ -880,7 +877,7 @@ Function8b83e: ; 8b83e
Function8b84b: ; 8b84b
ld [wMenuScrollPosition], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wMenuCursorBuffer], a
ret
; 8b855
diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm
index 9b98046c0..10ce4225c 100644
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -1,7 +1,7 @@
-
-SECTION "bank40", ROMX, BANK[$40]
-
Function100000: ; 100000
+; d: 1 or 2
+; e: bank
+; bc: addr
ld a, [rSVBK]
push af
ld a, $1
@@ -32,15 +32,15 @@ Function100022: ; 100022
ld a, d
ld [wcd21], a
ld a, e
- ld [CreditsTimer], a
+ ld [wcd22], a
ld a, c
ld [wcd23], a
ld a, b
ld [wcd24], a
callba Function10127e
- callba Function106462
- callba Function106464
- callba Function11615a
+ callba MobileFunc_106462
+ callba Function106464 ; load broken gfx
+ callba Function11615a ; init RAM
ld hl, VramState
set 1, [hl]
ret
@@ -57,7 +57,7 @@ Function100057: ; 100057
Function100063: ; 100063
xor a
ld hl, BGMapBuffer
- ld bc, $0065
+ ld bc, $65
call ByteFill
xor a
ld hl, wc300
@@ -67,7 +67,7 @@ Function100063: ; 100063
ld [BGMapBuffer], a
xor a
ld [hMapAnims], a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
; 100082
@@ -84,9 +84,9 @@ Function100082: ; 100082
ld [rIE], a
xor a
ld [hMapAnims], a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld a, $1
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld [hMobile], a
ei
ret
@@ -95,7 +95,7 @@ Function100082: ; 100082
Function1000a4: ; 1000a4
di
xor a
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld [hMobile], a
xor a
ld [hVBlank], a
@@ -109,28 +109,29 @@ Function1000a4: ; 1000a4
; 1000ba
Function1000ba: ; 1000ba
-.asm_1000ba
+.loop
+ ; call [wcd22]:([wcd23][wcd24] + [wcd25])
ld hl, wcd23
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [wcd25]
ld e, a
- ld d, $0
-rept 2
+ ld d, 0
add hl, de
-endr
- ld a, [CreditsTimer]
+ add hl, de
+ ld a, [wcd22]
call GetFarHalfword
- ld a, [CreditsTimer]
+ ld a, [wcd22]
rst FarCall
+
call Function1000e8
call Function1000fa
call Function100144
call Function100163
ld a, [wcd2b]
and a
- jr z, .asm_1000ba
+ jr z, .loop
call DelayFrame
ret
; 1000e8
@@ -168,7 +169,7 @@ Function1000fa: ; 1000fa
and $13
ld [rIE], a
xor a
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld [hMobile], a
ei
@@ -265,12 +266,12 @@ Function10016f: ; 10016f
.asm_1001c4
ld a, $d2
- ld de, $0002
+ ld de, 2
jr .asm_1001d7
.asm_1001cb
ld a, $d1
- ld de, $0001
+ ld de, 1
jr .asm_1001d7
.asm_1001d2
@@ -379,7 +380,7 @@ Function100276: ; 100276
.asm_10029f
call Function1002dc
- ld c, $0
+ ld c, 0
ret
.asm_1002a5
@@ -423,8 +424,8 @@ Function1002dc: ; 1002dc
; 1002ed
Function1002ed: ; 1002ed
- callba Function49409
- callba Function96a4
+ callba LoadOW_BGPal7
+ callba ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
call DelayFrame
@@ -504,7 +505,7 @@ Function10034d: ; 10034d
ret
.asm_10036a
- ld a, $0
+ ld a, 0
call Function3e32
ld [wcd2c], a
ld a, h
@@ -545,7 +546,7 @@ Function100393: ; 100393
Function10039c: ; 10039c
ld hl, wcc60
ld de, w3_d000
- ld bc, $0054
+ ld bc, $54
ld a, $3
call FarCopyWRAM
ret
@@ -554,7 +555,7 @@ Function10039c: ; 10039c
Function1003ab: ; 1003ab
ld hl, w3_d000
ld de, wcc60
- ld bc, $0054
+ ld bc, $54
ld a, $3
call FarCopyWRAM
ret
@@ -563,7 +564,7 @@ Function1003ab: ; 1003ab
Function1003ba: ; 1003ba
ld hl, wccb4
ld de, w3_d080
- ld bc, $0054
+ ld bc, $54
ld a, $3
call FarCopyWRAM
ret
@@ -572,7 +573,7 @@ Function1003ba: ; 1003ba
Function1003c9: ; 1003c9
ld hl, w3_d080
ld de, wccb4
- ld bc, $0054
+ ld bc, $54
ld a, $3
call FarCopyWRAM
ret
@@ -582,7 +583,7 @@ Function1003d8: ; 1003d8
ld hl, wccb4
ld a, [hli]
ld c, a
- ld b, $0
+ ld b, 0
push hl
add hl, bc
ld a, [BGMapPalBuffer]
@@ -614,7 +615,7 @@ Function100406: ; 100406
ld a, [wcc60]
sub $2
ld c, a
- ld b, $0
+ ld b, 0
ld hl, wcc61
call Function10043a
add hl, bc
@@ -658,7 +659,7 @@ Function10043a: ; 10043a
add e
ld e, a
ld a, d
- adc $0
+ adc 0
ld d, a
dec bc
ld a, b
@@ -813,9 +814,9 @@ Function100504: ; 100504
Function100513: ; 100513
call Function3f7c
- call Function1c89
- call Function1c10
- ld hl, wcfa5
+ call PlaceVerticalMenuItems
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
set 7, [hl]
ret
; 100522
@@ -853,12 +854,12 @@ Function100545: ; 100545
; 10054d
Function10054d: ; 10054d
- callba Function241ba
+ callba MobileMenuJoypad
ld a, c
- ld hl, wcfa8
+ ld hl, wMenuJoypadFilter
and [hl]
ret z
- call Function1ff8
+ call MenuClickSound
bit 0, a
jr nz, .asm_100565
bit 1, a
@@ -895,7 +896,7 @@ Jumptable_100581: ; 100581
Function100585: ; 100585
ld hl, MenuDataHeader_1005b2
call LoadMenuDataHeader
- ld a, $0
+ ld a, 0
ld [wcd28], a
ld a, [wcd26]
inc a
@@ -908,7 +909,7 @@ Function100597: ; 100597
ret z
jr nc, .asm_1005a6
xor a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
.asm_1005a6
call ExitMenu
@@ -947,7 +948,7 @@ Jumptable_1005cb: ; 1005cb
Function1005cf: ; 1005cf
ld hl, MenuDataHeader_1005fc
call LoadMenuDataHeader
- ld a, $0
+ ld a, 0
ld [wcd28], a
ld a, [wcd26]
inc a
@@ -960,7 +961,7 @@ Function1005e1: ; 1005e1
ret z
jr nc, .asm_1005f0
xor a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
.asm_1005f0
call ExitMenu
ld a, [wcd26]
@@ -1374,7 +1375,7 @@ Function100846: ; 100846
jr nz, .asm_10087c
ld a, [wcd6e]
ld c, a
- ld a, $0
+ ld a, 0
sub c
jr nc, .asm_100858
add $3c
@@ -1429,7 +1430,7 @@ Function1008a6: ; 1008a6
call CloseSRAM
ld a, [StringBuffer2 + 2]
ld b, a
- ld a, $0
+ ld a, 0
sub b
jr nc, .asm_1008c8
add $3c
@@ -1449,7 +1450,7 @@ Function1008a6: ; 1008a6
.asm_1008da
call Function10070d
- ld c, $0
+ ld c, 0
ret
; 1008e0
@@ -1674,7 +1675,7 @@ Function100a53: ; 100a53
ld a, $ff
ld [wOtherPlayerLinkAction], a
.waiting
- call LinkCommunicationsSendReceive
+ call LinkTransfer
call DelayFrame
ld a, [wOtherPlayerLinkAction]
inc a
@@ -1683,14 +1684,14 @@ Function100a53: ; 100a53
ld b, 10
.receive
call DelayFrame
- call LinkCommunicationsSendReceive
+ call LinkTransfer
dec b
jr nz, .receive
ld b, 10
.acknowledge
call DelayFrame
- call LinkCommunicationsSignalDataReceived
+ call LinkDataReceived
dec b
jr nz, .acknowledge
@@ -1702,7 +1703,7 @@ Function100a53: ; 100a53
Function100a87: ; 100a87
call Function100acf
call Function100641
- ld a, $0
+ ld a, 0
ld [wcd27], a
.asm_100a92
call DelayFrame
@@ -1801,12 +1802,12 @@ Function100b12: ; 100b12
ld de, LoadMenuDataHeader
call FarCall_de
ld a, BANK(BattleMenuDataHeader)
- ld [wcf94], a
+ ld [wMenuData2_2DMenuItemStringsBank], a
ld a, [wd0d2]
ld [wMenuCursorBuffer], a
call Function100e72
call Function100b45
- callba Function8e85
+ callba InitPartyMenuBGPal7
call Function100ed4
ld a, [wMenuCursorBuffer]
ld [wd0d2], a
@@ -1816,24 +1817,24 @@ Function100b12: ; 100b12
Function100b45: ; 100b45
call Function100b7a
-.asm_100b48
- call Function100dd2
- callba Function241ba
+.loop
+ call Mobile_SetOverworldDelay
+ callba MobileMenuJoypad
push bc
callba Function10402d
call Function100e2d
pop bc
jr c, .asm_100b6b
- ld a, [wcfa8]
+ ld a, [wMenuJoypadFilter]
and c
- jr z, .asm_100b48
- callba Function24098
+ jr z, .loop
+ callba Mobile_GetMenuSelection
ret
.asm_100b6b
- ld a, [wcfa4]
+ ld a, [w2DMenuNumCols]
ld c, a
- ld a, [wcfa3]
+ ld a, [w2DMenuNumRows]
call SimpleMultiply
ld [wMenuCursorBuffer], a
and a
@@ -1842,96 +1843,95 @@ Function100b45: ; 100b45
Function100b7a: ; 100b7a
ld hl, CopyMenuData2
- ld a, [wcf94]
+ ld a, [wMenuData2_2DMenuItemStringsBank]
rst FarCall
- callba Function24085
+ callba Draw2DMenu
callba MobileTextBorder
call UpdateSprites
call ApplyTilemap
- callba Function2411a
- ld hl, wcfa5
+ callba Init2DMenuCursorPosition
+ ld hl, w2DMenuFlags1
set 7, [hl]
ret
; 100b9f
MobileMoveSelectionScreen: ; 100b9f
xor a
- ld [wd0e3], a
+ ld [wMoveSwapBuffer], a
callba CheckPlayerHasUsableMoves
ret z
call Function100dd8
jp c, xor_a_dec_a
call Function100e72
- call Function100bc2
+ call .GetMoveSelection
push af
- callba Function8e85
+ callba InitPartyMenuBGPal7
call Function100ed4
pop af
ret
; 100bc2
-Function100bc2: ; 100bc2
+.GetMoveSelection: ; 100bc2
xor a
ld [hBGMapMode], a
call Function100c74
call Function100c98
-.asm_100bcb
+.master_loop
callba MoveInfoBox
-.asm_100bd1
- call Function100dd2
- callba Function241ba
+.loop
+ call Mobile_SetOverworldDelay
+ callba MobileMenuJoypad
push bc
callba Function10402d
call Function100e2d
pop bc
- jr c, .asm_100c25
- ld a, [wcfa8]
+ jr c, .b_button
+ ld a, [wMenuJoypadFilter]
and c
- bit 6, a
- jp nz, .asm_100bff
- bit 7, a
- jp nz, .asm_100c10
- bit 0, a
- jr nz, .asm_100c30
- bit 1, a
- jr nz, .asm_100c25
- jr .asm_100bd1
+ bit D_UP_F, a
+ jp nz, .d_up
+ bit D_DOWN_F, a
+ jp nz, .d_down
+ bit A_BUTTON_F, a
+ jr nz, .a_button
+ bit B_BUTTON_F, a
+ jr nz, .b_button
+ jr .loop
-.asm_100bff
- ld a, [MenuSelection2]
+.d_up
+ ld a, [wMenuCursorY]
and a
- jp nz, .asm_100bcb
- ld a, [wd0eb]
+ jp nz, .master_loop
+ ld a, [wNumMoves]
inc a
- ld [MenuSelection2], a
- jp .asm_100bcb
+ ld [wMenuCursorY], a
+ jp .master_loop
-.asm_100c10
- ld a, [MenuSelection2]
+.d_down
+ ld a, [wMenuCursorY]
ld b, a
- ld a, [wd0eb]
-rept 2
+ ld a, [wNumMoves]
+ inc a
inc a
-endr
cp b
- jp nz, .asm_100bcb
+ jp nz, .master_loop
ld a, $1
- ld [MenuSelection2], a
- jp .asm_100bcb
+ ld [wMenuCursorY], a
+ jp .master_loop
-.asm_100c25
- ld a, [MenuSelection2]
+.b_button
+ ld a, [wMenuCursorY]
dec a
ld [CurMoveNum], a
ld a, $1
and a
ret
-.asm_100c30
- ld a, [MenuSelection2]
+.a_button
+ ld a, [wMenuCursorY]
dec a
ld [CurMoveNum], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld c, a
ld b, 0
@@ -1939,14 +1939,14 @@ endr
add hl, bc
ld a, [hl]
and $3f
- jr z, .asm_100c68
+ jr z, .no_pp_left
ld a, [PlayerDisableCount]
swap a
and $f
dec a
cp c
- jr z, .asm_100c63
- ld a, [MenuSelection2]
+ jr z, .move_disabled
+ ld a, [wMenuCursorY]
dec a
ld c, a
ld b, 0
@@ -1957,17 +1957,17 @@ endr
xor a
ret
-.asm_100c63
+.move_disabled
ld hl, BattleText_TheMoveIsDisabled
- jr .asm_100c6b
+ jr .print_text
-.asm_100c68
+.no_pp_left
ld hl, BattleText_TheresNoPPLeftForThisMove
-.asm_100c6b
+.print_text
call StdBattleTextBox
call Call_LoadTempTileMapToTileMap
- jp Function100bc2
+ jp .GetMoveSelection
; 100c74
Function100c74: ; 100c74
@@ -1987,55 +1987,59 @@ Function100c74: ; 100c74
; 100c98
Function100c98: ; 100c98
- ld de, Unknown_100cad
- call InitMenu3
- ld a, [wd0eb]
+ ld de, .attrs
+ call SetMenuAttributes
+ ld a, [wNumMoves]
inc a
- ld [wcfa3], a
+ ld [w2DMenuNumRows], a
ld a, [CurMoveNum]
inc a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ret
; 100cad
-Unknown_100cad: ; 100cad
- db $0a, $01, $ff, $01, $a0, $00, $20, $c3
+.attrs: ; 100cad
+ db 10, 1
+ db 255, 1
+ db $a0, $00
+ dn 2, 0
+ db D_UP | D_DOWN | A_BUTTON | B_BUTTON
Function100cb5: ; 100cb5
call Function100dd8
ret c
- ld hl, wcfa5
+ ld hl, w2DMenuFlags1
set 7, [hl]
res 6, [hl]
-.asm_100cc0
- call Function100dd2
- callba Function241ba
+.loop
+ call Mobile_SetOverworldDelay
+ callba MobileMenuJoypad
push bc
- callba Function8cf69
+ callba PlaySpriteAnimations
callba Function10402d
call Function100dfd
pop bc
- jr c, .asm_100d17
- ld a, [wcfa8]
+ jr c, .done
+ ld a, [wMenuJoypadFilter]
and c
- jr z, .asm_100cc0
- call Function1bee
+ jr z, .loop
+ call PlaceHollowCursor
ld a, [PartyCount]
inc a
ld b, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp b
- jr z, .asm_100d17
- ld [wd0d8], a
+ jr z, .done
+ ld [wPartyMenuCursor], a
ld a, [hJoyLast]
ld b, a
bit 1, b
- jr nz, .asm_100d17
- ld a, [MenuSelection2]
+ jr nz, .done
+ ld a, [wMenuCursorY]
dec a
ld [CurPartyMon], a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, PartySpecies
add hl, bc
ld a, [hl]
@@ -2046,7 +2050,7 @@ Function100cb5: ; 100cb5
and a
ret
-.asm_100d17
+.done
ld de, SFX_READ_TEXT_2
call PlaySFX
call WaitSFX
@@ -2054,23 +2058,23 @@ Function100cb5: ; 100cb5
ret
; 100d22
-Function100d22: ; 100d22
+MobileBattleMonMenu: ; 100d22
call Function100dd8
ret c
call Function100d67
- ld hl, wcfa5
+ ld hl, w2DMenuFlags1
set 7, [hl]
res 6, [hl]
.asm_100d30
- call Function100dd2
- callba Function241ba
+ call Mobile_SetOverworldDelay
+ callba MobileMenuJoypad
push bc
- callba Function8cf69
+ callba PlaySpriteAnimations
callba Function10402d
call Function100dfd
pop bc
jr c, .asm_100d54
- ld a, [wcfa8]
+ ld a, [wMenuJoypadFilter]
and c
jr nz, .asm_100d56
jr .asm_100d30
@@ -2102,11 +2106,11 @@ Function100d67: ; 100d67
ld [hBGMapMode], a
call MenuBox
call UpdateSprites
- call Function1c89
+ call PlaceVerticalMenuItems
call WaitBGMap
call CopyMenuData2
- call Function1c10
- ld hl, wcfa5
+ call InitVerticalMenuCursor
+ ld hl, w2DMenuFlags1
set 6, [hl]
ret
; 100d88
@@ -2153,19 +2157,19 @@ Function100db0: ; 100db0
Function100dc0: ; 100dc0
ld a, [wLinkMode]
cp LINK_MOBILE
- jr nz, .asm_100dd0
+ jr nz, .mobile
ld hl, wcd2a
bit 3, [hl]
- jr z, .asm_100dd0
+ jr z, .mobile
scf
ret
-.asm_100dd0
+.mobile
xor a
ret
; 100dd2
-Function100dd2: ; 100dd2
+Mobile_SetOverworldDelay: ; 100dd2
ld a, 30
ld [OverworldDelay], a
ret
@@ -2320,7 +2324,7 @@ asm_100eb8
ld a, [hl]
cp $2
ret c
- ld [hl], $0
+ ld [hl], 0
jr Function100ec5
Function100ec4: ; 100ec4
@@ -2333,13 +2337,13 @@ Function100ec5
; 100eca
Function100eca: ; 100eca
- callba Function8e8b
+ callba Mobile_InitPartyMenuBGPal7
call Function100ed4
ret
; 100ed4
Function100ed4: ; 100ed4
- callba Function96a4
+ callba ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -2406,7 +2410,7 @@ asm_100f02:
call Function100f3d
; next line
pop hl
- ld de, $0007
+ ld de, 7
add hl, de
jr .loop
@@ -2527,7 +2531,7 @@ Unknown_100fc0: ; 100fc0
db -1
Unknown_100feb: ; 100feb
- dbwww $00, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL
+ dbwww $0, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL
db -1
Unknown_100ff3: ; 100ff3
@@ -2537,8 +2541,8 @@ Unknown_100ff3: ; 100ff3
dbwww $80, PlayerID, 2, NULL
dbwww $80, wSecretID, 2, NULL
dbwww $80, PlayerGender, 1, NULL
- dbwww $04, $a603, 8, NULL
- dbwww $04, $a007, PARTYMON_STRUCT_LENGTH, NULL
+ dbwww $4, $a603, 8, NULL
+ dbwww $4, $a007, PARTYMON_STRUCT_LENGTH, NULL
db -1
Unknown_10102c: ; 10102c
@@ -2553,10 +2557,10 @@ Unknown_10102c: ; 10102c
Function101050: ; 101050
call Function10107d
ld a, [OTPartyCount]
-rept 2
+rept 2 ; ???
ld hl, wc608
endr
- ld bc, $01b3
+ ld bc, wc7bb - wc608
call Function1010de
ld hl, wc7bb
ld [hl], e
@@ -2566,7 +2570,7 @@ endr
call GetSRAMBank
ld hl, wc608
ld de, $a001
- ld bc, $01b5
+ ld bc, wc7bd - wc608
call CopyBytes
call CloseSRAM
ret
@@ -2575,11 +2579,11 @@ endr
Function10107d: ; 10107d
xor a
ld hl, wc608
- ld bc, $01b5
+ ld bc, wc7bd - wc608
call ByteFill
- ld hl, wd26b
+ ld hl, OTPlayerName
ld de, wc608
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
ld hl, wd271
ld a, [hli]
@@ -2588,16 +2592,16 @@ Function10107d: ; 10107d
ld [wc608 + 12], a
ld hl, OTPartyMonNicknames
ld de, wc608 + 13
- ld bc, $000b
- call Function1010cd
+ ld bc, NAME_LENGTH
+ call .CopyAllFromOT
ld hl, OTPartyMonOT
- ld de, wc656 + 1
- ld bc, $000b
- call Function1010cd
+ ld de, OTName + 1
+ ld bc, NAME_LENGTH
+ call .CopyAllFromOT
ld hl, OTPartyMon1Species
ld de, wc68a + 15
- ld bc, $0030
- call Function1010cd
+ ld bc, PARTYMON_STRUCT_LENGTH
+ call .CopyAllFromOT
ld a, $50
ld [wc7b9], a
ld a, $33
@@ -2605,7 +2609,7 @@ Function10107d: ; 10107d
ret
; 1010cd
-Function1010cd: ; 1010cd
+.CopyAllFromOT: ; 1010cd
push hl
ld hl, 0
ld a, [OTPartyCount]
@@ -2621,7 +2625,7 @@ Function1010de: ; 1010de
push hl
push bc
ld de, 0
-.asm_1010e3
+.loop
ld a, [hli]
add e
ld e, a
@@ -2631,7 +2635,7 @@ Function1010de: ; 1010de
dec bc
ld a, b
or c
- jr nz, .asm_1010e3
+ jr nz, .loop
pop bc
pop hl
ret
@@ -2640,7 +2644,7 @@ Function1010de: ; 1010de
Function1010f2: ; 1010f2
xor a
ld hl, StringBuffer2
- ld bc, $0009
+ ld bc, 9
call ByteFill
ld hl, wdc5c
ld de, PartyCount
@@ -2687,7 +2691,7 @@ Function101145: ; 101145
ld [de], a
inc de
ld hl, StringBuffer2 + 6
- ld bc, $0003
+ ld bc, 3
call CopyBytes
ld a, $ff
ld [de], a
@@ -2699,7 +2703,7 @@ Function101168: ; 101168
add l
ld l, a
ld a, h
- adc $0
+ adc 0
ld h, a
ld a, [hl]
pop hl
@@ -2708,7 +2712,7 @@ Function101168: ; 101168
add e
ld e, a
ld a, d
- adc $0
+ adc 0
ld d, a
ld a, [de]
pop de
@@ -2716,11 +2720,11 @@ Function101168: ; 101168
; 10117c
Function10117c: ; 10117c
- ld bc, $0030
+ ld bc, $30
jr asm_101184
Function101181: ; 101181
- ld bc, $000b
+ ld bc, 11
asm_101184:
ld a, wc608 % $100
@@ -2851,7 +2855,7 @@ Jumptable_101247: ; 101247
Function101251: ; 101251
call UpdateSprites
- call ResetWindow
+ call RefreshScreen
ld hl, UnknownText_0x1021f4
call Function1021e0
call Function1020ea
@@ -2894,7 +2898,7 @@ Function10127e: ; 10127e
jr z, .asm_101292
.asm_101290
- ld c, $0
+ ld c, 0
.asm_101292
ld a, c
@@ -3029,7 +3033,7 @@ Jumptable_101297: ; 101297
Function10138b: ; 10138b
callba Function8adcc
- ld c, $0
+ ld c, 0
jr c, .asm_101396
inc c
@@ -3054,7 +3058,7 @@ Function10138b: ; 10138b
Function1013aa: ; 1013aa
call ClearBGPalettes
call Call_ExitMenu
- call Function2bae
+ call ReloadTilesetAndPalettes
callba Function106464
call UpdateSprites
call Function2b5c
@@ -3062,8 +3066,8 @@ Function1013aa: ; 1013aa
; 1013c0
Function1013c0: ; 1013c0
- callba Function8000
- callba Function106462
+ callba BlankScreen
+ callba MobileFunc_106462
callba Function106464
call Function2b5c
ret
@@ -3083,7 +3087,7 @@ Function1013e1: ; 1013e1 ; unreferenced
push de
inc de
ld b, a
- ld c, $0
+ ld c, 0
.asm_1013e6
inc c
ld a, [hli]
@@ -3125,7 +3129,7 @@ Function101400: ; 101400 ; unreferenced
Function101406: ; 101406
ld c, a
- ld b, $0
+ ld b, 0
.asm_101409
ld a, [de]
inc de
@@ -3176,7 +3180,7 @@ Function101438: ; 101438
ld a, [wcd26]
bit 7, a
ret z
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3215,7 +3219,7 @@ Function101475: ; 101475
ld a, [wcd26]
bit 7, a
ret z
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3274,7 +3278,7 @@ Function1014ce: ; 1014ce
Function1014e2: ; 1014e2
ld hl, wcd29
set 6, [hl]
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3294,8 +3298,8 @@ Function1014f4: ; 1014f4
Function101507: ; 101507
ld de, wcd30
- ld hl, $0040
- ld bc, $0040
+ ld hl, $40
+ ld bc, $40
ld a, $2
call Function3e32
ld a, [wcd25]
@@ -3390,7 +3394,7 @@ Function10159d: ; 10159d
ld a, $5
ld hl, w5_d800
call Function10174c
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3405,7 +3409,7 @@ Function1015be: ; 1015be
ld a, $5
ld hl, w5_d800
call Function10174c
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3420,7 +3424,7 @@ Function1015df: ; 1015df
ld a, $5
ld hl, w5_d800
call Function10174c
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3431,7 +3435,7 @@ Function1015df: ; 1015df
Function101600: ; 101600
ld hl, w5_d800
ld de, wc608
- ld bc, $01e0
+ ld bc, $1e0
ld a, $5
call FarCopyWRAM
ld de, wc608
@@ -3460,14 +3464,14 @@ Function10162a: ; 10162a
Function101635: ; 101635
ld de, wc608
- ld bc, $01e0
+ ld bc, $1e0
call FarCopyWRAM
ret
; 10163f
Function10163f: ; 10163f
ld hl, wc608
- ld bc, $01e0
+ ld bc, $1e0
call FarCopyWRAM
ret
; 101649
@@ -3507,7 +3511,7 @@ Function101674: ; 101674 ; unreferenced
; 10167d
Function10167d: ; 10167d
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3520,7 +3524,7 @@ Function10168a: ; 10168a
ret c
Function10168e: ; 10168e
- ld b, $0
+ ld b, 0
ld c, $1
callba Function10079c
ret c
@@ -3536,7 +3540,7 @@ Function10168e: ; 10168e
ld a, [wcd26]
bit 7, a
ret z
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -3581,7 +3585,7 @@ Function1016de: ; 1016de
; 1016f8
Function1016f8: ; 1016f8
- ld a, $0
+ ld a, 0
ld [wcd27], a
ld a, [wcd26]
inc a
@@ -3612,7 +3616,7 @@ Function101724: ; 101724
ld a, [wcd39]
cp $ff
jr z, .asm_101731
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
@@ -3634,7 +3638,7 @@ Function10173b: ; 10173b
ld l, a
ld a, [Unknown_10173a]
ld c, a
- ld b, $0
+ ld b, 0
pop af
call AddNTimes
pop bc
@@ -3663,7 +3667,7 @@ Function10174c: ; 10174c
Function10176f: ; 10176f
ld hl, wccb4
- ld bc, $0054
+ ld bc, $54
ld a, $11
call ByteFill
ret
@@ -3672,7 +3676,7 @@ Function10176f: ; 10176f
Function10177b: ; 10177b
ld a, [Unknown_10173a]
ld c, a
- ld b, $0
+ ld b, 0
ld a, [wcd3a]
ld hl, 0
call AddNTimes
@@ -3725,7 +3729,7 @@ Function1017b0: ; 1017b0
Function1017c7: ; 1017c7
ld a, [wcc60]
ld c, a
- ld b, $0
+ ld b, 0
ld a, [wcd3a]
dec a
ld hl, wcd3e
@@ -3740,7 +3744,7 @@ Function1017c7: ; 1017c7
; 1017e4
Function1017e4: ; 1017e4
- ld a, $0
+ ld a, 0
ld [wcd27], a
ld a, [wcd25]
inc a
@@ -3753,7 +3757,7 @@ Function1017f1: ; 1017f1
ret c
Function1017f5: ; 1017f5
- ld b, $0
+ ld b, 0
ld c, $1
callba Function10079c
ret c
@@ -3825,17 +3829,17 @@ SECTION "ascii 10186f", ROMX, BANK[$40]
Unknown_10186f:
db .end - @
- db $19, $73, $09, $13, "trade_crystal"
+ db $19, $73, $9, $13, "trade_crystal"
.end db 0
Unknown_101882:
db .end - @
- db $19, $67, $10, $01, "free__crystal"
+ db $19, $67, $10, $1, "free__crystal"
.end db 0
Unknown_101895:
db .end - @
- db $19, $67, $10, $01, "limit_crystal"
+ db $19, $67, $10, $1, "limit_crystal"
.end db 0
; 1018a8
@@ -3910,7 +3914,7 @@ Function1018fb: ; 1018fb
.asm_101909
ld de, LinkBattleRNs
- ld bc, $000a
+ ld bc, 10
call CopyBytes
ret
; 101913
@@ -3967,7 +3971,7 @@ Function10194b: ; 10194b
; 10196d
Function10196d: ; 10196d
- callba Function8000
+ callba BlankScreen
callba Function10060d
ld hl, wcd29
set 5, [hl]
@@ -3977,7 +3981,7 @@ Function10196d: ; 10196d
ld [wccb4], a
ld hl, wdc5c
ld de, wccb5
- ld bc, $0003
+ ld bc, 3
call CopyBytes
ld hl, wcd6c
ld a, [hli]
@@ -3998,7 +4002,7 @@ Function1019ab: ; 1019ab
xor a
ld [wdc5f], a
ld [wdc60], a
- callba Function8000
+ callba BlankScreen
call SpeechTextBox
callba Function100846
ld c, $78
@@ -4034,8 +4038,8 @@ Function1019ee: ; 1019ee
ld a, c
ld [OtherTrainerClass], a
- ld hl, wd26b
- ld de, wc656
+ ld hl, OTPlayerName
+ ld de, OTName
ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd2f]
@@ -4059,7 +4063,7 @@ Function101a21: ; 101a21
ld a, $1
ld [wc2d7], a
callba BattleIntro
- callba SendOutFirstMons
+ callba DoBattle
callba ShowLinkBattleParticipantsAfterEnd
xor a
ld [wc2d7], a
@@ -4073,7 +4077,7 @@ Function101a21: ; 101a21
Function101a4f: ; 101a4f
ld a, $1
ld [wc2d7], a
- callba Function3f77c
+ callba DetermineMobileBattleResult
xor a
ld [wc2d7], a
callba CleanUpBattleRAM
@@ -4088,7 +4092,7 @@ Function101a4f: ; 101a4f
Function101a75: ; 101a75
ld hl, wcc61
ld de, wcd75
- ld bc, $0003
+ ld bc, 3
call CopyBytes
ld de, wcc64
callba Function100772
@@ -4157,7 +4161,7 @@ Function101aed: ; 101aed
; 101b0f
Function101b0f: ; 101b0f
- ld c, $0
+ ld c, 0
call Function10142c
ld e, $3
call Function101ee4
@@ -4166,7 +4170,7 @@ Function101b0f: ; 101b0f
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101b2b
@@ -4179,9 +4183,9 @@ Function101b2b: ; 101b2b
bit 7, a
ret z
call Function1013dd
- ld a, $0
+ ld a, 0
ld [wcd26], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .asm_101b51
ld a, $2
@@ -4219,7 +4223,7 @@ Function101b70: ; 101b70
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101b8f
@@ -4232,9 +4236,9 @@ Function101b8f: ; 101b8f
bit 7, a
ret z
call Function1013dd
- ld a, $0
+ ld a, 0
ld [wcd26], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .asm_101bbc
ld a, $1
@@ -4260,7 +4264,7 @@ Function101bc8: ; 101bc8
call Function101ee4
call Function102048
call Function1013dd
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -4276,9 +4280,9 @@ Function101be5: ; 101be5
bit 7, a
ret z
call Function1013dd
- ld a, $0
+ ld a, 0
ld [wcd26], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr nz, .asm_101c0b
ld a, $2a
@@ -4355,7 +4359,7 @@ Function101c62: ; 101c62
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101c92
@@ -4378,7 +4382,7 @@ Function101ca0: ; 101ca0
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101cbc
@@ -4465,7 +4469,7 @@ Function101d2a: ; 101d2a
ld a, [wcd26]
bit 7, a
ret z
- ld a, $0
+ ld a, 0
ld [wcd26], a
ld a, [wcd25]
inc a
@@ -4518,7 +4522,7 @@ Function101d7b: ; 101d7b
; 101d8d
Unknown_101d8d: ; 101d8d
- db $15, $15, $1f, $1f, $0c, $12, $3a, $3a
+ db $15, $15, $1f, $1f, $c, $12, $3a, $3a
; 101d95
Function101d95: ; 101d95
@@ -4531,7 +4535,7 @@ Function101d95: ; 101d95
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101db2
@@ -4646,7 +4650,7 @@ Function101e4f: ; 101e4f
ld a, [wcd25]
inc a
ld [wcd25], a
- ld a, $0
+ ld a, 0
ld [wcd26], a
ret
; 101e64
@@ -4740,9 +4744,8 @@ Function101ee2: ; 101ee2
Function101ee4: ; 101ee4
ld d, 0
ld hl, Unknown_101ef5
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld d, [hl]
ld e, a
@@ -4890,7 +4893,7 @@ Function102080: ; 102080
ret
.asm_10208a
- ld [hl], $0
+ ld [hl], 0
scf
ret
; 10208e
@@ -4900,7 +4903,7 @@ Function10208e: ; 10208e
ld h, d
ld l, e
ld de, wdc42
- ld bc, $0008
+ ld bc, 8
call CopyBytes
pop de
ret
@@ -4909,7 +4912,7 @@ Function10208e: ; 10208e
Function10209c: ; 10209c
ld a, $ff
ld hl, wdc42
- ld bc, $0008
+ ld bc, 8
call ByteFill
ret
; 1020a8
@@ -4934,7 +4937,7 @@ Function1020bf: ; 1020bf
jr z, .asm_1020e8
dec a
ld hl, $a04c
- ld bc, $0025
+ ld bc, $25
call AddNTimes
ld d, h
ld e, l
@@ -4998,7 +5001,7 @@ Function102112: ; 102112
.asm_10212f
pop hl
- ld de, $0025
+ ld de, $25
add hl, de
dec c
jr nz, .asm_10211c
@@ -5043,7 +5046,7 @@ Function102142: ; 102142
Function102180: ; 102180
ld hl, wc608 + 1
ld de, StringBuffer2
- ld bc, $000b
+ ld bc, 11
call CopyBytes
ret
; 10218d
@@ -5051,7 +5054,7 @@ Function102180: ; 102180
Function10218d: ; 10218d
ld hl, wdc00
ld de, wc608
- ld bc, $0026
+ ld bc, $26
ld a, $5
call FarCopyWRAM
ld de, wc608 + 1
@@ -5117,13 +5120,13 @@ UnknownText_0x1021f4:
Function1021f9: ; 1021f9
call Function102233
- ld a, $0
+ ld a, $0 ; Function10234b
ld [wcd49], a
ld hl, wcd29
bit 3, [hl]
res 3, [hl]
jr z, .asm_10220f
- ld a, $1
+ ld a, $1 ; Function102361
ld [wcd49], a
.asm_10220f
@@ -5151,7 +5154,7 @@ Function1021f9: ; 1021f9
Function102233: ; 102233
ld hl, wcd49
- ld bc, $000a
+ ld bc, 10
xor a
call ByteFill
call Function10304f
@@ -5197,7 +5200,7 @@ Function102274: ; 102274
bit 3, [hl]
ret z
res 3, [hl]
- ld de, $0008
+ ld de, 8
call PlaySFX
ret
; 102283
@@ -5277,49 +5280,49 @@ Function1022d0: ; 1022d0
; 1022f5
Jumptable_1022f5: ; 1022f5
- dw Function10234b
- dw Function102361
- dw Function10236e
- dw Function102387
- dw Function1023a1
- dw Function1025c7
- dw Function1025dc
- dw Function1024f6
- dw Function10250c
- dw Function1024a8
- dw Function102591
- dw Function1024a8
- dw Function1025b0
- dw Function1025bd
- dw Function102814
- dw Function10283c
- dw Function102862
- dw Function10286f
- dw Function1024a8
- dw Function1028a5
- dw Function1028ab
- dw Function1023b5
- dw Function1023c6
- dw Function1024af
- dw Function102416
- dw Function102423
- dw Function10244b
- dw Function1024af
- dw Function10246a
- dw Function102652
- dw Function10266b
- dw Function1025e9
- dw Function1025ff
- dw Function102738
- dw Function102754
- dw Function1026b7
- dw Function1026c8
- dw Function1028bf
- dw Function1028c6
- dw Function1028d3
- dw Function1028da
- dw Function1024a8
- dw Function10248d
+ dw Function10234b ; 00
+ dw Function102361 ; 01
+ dw Function10236e ; 02
+ dw Function102387 ; 03
+ dw Function1023a1 ; 04
+ dw Function1025c7 ; 05
+ dw Function1025dc ; 06
+ dw Function1024f6 ; 07
+ dw Function10250c ; 08
+ dw Function1024a8 ; 09
+ dw Function102591 ; 0a
+ dw Function1024a8 ; 0b
+ dw Function1025b0 ; 0c
+ dw Function1025bd ; 0d
+ dw Function102814 ; 0e
+ dw Function10283c ; 0f
+ dw Function102862 ; 10
+ dw Function10286f ; 11
+ dw Function1024a8 ; 12
+ dw Function1028a5 ; 13
+ dw Function1028ab ; 14
+ dw Function1023b5 ; 15
+ dw Function1023c6 ; 16
+ dw Function1024af ; 17
+ dw Function102416 ; 18
+ dw Function102423 ; 19
+ dw Function10244b ; 1a
+ dw Function1024af ; 1b
+ dw Function10246a ; 1c
+ dw Function102652 ; 1d
+ dw Function10266b ; 1e
+ dw Function1025e9 ; 1f
+ dw Function1025ff ; 20
+ dw Function102738 ; 21
+ dw Function102754 ; 22
+ dw Function1026b7 ; 23
+ dw Function1026c8 ; 24
+ dw Function1028bf ; 25
+ dw Function1028c6 ; 26
+ dw Function1028d3 ; 27
+ dw Function1028da ; 28
+ dw Function1024a8 ; 29
+ dw Function10248d ; 2a
; 10234b
Function10234b: ; 10234b
@@ -5370,7 +5373,7 @@ Function102387: ; 102387
call Function102d9a
call Function102dd3
ld a, $1
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
Function1023a1: ; 1023a1
call Function102283
@@ -5401,12 +5404,12 @@ Function1023c6: ; 1023c6
ld [CurPartyMon], a
xor a
ld [wd10b], a
- callba Functione039
+ callba RemoveMonFromPartyOrBox
ld hl, PartyCount
inc [hl]
ld a, [hli]
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld [hl], $ff
ld a, [PartyCount]
@@ -5419,9 +5422,9 @@ Function1023c6: ; 1023c6
set 1, [hl]
ld a, $14
ld [wcd4e], a
- ld a, $0
+ ld a, 0
ld [wcd4f], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -5446,7 +5449,7 @@ Function102423: ; 102423
callba BackupMobileEventIndex
ld hl, wcd4b
set 1, [hl]
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -5460,9 +5463,9 @@ Function10244b: ; 10244b
set 1, [hl]
ld a, $19
ld [wcd4e], a
- ld a, $0
+ ld a, 0
ld [wcd4f], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -5502,7 +5505,7 @@ Function102496: ; 102496
ld hl, wcd4e
dec [hl]
ret nz
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -5555,7 +5558,7 @@ Function1024de: ; 1024de
ret z
.asm_1024e9
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -5564,7 +5567,7 @@ Function1024de: ; 1024de
; 1024f6
Function1024f6: ; 1024f6
- call Function1bee
+ call PlaceHollowCursor
ld hl, wcd4b
set 1, [hl]
ld a, [wcd4c]
@@ -5608,7 +5611,7 @@ Function10250c: ; 10250c
call Function103021
ld hl, wcd4b
set 1, [hl]
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, $1e
ld [wcd4e], a
@@ -5633,7 +5636,7 @@ Function10250c: ; 10250c
.asm_102577
ld hl, wcd4b
set 1, [hl]
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, $1e
ld [wcd4e], a
@@ -5648,7 +5651,7 @@ Function102591: ; 102591
call Function102ee7
ld hl, wcd4b
set 1, [hl]
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, $1e
ld [wcd4e], a
@@ -5716,43 +5719,43 @@ Function1025ff: ; 1025ff
set 2, [hl]
callba Function1009f3
ret c
- callba Function241ba
- ld a, [wcfa8]
+ callba MobileMenuJoypad
+ ld a, [wMenuJoypadFilter]
and c
ret z
- bit 0, c
- jr nz, .asm_102623
- bit 6, c
- jr nz, .asm_10262e
- bit 7, c
- jr nz, .asm_102646
+ bit A_BUTTON_F, c
+ jr nz, .a_button
+ bit D_UP_F, c
+ jr nz, .d_up
+ bit D_DOWN_F, c
+ jr nz, .d_down
ret
-.asm_102623
+.a_button
ld hl, wcd4b
set 3, [hl]
- ld a, $27
+ ld a, $27 ; Function1028d3
ld [wcd49], a
ret
-.asm_10262e
- ld a, [MenuSelection2]
+.d_up
+ ld a, [wMenuCursorY]
ld b, a
ld a, [OTPartyCount]
cp b
ret nz
- call Function1bf7
+ call HideCursor
ld a, [PartyCount]
- ld [MenuSelection2], a
- ld a, $1d
+ ld [wMenuCursorY], a
+ ld a, $1d ; Function102652
ld [wcd49], a
ret
-.asm_102646
- ld a, [MenuSelection2]
+.d_down
+ ld a, [wMenuCursorY]
cp $1
ret nz
- ld a, $23
+ ld a, $23 ; Function1026b7
ld [wcd49], a
ret
; 102652
@@ -5778,41 +5781,41 @@ Function10266b: ; 10266b
set 2, [hl]
callba Function1009f3
ret c
- callba Function241ba
- ld a, [wcfa8]
+ callba MobileMenuJoypad
+ ld a, [wMenuJoypadFilter]
and c
ret z
- bit 0, c
- jr nz, .asm_10268f
- bit 7, c
- jr nz, .asm_10269a
- bit 6, c
- jr nz, .asm_1026a8
+ bit A_BUTTON_F, c
+ jr nz, .a_button
+ bit D_DOWN_F, c
+ jr nz, .d_down
+ bit D_UP_F, c
+ jr nz, .d_up
ret
-.asm_10268f
+.a_button
ld hl, wcd4b
set 3, [hl]
- ld a, $21
+ ld a, $21 ; Function102738
ld [wcd49], a
ret
-.asm_10269a
- ld a, [MenuSelection2]
+.d_down
+ ld a, [wMenuCursorY]
dec a
ret nz
- call Function1bf7
- ld a, $1f
+ call HideCursor
+ ld a, $1f ; Function1025e9
ld [wcd49], a
ret
-.asm_1026a8
- ld a, [MenuSelection2]
+.d_up
+ ld a, [wMenuCursorY]
ld b, a
ld a, [PartyCount]
cp b
ret nz
- ld a, $23
+ ld a, $23 ; Function1026b7
ld [wcd49], a
ret
; 1026b7
@@ -5823,7 +5826,7 @@ Function1026b7: ; 1026b7
ld a, [wcd49]
inc a
ld [wcd49], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
Function1026c8: ; 1026c8
@@ -5842,7 +5845,7 @@ Jumptable_1026da: ; 1026da
; 1026de
Function1026de: ; 1026de
- call Function1bf7
+ call HideCursor
hlcoord 9, 17
ld [hl], $ed
ld a, [wcd4a]
@@ -5855,40 +5858,40 @@ Function1026de: ; 1026de
Function1026f3: ; 1026f3
ld a, [hJoyPressed]
- bit 0, a
+ bit A_BUTTON_F, a
jr nz, .asm_102723
- bit 6, a
+ bit D_UP_F, a
jr nz, .asm_102712
- bit 7, a
+ bit D_DOWN_F, a
jr nz, .asm_102702
ret
.asm_102702
hlcoord 9, 17
- ld [hl], $7f
+ ld [hl], " "
ld a, $1
- ld [MenuSelection2], a
- ld a, $1d
+ ld [wMenuCursorY], a
+ ld a, $1d ; Function102652
ld [wcd49], a
ret
.asm_102712
hlcoord 9, 17
- ld [hl], $7f
+ ld [hl], " "
ld a, [OTPartyCount]
- ld [MenuSelection2], a
- ld a, $1f
+ ld [wMenuCursorY], a
+ ld a, $1f ; Function1025e9
ld [wcd49], a
ret
.asm_102723
hlcoord 9, 17
- ld [hl], $ec
+ ld [hl], "▷"
ld hl, wcd4b
set 3, [hl]
ld hl, wcd4b
set 2, [hl]
- ld a, $5
+ ld a, $5 ; Function1025c7
ld [wcd49], a
ret
; 102738
@@ -5896,14 +5899,14 @@ Function1026f3: ; 1026f3
Function102738: ; 102738
ld hl, wcd4b
set 6, [hl]
- call Function1bee
+ call PlaceHollowCursor
call Function1027eb
ld hl, wcd4b
set 1, [hl]
ld a, [wcd49]
inc a
ld [wcd49], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
Function102754: ; 102754
@@ -5930,9 +5933,9 @@ Function102770: ; 102770
Function102775: ; 102775
hlcoord 1, 16
- ld [hl], $ed
+ ld [hl], "▶"
hlcoord 11, 16
- ld [hl], $7f
+ ld [hl], " "
ld hl, wcd4b
set 2, [hl]
ld a, [wcd4a]
@@ -5943,23 +5946,22 @@ Function102775: ; 102775
Function10278c: ; 10278c
ld a, [hJoyPressed]
- bit 0, a
+ bit A_BUTTON_F, a
jr nz, asm_1027c6
- bit 1, a
+ bit B_BUTTON_F, a
jr nz, asm_1027e2
- bit 4, a
+ bit D_RIGHT_F, a
jr nz, .asm_10279b
ret
.asm_10279b
ld a, $3
ld [wcd4a], a
-
Function1027a0: ; 1027a0
hlcoord 1, 16
- ld [hl], $7f
+ ld [hl], " "
hlcoord 11, 16
- ld [hl], $ed
+ ld [hl], "▶"
ld hl, wcd4b
set 2, [hl]
ld a, [wcd4a]
@@ -5969,56 +5971,56 @@ Function1027a0: ; 1027a0
Function1027b7: ; 1027b7
ld a, [hJoyPressed]
- bit 0, a
+ bit A_BUTTON_F, a
jr nz, asm_1027d1
- bit 1, a
+ bit B_BUTTON_F, a
jr nz, asm_1027e2
- bit 5, a
+ bit D_LEFT_F, a
jr nz, Function102770
ret
asm_1027c6:
ld hl, wcd4b
set 3, [hl]
- ld a, $25
+ ld a, $25 ; Function1028bf
ld [wcd49], a
ret
asm_1027d1:
ld hl, wcd4b
set 3, [hl]
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wcd4c], a
- ld a, $7
+ ld a, $7 ; Function1024f6
ld [wcd49], a
ret
asm_1027e2:
call Function102db7
- ld a, $1d
+ ld a, $1d ; Function102652
ld [wcd49], a
ret
; 1027eb
Function1027eb: ; 1027eb
hlcoord 0, 14
- ld b, $2
- ld c, $12
+ ld b, 2
+ ld c, 18
ld d, h
ld e, l
- callba Function16d61d
- ld de, String_102804
+ callba _LinkTextbox
+ ld de, .Stats_Trade
hlcoord 2, 16
call PlaceString
ret
; 102804
-String_102804: ; 102804
+.Stats_Trade: ; 102804
db "STATS TRADE@"
; 102814
Function102814: ; 102814
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wcd52], a
ld a, [wcd4c]
dec a
@@ -6030,7 +6032,7 @@ Function102814: ; 102814
ld a, [wcd49]
inc a
ld [wcd49], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld hl, wcd4b
set 1, [hl]
@@ -6041,14 +6043,14 @@ Function10283c: ; 10283c
call Function1029c3
ret z
jr c, .asm_102852
- ld a, $10
+ ld a, $10 ; Function102862
ld [wcd49], a
ld hl, wcd4b
set 1, [hl]
ret
.asm_102852
- ld a, $14
+ ld a, $14 ; Function1028ab
ld [wcd49], a
ld hl, wcd4b
set 3, [hl]
@@ -6070,11 +6072,11 @@ Function10286f: ; 10286f
call Function1028fc
ret nc
ld a, [wcd52]
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld a, [wcd51]
cp $8
jr nz, .asm_102886
- ld a, $15
+ ld a, $15 ; Function1023b5
ld [wcd49], a
ret
@@ -6086,7 +6088,7 @@ Function10286f: ; 10286f
ld [wcd4e], a
ld a, $3c
ld [wcd4f], a
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ld a, [wcd49]
inc a
@@ -6095,18 +6097,18 @@ Function10286f: ; 10286f
; 1028a5
Function1028a5: ; 1028a5
- ld a, $4
+ ld a, $4 ; Function1023a1
ld [wcd49], a
ret
; 1028ab
Function1028ab: ; 1028ab
ld a, [wcd52]
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
call Function102f15
ld hl, wcd4b
set 1, [hl]
- ld a, $c
+ ld a, $c ; Function1025b0
ld [wcd49], a
ret
; 1028bf
@@ -6120,7 +6122,7 @@ Function1028c6: ; 1028c6
xor a
ld [MonType], a
call Function102bac
- ld a, $1d
+ ld a, $1d ; Function102652
ld [wcd49], a
ret
; 1028d3
@@ -6131,10 +6133,10 @@ Function1028d3: ; 1028d3
ld [wcd49], a
Function1028da: ; 1028da
- ld a, $1
+ ld a, OTPARTYMON
ld [MonType], a
call Function102bac
- ld a, $1f
+ ld a, $1f ; Function1025e9
ld [wcd49], a
ret
; 1028e8
@@ -6144,7 +6146,7 @@ Function1028e8: ; 1028e8
res 6, [hl]
ld [wcd50], a
callba Function100641
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ret
; 1028fc
@@ -6161,7 +6163,7 @@ Function1028fc: ; 1028fc
ld hl, Jumptable_102917
rst JumpTable
ret nc
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ret
; 102917
@@ -6179,7 +6181,7 @@ Function102921: ; 102921
ld hl, Jumptable_10292f
rst JumpTable
ret nc
- ld a, $0
+ ld a, 0
ld [wcd4a], a
ret
; 10292f
@@ -6217,7 +6219,7 @@ Function10294f: ; 10294f
Function10295d: ; 10295d
call Function10299e
- ld a, $0
+ ld a, 0
ld [wcd27], a
ld a, [wcd4a]
inc a
@@ -6298,18 +6300,18 @@ Jumptable_1029cb: ; 1029cb
Function1029cf: ; 1029cf
call LoadStandardMenuDataHeader
hlcoord 10, 7
- ld b, $3
- ld c, $8
+ ld b, 3
+ ld c, 8
ld d, h
ld e, l
- callba Function16d61d
+ callba _LinkTextbox
ld de, String_102a26
hlcoord 12, 8
call PlaceString
ld hl, wcd4b
set 1, [hl]
- ld de, Unknown_102a33
- call InitMenu3
+ ld de, MenuData3_102a33
+ call SetMenuAttributes
ld a, [wcd4a]
inc a
ld [wcd4a], a
@@ -6320,15 +6322,15 @@ Function1029cf: ; 1029cf
Function1029fe: ; 1029fe
callba Function1009f3
ret c
- callba Function241ba
+ callba MobileMenuJoypad
ld a, c
- ld hl, wcfa8
+ ld hl, wMenuJoypadFilter
and [hl]
ret z
push af
call ExitMenu
pop af
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr nz, .asm_102a21
ld a, $1
@@ -6348,47 +6350,51 @@ String_102a26: ; 102a26
db "@"
; 102a33
-Unknown_102a33:
- db $08, $0b, $02, $01, $80, $00, $20, $01
+MenuData3_102a33:
+ db 8, 11
+ db 2, 1
+ db $80, $00
+ dn 2, 0
+ db A_BUTTON
Function102a3b: ; 102a3b
ld a, [wcd30]
ld [wc74e], a
ld hl, PlayerName
ld de, wc6e7
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd4c]
dec a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, PartySpecies
add hl, bc
ld a, [hl]
- ld [wc6d0], a
+ ld [wPlayerTrademonSpecies], a
ld a, [wcd4c]
dec a
ld hl, PartyMonOT
call SkipNames
- ld de, wc6f2
- ld bc, $000b
+ ld de, wPlayerTrademonOTName
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd4c]
dec a
ld hl, PartyMon1ID
call GetPartyLocation
ld a, [hli]
- ld [wc6ff], a
+ ld [wPlayerTrademonID], a
ld a, [hl]
- ld [wc700], a
+ ld [wPlayerTrademonID + 1], a
ld a, [wcd4c]
dec a
ld hl, PartyMon1DVs
call GetPartyLocation
ld a, [hli]
- ld [wc6fd], a
+ ld [wPlayerTrademonDVs], a
ld a, [hl]
- ld [wc6fe], a
+ ld [wPlayerTrademonDVs + 1], a
ld a, [wcd4c]
dec a
ld hl, PartyMon1Species
@@ -6397,42 +6403,43 @@ Function102a3b: ; 102a3b
ld c, l
callba GetCaughtGender
ld a, c
- ld [wc701], a
- ld hl, wd26b
- ld de, wc719
- ld bc, $000b
+ ld [wPlayerTrademonCaughtData], a
+ ld hl, OTPlayerName
+ ld de, wOTTrademonSenderName
+ ld bc, NAME_LENGTH
call CopyBytes
+
ld a, [wcd4d]
dec a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, OTPartySpecies
add hl, bc
ld a, [hl]
- ld [wc702], a
+ ld [wOTTrademonSpecies], a
ld a, [wcd4d]
dec a
ld hl, OTPartyMonOT
call SkipNames
- ld de, wc724
- ld bc, $000b
+ ld de, wOTTrademonOTName
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [wcd4d]
dec a
ld hl, OTPartyMon1ID
call GetPartyLocation
ld a, [hli]
- ld [wEnemyWrapCount], a
+ ld [wOTTrademonID], a
ld a, [hl]
- ld [wPlayerCharging], a
+ ld [wOTTrademonID + 1], a
ld a, [wcd4d]
dec a
ld hl, OTPartyMon1DVs
call GetPartyLocation
ld a, [hli]
- ld [wEnemyTrappingMove], a
+ ld [wOTTrademonDVs], a
ld a, [hl]
- ld [wPlayerWrapCount], a
+ ld [wOTTrademonDVs + 1], a
ld a, [wcd4d]
dec a
ld hl, OTPartyMon1Species
@@ -6441,12 +6448,12 @@ Function102a3b: ; 102a3b
ld c, l
callba GetCaughtGender
ld a, c
- ld [wEnemyCharging], a
+ ld [wOTTrademonCaughtData], a
ret
; 102b12
Function102b12: ; 102b12
- ld c, $64
+ ld c, 100
call DelayFrames
call Function102d9a
call LoadFontsBattleExtra
@@ -6468,7 +6475,7 @@ Function102b32: ; 102b32
dec a
ld [CurPartyMon], a
ld a, $1
- ld [wd1e9], a
+ ld [wForceEvolution], a
callba EvolvePokemon
call Function102d9a
call Function102dd3
@@ -6477,67 +6484,75 @@ Function102b32: ; 102b32
; 102b4e
Function102b4e: ; 102b4e
- ld a, $1
+ ld a, OTPARTYMON
ld [MonType], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
push af
ld de, Unknown_102b73
- call InitMenu3
+ call SetMenuAttributes
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld a, [OTPartyCount]
- ld [wcfa3], a
+ ld [w2DMenuNumRows], a
ret
; 102b68
Function102b68: ; 102b68 ; unreferenced
xor a
- ld hl, wcf71
- ld bc, $0010
+ ld hl, wWindowStackPointer
+ ld bc, $10
call ByteFill
ret
; 102b73
Unknown_102b73:
- db $09, $06, $ff, $01, $a0, $00, $10, $c1
+ db 9, 6
+ db 255, 1
+ db $a0, $00
+ dn 1, 0
+ db D_UP | D_DOWN | A_BUTTON
Function102b7b: ; 102b7b
xor a
ld [MonType], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
push af
ld de, Unknown_102b94
- call InitMenu3
+ call SetMenuAttributes
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld a, [PartyCount]
- ld [wcfa3], a
+ ld [w2DMenuNumRows], a
ret
; 102b94
Unknown_102b94:
- db $01, $06, $ff, $01, $a0, $00, $10, $c1
+ db 1, 6
+ db 255, 1
+ db $a0, $00
+ dn 1, 0
+ db D_UP | D_DOWN | A_BUTTON
Function102b9c: ; 102b9c
ld a, [wcd4d]
dec a
hlcoord 6, 9
- ld bc, $0014
+ ld bc, $14
call AddNTimes
ld [hl], $ec
ret
; 102bac
Function102bac: ; 102bac
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld [CurPartyMon], a
call LowVolume
call ClearSprites
- callba Function4dc8f
+ callba _BattleStatsScreenInit
ld a, [CurPartyMon]
inc a
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
call Function102d9a
call ClearPalettes
call DelayFrame
@@ -6556,7 +6571,7 @@ Function102bdc: ; 102bdc
push hl
ld a, [wcd4d]
ld c, a
- ld b, $0
+ ld b, 0
ld hl, OTPartyCount
add hl, bc
ld a, [hl]
@@ -6591,7 +6606,7 @@ Function102c07: ; 102c07
Function102c14: ; 102c14
ld hl, PartySpecies
ld de, OTPartySpecies
- ld bc, $0001
+ ld bc, 1
call Function102c71
ret
; 102c21
@@ -6599,7 +6614,7 @@ Function102c14: ; 102c14
Function102c21: ; 102c21
ld hl, PartyMonNicknames
ld de, OTPartyMonNicknames
- ld bc, $000b
+ ld bc, 11
call Function102c71
ret
; 102c2e
@@ -6607,7 +6622,7 @@ Function102c21: ; 102c21
Function102c2e: ; 102c2e
ld hl, PartyMonOT
ld de, OTPartyMonOT
- ld bc, $000b
+ ld bc, 11
call Function102c71
ret
; 102c3b
@@ -6615,23 +6630,23 @@ Function102c2e: ; 102c2e
Function102c3b: ; 102c3b
ld hl, PartyMon1
ld de, OTPartyMon1
- ld bc, $0030
+ ld bc, $30
call Function102c71
ret
; 102c48
Function102c48: ; 102c48
callba Function10165a
- ld a, $0
+ ld a, 0
call GetSRAMBank
ld hl, $a600
ld de, wc608
- ld bc, $002f
+ ld bc, $2f
call Function102c71
call CloseSRAM
ld hl, wc608
ld de, wda00
- ld bc, $01e0
+ ld bc, $1e0
ld a, $5
call FarCopyWRAM
ret
@@ -6661,16 +6676,16 @@ Function102c87: ; 102c87
ld [wJumptableIndex], a
ld a, [PartyCount]
ld [wcf64], a
- ld a, $0
+ ld a, 0
ld hl, $a600
ld de, wc608
- ld bc, $011a
+ ld bc, $11a
call Function102d3e
call Function102cee
- ld a, $0
+ ld a, 0
ld hl, wc608
ld de, $a600
- ld bc, $011a
+ ld bc, $11a
call Function102d3e
ld a, [wcd4d]
ld [wJumptableIndex], a
@@ -6679,13 +6694,13 @@ Function102c87: ; 102c87
ld a, $5
ld hl, wda00
ld de, wc608
- ld bc, $011a
+ ld bc, $11a
call FarCopyWRAM
call Function102cee
ld a, $5
ld hl, wc608
ld de, wda00
- ld bc, $011a
+ ld bc, $11a
call FarCopyWRAM
pop af
ld [wcf64], a
@@ -6699,14 +6714,14 @@ Function102cee: ; 102cee
dec a
call Function102d34
ld de, wd002
- ld bc, $002f
+ ld bc, $2f
call CopyBytes
ld a, [wJumptableIndex]
ld c, a
ld a, $6
sub c
ret z
- ld bc, $002f
+ ld bc, $2f
ld hl, 0
call AddNTimes
push hl
@@ -6715,7 +6730,7 @@ Function102cee: ; 102cee
call Function102d34
ld d, h
ld e, l
- ld hl, $002f
+ ld hl, $2f
add hl, de
pop bc
call CopyBytes
@@ -6725,14 +6740,14 @@ Function102cee: ; 102cee
ld d, h
ld e, l
ld hl, wd002
- ld bc, $002f
+ ld bc, $2f
call CopyBytes
ret
; 102d34
Function102d34: ; 102d34
ld hl, wc608
- ld bc, $002f
+ ld bc, $2f
call AddNTimes
ret
; 102d3e
@@ -6774,11 +6789,11 @@ Function102d48: ; 102d48
call AddNTimes
predef GetUnownLetter
callba UpdateUnownDex
- ld a, [wdef4]
+ ld a, [wFirstUnownSeen]
and a
jr nz, .asm_102d98
ld a, [UnownLetter]
- ld [wdef4], a
+ ld [wFirstUnownSeen], a
.asm_102d98
and a
@@ -6812,7 +6827,7 @@ Function102dc3: ; 102dc3
ld c, $12
ld d, h
ld e, l
- callba Function16d61d
+ callba _LinkTextbox
ret
; 102dd3
@@ -6822,7 +6837,7 @@ Function102dd3: ; 102dd3
ld hl, VTiles0
lb bc, BANK(GFX_1032a2), 4
call Get2bpp
- callba Function16d421
+ callba __LoadTradeScreenBorder
call EnableLCD
ret
; 102dec
@@ -6830,7 +6845,7 @@ Function102dd3: ; 102dd3
Function102dec: ; 102dec
ld hl, Unknown_1032e2
ld de, UnknOBPals
- ld bc, $0020
+ ld bc, $20
ld a, $5
call FarCopyWRAM
callba Function49742
@@ -6855,7 +6870,7 @@ Function102e07: ; 102e07
ld c, $b
ld d, h
ld e, l
- callba Function16d61d
+ callba _LinkTextbox
.asm_102e28
ld de, String_102e32
@@ -6881,13 +6896,13 @@ String_102e48: ; 102e48
Function102e4f: ; 102e4f
callba Function16d42e
- callba Function49797
+ callba _InitMG_Mobile_LinkTradePalMap
ld de, PlayerName
hlcoord 4, 0
call PlaceString
ld a, $14
ld [bc], a
- ld de, wd26b
+ ld de, OTPlayerName
hlcoord 4, 8
call PlaceString
ld a, $14
@@ -6902,7 +6917,7 @@ Function102e4f: ; 102e4f
; 102e86
Function102e86: ; 102e86
- ld c, $0
+ ld c, 0
.asm_102e88
ld a, [de]
cp $ff
@@ -6920,7 +6935,7 @@ Function102e86: ; 102e86
pop de
inc de
pop hl
- ld bc, $0014
+ ld bc, $14
add hl, bc
pop bc
inc c
@@ -6932,7 +6947,7 @@ Function102ea8: ; 102ea8
ld a, [wcd4c]
dec a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, PartySpecies
add hl, bc
ld a, [hl]
@@ -6940,12 +6955,12 @@ Function102ea8: ; 102ea8
call GetPokemonName
ld hl, StringBuffer1
ld de, StringBuffer2
- ld bc, $000b
+ ld bc, 11
call CopyBytes
ld a, [wcd4d]
dec a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, OTPartySpecies
add hl, bc
ld a, [hl]
@@ -7025,7 +7040,7 @@ String_102f7a: ; 102f7a
Function102f85: ; 102f85
ld a, [wd003]
ld c, a
- ld b, $0
+ ld b, 0
ld hl, OTPartySpecies
add hl, bc
ld a, [hl]
@@ -7200,7 +7215,7 @@ endr
ld hl, wcd4b
bit 7, [hl]
pop hl
- ld a, $0
+ ld a, 0
jr z, .asm_1030eb
ld a, $5
.asm_1030eb
@@ -7209,9 +7224,8 @@ endr
inc hl
push hl
-rept 2
add a
-endr
+ add a
add Unknown_10327a % $100
ld l, a
@@ -7245,77 +7259,77 @@ endr
; 103112
Unknown_103112: ; 103112
- 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, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $00, $00, $00, $00, $00, $00, $00, $00
- db $01, $00, $00, $00, $00, $00, $00, $00
- db $02, $01, $00, $00, $00, $00, $00, $00
- db $03, $02, $01, $00, $00, $00, $00, $00
- db $04, $03, $02, $01, $00, $00, $00, $00
- db $04, $04, $03, $02, $01, $00, $00, $00
- db $04, $04, $04, $03, $02, $01, $00, $00
- db $04, $04, $04, $04, $03, $02, $01, $00
- db $04, $04, $04, $04, $04, $03, $02, $01
- db $04, $04, $04, $04, $04, $04, $03, $02
- db $04, $04, $04, $04, $04, $04, $04, $03
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $04, $04, $04, $04, $04, $04, $04, $04
- db $03, $04, $04, $04, $04, $04, $04, $04
- db $02, $03, $04, $04, $04, $04, $04, $04
- db $01, $02, $03, $04, $04, $04, $04, $04
- db $00, $01, $02, $03, $04, $04, $04, $04
- db $00, $00, $01, $02, $03, $04, $04, $04
- db $00, $00, $00, $01, $02, $03, $04, $04
- db $00, $00, $00, $00, $01, $02, $03, $04
- db $00, $00, $00, $00, $00, $01, $02, $03
- db $00, $00, $00, $00, $00, $00, $01, $02
- db $00, $00, $00, $00, $00, $00, $00, $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, $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 $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $1, $0, $0, $0, $0, $0, $0, $
+ db $2, $1, $0, $0, $0, $0, $0, $
+ db $3, $2, $1, $0, $0, $0, $0, $
+ db $4, $3, $2, $1, $0, $0, $0, $
+ db $4, $4, $3, $2, $1, $0, $0, $
+ db $4, $4, $4, $3, $2, $1, $0, $
+ db $4, $4, $4, $4, $3, $2, $1, $
+ db $4, $4, $4, $4, $4, $3, $2, $1
+ db $4, $4, $4, $4, $4, $4, $3, $2
+ db $4, $4, $4, $4, $4, $4, $4, $3
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $4, $4, $4, $4, $4, $4, $4, $4
+ db $3, $4, $4, $4, $4, $4, $4, $4
+ db $2, $3, $4, $4, $4, $4, $4, $4
+ db $1, $2, $3, $4, $4, $4, $4, $4
+ db $0, $1, $2, $3, $4, $4, $4, $4
+ db $0, $0, $1, $2, $3, $4, $4, $4
+ db $0, $0, $0, $1, $2, $3, $4, $4
+ db $0, $0, $0, $0, $1, $2, $3, $4
+ db $0, $0, $0, $0, $0, $1, $2, $3
+ db $0, $0, $0, $0, $0, $0, $1, $2
+ db $0, $0, $0, $0, $0, $0, $0, $1
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
+ db $0, $0, $0, $0, $0, $0, $0, $
; 10327a
Unknown_10327a: ; 10327a
- db $00, $00, $00, $00
- db $00, $00, $01, $00
- db $00, $00, $02, $00
- db $00, $00, $03, $00
- db $00, $00, $01, $01
- db $00, $00, $00, $00
- db $00, $00, $01, $02
- db $00, $00, $02, $02
- db $00, $00, $03, $02
- db $00, $00, $01, $03
+ db $0, $0, $0, $
+ db $0, $0, $1, $
+ db $0, $0, $2, $
+ db $0, $0, $3, $
+ db $0, $0, $1, $1
+ db $0, $0, $0, $
+ db $0, $0, $1, $2
+ db $0, $0, $2, $2
+ db $0, $0, $3, $2
+ db $0, $0, $1, $3
GFX_1032a2:
INCBIN "gfx/unknown/1032a2.2bpp"
Unknown_1032e2:
- db $00, $00, $ff, $1f
+ db $0, $0, $ff, $1f
db $f4, $1b, $8d, $42
- db $00, $00, $67, $45
- db $00, $00, $00, $00
- db $00, $00, $1f, $13
- db $99, $01, $ff, $10
- db $00, $00, $19, $00
- db $00, $00, $00, $00
+ db $0, $0, $67, $45
+ db $0, $0, $0, $
+ db $0, $0, $1f, $13
+ db $99, $1, $ff, $10
+ db $0, $0, $19, $
+ db $0, $0, $0, $
; 103302
Function103302: ; 103302
@@ -7328,7 +7342,7 @@ Function103309: ; 103309
xor a
ld [hBGMapMode], a
ld hl, Buffer1
- ld bc, $000a
+ ld bc, 10
xor a
call ByteFill
ld a, $4
@@ -7402,7 +7416,7 @@ Function10339a: ; 10339a
ld a, [wd1f0]
ld [wd1f2], a
ld c, a
- ld b, $0
+ ld b, 0
ld hl, wd1ec
ld a, [hli]
ld h, [hl]
@@ -7478,7 +7492,7 @@ Function1033af: ; 1033af
ret z
ld de, SFX_PUSH_BUTTON
call PlaySFX
- ld bc, $0008
+ ld bc, 8
call Function10350f
ld a, [Buffer1]
xor e
@@ -7499,7 +7513,7 @@ Function10343c: ; 10343c
ld a, [wd1f3]
cp $2
jr nz, .asm_103452
- ld bc, $0001
+ ld bc, 1
call Function1034f7
ld c, $12
ld b, $1
@@ -7516,19 +7530,19 @@ Function10343c: ; 10343c
.asm_10345f
ld bc, 0
call Function10350f
- ld bc, $0001
+ ld bc, 1
call Function103487
- ld bc, $0008
+ ld bc, 8
call Function10350f
ld a, [Buffer1]
and e
- ld bc, $0002
+ ld bc, 2
jr z, .asm_10347d
- ld bc, $0004
+ ld bc, 4
.asm_10347d
call Function10350f
- ld bc, $000b
+ ld bc, 11
call Function103487
ret
; 103487
@@ -7546,7 +7560,7 @@ Function103490: ; 103490
ld c, $14
ld b, $3
call Function1034e0
- ld bc, $0006
+ ld bc, 6
call Function10350f
hlcoord 1, 16
call PlaceString
@@ -7556,10 +7570,10 @@ Function103490: ; 103490
Function1034a7: ; 1034a7
ld a, [wd1f1]
ld [wd1f2], a
- ld bc, $000a
+ ld bc, 10
call Function1034f7
ld [hl], $7f
- ld bc, $000a
+ ld bc, 10
call Function1034f1
ld [hl], $ed
ret
@@ -7623,7 +7637,7 @@ Function10350f: ; 10350f
ld a, [wd1f3]
push bc
ld hl, Unknown_103522
- ld bc, $0009
+ ld bc, 9
call AddNTimes
pop bc
add hl, bc
@@ -7674,9 +7688,8 @@ Function1035c6: ; 1035c6
callba Function10138b
ld b, 0
ld hl, Unknown_1035d7
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -7689,35 +7702,34 @@ Unknown_1035d7: ; 1035d7
dw Unknown_103608
dw Unknown_103608
dw Unknown_1035fe
-
dw AskMobileOrCable
dw AskMobileOrCable
dw AskMobileOrCable
Unknown_1035e7: ; 1035e7
dwcoord 0, 6
- db $12, $07, $07
+ db $12, $7, $7
dw .this
.this
db 4, 2, 1, 0, 3
Unknown_1035f3: ; 1035f3
dwcoord 0, 7
- db $12, $06, $09
+ db $12, $6, $9
dw .this
.this
db 3, 2, 1, 3
Unknown_1035fe: ; 1035fe
dwcoord 0, 9
- db $12, $04, $0b
+ db $12, $4, $b
dw .this
.this
db 2, 0, 3
Unknown_103608: ; 103608
dwcoord 0, 9
- db $12, $04, $0b
+ db $12, $4, $b
dw .this
.this
db 2, 2, 3
@@ -7732,10 +7744,10 @@ AskMobileOrCable: ; 103612
ld [wMenuCursorBuffer], a
.skip_load
- call InterpretMenu2
- call WriteBackup
+ call VerticalMenu
+ call CloseWindow
jr c, .pressed_b
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [ScriptVar], a
ld c, a
ld a, [wdc40]
@@ -7765,7 +7777,7 @@ MenuData2_103648: ; 103648
; 103654
Function103654: ; 103654
- callba Function10632f
+ callba Mobile_AlwaysReturnNotCarry
bit 7, c
jr nz, .asm_103666
ld hl, wcd2a
@@ -7781,14 +7793,14 @@ Function103654: ; 103654
; 10366e
Mobile_SelectThreeMons: ; 10366e
- callba Function10632f
+ callba Mobile_AlwaysReturnNotCarry
bit 7, c
jr z, .asm_10369b
ld hl, UnknownText_0x10375d
call PrintText
call YesNoBox
jr c, .asm_103696
- callba Function8b1e1
+ callba CheckForMobileBattleRules
jr nc, .asm_103690
call JoyWaitAorB
jr .asm_103696
@@ -7820,10 +7832,10 @@ Mobile_SelectThreeMons: ; 10366e
jr c, .asm_1036f4
ld hl, MenuDataHeader_103747
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
call ExitMenu
jr c, .asm_1036f4
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .asm_1036d9
cp $2
@@ -7833,7 +7845,7 @@ Mobile_SelectThreeMons: ; 10366e
jr .asm_1036b5
.asm_1036d9
- callba Function8b1e1
+ callba CheckForMobileBattleRules
jr nc, .asm_1036e6
call JoyWaitAorB
jr .asm_1036f4
@@ -7959,7 +7971,7 @@ Function103780: ; 103780
; 10378c
Function10378c: ; 10378c
- ld c, $0
+ ld c, 0
ld hl, SwarmFlags
bit 4, [hl]
jr nz, .already_set
@@ -8055,7 +8067,7 @@ UnknownText_0x10381e: ; 0x10381e
; 0x103823
Function103823: ; 103823
- callba Function10632f
+ callba Mobile_AlwaysReturnNotCarry
bit 7, c
jr nz, .asm_103838
callba Function1008a6
@@ -8077,9 +8089,8 @@ Function10383c: ; 10383c
ld [wdc60], a
xor a
ld hl, wdc5c
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ld hl, UnknownText_0x103876
call PrintText
@@ -8089,7 +8100,7 @@ endr
jr c, .asm_103870
ld hl, wd002
ld de, wdc5c
- ld bc, $0003
+ ld bc, 3
call CopyBytes
xor a
ld [ScriptVar], a
@@ -8107,7 +8118,7 @@ UnknownText_0x103876: ; 0x103876
; 0x10387b
Function10387b: ; 10387b
- callba Function10632f
+ callba Mobile_AlwaysReturnNotCarry
bit 7, c
ret nz
callba Function1008a6
diff --git a/misc/mobile_41.asm b/misc/mobile_41.asm
index 69abe1cd2..525bd7b80 100755
--- a/misc/mobile_41.asm
+++ b/misc/mobile_41.asm
@@ -766,7 +766,7 @@ MobileFn_106314: mobile ; 106314
ret
; 10632f
-Function10632f: ; 10632f
+Mobile_AlwaysReturnNotCarry: ; 10632f
or a
ret
@@ -851,7 +851,7 @@ Function106392: ; 106392
ret
.asm_1063a2
- call Function10632f
+ call Mobile_AlwaysReturnNotCarry
ld a, c
and a
jr nz, .asm_1063b4
@@ -937,7 +937,7 @@ Function106403: ; 106403
ret
.asm_106426
- call Function10632f
+ call Mobile_AlwaysReturnNotCarry
ld a, c
and a
jr z, .asm_106435
@@ -960,7 +960,7 @@ Function106442: ; 106442
call Function3e32
xor a
ld [hMobile], a
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld a, [wcd25]
inc a
ld [wcd25], a
@@ -975,11 +975,7 @@ Function106453: ; 106453
ret
; 106462
-Function106462: ; 106462
- ret
-; 106463
-
-Function106463: ; 106463
+MobileFunc_106462: mobile
ret
; 106464
@@ -1008,7 +1004,7 @@ Function106464:: ; 106464
Function10649b: ; 10649b
ld a, [TextBoxFrame]
and $7
- ld bc, $30
+ ld bc, 3 tiles
ld hl, Frames
call AddNTimes
ld d, h
@@ -1058,7 +1054,7 @@ Function1064d8: ; 1064d8
jr asm_1064ed
asm_1064ed
- ld de, w6_d000
+ ld de, wDecompressScratch
ld b, $0
ld a, [rSVBK]
push af
@@ -1087,17 +1083,17 @@ GFX_106514:
INCBIN "gfx/unknown/106514.2bpp"
-Function106594:: ; 106594
- ld de, GFX_1065ad
+LoadOverworldFont:: ; 106594
+ ld de, .bgfont
ld hl, VTiles1
- lb bc, BANK(GFX_1065ad), $80
+ lb bc, BANK(.bgfont), $80
call Get2bpp
- ld de, GFX_1065ad + $800
+ ld de, .bgfont + $80 tiles
ld hl, VTiles2 tile $7f
- lb bc, BANK(GFX_1065ad), 1
+ lb bc, BANK(.bgfont), 1
call Get2bpp
ret
; 1065ad
-GFX_1065ad:
+.bgfont:
INCBIN "gfx/unknown/1065ad.2bpp"
diff --git a/misc/mobile_42.asm b/misc/mobile_42.asm
index 0e25021bf..f5ed53c81 100644
--- a/misc/mobile_42.asm
+++ b/misc/mobile_42.asm
@@ -1,30 +1,37 @@
-
-SECTION "bank42", ROMX, BANK[$42]
-
-Function108000: ; 108000
+MobileTradeAnimation_SendGivemonToGTS: ; 108000
ld a, $80
ld [wcf65], a
- ld de, Unknown_10800b
- jp Function108089
+ ld de, .TradeAnimScript
+ jp RunMobileTradeAnim_NoFrontpics
; 10800b
-Unknown_10800b:
- db $0d, $12, $10, $03, $06, $0f, $0c
+.TradeAnimScript:
+ mobiletradeanim_showgtsgivemon
+ mobiletradeanim_12
+ mobiletradeanim_10
+ mobiletradeanim_sendmon
+ mobiletradeanim_06
+ mobiletradeanim_0f
+ mobiletradeanim_end
-Function108012:
+MobileTradeAnimation_RetrieveGivemonFromGTS:
ld a, $80
jr asm_108018
-Function108016: ; 108016
+MobileTradeAnimation_ReceiveGetmonFromGTS: ; 108016
ld a, $0
asm_108018:
ld [wcf65], a
- ld de, Unknown_108021
- jp Function108089
+ ld de, .TradeAnimScript
+ jp RunMobileTradeAnim_NoFrontpics
; 108021
-Unknown_108021:
- db $11, $07, $08, $0e, $0c
+.TradeAnimScript:
+ mobiletradeanim_11
+ mobiletradeanim_07
+ mobiletradeanim_receivemon
+ mobiletradeanim_showgtsgetmon
+ mobiletradeanim_end
Function108026: ; 108026
ld a, $0
@@ -35,35 +42,48 @@ Function10802a: ; 10802a
asm_10802c:
ld [wcf65], a
- ld de, Unknown_108035
- jp Function10805b
+ ld de, .TradeAnimScript
+ jp RunMobileTradeAnim_Frontpics
; 108035
-Unknown_108035:
- db $01, $12, $02, $03, $05, $08, $0b, $0c
+.TradeAnimScript: ; trade
+ mobiletradeanim_showgivemon
+ mobiletradeanim_12
+ mobiletradeanim_02
+ mobiletradeanim_sendmon
+ mobiletradeanim_05
+ mobiletradeanim_receivemon
+ mobiletradeanim_showgetmon
+ mobiletradeanim_end
Function10803d: ; 10803d
ld a, $0
ld [wcf65], a
- ld de, Unknown_108048
- jp Function108089
+ ld de, .TradeAnimScript
+ jp RunMobileTradeAnim_NoFrontpics
; 108048
-Unknown_108048:
- db $11, $07, $08, $13, $0c
+.TradeAnimScript:
+ mobiletradeanim_11
+ mobiletradeanim_07
+ mobiletradeanim_receivemon
+ mobiletradeanim_showoddegg
+ mobiletradeanim_end
Function10804d: ; 10804d
ld a, $0
ld [wcf65], a
- ld de, Unknown_108058
- jp Function108089
+ ld de, .TradeAnimScript
+ jp RunMobileTradeAnim_NoFrontpics
; 108058
-Unknown_108058:
- db $11, $0e, $0c
+.TradeAnimScript:
+ mobiletradeanim_11
+ mobiletradeanim_showgtsgetmon
+ mobiletradeanim_end
-Function10805b: ; 10805b
- ld hl, wc734
+RunMobileTradeAnim_Frontpics: ; 10805b
+ ld hl, wTradeAnimPointer
ld [hl], e
inc hl
ld [hl], d
@@ -78,11 +98,11 @@ Function10805b: ; 10805b
ld hl, Options
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
call Function1080b7
-.asm_108078
- call Function10824b
- jr nc, .asm_108078
+.loop
+ call MobileTradeAnim_JumptableLoop
+ jr nc, .loop
pop af
ld [Options], a
pop af
@@ -92,8 +112,8 @@ Function10805b: ; 10805b
ret
; 108089
-Function108089: ; 108089
- ld hl, BattleEnded
+RunMobileTradeAnim_NoFrontpics: ; 108089
+ ld hl, wTradeAnimPointer
ld [hl], e
inc hl
ld [hl], d
@@ -108,11 +128,11 @@ Function108089: ; 108089
ld hl, Options
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
call Function108157
-.asm_1080a6
- call Function10824b
- jr nc, .asm_1080a6
+.loop
+ call MobileTradeAnim_JumptableLoop
+ jr nc, .loop
pop af
ld [Options], a
pop af
@@ -129,21 +149,25 @@ Function1080b7: ; 1080b7
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ad
- call Function1081ca
+ call MobileTradeAnim_ClearVTiles
+ call MobileTradeAnim_ClearBGMap
call LoadStandardFont
call LoadFontsBattleExtra
+
ld a, $1
ld [rVBK], a
ld hl, LZ_108da7
ld de, VTiles2
call Decompress
+
ld a, $0
ld [rVBK], a
ld hl, LZ_108d27
ld de, VTiles0 tile $20
call Decompress
+
call EnableLCD
+
xor a
ld [hSCX], a
ld [hSCY], a
@@ -151,34 +175,43 @@ Function1080b7: ; 1080b7
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
+ callba ClearSpriteAnims
+
call DelayFrame
+
ld de, TradeBallGFX
ld hl, VTiles0
lb bc, BANK(TradeBallGFX), $06
call Request2bpp
+
ld de, TradePoofGFX
ld hl, VTiles0 tile $06
lb bc, BANK(TradePoofGFX), $0c
call Request2bpp
+
xor a
- ld hl, wc300
+ ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $0
- ld a, [$c6d0]
- ld hl, $c6fd
+
+ ld a, [wPlayerTrademonSpecies]
+ ld hl, wPlayerTrademonDVs
ld de, VTiles0 tile $30
- call Function1081e9
- ld a, [wc702]
- ld hl, wEnemyTrappingMove
+ call MobileTradeAnim_GetFrontpic
+
+ ld a, [wOTTrademonSpecies]
+ ld hl, wOTTrademonDVs
ld de, VTiles2 tile $31
- call Function1081e9
- ld a, [$c6d0]
- ld de, $c6d1
- call Function108239
- ld a, [wc702]
- ld de, wc703
- call Function108239
+ call MobileTradeAnim_GetFrontpic
+
+ ld a, [wPlayerTrademonSpecies]
+ ld de, wPlayerTrademonSpeciesName
+ call MobileTradeAnim_InitSpeciesName
+
+ ld a, [wOTTrademonSpecies]
+ ld de, wOTTrademonSpeciesName
+ call MobileTradeAnim_InitSpeciesName
+
xor a
call Function108b98
call Function108af4
@@ -192,8 +225,8 @@ Function108157: ; 108157
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ad
- call Function1081ca
+ call MobileTradeAnim_ClearVTiles
+ call MobileTradeAnim_ClearBGMap
call LoadStandardFont
call LoadFontsBattleExtra
call EnableLCD
@@ -204,57 +237,57 @@ Function108157: ; 108157
ld [hWX], a
ld a, $90
ld [hWY], a
- callba Function8cf53
+ callba ClearSpriteAnims
xor a
- ld hl, wc300
+ ld hl, wSpriteAnimDict
ld [hli], a
ld [hl], $0
call DelayFrame
- ld a, [$c6d0]
- ld de, $c6d1
- call Function108239
- ld a, [wc702]
- ld de, wc703
- call Function108239
+ ld a, [wPlayerTrademonSpecies]
+ ld de, wPlayerTrademonSpeciesName
+ call MobileTradeAnim_InitSpeciesName
+ ld a, [wOTTrademonSpecies]
+ ld de, wOTTrademonSpeciesName
+ call MobileTradeAnim_InitSpeciesName
xor a
call Function108b98
call Function108af4
ret
; 1081ad
-Function1081ad: ; 1081ad
+MobileTradeAnim_ClearVTiles: ; 1081ad
ld a, $1
ld [rVBK], a
ld hl, VTiles0
- ld bc, $1800
+ ld bc, 3 * $80 tiles
xor a
call ByteFill
ld a, $0
ld [rVBK], a
ld hl, VTiles0
- ld bc, $1800
+ ld bc, 3 * $80 tiles
xor a
call ByteFill
ret
; 1081ca
-Function1081ca: ; 1081ca
+MobileTradeAnim_ClearBGMap: ; 1081ca
ld a, $1
ld [rVBK], a
hlbgcoord 0, 0
- ld bc, $0800
+ ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH
ld a, $0
call ByteFill
ld a, $0
ld [rVBK], a
hlbgcoord 0, 0
- ld bc, $0800
+ ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH
ld a, $7f
call ByteFill
ret
; 1081e9
-Function1081e9: ; 1081e9
+MobileTradeAnim_GetFrontpic: ; 1081e9
push de
push af
predef GetUnownLetter
@@ -298,7 +331,7 @@ Function108229: ; 108229
ret
; 108239
-Function108239: ; 108239
+MobileTradeAnim_InitSpeciesName: ; 108239
push de
ld [wd265], a
call GetPokemonName
@@ -309,16 +342,16 @@ Function108239: ; 108239
ret
; 10824b
-Function10824b: ; 10824b
+MobileTradeAnim_JumptableLoop: ; 10824b
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_10825a
- call Function10827b
+ jr nz, .StopAnim
+ call .ExecuteMobileTradeAnimCommand
call DelayFrame
and a
ret
-.asm_10825a
+.StopAnim
xor a
ld [hSCX], a
ld [hSCY], a
@@ -328,17 +361,17 @@ Function10824b: ; 10824b
ld [hWY], a
call LoadStandardFont
call LoadFontsBattleExtra
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
scf
ret
; 10827b
-Function10827b: ; 10827b
+.ExecuteMobileTradeAnimCommand: ; 10827b
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, Jumptable_10828a
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -348,37 +381,38 @@ endr
jp [hl]
; 10828a
-Jumptable_10828a: ; 10828a
- dw Function1082b7
- dw Function10830e
- dw Function108638
- dw Function108763
- dw Function1087cf
- dw Function108811
- dw Function108838
- dw Function10884c
- dw Function108863
- dw Function108894
- dw Function10890a
- dw Function10839b
- dw Function1082c6
- dw Function10842c
- dw Function1084d7
- dw Function108919
- dw Function108689
- dw Function1086f4
- dw Function10893d
- dw Function108589
+.Jumptable: ; 10828a
+
+ dw GetMobileTradeAnimByte ; 00
+ dw MobileTradeAnim_ShowPlayerMonToBeSent ; 01
+ dw MobileTradeAnim_02 ; 02
+ dw MobileTradeAnim_GiveTrademon1 ; 03
+ dw MobileTradeAnim_GiveTrademon2 ; 04
+ dw MobileTradeAnim_05 ; 05
+ dw MobileTradeAnim_06 ; 06
+ dw MobileTradeAnim_07 ; 07
+ dw MobileTradeAnim_GetTrademon1 ; 08
+ dw MobileTradeAnim_GetTrademon2 ; 09
+ dw MobileTradeAnim_GetTrademon3 ; 0a
+ dw MobileTradeAnim_ShowOTMonFromTrade ; 0b
+ dw EndMobileTradeAnim ; 0c
+ dw MobileTradeAnim_ShowPlayerMonForGTS ; 0d
+ dw MobileTradeAnim_ShowOTMonFromGTS ; 0e
+ dw MobileTradeAnim_0f ; 0f
+ dw MobileTradeAnim_10 ; 10
+ dw MobileTradeAnim_11 ; 11
+ dw MobileTradeAnim_FadeToBlack ; 12
+ dw MobileTradeAnim_GetOddEgg ; 13 get odd egg
; 1082b2
-Function1082b2: ; 1082b2
+MobileTradeAnim_Next: ; 1082b2
ld hl, wJumptableIndex
inc [hl]
ret
; 1082b7
-Function1082b7: ; 1082b7
- ld hl, wc734
+GetMobileTradeAnimByte: ; 1082b7
+ ld hl, wTradeAnimPointer
ld e, [hl]
inc hl
ld d, [hl]
@@ -391,56 +425,56 @@ Function1082b7: ; 1082b7
ret
; 1082c6
-Function1082c6: ; 1082c6
+EndMobileTradeAnim: ; 1082c6
ld hl, wJumptableIndex
set 7, [hl]
ret
; 1082cc
-Function1082cc: ; 1082cc
-.asm_1082cc
+WaitMobileTradeSpriteAnims: ; 1082cc
+.loop
push bc
- callba Function8cf69
+ callba PlaySpriteAnimations
pop bc
call DelayFrame
dec c
- jr nz, .asm_1082cc
+ jr nz, .loop
ret
; 1082db
Function1082db: ; 1082db
-.asm_1082db
- callba Function8cf69
- callba Functiond00b4
+.loop
+ callba PlaySpriteAnimations
+ callba SetUpPokeAnim
callba Function10402d
- jr nc, .asm_1082db
+ jr nc, .loop
ret
; 1082f0
Function1082f0: ; 1082f0
-.asm_1082f0
+.loop
call Function108b78
call DelayFrame
dec c
- jr nz, .asm_1082f0
+ jr nz, .loop
ret
; 1082fa
Function1082fa: ; 1082fa
-.asm_1082fa
+.loop
call Function108b78
push hl
push bc
- callba Function8cf69
+ callba PlaySpriteAnimations
pop bc
pop hl
call DelayFrame
dec c
- jr nz, .asm_1082fa
+ jr nz, .loop
ret
; 10830e
-Function10830e: ; 10830e
+MobileTradeAnim_ShowPlayerMonToBeSent: ; 10830e
ld de, MUSIC_EVOLUTION
call PlayMusic2
ld a, $80
@@ -451,45 +485,45 @@ Function10830e: ; 10830e
ld [hWX], a
ld a, $50
ld [hWY], a
- call Function1089a8
- ld a, [$c6d0]
+ call MobileTradeAnim_DisplayMonToBeSent
+ ld a, [wPlayerTrademonSpecies]
ld [CurPartySpecies], a
call Function10895e
- ld a, [$c6fd]
+ ld a, [wPlayerTrademonDVs]
ld [TempMonDVs], a
- ld a, [$c6fe]
+ ld a, [wPlayerTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
call WaitBGMap
-.asm_108348
+.loop
ld a, [hWX]
cp $7
- jr z, .asm_10835d
+ jr z, .okay
sub $4
ld [hWX], a
ld a, [hSCX]
sub $4
ld [hSCX], a
call DelayFrame
- jr .asm_108348
+ jr .loop
-.asm_10835d
+.okay
ld a, $7
ld [hWX], a
xor a
ld [hSCX], a
- ld a, [$c6d0]
+ ld a, [wPlayerTrademonSpecies]
call GetCryIndex
- jr c, .asm_108371
+ jr c, .skip_cry
ld e, c
ld d, b
call PlayCryHeader
-.asm_108371
- ld c, $50
+.skip_cry
+ ld c, 80
call DelayFrames
call Function108bec
depixel 10, 11, 4, 0
@@ -498,28 +532,28 @@ Function10830e: ; 10830e
ld de, SFX_BALL_POOF
call PlaySFX
hlcoord 0, 0
- ld bc, $00f0
+ ld bc, 12 * SCREEN_WIDTH
ld a, " "
call ByteFill
- ld c, $50
- call Function1082cc
- call Function1082b7
+ ld c, 80
+ call WaitMobileTradeSpriteAnims
+ call GetMobileTradeAnimByte
ret
; 10839b
-Function10839b: ; 10839b
+MobileTradeAnim_ShowOTMonFromTrade: ; 10839b
call ClearBGPalettes
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ca
- ld a, [wc702]
+ call MobileTradeAnim_ClearBGMap
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld hl, wEnemyTrappingMove
+ ld hl, wOTTrademonDVs
ld de, VTiles2
call Function108201
call EnableLCD
- callba Function8d03d
+ callba DeinitializeAllSprites
xor a
ld [hSCX], a
ld [hSCY], a
@@ -534,11 +568,11 @@ Function10839b: ; 10839b
ld a, $1
call Function108b98
call Function108af4
- ld c, $30
- call Function1082cc
+ ld c, 48
+ call WaitMobileTradeSpriteAnims
ld de, SFX_BALL_POOF
call PlaySFX
- call Function1089d2
+ call MobileTradeAnim_DisplayReceivedMon
xor a
ld [hSCX], a
ld [hSCY], a
@@ -546,26 +580,26 @@ Function10839b: ; 10839b
ld [hWX], a
ld a, $50
ld [hWY], a
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld a, [wEnemyTrappingMove]
+ ld a, [wOTTrademonDVs]
ld [TempMonDVs], a
- ld a, [wPlayerWrapCount]
+ ld a, [wOTTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
call Function108963
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
call Function108229
call Function1082db
call Function108c16
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 10842c
-Function10842c: ; 10842c
+MobileTradeAnim_ShowPlayerMonForGTS: ; 10842c
ld de, MUSIC_EVOLUTION
call PlayMusic2
ld a, $80
@@ -576,10 +610,10 @@ Function10842c: ; 10842c
ld [hWX], a
ld a, $50
ld [hWY], a
- call Function1089a8
- ld a, [$c6d0]
+ call MobileTradeAnim_DisplayMonToBeSent
+ ld a, [wPlayerTrademonSpecies]
ld [CurPartySpecies], a
- ld hl, $c6fd
+ ld hl, wPlayerTrademonDVs
call Function10898a
call DelayFrame
ld de, TradeBallGFX
@@ -590,41 +624,41 @@ Function10842c: ; 10842c
ld hl, VTiles0 tile $06
lb bc, BANK(TradePoofGFX), $0c
call Request2bpp
- ld a, [$c6fd]
+ ld a, [wPlayerTrademonDVs]
ld [TempMonDVs], a
- ld a, [$c6fe]
+ ld a, [wPlayerTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
call WaitBGMap
-.asm_108484
+.loop
ld a, [hWX]
cp $7
- jr z, .asm_108499
+ jr z, .done
sub $4
ld [hWX], a
ld a, [hSCX]
sub $4
ld [hSCX], a
call DelayFrame
- jr .asm_108484
+ jr .loop
-.asm_108499
+.done
ld a, $7
ld [hWX], a
xor a
ld [hSCX], a
- ld a, [$c6d0]
+ ld a, [wPlayerTrademonSpecies]
call GetCryIndex
- jr c, .asm_1084ad
+ jr c, .skip_cry
ld e, c
ld d, b
call PlayCryHeader
-.asm_1084ad
- ld c, $50
+.skip_cry
+ ld c, 80
call DelayFrames
call Function108c2b
depixel 10, 11, 4, 0
@@ -633,28 +667,28 @@ Function10842c: ; 10842c
ld de, SFX_BALL_POOF
call PlaySFX
hlcoord 0, 0
- ld bc, $00f0
+ ld bc, 12 * SCREEN_WIDTH
ld a, " "
call ByteFill
- ld c, $50
- call Function1082cc
- call Function1082b7
+ ld c, 80
+ call WaitMobileTradeSpriteAnims
+ call GetMobileTradeAnimByte
ret
; 1084d7
-Function1084d7: ; 1084d7
+MobileTradeAnim_ShowOTMonFromGTS: ; 1084d7
call ClearBGPalettes
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ca
- ld a, [wc702]
+ call MobileTradeAnim_ClearBGMap
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld hl, wEnemyTrappingMove
+ ld hl, wOTTrademonDVs
ld de, VTiles2
call Function108201
call EnableLCD
- callba Function8d03d
+ callba DeinitializeAllSprites
call DelayFrame
ld de, TradeBallGFX
ld hl, VTiles0
@@ -678,11 +712,11 @@ Function1084d7: ; 1084d7
ld a, $1
call Function108b98
call Function108af4
- ld c, $30
- call Function1082cc
+ ld c, 48
+ call WaitMobileTradeSpriteAnims
ld de, SFX_BALL_POOF
call PlaySFX
- call Function1089d2
+ call MobileTradeAnim_DisplayReceivedMon
xor a
ld [hSCX], a
ld [hSCY], a
@@ -690,40 +724,40 @@ Function1084d7: ; 1084d7
ld [hWX], a
ld a, $50
ld [hWY], a
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld a, [wEnemyTrappingMove]
+ ld a, [wOTTrademonDVs]
ld [TempMonDVs], a
- ld a, [wPlayerWrapCount]
+ ld a, [wOTTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
- ld a, [wc702]
- ld hl, wEnemyTrappingMove
+ ld a, [wOTTrademonSpecies]
+ ld hl, wOTTrademonDVs
call Function10898a
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
call Function108229
call Function1082db
call Function108c40
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 108589
-Function108589: ; 108589
+MobileTradeAnim_GetOddEgg: ; 108589
call ClearBGPalettes
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ca
- ld a, [wc702]
+ call MobileTradeAnim_ClearBGMap
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld hl, wEnemyTrappingMove
+ ld hl, wOTTrademonDVs
ld de, VTiles2
call Function108201
call EnableLCD
- callba Function8d03d
+ callba DeinitializeAllSprites
call DelayFrame
ld de, TradeBallGFX
ld hl, VTiles0
@@ -747,8 +781,8 @@ Function108589: ; 108589
ld a, $1
call Function108b98
call Function108af4
- ld c, $30
- call Function1082cc
+ ld c, 48
+ call WaitMobileTradeSpriteAnims
ld de, SFX_BALL_POOF
call PlaySFX
call Function108a33
@@ -759,35 +793,35 @@ Function108589: ; 108589
ld [hWX], a
ld a, $50
ld [hWY], a
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
- ld a, [wEnemyTrappingMove]
+ ld a, [wOTTrademonDVs]
ld [TempMonDVs], a
- ld a, [wPlayerWrapCount]
+ ld a, [wOTTrademonDVs + 1]
ld [TempMonDVs + 1], a
ld b, SCGB_1A
call GetSGBLayout
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
- ld a, [wc702]
- ld hl, wEnemyTrappingMove
+ ld a, [wOTTrademonSpecies]
+ ld hl, wOTTrademonDVs
call Function10898a
- ld a, [wc702]
+ ld a, [wOTTrademonSpecies]
call Function108229
call Function1082db
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 108638
-Function108638: ; 108638
- callba Function8d03d
+MobileTradeAnim_02: ; 108638
+ callba DeinitializeAllSprites
call ClearBGPalettes
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
call DisableLCD
- call Function1081ca
+ call MobileTradeAnim_ClearBGMap
call Function108c80
call Function108c6d
call EnableLCD
@@ -805,25 +839,25 @@ Function108638: ; 108638
ld [rSVBK], a
ld hl, Palette_109107
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
pop af
ld [rSVBK], a
call Function108d07
call Function108af4
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 108689
-Function108689: ; 108689
- callba Function8d03d
+MobileTradeAnim_10: ; 108689
+ callba DeinitializeAllSprites
call ClearBGPalettes
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
call DisableLCD
- call Function1081ca
+ call MobileTradeAnim_ClearBGMap
ld a, $1
ld [rVBK], a
ld hl, LZ_108da7
@@ -851,17 +885,17 @@ Function108689: ; 108689
ld [rSVBK], a
ld hl, Palette_109107
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
pop af
ld [rSVBK], a
call Function108d07
call Function108af4
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 1086f4
-Function1086f4: ; 1086f4
+MobileTradeAnim_11: ; 1086f4
call ClearBGPalettes
call ClearSprites
call ClearTileMap
@@ -895,7 +929,7 @@ Function1086f4: ; 1086f4
ld [rSVBK], a
ld hl, Palette_109107
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
pop af
ld [rSVBK], a
@@ -906,82 +940,81 @@ Function1086f4: ; 1086f4
ld [hSCX], a
ld de, MUSIC_EVOLUTION
call PlayMusic2
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 108763
-Function108763: ; 108763
+MobileTradeAnim_GiveTrademon1: ; 108763
ld de, SFX_GIVE_TRADEMON
call PlaySFX
- ld c, $28
- ld hl, $d0b0
+ ld c, 40
+ ld hl, BGPals + 6 palettes
call Function1082f0
call Function108af4
-.asm_108774
+.loop
ld a, [hSCX]
cp $e0
- jr z, .asm_108791
+ jr z, .loop2
rept 2
dec a
endr
ld [hSCX], a
cp $f8
- jr nz, .asm_10878a
+ jr nz, .next
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_22
call _InitSpriteAnimStruct
-.asm_10878a
- ld c, $1
- call Function1082cc
- jr .asm_108774
+.next
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
+ jr .loop
-.asm_108791
+.loop2
ld a, [hSCY]
cp $f8
- jr z, .asm_1087cb
+ jr z, .done
rept 2
dec a
endr
ld [hSCY], a
cp $40
- jr z, .asm_1087a9
+ jr z, .init
cp $30
- jr z, .asm_1087b7
+ jr z, .delete
cp $68
- jr z, .asm_1087bc
- jr .asm_1087c4
+ jr z, .replace
+ jr .next2
-.asm_1087a9
+.init
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_22
call _InitSpriteAnimStruct
xor a
call Function108ad4
- jr .asm_1087c4
+ jr .next2
-.asm_1087b7
- call Function108bbd
- jr .asm_1087c4
+.delete
+ call MobileTradeAnim_DeleteSprites
+ jr .next2
-.asm_1087bc
- call Function108bbd
+.replace
+ call MobileTradeAnim_DeleteSprites
ld a, $1
call Function108ad4
+.next2
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
+ jr .loop2
-.asm_1087c4
- ld c, $1
- call Function1082cc
- jr .asm_108791
-
-.asm_1087cb
- call Function1082b2
+.done
+ call MobileTradeAnim_Next
ret
; 1087cf
-Function1087cf: ; 1087cf
- ld c, $28
- ld hl, StringBuffer2 + 2
+MobileTradeAnim_GiveTrademon2: ; 1087cf
+ ld c, 40
+ ld hl, BGPals + 1 palettes
call Function1082f0
call Function108af4
call Function108b5a
@@ -990,102 +1023,102 @@ Function1087cf: ; 1087cf
call _InitSpriteAnimStruct
ld de, SFX_FORESIGHT
call PlaySFX
- ld c, $a
- call Function1082cc
+ ld c, 10
+ call WaitMobileTradeSpriteAnims
xor a
ld [wcf64], a
depixel 9, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_23
call _InitSpriteAnimStruct
-.asm_1087fc
+.loop
ld a, [hSCY]
cp $90
- jr z, .asm_10880d
+ jr z, .done
sub $8
ld [hSCY], a
- ld c, $1
- call Function1082cc
- jr .asm_1087fc
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
+ jr .loop
-.asm_10880d
- call Function1082b7
+.done
+ call GetMobileTradeAnimByte
ret
; 108811
-Function108811: ; 108811
- ld c, $28
- call Function1082cc
+MobileTradeAnim_05: ; 108811
+ ld c, 40
+ call WaitMobileTradeSpriteAnims
ld a, $1
ld [wcf64], a
ld de, SFX_SHARPEN
call PlaySFX
- ld c, $3c
- call Function1082cc
+ ld c, 60
+ call WaitMobileTradeSpriteAnims
depixel 30, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_24
call _InitSpriteAnimStruct
- call Function1082b7
+ call GetMobileTradeAnimByte
ld de, SFX_THROW_BALL
call PlaySFX
ret
; 108838
-Function108838: ; 108838
- ld c, $28
- call Function1082cc
+MobileTradeAnim_06: ; 108838
+ ld c, 40
+ call WaitMobileTradeSpriteAnims
ld a, $1
ld [wcf64], a
ld de, SFX_SHARPEN
call PlaySFX
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 10884c
-Function10884c: ; 10884c
+MobileTradeAnim_07: ; 10884c
ld c, 80
call DelayFrames
depixel 30, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_24
call _InitSpriteAnimStruct
- call Function1082b7
+ call GetMobileTradeAnimByte
ld de, SFX_THROW_BALL
call PlaySFX
ret
; 108863
-Function108863: ; 108863
- ld c, $28
- call Function1082cc
-.asm_108868
+MobileTradeAnim_GetTrademon1: ; 108863
+ ld c, 40
+ call WaitMobileTradeSpriteAnims
+.loop
ld a, [hSCY]
cp $f8
- jr z, .asm_108879
+ jr z, .done
add $8
ld [hSCY], a
- ld c, $1
- call Function1082cc
- jr .asm_108868
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
+ jr .loop
-.asm_108879
- callba Function8d03d
+.done
+ callba DeinitializeAllSprites
depixel 9, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_25
call _InitSpriteAnimStruct
ld de, SFX_GLASS_TING_2
call PlaySFX
call Function108af4
- call Function1082b2
+ call MobileTradeAnim_Next
ret
; 108894
-Function108894: ; 108894
- ld c, $14
- ld hl, StringBuffer2 + 2
+MobileTradeAnim_GetTrademon2: ; 108894
+ ld c, 20
+ ld hl, BGPals + 1 palettes
call Function1082fa
ld de, SFX_GIVE_TRADEMON
call PlaySFX
- ld c, $14
- ld hl, StringBuffer2 + 2
+ ld c, 20
+ ld hl, BGPals + 1 palettes
call Function1082fa
call Function108af4
.asm_1088ad
@@ -1119,14 +1152,14 @@ endr
jr .asm_1088e7
.asm_1088dd
- call Function108bbd
+ call MobileTradeAnim_DeleteSprites
ld a, $1
call Function108ad4
jr .asm_1088e7
.asm_1088e7
- ld c, $1
- call Function1082cc
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
jr .asm_1088ad
.asm_1088ee
@@ -1137,60 +1170,60 @@ rept 2
inc a
endr
ld [hSCX], a
- cp $f8
+ cp -8
jr nz, .asm_1088e7
- call Function108bbd
- ld c, $1
- call Function1082cc
+ call MobileTradeAnim_DeleteSprites
+ ld c, 1
+ call WaitMobileTradeSpriteAnims
jr .asm_1088ee
.asm_108906
- call Function1082b2
+ call MobileTradeAnim_Next
ret
; 10890a
-Function10890a: ; 10890a
- ld c, $28
- ld hl, $d0b0
+MobileTradeAnim_GetTrademon3: ; 10890a
+ ld c, 40
+ ld hl, BGPals + 6 palettes
call Function1082f0
call Function108af4
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 108919
-Function108919: ; 108919
- ld c, $28
- call Function1082cc
- callba Function8d03d
+MobileTradeAnim_0f: ; 108919
+ ld c, 40
+ call WaitMobileTradeSpriteAnims
+ callba DeinitializeAllSprites
call ClearBGPalettes
call ClearSprites
call ClearTileMap
call DisableLCD
- call Function1081ad
- call Function1081ca
+ call MobileTradeAnim_ClearVTiles
+ call MobileTradeAnim_ClearBGMap
call EnableLCD
- call Function1082b7
+ call GetMobileTradeAnimByte
ret
; 10893d
-Function10893d: ; 10893d
-.asm_10893d
+MobileTradeAnim_FadeToBlack: ; 10893d
+.loop
ld a, [rBGP]
and a
- jr z, .asm_108953
+ jr z, .blank
sla a
sla a
call DmgToCgbBGPals
- call Functioncf8
- ld c, $4
+ call DmgToCgbObjPal0
+ ld c, 4
call DelayFrames
- jr .asm_10893d
+ jr .loop
-.asm_108953
+.blank
xor a
call DmgToCgbBGPals
- call Functioncf8
- call Function1082b7
+ call DmgToCgbObjPal0
+ call GetMobileTradeAnimByte
ret
; 10895e
@@ -1200,18 +1233,17 @@ Function10895e: ; 10895e
Function108963:
ld de, VTiles2 tile $31
-
asm_108966
call DelayFrame
ld hl, VTiles2
- lb bc, $0a, $31
+ lb bc, $a, $31 ; $a is the bank of ?????
call Request2bpp
call WaitTop
- call Function108ac8
+ call MobileTradeAnim_ClearTilemap
hlcoord 7, 2
xor a
ld [hFillBox], a
- ld bc, $0707
+ lb bc, 7, 7
predef FillBox
call WaitBGMap
ret
@@ -1219,121 +1251,121 @@ asm_108966
Function10898a: ; 10898a
ld de, VTiles2
- call Function1081e9
+ call MobileTradeAnim_GetFrontpic
call WaitTop
- call Function108ac8
+ call MobileTradeAnim_ClearTilemap
hlcoord 7, 2
xor a
ld [hFillBox], a
- ld bc, $0707
+ lb bc, 7, 7
predef FillBox
call WaitBGMap
ret
; 1089a8
-Function1089a8: ; 1089a8
- ld de, $c6d0
+MobileTradeAnim_DisplayMonToBeSent: ; 1089a8
+ ld de, wPlayerTrademonSpecies
ld a, [de]
- cp $fd
- jr z, asm_1089fc
- call Function108a5b
- ld de, $c6d0
- call Function108a92
- ld de, $c6d1
- call Function108a9c
- ld a, [wc701]
- ld de, $c6f2
- call Function108aa3
- ld de, $c6ff
- call Function108abe
- call Function108a87
- ret
-
-Function1089d2:
- ld de, wc702
+ cp EGG
+ jr z, MobileTradeAnim_DisplayEggData
+ call MobileTradeAnim_LoadMonTemplate
+ ld de, wPlayerTrademonSpecies
+ call MobileTradeAnim_MonDisplay_PrintSpeciesNumber
+ ld de, wPlayerTrademonSpeciesName
+ call MobileTradeAnim_MonDisplay_PrintSpeciesName
+ ld a, [wPlayerTrademonCaughtData]
+ ld de, wPlayerTrademonOTName
+ call MobileTradeAnim_MonDisplay_PrintOTNameAndGender
+ ld de, wPlayerTrademonID
+ call MobileTradeAnim_MonDisplay_PrintIDNumber
+ call MobileTradeAnim_MonDisplay_UpdateBGMap
+ ret
+
+MobileTradeAnim_DisplayReceivedMon:
+ ld de, wOTTrademonSpecies
ld a, [de]
- cp $fd
- jr z, asm_1089fc
- call Function108a5b
- ld de, wc702
- call Function108a92
- ld de, wc703
- call Function108a9c
- ld a, [wEnemyCharging]
- ld de, wc724
- call Function108aa3
- ld de, wEnemyWrapCount
- call Function108abe
- call Function108a87
- ret
-
-asm_1089fc
+ cp EGG
+ jr z, MobileTradeAnim_DisplayEggData
+ call MobileTradeAnim_LoadMonTemplate
+ ld de, wOTTrademonSpecies
+ call MobileTradeAnim_MonDisplay_PrintSpeciesNumber
+ ld de, wOTTrademonSpeciesName
+ call MobileTradeAnim_MonDisplay_PrintSpeciesName
+ ld a, [wOTTrademonCaughtData]
+ ld de, wOTTrademonOTName
+ call MobileTradeAnim_MonDisplay_PrintOTNameAndGender
+ ld de, wOTTrademonID
+ call MobileTradeAnim_MonDisplay_PrintIDNumber
+ call MobileTradeAnim_MonDisplay_UpdateBGMap
+ ret
+
+MobileTradeAnim_DisplayEggData
call WaitTop
- call Function108ac8
+ call MobileTradeAnim_ClearTilemap
ld a, VBGMap1 / $100
ld [hBGMapAddress + 1], a
hlcoord 5, 0
- ld b, $6
- ld c, $9
+ ld b, 6
+ ld c, 9
call TextBox
hlcoord 6, 2
- ld de, String_108a1d
+ ld de, .EggTemplate
call PlaceString
- call Function108a87
+ call MobileTradeAnim_MonDisplay_UpdateBGMap
ret
; 108a1d
-String_108a1d: ; 108a1d
+.EggTemplate: ; 108a1d
db "タマゴ"
next "おや/?????"
- next $73, "№", $f2, "?????"
+ next "<ID>№·?????"
db "@"
; 108a33
Function108a33: ; 108a33
call WaitTop
- call Function108ac8
+ call MobileTradeAnim_ClearTilemap
ld a, VBGMap1 / $100
ld [hBGMapAddress + 1], a
hlcoord 5, 0
- ld b, $6
- ld c, $9
+ ld b, 6
+ ld c, 9
call TextBox
hlcoord 7, 4
- ld de, String_108a54
+ ld de, .OddEgg
call PlaceString
- call Function108a87
+ call MobileTradeAnim_MonDisplay_UpdateBGMap
ret
; 108a54
-String_108a54: ; 108a54
+.OddEgg: ; 108a54
db "なぞのタマゴ@"
; 108a5b
-Function108a5b: ; 108a5b
+MobileTradeAnim_LoadMonTemplate: ; 108a5b
call WaitTop
- call Function108ac8
+ call MobileTradeAnim_ClearTilemap
ld a, VBGMap1 / $100
ld [hBGMapAddress + 1], a
hlcoord 4, 0
- ld b, $6
- ld c, $a
+ ld b, 6
+ ld c, 10
call TextBox
hlcoord 5, 0
- ld de, String_108a79
+ ld de, .MonTemplate
call PlaceString
ret
; 108a79
-String_108a79: ; 108a79
- db "─ №", $f2
+.MonTemplate: ; 108a79
+ db "─ №·"
next ""
next "おや/"
- next $73, "№", $f2
+ next "<ID>№·"
db "@"
; 108a87
-Function108a87: ; 108a87
+MobileTradeAnim_MonDisplay_UpdateBGMap: ; 108a87
call WaitBGMap
call WaitTop
ld a, VBGMap0 / $100
@@ -1341,31 +1373,30 @@ Function108a87: ; 108a87
ret
; 108a92
-Function108a92: ; 108a92
+MobileTradeAnim_MonDisplay_PrintSpeciesNumber: ; 108a92
hlcoord 9, 0
lb bc, PRINTNUM_LEADINGZEROS | 1, 3
call PrintNum
ret
; 108a9c
-Function108a9c: ; 108a9c
+MobileTradeAnim_MonDisplay_PrintSpeciesName: ; 108a9c
hlcoord 5, 2
call PlaceString
ret
; 108aa3
-Function108aa3: ; 108aa3
+MobileTradeAnim_MonDisplay_PrintOTNameAndGender: ; 108aa3
cp $3
- jr c, .asm_108aa8
+ jr c, .got_gender
xor a
-
-.asm_108aa8
+.got_gender
push af
hlcoord 8, 4
call PlaceString
inc bc
pop af
- ld hl, Unknown_108abb
+ ld hl, .GenderChars
ld d, 0
ld e, a
add hl, de
@@ -1374,21 +1405,23 @@ Function108aa3: ; 108aa3
ret
; 108abb
-Unknown_108abb: ; 108abb
- db " ", "♂", "♀"
+.GenderChars: ; 108abb
+ db " "
+ db "♂"
+ db "♀"
; 108abe
-Function108abe: ; 108abe
+MobileTradeAnim_MonDisplay_PrintIDNumber: ; 108abe
hlcoord 8, 6
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
call PrintNum
ret
; 108ac8
-Function108ac8: ; 108ac8
+MobileTradeAnim_ClearTilemap: ; 108ac8
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $7f
+ ld a, " "
call ByteFill
ret
; 108ad4
@@ -1401,12 +1434,11 @@ Function108ad4: ; 108ad4
.asm_108adc
ld de, GFX_1091c7
-
.asm_108adf
ld a, $1
ld [rVBK], a
ld hl, VTiles2 tile $4a
- lb bc, $42, $10
+ lb bc, BANK(GFX_1092c7), 16
call Get2bpp_2
call DelayFrame
ld a, $0
@@ -1421,33 +1453,33 @@ Function108af4: ; 108af4
ld [rSVBK], a
ld a, [wcf65]
and $1
- jr z, .asm_108b1c
+ jr z, .copy_palette_109147
ld hl, Palette_109187
ld de, UnknOBPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
ld hl, Palette_109187
ld de, OBPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
- jr .asm_108b34
+ jr .done_copy
-.asm_108b1c
+.copy_palette_109147
ld hl, Palette_109147
ld de, UnknOBPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
ld hl, Palette_109147
ld de, OBPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
-.asm_108b34
+.done_copy
pop af
ld [rSVBK], a
- ld a, $e4
- call Functioncf8
- ld a, $e4
+ ld a, %11100100 ; 3,2,1,0
+ call DmgToCgbObjPal0
+ ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
call DelayFrame
ret
@@ -1458,7 +1490,7 @@ Function108b45: ; 108b45
push af
ld a, $5
ld [rSVBK], a
- ld de, $7fff
+ ld de, (31 << 10) + (31 << 5) + 31 ; $7fff
ld hl, UnknBGPals
ld a, e
ld [hli], a
@@ -1474,16 +1506,16 @@ Function108b5a: ; 108b5a
push af
ld a, $5
ld [rSVBK], a
- ld de, $3ff2
- ld hl, $d0a0
+ ld de, (15 << 10) + (31 << 5) + 18 ; $3ff2
+ ld hl, BGPals + 4 palettes
ld c, $10
-.asm_108b69
+.loop
ld a, e
ld [hli], a
ld a, d
ld [hli], a
dec c
- jr nz, .asm_108b69
+ jr nz, .loop
pop af
ld [rSVBK], a
ld a, $1
@@ -1498,14 +1530,13 @@ Function108b78: ; 108b78
ld [rSVBK], a
ld a, c
and $2
- jr z, .asm_108b89
- ld de, $7fff
- jr .asm_108b8c
-
-.asm_108b89
- ld de, $05ff
+ jr z, .Orange
+ ld de, (31 << 10) + (31 << 5) + 31 ; $7fff
+ jr .load_pal
-.asm_108b8c
+.Orange
+ ld de, ( 1 << 10) + (15 << 5) + 31 ; $05ff
+.load_pal
ld a, e
ld [hli], a
ld a, d
@@ -1530,23 +1561,22 @@ Function108b98: ; 108b98
and $1
xor d
jr z, .asm_108bad
- ld hl, Palette_108b98 + 8
+ ld hl, Palette_108b98 + 1 palettes
jr .asm_108bb0
.asm_108bad
ld hl, Palette_108b98
-
.asm_108bb0
- ld de, UnknBGPals + 8 * 7
- ld bc, $0040
+ ld de, UnknBGPals + 7 palettes
+ ld bc, 8 palettes
call CopyBytes
pop af
ld [rSVBK], a
ret
; 108bbd
-Function108bbd: ; 108bbd
- callba Function8d03d
+MobileTradeAnim_DeleteSprites: ; 108bbd
+ callba DeinitializeAllSprites
call ClearSprites
ret
; 108bc7
@@ -1555,25 +1585,26 @@ Function108bc7: ; 108bc7 (42:4bc7)
ld a, [wcf64]
and a
ret z
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
- cp $f2
- jr z, .asm_108bd9
- sub $8
+ cp -1 * 8 - 6
+ jr z, .delete
+ sub 1 * 8
ld [hl], a
ret
-.asm_108bd9
- callba Function8d036
+
+.delete
+ callba DeinitializeSprite
ret
Function108be0: ; 108be0 (42:4be0)
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
- cp $4a
+ cp 9 * 8 + 2
ret z
- add $8
+ add 1 * 8
ld [hl], a
ret
; 108bec (42:4bec)
@@ -1581,28 +1612,28 @@ Function108be0: ; 108be0 (42:4be0)
Function108bec: ; 108bec
ld a, $90
ld [hWY], a
- ld hl, UnknownText_0x108c07
+ ld hl, .PlayerWillTradeMon
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
- ld hl, UnknownText_0x108c0c
+ ld hl, .ForPartnersMon
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
ret
; 108c07
-UnknownText_0x108c07: ; 0x108c07
+.PlayerWillTradeMon: ; 0x108c07
text_jump UnknownText_0x1bc787
db "@"
; 0x108c0c
-UnknownText_0x108c0c: ; 0x108c0c
+.ForPartnersMon: ; 0x108c0c
text_jump UnknownText_0x1bc79d
db "@"
; 0x108c11
-UnknownText_0x108c11: ; 0x108c11
+.UnusedTextPlayersMonTrade: ; 0x108c11
text_jump UnknownText_0x1bc7b0
db "@"
; 0x108c16
@@ -1610,14 +1641,14 @@ UnknownText_0x108c11: ; 0x108c11
Function108c16: ; 108c16
ld a, $90
ld [hWY], a
- ld hl, UnknownText_0x108c26
+ ld hl, .TakeGoodCareOfMon
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
ret
; 108c26
-UnknownText_0x108c26: ; 0x108c26
+.TakeGoodCareOfMon: ; 0x108c26
text_jump UnknownText_0x1bc7c3
db "@"
; 0x108c2b
@@ -1625,44 +1656,44 @@ UnknownText_0x108c26: ; 0x108c26
Function108c2b: ; 108c2b
ld a, $90
ld [hWY], a
- ld hl, UnknownText_0x108c3b
+ ld hl, .PlayersMonTrade
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
ret
; 108c3b
-UnknownText_0x108c3b: ; 0x108c3b
+.PlayersMonTrade: ; 0x108c3b
text_jump UnknownText_0x1bc7dd
- db $50
+ db "@"
; 0x108c40
Function108c40: ; 108c40
ld a, $90
ld [hWY], a
ld a, [wcf65]
- and $80
- jr z, .asm_108c57
- ld hl, UnknownText_0x108c68
+ and %10000000
+ jr z, .Getmon
+ ld hl, .CameBack
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
ret
-.asm_108c57
- ld hl, UnknownText_0x108c63
+.Getmon
+ ld hl, .TakeGoodCareOf
call PrintText
- ld c, $50
+ ld c, 80
call DelayFrames
ret
; 108c63
-UnknownText_0x108c63: ; 0x108c63
+.TakeGoodCareOf: ; 0x108c63
text_jump UnknownText_0x1bc7f0
db "@"
; 0x108c68
-UnknownText_0x108c68: ; 0x108c68
+.CameBack: ; 0x108c68
text_jump UnknownText_0x1bc80a
db "@"
; 0x108c6d
@@ -1691,81 +1722,81 @@ Function108c80: ; 108c80
ret
; 108c9b
-Function108c9b: ; 108c9b
-; localization error: $b should be 6 here
+DebugMobileTrade: ; 108c9b
+; localization error: NAME_LENGTH (11) should be 6 here
- ld hl, Unknown_108ce9
+ ld hl, .DebugTradeData
ld a, [hli]
- ld [$c6d0], a
+ ld [wPlayerTrademonSpecies], a
- ld de, $c6e7
- ld c, $b
-.asm_108ca7
+ ld de, wPlayerTrademonSenderName
+ ld c, NAME_LENGTH
+.your_name_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108ca7
+ jr nz, .your_name_loop
- ld de, $c6ff
- ld c, $2
-.asm_108cb2
+ ld de, wPlayerTrademonID
+ ld c, 2
+.your_id_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108cb2
+ jr nz, .your_id_loop
- ld de, $c6f2
- ld c, $b
-.asm_108cbd
+ ld de, wPlayerTrademonOTName
+ ld c, NAME_LENGTH
+.your_ot_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108cbd
+ jr nz, .your_ot_loop
ld a, [hli]
- ld [wc702], a
+ ld [wOTTrademonSpecies], a
- ld de, wc719
- ld c, $b
-.asm_108ccc
+ ld de, wOTTrademonSenderName
+ ld c, NAME_LENGTH
+.their_name_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108ccc
+ jr nz, .their_name_loop
- ld de, wEnemyWrapCount
- ld c, $2
-.asm_108cd7
+ ld de, wOTTrademonID
+ ld c, 2
+.their_id_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108cd7
+ jr nz, .their_id_loop
- ld de, wc724
- ld c, $b
-.asm_108ce2
+ ld de, wOTTrademonOTName
+ ld c, NAME_LENGTH
+.their_ot_loop
ld a, [hli]
ld [de], a
inc de
dec c
- jr nz, .asm_108ce2
+ jr nz, .their_ot_loop
ret
; 108ce9
-Unknown_108ce9:
- db 3
+.DebugTradeData:
+ db VENUSAUR
db "ゲーフり@@"
- db $23, $01
+ dw $0123
db "かびーん@@"
- db 6
+ db CHARIZARD
db "クりーチャ@"
- db $56, $04
+ dw $0456
db "マツミヤ@@"
; 108d07
@@ -1777,12 +1808,12 @@ Function108d07: ; 108d07
ld a, $7
.asm_108d12
- ld bc, $0008
+ ld bc, 1 palettes
ld hl, Palette_1093c7
call AddNTimes
ld a, $5
- ld de, wd020
- ld bc, $0008
+ ld de, UnknBGPals + 4 palettes
+ ld bc, 1 palettes
call FarCopyWRAM
ret
; 108d27
@@ -1800,12 +1831,16 @@ LZ_1090a7:
INCBIN "gfx/unknown/1090a7.tilemap.lz"
Palette_1090f7:
+; unreferenced
RGB 31, 31, 31
RGB 0, 0, 0
+
RGB 31, 0, 25
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
+
RGB 9, 19, 31
RGB 0, 0, 0
@@ -1814,30 +1849,37 @@ Palette_109107:
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 15, 1
RGB 14, 14, 31
RGB 12, 9, 31
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 14, 14, 31
RGB 12, 9, 31
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 31, 7, 9
RGB 18, 0, 1
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 15, 1
RGB 18, 0, 30
RGB 9, 0, 17
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 18, 0, 30
RGB 9, 0, 17
@@ -1848,30 +1890,37 @@ Palette_109147:
RGB 31, 31, 12
RGB 31, 13, 12
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 31, 23, 15
RGB 31, 18, 7
RGB 31, 15, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 31, 0, 25
RGB 31, 0, 25
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 9, 19, 31
RGB 9, 19, 31
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
@@ -1882,30 +1931,37 @@ Palette_109187:
RGB 31, 31, 12
RGB 31, 13, 12
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 31, 23, 15
RGB 31, 18, 7
RGB 31, 15, 0
+
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 9, 19, 31
RGB 9, 19, 31
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 31, 0, 25
RGB 31, 0, 25
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
+
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
@@ -1921,30 +1977,37 @@ Palette_1093c7:
RGB 4, 13, 31
RGB 0, 0, 31
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 31, 31, 0
RGB 31, 15, 0
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 9, 24, 0
RGB 2, 16, 0
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 31, 7, 9
RGB 18, 0, 1
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 28, 5, 31
RGB 17, 0, 17
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 9, 9, 9
RGB 4, 4, 4
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 31, 13, 21
RGB 27, 7, 12
RGB 0, 0, 0
+
RGB 18, 31, 15
RGB 21, 20, 20
RGB 14, 14, 31
diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm
index 006a135f1..6e2c165f7 100644
--- a/misc/mobile_45.asm
+++ b/misc/mobile_45.asm
@@ -78,45 +78,45 @@ Jumptable_114165: ; 114165
; 11417f
Unknown_11417f: ; 11417f
- dw String_114199
- dw String_11419f
- dw String_1141a7
- dw String_1141b1
- dw String_1141b5
- dw String_1141b9
- dw String_1141c2
- dw String_1141c8
- dw String_1141d6
- dw String_1141e4
- dw String_1141ee
- dw String_1141fc
- dw String_114209
-
-String_114199: ; 114199
+ dw .From
+ dw .Sender
+ dw .ReplyTo
+ dw .To
+ dw .CC
+ dw .Subject
+ dw .Date
+ dw .ContentType
+ dw .MimeVersion
+ dw .XMailer
+ dw .XGameTitle
+ dw .XGameCode
+ dw .XGBMailType
+
+.From: ; 114199
db "FROM:", 0
-String_11419f: ; 11419f
+.Sender: ; 11419f
db "SENDER:", 0
-String_1141a7: ; 1141a7
+.ReplyTo: ; 1141a7
db "REPLY-TO:", 0
-String_1141b1: ; 1141b1
+.To: ; 1141b1
db "TO:", 0
-String_1141b5: ; 1141b5
+.CC: ; 1141b5
db "CC:", 0
-String_1141b9: ; 1141b9
+.Subject: ; 1141b9
db "SUBJECT:", 0
-String_1141c2: ; 1141c2
+.Date: ; 1141c2
db "DATE:", 0
-String_1141c8: ; 1141c8
+.ContentType: ; 1141c8
db "CONTENT-TYPE:", 0
-String_1141d6: ; 1141d6
+.MimeVersion: ; 1141d6
db "MIME-VERSION:", 0
-String_1141e4: ; 1141e4
+.XMailer: ; 1141e4
db "X-MAILER:", 0
-String_1141ee: ; 1141ee
+.XGameTitle: ; 1141ee
db "X-GAME-TITLE:", 0
-String_1141fc: ; 1141fc
+.XGameCode: ; 1141fc
db "X-GAME-CODE:", 0
-String_114209: ; 114209
+.XGBMailType: ; 114209
db "X-GBMAIL-TYPE:", 0
; 114218
@@ -131,10 +131,10 @@ String_114232: ; 114232
; 114243
Function114243:: ; 114243
- ld a, $a
+ ld a, SRAM_ENABLE
ld [MBC3SRamEnable], a
- ld a, [$ff8c]
- push af
+ ld a, [hFF8C]
+ push af ; if [wdc02] == 0, this is popped to pc.
push de
ld a, [wdc02]
add a
@@ -153,9 +153,9 @@ Function11425c: ; 11425c
ld [wdc02], a
pop af
rept 2
- ld [$ff8c], a
+ ld [hFF8C], a
endr
- ld [$4000], a
+ ld [MBC3SRamBank], a
ret
; 114268
@@ -171,8 +171,8 @@ Function114269: ; 114269
ld [wdc03], a
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -370,8 +370,8 @@ Function11433c: ; 11433c
pop bc
ld a, [wdc03]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
call Function114c0b
ld hl, String_114004
.asm_114394
@@ -429,8 +429,8 @@ Function1143b7: ; 1143b7
push af
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld h, [hl]
ld l, a
@@ -473,7 +473,7 @@ Function1143f3: ; 1143f3
jr nc, .asm_114400
.asm_114407
- ld bc, VBlank5
+ lb bc, $4, $0
ld a, $2
ret
@@ -486,8 +486,8 @@ Function1143f3: ; 1143f3
Function114412: ; 114412
ld a, c
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, Unknown_11417f
ld a, b
add a
@@ -506,17 +506,17 @@ Function114412: ; 114412
jp z, .asm_1144c2
inc e
call z, Function1144c8
- cp $d
+ cp $d ; CR
jr nz, .asm_11442b
ld a, [de]
inc e
call z, Function1144c8
- cp $a
+ cp $a ; NL
jr nz, .asm_11442b
ld a, [de]
- cp $2e
+ cp $2e ; .
jr z, .asm_1144ae
- cp $d
+ cp $d ; CR
jr z, .asm_1144b8
.asm_11444a
@@ -527,9 +527,9 @@ Function114412: ; 114412
jr z, .asm_1144c2
inc e
call z, Function1144c8
- cp $61
+ cp $61 ; "a"
jr c, .asm_114462
- cp $7b
+ cp $7b ; "z" + 1
jr nc, .asm_114462
sub $20
@@ -553,10 +553,10 @@ Function114412: ; 114412
jr .asm_11446e
.asm_114476
- ld a, $20
+ ld a, $20 ; " "
cp b
jr z, .asm_114481
- ld a, $a
+ ld a, $a ; NL
cp b
jr z, .asm_114481
dec de
@@ -572,18 +572,18 @@ Function114412: ; 114412
inc bc
inc e
call z, Function1144c8
- cp $d
+ cp $d ; CR
jr nz, .asm_114486
ld a, [de]
inc bc
inc e
call z, Function1144c8
- cp $a
+ cp $a ; NL
jr nz, .asm_114486
ld a, [de]
- cp $20
+ cp $20 ; " "
jr z, .asm_114486
- cp $9
+ cp $9 ; TAB
jr z, .asm_114486
ld d, h
ld e, l
@@ -596,14 +596,14 @@ Function114412: ; 114412
inc e
call z, Function1144c8
ld a, [de]
- cp $d
+ cp $d ; CR
jp nz, .asm_11442b
.asm_1144b8
inc e
call z, Function1144c8
ld a, [de]
- cp $a
+ cp $a ; NL
jp nz, .asm_11442b
.asm_1144c2
@@ -676,8 +676,8 @@ endr
pop hl
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -693,8 +693,8 @@ endr
ld hl, wdc06
ld a, [hl]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, wdc09
ld e, [hl]
inc hl
@@ -753,8 +753,8 @@ Function114576: ; 114576
jr nz, .asm_1145b4
ld a, h
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
push hl
push de
push bc
@@ -771,8 +771,8 @@ Function114576: ; 114576
jr nz, .asm_1145ba
ld a, h
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, String_114218
call Function114acf
@@ -945,8 +945,8 @@ Function11463c: ; 11463c
pop de
pop af
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
xor a
ld [Carpet], a
ld a, $1
@@ -968,8 +968,8 @@ Function1146a4: ; 1146a4
ld hl, wdc03
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -982,8 +982,8 @@ Function1146a4: ; 1146a4
ld hl, wdc03
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1027,8 +1027,8 @@ Function1146fa: ; 1146fa
ld hl, wdc03
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1041,8 +1041,8 @@ Function1146fa: ; 1146fa
ld a, $1
ld [wdc0e], a
ld a, [wdc00]
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, $1
ld [RightOrnament], a
call Function1147cd
@@ -1068,8 +1068,8 @@ Function1146fa: ; 1146fa
ld hl, wdc03
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1123,8 +1123,8 @@ endr
ld hl, wdc03
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
call Function114a7a
and a
jr z, .asm_1147cb
@@ -1236,8 +1236,8 @@ Function114843: ; 114843
ld a, [wdc00]
push af
push de
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
call Function114a18
and a
jr nz, .asm_11485f
@@ -1260,8 +1260,8 @@ Function114867: ; 114867
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1327,8 +1327,8 @@ Function1148c2: ; 1148c2
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1427,8 +1427,8 @@ Function11494d: ; 11494d
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1519,8 +1519,8 @@ Function1149cc: ; 1149cc
ld hl, wdc06
ld a, [hl]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
push de
ld hl, wdc09
ld e, [hl]
@@ -1874,8 +1874,8 @@ endr
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -1913,8 +1913,8 @@ Function114bbc: ; 114bbc
jr nz, .asm_114bff
ld a, h
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
call Function114c0b
ld hl, wdc24
call Function114c5e
@@ -1924,8 +1924,8 @@ Function114bbc: ; 114bbc
pop hl
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld d, [hl]
@@ -2136,8 +2136,8 @@ Function114cd9: ; 114cd9
ld [wdc04], a
ld a, h
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, wdc24
call Function114d39
ld hl, wdc24
@@ -2155,8 +2155,8 @@ endr
pop hl
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2460,8 +2460,8 @@ Function114ea0: ; 114ea0
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2666,8 +2666,8 @@ Function114f59: ; 114f59
inc hl
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -2745,8 +2745,8 @@ Function115020: ; 115020
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2804,8 +2804,8 @@ Function115062: ; 115062
ld c, a
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -2958,8 +2958,8 @@ Function115136: ; 115136
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3013,8 +3013,8 @@ Function115179: ; 115179
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3133,8 +3133,8 @@ Function115217: ; 115217
ld hl, wdc06
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3228,8 +3228,8 @@ Function11528f: ; 11528f
inc hl
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3483,8 +3483,8 @@ Function1153d2: ; 1153d2
.asm_1153f5
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -3617,8 +3617,8 @@ Function1153d2: ; 1153d2
ld hl, RightOrnament
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -3854,8 +3854,8 @@ Function11560a: ; 11560a
ld [wCurrentMapSignpostCount], a
ld a, [wdc17]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, wdc1a
ld c, [hl]
inc hl
@@ -3927,8 +3927,8 @@ Function11560a: ; 11560a
ld [hl], d
pop bc
ld a, [wCurrentMapSignpostCount]
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld hl, wCurrMapTriggerCount
ld e, [hl]
inc hl
@@ -4238,8 +4238,8 @@ Function11581e: ; 11581e
ld hl, wdc02
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -4292,8 +4292,8 @@ Function11581e: ; 11581e
ld hl, wCurrMapTriggerCount
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -4767,8 +4767,8 @@ Function115b00: ; 115b00
ld hl, wdc02
ld a, [hli]
ld [wdc00], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -4856,8 +4856,8 @@ endr
ld hl, wCurrMapTriggerCount
ld a, [hli]
ld [wCurrentMapSignpostCount], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld e, [hl]
inc hl
ld d, [hl]
@@ -5258,8 +5258,8 @@ Function115d80: ; 115d80
ld a, [bc]
inc a
ld [bc], a
- ld [$ff8c], a
- ld [$4000], a
+ ld [hFF8C], a
+ ld [MBC3SRamBank], a
ld a, e
ld d, $a0
ld e, $0
@@ -5588,7 +5588,7 @@ INCBIN "gfx/unknown/11601a.2bpp"
Function11615a: ; 11615a
xor a
ld [wc30d], a
- ld [wc314 + 5], a
+ ld [$c319], a
ld [wc310], a
ld [wc311], a
ld [wc312], a
@@ -5617,7 +5617,7 @@ Function11619d: ; 11619d
ld a, [wc30d]
and a
ret z
- ld a, [wc314 + 5]
+ ld a, [$c319]
cp $2
jr c, .asm_1161b4
ld a, $a0
@@ -5631,10 +5631,10 @@ Function11619d: ; 11619d
; 1161b8
Function1161b8: ; 1161b8
- ld a, [wc314 + 5]
+ ld a, [$c319]
ld e, a
ld d, 0
- ld hl, Jumptable_1161c7
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -5644,7 +5644,7 @@ endr
jp [hl]
; 1161c7
-Jumptable_1161c7: ; 1161c7
+.Jumptable: ; 1161c7
dw Function1161d5
dw Function116294
dw Function1162cb
@@ -5662,16 +5662,17 @@ Function1161d5: ; 1161d5
ld [rSVBK], a
ld hl, Unknown_117356
- ld de, w6_d000
+ ld de, wDecompressScratch
ld bc, $0300
call CopyBytes
di
-.asm_1161e9
+.wait_for_vblank
+; Wait until a vblank would occur had interrupts not just been disabled.
ld a, [rLY]
cp $91
- jr nz, .asm_1161e9
+ jr nz, .wait_for_vblank
ld a, $d0
ld [rHDMA1], a
@@ -5755,12 +5756,12 @@ Function1161d5: ; 1161d5
ld [MusicFade], a
ld de, MUSIC_MOBILE_ADAPTER
ld a, e
- ld [wc2a9], a
+ ld [MusicFadeIDLo], a
ld a, d
- ld [wc2aa], a
- ld a, [wc314 + 5]
+ ld [MusicFadeIDHi], a
+ ld a, [$c319]
inc a
- ld [wc314 + 5], a
+ ld [$c319], a
ret
; 11628c
@@ -5774,20 +5775,20 @@ MenuDataHeader_11628c: ; 11628c
Function116294: ; 116294
callba Function170d02
- ld a, [wc314 + 5]
+ ld a, [$c319]
inc a
- ld [wc314 + 5], a
+ ld [$c319], a
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
- ld hl, wd030
- ld de, wc314 + 12
- ld bc, $0010
+ ld hl, UnknBGPals + 8 * 6
+ ld de, $c320
+ ld bc, 2 palettes
call CopyBytes
ld hl, Palette_11734e
ld de, UnknBGPals + 8 * 7
- ld bc, $0008
+ ld bc, 1 palettes
call CopyBytes
call SetPalettes
pop af
@@ -5799,16 +5800,16 @@ Function116294: ; 116294
Function1162cb: ; 1162cb
callba Function170cc6
- ld a, [wc314 + 5]
+ ld a, [$c319]
inc a
- ld [wc314 + 5], a
+ ld [$c319], a
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_11730e
- ld de, wd050
- ld bc, $0030
+ ld de, UnknOBPals + 2 palettes
+ ld bc, 6 palettes
call CopyBytes
call SetPalettes
pop af
@@ -5821,7 +5822,7 @@ Function1162f2: ; 1162f2
call Function116758
call Function1167a6
ld a, [wc310]
- cp $fd
+ cp EGG
ret z
sla a
ld c, a
@@ -5924,7 +5925,7 @@ Function11636e: ; 11636e
ld [rSVBK], a
ld a, $a0
ld hl, Sprites
- ld bc, $0040
+ ld bc, 16 * 4
call ByteFill
ld a, $90
ld [hWY], a
@@ -5934,12 +5935,12 @@ Function11636e: ; 11636e
callba ReloadMapPart
ld a, $8
ld [MusicFade], a
- ld a, [wc2c0]
- ld [wc2a9], a
+ ld a, [wMapMusic]
+ ld [MusicFadeIDLo], a
xor a
- ld [wc2aa], a
+ ld [MusicFadeIDHi], a
xor a
- ld [wc314 + 5], a
+ ld [$c319], a
ld [wc30d], a
ret
; 1163c0
@@ -5951,17 +5952,17 @@ Function1163c0: ; 1163c0
ld [rSVBK], a
ld a, $a0
ld hl, Sprites
- ld bc, $0040
+ ld bc, 16 * 4
call ByteFill
call DelayFrame
callba Function14146
- ld b, SCGB_09
+ ld b, SCGB_MAPPALS
call GetSGBLayout
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
- ld hl, wc314 + 12
+ ld hl, $c320
ld de, wd030
ld bc, $0010
call CopyBytes
@@ -5981,23 +5982,23 @@ Function1163c0: ; 1163c0
jr z, .asm_11642a
ld a, $8
ld [MusicFade], a
- ld a, [wc2c0]
- ld [wc2a9], a
+ ld a, [wMapMusic]
+ ld [MusicFadeIDLo], a
xor a
- ld [wc2aa], a
+ ld [MusicFadeIDHi], a
jr .asm_116439
.asm_11642a
ld a, $8
ld [MusicFade], a
ld a, $0
- ld [wc2a9], a
+ ld [MusicFadeIDLo], a
ld a, $0
- ld [wc2aa], a
+ ld [MusicFadeIDHi], a
.asm_116439
xor a
- ld [wc314 + 5], a
+ ld [$c319], a
ld [wc30d], a
ret
; 116441
@@ -6009,12 +6010,12 @@ Function116441: ; 116441
callba ReloadMapPart
ld a, $8
ld [MusicFade], a
- ld a, [wc2c0]
- ld [wc2a9], a
+ ld a, [wMapMusic]
+ ld [MusicFadeIDLo], a
xor a
- ld [wc2aa], a
+ ld [MusicFadeIDHi], a
xor a
- ld [wc314 + 5], a
+ ld [$c319], a
ld [wc30d], a
ret
; 116468
@@ -6424,7 +6425,7 @@ Function1166d6:
cp $ff
ret nz
ld a, $4
- ld [wc314 + 5], a
+ ld [$c319], a
xor a
ld [wc314], a
ret
@@ -7595,7 +7596,7 @@ Palette_11734e:
RGB 10, 9, 9
RGB 15, 14, 14
-Unknown_117356:
+Unknown_117356: ; 117356
db $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9, $c9
db $c9, $c9, $c9, $c9, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1, $c1
db $c5, $c6, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2, $c2
@@ -7650,7 +7651,7 @@ Unknown_117356:
SECTION "Mobile Stadium", ROMX, BANK[$45]
-Function117656: ; 117656
+Special_GiveOddEgg: ; 117656
callba GiveOddEgg
ret
; 11765d
@@ -7712,20 +7713,22 @@ Function117699: ; 117699 (45:7699)
call ClearSprites
callba Function171c87
callba ReloadMapPart
- callba Function8cf53
+ callba ClearSpriteAnims
ret
Function1176ee: ; 1176ee (45:76ee)
+.loop
call JoyTextDelay
ld a, [wcd49]
bit 7, a
- jr nz, .asm_117709
+ jr nz, .quit
call Function117719
- callba Function8cf69
+ callba PlaySpriteAnimations
callba ReloadMapPart
- jr Function1176ee
-.asm_117709
- callba Function8cf53
+ jr .loop
+
+.quit
+ callba ClearSpriteAnims
call ClearBGPalettes
call ClearScreen
call ClearSprites
@@ -7773,7 +7776,7 @@ Function117738: ; 117738 (45:7738)
ld [hl], a
ld a, $3
ld [wcd23], a
- jp Function117a0a
+ jp MobilePassword_IncrementJumptable
Function117764: ; 117764 (45:7764)
ld a, [wcd4a]
@@ -7787,37 +7790,37 @@ Function117764: ; 117764 (45:7764)
ld [wcd24], a
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
- and $4
- jr nz, Function1177a5
+ and SELECT
+ jr nz, Function117764_select
ld a, [hl]
- and $8
- jr nz, Function1177ac
+ and START
+ jr nz, Function117764_start
ld a, [hl]
- and $1
- jp nz, Function11784c
+ and A_BUTTON
+ jp nz, Function117764_a_button
ld a, [hl]
- and $2
- jr nz, asm_1177d6
+ and B_BUTTON
+ jr nz, Function117764_b_button
ld hl, hJoyLast
ld a, [hl]
- and $40
- jr nz, asm_1177f1
+ and D_UP
+ jr nz, Function117764_d_up
ld a, [hl]
- and $80
- jr nz, asm_11780a
+ and D_DOWN
+ jr nz, Function117764_d_down
ld a, [hl]
- and $20
- jp nz, Function11782d
+ and D_LEFT
+ jp nz, Function117764_d_left
ld a, [hl]
- and $10
- jp nz, Function117837
+ and D_RIGHT
+ jp nz, Function117764_d_right
ret
-Function1177a5: ; 1177a5 (45:77a5)
+Function117764_select: ; 1177a5 (45:77a5)
callba Function171cf0
ret
-Function1177ac: ; 1177ac (45:77ac)
+Function117764_start: ; 1177ac (45:77ac)
ld a, $2
ld [wcd4c], a
ld a, $4
@@ -7830,7 +7833,8 @@ Function1177b7: ; 1177b7 (45:77b7)
ld a, [wcd4a]
and a
jr z, .asm_1177c5
- jp Function117a0a
+ jp MobilePassword_IncrementJumptable
+
.asm_1177c5
ld a, $6
ld [wcd49], a
@@ -7840,8 +7844,9 @@ Function1177cb: ; 1177cb (45:77cb)
ld a, $80
ld [wcd49], a
ld [ScriptVar], a
- jp Function117a0a
-asm_1177d6: ; 1177d6 (45:77d6)
+ jp MobilePassword_IncrementJumptable
+
+Function117764_b_button: ; 1177d6 (45:77d6)
call PlayClickSFX
ld a, [wcd4a]
and a
@@ -7858,7 +7863,8 @@ asm_1177d6: ; 1177d6 (45:77d6)
add hl, de
ld [hl], a
ret
-asm_1177f1: ; 1177f1 (45:77f1)
+
+Function117764_d_up: ; 1177f1 (45:77f1)
ld a, [wcd4d]
and a
ret z
@@ -7871,10 +7877,10 @@ asm_1177f1: ; 1177f1 (45:77f1)
sla a
sla a
add e
-asm_117806: ; 117806 (45:7806)
+Function117764_d_vertical_load: ; 117806 (45:7806)
ld [wcd4c], a
ret
-asm_11780a: ; 11780a (45:780a)
+Function117764_d_down: ; 11780a (45:780a)
ld a, [wcd4d]
cp $4
ret z
@@ -7888,15 +7894,15 @@ asm_11780a: ; 11780a (45:780a)
cp $5
jr nc, .asm_117829
xor a
- jr asm_117806
+ jr Function117764_d_vertical_load
.asm_117825
ld a, $2
- jr asm_117806
+ jr Function117764_d_vertical_load
.asm_117829
ld a, $1
- jr asm_117806
+ jr Function117764_d_vertical_load
-Function11782d: ; 11782d (45:782d)
+Function117764_d_left: ; 11782d (45:782d)
ld a, [wcd4c]
and a
ret z
@@ -7904,13 +7910,13 @@ Function11782d: ; 11782d (45:782d)
ld [wcd4c], a
ret
-Function117837: ; 117837 (45:7837)
+Function117764_d_right: ; 117837 (45:7837)
ld e, $d
ld a, [wcd4d]
cp $4
- jr nz, .asm_117842
+ jr nz, .wrap
ld e, $2
-.asm_117842
+.wrap
ld a, [wcd4c]
cp e
ret z
@@ -7918,33 +7924,34 @@ Function117837: ; 117837 (45:7837)
ld [wcd4c], a
ret
-Function11784c: ; 11784c (45:784c)
+Function117764_a_button: ; 11784c (45:784c)
call PlayClickSFX
ld a, [wcd4d]
cp $4
- jr nz, .asm_117866
+ jr nz, .not_4
ld a, [wcd4c]
cp $2
jp z, Function1177b7
cp $1
jp z, Function1177cb
- jp Function1177a5
-.asm_117866
+ jp Function117764_select
+
+.not_4
ld a, [wcd4a]
ld e, a
cp $10
- jp z, Function1177ac
+ jp z, Function117764_start
inc a
ld [wcd4a], a
ld d, $0
ld a, [wcd4b]
and a
- jr nz, .asm_117880
+ jr nz, .ascii_symbols
ld hl, Unknown_117a0f
- jr .asm_117883
-.asm_117880
+ jr .got_ascii
+.ascii_symbols
ld hl, Unknown_117a47
-.asm_117883
+.got_ascii
push de
ld a, [wcd4c]
ld b, a
@@ -7967,7 +7974,7 @@ Function11784c: ; 11784c (45:784c)
ld a, e
cp $f
ret nz
- jp Function1177ac
+ jp Function117764_start
Function1178aa: ; 1178aa (45:78aa)
ld hl, MenuDataHeader_1179b5
@@ -7980,27 +7987,27 @@ Function1178aa: ; 1178aa (45:78aa)
call MenuBoxCoord2Tile
callba ReloadMapPart
hlcoord 16, 8
- ld de, String_1179c5
+ ld de, YessNoString_1179c5
call PlaceString
hlcoord 15, 10
- ld a, $ed
+ ld a, "▶"
ld [hl], a
hlcoord 1, 14
- ld de, String_1179cc
+ ld de, AskSavePasswordString
call PlaceString
ld a, $1
ld [wcd4e], a
- jp Function117a0a
+ jp MobilePassword_IncrementJumptable
Function1178e8: ; 1178e8 (45:78e8)
ld a, [hJoyPressed]
- cp $2
- jr z, .asm_117939
- cp $1
- jr z, .asm_117925
- cp $80
- jr z, .asm_11790f
- cp $40
+ cp B_BUTTON
+ jr z, .b_button
+ cp A_BUTTON
+ jr z, .a_button
+ cp D_DOWN
+ jr z, .d_down
+ cp D_UP
ret nz
ld a, [wcd4e]
and a
@@ -8008,59 +8015,62 @@ Function1178e8: ; 1178e8 (45:78e8)
dec a
ld [wcd4e], a
hlcoord 15, 8
- ld a, $ed
+ ld a, "▶"
ld [hl], a
hlcoord 15, 10
- ld a, $7f
+ ld a, " "
ld [hl], a
ret
-.asm_11790f
+
+.d_down
ld a, [wcd4e]
and a
ret nz
inc a
ld [wcd4e], a
hlcoord 15, 8
- ld a, $7f
+ ld a, " "
ld [hl], a
hlcoord 15, 10
- ld a, $ed
+ ld a, "▶"
ld [hl], a
ret
-.asm_117925
+
+.a_button
call PlayClickSFX
ld a, [wcd4e]
and a
- jr nz, .asm_117939
+ jr nz, .b_button
call ExitMenu
ld a, $1
ld [wcd4f], a
- jp Function117a0a
-.asm_117939
+ jp MobilePassword_IncrementJumptable
+
+.b_button
call ExitMenu
call ExitMenu
- jp Function117a0a
+ jp MobilePassword_IncrementJumptable
Function117942: ; 117942 (45:7942)
call SpeechTextBox
hlcoord 1, 14
- ld de, String_1179f7
+ ld de, SavedPasswordString
call PlaceString
ld a, $1e
ld [wcd4e], a
ld a, $5
call GetSRAMBank
ld a, [wcd4f]
- ld [$aa4b], a
+ ld [sMobileLoginPassword], a
ld hl, wc708
- ld de, $aa4c
- ld bc, $11
+ ld de, sMobileLoginPassword + 1
+ ld bc, LOGIN_PASSWORD_LENGTH
call CopyBytes
call CloseSRAM
ld a, [wcd4f]
and a
jr z, asm_11797e
- call Function117a0a
+ call MobilePassword_IncrementJumptable
Function117976: ; 117976 (45:7976)
ld hl, wcd4e
@@ -8079,11 +8089,11 @@ Function117984: ; 117984 (45:7984)
call MenuBoxCoord2Tile
callba ReloadMapPart
hlcoord 1, 14
- ld de, String_1179e1
+ ld de, NotAPokemonPasswordString
call PlaceString
ld a, $1e
ld [wcd4e], a
- call Function117a0a
+ call MobilePassword_IncrementJumptable
Function1179a7: ; 1179a7 (45:79a7)
ld hl, wcd4e
@@ -8112,27 +8122,27 @@ MenuDataHeader_1179bd: ; 1179bd
; 1179c5
-String_1179c5: ; 1179c5
+YessNoString_1179c5: ; 1179c5
db "はい"
next "いいえ@"
; 1179cc
-String_1179cc: ; 1179cc
- db "こ", $25, "パスワード", $1f, "ほぞんして"
+AskSavePasswordString: ; 1179cc
+ db "こ%パスワード¯ほぞんして"
line "おきますか?@"
; 1179e1
-String_1179e1: ; 1179e1
- db "パスワード", $4a, "にゅうりょく"
+NotAPokemonPasswordString: ; 1179e1
+ db "パスワード<PKMN>にゅうりょく"
line "されていません!@"
; 1179f7
-String_1179f7: ; 1179f7
- db "ログインパスワード", $1f, "ほぞん"
+SavedPasswordString: ; 1179f7
+ db "ログインパスワード¯ほぞん"
line "しました@"
; 117a0a
-Function117a0a: ; 117a0a (45:7a0a)
+MobilePassword_IncrementJumptable: ; 117a0a (45:7a0a)
ld hl, wcd49
inc [hl]
ret
@@ -8192,7 +8202,7 @@ Function117acd: ; 0x117acd
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_117ae2 ; 0x117ad5 $b
+ jr nz, .asm_117ae2
call Function117ae9
callba Function104000
jr Function117acd
@@ -8205,7 +8215,7 @@ Function117ae9: ; 0x117ae9
ld a, [wJumptableIndex]
ld e, a
ld d, $0
- ld hl, Pointers117af8
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -8214,7 +8224,7 @@ endr
ld l, a
jp [hl]
-Pointers117af8: ; 0x117af8
+.Jumptable: ; 0x117af8
dw Function117b06
dw Function117b14
dw Function117b28
@@ -8227,25 +8237,25 @@ Function117b06:
callba Function172eb9
ld a, $10
ld [wcf64], a
- jp Function117cdd
+ jp MobileStudium_JumptableIncrement
Function117b14:
ld hl, wcf64
dec [hl]
ret nz
- ld hl, Data117cbc
+ ld hl, MenuDataHeader_117cbc
call LoadMenuDataHeader
call MenuBox
call MenuBoxCoord2Tile
- jp Function117cdd
+ jp MobileStudium_JumptableIncrement
Function117b28:
ld hl, MobileStadiumEntryText
call PrintText
- jp Function117cdd
+ jp MobileStudium_JumptableIncrement
Function117b31:
- ld hl, Data117cc4
+ ld hl, MenuDataHeader_117cc4
call LoadMenuDataHeader
call MenuBox
call MenuBoxCoord2Tile
@@ -8255,17 +8265,17 @@ Function117b31:
hlcoord 15, 8
ld a, "▶"
ld [hl], a
- jp Function117cdd
+ jp MobileStudium_JumptableIncrement
Function117b4f:
ld a, [hJoyPressed]
- cp $2
- jr z, .asm_117ba4 ; 0x117b53 $4f
- cp $1
- jr z, .asm_117b8c ; 0x117b57 $33
- cp $80
- jr z, .asm_117b76 ; 0x117b5b $19
- cp $40
+ cp B_BUTTON
+ jr z, .b_button
+ cp A_BUTTON
+ jr z, .a_button
+ cp D_DOWN
+ jr z, .d_down
+ cp D_UP
ret nz
ld a, [wcf64]
and a
@@ -8279,7 +8289,8 @@ Function117b4f:
ld a, " "
ld [hl], a
ret
-.asm_117b76
+
+.d_down
ld a, [wcf64]
and a
ret nz
@@ -8292,16 +8303,18 @@ Function117b4f:
ld a, "▶"
ld [hl], a
ret
-.asm_117b8c
+
+.a_button
call PlayClickSFX
ld a, [wcf64]
and a
- jr nz, .asm_117ba4 ; 0x117b93 $f
+ jr nz, .b_button
call ExitMenu
call ExitMenu
callba ReloadMapPart
- jp Function117cdd
-.asm_117ba4
+ jp MobileStudium_JumptableIncrement
+
+.b_button
call ExitMenu
call ExitMenu
callba ReloadMapPart
@@ -8317,9 +8330,9 @@ Function117bb6:
call ClearSprites
ld a, [wc300]
and a
- jr z, .asm_117be7 ; 0x117bca $1b
+ jr z, .asm_117be7
cp $a
- jr z, .asm_117be1 ; 0x117bce $11
+ jr z, .asm_117be1
.asm_117bd0
ld a, $2
ld [wc303], a
@@ -8338,31 +8351,31 @@ Function117bb6:
ld [rSVBK], a
ld a, [wcd89]
and $1
- jr nz, .asm_117c16 ; 0x117bf3 $21
- ld a, [wd000]
+ jr nz, .asm_117c16
+ ld a, [w3_d000]
cp $fe
- jr nz, .asm_117c16 ; 0x117bfa $1a
- ld a, [wd001]
+ jr nz, .asm_117c16
+ ld a, [w3_d001]
cp $f
- jr nz, .asm_117c16 ; 0x117c01 $13
- ld hl, $e000 - 20
+ jr nz, .asm_117c16
+ ld hl, w3_dfec
ld de, wcd69
ld c, $10
.asm_117c0b
ld a, [de]
inc de
cp [hl]
- jr nz, .asm_117c16 ; 0x117c0e $6
+ jr nz, .asm_117c16
inc hl
dec c
- jr nz, .asm_117c0b ; 0x117c12 $f7
- jr .asm_117c20 ; 0x117c14 $a
+ jr nz, .asm_117c0b
+ jr .asm_117c20
.asm_117c16
pop af
ld [rSVBK], a
ld a, $d3
ld [wc300], a
- jr .asm_117bd0 ; 0x117c1e $b0
+ jr .asm_117bd0
.asm_117c20
pop af
ld [rSVBK], a
@@ -8373,17 +8386,17 @@ Function117bb6:
ld [rSVBK], a
ld a, $7
call GetSRAMBank
- ld hl, wd002
+ ld hl, w3_d002
ld de, $b000
ld bc, $1000
call CopyBytes
call CloseSRAM
pop af
ld [rSVBK], a
- jp Function117cdd
+ jp MobileStudium_JumptableIncrement
Function117c4a:
- ld hl, Data117cbc
+ ld hl, MenuDataHeader_117cbc
call LoadMenuDataHeader
call MenuBox
call MenuBoxCoord2Tile
@@ -8394,19 +8407,19 @@ Function117c4a:
push af
ld a, $5
ld [rSVBK], a
- ld hl, wd000
- ld de, $0008
- ld c, $8
-.asm_117c71
+ ld hl, UnknBGPals
+ ld de, 1 palettes
+ ld c, 8
+.loop
push hl
- ld a, $ff
+ ld a, $7fff % $100
ld [hli], a
- ld a, " "
+ ld a, $7fff / $100
ld [hl], a
pop hl
add hl, de
dec c
- jr nz, .asm_117c71 ; 0x117c7b $f4
+ jr nz, .loop
call RotateThreePalettesRight
pop af
ld [rSVBK], a
@@ -8432,28 +8445,35 @@ Function117c89:
dec bc
ld a, b
or c
- jr nz, .asm_117c97 ; 0x117ca2 $f3
+ jr nz, .asm_117c97
ld a, l
ld [wcd83], a
ld a, h
ld [wcd84], a
ld hl, $bfea
ld de, wcd69
- ld bc, $0010
+ ld bc, $10
call CopyBytes
call CloseSRAM
ret
-Data117cbc: ; 0x117cbc
- db $40, $0c, $00, $11, $13, $00, $00, $00
+MenuDataHeader_117cbc: ; 0x117cbc
+ db $40 ; flags
+ db 12, 0 ; start coords
+ db 17, 19 ; end coords
+ dw NULL ; menu data 2
+ db 0 ; default option
-Data117cc4: ; 0x117cc4
- db $40, $07, $0e, $0b, $13, $00, $00, $00 ; XXX what is this
+MenuDataHeader_117cc4: ; 0x117cc4
+ db $40 ; flags
+ db 7, 14 ; start coords
+ db 11, 19 ; end coords
+ dw NULL ; menu data 2
+ db 0 ; default item
YesNo117ccc: ; 0x117ccc
db "はい"
- next "いいえ"
- db "@"
+ next "いいえ@"
MobileStadiumEntryText: ; 0x117cd3
text_jump _MobileStadiumEntryText
@@ -8463,9 +8483,7 @@ MobileStadiumSuccessText: ; 0x117cd8
text_jump _MobileStadiumSuccessText
db "@"
-Function117cdd: ; 0x117cdd
+MobileStudium_JumptableIncrement: ; 0x117cdd
ld hl, wJumptableIndex
inc [hl]
ret
-
-
diff --git a/misc/mobile_46.asm b/misc/mobile_46.asm
index 836da4fa0..fb1519908 100755
--- a/misc/mobile_46.asm
+++ b/misc/mobile_46.asm
@@ -21,16 +21,16 @@ asm_11800b
push af
ld a, $3
ld [rSVBK], a
-.asm_118024
+.loop
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $1b
- jr c, .asm_118037
+ jr c, .skip
ld a, [wcd34]
ld [wcf66], a
-.asm_118037
+.skip
call Function1184a5
call Function11a8fa
callba Function115dd3
@@ -39,7 +39,7 @@ asm_11800b
ld a, [wcf66]
ld hl, wcd33
cp [hl]
- jr nz, .asm_118024
+ jr nz, .loop
pop af
ld [rSVBK], a
call Function118452
@@ -142,7 +142,6 @@ Function11811a: ; 11811a
Function118121: ; 118121
xor a
ld [wcd38], a
-
Function118125: ; 118125
call Function1183cb
ld a, $3
@@ -155,16 +154,15 @@ Function118125: ; 118125
push af
ld a, $3
ld [rSVBK], a
-.asm_11813e
+.loop
call JoyTextDelay
call Function118473
ld a, [wcf66]
cp $f
- jr c, .asm_118151
+ jr c, .skip
ld a, [wcd34]
ld [wcf66], a
-
-.asm_118151
+.skip
call Function11854d
call Function11a8fa
callba Function115dd3
@@ -173,7 +171,7 @@ Function118125: ; 118125
ld a, [wcf66]
ld hl, wcd33
cp [hl]
- jr nz, .asm_11813e
+ jr nz, .loop
xor a
ld [w3_d000], a
pop af
@@ -471,7 +469,7 @@ Function1183cb: ; 1183cb
ld [wcd66], a
ld [wcd67], a
ld [wcd68], a
- ld [wc314 + 6], a
+ ld [$c31a], a
ld [wcd89], a
ld [wcd8a], a
ld [wcd8b], a
@@ -486,10 +484,10 @@ Function1183cb: ; 1183cb
ld a, $f
ld [rIE], a
ld a, $1
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld [hMobile], a
ei
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
callba Function115d99
callba Function11615a
@@ -516,7 +514,7 @@ Function118440: ; 118440
Function118452: ; 118452
di
xor a
- ld [hFFC9], a
+ ld [hMobileReceive], a
ld [hMobile], a
ld [hVBlank], a
call NormalSpeed
@@ -539,45 +537,35 @@ Function118473: ; 118473
ld a, [wcd66]
inc a
ld [wcd66], a
- cp $3c
+ cp 60
ret nz
xor a
ld [wcd66], a
ld a, [wcd67]
inc a
ld [wcd67], a
- cp $3c
+ cp 60
ret nz
ld a, [wcd68]
inc a
ld [wcd68], a
- cp $63
- jr z, .asm_1184a0
+ cp 99
+ jr z, .ninety_nine
xor a
ld [wcd67], a
ret
-.asm_1184a0
+.ninety_nine
xor a
ld [wcd65], a
ret
; 1184a5
Function1184a5: ; 1184a5
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_1184b4
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1184b4
-Jumptable_1184b4: ; 1184b4
+.Jumptable: ; 1184b4
dw Function11886e
dw Function118880
dw Function11878d
@@ -609,20 +597,10 @@ Jumptable_1184b4: ; 1184b4
; 1184ec
Function1184ec: ; 1184ec
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_1184fb
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1184fb
-Jumptable_1184fb: ; 1184fb
+.Jumptable: ; 1184fb
dw Function11886e
dw Function118880
dw Function11878d
@@ -667,20 +645,10 @@ Jumptable_1184fb: ; 1184fb
; 11854d
Function11854d: ; 11854d
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11855c
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 11855c
-Jumptable_11855c: ; 11855c
+.Jumptable: ; 11855c
dw Function118922
dw Function118936
dw Function118982
@@ -700,20 +668,10 @@ Jumptable_11855c: ; 11855c
; 11857c
Function11857c: ; 11857c
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11858b
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 11858b
-Jumptable_11858b: ; 11858b
+.Jumptable: ; 11858b
dw Function11886e
dw Function118880
dw Function11878d
@@ -745,20 +703,10 @@ Jumptable_11858b: ; 11858b
; 1185c3
Function1185c3: ; 1185c3
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_1185d2
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1185d2
-Jumptable_1185d2: ; 1185d2
+.Jumptable: ; 1185d2
dw Function11886e
dw Function118880
dw Function11878d
@@ -803,20 +751,10 @@ Jumptable_1185d2: ; 1185d2
; 118624
Function118624: ; 118624
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_118633
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118633
-Jumptable_118633: ; 118633
+.Jumptable: ; 118633
dw Function118866
dw Function118880
dw Function11878d
@@ -851,20 +789,10 @@ Jumptable_118633: ; 118633
; 118671
Function118671: ; 118671
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_118680
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118680
-Jumptable_118680: ; 118680
+.Jumptable: ; 118680
dw Function118866
dw Function118880
dw Function11878d
@@ -893,20 +821,10 @@ Jumptable_118680: ; 118680
; 1186b2
Function1186b2: ; 1186b2
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_1186c1
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1186c1
-Jumptable_1186c1: ; 1186c1
+.Jumptable: ; 1186c1
dw Function118866
dw Function118880
dw Function11878d
@@ -936,20 +854,10 @@ Jumptable_1186c1: ; 1186c1
; 1186f5
Function1186f5: ; 1186f5 (46:46f5)
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_118704
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118704 (46:4704)
-Jumptable_118704: ; 118704 (46:4704)
+.Jumptable: ; 118704 (46:4704)
dw Function11886a
dw Function118880
dw Function11878d
@@ -986,20 +894,10 @@ Jumptable_118704: ; 118704 (46:4704)
; 118746 (46:4746)
Function118746: ; 118746
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, Jumptable_118755
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118755
-Jumptable_118755: ; 118755
+.Jumptable: ; 118755
dw Function11886e
dw Function118880
dw Function11878d
@@ -1060,7 +958,7 @@ Function11878d: ; 11878d (46:478d)
ld a, $a
call Function3e32
ld a, [wc3f0]
- ld [wc314 + 5], a
+ ld [$c319], a
ld a, [wcd34]
ld [wcf66], a
ret
@@ -1071,7 +969,7 @@ Function11878d: ; 11878d (46:478d)
set 0, [hl]
ld a, $6
ld [rSVBK], a
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
ld a, [hl]
sla a
@@ -1104,13 +1002,13 @@ Function118805: ; 118805 (46:4805)
ld a, $a
call Function3e32
ld a, [wc3f0]
- ld [wc314 + 5], a
+ ld [$c319], a
ld a, [wcd34]
ld [wcf66], a
ret
Function118821: ; 118821 (46:4821)
- ld a, [wc314 + 5]
+ ld a, [$c319]
cp $3
jr c, .asm_11884a
cp $4
@@ -1123,7 +1021,7 @@ Function118821: ; 118821 (46:4821)
ld a, $a
ld [wc300], a
ld a, [wc3f0]
- ld [wc314 + 5], a
+ ld [$c319], a
ld a, [wcd34]
ld [wcf66], a
scf
@@ -1202,7 +1100,7 @@ Function118896: ; 118896
; 1188b0
Function1188b0: ; 1188b0 (46:48b0)
- ld de, wc314 + 48 + 2
+ ld de, $c346
ld a, $c
jp Function119e2b
@@ -1234,7 +1132,7 @@ Function1188c8: ; 1188c8 (46:48c8)
jp Function119e2b
Function1188e7: ; 1188e7 (46:48e7)
- ld de, wc314 + 48 + 2
+ ld de, $c346
ld a, $5
call GetSRAMBank
ld a, [$aa4a]
@@ -1254,7 +1152,7 @@ Function1188e7: ; 1188e7 (46:48e7)
Function118903: ; 118903 (46:4903)
ld a, [wc3f0]
- ld [wc314 + 5], a
+ ld [$c319], a
ld c, $1
callba Function115e18
ld a, $8
@@ -1283,7 +1181,7 @@ Function118922: ; 118922
call Function119e2e
Function118936:
- ld a, [wc314 + 6]
+ ld a, [$c31a]
and a
ret nz
ld hl, MenuDataHeader_119cf7
@@ -1295,13 +1193,13 @@ Function118936:
ld a, $40
or [hl]
ld [hl], a
- call Function3200
+ call WaitBGMap2
ld a, $1
ld [wcd4f], a
ld a, $1
ld [rSVBK], a
ld a, [StatusFlags]
- bit 6, a
+ bit 6, a ; Hall Of Fame
jr nz, .asm_11896b
ld hl, Strings_Ll0ToL40 ; Address to list of strings with the choosable levels
ld a, 5 ; 4 levels to choose from, including 'Cancel'-option
@@ -1416,7 +1314,7 @@ Function118982:
push af
ld a, $1
ld [rSVBK], a
- call WriteBackup
+ call CloseWindow
pop af
ld [rSVBK], a
ld a, [wcd38]
@@ -1429,7 +1327,7 @@ Function118982:
.asm_118a30
ld a, [wcd4f]
- ld [wd000 + $800], a
+ ld [w3_d800], a
jp Function119e2e
.asm_118a39
@@ -1440,7 +1338,7 @@ Function118982:
push af
ld a, $1
ld [rSVBK], a
- call WriteBackup
+ call CloseWindow
pop af
ld [rSVBK], a
ld a, $7
@@ -1466,7 +1364,7 @@ Function118a65: ; 118a65
ld de, wcc60
ld bc, $80
call CopyBytes
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118a7a
@@ -1476,7 +1374,7 @@ Function118a7a: ; 118a7a
ld de, wcc60
ld bc, $80
call CopyBytes
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118a8f
@@ -1486,7 +1384,7 @@ Function118a8f: ; 118a8f
ld de, wcc60
ld bc, $80
call CopyBytes
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jp Function118b10
; 118aa4
@@ -1498,7 +1396,7 @@ Function118aa4: ; 118aa4
call CopyBytes
ld a, $5
ld [rSVBK], a
- ld de, LYOverrides
+ ld de, w3_d100
ld bc, $e00
jr Function118b10
; 118abc
@@ -1508,7 +1406,7 @@ Function118abc: ; 118abc (46:4abc)
ld de, wcc60
ld bc, $80
call CopyBytes
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jr Function118b10
; 118ad0 (46:4ad0)
@@ -1518,7 +1416,7 @@ Function118ad0:
ld de, wcc60
ld bc, $80
call CopyBytes
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jr Function118b10
@@ -1566,7 +1464,7 @@ Function118b10:
jp Function119e2b
Function118b24: ; 118b24 (46:4b24)
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld a, $8
ld [hli], a
ld a, $c7
@@ -1579,7 +1477,7 @@ Function118b24: ; 118b24 (46:4b24)
call Function119ec2
ld a, $80
ld [wcd89], a
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ret
; 118b42 (46:4b42)
@@ -1627,9 +1525,8 @@ Function118b8c: ; 118b8c
jr nz, .asm_118b8c
dec hl
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ret
; 118b9a
@@ -1663,7 +1560,8 @@ IndexDownloadURL: ; 0x118ce5
Function118d35: ; 118d35
- ld hl, LYOverridesBackup
+; unreferenced
+ ld hl, $d200
ld a, [wcd38]
and a
jr nz, .asm_118d6e
@@ -1739,7 +1637,7 @@ asm_118d9f
ld [wcd3b], a
.asm_118db7
- ld hl, $d800
+ ld hl, w3_d800
ld a, $8
ld [hli], a
ld a, $c6
@@ -1760,7 +1658,7 @@ asm_118d9f
call Function119ec2
ld a, $40
ld [wcd89], a
- ld hl, $d800
+ ld hl, w3_d800
ld de, $de00
ld bc, $0200
ld a, $2c
@@ -1829,9 +1727,8 @@ asm_118e3e
ld a, [hld]
cp $2f
jr nz, .asm_118e3e
-rept 2
inc hl
-endr
+ inc hl
ld de, wcd85
ld c, $4
.asm_118e4a
@@ -1894,7 +1791,7 @@ Function118e92: ; 118e92
ld de, wcc60
call Function1191ad
ret c
- ld de, $d800
+ ld de, w3_d800
ld bc, $0800
jp Function118b10
; 118eb0
@@ -1914,22 +1811,22 @@ Function118ec6: ; 118ec6
call Function118440
call SpeechTextBox
ld hl, $d80e
- ld de, wc314 + 12
+ ld de, $c320
ld bc, $0026
call CopyBytes
xor a
- ld [wc314 + 11], a
+ ld [$c31f], a
ld a, $20
- ld [wc314 + 7], a
+ ld [$c31b], a
ld a, $c3
- ld [wc314 + 8], a
+ ld [$c31c], a
hlcoord 1, 14
ld a, l
- ld [wc314 + 9], a
+ ld [$c31d], a
ld a, h
- ld [wc314 + 10], a
+ ld [$c31e], a
ld a, $2
- ld [wc314 + 6], a
+ ld [$c31a], a
ld a, $1d
ld [wcd3c], a
ld a, $24
@@ -1957,11 +1854,11 @@ Function118f14:
ret c
ld a, [wcc60]
and a
- jr z, .asm_118f32
- ld hl, UnknownText_0x11aa13
+ jr z, .DontSendSaveFile
+ ld hl, Text_SaveFileWillBeSent
call Function11a9c0
-.asm_118f32
+.DontSendSaveFile
ld a, [wcd57]
ld l, a
ld a, [wcd58]
@@ -2002,7 +1899,7 @@ Function118f68:
ld a, [wcc60]
and a
jr z, .asm_118fba
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld a, $c608 % $100
ld [hli], a
ld a, $c608 / $100
@@ -2023,7 +1920,7 @@ Function118f68:
call Function119ec2
ld a, $40
ld [wcd89], a
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld de, $de00
ld bc, $0200
ld a, $2c
@@ -2056,18 +1953,18 @@ Function118fc0: ; 118fc0
ld a, [wcc60]
and a
jr z, .asm_118ff2
- ld hl, UnknownText_0x11aa2c
+ ld hl, Text_SentSaveFileReadingNews
jr .asm_118ff5
.asm_118ff2
- ld hl, UnknownText_0x11aa4b
+ ld hl, Text_ReadingNews
.asm_118ff5
call Function11a9c0
jr Function119009
.asm_118ffa
- ld hl, UnknownText_0x11aa4b
+ ld hl, Text_ReadingNews
call Function11a9c0
call Function119e2e
call Function119e2e
@@ -2083,7 +1980,7 @@ Function119009:
ld de, wcc60
call Function1191ad
ret c
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld a, $8
ld [hli], a
ld a, $c6
@@ -2104,8 +2001,8 @@ Function119009:
call Function119ec2
ld a, $40
ld [wcd89], a
- ld hl, wc314 + 48 + 2
- ld de, UnknBGPals
+ ld hl, $c346
+ ld de, w3_d000
ld bc, $1000
ld a, $2c
jp Function119e2b
@@ -2119,9 +2016,9 @@ Function119054: ; 119054
ld e, a
ld a, [wcd50]
ld d, a
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
call Function119192
ret c
@@ -2131,9 +2028,9 @@ Function119054: ; 119054
ld a, $6
ld [rSVBK], a
ld hl, wd002
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
call Function119192
ret c
@@ -2178,7 +2075,7 @@ Function1190d0: ; 1190d0
ld de, wcc60
call Function1191ad
ret c
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jp Function118b10
; 1190ec
@@ -2198,9 +2095,9 @@ Function1190ec: ; 1190ec
call CloseSRAM
ld a, $6
call GetSRAMBank
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
ld de, $a000
@@ -2211,9 +2108,9 @@ Function1190ec: ; 1190ec
jr z, .asm_11913e
ld a, $6
ld [rSVBK], a
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
call Function119192
@@ -2223,7 +2120,7 @@ Function1190ec: ; 1190ec
ld a, $3
ld [rSVBK], a
call CloseSRAM
- ld hl, UnknownText_0x11aa5a
+ ld hl, Text_ReceivedNews
call Function11a9c0
jp Function119e2e
; 11914e
@@ -2330,7 +2227,7 @@ Function1191ad: ; 1191ad
; 1191d3
Function1191d3: ; 1191d3
- ld hl, wd102
+ ld hl, w3_d100 + 2
ld a, l
ld [wcd53], a
ld a, h
@@ -2631,7 +2528,7 @@ Function1193a0:
ld a, $8
ld [wcd3c], a
call Function119ed8
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld a, wd000 % $100
ld [hli], a
ld a, wd000 / $100
@@ -2652,7 +2549,7 @@ Function1193a0:
call Function119ec2
ld a, $40
ld [wcd89], a
- ld hl, wc314 + 48 + 2
+ ld hl, $c346
ld de, $de00
ld bc, $0200
ld a, $2c
@@ -2678,7 +2575,7 @@ Function1193fb:
ld a, $8
ld [wcd3c], a
call Function119ed8
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
jp Function118b10
; 119413
@@ -2686,13 +2583,12 @@ Function1193fb:
Function119413: ; 119413
ld a, $6
call GetSRAMBank
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
-rept 2
dec bc
-endr
+ dec bc
ld hl, wd002
ld a, [hli]
ld e, a
@@ -2707,7 +2603,7 @@ endr
ld [rSVBK], a
ld a, [wd000]
ld c, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld b, a
ld hl, wd002
call Function119192
@@ -2882,9 +2778,8 @@ endr
.asm_119552
inc hl
.asm_119553
-rept 2
inc hl
-endr
+ inc hl
jr .asm_11955b
.asm_119557
ld de, $14
@@ -3043,7 +2938,7 @@ Function119648: ; 119648 (46:5648)
ld [wcd3c], a
call Function119ed8
call Function118b24
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
ld a, $2a
jp Function119e2b
@@ -3229,9 +3124,8 @@ Function1196f2: ; 1196f2
ld a, [hld]
cp $58
jr z, .asm_11975b
-rept 2
inc hl
-endr
+ inc hl
ld a, d
dec a
jr z, .asm_11978e
@@ -3338,7 +3232,7 @@ Function1197dc:
xor a
ld [de], a
call Function118b24
- ld de, UnknBGPals
+ ld de, w3_d000
ld bc, $1000
ld a, $2a
jp Function119e2b
@@ -3347,7 +3241,7 @@ Function1197dc:
Function119800: ; 119800
ld a, $fd
ld [$c6d0], a
- ld [wc702], a
+ ld [wOTTrademonSpecies], a
ld a, [wcd81]
ld [wc74e], a
ld a, [wJumptableIndex]
@@ -3397,7 +3291,7 @@ Function11984e: ; 11984e
ld a, $1
ld [rSVBK], a
call FadeToMenu
- callba Function108000
+ callba MobileTradeAnimation_SendGivemonToGTS
call Function11a9ce
call RestartMapMusic
ld a, $3
@@ -3431,7 +3325,7 @@ Function11984e: ; 11984e
ld a, $1
ld [rSVBK], a
call FadeToMenu
- callba Function108012
+ callba MobileTradeAnimation_RetrieveGivemonFromGTS
call Function11a9ce
call RestartMapMusic
ld a, $3
@@ -3449,17 +3343,17 @@ Function11984e: ; 11984e
; 1198ee
Function1198ee: ; 1198ee
- ld hl, UnknownText_0x11aab2
+ ld hl, Text_RegisteringRecord
call Function11a9c0
call Function119e2e
Function1198f7:
- ld a, [wc314 + 6]
+ ld a, [$c31a]
and a
ret nz
ld hl, $c608 + 2
call Function119940
- ld hl, $d800
+ ld hl, w3_d800
ld a, $c608 % $100
ld [hli], a
ld a, $c608 / $100
@@ -3480,7 +3374,7 @@ Function1198f7:
call Function119ec2
ld a, $40
ld [wcd89], a
- ld hl, $d800
+ ld hl, w3_d800
ld de, $de00
ld bc, $0200
ld a, $2c
@@ -3536,15 +3430,15 @@ Function119973: ; 119973
ld [wcf64], a
xor a
ld [wcf65], a
- ld [StringBuffer2 + 10], a
- ld de, UnknBGPals
+ ld [w3_d090], a
+ ld de, w3_d000
ld a, $20
jp Function119e2b
; 119987
Function119987: ; 119987
- ld hl, wd001
- ld a, [UnknBGPals]
+ ld hl, w3_d000 + 1
+ ld a, [w3_d000]
or [hl]
jr z, .asm_1199a0
ld a, [wcf64]
@@ -3556,7 +3450,7 @@ Function119987: ; 119987
jp Function119e2b
.asm_1199a0
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
and a
jr z, .asm_1199ae
ld a, $16
@@ -3590,7 +3484,7 @@ Function1199ca: ; 1199ca
ld l, a
ld a, [wcf65]
ld h, a
- ld de, LYOverrides
+ ld de, w3_d100
ld bc, $0700
ld a, $28
jp Function119e2b
@@ -3598,49 +3492,49 @@ Function1199ca: ; 1199ca
Function1199e2: ; 1199e2
ld c, $c
- ld de, Unknown_119e33
+ ld de, XGameCodePrefix
call Function119e4f
jp c, Function119ac9
ld a, c
cp $1
jp nz, Function119ac9
- ld hl, $d880
- ld bc, Unknown_119af1
-.asm_1199f9
+ ld hl, w3_d880
+ ld bc, XGameCode
+.loop
ld a, [bc]
and a
- jr z, .asm_119a05
+ jr z, .game_result_prefix
cp [hl]
jp nz, Function119ac9
inc bc
inc hl
- jr .asm_1199f9
+ jr .loop
-.asm_119a05
+.game_result_prefix
ld c, $17
- ld de, Unknown_119e40
+ ld de, XGameResultPrefix
call Function119e4f
jp c, .asm_119aa7
ld a, c
cp $1
jp nz, .asm_119aa7
- ld a, [wd000 + $880]
+ ld a, [w3_d880]
cp $31
jp nz, .asm_119aa7
- ld a, [wd000 + $881]
+ ld a, [w3_d881]
cp $20
jp nz, .asm_119aa7
- ld a, [wd000 + $88a]
+ ld a, [w3_d88a]
cp $20
jp nz, .asm_119aa7
- ld a, [wd000 + $894]
+ ld a, [w3_d894]
cp $20
jp nz, .asm_119aa7
xor a
- ld [wd000 + $8a0], a
- ld [wd000 + $8a1], a
- ld [wd000 + $8a2], a
- ld [wd000 + $8a3], a
+ ld [w3_d8a0], a
+ ld [w3_d8a1], a
+ ld [w3_d8a2], a
+ ld [w3_d8a3], a
ld hl, $d8a0
ld bc, $d889
call Function119e98
@@ -3662,10 +3556,10 @@ Function1199e2: ; 1199e2
cp [hl]
jr nz, Function119ac9
xor a
- ld [wd000 + $8a0], a
- ld [wd000 + $8a1], a
- ld [wd000 + $8a2], a
- ld [wd000 + $8a3], a
+ ld [w3_d8a0], a
+ ld [w3_d8a1], a
+ ld [w3_d8a2], a
+ ld [w3_d8a3], a
ld hl, $d8a0
ld bc, $d88e
call Function119e98
@@ -3694,27 +3588,27 @@ Function1199e2: ; 1199e2
jp Function119b45
.asm_119aaf
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
and a
jr nz, .asm_119aa7
- ld a, [wd000 + $895]
+ ld a, [w3_d895]
sub $30
- ld [StringBuffer2 + 10], a
+ ld [w3_d090], a
ld a, [wcf64]
- ld [StringBuffer2 + 11], a
+ ld [w3_d090 + 1], a
ld a, [wcf65]
- ld [StringBuffer2 + 12], a
+ ld [w3_d090 + 2], a
Function119ac9:
- ld a, [UnknBGPals]
+ ld a, [w3_d000]
ld l, a
- ld a, [wd001]
+ ld a, [w3_d000 + 1]
ld h, a
dec hl
ld a, l
- ld [UnknBGPals], a
+ ld [w3_d000], a
ld a, h
- ld [wd001], a
+ ld [w3_d000 + 1], a
ld a, [wcf64]
ld l, a
ld a, [wcf65]
@@ -3729,16 +3623,17 @@ Function119ac9:
ret
; 119af1
-Unknown_119af1:
- INCBIN "data/mobile/x-game-code.txt"
- INCBIN "data/mobile/x-game-result.txt"
+XGameCode:
+INCBIN "data/mobile/x-game-code.txt"
+XGameResult:
+INCBIN "data/mobile/x-game-result.txt"
; 119b0d
Function119b0d: ; 119b0d
ld a, $8
ld [wcd3c], a
call Function119ed8
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
cp $1
jr z, .asm_119b23
ld a, $19
@@ -3748,19 +3643,19 @@ Function119b0d: ; 119b0d
.asm_119b23
ld a, $10
ld [wcd89], a
- ld a, [StringBuffer2 + 11]
+ ld a, [w3_d090 + 1]
ld l, a
- ld a, [StringBuffer2 + 12]
+ ld a, [w3_d090 + 2]
ld h, a
- ld de, LYOverrides
+ ld de, w3_d100
ld bc, $0700
ld a, $24
jp Function119e2b
Function119b3b:
- ld a, [StringBuffer2 + 11]
+ ld a, [w3_d090 + 1]
ld l, a
- ld a, [StringBuffer2 + 12]
+ ld a, [w3_d090 + 2]
ld h, a
jr asm_119b4d
@@ -3776,7 +3671,7 @@ asm_119b4d
; 119b52
Function119b52: ; 119b52
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
cp $1
jr nz, .asm_119b66
ld a, $5
@@ -3791,19 +3686,19 @@ Function119b52: ; 119b52
; 119b6b
Function119b6b: ; 119b6b
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
cp $1
jr z, .asm_119b75
jp Function119e2e
.asm_119b75
- ld a, [LYOverrides]
+ ld a, [w3_d100]
ld b, a
- ld a, [wd101]
+ ld a, [w3_d100 + 1]
or b
jr z, .asm_119be3
- ld hl, $d800
- ld de, wd102
+ ld hl, w3_d800
+ ld de, w3_d100 + 2
.asm_119b85
ld a, [de]
inc de
@@ -3813,9 +3708,8 @@ Function119b6b: ; 119b6b
ld a, [de]
cp $d
jr nz, .asm_119b85
-rept 2
inc de
-endr
+ inc de
.asm_119b93
ld a, [de]
inc de
@@ -3887,7 +3781,7 @@ endr
ld [$a800], a
call CloseSRAM
xor a
- ld [StringBuffer2 + 10], a
+ ld [w3_d090], a
ret
.asm_119bfa
@@ -3896,10 +3790,10 @@ endr
cp $d
jr nz, .asm_119b93
ld a, l
- cp (wd000 + $800 + $69) % $100
+ cp (w3_d869) % $100
jr nz, .asm_119be3
ld a, h
- cp (wd000 + $800 + $69) / $100
+ cp (w3_d869) / $100
jr nz, .asm_119be3
ld a, $5
call GetSRAMBank
@@ -3907,14 +3801,14 @@ endr
ld [$b090], a
ld a, [wcf65]
ld [$b091], a
- ld hl, $d800
+ ld hl, w3_d800
ld de, $b023
ld bc, $0069
call CopyBytes
ld a, $3
ld [$a800], a
call CloseSRAM
- ld hl, $d800
+ ld hl, w3_d800
ld de, $c608
ld bc, $0069
call CopyBytes
@@ -3953,7 +3847,7 @@ Function119c3e: ; 119c3e
ld [$a800], a
call CloseSRAM
xor a
- ld [StringBuffer2 + 10], a
+ ld [w3_d090], a
scf
ret
@@ -3989,18 +3883,18 @@ Function119c3e: ; 119c3e
; 119c97
Function119c97: ; 119c97
- ld hl, UnknownText_0x11ab0f
+ ld hl, Text_UberRestriction
call Function11a9c0
call Function119e2e
jr Function119cab
Function119ca2:
- ld hl, UnknownText_0x11aaf0
+ ld hl, Text_PartyMonTopsThisLevel
call Function11a9c0
call Function119e2e
Function119cab:
- ld a, [wc314 + 6]
+ ld a, [$c31a]
and a
ret nz
ld a, $80
@@ -4022,22 +3916,22 @@ Function119cc3: ; 119cc3
jr z, .asm_119cd1
dec a
jr z, .asm_119cd6
- ld hl, UnknownText_0x11aa6a
+ ld hl, Text_QuitReadingNews
jr .asm_119cd9
.asm_119cd1
- ld hl, UnknownText_0x11ab4a
+ ld hl, Text_CancelBattleRoomChallenge
jr .asm_119cd9
.asm_119cd6
- ld hl, UnknownText_0x11ab6e
+ ld hl, Text_ExitGymLeaderHonorRoll
.asm_119cd9
call Function11a9c0
call Function119e2e
Function119cdf:
- ld a, [wc314 + 6]
+ ld a, [$c31a]
and a
ret nz
ld a, $f
@@ -4108,7 +4002,7 @@ Function119d93: ; 119d93 (46:5d93)
ld bc, PARTYMON_STRUCT_LENGTH
ld de, PartyMon1Level
ld a, [PartyCount]
-.asm_119daf
+.party_loop
push af
ld a, [de]
push hl
@@ -4119,17 +4013,18 @@ Function119d93: ; 119d93 (46:5d93)
pop de
pop hl
cp [hl]
- jr z, .asm_119dbd
- jr nc, .asm_119dc6
-.asm_119dbd
+ jr z, .equal
+ jr nc, .exceeds
+.equal
pop af
dec a
- jr nz, .asm_119daf
+ jr nz, .party_loop
pop af
ld [rSVBK], a
and a
ret
-.asm_119dc6
+
+.exceeds
pop af
ld a, $4
ld [wcf66], a
@@ -4143,40 +4038,41 @@ Function119dd1: ; 119dd1 (46:5dd1)
push af
ld a, [wcd4f]
cp 70 / 10
- jr nc, .asm_119e08
+ jr nc, .level_70_or_more
ld a, $1
ld [rSVBK], a
ld hl, PartyMon1Level
ld bc, PARTYMON_STRUCT_LENGTH
ld de, PartySpecies
ld a, [PartyCount]
-.asm_119deb
+.loop
push af
ld a, [de]
cp MEWTWO
- jr z, .asm_119dfd
+ jr z, .uber
cp MEW
- jr z, .asm_119dfd
+ jr z, .uber
cp LUGIA
- jr c, .asm_119e02
+ jr c, .next
cp NUM_POKEMON + 1
- jr nc, .asm_119e02
-.asm_119dfd
+ jr nc, .next
+.uber
ld a, [hl]
cp 70
- jr c, .asm_119e0d
-.asm_119e02
+ jr c, .uber_under_70
+.next
add hl, bc
inc de
pop af
dec a
- jr nz, .asm_119deb
-.asm_119e08
+ jr nz, .loop
+.level_70_or_more
pop af
ld [rSVBK], a
and a
ret
-.asm_119e0d
+
+.uber_under_70
pop af
ld a, [de]
ld [wd265], a
@@ -4202,90 +4098,94 @@ Function119e2e: ; 119e2e (46:5e2e)
ret
; 119e33 (46:5e33)
-Unknown_119e33: ; 119e33
- INCBIN "data/mobile/x-game-code-prefix.txt"
-Unknown_119e40:
- INCBIN "data/mobile/x-game-result-prefix.txt"
+XGameCodePrefix: ; 119e33
+INCBIN "data/mobile/x-game-code-prefix.txt"
+XGameCodePrefixEnd:
+;119e40
+
+XGameResultPrefix: ; 119e40
+INCBIN "data/mobile/x-game-result-prefix.txt"
+XGameResultPrefixEnd:
; 119e4f
Function119e4f: ; 119e4f
push bc
- ld hl, LYOverrides
+ ld hl, w3_d100
ld a, [hli]
ld c, a
ld a, [hli]
ld b, a
-.asm_119e57
+.loop
ld a, [de]
cp [hl]
- jr z, .asm_119e64
-.asm_119e5b
+ jr z, .found_equality
+.next
inc hl
dec bc
ld a, b
or c
- jr nz, .asm_119e57
-.asm_119e61
+ jr nz, .loop
+.return_carry
pop bc
scf
ret
-.asm_119e64
+.found_equality
push de
-.asm_119e65
+.loop2
ld a, [de]
inc de
cp "\n"
- jr z, .asm_119e7a
+ jr z, .newline
cp [hl]
- jr nz, .asm_119e77
+ jr nz, .unequal
inc hl
dec bc
ld a, b
or c
- jr nz, .asm_119e65
+ jr nz, .loop2
pop de
- jr .asm_119e61
+ jr .return_carry
-.asm_119e77
+.unequal
pop de
- jr .asm_119e5b
+ jr .next
-.asm_119e7a
+.newline
pop de
pop bc
inc hl
- ld de, $d880
-.asm_119e80
+ ld de, w3_d880
+.loop3
ld a, [hli]
ld [de], a
inc de
cp $d
- jr z, .asm_119e8c
+ jr z, .finish
dec c
- jr nz, .asm_119e80
+ jr nz, .loop3
scf
ret
-.asm_119e8c
+.finish
and a
ret
; 119e8e
Function119e8e: ; 119e8e
cp $60
- jr c, .asm_119e95
+ jr c, .less_than_0x60
sub $57
ret
-.asm_119e95
+.less_than_0x60
sub $30
ret
; 119e98
Function119e98: ; 119e98
ld a, $2
-.asm_119e9a
+.loop
push af
ld a, [bc]
dec bc
@@ -4305,7 +4205,7 @@ Function119e98: ; 119e98
pop af
dec a
and a
- jr nz, .asm_119e9a
+ jr nz, .loop
ret
; 119eb4
@@ -4313,26 +4213,26 @@ Function119eb4: ; 119eb4 (46:5eb4)
xor a
ld [wc3cc], a
ld de, wc3ac
-.asm_119ebb
+.loop
ld a, [de]
inc de
ld [hli], a
and a
- jr nz, .asm_119ebb
+ jr nz, .loop
ret
Function119ec2: ; 119ec2 (46:5ec2)
ld a, $5
call GetSRAMBank
xor a
- ld [$aa5c], a
- ld de, $aa4c
-.asm_119ece
+ ld [sMobileLoginPassword + LOGIN_PASSWORD_LENGTH], a
+ ld de, sMobileLoginPassword + 1
+.loop
ld a, [de]
inc de
ld [hli], a
and a
- jr nz, .asm_119ece
+ jr nz, .loop
call CloseSRAM
ret
@@ -4341,28 +4241,19 @@ Function119ed8: ; 119ed8 (46:5ed8)
ld [wcd8c], a
ld a, $1
ld [rSVBK], a
- call Function119eee
+
+ call .RunJumptable
+
ld a, [wcd8c]
ld [rSVBK], a
ld a, $1
ld [hBGMapMode], a
ret
-Function119eee: ; 119eee (46:5eee)
- ld a, [wcd3c]
- ld e, a
- ld d, 0
- ld hl, Jumptable_119efd
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 119efd (46:5efd)
+.RunJumptable
+ jumptable .Jumptable, wcd3c
-Jumptable_119efd: ; 119efd
+.Jumptable
dw Function119f3f
dw Function119f45
dw Function119f56
@@ -4504,17 +4395,17 @@ Function119f98: ; 119f98
Function11a00e: ; 11a00e
ld a, $5
call GetSRAMBank
- ld a, [$aa4b]
+ ld a, [sMobileLoginPassword]
and a
jr z, .asm_11a02a
- ld a, [$aa4c]
+ ld a, [sMobileLoginPassword + 1]
call CloseSRAM
and a
ret nz
ld a, $5
call GetSRAMBank
xor a
- ld [$aa4b], a
+ ld [sMobileLoginPassword], a
.asm_11a02a
call CloseSRAM
@@ -4529,7 +4420,7 @@ Function11a00e: ; 11a00e
ld a, $3
ld [rSVBK], a
ld hl, $c608
- ld de, $d800
+ ld de, w3_d800
ld bc, $00f6
call CopyBytes
ld a, $1
@@ -4539,7 +4430,7 @@ Function11a00e: ; 11a00e
call Function11a9ce
ld a, $3
ld [rSVBK], a
- ld hl, $d800
+ ld hl, w3_d800
ld de, $c608
ld bc, $00f6
call CopyBytes
@@ -4560,10 +4451,10 @@ Function11a00e: ; 11a00e
ld [wMenuBorderRightCoord], a
ld a, $5
ld [wMenuBorderBottomCoord], a
- call BackUpTiles
+ call PushWindow
callba Function11765d
callba Function117ab4
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
call ExitMenu
callba ReloadMapPart
@@ -4583,10 +4474,10 @@ Function11a0ca: ; 11a0ca
ld [wMenuBorderRightCoord], a
ld a, $11
ld [wMenuBorderBottomCoord], a
- call BackUpTiles
+ call PushWindow
callba Function11765d
callba Function17d3f6
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
call ExitMenu
callba ReloadMapPart
@@ -4665,7 +4556,7 @@ Function11a16d: ; 11a16d
call Function11a63c
call Function11a1e6
hlcoord 4, 2
- ld de, wc314 + 48 + 2
+ ld de, $c346
call PlaceString
call Function11a5f5
xor a
@@ -4719,7 +4610,7 @@ Function11a1d6: ; 11a1d6
Function11a1e6: ; 11a1e6
ld hl, String_11a706
- ld de, wc314 + 48 + 2
+ ld de, $c346
call Function11a1ff
ld hl, wcd85
call Function11a1ff
@@ -5267,7 +5158,7 @@ Function11a5b9: ; 11a5b9
ld [wMenuBorderRightCoord], a
ld a, $5
ld [wMenuBorderBottomCoord], a
- call BackUpTiles
+ call PushWindow
hlcoord 0, 0, AttrMap
ld b, $6
ld c, $14
@@ -5293,7 +5184,7 @@ Function11a5f5: ; 11a5f5
ld [wMenuBorderTopCoord], a
ld a, $a
ld [wMenuBorderBottomCoord], a
- call BackUpTiles
+ call PushWindow
hlcoord 14, 6, AttrMap
ld b, $5
ld c, $6
@@ -5445,7 +5336,7 @@ Function11a80c: ; 11a80c
ld bc, hQuotient
ld hl, Unknown_11a8ba
call Function11a88c
- ld bc, $ffb5
+ ld bc, hPrintNum3
ld hl, Unknown_11a8da
call Function11a88c
xor a
@@ -5453,11 +5344,11 @@ Function11a80c: ; 11a80c
ld a, [hDivisor]
and $f
ld e, a
- ld a, [$ffb9]
+ ld a, [hPrintNum7]
and $f
call Function11a884
ld e, a
- ld a, [$ffbb]
+ ld a, [hPrintNum9]
and $f
call Function11a884
ld [wcd62], a
@@ -5469,12 +5360,12 @@ Function11a80c: ; 11a80c
swap a
call Function11a884
ld e, a
- ld a, [$ffb9]
+ ld a, [hPrintNum7]
and $f0
swap a
call Function11a884
ld e, a
- ld a, [$ffbb]
+ ld a, [hPrintNum9]
and $f0
swap a
call Function11a884
@@ -5486,11 +5377,11 @@ Function11a80c: ; 11a80c
and $f
call Function11a884
ld e, a
- ld a, [$ffba]
+ ld a, [hPrintNum8]
and $f
call Function11a884
ld e, a
- ld a, [$ffbc]
+ ld a, [hPrintNum10]
and $f
call Function11a884
ld [wcd64], a
@@ -5545,20 +5436,10 @@ endr
; 11a8fa
Function11a8fa: ; 11a8fa
- ld a, [wc314 + 6]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11a909
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, $c31a
; 11a909
-Jumptable_11a909: ; 11a909
+.Jumptable: ; 11a909
dw Function11a970
dw Function11a90f
dw Function11a971
@@ -5569,14 +5450,14 @@ Function11a90f: ; 11a90f
ld [rSVBK], a
call SpeechTextBox
ld a, $50
- ld hl, wc314 + 12
+ ld hl, $c320
ld bc, $008c
call ByteFill
- ld a, [wc314 + 7]
+ ld a, [$c31b]
ld l, a
- ld a, [wc314 + 8]
+ ld a, [$c31c]
ld h, a
- ld de, wc314 + 12
+ ld de, $c320
.asm_11a92c
ld a, [hli]
cp $57
@@ -5607,17 +5488,17 @@ Function11a90f: ; 11a90f
.asm_11a94f
xor a
- ld [wc314 + 11], a
- ld a, $20
- ld [wc314 + 7], a
- ld a, $c3
- ld [wc314 + 8], a
+ ld [$c31f], a
+ ld a, $c320 % $100
+ ld [$c31b], a
+ ld a, $c320 / $100
+ ld [$c31c], a
hlcoord 1, 14
ld a, l
- ld [wc314 + 9], a
+ ld [$c31d], a
ld a, h
- ld [wc314 + 10], a
- ld hl, wc314 + 6
+ ld [$c31e], a
+ ld hl, $c31a
inc [hl]
ld a, $3
ld [rSVBK], a
@@ -5627,7 +5508,7 @@ Function11a970:
; 11a971
Function11a971: ; 11a971
- ld hl, wc314 + 11
+ ld hl, $c31f
ld a, [hJoyDown]
and a
jr nz, .asm_11a97f
@@ -5642,34 +5523,34 @@ Function11a971: ; 11a971
and $7
ld [hl], a
ld hl, wcd8d
- ld a, [wc314 + 7]
+ ld a, [$c31b]
ld e, a
- ld a, [wc314 + 8]
+ ld a, [$c31c]
ld d, a
ld a, [de]
inc de
ld [hli], a
ld a, e
- ld [wc314 + 7], a
+ ld [$c31b], a
ld a, d
- ld [wc314 + 8], a
+ ld [$c31c], a
ld a, $50
ld [hl], a
- ld a, [wc314 + 9]
+ ld a, [$c31d]
ld l, a
- ld a, [wc314 + 10]
+ ld a, [$c31e]
ld h, a
ld de, wcd8d
call PlaceString
ld a, c
- ld [wc314 + 9], a
+ ld [$c31d], a
ld a, b
- ld [wc314 + 10], a
+ ld [$c31e], a
ld a, [wcd8d]
cp $50
jr nz, .asm_11a9bf
xor a
- ld [wc314 + 6], a
+ ld [$c31a], a
.asm_11a9bf
ret
@@ -5677,21 +5558,21 @@ Function11a971: ; 11a971
Function11a9c0: ; 11a9c0
ld a, l
- ld [wc314 + 7], a
+ ld [$c31b], a
ld a, h
- ld [wc314 + 8], a
+ ld [$c31c], a
ld a, $1
- ld [wc314 + 6], a
+ ld [$c31a], a
ret
; 11a9ce
Function11a9ce: ; 11a9ce
call ClearBGPalettes
- call Function2bae
+ call ReloadTilesetAndPalettes
call Call_ExitMenu
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
- call Functiond90
+ call ret_d90
callba Function2b5c
call UpdateSprites
ret
@@ -5723,64 +5604,64 @@ Function11a9f4: ; 11a9f4
ret
; 11aa13
-UnknownText_0x11aa13: ; 0x11aa13
+Text_SaveFileWillBeSent: ; 0x11aa13
text "SAVE FILE will be"
line "sent."
done
; 0x11aa2c
-UnknownText_0x11aa2c: ; 0x11aa2c
+Text_SentSaveFileReadingNews: ; 0x11aa2c
text "Sent SAVE FILE."
line "Reading NEWS…"
done
; 0x11aa4b
-UnknownText_0x11aa4b: ; 0x11aa4b
+Text_ReadingNews: ; 0x11aa4b
text "Reading NEWS…"
done
; 0x11aa5a
-UnknownText_0x11aa5a: ; 0x11aa5a
+Text_ReceivedNews: ; 0x11aa5a
text "Received NEWS!"
done
; 0x11aa6a
-UnknownText_0x11aa6a: ; 0x11aa6a
+Text_QuitReadingNews: ; 0x11aa6a
text "Quit reading NEWS?"
done
; 0x11aa7e
-UnknownText_0x11aa7e: ; 0x11aa7e
+Text_CanceledSendingSaveFile: ; 0x11aa7e
text "Canceled sending"
line "SAVE FILE."
done
; 0x11aa9b
-UnknownText_0x11aa9b: ; 0x11aa9b
+Text_ReceivedOddEgg: ; 0x11aa9b
text "ODD EGG"
line "was received!"
done
; 0x11aab2
-UnknownText_0x11aab2: ; 0x11aab2
+Text_RegisteringRecord: ; 0x11aab2
text "Registering your"
line "record…"
done
; 0x11aacc
-UnknownText_0x11aacc: ; 0x11aacc
+Text_BattleRoomVisitLimit: ; 0x11aacc
text "One visit per day"
line "per BATTLE ROOM!"
done
; 0x11aaf0
-UnknownText_0x11aaf0: ; 0x11aaf0
+Text_PartyMonTopsThisLevel: ; 0x11aaf0
text "A party #MON"
line "tops this level."
done
; 0x11ab0f
-UnknownText_0x11ab0f: ; 0x11ab0f
+Text_UberRestriction: ; 0x11ab0f
text_from_ram wcd49
text " may go"
line "only to BATTLE"
@@ -5790,19 +5671,19 @@ UnknownText_0x11ab0f: ; 0x11ab0f
done
; 0x11ab4a
-UnknownText_0x11ab4a: ; 0x11ab4a
+Text_CancelBattleRoomChallenge: ; 0x11ab4a
text "Cancel your BATTLE"
line "ROOM challenge?"
done
; 0x11ab6e
-UnknownText_0x11ab6e: ; 0x11ab6e
+Text_ExitGymLeaderHonorRoll: ; 0x11ab6e
text "Exit GYM LEADER"
line "HONOR ROLL?"
done
; 0x11ab8b
-UnknownText_0x11ab8b: ; 0x11ab8b
+Text_LinkingWithCenter: ; 0x11ab8b
text "Linking with the"
line "CENTER…"
done
@@ -5820,18 +5701,18 @@ Text_CheckBattleRoomListByMaxLevel: ; 0x11abcb
done
; 0x11abf1
-UnknownText_0x11abf1: ; 0x11abf1
+Text_EnterWhichBattleRoom: ; 0x11abf1
text "Enter which"
line "BATTLE ROOM?"
done
; 0x11ac0b
-UnknownText_0x11ac0b: ; 0x11ac0b
+Text_WhichBattleRoom: ; 0x11ac0b
text "Which BATTLE ROOM?"
done
; 0x11ac1f
-UnknownText_0x11ac1f: ; 0x11ac1f
+Text_ThisBattleRoomPleaseWait: ; 0x11ac1f
text_from_ram StringBuffer3
text "'s ROOM"
line "@"
@@ -5844,9 +5725,9 @@ UnknownText_0x11ac1f: ; 0x11ac1f
Function11ac3e: ; 11ac3e
call SpeechTextBox
call FadeToMenu
- callab ClearSpriteAnims
+ callab ClearSpriteAnims2
call Function11ac51
- call ReturnToCallingMenu
+ call CloseSubmenu
ret
; 11ac51
@@ -5874,7 +5755,7 @@ Function11ac51: ; 11ac51
ld [wcd4e], a
call Function11ad1b
call DelayFrame
-.asm_11ac82
+.loop
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
@@ -5882,11 +5763,11 @@ Function11ac51: ; 11ac51
call Function11b314
call Function11acb7
call Function11ad6e
- ld a, $78
- ld [wc3b5], a
- callba Function8cf7a
+ ld a, 30 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callba DoNextFrameForAllSprites
callba ReloadMapPart
- jr .asm_11ac82
+ jr .loop
.asm_11aca8
call ClearSprites
@@ -5900,7 +5781,7 @@ Function11ac51: ; 11ac51
; 11acb7
Function11acb7: ; 11acb7
- ld hl, Unknown_11ba44
+ ld hl, TilemapPack_11ba44
ld a, [wcd49]
ld c, a
ld b, $0
@@ -5915,19 +5796,18 @@ Function11acb7: ; 11acb7
ld a, [hli]
ld [de], a
decoord 0, 7
- ld bc, $0007
+ ld bc, 7
call CopyBytes
ld a, [wcd49]
inc a
ld [wcd49], a
ld a, [hl]
cp $ff
- jr nz, .asm_11aceb
+ jr nz, .get_the_other
xor a
ld [wcd49], a
-
-.asm_11aceb
- ld hl, Unknown_11bb7d
+.get_the_other
+ ld hl, TilemapPack_11bb7d
ld a, [wcd4a]
ld c, a
ld b, $0
@@ -5939,7 +5819,7 @@ Function11acb7: ; 11acb7
rl b
add hl, bc
decoord 3, 9
- ld bc, $0007
+ ld bc, 7
call CopyBytes
ld a, [wcd4a]
inc a
@@ -5958,12 +5838,12 @@ Function11ad1b: ; 11ad1b
call ClearSprites
call ClearTileMap
callba Function17c000
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [wcd82], a
dec a
ld [hObjectStructIndexBuffer], a
ld a, $10
- ld [wc3b7], a
+ ld [wCurIconTile], a
ld hl, Function8e83f
ld a, BANK(Function8e83f)
ld e, $4
@@ -5984,7 +5864,7 @@ Function11ad1b: ; 11ad1b
ld [wcd30], a
ld a, $2
ld [wc7d4], a
- callba Function40bdc
+ callba Pokedex_ChangeMode
ret
; 11ad6e
@@ -6027,12 +5907,12 @@ Function11ad95: ; 11ad95
ld de, String_11ae40
call PlaceString
hlcoord 10, 10, AttrMap
- ld bc, $0808
+ lb bc, 8, 8
call Function11afd6
callba ReloadMapPart
call Function11ad8a
ld a, $1
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afcc
call Function11afb7
@@ -6059,13 +5939,13 @@ Function11adc4:
jr .asm_11ae2e
.asm_11ade6
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ret z
jr .asm_11adf4
.asm_11aded
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
inc a
cp $4
ret z
@@ -6075,21 +5955,21 @@ Function11adc4:
ld hl, Unknown_11afcc
call Function11afbb
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afcc
call Function11afb7
ret
.asm_11ae06
call PlayClickSFX
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld hl, wcd30
ld [hl], a
and a
jr z, .asm_11ae28
hlcoord 2, 14
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $2
jr z, .asm_11ae23
call Function11b272
@@ -6149,7 +6029,7 @@ Function11ae4e: ; 11ae4e
callba ReloadMapPart
call Function11ad8a
ld a, $1
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
@@ -6180,13 +6060,13 @@ Function11ae98:
jr .asm_11aef7
.asm_11aec1
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ret z
jr .asm_11aecf
.asm_11aec8
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
inc a
cp $3
ret z
@@ -6196,14 +6076,14 @@ Function11ae98:
ld hl, Unknown_11afd2
call Function11afbb
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
ret
.asm_11aee1
call PlayClickSFX
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $2
jr z, .asm_11aeb4
ld a, [wcd4b]
@@ -6240,7 +6120,7 @@ Function11af04: ; 11af04
callba ReloadMapPart
call Function11ad8a
ld a, $2
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
@@ -6271,13 +6151,13 @@ Function11af4e:
jr .asm_11afaa
.asm_11af77
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ret z
jr .asm_11af85
.asm_11af7e
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
inc a
cp $3
ret z
@@ -6287,14 +6167,14 @@ Function11af4e:
ld hl, Unknown_11afd2
call Function11afbb
pop af
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
ld hl, Unknown_11afd2
call Function11afb7
ret
.asm_11af97
call PlayClickSFX
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $2
jr z, .asm_11af6a
ld a, $6
@@ -6317,13 +6197,12 @@ Function11afbb:
ld e, $7f
asm_11afbd:
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
dec a
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, e
ld e, [hl]
inc hl
@@ -6343,20 +6222,20 @@ Unknown_11afd2:
; 11afd6
Function11afd6: ; 11afd6
- ld de, $0014
+ ld de, SCREEN_WIDTH
ld a, $3
-.asm_11afdb
+.row
push bc
push hl
-.asm_11afdd
+.col
ld [hli], a
dec c
- jr nz, .asm_11afdd
+ jr nz, .col
pop hl
add hl, de
pop bc
dec b
- jr nz, .asm_11afdb
+ jr nz, .row
ret
; 11afe8
@@ -6413,55 +6292,55 @@ Function11b03d: ; 11b03d
push hl
push af
ld c, $1
-.asm_11b041
+.loop
ld a, [hli]
- cp $ef
- jr z, .asm_11b051
- cp $f5
- jr z, .asm_11b051
- cp $50
- jr z, .asm_11b055
+ cp "♂"
+ jr z, .gender
+ cp "♀"
+ jr z, .gender
+ cp "@"
+ jr z, .done
inc c
- jr .asm_11b041
+ jr .loop
-.asm_11b051
+.gender
dec hl
- ld a, $50
+ ld a, "@"
ld [hli], a
-.asm_11b055
+.done
dec hl
push hl
- ld e, $4
- ld d, $0
+ ld e, 4
+ ld d, 0
add hl, de
ld e, l
ld d, h
pop hl
-.asm_11b05f
+.loop2
ld a, [hld]
ld [de], a
dec de
dec c
- jr nz, .asm_11b05f
+ jr nz, .loop2
pop af
pop de
cp $1
- jr nz, .asm_11b070
- ld hl, String_11b07a
- jr .asm_11b073
+ jr nz, .female
+ ld hl, .MaleString
+ jr .got_string
-.asm_11b070
- ld hl, String_11b07e
+.female
+ ld hl, .FemaleString
-.asm_11b073
- ld bc, 4
+.got_string
+ ld bc, 4 ; string length
call CopyBytes
ret
; 11b07a
-String_11b07a: db "ォスの "
-String_11b07e: db "メスの "
+.MaleString: db "ォスの "
+.FemaleString: db "メスの "
Function11b082: ; 11b082
call Function11b242
@@ -6485,36 +6364,38 @@ Function11b099: ; 11b099
ld a, [wc7d0]
ld e, a
ld d, $0
- ld hl, $c6d0
+ ld hl, wc6d0
add hl, de
ld e, l
ld d, h
hlcoord 11, 2
ld a, [wc7d3]
-.asm_11b0b9
+.loop
push af
ld a, [de]
ld [wd265], a
push de
push hl
- call Function11b0cf
+ call .PlaceMonNameOrPlaceholderString
pop hl
- ld de, $0028
+ ld de, 2 * SCREEN_WIDTH
add hl, de
pop de
inc de
pop af
dec a
- jr nz, .asm_11b0b9
+ jr nz, .loop
ret
; 11b0cf
-Function11b0cf: ; 11b0cf
+.PlaceMonNameOrPlaceholderString: ; 11b0cf
and a
ret z
- call Function11b0ec
+
+ call .CheckSeenFlag
ret c
- call Function11b0e1
+
+ call .SetCaughtFlag
push hl
call GetPokemonName
pop hl
@@ -6522,29 +6403,30 @@ Function11b0cf: ; 11b0cf
ret
; 11b0e1
-Function11b0e1: ; 11b0e1
- call Function11b21e
- jr nz, .asm_11b0e8
+.SetCaughtFlag: ; 11b0e1
+ call CheckCaughtMemMon
+ jr nz, .okay
inc hl
ret
-.asm_11b0e8
+.okay
ld a, $1
ld [hli], a
ret
; 11b0ec
-Function11b0ec: ; 11b0ec
- call Function11b22a
+.CheckSeenFlag: ; 11b0ec
+ call CheckSeenMemMon
ret nz
+
inc hl
- ld de, String_11b0f9
+ ld de, .EmptySlot
call PlaceString
scf
ret
; 11b0f9
-String_11b0f9: ; 11b0f9
+.EmptySlot: ; 11b0f9
db "ーーーーー@"
; 11b0ff
@@ -6580,7 +6462,7 @@ Function11b0ff: ; 11b0ff
.asm_11b131
call Function11b20b
- call Function11b22a
+ call CheckSeenMemMon
jr z, .asm_11b13d
ld a, $1
jr .asm_11b148
@@ -6764,7 +6646,7 @@ Function11b20b: ; 11b20b
ret
; 11b21e
-Function11b21e: ; 11b21e
+CheckCaughtMemMon: ; 11b21e
push de
push hl
ld a, [wd265]
@@ -6775,7 +6657,7 @@ Function11b21e: ; 11b21e
ret
; 11b22a
-Function11b22a: ; 11b22a
+CheckSeenMemMon: ; 11b22a
push de
push hl
ld a, [wd265]
@@ -6793,9 +6675,8 @@ Function11b236: ; 11b236
Function11b239: ; 11b239
ld e, a
ld d, 0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -6846,7 +6727,7 @@ Function11b275: ; 11b275
Function11b279: ; 11b279
ld a, [wd265]
ld [CurSpecies], a
- call Function11b22a
+ call CheckSeenMemMon
jr z, .asm_11b28f
call GetBaseData
ld a, [BaseGender]
@@ -6869,7 +6750,7 @@ Function11b295: ; 11b295
ld de, String_11b308
call PlaceString
call Function11b20b
- call Function11b22a
+ call CheckSeenMemMon
jr z, .asm_11b2d1
ld a, [$c608]
ld c, a
@@ -6882,7 +6763,7 @@ Function11b295: ; 11b295
ld hl, $0003
add hl, bc
ld e, [hl]
- callba Function8e9bc
+ callba FlyFunction_GetMonIcon
hlcoord 4, 14
push hl
call GetPokemonName
@@ -6943,53 +6824,106 @@ Function11b314: ; 11b314
; 11b31b
Function11b31b: ; 11b31b
- ld hl, Unknown_11b350
+ ld hl, .Coords
ld a, [wJumptableIndex]
- cp $2
- jr c, .asm_11b349
+ cp 2
+ jr c, .tilemap_1
ld a, [wc7d1]
- cp $4
- jr nc, .asm_11b344
- cp $3
- jr c, .asm_11b349
+ cp 4
+ jr nc, .tilemap_3
+ cp 3
+ jr c, .tilemap_1
ld a, [wJumptableIndex]
- cp $2
- jr z, .asm_11b349
- cp $3
- jr z, .asm_11b349
- cp $6
- jr z, .asm_11b349
+ cp 2
+ jr z, .tilemap_1
+ cp 3
+ jr z, .tilemap_1
+ cp 6
+ jr z, .tilemap_1
- ld bc, Unknown_11b37b
- jr .asm_11b34c
+ ld bc, .Tilemap2
+ jr .load_sprites
-.asm_11b344
- ld bc, Unknown_11b389
- jr .asm_11b34c
+.tilemap_3
+ ld bc, .Tilemap3
+ jr .load_sprites
-.asm_11b349
- ld bc, Unknown_11b36d
+.tilemap_1
+ ld bc, .Tilemap1
-.asm_11b34c
+.load_sprites
call Function11b397
ret
; 11b350
-Unknown_11b350:
- db $1a, $5e, $1a, $66, $1a, $6e, $1a, $76, $1a, $7e, $1a, $86, $1a, $8e
- db $22, $5e, $22, $66, $22, $6e, $22, $76, $22, $7e, $22, $86, $22, $8e
- db $ff
-
-Unknown_11b36d:
- db $30, $31, $31, $31, $31, $31, $32, $40, $41, $41, $41, $41, $41, $42
-Unknown_11b37b:
- db $30, $31, $31, $39, $39, $39, $39, $40, $41, $41, $39, $39, $39, $39
-Unknown_11b389:
- db $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39, $39
+.Coords:
+ dbpixel 3, 11, 2, 6 ; 0
+ dbpixel 3, 12, 2, 6 ; 1
+ dbpixel 3, 13, 2, 6 ; 2
+ dbpixel 3, 14, 2, 6 ; 3
+ dbpixel 3, 15, 2, 6 ; 4
+ dbpixel 3, 16, 2, 6 ; 5
+ dbpixel 3, 17, 2, 6 ; 6
+ dbpixel 4, 11, 2, 6 ; 7
+ dbpixel 4, 12, 2, 6 ; 8
+ dbpixel 4, 13, 2, 6 ; 9
+ dbpixel 4, 14, 2, 6 ; 10
+ dbpixel 4, 15, 2, 6 ; 11
+ dbpixel 4, 16, 2, 6 ; 12
+ dbpixel 4, 17, 2, 6 ; 13
+ db -1
+
+.Tilemap1: ; vtiles
+ db $30 ; 0
+ db $31 ; 1
+ db $31 ; 2
+ db $31 ; 3
+ db $31 ; 4
+ db $31 ; 5
+ db $32 ; 6
+ db $40 ; 7
+ db $41 ; 8
+ db $41 ; 9
+ db $41 ; 10
+ db $41 ; 11
+ db $41 ; 12
+ db $42 ; 13
+
+.Tilemap2: ; vtiles
+ db $30 ; 0
+ db $31 ; 1
+ db $31 ; 2
+ db $39 ; 3
+ db $39 ; 4
+ db $39 ; 5
+ db $39 ; 6
+ db $40 ; 7
+ db $41 ; 8
+ db $41 ; 9
+ db $39 ; 10
+ db $39 ; 11
+ db $39 ; 12
+ db $39 ; 13
+
+.Tilemap3: ; vtiles
+ db $39 ; 0
+ db $39 ; 1
+ db $39 ; 2
+ db $39 ; 3
+ db $39 ; 4
+ db $39 ; 5
+ db $39 ; 6
+ db $39 ; 7
+ db $39 ; 8
+ db $39 ; 9
+ db $39 ; 10
+ db $39 ; 11
+ db $39 ; 12
+ db $39 ; 13
Function11b397: ; 11b397
ld de, Sprites
-.asm_11b39a
+.loop
ld a, [hl]
cp $ff
ret z
@@ -6997,26 +6931,29 @@ Function11b397: ; 11b397
and $7
swap a
add [hl]
- inc hl
+ inc hl ; 1
ld [de], a
inc de
- ld a, [hli]
+
+ ld a, [hli] ; 2
ld [de], a
inc de
+
ld a, [bc]
inc bc
ld [de], a
inc de
- ld a, $5
+ ld a, $5 ; OBPal 5
ld [de], a
inc de
- jr .asm_11b39a
+ jr .loop
; 11b3b6
Function11b3b6: ; 11b3b6
-.asm_11b3b6
+; unreferenced
+.loop
ld a, [hl]
- cp $ff
+ cp -1
ret z
ld a, [wcd4d]
and $7
@@ -7040,11 +6977,11 @@ Function11b3b6: ; 11b3b6
ld a, $5
ld [de], a
inc de
- jr .asm_11b3b6
+ jr .loop
; 11b3d9
Function11b3d9: ; 11b3d9
- ld de, Sprites + $70
+ ld de, Sprites + 28 * 4
push de
ld a, [wc7d2]
dec a
@@ -7053,51 +6990,51 @@ Function11b3d9: ; 11b3d9
ld hl, wc7d0
add [hl]
cp e
- jr z, .asm_11b40d
+ jr z, .skip
ld hl, 0
- ld bc, $0070
+ ld bc, $70
call AddNTimes
ld e, l
ld d, h
- ld b, $0
+ ld b, 0
ld a, d
or e
- jr z, .asm_11b40f
+ jr z, .load_sprites
ld a, [wc7d2]
ld c, a
-.asm_11b401
+.loop1
ld a, e
sub c
ld e, a
ld a, d
sbc $0
ld d, a
- jr c, .asm_11b40f
+ jr c, .load_sprites
inc b
- jr .asm_11b401
+ jr .loop1
-.asm_11b40d
- ld b, $70
+.skip
+ ld b, 14 * 8
-.asm_11b40f
- ld a, $15
+.load_sprites
+ ld a, 2 * 8 + 5
add b
pop hl
ld [hli], a
cp $41
- jr c, .asm_11b42b
+ jr c, .version1
ld a, [wJumptableIndex]
- cp $4
- jr z, .asm_11b43b
- cp $5
- jr z, .asm_11b43b
- cp $7
- jr z, .asm_11b43b
- cp $8
- jr z, .asm_11b43b
-
-.asm_11b42b
- ld a, $9b
+ cp 4
+ jr z, .version2
+ cp 5
+ jr z, .version2
+ cp 7
+ jr z, .version2
+ cp 8
+ jr z, .version2
+
+.version1
+ ld a, 19 * 8 + 3
ld [hli], a
ld a, [wcd4c]
add $3c
@@ -7107,8 +7044,8 @@ Function11b3d9: ; 11b3d9
ld [hl], a
ret
-.asm_11b43b
- ld a, $9b
+.version2
+ ld a, 19 * 8 + 3
ld [hli], a
ld a, $39
ld [hli], a
@@ -7118,12 +7055,13 @@ Function11b3d9: ; 11b3d9
; 11b444
Function11b444: ; 11b444
- call Function11b44b
- call Function11b45c
+; special
+ call Mobile46_InitJumptable
+ call Mobile46_RunJumptable
ret
; 11b44b
-Function11b44b: ; 11b44b
+Mobile46_InitJumptable: ; 11b44b
xor a
ld [wJumptableIndex], a
ld [wcf64], a
@@ -7133,43 +7071,32 @@ Function11b44b: ; 11b44b
ret
; 11b45c
-Function11b45c: ; 11b45c
-.asm_11b45c
- call Function11b46a
+Mobile46_RunJumptable: ; 11b45c
+.loop
+ call .IterateJumptable
call DelayFrame
ld a, [wJumptableIndex]
- cp $4
- jr nz, .asm_11b45c
+ cp 4
+ jr nz, .loop
ret
; 11b46a
-Function11b46a: ; 11b46a
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11b479
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 11b479
+.IterateJumptable: ; 11b46a
+ jumptable .Jumptable, wJumptableIndex
-Jumptable_11b479: ; 11b479
+.Jumptable
dw Function11b483
dw Function11b570
dw Function11b5c0
dw Function11b5e0
- dw Function11b5e7
+ dw Function11b5e7 ; unused
; 11b483
Function11b483: ; 11b483
- call Function11b538
+ call .InitRAM
ld hl, PlayerName
- ld a, $5
-.asm_11b48b
+ ld a, $5 ; Japanese Name Length
+.loop1
push af
ld a, [hli]
ld [bc], a
@@ -7177,23 +7104,24 @@ Function11b483: ; 11b483
pop af
dec a
and a
- jr nz, .asm_11b48b
- ld de, $0030
+ jr nz, .loop1
+
+ ld de, PARTYMON_STRUCT_LENGTH
ld hl, PartyMon1Species
ld a, [wcd82]
dec a
push af
-.asm_11b49f
+.loop2
and a
- jr z, .asm_11b4a6
+ jr z, .okay
add hl, de
dec a
- jr .asm_11b49f
+ jr .loop2
-.asm_11b4a6
+.okay
push bc
- ld a, $30
-.asm_11b4a9
+ ld a, PARTYMON_STRUCT_LENGTH
+.loop3
push af
ld a, [hli]
ld [bc], a
@@ -7201,51 +7129,51 @@ Function11b483: ; 11b483
pop af
dec a
and a
- jr nz, .asm_11b4a9
+ jr nz, .loop3
+
pop de
push bc
ld a, [de]
ld [CurSpecies], a
call GetBaseData
- ld hl, $001f
+ ld hl, MON_LEVEL
add hl, de
ld a, [hl]
ld [CurPartyLevel], a
- ld hl, $0024
+ ld hl, MON_MAXHP
add hl, de
push hl
- ld hl, $000a
+ ld hl, MON_STAT_EXP - 1
add hl, de
pop de
push de
- ld b, $1
+ ld b, OTPARTYMON
predef CalcPkmnStats
pop de
ld h, d
ld l, e
-rept 2
dec hl
-endr
+ dec hl
ld a, [de]
ld [hli], a
inc de
ld a, [de]
ld [hl], a
pop bc
- ld de, $000b
+ ld de, NAME_LENGTH
ld hl, PartyMonOT
pop af
push af
-.asm_11b4e8
+.loop4
and a
- jr z, .asm_11b4ef
+ jr z, .okay2
add hl, de
dec a
- jr .asm_11b4e8
+ jr .loop4
-.asm_11b4ef
- ld a, $a
-.asm_11b4f1
+.okay2
+ ld a, NAME_LENGTH - 1
+.loop5
push af
ld a, [hli]
ld [bc], a
@@ -7253,21 +7181,21 @@ endr
pop af
dec a
and a
- jr nz, .asm_11b4f1
- ld de, $000b
+ jr nz, .loop5
+ ld de, NAME_LENGTH
ld hl, PartyMonNicknames
pop af
push af
-.asm_11b502
+.loop6
and a
- jr z, .asm_11b509
+ jr z, .okay3
add hl, de
dec a
- jr .asm_11b502
+ jr .loop6
-.asm_11b509
- ld a, $a
-.asm_11b50b
+.okay3
+ ld a, NAME_LENGTH - 1
+.loop7
push af
ld a, [hli]
ld [bc], a
@@ -7275,22 +7203,22 @@ endr
pop af
dec a
and a
- jr nz, .asm_11b50b
- ld de, $002f
- ld hl, $a600
+ jr nz, .loop7
+ ld de, MAIL_STRUCT_LENGTH
+ ld hl, sPartyMail
pop af
-.asm_11b51b
+.loop8
and a
- jr z, .asm_11b522
+ jr z, .okay4
add hl, de
dec a
- jr .asm_11b51b
+ jr .loop8
-.asm_11b522
- ld a, $0
+.okay4
+ ld a, $0 ; BANK(sPartyMail)
call GetSRAMBank
- ld a, $2f
-.asm_11b529
+ ld a, MAIL_STRUCT_LENGTH
+.loop9
push af
ld a, [hli]
ld [bc], a
@@ -7298,38 +7226,44 @@ endr
pop af
dec a
and a
- jr nz, .asm_11b529
+ jr nz, .loop9
call CloseSRAM
jp Function11ad8a
-; 11b538
-Function11b538: ; 11b538
- ld bc, BattleMonNick + 5
+.InitRAM
+ ld bc, wc626
ld a, [PlayerID]
ld [wcd2a], a
ld [bc], a
inc bc
+
ld a, [PlayerID + 1]
ld [wcd2b], a
ld [bc], a
inc bc
+
ld a, [wSecretID]
ld [wcd2c], a
ld [bc], a
inc bc
+
ld a, [wSecretID + 1]
ld [wcd2d], a
ld [bc], a
inc bc
+
ld a, [wcd2e]
ld [bc], a
inc bc
+
ld a, [wcd2f]
ld [bc], a
inc bc
+
ld a, [wcd30]
ld [bc], a
inc bc
+
ld a, [wd265]
ld [bc], a
inc bc
@@ -7340,36 +7274,40 @@ Function11b570: ; 11b570
call Function118007
ld a, [ScriptVar]
and a
- jr nz, .asm_11b57f
- call Function11b585
+ jr nz, .exit
+ call .SaveData
jp Function11ad8a
-.asm_11b57f
+.exit
ld a, $4
ld [wJumptableIndex], a
ret
-; 11b585
-Function11b585: ; 11b585
+.SaveData
ld a, $3
ld [rSVBK], a
- ld hl, $d800
+
+ ld hl, w3_d800
ld de, $c608
- ld bc, $008f
+ ld bc, w3_d88f - w3_d800
call CopyBytes
+
ld a, $1
ld [rSVBK], a
ld a, $5
call GetSRAMBank
+
ld de, $a800
ld a, $1
ld [de], a
inc de
ld hl, $c608
- ld bc, $008f
+ ld bc, w3_d88f - w3_d800
call CopyBytes
+
push de
pop hl
+
ld a, [hRTCMinutes]
ld [hli], a
ld a, [hRTCHours]
@@ -7378,6 +7316,7 @@ Function11b585: ; 11b585
ld [hli], a
ld a, [hRTCDayHi]
ld [hl], a
+
call CloseSRAM
ret
; 11b5c0
@@ -7387,8 +7326,8 @@ Function11b5c0: ; 11b5c0
dec a
ld [CurPartyMon], a
xor a
- ld [wd10b], a
- callba Functione039
+ ld [wPokemonWithdrawDepositParameter], a
+ callba RemoveMonFromPartyOrBox
callba Function170807
callba Function14a58
jp Function11ad8a
@@ -7409,14 +7348,14 @@ Function11b5e8: ; 11b5e8
call GetSRAMBank
ld hl, wRTC
ld de, $c608
- ld bc, $0004
+ ld bc, 4
call CopyBytes
call CloseSRAM
ld a, $5
call GetSRAMBank
ld hl, $c608
ld de, $b08c
- ld bc, $0004
+ ld bc, 4
call CopyBytes
ld a, $2
ld [$a800], a
@@ -7437,36 +7376,21 @@ Function11b5e8: ; 11b5e8
ld a, [$a826]
ld [wcd31], a
call CloseSRAM
- call Function11b44b
- call Function11b64c
+ call Mobile46_InitJumptable
+ call .loop
ret
-; 11b64c
-Function11b64c: ; 11b64c
-.asm_11b64c
- call Function11b65a
+.loop
+ call .RunJumptable
call DelayFrame
ld a, [wJumptableIndex]
cp $1
- jr nz, .asm_11b64c
+ jr nz, .loop
ret
-; 11b65a
-Function11b65a: ; 11b65a
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11b669
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 11b669
-
-Jumptable_11b669: ; 11b669
+.RunJumptable
+ jumptable .Jumptable, wJumptableIndex
+.Jumptable
dw Function11b66d
dw Function11b6b3
; 11b66d
@@ -7480,7 +7404,7 @@ Function11b66d: ; 11b66d
push af
ld a, $3
ld [rSVBK], a
- ld a, [StringBuffer2 + 10]
+ ld a, [w3_d090]
ld b, a
pop af
ld [rSVBK], a
@@ -7504,7 +7428,7 @@ Function11b66d: ; 11b66d
ld a, $3
ld [rSVBK], a
ld a, $2
- ld [StringBuffer2 + 10], a
+ ld [w3_d090], a
pop af
ld [rSVBK], a
@@ -7523,161 +7447,168 @@ Function11b6b4: ; 11b6b4
ld [wc708], a
ld a, [wcd31]
ld [wc709], a
- ld a, $8
- ld [BGMapBuffer], a
- ld a, $c7
- ld [wcd21], a
- ld a, $d
- ld [CreditsTimer], a
- ld a, $c6
- ld [wcd23], a
- ld a, $3d
- ld [wcd24], a
- ld a, $c6
- ld [wcd25], a
- ld a, $42
- ld [wcd26], a
- ld a, $c6
- ld [wcd27], a
- ld a, $47
- ld [wcd28], a
- ld a, $c6
- ld [wcd29], a
+
+ ld a, $c708 % $100
+ ld [wMobileMonSpeciesPointerBuffer], a
+ ld a, $c708 / $100
+ ld [wMobileMonSpeciesPointerBuffer + 1], a
+
+ ld a, $c60d % $100 ; Partymon Struct
+ ld [wMobileMonStructurePointerBuffer], a
+ ld a, $c60d / $100
+ ld [wMobileMonStructurePointerBuffer + 1], a
+
+ ld a, $c63d % $100 ; OT
+ ld [wMobileMonOTNamePointerBuffer], a
+ ld a, $c63d / $100
+ ld [wMobileMonOTNamePointerBuffer + 1], a
+
+ ld a, $c642 % $100 ; Nickname
+ ld [wMobileMonNicknamePointerBuffer], a
+ ld a, $c642 / $100
+ ld [wMobileMonNicknamePointerBuffer + 1], a
+
+ ld a, $c647 % $100 ; ???
+ ld [wMobileMonMailPointerBuffer], a
+ ld a, $c647 / $100
+ ld [wMobileMonMailPointerBuffer + 1], a
+
ld a, $46
ld [$c628], a
+
ld de, $c63d
- ld c, $5
+ ld c, 5
callba CheckStringForErrors
- jr nc, .asm_11b70f
- callba Function17d187
+ jr nc, .length_check_OT
+ callba Mobile_CopyDefaultOTName
-.asm_11b70f
+.length_check_OT
ld de, $c63d
lb bc, 1, 5
callba CheckStringContainsLessThanBNextCharacters
- jr nc, .asm_11b723
- callba Function17d187
+ jr nc, .error_check_nick
+ callba Mobile_CopyDefaultOTName
-.asm_11b723
+.error_check_nick
ld de, $c642
- ld c, $5
+ ld c, 5
callba CheckStringForErrors
- jr nc, .asm_11b736
- callba Function17d199
+ jr nc, .length_check_nick
+ callba Mobile_CopyDefaultNickname
-.asm_11b736
+.length_check_nick
ld de, $c642
lb bc, 1, 5
callba CheckStringContainsLessThanBNextCharacters
- jr nc, .asm_11b74a
- callba Function17d199
+ jr nc, .error_check_mail
+ callba Mobile_CopyDefaultNickname
-.asm_11b74a
+.error_check_mail
ld de, $c647
- ld c, $21
+ ld c, MAIL_MSG_LENGTH + 1
callba CheckStringForErrors
- jr nc, .asm_11b75d
- callba Function17d1ab
+ jr nc, .length_check_mail
+ callba Mobile_CopyDefaultMail
-.asm_11b75d
+.length_check_mail
ld de, $c647
- lb bc, 2, $21
+ lb bc, 2, MAIL_MSG_LENGTH + 1
callba CheckStringContainsLessThanBNextCharacters
- jr c, .asm_11b770
+ jr c, .fix_mail
ld a, b
cp $2
- jr nz, .asm_11b776
+ jr nz, .mail_ok
-.asm_11b770
- callba Function17d1ab
+.fix_mail
+ callba Mobile_CopyDefaultMail
-.asm_11b776
+.mail_ok
ld de, $c668
ld c, $5
callba CheckStringForErrors
- jr nc, .asm_11b789
- callba Function17d1c9
+ jr nc, .length_check_author
+ callba Mobile_CopyDefaultMailAuthor
-.asm_11b789
+.length_check_author
ld de, $c668
lb bc, 1, 5
callba CheckStringContainsLessThanBNextCharacters
- jr nc, .asm_11b79d
- callba Function17d1c9
+ jr nc, .author_okay
+ callba Mobile_CopyDefaultMailAuthor
-.asm_11b79d
- ld a, [$c608 + 6]
- cp $ff
- jr nz, .asm_11b7a8
+.author_okay
+ ld a, [$c60e]
+ cp -1
+ jr nz, .item_okay
xor a
- ld [$c608 + 6], a
+ ld [$c60e], a
-.asm_11b7a8
+.item_okay
ld a, [wcd31]
- ld [$c608 + 5], a
+ ld [$c60d], a
ld [CurSpecies], a
call GetBaseData
- ld hl, $c62c
+ ld hl, $c60d + MON_LEVEL
ld a, [hl]
cp MIN_LEVEL
ld a, MIN_LEVEL
- jr c, .asm_11b7c5
+ jr c, .replace_level
ld a, [hl]
cp MAX_LEVEL
- jr c, .asm_11b7c6
+ jr c, .done_level
ld a, MAX_LEVEL
-.asm_11b7c5
+.replace_level
ld [hl], a
-.asm_11b7c6
+.done_level
ld [CurPartyLevel], a
- ld hl, $c616 + 1
- ld de, $c62c + 5
+ ld hl, $c60d + MON_STAT_EXP - 1
+ ld de, $c60d + MON_MAXHP
ld b, $1
predef CalcPkmnStats
- ld de, $c62c + 5
- ld hl, $c62c + 3
+ ld de, $c60d + MON_MAXHP
+ ld hl, $c60d + MON_HP
ld a, [de]
ld [hli], a
inc de
ld a, [de]
ld [hl], a
- call Function11b98f
+ call AddMobileMonToParty
ret
; 11b7e5
Function11b7e5: ; 11b7e5
- ld a, [$c608 + 5]
- ld [wc702], a
+ ld a, [$c60d] ; species
+ ld [wOTTrademonSpecies], a
ld [CurPartySpecies], a
ld a, [wcd81]
ld [wc74e], a
- ld hl, $c63d
- ld de, wc724
- ld bc, $0005
+ ld hl, $c63d ; OT
+ ld de, wOTTrademonOTName
+ ld bc, 5
call CopyBytes
- ld a, $50
+ ld a, "@"
ld [de], a
- ld a, [$c608 + 11]
- ld [wEnemyWrapCount], a
- ld a, [$c608 + 12]
- ld [wPlayerCharging], a
- ld hl, $c608 + 26
+ ld a, [$c60d + MON_ID] ; id
+ ld [wOTTrademonID], a
+ ld a, [$c60d + MON_ID + 1]
+ ld [wOTTrademonID + 1], a
+ ld hl, $c60d + MON_DVS ; dvs
ld a, [hli]
- ld [wEnemyTrappingMove], a
+ ld [wOTTrademonDVs], a
ld a, [hl]
- ld [wPlayerWrapCount], a
- ld bc, $c608 + 5
+ ld [wOTTrademonDVs + 1], a
+ ld bc, $c60d ; pokemon_data_start
callba GetCaughtGender
ld a, c
- ld [wEnemyCharging], a
+ ld [wOTTrademonCaughtData], a
call SpeechTextBox
call FadeToMenu
- callba Function108016
+ callba MobileTradeAnimation_ReceiveGetmonFromGTS
callba Function17d1f1
ld a, $1
- ld [wd1e9], a
+ ld [wForceEvolution], a
ld a, $2
ld [wLinkMode], a
callba EvolvePokemon
@@ -7701,13 +7632,13 @@ Function11b7e5: ; 11b7e5
ld [de], a
.asm_11b872
- call ReturnToCallingMenu
+ call CloseSubmenu
call RestartMapMusic
ret
; 11b879
Function11b879: ; 11b879
- callba Function17089a
+ callba BattleTower_CheckSaveFileExistsAndIsYours
ld a, [ScriptVar]
and a
ret z
@@ -7800,11 +7731,11 @@ Function11b879: ; 11b879
; 11b920
Function11b920: ; 11b920
- call Function11b44b
+ call Mobile46_InitJumptable
ld a, $5
call GetSRAMBank
ld hl, $a81f
- ld de, BattleMonNick + 5
+ ld de, wc626
ld bc, $0008
call CopyBytes
call CloseSRAM
@@ -7818,43 +7749,49 @@ Function11b93b: ; 11b93b
xor a
ld [$a800], a
ld hl, $a823
- ld de, wEnemyMoveStruct
+ ld de, $c608
ld bc, $008f
call CopyBytes
call CloseSRAM
- ld a, wEnemyMoveStruct % $100
- ld [wcd20], a
- ld a, wEnemyMoveStruct / $100
- ld [wcd21], a
+
+ ld a, $c608 % $100
+ ld [wMobileMonSpeciesPointerBuffer], a
+ ld a, $c608 / $100
+ ld [wMobileMonSpeciesPointerBuffer + 1], a
+
ld a, $c611 % $100
- ld [wcd22], a
+ ld [wMobileMonStructurePointerBuffer], a
ld a, $c611 / $100
- ld [wcd23], a
+ ld [wMobileMonStructurePointerBuffer + 1], a
+
ld a, $c641 % $100
- ld [wcd24], a
+ ld [wMobileMonOTNamePointerBuffer], a
ld a, $c641 / $100
- ld [wcd25], a
+ ld [wMobileMonOTNamePointerBuffer + 1], a
+
ld a, $c646 % $100
- ld [wcd26], a
+ ld [wMobileMonNicknamePointerBuffer], a
ld a, $c646 / $100
- ld [wcd27], a
+ ld [wMobileMonNicknamePointerBuffer + 1], a
+
ld a, $c64b % $100
- ld [wcd28], a
+ ld [wMobileMonMailPointerBuffer], a
ld a, $c64b / $100
- ld [wcd29], a
- call Function11b98f
+ ld [wMobileMonMailPointerBuffer + 1], a
+ call AddMobileMonToParty
callba Function14a58
ret
; 11b98f
-Function11b98f: ; 11b98f
+AddMobileMonToParty: ; 11b98f
ld hl, PartyCount
ld a, [hl]
ld e, a
inc [hl]
- ld a, [wcd20]
+
+ ld a, [wMobileMonSpeciesPointerBuffer]
ld l, a
- ld a, [wcd21]
+ ld a, [wMobileMonSpeciesPointerBuffer + 1]
ld h, a
inc hl
ld bc, PartySpecies
@@ -7868,12 +7805,13 @@ Function11b98f: ; 11b98f
ld a, [hl]
ld [bc], a
inc bc
- ld a, $ff
+ ld a, -1
ld [bc], a
+
ld hl, PartyMon1Species
ld bc, PARTYMON_STRUCT_LENGTH
ld a, e
- ld [wcd2a], a
+ ld [wMobileMonSpeciesBuffer], a
.loop2
add hl, bc
dec a
@@ -7881,15 +7819,16 @@ Function11b98f: ; 11b98f
jr nz, .loop2
ld e, l
ld d, h
- ld a, [CreditsTimer]
+ ld a, [wMobileMonStructurePointerBuffer]
ld l, a
- ld a, [wcd23]
+ ld a, [wMobileMonStructurePointerBuffer + 1]
ld h, a
ld bc, PARTYMON_STRUCT_LENGTH
call CopyBytes
+
ld hl, PartyMonOT
ld bc, NAME_LENGTH
- ld a, [wcd2a]
+ ld a, [wMobileMonSpeciesBuffer]
.loop3
add hl, bc
dec a
@@ -7897,17 +7836,18 @@ Function11b98f: ; 11b98f
jr nz, .loop3
ld e, l
ld d, h
- ld a, [wcd24]
+ ld a, [wMobileMonOTNamePointerBuffer]
ld l, a
- ld a, [wcd25]
+ ld a, [wMobileMonOTNamePointerBuffer + 1]
ld h, a
ld bc, PKMN_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [de], a
+
ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
- ld a, [wcd2a]
+ ld a, [wMobileMonSpeciesBuffer]
.loop4
add hl, bc
dec a
@@ -7915,32 +7855,34 @@ Function11b98f: ; 11b98f
jr nz, .loop4
ld e, l
ld d, h
- ld a, [wcd26]
+ ld a, [wMobileMonNicknamePointerBuffer]
ld l, a
- ld a, [wcd27]
+ ld a, [wMobileMonNicknamePointerBuffer + 1]
ld h, a
ld bc, PKMN_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [de], a
+
ld hl, sPartyMail
- ld bc, PARTYMON_STRUCT_LENGTH - 1
- ld a, [wcd2a]
+ ld bc, MAIL_STRUCT_LENGTH
+ ld a, [wMobileMonSpeciesBuffer]
.loop5
add hl, bc
dec a
and a
jr nz, .loop5
- ld a, $0
+ ld a, BANK(sPartyMail)
call GetSRAMBank
ld e, l
ld d, h
- ld a, [wcd28]
+ ld a, [wMobileMonMailPointerBuffer]
ld l, a
- ld a, [wcd29]
+ ld a, [wMobileMonMailPointerBuffer + 1]
ld h, a
- ld bc, PARTYMON_STRUCT_LENGTH - 1
+ ld bc, MAIL_STRUCT_LENGTH
call CopyBytes
+
call CloseSRAM
ret
; 11ba38
@@ -7953,85 +7895,85 @@ Function11ba38: ; 11ba38
ret
; 11ba44
-Unknown_11ba44:
- db $47, $30, $0a, $0a, $0a, $0a, $0a, $56
- db $46, $2f, $0a, $0a, $0a, $0a, $0a, $55
- db $45, $3d, $0a, $0a, $0a, $0a, $0a, $54
- db $44, $30, $0a, $0a, $0a, $0a, $0a, $53
- db $43, $2f, $0a, $0a, $0a, $0a, $0a, $52
- db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $51
- db $4a, $30, $0a, $0a, $0a, $0a, $0a, $50
- db $4a, $2f, $0a, $0a, $0a, $0a, $0a, $4f
- db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $4e
- db $4a, $30, $0a, $0a, $0a, $0a, $4d, $42
- db $4a, $2f, $0a, $0a, $0a, $0a, $6b, $58
- db $4a, $3d, $0a, $0a, $0a, $0a, $6a, $58
- db $4a, $30, $0a, $0a, $0a, $0a, $69, $58
- db $4a, $2f, $0a, $0a, $0a, $0a, $68, $58
- db $4a, $3d, $0a, $0a, $0a, $66, $67, $58
- db $4a, $30, $0a, $0a, $0a, $65, $0a, $58
- db $4a, $2f, $0a, $0a, $0a, $64, $0a, $58
- db $4a, $3d, $0a, $0a, $0a, $63, $0a, $58
- db $4a, $30, $0a, $0a, $61, $62, $0a, $58
- db $4a, $2f, $0a, $0a, $5f, $60, $0a, $58
- db $4a, $3d, $0a, $61, $62, $0a, $0a, $58
- db $4a, $30, $0a, $63, $0a, $0a, $0a, $58
- db $4a, $2f, $69, $0a, $0a, $0a, $0a, $58
- db $4a, $3d, $81, $0a, $0a, $0a, $0a, $58
- db $4a, $30, $80, $0a, $0a, $0a, $0a, $58
- db $4a, $2f, $7f, $0a, $0a, $0a, $0a, $58
- db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $58
- db $4a, $30, $0a, $0a, $0a, $0a, $0a, $58
- db $4a, $2f, $68, $87, $88, $89, $0a, $58
- db $4a, $3d, $6e, $6f, $70, $75, $76, $58
- db $4a, $30, $75, $76, $5c, $5d, $5e, $58
- db $4a, $2f, $71, $72, $73, $74, $6d, $58
- db $4a, $3d, $75, $76, $77, $8a, $8b, $58
- db $4a, $30, $66, $67, $65, $0a, $6a, $58
- db $4a, $2f, $83, $84, $0a, $83, $84, $58
- db $4a, $3d, $0a, $85, $82, $84, $0a, $58
- db $4a, $30, $41, $80, $40, $0a, $0a, $58
- db $4a, $2f, $83, $0a, $0a, $0a, $0a, $58
- db $4a, $3d, $40, $0a, $0a, $0a, $0a, $58
- db $ff
-
-Unknown_11bb7d:
- db $0a, $0a, $0a, $0a, $0a, $0a, $16, $00
- db $78, $0a, $0a, $0a, $0a, $0a, $8c, $00
- db $79, $0a, $0a, $0a, $0a, $0a, $8d, $00
- db $7a, $0a, $0a, $0a, $0a, $0a, $8e, $00
- db $7b, $0a, $0a, $0a, $0a, $0a, $8c, $00
- db $7c, $0a, $0a, $0a, $0a, $0a, $8d, $00
- db $7d, $0a, $0a, $0a, $0a, $0a, $8e, $00
- db $2e, $7e, $0a, $0a, $0a, $0a, $8c, $00
- db $2e, $80, $0a, $0a, $0a, $0a, $8d, $00
- db $2e, $81, $0a, $0a, $0a, $0a, $8e, $00
- db $2e, $82, $0a, $0a, $0a, $0a, $8c, $00
- db $2e, $69, $0a, $0a, $0a, $0a, $8d, $00
- db $2e, $6a, $0a, $0a, $0a, $0a, $8e, $00
- db $2e, $6b, $0a, $0a, $0a, $0a, $8c, $00
- db $2e, $0a, $68, $0a, $0a, $0a, $8d, $00
- db $2e, $0a, $69, $0a, $0a, $0a, $8e, $00
- db $2e, $0a, $0a, $6a, $0a, $0a, $8c, $00
- db $2e, $0a, $0a, $6b, $0a, $0a, $8d, $00
- db $2e, $0a, $0a, $0a, $80, $0a, $8e, $00
- db $2e, $0a, $0a, $0a, $82, $0a, $8c, $00
- db $2e, $0a, $0a, $0a, $6c, $0a, $8d, $00
- db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00
- db $2e, $0a, $6b, $0a, $0a, $0a, $8c, $00
- db $2e, $0a, $0a, $69, $0a, $0a, $8d, $00
- db $2e, $0a, $0a, $6a, $0a, $0a, $8e, $00
- db $2e, $0a, $0a, $0a, $68, $0a, $8c, $00
- db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00
- db $2e, $0a, $0a, $61, $62, $0a, $8e, $00
- db $2e, $0a, $0a, $0a, $5f, $60, $8c, $00
- db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00
- db $2e, $0a, $0a, $0a, $0a, $69, $8c, $00
- db $2e, $0a, $0a, $0a, $0a, $6b, $8d, $00
- db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00
- db $2e, $0a, $0a, $0a, $0a, $86, $8c, $00
- db $2e, $0a, $85, $0a, $0a, $0a, $8d, $00
- db $2e, $0a, $0a, $84, $0a, $0a, $8e, $00
- db $ff
+TilemapPack_11ba44:
+ db $47, $30, $0a, $0a, $0a, $0a, $0a, $56 ; 00
+ db $46, $2f, $0a, $0a, $0a, $0a, $0a, $55 ; 01
+ db $45, $3d, $0a, $0a, $0a, $0a, $0a, $54 ; 02
+ db $44, $30, $0a, $0a, $0a, $0a, $0a, $53 ; 03
+ db $43, $2f, $0a, $0a, $0a, $0a, $0a, $52 ; 04
+ db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $51 ; 05
+ db $4a, $30, $0a, $0a, $0a, $0a, $0a, $50 ; 06
+ db $4a, $2f, $0a, $0a, $0a, $0a, $0a, $4f ; 07
+ db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $4e ; 08
+ db $4a, $30, $0a, $0a, $0a, $0a, $4d, $42 ; 09
+ db $4a, $2f, $0a, $0a, $0a, $0a, $6b, $58 ; 0a
+ db $4a, $3d, $0a, $0a, $0a, $0a, $6a, $58 ; 0b
+ db $4a, $30, $0a, $0a, $0a, $0a, $69, $58 ; 0c
+ db $4a, $2f, $0a, $0a, $0a, $0a, $68, $58 ; 0d
+ db $4a, $3d, $0a, $0a, $0a, $66, $67, $58 ; 0e
+ db $4a, $30, $0a, $0a, $0a, $65, $0a, $58 ; 0f
+ db $4a, $2f, $0a, $0a, $0a, $64, $0a, $58 ; 10
+ db $4a, $3d, $0a, $0a, $0a, $63, $0a, $58 ; 11
+ db $4a, $30, $0a, $0a, $61, $62, $0a, $58 ; 12
+ db $4a, $2f, $0a, $0a, $5f, $60, $0a, $58 ; 13
+ db $4a, $3d, $0a, $61, $62, $0a, $0a, $58 ; 14
+ db $4a, $30, $0a, $63, $0a, $0a, $0a, $58 ; 15
+ db $4a, $2f, $69, $0a, $0a, $0a, $0a, $58 ; 16
+ db $4a, $3d, $81, $0a, $0a, $0a, $0a, $58 ; 17
+ db $4a, $30, $80, $0a, $0a, $0a, $0a, $58 ; 18
+ db $4a, $2f, $7f, $0a, $0a, $0a, $0a, $58 ; 19
+ db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $58 ; 1a
+ db $4a, $30, $0a, $0a, $0a, $0a, $0a, $58 ; 1b
+ db $4a, $2f, $68, $87, $88, $89, $0a, $58 ; 1c
+ db $4a, $3d, $6e, $6f, $70, $75, $76, $58 ; 1d
+ db $4a, $30, $75, $76, $5c, $5d, $5e, $58 ; 1e
+ db $4a, $2f, $71, $72, $73, $74, $6d, $58 ; 1f
+ db $4a, $3d, $75, $76, $77, $8a, $8b, $58 ; 20
+ db $4a, $30, $66, $67, $65, $0a, $6a, $58 ; 21
+ db $4a, $2f, $83, $84, $0a, $83, $84, $58 ; 22
+ db $4a, $3d, $0a, $85, $82, $84, $0a, $58 ; 23
+ db $4a, $30, $41, $80, $40, $0a, $0a, $58 ; 24
+ db $4a, $2f, $83, $0a, $0a, $0a, $0a, $58 ; 25
+ db $4a, $3d, $40, $0a, $0a, $0a, $0a, $58 ; 26
+ db -1
+
+TilemapPack_11bb7d:
+ db $0a, $0a, $0a, $0a, $0a, $0a, $16, $00 ; 00
+ db $78, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 01
+ db $79, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 02
+ db $7a, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 03
+ db $7b, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 04
+ db $7c, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 05
+ db $7d, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 06
+ db $2e, $7e, $0a, $0a, $0a, $0a, $8c, $00 ; 07
+ db $2e, $80, $0a, $0a, $0a, $0a, $8d, $00 ; 08
+ db $2e, $81, $0a, $0a, $0a, $0a, $8e, $00 ; 09
+ db $2e, $82, $0a, $0a, $0a, $0a, $8c, $00 ; 0a
+ db $2e, $69, $0a, $0a, $0a, $0a, $8d, $00 ; 0b
+ db $2e, $6a, $0a, $0a, $0a, $0a, $8e, $00 ; 0c
+ db $2e, $6b, $0a, $0a, $0a, $0a, $8c, $00 ; 0d
+ db $2e, $0a, $68, $0a, $0a, $0a, $8d, $00 ; 0e
+ db $2e, $0a, $69, $0a, $0a, $0a, $8e, $00 ; 0f
+ db $2e, $0a, $0a, $6a, $0a, $0a, $8c, $00 ; 10
+ db $2e, $0a, $0a, $6b, $0a, $0a, $8d, $00 ; 11
+ db $2e, $0a, $0a, $0a, $80, $0a, $8e, $00 ; 12
+ db $2e, $0a, $0a, $0a, $82, $0a, $8c, $00 ; 13
+ db $2e, $0a, $0a, $0a, $6c, $0a, $8d, $00 ; 14
+ db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 15
+ db $2e, $0a, $6b, $0a, $0a, $0a, $8c, $00 ; 16
+ db $2e, $0a, $0a, $69, $0a, $0a, $8d, $00 ; 17
+ db $2e, $0a, $0a, $6a, $0a, $0a, $8e, $00 ; 18
+ db $2e, $0a, $0a, $0a, $68, $0a, $8c, $00 ; 19
+ db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1a
+ db $2e, $0a, $0a, $61, $62, $0a, $8e, $00 ; 1b
+ db $2e, $0a, $0a, $0a, $5f, $60, $8c, $00 ; 1c
+ db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1d
+ db $2e, $0a, $0a, $0a, $0a, $69, $8c, $00 ; 1e
+ db $2e, $0a, $0a, $0a, $0a, $6b, $8d, $00 ; 1f
+ db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 20
+ db $2e, $0a, $0a, $0a, $0a, $86, $8c, $00 ; 21
+ db $2e, $0a, $85, $0a, $0a, $0a, $8d, $00 ; 22
+ db $2e, $0a, $0a, $84, $0a, $0a, $8e, $00 ; 23
+ db -1
diff --git a/misc/mobile_5b.asm b/misc/mobile_5b.asm
index 19d192aeb..24f2f9189 100755
--- a/misc/mobile_5b.asm
+++ b/misc/mobile_5b.asm
@@ -2,7 +2,7 @@ Function16c000: ; 16c000
ld a, [hCGB]
and a
ret z
- ld a, [$ffea]
+ ld a, [hFFEA]
and a
ret z
ld a, [wcfbe]
@@ -15,7 +15,7 @@ Function16c000: ; 16c000
call Function16c031
callba Function1000a4
xor a
- ld [$ffea], a
+ ld [hFFEA], a
pop af
ld [wcfbe], a
ret
@@ -184,7 +184,7 @@ Function16c130: ; 16c130
ld bc, 8
ld a, $5
call FarCopyWRAM
- callba Function96a4
+ callba ApplyPals
ret
; 16c145
@@ -362,7 +362,7 @@ endr
ld a, e
cp $8
jr nz, .asm_16c969
- callba Function96a4
+ callba ApplyPals
call SetPalettes
ld a, [rSVBK]
push af
@@ -392,7 +392,7 @@ Function16ca11: ; 16ca11
ld a, [wd003]
and a
jr nz, .asm_16ca1d
- callba Function96a4
+ callba ApplyPals
.asm_16ca1d
ld a, [rSVBK]
@@ -465,7 +465,7 @@ endr
ld a, e
cp $8
jr nz, .asm_16ca28
- callba Function96a4
+ callba ApplyPals
call SetPalettes
ld a, [rSVBK]
push af
@@ -711,14 +711,14 @@ Function16cbd1: ; 16cbd1
ld hl, Unknown_16cbfb
add hl, bc
ld a, [hl]
- ld bc, $0002
+ ld bc, 2
ld hl, Unknown_16cfa3
call AddNTimes
- ld de, wd00c
- ld bc, $0002
+ ld de, UnknBGPals + 1 palettes + 4
+ ld bc, 2
ld a, $5
call FarCopyWRAM
- callba Function96a4
+ callba ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
@@ -749,19 +749,19 @@ Function16cc18: ; 16cc18
Function16cc25: ; 16cc25
ld hl, Unknown_16cfa9
- ld de, wd008
- call Function16cc41
+ ld de, UnknBGPals + 1 palettes
+ call .CopyPal
ld hl, Unknown_16cfb1
ld de, UnknOBPals
- call Function16cc41
+ call .CopyPal
ld hl, Unknown_16cfb9
- ld de, wd048
- call Function16cc41
+ ld de, UnknOBPals + 1 palettes
+ call .CopyPal
ret
; 16cc41
-Function16cc41: ; 16cc41
- ld bc, $0008
+.CopyPal: ; 16cc41
+ ld bc, 1 palettes
ld a, $5
jp FarCopyWRAM
; 16cc49
@@ -863,374 +863,3 @@ Unknown_16cfb9:
RGB 07, 07, 07
; 16cfc1
-
-GFX_16cfc1:
-INCBIN "gfx/unknown/16cfc1.2bpp"
-
-Function16d421: ; 16d421
- ld de, GFX_16cfc1
- ld hl, VTiles2
- lb bc, BANK(GFX_16cfc1), $46
- call Get2bpp
- ret
-; 16d42e
-
-Function16d42e: ; 16d42e
- ld hl, Tilemap_16d465
- decoord 0, 0
- ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- call CopyBytes
- ret
-; 16d43b
-
-Function16d43b: ; 16d43b
- call LoadStandardMenuDataHeader
- call ClearBGPalettes
- call ClearTileMap
- call ClearSprites
- callba Function16d421
- callba Function16d42e
- ld b, SCGB_08
- call GetSGBLayout
- call SetPalettes
- call WaitBGMap
- call JoyWaitAorB
- call Call_ExitMenu
- ret
-; 16d465
-
-Tilemap_16d465:
-INCBIN "gfx/unknown/16d465.tilemap"
-
-Tilemap_16d5cd:
-INCBIN "gfx/unknown/16d5cd.tilemap"
-
-Tilemap_16d5f5:
-INCBIN "gfx/unknown/16d5f5.tilemap"
-
-Function16d61d: ; 16d61d
- ld h, d
- ld l, e
- push bc
- push hl
- call Function16d640
- pop hl
- pop bc
- ld de, AttrMap - TileMap
- add hl, de
-rept 2
- inc b
-endr
-rept 2
- inc c
-endr
- ld a, $7
-.loop
- push bc
- push hl
-.loop2
- ld [hli], a
- dec c
- jr nz, .loop2
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
- pop bc
- dec b
- jr nz, .loop
- ret
-; 16d640
-
-Function16d640: ; 16d640
- push hl
- ld a, $30
- ld [hli], a
- inc a
- call Function16d66d
- inc a
- ld [hl], a
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
-.loop
- push hl
- ld a, $33
- ld [hli], a
- ld a, " "
- call Function16d66d
- ld [hl], $34
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
- dec b
- jr nz, .loop
- ld a, $35
- ld [hli], a
- ld a, $36
- call Function16d66d
- ld [hl], $37
- ret
-; 16d66d
-
-Function16d66d: ; 16d66d
- ld d, c
-.loop
- ld [hli], a
- dec d
- jr nz, .loop
- ret
-; 16d673
-
-Function16d673: ; 16d673
- call Function16d696
- call Function16d6ae
- callba Function49856
- callba Functionfb60d
- hlcoord 10, 17
- ld de, String_16d68f
- call PlaceString
- ret
-; 16d68f
-
-String_16d68f: ; 16d68f
- db "CANCEL@"
-; 16d696
-
-Function16d696: ; 16d696
- call Function16d421
- ret
-; 16d69a
-
-
-Function16d69a: ; 16d69a
- ld de, GFX_16cfc1 + $300
- ld hl, VTiles2 tile $76
- lb bc, BANK(GFX_16cfc1), 8
- call Get2bpp
- ret
-; 16d6a7
-
-Function16d6a7: ; 16d6a7
- callba Function49811
- ret
-; 16d6ae
-
-Function16d6ae: ; 16d6ae
- call Function16d42e
- ld hl, Tilemap_16d5cd
- decoord 0, 0
- ld bc, $0028
- call CopyBytes
- ld hl, Tilemap_16d5f5
- decoord 0, 16
- ld bc, $0028
- call CopyBytes
- ret
-; 16d6ca
-
-LinkTextbox: ; 16d6ca
- call Function16d61d
- ret
-; 16d6ce
-
-Function16d6ce: ; 16d6ce
- call LoadStandardMenuDataHeader
- call Function16d6e1
- callba Function87d
- call Call_ExitMenu
- call Function3200
- ret
-; 16d6e1
-
-Function16d6e1: ; 16d6e1
- hlcoord 4, 10
- ld b, 1
- ld c, 10
- predef Predef_LinkTextbox
- hlcoord 5, 11
- ld de, .Waiting
- call PlaceString
- call WaitBGMap
- call Function3200
- ld c, $32
- jp DelayFrames
-; 16d701
-
-.Waiting: ; 16d701
- db "WAITING..!@"
-; 16d70c
-
-Function16d70c: ; 16d70c
- call Function16d725
- call Function16d713
- ret
-; 16d713
-
-Function16d713: ; 16d713
- push bc
- push af
- ld a, [hJoyLast]
- and $f0
- ld b, a
- ld a, [hJoyPressed]
- and $f
- or b
- ld b, a
- pop af
- ld a, b
- pop bc
- ld d, a
- ret
-; 16d725
-
-Function16d725: ; 16d725
- ld hl, wcfa6
- res 7, [hl]
- ld a, [hBGMapMode]
- push af
- call Function16d734
- pop af
- ld [hBGMapMode], a
- ret
-; 16d734
-
-Function16d734: ; 16d734
-.asm_16d734
- call Function16d77a
- call Function16d759
- call Function16d76a
- jr nc, .asm_16d758
- callba Function24270
- jr c, .asm_16d758
- ld a, [wcfa5]
- bit 7, a
- jr nz, .asm_16d758
- call Function16d713
- ld b, a
- ld a, [wcfa8]
- and b
- jr z, .asm_16d734
-
-.asm_16d758
- ret
-; 16d759
-
-Function16d759: ; 16d759
- ld a, [hOAMUpdate]
- push af
- ld a, $1
- ld [hOAMUpdate], a
- call WaitBGMap
- pop af
- ld [hOAMUpdate], a
- xor a
- ld [hBGMapMode], a
- ret
-; 16d76a
-
-Function16d76a: ; 16d76a
-.asm_16d76a
- call RTC
- call Function16d7e7
- ret c
- ld a, [wcfa5]
- bit 7, a
- jr z, .asm_16d76a
- and a
- ret
-; 16d77a
-
-Function16d77a: ; 16d77a
- ld hl, wcfac
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [hl]
- cp $1f
- jr nz, .asm_16d792
- ld a, [wcfab]
- ld [hl], a
- push hl
- push bc
- ld bc, $000b
- add hl, bc
- ld [hl], a
- pop bc
- pop hl
-
-.asm_16d792
- ld a, [wcfa1]
- ld b, a
- ld a, [wcfa2]
- ld c, a
- call Coord2Tile
- ld a, [wcfa7]
- swap a
- and $f
- ld c, a
- ld a, [MenuSelection2]
- ld b, a
- xor a
- dec b
- jr z, .asm_16d7b1
-.asm_16d7ad
- add c
- dec b
- jr nz, .asm_16d7ad
-
-.asm_16d7b1
- ld c, $14
- call AddNTimes
- ld a, [wcfa7]
- and $f
- ld c, a
- ld a, [wcfaa]
- ld b, a
- xor a
- dec b
- jr z, .asm_16d7c8
-.asm_16d7c4
- add c
- dec b
- jr nz, .asm_16d7c4
-
-.asm_16d7c8
- ld c, a
- add hl, bc
- ld a, [hl]
- cp $1f
- jr z, .asm_16d7de
- ld [wcfab], a
- ld [hl], $1f
- push hl
- push bc
- ld bc, $000b
- add hl, bc
- ld [hl], $1f
- pop bc
- pop hl
-
-.asm_16d7de
- ld a, l
- ld [wcfac], a
- ld a, h
- ld [wcfad], a
- ret
-; 16d7e7
-
-Function16d7e7: ; 16d7e7
- ld a, [wcfa5]
- bit 6, a
- jr z, .asm_16d7f4
- callba Function8cf62
-
-.asm_16d7f4
- call JoyTextDelay
- call Function16d713
- and a
- ret z
- scf
- ret
-; 16d7fe
-
-
diff --git a/misc/mobile_5c.asm b/misc/mobile_5c.asm
index ebebb302c..321ea9382 100755
--- a/misc/mobile_5c.asm
+++ b/misc/mobile_5c.asm
@@ -34,6 +34,7 @@ Function170000: ; 170000
ld bc, $008f
call CopyBytes
ret
+
; 17005a
Function17005a: ; 17005a
@@ -71,85 +72,11 @@ Function17005a: ; 17005a
ld [wc74e], a
call CloseSRAM
ret
+
; 1700b0
INCLUDE "misc/battle_tower_5c.asm"
-Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
- callba Function_LoadOpponentTrainerAndPokemons
- ld a, [rSVBK]
- push af
- ld a, $3
- ld [rSVBK], a
- ld hl, wd10a
- ld a, [hl]
- dec a
- ld c, a
- ld b, $0
- pop af
- ld [rSVBK], a
- ld hl, Unknown_170b90
- add hl, bc
- ld a, [hl]
- ld [wcd49], a
-
-; Load sprite of the opponent trainer
-; because s/he is chosen randomly and appears out of nowhere
- ld a, [ScriptVar]
- dec a
- sla a
- ld e, a
- sla a
- sla a
- sla a
- ld c, a
- ld b, $0
- ld d, $0
- ld hl, MapObjects
- add hl, bc
- inc hl
- ld a, [wcd49]
- ld [hl], a
- ld hl, UsedSprites
- add hl, de
- ld [hli], a
- ld [hUsedSpriteIndex], a
- ld a, [hl]
- ld [hUsedSpriteTile], a
- callba GetUsedSprite
- ret
-; 170b90
-
-Unknown_170b90:
- db $12, $13, $14, $15, $18, $17
- db $16, $19, $04, $05, $11, $01
- db $1c, $1b, $21, $1e, $1a, $1d
- db $1f, $3c, $20, $27, $27, $27
- db $28, $0a, $23, $24, $2a, $2b
- db $35, $40, $2a, $29, $22, $25
- db $3a, $2b, $24, $49, $2b, $07
- db $2c, $2d, $4a, $0d, $4b, $3a
- db $2b, $41, $35, $27, $28, $27
- db $36, $3e, $30, $2c, $2d, $3d
- db $26, $2e, $06, $07, $43, $36
-
-Function170bd2: ; 170bd2
- ret
-; 170bd3
-
-SpecialCheckForBattleTowerRules: ; 170bd3
- callba CheckForBattleTowerRules
- jr c, .asm_170bde
- xor a
- jr .asm_170be0
-
-.asm_170bde
- ld a, $1
-
-.asm_170be0
- ld [ScriptVar], a
- ret
-; 170be4
Function170be4: ; 170be4
ld a, $5
call GetSRAMBank
@@ -159,6 +86,7 @@ Function170be4: ; 170be4
call ByteFill
call CloseSRAM
ret
+
; 170bf7
Clears5_a89a: ; 170bf7
@@ -170,6 +98,7 @@ Clears5_a89a: ; 170bf7
ld [hl], a
call CloseSRAM
ret
+
; 170c06
Function170c06: ; 170c06
@@ -275,6 +204,7 @@ endr
ld [hl], a
call CloseSRAM
ret
+
; 170c8b
Function170c8b: ; 170c8b
@@ -287,6 +217,7 @@ Function170c8b: ; 170c8b
dec b
jr nz, .asm_170c90
ret
+
; 170c98
CheckBTMonMovesForErrors: ; 170c98
@@ -330,6 +261,7 @@ CheckBTMonMovesForErrors: ; 170c98
dec c
jr nz, .loop
ret
+
; 170cc6
Function170cc6: ; 170cc6
@@ -338,7 +270,7 @@ Function170cc6: ; 170cc6
ld a, $6
ld [rSVBK], a
ld hl, LZ_170d16
- ld de, wd000
+ ld de, wDecompressScratch
call Decompress
ld a, $1
ld [rVBK], a
@@ -358,6 +290,7 @@ Function170cc6: ; 170cc6
pop af
ld [rSVBK], a
ret
+
; 170d02
Function170d02: ; 170d02
@@ -370,6 +303,7 @@ Function170d02: ; 170d02
xor a
ld [rVBK], a
ret
+
; 170d16
LZ_170d16:
@@ -413,20 +347,21 @@ Function1719ed: ; 1719ed (5c:59ed)
call ClearSprites
callba Function171d2b
callba ReloadMapPart
- callba Function8cf53
+ callba ClearSpriteAnims
ret
Function171a11: ; 171a11 (5c:5a11)
+.loop
call JoyTextDelay
ld a, [wcd49]
bit 7, a
- jr nz, .asm_171a2c
+ jr nz, .done
call Function171a36
- callba Function8cf69
+ callba PlaySpriteAnimations
callba ReloadMapPart
- jr Function171a11
-.asm_171a2c
- callba Function8cf53
+ jr .loop
+.done
+ callba ClearSpriteAnims
call ClearSprites
ret
@@ -465,6 +400,7 @@ Function171a5d: ; 171a5d (5c:5a5d)
bit 0, a
ret nz
jp Function171c66
+
.asm_171a6a
ld a, $0
call Function3e32
@@ -492,6 +428,7 @@ Function171a95: ; 171a95 (5c:5a95)
ld de, String_171aa7
call PlaceString
jp Function171c66
+
; 171aa7 (5c:5aa7)
String_171aa7: ; 171aa7
@@ -626,6 +563,7 @@ Function171b9f: ; 171b9f (5c:5b9f)
ld a, $80
ld [wcd49], a
ret
+
asm_171ba5: ; 171ba5 (5c:5ba5)
ld a, [wcd4a]
and a
@@ -633,6 +571,7 @@ asm_171ba5: ; 171ba5 (5c:5ba5)
dec a
ld [wcd4a], a
ret
+
asm_171baf: ; 171baf (5c:5baf)
ld a, [wcd4b]
ld c, a
@@ -715,7 +654,7 @@ Function171c41: ; 171c41 (5c:5c41)
dec [hl]
ret nz
call ClearBGPalettes
- callba Function106462
+ callba MobileFunc_106462
callba Function106464
ld a, $2
ld [wc303], a
@@ -729,6 +668,7 @@ Function171c66: ; 171c66 (5c:5c66)
ld hl, wcd49
inc [hl]
ret
+
; 171c6b (5c:5c6b)
MenuDataHeader_171c6b: ; 171c6b
@@ -807,6 +747,7 @@ endr
hlcoord 3, 16
ld de, String_172e3f
jp PlaceString
+
.asm_171d16
ld hl, Tilemap_1725f9
decoord 0, 7
@@ -841,6 +782,7 @@ Function171d2b: ; 171d2b (5c:5d2b)
ld de, String_172e58
call PlaceString
ret
+
; 171d71 (5c:5d71)
Palette_171d71:
@@ -931,6 +873,7 @@ Function172e78: ; 172e78 (5c:6e78)
ld bc, $168
call CopyBytes
ret
+
; 172eb9 (5c:6eb9)
Function172eb9:
@@ -950,6 +893,7 @@ Function172eb9:
pop af
ld [rSVBK], a
ret
+
; 172edf (5c:6edf)
Palette_172edf:
diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm
index 19c3748e8..a83c7a925 100644
--- a/misc/mobile_5f.asm
+++ b/misc/mobile_5f.asm
@@ -274,35 +274,35 @@ CheckStringForErrors_IgnoreTerminator: ; 17d0b3
Function17d0f3: ; 17d0f3
ld a, [$c608 + 5]
- ld [wc702], a
+ ld [wOTTrademonSpecies], a
ld [CurPartySpecies], a
ld a, [wcd81]
ld [wc74e], a
ld hl, $c63d
- ld de, wc724
- ld bc, $0005
+ ld de, wOTTrademonOTName
+ ld bc, 5
call CopyBytes
- ld a, $50
+ ld a, "@"
ld [de], a
ld a, [$c608 + 11]
- ld [wEnemyWrapCount], a
+ ld [wOTTrademonID], a
ld a, [$c608 + 12]
- ld [wPlayerCharging], a
+ ld [wOTTrademonID + 1], a
ld hl, $c608 + 26
ld a, [hli]
- ld [wEnemyTrappingMove], a
+ ld [wOTTrademonDVs], a
ld a, [hl]
- ld [wPlayerWrapCount], a
+ ld [wOTTrademonDVs + 1], a
ld bc, $c608 + 5
callba GetCaughtGender
ld a, c
- ld [wEnemyCharging], a
+ ld [wOTTrademonCaughtData], a
call SpeechTextBox
call FadeToMenu
callba Function10804d
callba Function17d1f1
ld a, $1
- ld [wd1e9], a
+ ld [wForceEvolution], a
ld a, $2
ld [wLinkMode], a
callba EvolvePokemon
@@ -326,58 +326,58 @@ Function17d0f3: ; 17d0f3
ld [de], a
.asm_17d180
- call ReturnToCallingMenu
+ call CloseSubmenu
call RestartMapMusic
ret
; 17d187
-Function17d187: ; 17d187
- ld hl, Unknown_17d194
+Mobile_CopyDefaultOTName: ; 17d187
+ ld hl, Mobile5F_KrissName
ld de, $c63d
- ld bc, $0005
+ ld bc, 5
call CopyBytes
ret
; 17d194
-Unknown_17d194:
+Mobile5F_KrissName:
db "クりス@@"
; 17d198
-Function17d199: ; 17d199
- ld hl, Unknown_17d1a6
+Mobile_CopyDefaultNickname: ; 17d199
+ ld hl, .DefaultNickname
ld de, $c642
- ld bc, $0005
+ ld bc, 5
call CopyBytes
ret
; 17d1a6
-Unknown_17d1a6:
+.DefaultNickname:
db "?????"
-Function17d1ab: ; 17d1ab
- ld a, $50
+Mobile_CopyDefaultMail: ; 17d1ab
+ ld a, "@"
ld hl, $c647
- ld bc, $0021
+ ld bc, MAIL_MSG_LENGTH + 1
call ByteFill
- ld hl, Unknown_17d1c3
+ ld hl, .DefaultMessage
ld de, $c647
- ld bc, $0006
+ ld bc, 6
call CopyBytes
ret
; 17d1c3
-Unknown_17d1c3:
+.DefaultMessage:
db "こんにちは@"
; 17d1c9
-Function17d1c9: ; 17d1c9
- ld a, $50
+Mobile_CopyDefaultMailAuthor: ; 17d1c9
+ ld a, "@"
ld de, $c668
- ld bc, $0005
+ ld bc, 5
call ByteFill
- ld hl, Unknown_17d194
+ ld hl, Mobile5F_KrissName
ld de, $c668
- ld bc, $0005
+ ld bc, 5
call CopyBytes
ret
; 17d1e1
@@ -418,12 +418,12 @@ Function17d1f1: ; 17d1f1
call AddNTimes
predef GetUnownLetter
callab UpdateUnownDex
- ld a, [wdef4]
+ ld a, [wFirstUnownSeen]
and a
jr nz, .asm_17d223
ld a, [UnownLetter]
- ld [wdef4], a
+ ld [wFirstUnownSeen], a
.asm_17d223
ret
@@ -456,25 +456,25 @@ Special_Menu_ChallengeExplanationCancel: ; 17d224
.Load_Interpret
call LoadMenuDataHeader
call Function17d246
- call WriteBackup
+ call CloseWindow
ret
; 17d246
Function17d246: ; 17d246
- call InterpretMenu2
+ call VerticalMenu
jr c, .Exit
ld a, [ScriptVar]
cp $5
- jr nz, .UseMenuSelection2
- ld a, [MenuSelection2]
+ jr nz, .UsewMenuCursorY
+ ld a, [wMenuCursorY]
cp $3
ret z
- jr c, .UseMenuSelection2
+ jr c, .UsewMenuCursorY
dec a
jr .LoadToScriptVar
-.UseMenuSelection2
- ld a, [MenuSelection2]
+.UsewMenuCursorY
+ ld a, [wMenuCursorY]
.LoadToScriptVar
ld [ScriptVar], a
@@ -564,7 +564,7 @@ Function17d2ce: ; 17d2ce
ld [MusicFadeIDHi], a
call PlayMusic
call ReturnToMapFromSubmenu
- call ReturnToCallingMenu
+ call CloseSubmenu
ret
; 17d314
@@ -708,7 +708,7 @@ Function17d405:
ld [rSVBK], a
ld hl, Palette_17eff6
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
call SetPalettes
pop af
@@ -733,17 +733,7 @@ Function17d45a: ; 17d45a
; 17d474
Function17d474: ; 17d474
- ld a, [wcd77]
- ld e, a
- ld d, 0
- ld hl, Jumptable_17d483
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable Jumptable_17d483, wcd77
; 17d483
Jumptable_17d483: ; 17d483
@@ -802,7 +792,7 @@ Function17d48d: ; 17d48d
jr z, .asm_17d4e0
ld a, e
ld [wcd6c], a
- ld [wc2c0], a
+ ld [wMapMusic], a
ld d, $0
call PlayMusic2
@@ -920,16 +910,14 @@ Function17d48d: ; 17d48d
ld a, [wcd42]
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, l
ld [wcd4b], a
ld a, h
ld [wcd4c], a
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, l
ld [wcd4d], a
ld a, h
@@ -949,18 +937,17 @@ Function17d5c4:
ld a, [hJoyPressed]
and a
ret z
- ld c, $0
+ ld c, 0
ld b, c
ld hl, wcd32
-.asm_17d5ce
+.loop
srl a
- jr c, .asm_17d5d6
-rept 2
+ jr c, .got_button
inc c
-endr
- jr .asm_17d5ce
+ inc c
+ jr .loop
-.asm_17d5d6
+.got_button
add hl, bc
ld a, [hli]
ld c, a
@@ -969,7 +956,7 @@ endr
and c
cp $ff
ret z
- ld a, [BGMapBuffer]
+ ld a, [wcd20]
ld l, a
ld a, [wcd21]
ld h, a
@@ -988,7 +975,7 @@ Function17d5f6: ; 17d5f6
ld [rSVBK], a
ld hl, $c608
ld de, UnknBGPals
- ld bc, $0040
+ ld bc, 8 palettes
call CopyBytes
ld a, $4
ld [rSVBK], a
@@ -1044,12 +1031,10 @@ Function17d60b: ; 17d60b
ld [wcd4c], a
pop de
pop hl
-rept 2
inc b
-endr
-rept 2
+ inc b
+ dec c
dec c
-endr
jr z, .asm_17d684
push bc
push de
@@ -1095,17 +1080,15 @@ Function17d6a1: ; 17d6a1
ld a, $5
call GetSRAMBank
ld hl, $b1d3
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld [wcd47], a
ld a, [hl]
ld [BGMapPalBuffer], a
ld hl, $b1b3
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld c, a
ld a, [hl]
@@ -1121,9 +1104,8 @@ endr
ld de, wcd60
ld bc, $0004
call CopyBytes
-rept 2
inc hl
-endr
+ inc hl
ld de, wcd64
ld bc, $0004
call CopyBytes
@@ -1153,15 +1135,14 @@ Function17d6fd: ; 17d6fd
jr z, asm_17d721
Function17d711:
-.asm_17d711
+.crash_loop
cp $31
- jr nc, .asm_17d711
+ jr nc, .crash_loop
ld e, a
ld d, 0
- ld hl, Jumptable_17d72a
-rept 2
+ ld hl, Jumptable17d72a
+ add hl, de
add hl, de
-endr
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1174,7 +1155,7 @@ asm_17d721
ret
; 17d72a
-Jumptable_17d72a: ; 17d72a
+Jumptable17d72a: ; 17d72a
dw Function17d78c
dw Function17d78d
dw Function17d7b4
@@ -1933,16 +1914,16 @@ Function17dc1f: ; 17dc1f
ld [wEnemyGoesFirst], a
ld hl, wc708
call LoadMenuDataHeader
- call InterpretMenu2
+ call VerticalMenu
jr nc, .asm_17dc6e
ld a, $2
- ld [MenuSelection2], a
+ ld [wMenuCursorY], a
.asm_17dc6e
- call WriteBackup
+ call CloseWindow
pop af
ld [rSVBK], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr nz, .asm_17dc85
ld a, [$c68a]
@@ -2015,9 +1996,8 @@ Function17dccf: ; 17dccf
ld a, [wcd2e]
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld c, a
ld a, [hl]
@@ -2032,9 +2012,9 @@ endr
ld a, [hl]
cp $ff
jr z, .asm_17dd0d
-.asm_17dcfa
+.crash_loop
cp $31
- jr nc, .asm_17dcfa
+ jr nc, .crash_loop
call Function17d711
ld a, [wcd77]
bit 7, a
@@ -2432,9 +2412,8 @@ Function17ded9: ; 17ded9
jr .asm_17df7b
.asm_17df79
-rept 2
inc hl
-endr
+ inc hl
.asm_17df7b
bit 4, b
@@ -2487,9 +2466,8 @@ endr
jr .asm_17dfd2
.asm_17dfd0
-rept 2
inc hl
-endr
+ inc hl
.asm_17dfd2
bit 5, b
@@ -2614,9 +2592,8 @@ Function17e026: ; 17e026
jr .asm_17e0a4
.asm_17e0a2
-rept 2
inc hl
-endr
+ inc hl
.asm_17e0a4
bit 4, b
@@ -2632,9 +2609,8 @@ endr
jr .asm_17e0b6
.asm_17e0b4
-rept 2
inc hl
-endr
+ inc hl
.asm_17e0b6
bit 5, b
@@ -2656,9 +2632,8 @@ endr
call CloseSRAM
pop hl
pop bc
-rept 2
inc hl
-endr
+ inc hl
jr asm_17e0ee
.asm_17e0e1
@@ -2703,9 +2678,8 @@ Function17e0fd: ; 17e0fd
call ReceiveItem
pop hl
jr c, .asm_17e127
-rept 2
inc hl
-endr
+ inc hl
.asm_17e127
ld a, [hli]
@@ -2735,9 +2709,8 @@ Function17e133: ; 17e133
callba MobileCheckOwnMonAnywhere
pop hl
jr c, .asm_17e159
-rept 2
inc hl
-endr
+ inc hl
.asm_17e159
ld a, [hli]
@@ -2773,9 +2746,8 @@ Function17e165: ; 17e165
call CheckItem
pop hl
jr c, .asm_17e195
-rept 2
inc hl
-endr
+ inc hl
.asm_17e195
ld a, [hli]
@@ -3240,9 +3212,8 @@ Function17e451: ; 17e451
ld [wcd2e], a
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
push hl
hlcoord 0, 0
ld bc, $0014
@@ -3467,9 +3438,8 @@ Function17e5af: ; 17e5af
ld l, a
ld a, [wcd4e]
ld h, a
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3534,9 +3504,8 @@ Function17e613: ; 17e613
ld [hli], a
ld a, [de]
inc de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e63f
ld c, a
ld a, [wcd53]
@@ -3555,9 +3524,8 @@ endr
add hl, bc
ld a, [de]
dec de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e674
ld b, a
.asm_17e651
@@ -3566,9 +3534,8 @@ endr
add $3
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e664
ld c, a
ld a, $7f
@@ -3594,9 +3561,8 @@ endr
add $5
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e689
ld c, a
ld a, [wcd53]
@@ -3622,9 +3588,8 @@ Function17e691: ; 17e691
inc de
push af
ld a, [de]
-rept 2
inc de
-endr
+ inc de
and a
.asm_17e69f
jr z, .asm_17e6a5
@@ -3776,9 +3741,8 @@ Function17f047: ; 17f047
ld e, a
ld d, 0
ld hl, Jumptable_17f061
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -3815,9 +3779,8 @@ Function17f081: ; 17f081
ld de, $0004
add hl, de
ld a, [hli]
-rept 2
inc hl
-endr
+ inc hl
ld e, l
ld d, h
ld l, c
@@ -3960,9 +3923,8 @@ Function17f154: ; 17f154
pop hl
call Function17f524
jr c, .asm_17f167
-rept 2
inc hl
-endr
+ inc hl
ld e, l
ld d, h
ld a, [de]
@@ -4150,9 +4112,8 @@ Function17f220: ; 17f220
ld e, a
ld d, 0
ld hl, .Genders
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -4414,9 +4375,8 @@ Function17f3f0: ; 17f3f0
ld a, [de]
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld e, a
ld a, [hli]
@@ -4431,9 +4391,8 @@ endr
ld e, a
ld d, $0
pop hl
-rept 2
add hl, de
-endr
+ add hl, de
rept 3
inc hl
endr
@@ -4497,9 +4456,8 @@ Function17f44f: ; 17f44f
ld de, $0005
add hl, de
ld a, [hli]
-rept 2
inc hl
-endr
+ inc hl
ld e, l
ld d, h
ld l, c
@@ -4673,7 +4631,9 @@ Function17f53d: ; 17f53d
push af
ld a, $1
ld [rSVBK], a
+
call Function17f555
+
pop af
ld [rSVBK], a
call ExitAllMenus
@@ -4681,21 +4641,20 @@ Function17f53d: ; 17f53d
; 17f555
Function17f555: ; 17f555
-.asm_17f555
+.loop
call JoyTextDelay
- call Function17f5ae
+ call .RunJumptable
ld a, [wc303]
bit 7, a
- jr nz, .asm_17f56a
+ jr nz, .quit
callba Function104000
- jr .asm_17f555
+ jr .loop
-.asm_17f56a
- call Function17f56e
+.quit
+ call .deinit
ret
-; 17f56e
-Function17f56e: ; 17f56e
+.deinit
ld a, [wc300]
cp $22
jr z, .asm_17f597
@@ -4732,26 +4691,16 @@ Function17f56e: ; 17f56e
ld a, $5
call GetSRAMBank
xor a
- ld [$aa4b], a
+ ld [sMobileLoginPassword], a
call CloseSRAM
ret
; 17f5ae
-Function17f5ae: ; 17f5ae
- ld a, [wc303]
- ld e, a
- ld d, 0
- ld hl, Table17f5bd
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+.RunJumptable: ; 17f5ae
+ jumptable .Jumptable, wc303
; 17f5bd
-Table17f5bd: ; 17f5bd
+.Jumptable: ; 17f5bd
dw Function17f5c3
dw Function17ff23
dw Function17f5d2
@@ -4818,9 +4767,8 @@ Function17f5e4: ; 17f5e4
ld e, a
ld d, $0
ld hl, Table_17f706
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wc301]
ld e, a
ld a, [wc302]
@@ -4858,9 +4806,8 @@ endr
jr .asm_17f67d
.asm_17f674
-rept 2
inc hl
-endr
+ inc hl
dec c
jr nz, .asm_17f65d
@@ -4878,9 +4825,8 @@ endr
ld e, a
ld d, 0
ld hl, Table_17f699
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -4913,26 +4859,26 @@ Palette_17f6af: ; 17f6af
Function17f6b7: ; 17f6b7
ld a, [wc300]
- call Function17f6cd
+ call .bcd_two_digits
inc hl
ld a, [wc302]
and $f
- call Function17f6d8
+ call .bcd_digit
ld a, [wc301]
- call Function17f6cd
+ call .bcd_two_digits
ret
; 17f6cd
-Function17f6cd: ; 17f6cd
+.bcd_two_digits: ; 17f6cd
ld c, a
and $f0
swap a
- call Function17f6d8
+ call .bcd_digit
ld a, c
and $f
-Function17f6d8: ; 17f6d8
- add $f6
+.bcd_digit: ; 17f6d8
+ add "0"
ld [hli], a
ret
; 17f6dc
diff --git a/misc/mobile_menu.asm b/misc/mobile_menu.asm
new file mode 100755
index 000000000..8975a5151
--- /dev/null
+++ b/misc/mobile_menu.asm
@@ -0,0 +1,879 @@
+MainMenu_Mobile: ; 49efc
+ call ClearBGPalettes
+ ld a, MUSIC_MOBILE_ADAPTER_MENU
+ ld [wMapMusic], a
+ ld de, MUSIC_MOBILE_ADAPTER_MENU
+ call Function4a6c5
+Function49f0a: ; 49f0a
+ call ClearBGPalettes
+ call Function4a3a7
+ call Function4a492
+ call ClearBGPalettes
+Function49f16: ; 49f16
+ call MobileMenu_InitMenuBuffers
+ ld c, 12
+ call DelayFrames
+ hlcoord 4, 0
+ ld b, 10
+ ld c, 10
+ call Function48cdc
+ hlcoord 6, 2
+ ld de, MobileString1
+ call PlaceString
+ hlcoord 0, 12
+ ld b, 4
+ ld c, SCREEN_HEIGHT
+ call TextBox
+ xor a
+ ld de, String_0x49fe9
+ hlcoord 1, 14
+ call PlaceString
+ call WaitBGMap2
+ call SetPalettes
+ call StaticMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+ jr .check_buttons
+
+.joy_loop
+ call ScrollingMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+
+.check_buttons
+ bit A_BUTTON_F, a
+ jr nz, .a_button
+ bit B_BUTTON_F, a
+ jr nz, .b_button
+ jr .next
+
+.a_button
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ cp 1
+ jp z, Function4a098
+ cp 2
+ jp z, Function4a0b9
+ cp 3
+ jp z, Function4a0c2
+ cp 4
+ jp z, Function4a100
+ ld a, 1
+ call MenuClickSound
+.b_button
+ pop bc
+ call ClearBGPalettes
+ call ClearTileMap
+ ld a, MUSIC_MAIN_MENU
+ ld [wMapMusic], a
+ ld de, MUSIC_MAIN_MENU
+ call Function4a6c5
+ ret
+
+.next
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ dec a
+ ld hl, MobileStrings2
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 13
+ ld b, 4
+ ld c, SCREEN_HEIGHT
+ call ClearBox
+ hlcoord 1, 14
+ call PlaceString
+ jp .useless_jump
+
+.useless_jump
+ call MobileMenu_InitMenuBuffers
+ pop bc
+ ld hl, wMenuCursorY
+ ld [hl], b
+ ld b, $a
+ ld c, $1
+ hlcoord 5, 1
+ call ClearBox
+ jp .joy_loop
+; 49fcc
+
+
+MobileString1: ; 49fcc
+ db "めいしフ,ルダー"
+ next "あいさつ"
+ next "プロフィール"
+ next "せ", $1e, "い"
+ next "もどる"
+ db "@"
+; 49fe9
+
+
+MobileStrings2:
+
+String_0x49fe9: ; 49fe9
+ db "めいし¯つくったり"
+ next "ほぞんしておける フ,ルダーです@"
+; 4a004
+
+String_0x4a004: ; 4a004
+ db "モバイルたいせんや じぶんのめいしで"
+ next "つかう あいさつ¯つくります@"
+; 4a026
+
+String_0x4a026: ; 4a026
+ db "あなた%じゅうしょや ねんれいの"
+ next "せ", $1e, "い¯かえられます@"
+; 4a042
+
+String_0x4a042: ; 4a042
+ db "モバイルセンター", $1d, "せつぞくするとき"
+ next "ひつような こと¯きめます@"
+; 4a062
+
+String_0x4a062: ; 4a062
+ db "まえ%がめん ", $1d, "もどります"
+ next "@"
+; 4a071
+
+MobileMenu_InitMenuBuffers: ; 4a071 (12:6071)
+ ld hl, w2DMenuCursorInitY
+ ld a, 2
+ ld [hli], a
+ ld a, 5 ; w2DMenuCursorInitX
+ ld [hli], a
+ ld a, 5 ; w2DMenuNumRows
+ ld [hli], a
+ ld a, 1 ; w2DMenuNumCols
+ ld [hli], a
+ ld [hl], $0 ; w2DMenuFlags1
+ set 5, [hl]
+ inc hl
+ xor a ; w2DMenuFlags2
+ ld [hli], a
+ ld a, $20 ; w2DMenuCursorOffsets
+ ld [hli], a
+ ; this is a stupid way to load $c3
+ ld a, A_BUTTON
+ add D_UP
+ add D_DOWN
+ add B_BUTTON
+ ld [hli], a ; wMenuJoypadFilter
+ ld a, 1
+ ld [hli], a ; wMenuCursorY, wMenuCursorX
+ ld [hli], a ; wMenuCursorY, wMenuCursorX
+ ret
+
+Function4a098: ; 4a098 (12:6098)
+ ld a, 2
+ call MenuClickSound
+ call PlaceHollowCursor
+ call WaitBGMap
+ call LoadStandardMenuDataHeader
+ callba Function89de0
+ call Call_ExitMenu
+ call MG_Mobile_Layout_LoadPals
+ call Function4a485
+ pop bc
+ jp Function49f16
+
+Function4a0b9: ; 4a0b9 (12:60b9)
+ ld a, 2
+ call MenuClickSound
+ pop bc
+ jp Function4a4c4
+
+Function4a0c2: ; 4a0c2 (12:60c2)
+ ld a, 2
+ call MenuClickSound
+ ld a, BANK(sPlayerData)
+ call GetSRAMBank
+ ld hl, sPlayerData + PlayerName - wPlayerData
+ ld de, PlayerName
+ ld bc, 6 ; japanese name length
+ call CopyBytes
+ call CloseSRAM
+ callba _LoadData
+ ld c, 2
+ call DelayFrames
+ ld c, $1
+ call InitMobileProfile
+ push af
+ call ClearBGPalettes
+ pop af
+ and a
+ jr nz, .skip_save
+ callba _SaveData
+.skip_save
+ ld c, 5
+ call DelayFrames
+ jr asm_4a111
+
+Function4a100: ; 4a100 (12:6100)
+ ld a, 2
+ call MenuClickSound
+ call ClearBGPalettes
+ call Function4a13b
+ call ClearBGPalettes
+ call ClearTileMap
+
+asm_4a111: ; 4a111 (12:6111)
+ pop bc
+ call LoadFontsExtra
+ jp Function49f0a
+
+Function4a118: ; 4a118 (12:6118)
+ ld hl, w2DMenuCursorInitY
+ ld a, $1
+ ld [hli], a
+ ld a, $d
+ ld [hli], a
+ ld a, $3
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ ret
+
+Function4a13b: ; 4a13b (12:613b)
+ call Function4a3a7
+ call Function4a492
+ call Function4a373
+ ld c, 10
+ call DelayFrames
+
+Function4a149: ; 4a149 (12:6149)
+ hlcoord 1, 2
+ ld b, $6
+ ld c, $10
+ call Function48cdc
+ hlcoord 3, 4
+ ld de, String_4a1ef
+ call PlaceString
+ hlcoord 0, 12
+ ld b, $4
+ ld c, $12
+ call TextBox
+ ld a, [wMenuCursorY]
+ dec a
+ ld hl, Strings_4a23d
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 13
+ ld b, $4
+ ld c, $12
+ call ClearBox
+ hlcoord 1, 14
+ call PlaceString
+ callba Function104148
+ call SetPalettes
+ call StaticMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+ jr asm_4a19d
+
+Function4a195: ; 4a195 (12:6195)
+ call ScrollingMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+
+asm_4a19d: ; 4a19d (12:619d)
+ bit 0, a
+ jr nz, .asm_4a1a7
+ bit 1, a
+ jr nz, .asm_4a1ba
+ jr .asm_4a1bc
+.asm_4a1a7
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ cp $1
+ jp z, Function4a20e
+ cp $2
+ jp z, Function4a221
+ ld a, $1
+ call MenuClickSound
+.asm_4a1ba
+ pop bc
+ ret
+.asm_4a1bc
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ dec a
+ ld hl, Strings_4a23d
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 13
+ ld b, $4
+ ld c, $12
+ call ClearBox
+ hlcoord 1, 14
+ call PlaceString
+ jr .asm_4a1db
+.asm_4a1db
+ call Function4a373
+ pop bc
+ ld hl, wMenuCursorY
+ ld [hl], b
+ lb bc, 6, 1
+ hlcoord 2, 3
+ call ClearBox
+ jp Function4a195
+; 4a1ef (12:61ef)
+
+String_4a1ef: ; 4a1ef
+ db "モバイルセンター¯えらぶ"
+ next "ログインパスワード¯いれる"
+ next "もどる@"
+; 4a20e
+
+Function4a20e: ; 4a20e (12:620e)
+ ld a, $1
+ call MenuClickSound
+ callba Function1719c8
+ call ClearBGPalettes
+ call DelayFrame
+ jr Function4a239
+
+Function4a221: ; 4a221 (12:6221)
+ ld a, $1
+ call MenuClickSound
+ call Function4a28a
+ jr c, Function4a239
+ call Function4a373
+ ld a, $2
+ ld [wMenuCursorY], a
+ jr .asm_4a235
+.asm_4a235
+ pop bc
+ jp Function4a149
+
+Function4a239: ; 4a239 (12:6239)
+ pop bc
+ jp Function4a13b
+; 4a23d (12:623d)
+
+Strings_4a23d: ; 4a23d
+ db "いつも せつぞく¯する"
+ next "モバイルセンター¯えらびます@"
+
+ db "モバイルセンター", $1d, "せつぞくするとき"
+ next "つかうパスワード¯ほぞんできます@"
+
+ db "まえ%がめん ", $1d, "もどります@"
+
+ db "@"
+; 4a28a
+
+Function4a28a: ; 4a28a (12:628a)
+ hlcoord 2, 3
+ lb bc, 6, 1
+ ld a, " "
+ call Function4a6d8
+ call PlaceHollowCursor
+ call WaitBGMap
+ call LoadStandardMenuDataHeader
+ ld a, $5
+ call GetSRAMBank
+ ld a, [$aa4b]
+ call CloseSRAM
+ and a
+ jr z, .asm_4a2df
+ hlcoord 12, 0
+ ld b, $5
+ ld c, $6
+ call Function48cdc
+ hlcoord 14, 1
+ ld de, String_4a34b
+ call PlaceString
+ callba Function104148
+ call Function4a118
+ call ScrollingMenuJoypad
+ push af
+ call PlayClickSFX
+ pop af
+ bit B_BUTTON_F, a
+ jr nz, .quit
+ ld a, [wMenuCursorY]
+ cp $2
+ jr z, .DeleteLoginPassword
+ cp $3
+ jr z, .quit
+.asm_4a2df
+ callba Function11765d
+ call ClearBGPalettes
+ call Call_ExitMenu
+ call LoadFontsExtra
+ scf
+ ret
+
+.DeleteLoginPassword
+ call PlaceHollowCursor
+ ld hl, UnknownText_0x4a358
+ call PrintText
+ hlcoord 14, 7
+ ld b, 3
+ ld c, 4
+ call TextBox
+ callba Function104148
+ ld hl, DeletePassword_YesNo_MenuDataHeader
+ call LoadMenuDataHeader
+ call VerticalMenu
+ bit B_BUTTON_F, a
+ jr nz, .dont_delete_password
+ ld a, [wMenuCursorY]
+ cp $2
+ jr z, .dont_delete_password
+ ld a, $5
+ call GetSRAMBank
+ ld hl, sMobileLoginPassword
+ xor a
+ ld bc, LOGIN_PASSWORD_LENGTH
+ call ByteFill
+ call CloseSRAM
+ ld hl, UnknownText_0x4a35d
+ call PrintText
+ call JoyWaitAorB
+.dont_delete_password
+ call ExitMenu
+.quit
+ call Call_ExitMenu
+ callba Function104148
+ xor a
+ ret
+; 4a346 (12:6346)
+
+MenuDataHeader_0x4a346: ; 0x4a346
+ db $40 ; flags
+ db 00, 12 ; start coords
+ db 06, 19 ; end coords
+
+String_4a34b: ; 4a34b
+ db "いれなおす"
+ next "けす"
+ next "もどる@"
+; 4a358
+
+UnknownText_0x4a358: ; 0x4a358
+ ; Delete the saved LOG-IN PASSWORD?
+ text_jump UnknownText_0x1c5196
+ db "@"
+; 0x4a35d
+
+UnknownText_0x4a35d: ; 0x4a35d
+ ; Deleted the LOG-IN PASSWORD.
+ text_jump UnknownText_0x1c51b9
+ db "@"
+; 0x4a362
+
+DeletePassword_YesNo_MenuDataHeader: ; 0x4a362
+ db $40 ; flags
+ db 07, 14 ; start coords
+ db 11, 19 ; end coords
+ dw MenuData2_0x4a36a
+ db 2 ; default option
+; 0x4a36a
+
+MenuData2_0x4a36a: ; 0x4a36a
+ db $e0 ; flags
+ db 2 ; items
+ db "はい@"
+ db "いいえ@"
+; 0x4a373
+
+Function4a373: ; 4a373 (12:6373)
+ ld hl, w2DMenuCursorInitY
+ ld a, $4
+ ld [hli], a
+ ld a, $2
+ ld [hli], a
+ ld a, $3
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $40
+ add $80
+ add $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ ret
+; 4a39a (12:639a)
+
+Function4a39a: ; 4a39a
+ call Function4a485
+ call Function4a492
+ call Function4a3aa
+ call SetPalettes
+ ret
+; 4a3a7
+
+Function4a3a7: ; 4a3a7 (12:63a7)
+ call Function4a485
+Function4a3aa: ; 4a3aa
+ hlcoord 0, 0
+ lb bc, 3, 1
+ xor a
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $1
+ call Function4a6d8
+ lb bc, 1, 1
+ xor a
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $1
+ call Function4a6d8
+ lb bc, 4, 1
+ ld a, $2
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $3
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, " "
+ call Function4a6d8
+ hlcoord 1, 0
+ ld a, $1
+ lb bc, 3, 18
+ call Function4a6d8
+ lb bc, 1, 18
+ ld a, $0
+ call Function4a6d8
+ lb bc, 1, 18
+ ld a, $1
+ call Function4a6d8
+ lb bc, 1, 18
+ ld a, $2
+ call Function4a6d8
+ lb bc, 11, 18
+ ld a, " "
+ call Function4a6d8
+ hlcoord 19, 0
+ lb bc, 3, 1
+ ld a, $0
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $1
+ call Function4a6d8
+ lb bc, 1, 1
+ xor a
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $1
+ call Function4a6d8
+ lb bc, 4, 1
+ ld a, $2
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, $3
+ call Function4a6d8
+ lb bc, 1, 1
+ ld a, " "
+ call Function4a6d8
+ ret
+; 4a449 (12:6449)
+
+Function4a449: ; 4a449
+ ld bc, 3 * SCREEN_WIDTH
+ ld a, $0
+ hlcoord 0, 0
+ call ByteFill
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, $1
+ call ByteFill
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, $0
+ call ByteFill
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, $1
+ call ByteFill
+ ld bc, SCREEN_WIDTH
+ ld a, $2
+ call ByteFill
+ ld bc, SCREEN_WIDTH
+ ld a, $3
+ call ByteFill
+ ld bc, SCREEN_WIDTH
+ ld a, " "
+ call ByteFill
+ ret
+; 4a485
+
+Function4a485: ; 4a485 (12:6485)
+ ld de, GFX_49c0c
+ ld hl, VTiles2 tile $00
+ lb bc, BANK(GFX_49c0c), 13
+ call Get2bpp
+ ret
+
+Function4a492: ; 4a492 (12:6492)
+ call MG_Mobile_Layout00
+ ret
+
+
+MainMenu_MobileStudium: ; 4a496
+ ld a, [StartDay]
+ ld b, a
+ ld a, [StartHour]
+ ld c, a
+ ld a, [StartMinute]
+ ld d, a
+ ld a, [StartSecond]
+ ld e, a
+ push bc
+ push de
+ callba MobileStudium
+ call ClearBGPalettes
+ pop de
+ pop bc
+ ld a, b
+ ld [StartDay], a
+ ld a, c
+ ld [StartHour], a
+ ld a, d
+ ld [StartMinute], a
+ ld a, e
+ ld [StartSecond], a
+ ret
+; 4a4c4
+
+
+Function4a4c4: ; 4a4c4 (12:64c4)
+ call ClearBGPalettes
+ call Function4a3a7
+ call Function4a492
+ call Function4a680
+ call ClearBGPalettes
+ ld c, 20
+ call DelayFrames
+ hlcoord 2, 0
+ ld b, $a
+ ld c, $e
+ call Function48cdc
+ hlcoord 4, 2
+ ld de, String_4a5c5
+ call PlaceString
+ hlcoord 4, 4
+ ld de, String_4a5cd
+ call PlaceString
+ hlcoord 4, 6
+ ld de, String_4a5da
+ call PlaceString
+ hlcoord 4, 8
+ ld de, String_4a5e6
+ call PlaceString
+ hlcoord 4, 10
+ ld de, String_4a5f2
+ call PlaceString
+ hlcoord 0, 12
+ ld b, $4
+ ld c, $12
+ call TextBox
+ xor a
+ ld hl, Strings_4a5f6
+ ld d, h
+ ld e, l
+ hlcoord 1, 14
+ call PlaceString
+ ld a, $1
+ ld hl, Strings_4a5f6
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 16
+ call PlaceString
+ call WaitBGMap2
+ call SetPalettes
+ call StaticMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+ jr asm_4a54d
+
+Function4a545: ; 4a545 (12:6545)
+ call ScrollingMenuJoypad
+ ld hl, wMenuCursorY
+ ld b, [hl]
+ push bc
+
+asm_4a54d: ; 4a54d (12:654d)
+ bit 0, a
+ jr nz, .asm_4a557
+ bit 1, a
+ jr nz, .asm_4a574
+ jr .asm_4a57e
+.asm_4a557
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ cp $1
+ jp z, Function4a6ab
+ cp $2
+ jp z, Function4a6ab
+ cp $3
+ jp z, Function4a6ab
+ cp $4
+ jp z, Function4a6ab
+ ld a, $1
+ call MenuClickSound
+.asm_4a574
+ pop bc
+ call ClearBGPalettes
+ call ClearTileMap
+ jp Function49f0a
+.asm_4a57e
+ ld hl, wMenuCursorY
+ ld a, [hl]
+ dec a
+ add a
+ push af
+ ld hl, Strings_4a5f6
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 13
+ ld b, $4
+ ld c, $12
+ call ClearBox
+ hlcoord 1, 14
+ call PlaceString
+ pop af
+ inc a
+ ld hl, Strings_4a5f6
+ call GetNthString
+ ld d, h
+ ld e, l
+ hlcoord 1, 16
+ call PlaceString
+ jp Function4a5b0
+
+Function4a5b0: ; 4a5b0 (12:65b0)
+ call Function4a680
+ pop bc
+ ld hl, wMenuCursorY
+ ld [hl], b
+ ld b, $a
+ ld c, $1
+ hlcoord 3, 1
+ call ClearBox
+ jp Function4a545
+; 4a5c5 (12:65c5)
+
+String_4a5c5: ; 4a5c5
+ db "じこしょうかい@"
+String_4a5cd: ; 4a5cd
+ db "たいせん ", $4a, "はじまるとき@"
+String_4a5da: ; 4a5da
+ db "たいせん ", $1d, "かったとき@"
+String_4a5e6: ; 4a5e6
+ db "たいせん ", $1d, "まけたとき@"
+String_4a5f2: ; 4a5f2
+ db "もどる@"
+; 4a5f6
+
+Strings_4a5f6: ; 4a5f6
+ db "めいし や ニュース ", $1d, "のせる@"
+ db "あなた%あいさつです@"
+ db "モバイル たいせん", $4a, "はじまるとき@"
+ db "あいて", $1d, "みえる あいさつです@"
+ db "モバイル たいせんで かったとき@"
+ db "あいて", $1d, "みえる あいさつです@"
+ db "モバイル たいせんで まけたとき@"
+ db "あいて", $1d, "みえる あいさつです@"
+ db "まえ%がめん ", $1d, "もどります@"
+ db "@"
+; 4a680
+
+Function4a680: ; 4a680 (12:6680)
+ ld hl, w2DMenuCursorInitY
+ ld a, $2
+ ld [hli], a
+ ld a, $3
+ ld [hli], a
+ ld a, $5
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ set 5, [hl]
+ inc hl
+ xor a
+ ld [hli], a
+ ld a, $20
+ ld [hli], a
+ ld a, $1
+ add $40
+ add $80
+ add $2
+ ld [hli], a
+ ld a, $1
+ ld [hli], a
+ ld [hli], a
+ xor a
+rept 3
+ ld [hli], a
+endr
+ ret
+
+Function4a6ab: ; 4a6ab (12:66ab)
+ ld a, $2
+ call MenuClickSound
+ call ClearBGPalettes
+ ld b, SCGB_08
+ call GetSGBLayout
+ callba Function11c1ab
+ pop bc
+ call LoadFontsExtra
+ jp Function4a4c4
+
+Function4a6c5: ; 4a6c5 (12:66c5)
+ ld a, $5
+ ld [MusicFade], a
+ ld a, e
+ ld [MusicFadeIDLo], a
+ ld a, d
+ ld [MusicFadeIDHi], a
+ ld c, 22
+ call DelayFrames
+ ret
+
+Function4a6d8: ; 4a6d8 (12:66d8)
+ push bc
+ push hl
+.asm_4a6da
+ ld [hli], a
+ dec c
+ jr nz, .asm_4a6da
+ pop hl
+ ld bc, SCREEN_WIDTH
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, Function4a6d8
+ ret
diff --git a/misc/printer_77.asm b/misc/printer_77.asm
new file mode 100755
index 000000000..32f5c734f
--- /dev/null
+++ b/misc/printer_77.asm
@@ -0,0 +1,356 @@
+PrintPage1: ; 1dc1b0
+ hlcoord 0, 0
+ ld de, wca90
+ ld bc, 17 * SCREEN_WIDTH
+ call CopyBytes
+ ld hl, wcab5
+ ld a, $62
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, wcac9
+ ld a, $64
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, wcb45
+ ld a, " "
+ ld [hli], a
+ ld [hl], a
+ ld hl, wcb59
+ ld a, $61
+ ld [hli], a
+ ld [hl], a
+ ld hl, wcb6e
+ lb bc, 5, 18
+ call ClearBox
+ ld a, [wd265]
+ dec a
+ call CheckCaughtMon
+ push af
+ ld a, [wd265]
+ ld b, a
+ ld c, 1 ; get page 1
+ callba GetDexEntryPagePointer
+ pop af
+ ld a, b
+ ld hl, wcb6d
+ call nz, FarString
+ ld hl, wcaa3
+ ld [hl], $35
+ ld de, SCREEN_WIDTH
+ add hl, de
+ ld b, $f
+.column_loop
+ ld [hl], $37
+ add hl, de
+ dec b
+ jr nz, .column_loop
+ ld [hl], $3a
+ ret
+; 1dc213
+
+PrintPage2: ; 1dc213
+ ld hl, wca90
+ ld bc, $a0
+ ld a, " "
+ call ByteFill
+ ld hl, wca90
+ ld a, $36
+ ld b, $6
+ call .FillColumn
+ ld hl, wcaa3
+ ld a, $37
+ ld b, $6
+ call .FillColumn
+ ld hl, wcb08
+ ld [hl], $38
+ inc hl
+ ld a, $39
+ ld bc, SCREEN_HEIGHT
+ call ByteFill
+ ld [hl], $3a
+ ld hl, wcb1c
+ ld bc, SCREEN_WIDTH
+ ld a, $32
+ call ByteFill
+ ld a, [wd265]
+ dec a
+ call CheckCaughtMon
+ push af
+ ld a, [wd265]
+ ld b, a
+ ld c, 2 ; get page 2
+ callba GetDexEntryPagePointer
+ pop af
+ ld hl, wcaa5
+ ld a, b
+ call nz, FarString
+ ret
+; 1dc26a
+
+.FillColumn: ; 1dc26a
+ push de
+ ld de, SCREEN_WIDTH
+.column_loop
+ ld [hl], a
+ add hl, de
+ dec b
+ jr nz, .column_loop
+ pop de
+ ret
+; 1dc275
+
+GBPrinterStrings:
+String_1dc275: db "@"
+String_1dc276: next " CHECKING LINK...@"
+String_1dc289: next " TRANSMITTING...@"
+String_1dc29c: next " PRINTING...@"
+String_1dc2ad:
+ db " Printer Error 1"
+ next ""
+ next "Check the Game Boy"
+ next "Printer Manual."
+ db "@"
+String_1dc2e2:
+ db " Printer Error 2"
+ next ""
+ next "Check the Game Boy"
+ next "Printer Manual."
+ db "@"
+String_1dc317:
+ db " Printer Error 3"
+ next ""
+ next "Check the Game Boy"
+ next "Printer Manual."
+ db "@"
+String_1dc34c:
+ db " Printer Error 4"
+ next ""
+ next "Check the Game Boy"
+ next "Printer Manual."
+ db "@"
+; 1dc381
+
+Function1dc381: ; 1dc381
+ call ClearBGPalettes
+ call ClearTileMap
+ call ClearSprites
+ xor a
+ ld [hBGMapMode], a
+ call LoadFontsBattleExtra
+
+ ld de, MobileHPIcon
+ ld hl, VTiles2 tile $71
+ lb bc, BANK(MobileHPIcon), 1
+ call Request1bpp
+
+ ld de, MobileLvIcon
+ ld hl, VTiles2 tile $6e
+ lb bc, BANK(MobileLvIcon), 1
+ call Request1bpp
+
+ ld de, ShinyIcon
+ ld hl, VTiles2 tile $3f
+ lb bc, BANK(ShinyIcon), 1
+ call Get2bpp
+
+ xor a
+ ld [MonType], a
+ callba CopyPkmnToTempMon
+ hlcoord 0, 7
+ ld b, 9
+ ld c, 18
+ call TextBox
+ hlcoord 8, 2
+ ld a, [TempMonLevel]
+ call Function383d
+ hlcoord 12, 2
+ ld [hl], "◀" ; Filled left triangle
+ inc hl
+ ld de, TempMonMaxHP
+ lb bc, 2, 3
+ call PrintNum
+ ld a, [CurPartySpecies]
+ ld [wd265], a
+ ld [CurSpecies], a
+ ld hl, PartyMonNicknames
+ call Function1dc50e
+ hlcoord 8, 4
+ call PlaceString
+ hlcoord 9, 6
+ ld [hl], "/"
+ call GetPokemonName
+ hlcoord 10, 6
+ call PlaceString
+ hlcoord 8, 0
+ ld [hl], "№"
+ inc hl
+ ld [hl], "."
+ inc hl
+ ld de, wd265
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 3
+ call PrintNum
+ hlcoord 1, 9
+ ld de, String1dc550
+ call PlaceString
+ ld hl, PartyMonOT
+ call Function1dc50e
+ hlcoord 4, 9
+ call PlaceString
+ hlcoord 1, 11
+ ld de, String1dc559
+ call PlaceString
+ hlcoord 4, 11
+ ld de, TempMonID
+ lb bc, PRINTNUM_LEADINGZEROS | 2, 5
+ call PrintNum
+ hlcoord 1, 14
+ ld de, String1dc554
+ call PlaceString
+ hlcoord 7, 14
+ ld a, [TempMonMoves + 0]
+ call Function1dc51a
+ call Function1dc52c
+ ld hl, TempMonDVs
+ predef GetUnownLetter
+ ld hl, wBoxAlignment
+ xor a
+ ld [hl], a
+ ld a, [CurPartySpecies]
+ cp UNOWN
+ jr z, .asm_1dc469
+ inc [hl]
+
+.asm_1dc469
+ hlcoord 0, 0
+ call _PrepMonFrontpic
+ call WaitBGMap
+ ld b, SCGB_STATS_SCREEN_HP_PALS
+ call GetSGBLayout
+ call SetPalettes
+ ret
+; 1dc47b
+
+Function1dc47b: ; 1dc47b
+ call ClearBGPalettes
+ call ClearTileMap
+ call ClearSprites
+ xor a
+ ld [hBGMapMode], a
+ call LoadFontsBattleExtra
+ xor a
+ ld [MonType], a
+ callba CopyPkmnToTempMon
+ hlcoord 0, 0
+ ld b, 15
+ ld c, 18
+ call TextBox
+ ld bc, SCREEN_WIDTH
+ decoord 0, 0
+ hlcoord 0, 1
+ call CopyBytes
+ hlcoord 7, 0
+ ld a, [TempMonMoves + 1]
+ call Function1dc51a
+ hlcoord 7, 2
+ ld a, [TempMonMoves + 2]
+ call Function1dc51a
+ hlcoord 7, 4
+ ld a, [TempMonMoves + 3]
+ call Function1dc51a
+ hlcoord 7, 7
+ ld de, String1dc55d
+ call PlaceString
+ hlcoord 16, 7
+ ld de, TempMonAttack
+ call .PrintTempMonStats
+ hlcoord 16, 9
+ ld de, TempMonDefense
+ call .PrintTempMonStats
+ hlcoord 16, 11
+ ld de, TempMonSpclAtk
+ call .PrintTempMonStats
+ hlcoord 16, 13
+ ld de, TempMonSpclDef
+ call .PrintTempMonStats
+ hlcoord 16, 15
+ ld de, TempMonSpeed
+ call .PrintTempMonStats
+ call WaitBGMap
+ ld b, SCGB_STATS_SCREEN_HP_PALS
+ call GetSGBLayout
+ call SetPalettes
+ ret
+; 1dc507
+
+.PrintTempMonStats: ; 1dc507
+ lb bc, 2, 3
+ call PrintNum
+ ret
+; 1dc50e
+
+Function1dc50e: ; 1dc50e
+ ld bc, NAME_LENGTH
+ ld a, [CurPartyMon]
+ call AddNTimes
+ ld e, l
+ ld d, h
+ ret
+; 1dc51a
+
+Function1dc51a: ; 1dc51a
+ and a
+ jr z, .no_move
+
+ ld [wd265], a
+ call GetMoveName
+ jr .got_string
+
+.no_move
+ ld de, String1dc584
+
+.got_string
+ call PlaceString
+ ret
+; 1dc52c
+
+Function1dc52c: ; 1dc52c
+ callba GetGender
+ ld a, " "
+ jr c, .got_gender
+ ld a, "♂"
+ jr nz, .got_gender
+ ld a, "♀"
+
+.got_gender
+ hlcoord 17, 2
+ ld [hl], a
+ ld bc, TempMonDVs
+ callba CheckShininess
+ ret nc
+ hlcoord 18, 2
+ ld [hl], "<SHINY>"
+ ret
+; 1dc550
+
+String1dc550: ; 1dc550
+ db "OT/@"
+
+String1dc554: ; 1dc554
+ db "MOVE@"
+
+String1dc559: ; 1dc559
+ db "<ID>№.@"
+
+String1dc55d: ; 1dc55d
+ db "ATTACK"
+ next "DEFENSE"
+ next "SPCL.ATK"
+ next "SPCL.DEF"
+ next "SPEED"
+ db "@"
+
+String1dc584: ; 1dc584
+ db "------------@"
+; 1dc591