diff options
Diffstat (limited to 'misc')
-rwxr-xr-x | misc/battle_tower_5c.asm | 593 | ||||
-rw-r--r-- | misc/crystal_misc.asm | 2 | ||||
-rwxr-xr-x | misc/fixed_words.asm | 615 | ||||
-rwxr-xr-x | misc/gfx_41.asm | 600 | ||||
-rwxr-xr-x | misc/mobile_12.asm | 167 | ||||
-rwxr-xr-x | misc/mobile_12_2.asm | 937 | ||||
-rw-r--r-- | misc/mobile_22.asm | 88 | ||||
-rw-r--r-- | misc/mobile_22_2.asm | 21 | ||||
-rw-r--r-- | misc/mobile_40.asm | 1159 | ||||
-rwxr-xr-x | misc/mobile_41.asm | 30 | ||||
-rw-r--r-- | misc/mobile_42.asm | 1035 | ||||
-rw-r--r-- | misc/mobile_45.asm | 644 | ||||
-rwxr-xr-x | misc/mobile_46.asm | 1724 | ||||
-rwxr-xr-x | misc/mobile_5b.asm | 405 | ||||
-rwxr-xr-x | misc/mobile_5c.asm | 110 | ||||
-rw-r--r-- | misc/mobile_5f.asm | 284 | ||||
-rwxr-xr-x | misc/mobile_menu.asm | 879 | ||||
-rwxr-xr-x | misc/printer_77.asm | 356 |
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 |