diff options
Diffstat (limited to 'misc')
-rwxr-xr-x | misc/battle_tower_5c.asm | 562 | ||||
-rw-r--r-- | misc/crystal_misc.asm | 2 | ||||
-rwxr-xr-x | misc/fixed_words.asm | 32 | ||||
-rwxr-xr-x | misc/gfx_41.asm | 600 | ||||
-rwxr-xr-x | misc/mobile_12.asm | 55 | ||||
-rwxr-xr-x | misc/mobile_12_2.asm | 937 | ||||
-rw-r--r-- | misc/mobile_22.asm | 80 | ||||
-rw-r--r-- | misc/mobile_22_2.asm | 10 | ||||
-rw-r--r-- | misc/mobile_40.asm | 829 | ||||
-rwxr-xr-x | misc/mobile_41.asm | 22 | ||||
-rw-r--r-- | misc/mobile_42.asm | 1005 | ||||
-rw-r--r-- | misc/mobile_45.asm | 48 | ||||
-rwxr-xr-x | misc/mobile_46.asm | 745 | ||||
-rwxr-xr-x | misc/mobile_5b.asm | 401 | ||||
-rwxr-xr-x | misc/mobile_5c.asm | 110 | ||||
-rw-r--r-- | misc/mobile_5f.asm | 48 | ||||
-rwxr-xr-x | misc/mobile_menu.asm | 882 | ||||
-rwxr-xr-x | misc/printer_77.asm | 356 |
18 files changed, 4685 insertions, 2039 deletions
diff --git a/misc/battle_tower_5c.asm b/misc/battle_tower_5c.asm index 1c9c7436b..8f8114f95 100755 --- a/misc/battle_tower_5c.asm +++ b/misc/battle_tower_5c.asm @@ -1,11 +1,11 @@ Function1700b0: ; 1700b0 - call Function17021e + call InitBattleTowerChallengeRAM callba Function118121 ret ; 1700ba Function1700ba: ; 1700ba - call Function17021e + call InitBattleTowerChallengeRAM callba Function11811a ret ; 1700c4 @@ -17,21 +17,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 call CopyBytes - ld hl, $d202 + ld hl, w3_d202 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,7 +43,7 @@ Function1700c4: ; 1700c4 add hl, de ld e, l ld d, h - ld hl, $dffc + ld hl, w3_dffc ld bc, $0004 call CopyBytes call CloseSRAM @@ -52,7 +53,7 @@ Function1700c4: ; 1700c4 ; 170114 Function170114: ; 170114 - call Function17021e + call InitBattleTowerChallengeRAM call Function170121 callba Function11805f ret @@ -62,8 +63,8 @@ Function170121: ; 170121 ld a, $5 call GetSRAMBank ld hl, $a948 - ld de, $c608 - ld bc, $00f6 + ld de, wMisc + ld bc, $00f6 ; 246 call CopyBytes call CloseSRAM call Function170c8b @@ -71,27 +72,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] @@ -108,26 +111,26 @@ Function170139: ; 170139 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,7 +148,7 @@ Function170139: ; 170139 ld [wcd4c], a pop af dec a - jr nz, .asm_1701ac + jr nz, .CopyLoop ld a, $4 call GetSRAMBank ld hl, $a013 @@ -157,7 +160,7 @@ Function170139: ; 170139 ld hl, $a894 ld bc, $0006 call CopyBytes - ld hl, $c608 + ld hl, wMisc ld de, $a948 ld bc, $00f6 call CopyBytes @@ -165,22 +168,22 @@ Function170139: ; 170139 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 +192,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 @@ -202,14 +205,14 @@ _BattleTowerBattle: ; 17022c .loop call .do_jumptable call DelayFrame - ld a, [wcf63] + ld a, [wBattleTowerBattleEnded] cp $1 jr nz, .loop ret ; 17023a .do_jumptable: ; 17023a - ld a, [wcf63] + ld a, [wBattleTowerBattleEnded] ld e, a ld d, 0 ld hl, .jumptable @@ -256,10 +259,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 +274,7 @@ RunBattleTowerTrainer: ; 17024d pop af ld [Options], a ld a, $1 - ld [wcf63], a + ld [wBattleTowerBattleEnded], a ret @@ -479,7 +482,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 +511,7 @@ BT_ChrisName: ; 170426 Function17042c: ; 17042c ld hl, w3_d202TrainerData - ld a, 7 + ld a, BATTLETOWER_NROFTRAINERS .loop push af push hl @@ -521,7 +524,7 @@ Function17042c: ; 17042c ld a, [hli] and a jr z, .empty - cp $f + cp 15 jr nc, .copy_data push hl @@ -615,7 +618,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 +627,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 +635,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 +658,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, .jumptable rept 2 add hl, de endr @@ -692,13 +698,13 @@ endr jp [hl] ; 17051f -Jumptable_17051f: ; 17051f - dw Function170525 - dw Function170571 - dw Function170577 +.jumptable: ; 17051f + dw .Jumptable_0 + dw .Jumptable_1 + dw .Jumptable_2 ; 170525 -Function170525: ; 170525 +.Jumptable_0: ; 170525 ld a, $5 call GetSRAMBank @@ -708,7 +714,7 @@ Function170525: ; 170525 call CopyBytes ld hl, $a8b2 - ld de, $c608 + ld de, wMisc ld bc, $0096 call CopyBytes @@ -717,118 +723,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 +842,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 +863,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 +876,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 @@ -953,13 +960,13 @@ endr 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 +984,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 +1008,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 +1040,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 +1048,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 +1079,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 +1110,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 +1210,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 +1229,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 +1367,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 +1377,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 +1462,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 +1500,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 +1529,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 +1554,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 +1585,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 +1612,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 +1638,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 +1646,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..4f56936a8 100755 --- a/misc/fixed_words.asm +++ b/misc/fixed_words.asm @@ -288,7 +288,7 @@ Function11c1ca: ; 11c1ca ld [wcd2b], a ld a, $ff ld [wcd24], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a call Function11c254 call ClearBGPalettes @@ -306,9 +306,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 @@ -362,12 +362,12 @@ 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 @@ -1733,7 +1733,7 @@ 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 @@ -1771,7 +1771,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,7 +1794,7 @@ 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 @@ -2478,7 +2478,7 @@ Function11d0f5: ; 11d0f5 (47:50f5) ld d, $0 add hl, de ld a, [hl] - call Function3b3c + call ReinitSpriteAnimFrame ld a, [CreditsTimer] sla a ld hl, Unknown_11d23e @@ -2487,7 +2487,7 @@ Function11d0f5: ; 11d0f5 (47:50f5) Function11d10f: ; 11d10f (47:510f) ld a, $27 - call Function3b3c + call ReinitSpriteAnimFrame ld a, [wcd25] sla a ld hl, Unknown_11d29e @@ -2514,7 +2514,7 @@ asm_11d11e: ; 11d11e (47:511e) Function11d134: ; 11d134 (47:5134) ld a, $27 - call Function3b3c + call ReinitSpriteAnimFrame ld a, [wcd2a] sla a ld hl, Unknown_11d2b6 @@ -2523,7 +2523,7 @@ Function11d134: ; 11d134 (47:5134) Function11d145: ; 11d145 (47:5145) ld a, $27 - call Function3b3c + call ReinitSpriteAnimFrame ld a, [wcd2c] sla a ld hl, Unknown_11d2ba @@ -2532,7 +2532,7 @@ Function11d145: ; 11d145 (47:5145) Function11d156: ; 11d156 (47:5156) ld a, $2a - call Function3b3c + call ReinitSpriteAnimFrame ld a, [wcd4a] sla a sla a @@ -2557,7 +2557,7 @@ Function11d175: ; 11d175 (47:5175) .asm_11d180 ld a, $26 .asm_11d182 - call Function3b3c + call ReinitSpriteAnimFrame ld a, [wcd4d] cp $4 jr z, .asm_11d1b1 @@ -2611,7 +2611,7 @@ Function11d1d7: ; 11d1d7 (47:51d7) asm_11d1db: ; 11d1db (47:51db) push de - call Function3b3c + call ReinitSpriteAnimFrame ld a, [wcd4a] sla a sla a @@ -2632,7 +2632,7 @@ asm_11d1db: ; 11d1db (47:51db) Function11d1fc: ; 11d1fc (47:51fc) ld a, $26 - call Function3b3c + call ReinitSpriteAnimFrame ld a, $8 ld e, a call Function11d2ee 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..7dca10581 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,7 +46,7 @@ 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 @@ -112,17 +112,17 @@ InitMobileProfile: ; 4802f (12:402f) ld de, String_48275 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 @@ -214,8 +214,8 @@ String_48202: ; 48202 ; 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 @@ -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 @@ -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 @@ -493,7 +493,7 @@ Function4840c: ; 4840c (12:440c) call PlaceString call Function486bf pop bc - ld hl, MenuSelection2 + ld hl, wMenuCursorY ld [hl], b ld a, [wd002] bit 6, a @@ -665,7 +665,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 +687,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 @@ -772,7 +772,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 @@ -853,7 +853,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 @@ -1154,7 +1154,7 @@ asm_48972: ; 48972 (12:4972) push de push hl ld a, $1 - call Function1ff8 + call MenuClickSound pop hl pop de pop bc @@ -1217,11 +1217,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 +1229,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 +1605,8 @@ Function48c63: ; 48c63 ; 48c8e Function48c8e: ; 48c8e - ld hl, wd02a +; unreferenced + ld hl, $d02a ld d, h ld e, l callba Function48c63 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..70b4e04e4 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,10 +248,10 @@ 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 @@ -259,7 +259,7 @@ Function89261: ; 89261 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 @@ -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 @@ -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 diff --git a/misc/mobile_22_2.asm b/misc/mobile_22_2.asm index b794ba33a..080c21890 100644 --- a/misc/mobile_22_2.asm +++ b/misc/mobile_22_2.asm @@ -818,7 +818,7 @@ Function8b7bd: ; 8b7bd and a jr z, .asm_8b7ea dec a - ld [wcf77], a + ld [wScrollingMenuCursorPosition], a .asm_8b7ea hlcoord 0, 2 @@ -828,9 +828,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 +854,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 +880,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..9817f1afc 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 @@ -86,7 +86,7 @@ Function100082: ; 100082 ld [hMapAnims], a ld [hLCDStatCustom], 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,30 @@ 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 + ld d, 0 rept 2 add hl, de endr - ld a, [CreditsTimer] + 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 +170,7 @@ Function1000fa: ; 1000fa and $13 ld [rIE], a xor a - ld [hFFC9], a + ld [hMobileReceive], a ld [hMobile], a ei @@ -265,12 +267,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 +381,7 @@ Function100276: ; 100276 .asm_10029f call Function1002dc - ld c, $0 + ld c, 0 ret .asm_1002a5 @@ -423,8 +425,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 +506,7 @@ Function10034d: ; 10034d ret .asm_10036a - ld a, $0 + ld a, 0 call Function3e32 ld [wcd2c], a ld a, h @@ -545,7 +547,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 +556,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 +565,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 +574,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 +584,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 +616,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 +660,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 +815,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 +855,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 +897,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 +910,7 @@ Function100597: ; 100597 ret z jr nc, .asm_1005a6 xor a - ld [MenuSelection2], a + ld [wMenuCursorY], a .asm_1005a6 call ExitMenu @@ -947,7 +949,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 +962,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 +1376,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 +1431,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 +1451,7 @@ Function1008a6: ; 1008a6 .asm_1008da call Function10070d - ld c, $0 + ld c, 0 ret ; 1008e0 @@ -1674,7 +1676,7 @@ Function100a53: ; 100a53 ld a, $ff ld [wOtherPlayerLinkAction], a .waiting - call LinkCommunicationsSendReceive + call LinkTransfer call DelayFrame ld a, [wOtherPlayerLinkAction] inc a @@ -1683,14 +1685,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 +1704,7 @@ Function100a53: ; 100a53 Function100a87: ; 100a87 call Function100acf call Function100641 - ld a, $0 + ld a, 0 ld [wcd27], a .asm_100a92 call DelayFrame @@ -1801,7 +1803,7 @@ 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 @@ -1818,22 +1820,22 @@ Function100b45: ; 100b45 call Function100b7a .asm_100b48 call Function100dd2 - callba Function241ba + 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 + 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,21 +1844,21 @@ 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 @@ -1879,13 +1881,13 @@ Function100bc2: ; 100bc2 callba MoveInfoBox .asm_100bd1 call Function100dd2 - callba Function241ba + callba MobileMenuJoypad push bc callba Function10402d call Function100e2d pop bc jr c, .asm_100c25 - ld a, [wcfa8] + ld a, [wMenuJoypadFilter] and c bit 6, a jp nz, .asm_100bff @@ -1898,29 +1900,29 @@ Function100bc2: ; 100bc2 jr .asm_100bd1 .asm_100bff - ld a, [MenuSelection2] + ld a, [wMenuCursorY] and a jp nz, .asm_100bcb - ld a, [wd0eb] + ld a, [wNumMoves] inc a - ld [MenuSelection2], a + ld [wMenuCursorY], a jp .asm_100bcb .asm_100c10 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld b, a - ld a, [wd0eb] + ld a, [wNumMoves] rept 2 inc a endr cp b jp nz, .asm_100bcb ld a, $1 - ld [MenuSelection2], a + ld [wMenuCursorY], a jp .asm_100bcb .asm_100c25 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld [CurMoveNum], a ld a, $1 @@ -1928,10 +1930,10 @@ endr ret .asm_100c30 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld [CurMoveNum], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld c, a ld b, 0 @@ -1946,7 +1948,7 @@ endr dec a cp c jr z, .asm_100c63 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld c, a ld b, 0 @@ -1987,55 +1989,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 +.loop call Function100dd2 - callba Function241ba + 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 +2052,7 @@ Function100cb5: ; 100cb5 and a ret -.asm_100d17 +.done ld de, SFX_READ_TEXT_2 call PlaySFX call WaitSFX @@ -2054,23 +2060,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 + 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 +2108,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 @@ -2320,7 +2326,7 @@ asm_100eb8 ld a, [hl] cp $2 ret c - ld [hl], $0 + ld [hl], 0 jr Function100ec5 Function100ec4: ; 100ec4 @@ -2339,7 +2345,7 @@ Function100eca: ; 100eca ; 100ed4 Function100ed4: ; 100ed4 - callba Function96a4 + callba ApplyPals ld a, $1 ld [hCGBPalUpdate], a ret @@ -2406,7 +2412,7 @@ asm_100f02: call Function100f3d ; next line pop hl - ld de, $0007 + ld de, 7 add hl, de jr .loop @@ -2527,7 +2533,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 +2543,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 +2559,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 +2572,7 @@ endr call GetSRAMBank ld hl, wc608 ld de, $a001 - ld bc, $01b5 + ld bc, wc7bd - wc608 call CopyBytes call CloseSRAM ret @@ -2575,11 +2581,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 +2594,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 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 +2611,7 @@ Function10107d: ; 10107d ret ; 1010cd -Function1010cd: ; 1010cd +.CopyAllFromOT: ; 1010cd push hl ld hl, 0 ld a, [OTPartyCount] @@ -2621,7 +2627,7 @@ Function1010de: ; 1010de push hl push bc ld de, 0 -.asm_1010e3 +.loop ld a, [hli] add e ld e, a @@ -2631,7 +2637,7 @@ Function1010de: ; 1010de dec bc ld a, b or c - jr nz, .asm_1010e3 + jr nz, .loop pop bc pop hl ret @@ -2640,7 +2646,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 +2693,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 +2705,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 +2714,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 +2722,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 @@ -2894,7 +2900,7 @@ Function10127e: ; 10127e jr z, .asm_101292 .asm_101290 - ld c, $0 + ld c, 0 .asm_101292 ld a, c @@ -3029,7 +3035,7 @@ Jumptable_101297: ; 101297 Function10138b: ; 10138b callba Function8adcc - ld c, $0 + ld c, 0 jr c, .asm_101396 inc c @@ -3054,7 +3060,7 @@ Function10138b: ; 10138b Function1013aa: ; 1013aa call ClearBGPalettes call Call_ExitMenu - call Function2bae + call ReloadTilesetAndPalettes callba Function106464 call UpdateSprites call Function2b5c @@ -3062,8 +3068,8 @@ Function1013aa: ; 1013aa ; 1013c0 Function1013c0: ; 1013c0 - callba Function8000 - callba Function106462 + callba BlankScreen + callba MobileFunc_106462 callba Function106464 call Function2b5c ret @@ -3083,7 +3089,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 +3131,7 @@ Function101400: ; 101400 ; unreferenced Function101406: ; 101406 ld c, a - ld b, $0 + ld b, 0 .asm_101409 ld a, [de] inc de @@ -3176,7 +3182,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 +3221,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 +3280,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 +3300,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 +3396,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 +3411,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 +3426,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 +3437,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 +3466,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 +3513,7 @@ Function101674: ; 101674 ; unreferenced ; 10167d Function10167d: ; 10167d - ld a, $0 + ld a, 0 ld [wcd26], a ld a, [wcd25] inc a @@ -3520,7 +3526,7 @@ Function10168a: ; 10168a ret c Function10168e: ; 10168e - ld b, $0 + ld b, 0 ld c, $1 callba Function10079c ret c @@ -3536,7 +3542,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 +3587,7 @@ Function1016de: ; 1016de ; 1016f8 Function1016f8: ; 1016f8 - ld a, $0 + ld a, 0 ld [wcd27], a ld a, [wcd26] inc a @@ -3612,7 +3618,7 @@ Function101724: ; 101724 ld a, [wcd39] cp $ff jr z, .asm_101731 - ld a, $0 + ld a, 0 ld [wcd26], a ret @@ -3634,7 +3640,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 +3669,7 @@ Function10174c: ; 10174c Function10176f: ; 10176f ld hl, wccb4 - ld bc, $0054 + ld bc, $54 ld a, $11 call ByteFill ret @@ -3672,7 +3678,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 +3731,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 +3746,7 @@ Function1017c7: ; 1017c7 ; 1017e4 Function1017e4: ; 1017e4 - ld a, $0 + ld a, 0 ld [wcd27], a ld a, [wcd25] inc a @@ -3753,7 +3759,7 @@ Function1017f1: ; 1017f1 ret c Function1017f5: ; 1017f5 - ld b, $0 + ld b, 0 ld c, $1 callba Function10079c ret c @@ -3825,17 +3831,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 +3916,7 @@ Function1018fb: ; 1018fb .asm_101909 ld de, LinkBattleRNs - ld bc, $000a + ld bc, 10 call CopyBytes ret ; 101913 @@ -3967,7 +3973,7 @@ Function10194b: ; 10194b ; 10196d Function10196d: ; 10196d - callba Function8000 + callba BlankScreen callba Function10060d ld hl, wcd29 set 5, [hl] @@ -3977,7 +3983,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 +4004,7 @@ Function1019ab: ; 1019ab xor a ld [wdc5f], a ld [wdc60], a - callba Function8000 + callba BlankScreen call SpeechTextBox callba Function100846 ld c, $78 @@ -4034,8 +4040,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 +4065,7 @@ Function101a21: ; 101a21 ld a, $1 ld [wc2d7], a callba BattleIntro - callba SendOutFirstMons + callba DoBattle callba ShowLinkBattleParticipantsAfterEnd xor a ld [wc2d7], a @@ -4088,7 +4094,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 +4163,7 @@ Function101aed: ; 101aed ; 101b0f Function101b0f: ; 101b0f - ld c, $0 + ld c, 0 call Function10142c ld e, $3 call Function101ee4 @@ -4166,7 +4172,7 @@ Function101b0f: ; 101b0f ld a, [wcd25] inc a ld [wcd25], a - ld a, $0 + ld a, 0 ld [wcd26], a ret ; 101b2b @@ -4179,9 +4185,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 +4225,7 @@ Function101b70: ; 101b70 ld a, [wcd25] inc a ld [wcd25], a - ld a, $0 + ld a, 0 ld [wcd26], a ret ; 101b8f @@ -4232,9 +4238,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 +4266,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 +4282,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 +4361,7 @@ Function101c62: ; 101c62 ld a, [wcd25] inc a ld [wcd25], a - ld a, $0 + ld a, 0 ld [wcd26], a ret ; 101c92 @@ -4378,7 +4384,7 @@ Function101ca0: ; 101ca0 ld a, [wcd25] inc a ld [wcd25], a - ld a, $0 + ld a, 0 ld [wcd26], a ret ; 101cbc @@ -4465,7 +4471,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 +4524,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 +4537,7 @@ Function101d95: ; 101d95 ld a, [wcd25] inc a ld [wcd25], a - ld a, $0 + ld a, 0 ld [wcd26], a ret ; 101db2 @@ -4646,7 +4652,7 @@ Function101e4f: ; 101e4f ld a, [wcd25] inc a ld [wcd25], a - ld a, $0 + ld a, 0 ld [wcd26], a ret ; 101e64 @@ -4890,7 +4896,7 @@ Function102080: ; 102080 ret .asm_10208a - ld [hl], $0 + ld [hl], 0 scf ret ; 10208e @@ -4900,7 +4906,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 +4915,7 @@ Function10208e: ; 10208e Function10209c: ; 10209c ld a, $ff ld hl, wdc42 - ld bc, $0008 + ld bc, 8 call ByteFill ret ; 1020a8 @@ -4934,7 +4940,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 +5004,7 @@ Function102112: ; 102112 .asm_10212f pop hl - ld de, $0025 + ld de, $25 add hl, de dec c jr nz, .asm_10211c @@ -5043,7 +5049,7 @@ Function102142: ; 102142 Function102180: ; 102180 ld hl, wc608 + 1 ld de, StringBuffer2 - ld bc, $000b + ld bc, 11 call CopyBytes ret ; 10218d @@ -5051,7 +5057,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,7 +5123,7 @@ UnknownText_0x1021f4: Function1021f9: ; 1021f9 call Function102233 - ld a, $0 + ld a, 0 ld [wcd49], a ld hl, wcd29 bit 3, [hl] @@ -5151,7 +5157,7 @@ Function1021f9: ; 1021f9 Function102233: ; 102233 ld hl, wcd49 - ld bc, $000a + ld bc, 10 xor a call ByteFill call Function10304f @@ -5197,7 +5203,7 @@ Function102274: ; 102274 bit 3, [hl] ret z res 3, [hl] - ld de, $0008 + ld de, 8 call PlaySFX ret ; 102283 @@ -5370,7 +5376,7 @@ Function102387: ; 102387 call Function102d9a call Function102dd3 ld a, $1 - ld [MenuSelection2], a + ld [wMenuCursorY], a Function1023a1: ; 1023a1 call Function102283 @@ -5401,12 +5407,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 +5425,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 +5452,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 +5466,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 +5508,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 +5561,7 @@ Function1024de: ; 1024de ret z .asm_1024e9 - ld a, $0 + ld a, 0 ld [wcd4a], a ld a, [wcd49] inc a @@ -5564,7 +5570,7 @@ Function1024de: ; 1024de ; 1024f6 Function1024f6: ; 1024f6 - call Function1bee + call PlaceHollowCursor ld hl, wcd4b set 1, [hl] ld a, [wcd4c] @@ -5608,7 +5614,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 +5639,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 +5654,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,8 +5722,8 @@ 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 @@ -5736,20 +5742,20 @@ Function1025ff: ; 1025ff ret .asm_10262e - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld b, a ld a, [OTPartyCount] cp b ret nz - call Function1bf7 + call HideCursor ld a, [PartyCount] - ld [MenuSelection2], a + ld [wMenuCursorY], a ld a, $1d ld [wcd49], a ret .asm_102646 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp $1 ret nz ld a, $23 @@ -5778,8 +5784,8 @@ 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 @@ -5798,16 +5804,16 @@ Function10266b: ; 10266b ret .asm_10269a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ret nz - call Function1bf7 + call HideCursor ld a, $1f ld [wcd49], a ret .asm_1026a8 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld b, a ld a, [PartyCount] cp b @@ -5823,7 +5829,7 @@ Function1026b7: ; 1026b7 ld a, [wcd49] inc a ld [wcd49], a - ld a, $0 + ld a, 0 ld [wcd4a], a Function1026c8: ; 1026c8 @@ -5842,7 +5848,7 @@ Jumptable_1026da: ; 1026da ; 1026de Function1026de: ; 1026de - call Function1bf7 + call HideCursor hlcoord 9, 17 ld [hl], $ed ld a, [wcd4a] @@ -5867,7 +5873,7 @@ Function1026f3: ; 1026f3 hlcoord 9, 17 ld [hl], $7f ld a, $1 - ld [MenuSelection2], a + ld [wMenuCursorY], a ld a, $1d ld [wcd49], a ret @@ -5876,7 +5882,7 @@ Function1026f3: ; 1026f3 hlcoord 9, 17 ld [hl], $7f ld a, [OTPartyCount] - ld [MenuSelection2], a + ld [wMenuCursorY], a ld a, $1f ld [wcd49], a ret @@ -5896,14 +5902,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 @@ -5987,7 +5993,7 @@ asm_1027c6: asm_1027d1: ld hl, wcd4b set 3, [hl] - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wcd4c], a ld a, $7 ld [wcd49], a @@ -6006,7 +6012,7 @@ Function1027eb: ; 1027eb ld c, $12 ld d, h ld e, l - callba Function16d61d + callba _LinkTextbox ld de, String_102804 hlcoord 2, 16 call PlaceString @@ -6018,7 +6024,7 @@ String_102804: ; 102804 ; 102814 Function102814: ; 102814 - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [wcd52], a ld a, [wcd4c] dec a @@ -6030,7 +6036,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] @@ -6070,7 +6076,7 @@ Function10286f: ; 10286f call Function1028fc ret nc ld a, [wcd52] - ld [MenuSelection2], a + ld [wMenuCursorY], a ld a, [wcd51] cp $8 jr nz, .asm_102886 @@ -6086,7 +6092,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 @@ -6102,7 +6108,7 @@ Function1028a5: ; 1028a5 Function1028ab: ; 1028ab ld a, [wcd52] - ld [MenuSelection2], a + ld [wMenuCursorY], a call Function102f15 ld hl, wcd4b set 1, [hl] @@ -6144,7 +6150,7 @@ Function1028e8: ; 1028e8 res 6, [hl] ld [wcd50], a callba Function100641 - ld a, $0 + ld a, 0 ld [wcd4a], a ret ; 1028fc @@ -6161,7 +6167,7 @@ Function1028fc: ; 1028fc ld hl, Jumptable_102917 rst JumpTable ret nc - ld a, $0 + ld a, 0 ld [wcd4a], a ret ; 102917 @@ -6179,7 +6185,7 @@ Function102921: ; 102921 ld hl, Jumptable_10292f rst JumpTable ret nc - ld a, $0 + ld a, 0 ld [wcd4a], a ret ; 10292f @@ -6217,7 +6223,7 @@ Function10294f: ; 10294f Function10295d: ; 10295d call Function10299e - ld a, $0 + ld a, 0 ld [wcd27], a ld a, [wcd4a] inc a @@ -6298,18 +6304,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 +6326,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 +6354,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 +6407,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 +6452,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 +6479,7 @@ Function102b32: ; 102b32 dec a ld [CurPartyMon], a ld a, $1 - ld [wd1e9], a + ld [wForceEvolution], a callba EvolvePokemon call Function102d9a call Function102dd3 @@ -6479,65 +6490,73 @@ Function102b32: ; 102b32 Function102b4e: ; 102b4e ld a, $1 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 +6575,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 +6610,7 @@ Function102c07: ; 102c07 Function102c14: ; 102c14 ld hl, PartySpecies ld de, OTPartySpecies - ld bc, $0001 + ld bc, 1 call Function102c71 ret ; 102c21 @@ -6599,7 +6618,7 @@ Function102c14: ; 102c14 Function102c21: ; 102c21 ld hl, PartyMonNicknames ld de, OTPartyMonNicknames - ld bc, $000b + ld bc, 11 call Function102c71 ret ; 102c2e @@ -6607,7 +6626,7 @@ Function102c21: ; 102c21 Function102c2e: ; 102c2e ld hl, PartyMonOT ld de, OTPartyMonOT - ld bc, $000b + ld bc, 11 call Function102c71 ret ; 102c3b @@ -6615,23 +6634,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 +6680,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 +6698,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 +6718,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 +6734,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 +6744,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 +6793,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 +6831,7 @@ Function102dc3: ; 102dc3 ld c, $12 ld d, h ld e, l - callba Function16d61d + callba _LinkTextbox ret ; 102dd3 @@ -6822,7 +6841,7 @@ Function102dd3: ; 102dd3 ld hl, VTiles0 lb bc, BANK(GFX_1032a2), 4 call Get2bpp - callba Function16d421 + callba __LoadTradeScreenBorder call EnableLCD ret ; 102dec @@ -6830,7 +6849,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 +6874,7 @@ Function102e07: ; 102e07 ld c, $b ld d, h ld e, l - callba Function16d61d + callba _LinkTextbox .asm_102e28 ld de, String_102e32 @@ -6881,13 +6900,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 +6921,7 @@ Function102e4f: ; 102e4f ; 102e86 Function102e86: ; 102e86 - ld c, $0 + ld c, 0 .asm_102e88 ld a, [de] cp $ff @@ -6920,7 +6939,7 @@ Function102e86: ; 102e86 pop de inc de pop hl - ld bc, $0014 + ld bc, $14 add hl, bc pop bc inc c @@ -6932,7 +6951,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 +6959,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 +7044,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 +7219,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 @@ -7245,77 +7264,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 +7347,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 +7421,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 +7497,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 +7518,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 +7535,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 +7565,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 +7575,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 +7642,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 @@ -7696,28 +7715,28 @@ Unknown_1035d7: ; 1035d7 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 +7751,10 @@ AskMobileOrCable: ; 103612 ld [wMenuCursorBuffer], a .skip_load - call InterpretMenu2 + call VerticalMenu call WriteBackup jr c, .pressed_b - ld a, [MenuSelection2] + ld a, [wMenuCursorY] ld [ScriptVar], a ld c, a ld a, [wdc40] @@ -7788,7 +7807,7 @@ Mobile_SelectThreeMons: ; 10366e call PrintText call YesNoBox jr c, .asm_103696 - callba Function8b1e1 + callba CheckForMobileBattleRules jr nc, .asm_103690 call JoyWaitAorB jr .asm_103696 @@ -7820,10 +7839,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 +7852,7 @@ Mobile_SelectThreeMons: ; 10366e jr .asm_1036b5 .asm_1036d9 - callba Function8b1e1 + callba CheckForMobileBattleRules jr nc, .asm_1036e6 call JoyWaitAorB jr .asm_1036f4 @@ -7959,7 +7978,7 @@ Function103780: ; 103780 ; 10378c Function10378c: ; 10378c - ld c, $0 + ld c, 0 ld hl, SwarmFlags bit 4, [hl] jr nz, .already_set @@ -8089,7 +8108,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 diff --git a/misc/mobile_41.asm b/misc/mobile_41.asm index 69abe1cd2..d86146a0d 100755 --- a/misc/mobile_41.asm +++ b/misc/mobile_41.asm @@ -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 @@ -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..41e31281c 100644 --- a/misc/mobile_42.asm +++ b/misc/mobile_42.asm @@ -1,15 +1,18 @@ - -SECTION "bank42", ROMX, BANK[$42] - Function108000: ; 108000 ld a, $80 ld [wcf65], a ld de, Unknown_10800b - jp Function108089 + jp RunMobileTradeAnim_NoFrontpics ; 10800b Unknown_10800b: - db $0d, $12, $10, $03, $06, $0f, $0c + mobiletradeanim_showwondertradegivemon + mobiletradeanim_12 + mobiletradeanim_10 + mobiletradeanim_sendmon + mobiletradeanim_06 + mobiletradeanim_0f + mobiletradeanim_end Function108012: ld a, $80 @@ -20,11 +23,15 @@ Function108016: ; 108016 asm_108018: ld [wcf65], a ld de, Unknown_108021 - jp Function108089 + jp RunMobileTradeAnim_NoFrontpics ; 108021 Unknown_108021: - db $11, $07, $08, $0e, $0c + mobiletradeanim_11 + mobiletradeanim_07 + mobiletradeanim_receivemon + mobiletradeanim_showwondertradegetmon + mobiletradeanim_end Function108026: ; 108026 ld a, $0 @@ -36,34 +43,47 @@ Function10802a: ; 10802a asm_10802c: ld [wcf65], a ld de, Unknown_108035 - jp Function10805b + jp RunMobileTradeAnim_Frontpics ; 108035 -Unknown_108035: - db $01, $12, $02, $03, $05, $08, $0b, $0c +Unknown_108035: ; 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 + jp RunMobileTradeAnim_NoFrontpics ; 108048 Unknown_108048: - db $11, $07, $08, $13, $0c + mobiletradeanim_11 + mobiletradeanim_07 + mobiletradeanim_receivemon + mobiletradeanim_showoddegg + mobiletradeanim_end Function10804d: ; 10804d ld a, $0 ld [wcf65], a ld de, Unknown_108058 - jp Function108089 + jp RunMobileTradeAnim_NoFrontpics ; 108058 Unknown_108058: - db $11, $0e, $0c + mobiletradeanim_11 + mobiletradeanim_showwondertradegetmon + 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 + jumptable_start + jumptable GetMobileTradeAnimByte ; 00 + jumptable MobileTradeAnim_ShowPlayerMonToBeSent ; 01 + jumptable MobileTradeAnim_02 ; 02 + jumptable MobileTradeAnim_GiveTrademon1 ; 03 + jumptable MobileTradeAnim_GiveTrademon2 ; 04 + jumptable MobileTradeAnim_05 ; 05 + jumptable MobileTradeAnim_06 ; 06 + jumptable MobileTradeAnim_07 ; 07 + jumptable MobileTradeAnim_GetTrademon1 ; 08 + jumptable MobileTradeAnim_GetTrademon2 ; 09 + jumptable MobileTradeAnim_GetTrademon3 ; 0a + jumptable MobileTradeAnim_ShowOTMonFromTrade ; 0b + jumptable EndMobileTradeAnim ; 0c + jumptable MobileTradeAnim_ShowPlayerMonForWonderTrade ; 0d + jumptable MobileTradeAnim_ShowOTMonFromWonderTrade ; 0e + jumptable MobileTradeAnim_0f ; 0f + jumptable MobileTradeAnim_10 ; 10 + jumptable MobileTradeAnim_11 ; 11 + jumptable MobileTradeAnim_FadeToBlack ; 12 + jumptable 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_ShowPlayerMonForWonderTrade: ; 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_ShowOTMonFromWonderTrade: ; 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,16 +1656,16 @@ 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 @@ -1643,26 +1674,26 @@ Function108c40: ; 108c40 ld a, [wcf65] and $80 jr z, .asm_108c57 - ld hl, UnknownText_0x108c68 + ld hl, .CameBack call PrintText - ld c, $50 + ld c, 80 call DelayFrames ret .asm_108c57 - ld hl, UnknownText_0x108c63 + 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..de5cccb31 100644 --- a/misc/mobile_45.asm +++ b/misc/mobile_45.asm @@ -5662,7 +5662,7 @@ Function1161d5: ; 1161d5 ld [rSVBK], a ld hl, Unknown_117356 - ld de, w6_d000 + ld de, wDecompressScratch ld bc, $0300 call CopyBytes @@ -5755,9 +5755,9 @@ 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 [MusicFadeIDHi], a ld a, [wc314 + 5] inc a ld [wc314 + 5], a @@ -5781,13 +5781,13 @@ Function116294: ; 116294 push af ld a, $5 ld [rSVBK], a - ld hl, wd030 + ld hl, UnknBGPals + 8 * 6 ld de, wc314 + 12 - ld bc, $0010 + 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 @@ -5807,8 +5807,8 @@ Function1162cb: ; 1162cb 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 +5821,7 @@ Function1162f2: ; 1162f2 call Function116758 call Function1167a6 ld a, [wc310] - cp $fd + cp EGG ret z sla a ld c, a @@ -5934,10 +5934,10 @@ 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 [wc30d], a @@ -5955,7 +5955,7 @@ Function1163c0: ; 1163c0 call ByteFill call DelayFrame callba Function14146 - ld b, SCGB_09 + ld b, SCGB_MAPPALS call GetSGBLayout ld a, [rSVBK] push af @@ -5981,19 +5981,19 @@ 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 @@ -6009,10 +6009,10 @@ 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 [wc30d], a @@ -7712,7 +7712,7 @@ Function117699: ; 117699 (45:7699) call ClearSprites callba Function171c87 callba ReloadMapPart - callba Function8cf53 + callba ClearSpriteAnims ret Function1176ee: ; 1176ee (45:76ee) @@ -7721,11 +7721,11 @@ Function1176ee: ; 1176ee (45:76ee) bit 7, a jr nz, .asm_117709 call Function117719 - callba Function8cf69 + callba PlaySpriteAnimations callba ReloadMapPart jr Function1176ee .asm_117709 - callba Function8cf53 + callba ClearSpriteAnims call ClearBGPalettes call ClearScreen call ClearSprites diff --git a/misc/mobile_46.asm b/misc/mobile_46.asm index 836da4fa0..43810dc89 100755 --- a/misc/mobile_46.asm +++ b/misc/mobile_46.asm @@ -486,10 +486,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 +516,7 @@ Function118440: ; 118440 Function118452: ; 118452 di xor a - ld [hFFC9], a + ld [hMobileReceive], a ld [hMobile], a ld [hVBlank], a call NormalSpeed @@ -1071,7 +1071,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 @@ -1295,7 +1295,7 @@ Function118936: ld a, $40 or [hl] ld [hl], a - call Function3200 + call WaitBGMap2 ld a, $1 ld [wcd4f], a ld a, $1 @@ -1466,7 +1466,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 +1476,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 +1486,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 +1498,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 +1508,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 +1518,7 @@ Function118ad0: ld de, wcc60 ld bc, $80 call CopyBytes - ld de, UnknBGPals + ld de, w3_d000 ld bc, $1000 jr Function118b10 @@ -1663,7 +1663,8 @@ IndexDownloadURL: ; 0x118ce5 Function118d35: ; 118d35 - ld hl, LYOverridesBackup +; unreferenced + ld hl, $d200 ld a, [wcd38] and a jr nz, .asm_118d6e @@ -1739,7 +1740,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 +1761,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 @@ -1894,7 +1895,7 @@ Function118e92: ; 118e92 ld de, wcc60 call Function1191ad ret c - ld de, $d800 + ld de, w3_d800 ld bc, $0800 jp Function118b10 ; 118eb0 @@ -2105,7 +2106,7 @@ Function119009: ld a, $40 ld [wcd89], a ld hl, wc314 + 48 + 2 - ld de, UnknBGPals + ld de, w3_d000 ld bc, $1000 ld a, $2c jp Function119e2b @@ -2119,9 +2120,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 +2132,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 +2179,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 +2199,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 +2212,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 @@ -2330,7 +2331,7 @@ Function1191ad: ; 1191ad ; 1191d3 Function1191d3: ; 1191d3 - ld hl, wd102 + ld hl, w3_d100 + 2 ld a, l ld [wcd53], a ld a, h @@ -2678,7 +2679,7 @@ Function1193fb: ld a, $8 ld [wcd3c], a call Function119ed8 - ld de, UnknBGPals + ld de, w3_d000 ld bc, $1000 jp Function118b10 ; 119413 @@ -2686,9 +2687,9 @@ 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 @@ -2707,7 +2708,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 @@ -3043,7 +3044,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 @@ -3338,7 +3339,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 +3348,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] @@ -3459,7 +3460,7 @@ Function1198f7: 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 +3481,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 +3537,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 +3557,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 +3591,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 @@ -3694,27 +3695,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] @@ -3738,7 +3739,7 @@ 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 +3749,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 +3777,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 +3792,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 @@ -3887,7 +3888,7 @@ endr ld [$a800], a call CloseSRAM xor a - ld [StringBuffer2 + 10], a + ld [w3_d090], a ret .asm_119bfa @@ -3896,10 +3897,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 +3908,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 +3954,7 @@ Function119c3e: ; 119c3e ld [$a800], a call CloseSRAM xor a - ld [StringBuffer2 + 10], a + ld [w3_d090], a scf ret @@ -4108,7 +4109,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 +4120,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 +4145,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 @@ -4210,7 +4213,7 @@ Unknown_119e40: Function119e4f: ; 119e4f push bc - ld hl, LYOverrides + ld hl, w3_d100 ld a, [hli] ld c, a ld a, [hli] @@ -4529,7 +4532,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 +4542,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 +4563,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 +4586,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 @@ -5267,7 +5270,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 +5296,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 @@ -5687,11 +5690,11 @@ Function11a9c0: ; 11a9c0 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 @@ -5844,9 +5847,9 @@ UnknownText_0x11ac1f: ; 0x11ac1f Function11ac3e: ; 11ac3e call SpeechTextBox call FadeToMenu - callab ClearSpriteAnims + callab ClearSpriteAnims2 call Function11ac51 - call ReturnToCallingMenu + call CloseSubmenu ret ; 11ac51 @@ -5882,9 +5885,9 @@ 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 @@ -5958,12 +5961,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 +5987,7 @@ Function11ad1b: ; 11ad1b ld [wcd30], a ld a, $2 ld [wc7d4], a - callba Function40bdc + callba Pokedex_ChangeMode ret ; 11ad6e @@ -6027,12 +6030,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 +6062,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 +6078,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 +6152,7 @@ Function11ae4e: ; 11ae4e callba ReloadMapPart call Function11ad8a ld a, $1 - ld [MenuSelection2], a + ld [wMenuCursorY], a ld hl, Unknown_11afd2 call Function11afb7 @@ -6180,13 +6183,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 +6199,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 +6243,7 @@ Function11af04: ; 11af04 callba ReloadMapPart call Function11ad8a ld a, $2 - ld [MenuSelection2], a + ld [wMenuCursorY], a ld hl, Unknown_11afd2 call Function11afb7 @@ -6271,13 +6274,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 +6290,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,7 +6320,7 @@ Function11afbb: ld e, $7f asm_11afbd: - ld a, [MenuSelection2] + ld a, [wMenuCursorY] dec a ld c, a ld b, 0 @@ -6343,20 +6346,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 +6416,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 +6488,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 +6527,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 +6586,7 @@ Function11b0ff: ; 11b0ff .asm_11b131 call Function11b20b - call Function11b22a + call CheckSeenMemMon jr z, .asm_11b13d ld a, $1 jr .asm_11b148 @@ -6764,7 +6770,7 @@ Function11b20b: ; 11b20b ret ; 11b21e -Function11b21e: ; 11b21e +CheckCaughtMemMon: ; 11b21e push de push hl ld a, [wd265] @@ -6775,7 +6781,7 @@ Function11b21e: ; 11b21e ret ; 11b22a -Function11b22a: ; 11b22a +CheckSeenMemMon: ; 11b22a push de push hl ld a, [wd265] @@ -6846,7 +6852,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 +6875,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 +6888,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 +6949,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 +7056,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 +7102,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 +7115,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 +7169,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 @@ -7134,12 +7196,12 @@ Function11b44b: ; 11b44b ; 11b45c Function11b45c: ; 11b45c -.asm_11b45c +.loop call Function11b46a call DelayFrame ld a, [wJumptableIndex] - cp $4 - jr nz, .asm_11b45c + cp 4 + jr nz, .loop ret ; 11b46a @@ -7162,14 +7224,14 @@ Jumptable_11b479: ; 11b479 dw Function11b570 dw Function11b5c0 dw Function11b5e0 - dw Function11b5e7 + dw Function11b5e7 ; unused ; 11b483 Function11b483: ; 11b483 call Function11b538 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 +7239,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,24 +7264,25 @@ 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 @@ -7232,20 +7296,20 @@ endr 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 +7317,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 +7339,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 +7362,45 @@ 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 + 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,11 +7411,11 @@ Function11b570: ; 11b570 call Function118007 ld a, [ScriptVar] and a - jr nz, .asm_11b57f + jr nz, .exit call Function11b585 jp Function11ad8a -.asm_11b57f +.exit ld a, $4 ld [wJumptableIndex], a ret @@ -7353,9 +7424,9 @@ Function11b570: ; 11b570 Function11b585: ; 11b585 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 @@ -7366,7 +7437,7 @@ Function11b585: ; 11b585 ld [de], a inc de ld hl, $c608 - ld bc, $008f + ld bc, w3_d88f - w3_d800 call CopyBytes push de pop hl @@ -7387,8 +7458,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 @@ -7480,7 +7551,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 +7575,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,26 +7594,32 @@ Function11b6b4: ; 11b6b4 ld [wc708], a ld a, [wcd31] ld [wc709], a - ld a, $8 - ld [BGMapBuffer], a - ld a, $c7 + + ld a, $c708 % $100 + ld [wcd20], a + ld a, $c708 / $100 ld [wcd21], a - ld a, $d - ld [CreditsTimer], a - ld a, $c6 + + ld a, $c60d % $100 ; Partymon Struct + ld [wcd22], a + ld a, $c60d / $100 ld [wcd23], a - ld a, $3d + + ld a, $c63d % $100 ; OT ld [wcd24], a - ld a, $c6 + ld a, $c63d / $100 ld [wcd25], a - ld a, $42 + + ld a, $c642 % $100 ; Nickname ld [wcd26], a - ld a, $c6 + ld a, $c642 / $100 ld [wcd27], a - ld a, $47 + + ld a, $c647 % $100 ; ??? ld [wcd28], a - ld a, $c6 + ld a, $c647 / $100 ld [wcd29], a + ld a, $46 ld [$c628], a ld de, $c63d @@ -7622,22 +7699,22 @@ Function11b6b4: ; 11b6b4 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, $c617 + ld de, $c631 ld b, $1 predef CalcPkmnStats - ld de, $c62c + 5 - ld hl, $c62c + 3 + ld de, $c631 + ld hl, $c62f ld a, [de] ld [hli], a inc de @@ -7648,36 +7725,36 @@ Function11b6b4: ; 11b6b4 ; 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, [$c613] ; id + ld [wOTTrademonID], a + ld a, [$c613 + 1] + ld [wOTTrademonID + 1], a + ld hl, $c622 ; 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 Function17d1f1 ld a, $1 - ld [wd1e9], a + ld [wForceEvolution], a ld a, $2 ld [wLinkMode], a callba EvolvePokemon @@ -7701,13 +7778,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 diff --git a/misc/mobile_5b.asm b/misc/mobile_5b.asm index 19d192aeb..735297e8b 100755 --- a/misc/mobile_5b.asm +++ b/misc/mobile_5b.asm @@ -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..2c1972c1a 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,7 +326,7 @@ Function17d0f3: ; 17d0f3 ld [de], a .asm_17d180 - call ReturnToCallingMenu + call CloseSubmenu call RestartMapMusic ret ; 17d187 @@ -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 @@ -461,20 +461,20 @@ Special_Menu_ChallengeExplanationCancel: ; 17d224 ; 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 @@ -802,7 +802,7 @@ Function17d48d: ; 17d48d jr z, .asm_17d4e0 ld a, e ld [wcd6c], a - ld [wc2c0], a + ld [wMapMusic], a ld d, $0 call PlayMusic2 @@ -1933,16 +1933,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 pop af ld [rSVBK], a - ld a, [MenuSelection2] + ld a, [wMenuCursorY] cp $1 jr nz, .asm_17dc85 ld a, [$c68a] diff --git a/misc/mobile_menu.asm b/misc/mobile_menu.asm new file mode 100755 index 000000000..0286921c2 --- /dev/null +++ b/misc/mobile_menu.asm @@ -0,0 +1,882 @@ +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 +rept 2 + ld [hli], a ; wMenuCursorY, wMenuCursorX +endr + 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 +rept 2 + ld [hli], a +endr + 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 1, a + jr nz, .asm_4a33b + ld a, [wMenuCursorY] + cp $2 + jr z, .asm_4a2f0 + cp $3 + jr z, .asm_4a33b +.asm_4a2df + callba Function11765d + call ClearBGPalettes + call Call_ExitMenu + call LoadFontsExtra + scf + ret +.asm_4a2f0 + call PlaceHollowCursor + ld hl, UnknownText_0x4a358 + call PrintText + hlcoord 14, 7 + ld b, $3 + ld c, $4 + call TextBox + callba Function104148 + ld hl, MenuDataHeader_0x4a362 + call LoadMenuDataHeader + call VerticalMenu + bit 1, a + jr nz, .asm_4a338 + ld a, [wMenuCursorY] + cp $2 + jr z, .asm_4a338 + ld a, $5 + call GetSRAMBank + ld hl, $aa4b + xor a + ld bc, $11 + call ByteFill + call CloseSRAM + ld hl, UnknownText_0x4a35d + call PrintText + call JoyWaitAorB +.asm_4a338 + call ExitMenu +.asm_4a33b + 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 + +MenuDataHeader_0x4a362: ; 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 +rept 2 + ld [hli], a +endr + 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 +rept 2 + ld [hli], a +endr + 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 |