diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2019-04-11 19:21:51 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-11 19:21:51 -0400 |
commit | 24bb85896d9e670c0fa419dc7cb6c96b5d0806c7 (patch) | |
tree | eba61257e555461f5d9662fea9477561bef51adf | |
parent | 532907559304e1b32f8efa76e2fb8a2fc526ec02 (diff) | |
parent | c85f726224bbe53502ba98557d2c89eef89d7fbd (diff) |
Merge pull request #47 from PikalaxALT/roamer
Roamer
84 files changed, 1100 insertions, 1396 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s index abaad7e85..6ae993e27 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -253,7 +253,7 @@ sub_800F380: @ 800F380 cmp r0, 0 beq _0800F3EA movs r0, 0x70 - bl sub_80F77CC + bl Menu_LoadStdPalAt movs r0, 0 movs r1, 0x30 movs r2, 0x70 diff --git a/asm/battle_2.s b/asm/battle_2.s index e5827747b..ec9fa32a3 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -45,11 +45,11 @@ _0800FDD8: cmp r1, 0 beq _0800FDFE movs r0, 0x19 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0800FE1C _0800FDFE: movs r0, 0x18 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0800FE1C _0800FE06: movs r0, 0x80 @@ -57,11 +57,11 @@ _0800FE06: cmp r1, 0 beq _0800FE16 movs r0, 0x1A - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0800FE1C _0800FE16: movs r0, 0x17 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _0800FE1C: pop {r4} pop {r0} diff --git a/asm/battle_message.s b/asm/battle_message.s index 183306f97..9505d542b 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -2863,7 +2863,7 @@ _080D894A: movs r3, 0x1 b _080D8960 _080D8958: - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r3, r0, 24 _080D8960: diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 050c42606..8b639487f 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -1974,7 +1974,7 @@ _0813DC86: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x6 bl sub_813EA08 adds r4, r0, 0 @@ -3642,7 +3642,7 @@ sub_813EB20: @ 813EB20 bl AddWindow strb r0, [r4, 0x5] _0813EB44: - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 ldrb r1, [r4, 0x5] diff --git a/asm/buy_menu_helpers.s b/asm/buy_menu_helpers.s index 734e648b3..224bfa20c 100644 --- a/asm/buy_menu_helpers.s +++ b/asm/buy_menu_helpers.s @@ -141,7 +141,7 @@ sub_813F75C: @ 813F75C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 str r4, [sp] diff --git a/asm/cable_club.s b/asm/cable_club.s index 45967283c..a403aa659 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -91,7 +91,7 @@ sub_80807E8: @ 80807E8 lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame adds r0, r4, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/credits.s b/asm/credits.s index bf8c5eeac..0413aac97 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -241,7 +241,7 @@ _080F3B5E: bl sub_80F3A74 bl sub_80F3AA4 movs r0, 0xF0 - bl sub_80F77CC + bl Menu_LoadStdPalAt ldr r0, _080F3BC8 @ =gPlttBufferUnfaded movs r2, 0xFF lsls r2, 1 @@ -325,7 +325,7 @@ _080F3C64: bl sub_80F3AA4 bl sub_80F3AC4 movs r0, 0xF0 - bl sub_80F77CC + bl Menu_LoadStdPalAt ldr r0, _080F3C8C @ =gPlttBufferUnfaded movs r2, 0xFF lsls r2, 1 diff --git a/asm/daycare.s b/asm/daycare.s index 3b7d7ffe0..c19aa1bdf 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -3011,7 +3011,7 @@ _08046A46: bl sub_810713C ldrb r0, [r4, 0xA] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4, 0xA] bl RemoveWindow adds r0, r5, 0 @@ -3035,7 +3035,7 @@ _08046A7C: bl sub_810713C ldrb r0, [r4, 0xA] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4, 0xA] bl RemoveWindow adds r0, r5, 0 @@ -3060,7 +3060,7 @@ ShowDaycareLevelMenu: @ 8046AB8 lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame mov r1, sp ldr r0, _08046B1C @ =gUnknown_825F814 ldm r0!, {r2,r3,r5} diff --git a/asm/field_effect.s b/asm/field_effect.s index 5aa0772dd..785e36266 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -2542,7 +2542,7 @@ sub_8084708: @ 8084708 movs r0, 0x8 bl SetPlayerAvatarTransitionFlags movs r0, 0x16 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _08084760: ldr r0, _08084780 @ =sub_8084484 bl FindTaskIdByFunc @@ -7213,7 +7213,7 @@ sub_8086B30: @ 8086B30 lsrs r0, 24 bl DestroyTask movs r0, 0x16 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _08086B96: pop {r4,r5} pop {r0} diff --git a/asm/field_message_box.s b/asm/field_message_box.s index 78a5f8c8c..46f4c3f8e 100644 --- a/asm/field_message_box.s +++ b/asm/field_message_box.s @@ -83,7 +83,7 @@ _080693D4: _080693DA: movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame _080693E2: ldrh r0, [r5, 0x8] adds r0, 0x1 @@ -250,7 +250,7 @@ HideFieldMessageBox: @ 80694F4 bl task_del_textbox movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame ldr r1, _0806950C @ =gUnknown_203709C movs r0, 0 strb r0, [r1] @@ -293,7 +293,7 @@ sub_8069538: @ 8069538 bl task_del_textbox movs r0, 0 movs r1, 0x1 - bl sub_80F6F1C + bl DrawStdWindowFrame ldr r1, _08069550 @ =gUnknown_203709C movs r0, 0 strb r0, [r1] diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index df2588587..b7824ee84 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -4769,7 +4769,7 @@ _0805D748: strh r6, [r0, 0x26] movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame ldrh r0, [r5, 0xA] adds r0, 0x1 strh r0, [r5, 0xA] @@ -5043,7 +5043,7 @@ sub_805D980: @ 805D980 bl UnfreezeMapObjects movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame ldr r0, _0805D9C0 @ =sub_805D304 bl FindTaskIdByFunc lsls r0, 24 diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s index 734c7495d..24ca7a19a 100644 --- a/asm/field_screen_effect.s +++ b/asm/field_screen_effect.s @@ -869,7 +869,7 @@ _0807F4A8: adds r7, r0, r1 strh r5, [r7, 0xA] movs r0, 0xF0 - bl sub_80F77CC + bl Menu_LoadStdPalAt adds r0, r5, 0 movs r1, 0 bl FillWindowPixelBuffer diff --git a/asm/field_specials.s b/asm/field_specials.s index 4c0b97151..e930a2ee7 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -756,7 +756,7 @@ sub_80CAB78: @ 80CAB78 bl VarGet lsls r0, 16 lsrs r0, 16 - bl sub_80CBD94 + bl GetStarterPokemon lsls r0, 16 lsrs r6, r0, 16 bl CalculatePlayerPartyCount @@ -3078,15 +3078,15 @@ _080CBD7C: .4byte gTasks sub_80CBD80: @ 80CBD80 push {lr} movs r0, 0x16 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 movs r0, 0x8 bl SetPlayerAvatarTransitionFlags pop {r0} bx r0 thumb_func_end sub_80CBD80 - thumb_func_start sub_80CBD94 -sub_80CBD94: @ 80CBD94 + thumb_func_start GetStarterPokemon +GetStarterPokemon: @ 80CBD94 push {lr} lsls r0, 16 lsrs r1, r0, 16 @@ -3094,31 +3094,31 @@ sub_80CBD94: @ 80CBD94 bls _080CBDA0 movs r1, 0 _080CBDA0: - ldr r0, _080CBDAC @ =gUnknown_83F5D2C + ldr r0, _080CBDAC @ =sStarterMon lsls r1, 1 adds r1, r0 ldrh r0, [r1] pop {r1} bx r1 .align 2, 0 -_080CBDAC: .4byte gUnknown_83F5D2C - thumb_func_end sub_80CBD94 +_080CBDAC: .4byte sStarterMon + thumb_func_end GetStarterPokemon - thumb_func_start sub_80CBDB0 -sub_80CBDB0: @ 80CBDB0 + thumb_func_start ScrSpecial_GetStarter +ScrSpecial_GetStarter: @ 80CBDB0 push {lr} ldr r0, _080CBDC8 @ =0x00004031 bl VarGet lsls r0, 16 lsrs r0, 16 - bl sub_80CBD94 + bl GetStarterPokemon lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 .align 2, 0 _080CBDC8: .4byte 0x00004031 - thumb_func_end sub_80CBDB0 + thumb_func_end ScrSpecial_GetStarter thumb_func_start sub_80CBDCC sub_80CBDCC: @ 80CBDCC @@ -5542,7 +5542,7 @@ sub_80CD098: @ 80CD098 str r3, [sp] movs r0, 0 movs r3, 0 - bl sub_8006300 + bl CreateTextCursorSpriteForOakSpeech ldr r1, _080CD0DC @ =gUnknown_2039A1B strb r0, [r1] b _080CD0E8 diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 5aa8a055c..c74165999 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -508,7 +508,7 @@ _080F21B2: bl memcpy movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _080F2214 @ =gUnknown_8419F54 movs r0, 0 str r0, [sp] @@ -723,7 +723,7 @@ _080F22F2: strh r0, [r1] movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame adds r4, r5 ldr r0, _080F239C @ =sub_80F23A0 str r0, [r4] @@ -1265,7 +1265,7 @@ _080F27AC: bl sub_80F33DC movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _080F27FC @ =gUnknown_84160C8 str r5, [sp] movs r0, 0x2 @@ -1607,7 +1607,7 @@ sub_80F2AA4: @ 80F2AA4 movs r1, 0x1E movs r2, 0 movs r3, 0xC - bl sub_810F558 + bl CreateWindow_SnapRight_StdPal movs r0, 0x3 bl Save_LoadGameData lsls r0, 24 @@ -1888,13 +1888,13 @@ _080F2CB4: ldrsh r0, [r4, r1] cmp r0, 0 bgt _080F2D24 - ldr r1, _080F2D20 @ =gUnknown_8415D78 + ldr r1, _080F2D20 @ =gText_UPDOWNPick_ABUTTONBBUTTONCancel movs r0, 0x1 str r0, [sp] adds r0, r5, 0 movs r2, 0 movs r3, 0 - bl sub_810F650 + bl Menu_PrintHelpSystemUIHeader b _080F2D34 .align 2, 0 _080F2D08: .4byte 0xffff0000 @@ -1903,15 +1903,15 @@ _080F2D10: .4byte gStringVar1 _080F2D14: .4byte gTasks _080F2D18: .4byte gStringVar4 _080F2D1C: .4byte gUnknown_84160B4 -_080F2D20: .4byte gUnknown_8415D78 +_080F2D20: .4byte gText_UPDOWNPick_ABUTTONBBUTTONCancel _080F2D24: - ldr r1, _080F2D54 @ =gUnknown_8415D60 + ldr r1, _080F2D54 @ =gText_UPDOWNPick_ABUTTONNext_BBUTTONBack movs r0, 0x1 str r0, [sp] adds r0, r5, 0 movs r2, 0 movs r3, 0 - bl sub_810F650 + bl Menu_PrintHelpSystemUIHeader _080F2D34: ldr r0, _080F2D58 @ =gTasks ldr r1, [sp, 0x14] @@ -1929,7 +1929,7 @@ _080F2D34: pop {r0} bx r0 .align 2, 0 -_080F2D54: .4byte gUnknown_8415D60 +_080F2D54: .4byte gText_UPDOWNPick_ABUTTONNext_BBUTTONBack _080F2D58: .4byte gTasks _080F2D5C: .4byte Task_HofPC_PrintMonInfo thumb_func_end sub_80F2B6C @@ -2339,13 +2339,13 @@ sub_80F30A4: @ 80F30A4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080F30FC @ =gUnknown_8415D8C + ldr r0, _080F30FC @ =gText_ABUTTONExit movs r1, 0x8 movs r2, 0x1 - bl sub_810F5E8 + bl PrintTextOnRightSnappedWindow movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _080F3100 @ =gUnknown_8416090 movs r0, 0 str r0, [sp] @@ -2374,7 +2374,7 @@ sub_80F30A4: @ 80F30A4 pop {r0} bx r0 .align 2, 0 -_080F30FC: .4byte gUnknown_8415D8C +_080F30FC: .4byte gText_ABUTTONExit _080F3100: .4byte gUnknown_8416090 _080F3104: .4byte gTasks _080F3108: .4byte Task_HofPC_ExitOnButtonPress @@ -3223,8 +3223,8 @@ _080F37C8: bl CopyBgTilemapBufferToVram b _080F3854 _080F381E: - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 b _080F3854 _080F3828: movs r1, 0x82 diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index bca296e67..b88a86b47 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -16,8 +16,8 @@ sub_812B1E0: @ 812B1E0 _0812B1EC: .4byte gUnknown_203B0EC thumb_func_end sub_812B1E0 - thumb_func_start sub_812B1F0 -sub_812B1F0: @ 812B1F0 + thumb_func_start HelpSystem_SetSomeVariable2 +HelpSystem_SetSomeVariable2: @ 812B1F0 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -44,7 +44,7 @@ _0812B218: bx r0 .align 2, 0 _0812B21C: .4byte gUnknown_203B0EC - thumb_func_end sub_812B1F0 + thumb_func_end HelpSystem_SetSomeVariable2 thumb_func_start sub_812B220 sub_812B220: @ 812B220 @@ -240,7 +240,7 @@ sub_812B35C: @ 812B35C cmp r0, 0 beq _0812B376 movs r0, 0x16 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B376: bl sub_812B2C4 @@ -248,7 +248,7 @@ _0812B376: cmp r0, 0 beq _0812B388 movs r0, 0x15 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B388: ldr r0, _0812B3B0 @ =gMapHeader @@ -268,7 +268,7 @@ _0812B388: bne _0812B3B8 _0812B3A8: movs r0, 0xE - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 .align 2, 0 _0812B3B0: .4byte gMapHeader @@ -279,36 +279,36 @@ _0812B3B8: cmp r1, r0 bne _0812B3C8 movs r0, 0xF - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B3C8: bl IsCurMapPokeCenter cmp r0, 0x1 bne _0812B3D8 movs r0, 0x10 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B3D8: bl sub_812B25C cmp r0, 0x1 bne _0812B3E8 movs r0, 0x11 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B3E8: bl sub_812B26C cmp r0, 0x1 bne _0812B3F8 movs r0, 0x12 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B3F8: movs r0, 0x13 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B400: movs r0, 0x14 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _0812B406: pop {r0} bx r0 diff --git a/asm/intro.s b/asm/intro.s index fd430031e..309b636c8 100644 --- a/asm/intro.s +++ b/asm/intro.s @@ -898,7 +898,7 @@ _080ECCF6: movs r1, 0x10 movs r2, 0x10 movs r3, 0 - bl OakSpeech_StartBlendTask + bl StartBlendTask b _080ECD36 .align 2, 0 _080ECD14: .4byte 0x00003f44 @@ -907,7 +907,7 @@ _080ECD18: bl ShowBg b _080ECD36 _080ECD20: - bl OakSpeech_IsBlendTaskActive + bl IsBlendTaskActive lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0 @@ -980,7 +980,7 @@ _080ECD9C: movs r1, 0x10 movs r2, 0x10 movs r3, 0 - bl OakSpeech_StartBlendTask + bl StartBlendTask strh r4, [r6, 0x8] strh r5, [r6, 0xA] strh r4, [r6, 0x12] @@ -992,7 +992,7 @@ _080ECDC4: str r0, [r6, 0x14] b _080ECE70 _080ECDCC: - bl OakSpeech_IsBlendTaskActive + bl IsBlendTaskActive lsls r0, 24 cmp r0, 0 bne _080ECE96 @@ -1051,10 +1051,10 @@ _080ECE26: movs r1, 0 movs r2, 0 movs r3, 0x10 - bl OakSpeech_StartBlendTask + bl StartBlendTask b _080ECE70 _080ECE52: - bl OakSpeech_IsBlendTaskActive + bl IsBlendTaskActive lsls r0, 24 cmp r0, 0 bne _080ECE96 diff --git a/asm/item_menu.s b/asm/item_menu.s index 4f753d49e..dcc74bafd 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -400,13 +400,13 @@ _081080DE: cmp r0, 0x3 bne _081080F4 movs r0, 0x1D - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _081080FA .align 2, 0 _081080F0: .4byte gUnknown_203ACFC _081080F4: movs r0, 0x9 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _081080FA: ldr r2, _08108114 @ =gPaletteFade ldrb r1, [r2, 0x8] @@ -2177,7 +2177,7 @@ sub_8108E70: @ 8108E70 strh r0, [r4, 0x14] movs r1, 0x11 bl FillWindowPixelBuffer - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 ldrb r1, [r4, 0x14] @@ -3715,7 +3715,7 @@ _08109AD4: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x6 movs r1, 0 bl sub_810B9DC diff --git a/asm/item_pc.s b/asm/item_pc.s index 9d7c3af52..f4a4176d9 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -257,7 +257,7 @@ _0810D608: b _0810D674 _0810D60E: movs r0, 0x1D - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0810D674 _0810D616: ldr r0, _0810D62C @ =gUnknown_203ADCC @@ -1880,7 +1880,7 @@ sub_810E274: @ 810E274 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow ldrh r0, [r6, 0x2] bl sub_810DD68 lsls r0, 16 @@ -2884,7 +2884,7 @@ sub_810EB30: @ 810EB30 adds r6, r2, 0 lsls r4, 24 lsrs r4, 24 - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 movs r2, 0xEB diff --git a/asm/item_use.s b/asm/item_use.s index fce57bc88..2b425dec2 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -203,7 +203,7 @@ sub_80A112C: @ 80A112C lsrs r4, 24 movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame adds r0, r4, 0 bl DestroyTask bl sub_80696C0 diff --git a/asm/itemfinder.s b/asm/itemfinder.s index bf3e78ebc..e510252ab 100644 --- a/asm/itemfinder.s +++ b/asm/itemfinder.s @@ -81,7 +81,7 @@ sub_813ED18: @ 813ED18 lsrs r4, 24 movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame bl sub_80696C0 bl ScriptContext2_Disable adds r0, r4, 0 @@ -970,7 +970,7 @@ sub_813F380: @ 813F380 bl sub_813F3FC movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame bl sub_80696C0 bl ScriptContext2_Disable adds r0, r4, 0 diff --git a/asm/learn_move.s b/asm/learn_move.s index 5068e6d16..fbb31d196 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -296,7 +296,7 @@ sub_80E48C0: @ 80E48C0 ldr r4, _080E48F0 @ =gStringVar4 adds r0, r4, 0 bl StringExpandPlaceholders - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 str r0, [sp] diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 01e93a41d..514e386ed 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -401,7 +401,7 @@ _08115B5C: bl CopyWindowToVram ldrb r0, [r5, 0xF] movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldr r0, _08115C58 @ =gUnknown_3005E70 adds r2, r0, 0 ldr r1, _08115C5C @ =gUnknown_8456D34 @@ -417,7 +417,7 @@ _08115B5C: strb r0, [r5, 0x12] ldrb r0, [r5, 0x11] movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldrb r0, [r5, 0x11] bl PutWindowTilemap ldrb r0, [r5, 0x11] @@ -1135,7 +1135,7 @@ sub_81161E4: @ 81161E4 bl ClearWindowTilemap ldrb r0, [r4, 0x11] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4, 0x12] movs r1, 0 movs r2, 0 @@ -1144,7 +1144,7 @@ sub_81161E4: @ 81161E4 bl ClearWindowTilemap ldrb r0, [r4, 0xF] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r4, 0x11] @@ -1919,7 +1919,7 @@ _08116838: bl CopyWindowToVram ldrb r0, [r6, 0xB] movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldr r0, _081168FC @ =gUnknown_3005E70 adds r2, r0, 0 ldr r1, _08116900 @ =gUnknown_8456DDC @@ -1935,7 +1935,7 @@ _08116838: strb r0, [r6, 0xE] ldrb r0, [r6, 0xD] movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldrb r0, [r6, 0xD] bl PutWindowTilemap ldrb r0, [r6, 0xD] @@ -2318,7 +2318,7 @@ _08116C10: bl ClearWindowTilemap ldrb r0, [r6, 0xD] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r6, 0xE] movs r1, 0 movs r2, 0 @@ -2327,7 +2327,7 @@ _08116C10: bl ClearWindowTilemap ldrb r0, [r6, 0xB] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r6, 0xD] @@ -8485,7 +8485,7 @@ sub_811A0B4: @ 811A0B4 bl sub_80F6E9C movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r0, _0811A0DC @ =gStringVar4 adds r1, r4, 0 bl StringExpandPlaceholders @@ -8531,7 +8531,7 @@ _0811A10A: bl sub_80F6E9C movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r0, _0811A12C @ =gStringVar4 adds r1, r5, 0 bl StringExpandPlaceholders @@ -8624,7 +8624,7 @@ sub_811A1AC: @ 811A1AC lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame adds r0, r4, 0 movs r1, 0xFF bl FillWindowPixelBuffer @@ -8659,7 +8659,7 @@ sub_811A1FC: @ 811A1FC lsrs r4, 24 adds r0, r4, 0 movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame adds r0, r4, 0 bl RemoveWindow pop {r4} @@ -8688,7 +8688,7 @@ _0811A234: strb r0, [r5] ldrb r0, [r5] movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldr r0, _0811A270 @ =gUnknown_3005E70 adds r2, r0, 0 ldr r1, [sp, 0x1C] @@ -8729,7 +8729,7 @@ _0811A274: bl sub_810713C ldrb r0, [r5] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r5] bl RemoveWindow movs r0, 0 @@ -8750,7 +8750,7 @@ _0811A2B0: bl sub_810713C ldrb r0, [r5] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r5] bl RemoveWindow strb r4, [r7] @@ -8794,7 +8794,7 @@ _0811A308: strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldr r0, _0811A354 @ =gUnknown_3005E70 adds r2, r0, 0 ldr r1, [sp, 0x20] @@ -8845,7 +8845,7 @@ _0811A37E: bl sub_810713C ldrb r0, [r4] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4] bl RemoveWindow ldrb r0, [r7] @@ -8870,7 +8870,7 @@ _0811A3AC: bl sub_810713C ldrb r0, [r4] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4] bl RemoveWindow ldrb r0, [r7] diff --git a/asm/list_menu.s b/asm/list_menu.s index 3475b0914..f0a609fcd 100644 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -126,7 +126,7 @@ _08106FA8: bgt _08106FBA ldrb r0, [r5, 0x5] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame _08106FBA: ldr r0, _08106FC8 @ =gUnknown_203ACF4 ldrb r0, [r0, 0x5] diff --git a/asm/mail.s b/asm/mail.s index 2631754c3..dac4bf6f8 100644 --- a/asm/mail.s +++ b/asm/mail.s @@ -209,13 +209,13 @@ _080BED8C: cmp r0, 0 bne _080BEDB4 movs r0, 0x22 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080BF0F4 .align 2, 0 _080BEDB0: .4byte gUnknown_203AAC4 _080BEDB4: movs r0, 0x1E - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080BF0F4 _080BEDBC: add r1, sp, 0x8 diff --git a/asm/main_menu.s b/asm/main_menu.s index fa9e7ef20..b170db136 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -983,7 +983,7 @@ _0800CB2E: bl FreeAllWindowBuffers adds r0, r6, 0 bl DestroyTask - bl sub_812EB2C + bl StartNewGameScene b _0800CB84 .align 2, 0 _0800CB44: .4byte gUnknown_2031DE0 diff --git a/asm/menu.s b/asm/menu.s index e593eef1c..a6d3d183b 100644 --- a/asm/menu.s +++ b/asm/menu.s @@ -933,8 +933,8 @@ sub_810F510: @ 810F510 bx r0 thumb_func_end sub_810F510 - thumb_func_start sub_810F558 -sub_810F558: @ 810F558 + thumb_func_start CreateWindow_SnapRight_StdPal +CreateWindow_SnapRight_StdPal: @ 810F558 push {r4-r7,lr} mov r7, r8 push {r7} @@ -1005,10 +1005,10 @@ _0810F5C4: bx r1 .align 2, 0 _0810F5E4: .4byte gUnknown_203ADF4 - thumb_func_end sub_810F558 + thumb_func_end CreateWindow_SnapRight_StdPal - thumb_func_start sub_810F5E8 -sub_810F5E8: @ 810F5E8 + thumb_func_start PrintTextOnRightSnappedWindow +PrintTextOnRightSnappedWindow: @ 810F5E8 push {r4-r6,lr} sub sp, 0xC adds r5, r0, 0 @@ -1055,10 +1055,10 @@ _0810F63E: .align 2, 0 _0810F648: .4byte gUnknown_203ADF4 _0810F64C: .4byte gUnknown_8456618 - thumb_func_end sub_810F5E8 + thumb_func_end PrintTextOnRightSnappedWindow - thumb_func_start sub_810F650 -sub_810F650: @ 810F650 + thumb_func_start Menu_PrintHelpSystemUIHeader +Menu_PrintHelpSystemUIHeader: @ 810F650 push {r4-r7,lr} mov r7, r8 push {r7} @@ -1145,7 +1145,7 @@ _0810F6F6: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_810F650 + thumb_func_end Menu_PrintHelpSystemUIHeader thumb_func_start sub_810F704 sub_810F704: @ 810F704 @@ -1264,8 +1264,8 @@ _0810F7BE: _0810F7D4: .4byte gUnknown_203ADE4 thumb_func_end sub_810F774 - thumb_func_start sub_810F7D8 -sub_810F7D8: @ 810F7D8 + thumb_func_start ProgramAndPlaceMenuCursorOnWindow +ProgramAndPlaceMenuCursorOnWindow: @ 810F7D8 push {r4-r6,lr} sub sp, 0x10 ldr r4, [sp, 0x20] @@ -1297,7 +1297,7 @@ sub_810F7D8: @ 810F7D8 pop {r4-r6} pop {r1} bx r1 - thumb_func_end sub_810F7D8 + thumb_func_end ProgramAndPlaceMenuCursorOnWindow thumb_func_start sub_810F818 sub_810F818: @ 810F818 @@ -1336,7 +1336,7 @@ sub_810F818: @ 810F818 adds r1, r6, 0 ldr r2, [sp, 0xC] ldr r3, [sp, 0x10] - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow lsls r0, 24 lsrs r0, 24 add sp, 0x14 @@ -2410,7 +2410,7 @@ sub_810FF60: @ 810FF60 adds r1, r6, 0 mov r2, r8 mov r3, r9 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow add sp, 0x1C pop {r3-r5} mov r8, r3 diff --git a/asm/naming_screen.s b/asm/naming_screen.s index b3c9d1f73..01217d92f 100644 --- a/asm/naming_screen.s +++ b/asm/naming_screen.s @@ -401,8 +401,8 @@ _0809DBD6: movs r1, 0 movs r2, 0 bl ChangeBgY - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 _0809DCA4: lsls r0, r4, 3 ldr r1, _0809DD50 @ =gUnknown_83E22A0 @@ -493,7 +493,7 @@ sub_809DD60: @ 809DD60 bl SetMainCallback2 bl sub_812B234 movs r0, 0x3 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 pop {r0} bx r0 .align 2, 0 @@ -959,13 +959,13 @@ _0809E156: bl StringExpandPlaceholders movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _0809E1D0 @ =gTextFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 strb r0, [r2] - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 diff --git a/asm/new_game.s b/asm/new_game.s index cec2b2c9a..d1d5a1487 100644 --- a/asm/new_game.s +++ b/asm/new_game.s @@ -257,7 +257,7 @@ sub_8054A60: @ 8054A60 strb r5, [r0] bl ZeroPlayerPartyMons bl sub_808C7E0 - bl sub_8141C54 + bl ClearRoamerData ldr r0, [r6] ldr r1, _08054B68 @ =0x00000296 adds r0, r1 diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s index b3844a165..bf2578249 100644 --- a/asm/new_menu_helpers.s +++ b/asm/new_menu_helpers.s @@ -672,8 +672,8 @@ sub_80F6C14: @ 80F6C14 bx r0 thumb_func_end sub_80F6C14 - thumb_func_start sub_80F6C6C -sub_80F6C6C: @ 80F6C6C + thumb_func_start InitStandardTextBoxWindows +InitStandardTextBoxWindows: @ 80F6C6C push {lr} ldr r0, _080F6C84 @ =gUnknown_841F42C bl InitWindows @@ -686,7 +686,7 @@ sub_80F6C6C: @ 80F6C6C .align 2, 0 _080F6C84: .4byte gUnknown_841F42C _080F6C88: .4byte gUnknown_203ABE0 - thumb_func_end sub_80F6C6C + thumb_func_end InitStandardTextBoxWindows thumb_func_start sub_80F6C8C sub_80F6C8C: @ 80F6C8C @@ -696,8 +696,8 @@ sub_80F6C8C: @ 80F6C8C bx r0 thumb_func_end sub_80F6C8C - thumb_func_start sub_80F6C98 -sub_80F6C98: @ 80F6C98 + thumb_func_start ResetBg0 +ResetBg0: @ 80F6C98 push {lr} movs r0, 0 movs r1, 0 @@ -711,7 +711,7 @@ sub_80F6C98: @ 80F6C98 bl sub_80F6E9C pop {r0} bx r0 - thumb_func_end sub_80F6C98 + thumb_func_end ResetBg0 thumb_func_start sub_80F6CBC sub_80F6CBC: @ 80F6CBC @@ -819,7 +819,7 @@ sub_80F6D5C: @ 80F6D5C lsrs r0, 24 cmp r0, 0 bne _080F6DB0 - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -840,7 +840,7 @@ _080F6DAC: .4byte gStringVar4 _080F6DB0: cmp r0, 0x1 bne _080F6DDC - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -858,7 +858,7 @@ _080F6DB0: .align 2, 0 _080F6DD8: .4byte gStringVar4 _080F6DDC: - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -896,7 +896,7 @@ sub_80F6E08: @ 80F6E08 ands r1, r2 orrs r1, r0 strb r1, [r3] - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -995,8 +995,8 @@ _080F6ED4: bx r0 thumb_func_end sub_80F6E9C - thumb_func_start sub_80F6EE4 -sub_80F6EE4: @ 80F6EE4 + thumb_func_start DrawDialogueFrame +DrawDialogueFrame: @ 80F6EE4 push {r4,r5,lr} adds r4, r1, 0 lsls r0, 24 @@ -1022,10 +1022,10 @@ _080F6F12: bx r0 .align 2, 0 _080F6F18: .4byte sub_80F7124 - thumb_func_end sub_80F6EE4 + thumb_func_end DrawDialogueFrame - thumb_func_start sub_80F6F1C -sub_80F6F1C: @ 80F6F1C + thumb_func_start DrawStdWindowFrame +DrawStdWindowFrame: @ 80F6F1C push {r4,r5,lr} adds r4, r1, 0 lsls r0, 24 @@ -1051,10 +1051,10 @@ _080F6F4A: bx r0 .align 2, 0 _080F6F50: .4byte sub_80F6FD4 - thumb_func_end sub_80F6F1C + thumb_func_end DrawStdWindowFrame - thumb_func_start sub_80F6F54 -sub_80F6F54: @ 80F6F54 + thumb_func_start ClearDialogWindowAndFrame +ClearDialogWindowAndFrame: @ 80F6F54 push {r4,r5,lr} adds r4, r1, 0 lsls r0, 24 @@ -1087,10 +1087,10 @@ _080F6F8E: .align 2, 0 _080F6F94: .4byte sub_80F76CC _080F6F98: .4byte gUnknown_203ADFA - thumb_func_end sub_80F6F54 + thumb_func_end ClearDialogWindowAndFrame - thumb_func_start sub_80F6F9C -sub_80F6F9C: @ 80F6F9C + thumb_func_start ClearStdWindowAndFrame +ClearStdWindowAndFrame: @ 80F6F9C push {r4,r5,lr} adds r4, r1, 0 lsls r0, 24 @@ -1116,7 +1116,7 @@ _080F6FCA: bx r0 .align 2, 0 _080F6FD0: .4byte sub_80F7684 - thumb_func_end sub_80F6F9C + thumb_func_end ClearStdWindowAndFrame thumb_func_start sub_80F6FD4 sub_80F6FD4: @ 80F6FD4 @@ -2059,8 +2059,8 @@ sub_80F77B8: @ 80F77B8 _080F77C8: .4byte gUnknown_841F408 thumb_func_end sub_80F77B8 - thumb_func_start sub_80F77CC -sub_80F77CC: @ 80F77CC + thumb_func_start Menu_LoadStdPalAt +Menu_LoadStdPalAt: @ 80F77CC push {lr} adds r1, r0, 0 lsls r1, 16 @@ -2072,7 +2072,7 @@ sub_80F77CC: @ 80F77CC bx r0 .align 2, 0 _080F77E0: .4byte gUnknown_841F408 - thumb_func_end sub_80F77CC + thumb_func_end Menu_LoadStdPalAt thumb_func_start sub_80F77E4 sub_80F77E4: @ 80F77E4 @@ -2116,7 +2116,7 @@ DisplayItemMessageOnField: @ 80F7808 lsls r4, 24 lsrs r4, 24 bl sub_80F6E9C - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 movs r2, 0x80 @@ -2187,8 +2187,8 @@ sub_80F7880: @ 80F7880 _080F78A4: .4byte gUnknown_841F43C thumb_func_end sub_80F7880 - thumb_func_start sub_80F78A8 -sub_80F78A8: @ 80F78A8 + thumb_func_start GetTextSpeedSetting +GetTextSpeedSetting: @ 80F78A8 push {lr} ldr r3, _080F78D8 @ =gSaveBlock2Ptr ldr r2, [r3] @@ -2216,7 +2216,7 @@ _080F78C4: .align 2, 0 _080F78D8: .4byte gSaveBlock2Ptr _080F78DC: .4byte gUnknown_841F428 - thumb_func_end sub_80F78A8 + thumb_func_end GetTextSpeedSetting thumb_func_start sub_80F78E0 sub_80F78E0: @ 80F78E0 diff --git a/asm/option_menu.s b/asm/option_menu.s index dc175eefd..cff6f1f25 100644 --- a/asm/option_menu.s +++ b/asm/option_menu.s @@ -93,7 +93,7 @@ _080883FA: cmp r3, 0x5 bls _080883E6 movs r0, 0xD - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r0, _0808842C @ =sub_8088454 bl SetMainCallback2 pop {r4-r6} diff --git a/asm/overworld.s b/asm/overworld.s index 526b9f298..e44855b46 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -3117,8 +3117,8 @@ sub_80562B0: @ 80562B0 ldr r1, [r5] movs r0, 0x3 bl SetBgTilemapBuffer - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 bl sub_8069348 pop {r3} mov r8, r3 @@ -3181,8 +3181,8 @@ sub_8056354: @ 8056354 ldr r1, [r5] movs r0, 0x3 bl SetBgTilemapBuffer - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 bl sub_8069348 pop {r3} mov r8, r3 diff --git a/asm/party_menu.s b/asm/party_menu.s index be2f0246c..085d0da85 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -420,7 +420,7 @@ _0811ED96: _0811EDA8: .4byte gUnknown_203B09C _0811EDAC: movs r0, 0x5 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0811EDFC _0811EDB4: ldr r4, _0811EDCC @ =gUnknown_203B09C @@ -6888,7 +6888,7 @@ sub_8121FC0: @ 8121FC0 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -6990,7 +6990,7 @@ sub_8122084: @ 8122084 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -13684,7 +13684,7 @@ _08125680: mov r1, r8 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x2 bl schedule_bg_copy_tilemap_to_vram add sp, 0x10 diff --git a/asm/player_pc.s b/asm/player_pc.s index 4fea7bea1..6d998daaa 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -187,7 +187,7 @@ _080EB77E: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r1, _080EB814 @ =gTasks @@ -361,11 +361,11 @@ _080EB940: cmp r0, 0 bne _080EB95C movs r0, 0x22 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080EB962 _080EB95C: movs r0, 0x1E - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _080EB962: ldr r0, _080EB990 @ =gUnknown_203AAC4 ldrb r0, [r0, 0x5] @@ -376,7 +376,7 @@ _080EB962: bne _080EB99C movs r0, 0 movs r1, 0 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame adds r0, r5, 0 bl sub_80EBEB0 ldr r0, _080EB994 @ =gTasks @@ -449,14 +449,14 @@ sub_80EB9E8: @ 80EB9E8 cmp r0, 0 bne _080EBA18 movs r0, 0x21 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080EBA1E .align 2, 0 _080EBA10: .4byte gTasks+0x8 _080EBA14: .4byte gUnknown_203AAC4 _080EBA18: movs r0, 0x1D - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _080EBA1E: ldr r0, _080EBA80 @ =gUnknown_8402258 bl AddWindow @@ -488,7 +488,7 @@ _080EBA1E: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r1, _080EBA88 @ =gUnknown_84021DC @@ -513,7 +513,7 @@ sub_80EBA8C: @ 80EBA8C adds r4, r0, 0 movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame movs r0, 0x1 str r0, [sp] movs r0, 0 @@ -702,7 +702,7 @@ sub_80EBC0C: @ 80EBC0C bl sub_80F6E9C movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r0, _080EBC34 @ =sub_80EBBDC movs r1, 0 bl CreateTask @@ -777,7 +777,7 @@ sub_80EBCAC: @ 80EBCAC bl sub_80F6E9C movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r0, _080EBCD4 @ =sub_80EBBDC movs r1, 0 bl CreateTask @@ -1341,7 +1341,7 @@ sub_80EC0D8: @ 80EC0D8 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r1, _080EC154 @ =gTasks @@ -1503,13 +1503,13 @@ sub_80EC260: @ 80EC260 cmp r0, 0 bne _080EC278 movs r0, 0x22 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080EC27E .align 2, 0 _080EC274: .4byte gUnknown_203AAC4 _080EC278: movs r0, 0x1E - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _080EC27E: bl sub_80F6E9C ldr r0, _080EC2A8 @ =sub_80EC230 @@ -1773,13 +1773,13 @@ sub_80EC474: @ 80EC474 cmp r0, 0 bne _080EC48C movs r0, 0x22 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080EC492 .align 2, 0 _080EC488: .4byte gUnknown_203AAC4 _080EC48C: movs r0, 0x1E - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _080EC492: ldr r0, _080EC4E8 @ =sub_80EC230 movs r1, 0 @@ -1871,7 +1871,7 @@ sub_80EC53C: @ 80EC53C lsrs r4, 24 movs r0, 0 movs r1, 0 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame adds r0, r4, 0 bl sub_80EBEB0 movs r0, 0 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index ce2d3fa75..bd18d2e76 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -309,7 +309,7 @@ sub_810275C: @ 810275C ldr r0, _08102794 @ =sub_81024D4 bl SetMainCallback2 movs r0, 0x4 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 pop {r0} bx r0 .align 2, 0 diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index 0d4ee1bcb..416c996bb 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -785,8 +785,8 @@ _08044AE8: .4byte gUnknown_825E05C _08044AEC: .4byte gUnknown_82349BC thumb_func_end sub_8044A40 - thumb_func_start sub_8044AF0 -sub_8044AF0: @ 8044AF0 + thumb_func_start SetUpMonSpriteManagerMaybe +SetUpMonSpriteManagerMaybe: @ 8044AF0 push {r4-r7,lr} mov r7, r8 push {r7} @@ -1124,7 +1124,7 @@ _08044D70: bx r1 .align 2, 0 _08044D7C: .4byte gUnknown_20244F4 - thumb_func_end sub_8044AF0 + thumb_func_end SetUpMonSpriteManagerMaybe thumb_func_start sub_8044D80 sub_8044D80: @ 8044D80 diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index a5e8ba21b..33f64b00b 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -1727,7 +1727,7 @@ sub_811D2EC: @ 811D2EC lsrs r7, r0, 16 movs r0, 0 mov r8, r0 - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 mov r9, r0 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index d656ad188..826e2f9e4 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1412,7 +1412,7 @@ _0808C3CC: .4byte _0808C680 _0808C3E0: movs r0, 0x1C - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldrb r0, [r5, 0xA] adds r1, r5, 0 adds r1, 0x26 @@ -1420,7 +1420,7 @@ _0808C3E0: bl sub_80F6E9C movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame movs r0, 0 movs r1, 0x11 bl FillWindowPixelBuffer @@ -1557,12 +1557,12 @@ _0808C508: .4byte gUnknown_83CDA20 _0808C50C: movs r0, 0 movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrh r0, [r5, 0x26] lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame bl ScriptContext2_Disable bl EnableBothScriptContexts adds r0, r4, 0 @@ -1833,7 +1833,7 @@ sub_808C72C: @ 808C72C lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame movs r0, 0x2 movs r1, 0 bl GetMenuCursorDimensionByFont @@ -1861,7 +1861,7 @@ sub_808C72C: @ 808C72C movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow mov r0, r10 strh r5, [r0] add sp, 0xC @@ -2716,7 +2716,7 @@ _0808CE18: ldr r1, [r4] strb r0, [r1, 0x4] movs r0, 0x1C - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 bl StorageGetCurrentBox ldr r1, _0808CE58 @ =gUnknown_20397B8 strb r0, [r1] @@ -2767,7 +2767,7 @@ _0808CE8C: ldr r1, [r4] strb r0, [r1, 0x4] movs r0, 0x1C - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r0, _0808CEC4 @ =c2_Box bl SetMainCallback2 _0808CEB6: @@ -18961,7 +18961,7 @@ sub_8094E88: @ 8094E88 movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r0, [r5] diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 3d0c545ef..385e5fb84 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -107,7 +107,7 @@ _081345D0: beq _08134604 _081345D4: movs r0, 0x6 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r2, _081345F8 @ =gUnknown_203B140 ldr r0, [r2] ldr r3, _081345FC @ =0x00003214 @@ -128,7 +128,7 @@ _081345FC: .4byte 0x00003214 _08134600: .4byte 0x00003234 _08134604: movs r0, 0x6 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r0, [r4] ldr r3, _08134628 @ =0x00003214 adds r0, r3 @@ -149,7 +149,7 @@ _0813462C: .4byte 0x0000321c _08134630: .4byte 0x00003234 _08134634: movs r0, 0x8 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r0, [r4] ldr r3, _08134710 @ =0x00003214 adds r0, r3 @@ -7608,7 +7608,7 @@ _0813846C: _08138470: movs r0, 0x7 _08138472: - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _08138476: pop {r0} bx r0 diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index 0abdc979c..d88ecf578 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -45,7 +45,7 @@ sub_8077764: @ 8077764 cmp r1, 0 beq _080777BC movs r0, 0x19 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080777DA .align 2, 0 _080777B0: .4byte gPaletteFade @@ -53,7 +53,7 @@ _080777B4: .4byte gBattleScripting _080777B8: .4byte gBattleTypeFlags _080777BC: movs r0, 0x18 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080777DA _080777C4: movs r0, 0x80 @@ -61,11 +61,11 @@ _080777C4: cmp r1, 0 beq _080777D4 movs r0, 0x1A - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080777DA _080777D4: movs r0, 0x17 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _080777DA: ldr r0, _080777E4 @ =sub_80777E8 bl SetMainCallback2 diff --git a/asm/roamer.s b/asm/roamer.s deleted file mode 100644 index d42b34293..000000000 --- a/asm/roamer.s +++ /dev/null @@ -1,531 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8141C54 -sub_8141C54: @ 8141C54 - push {lr} - ldr r0, _08141C84 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08141C88 @ =0x000030d0 - adds r0, r1 - movs r1, 0 - movs r2, 0x1C - bl memset - ldr r1, _08141C8C @ =gUnknown_203F3AE - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - movs r1, 0 - movs r2, 0 - ldr r0, _08141C90 @ =gUnknown_203F3A8 -_08141C74: - strb r2, [r0] - strb r2, [r0, 0x1] - adds r0, 0x2 - adds r1, 0x1 - cmp r1, 0x2 - bls _08141C74 - pop {r0} - bx r0 - .align 2, 0 -_08141C84: .4byte gSaveBlock1Ptr -_08141C88: .4byte 0x000030d0 -_08141C8C: .4byte gUnknown_203F3AE -_08141C90: .4byte gUnknown_203F3A8 - thumb_func_end sub_8141C54 - - thumb_func_start sub_8141C94 -sub_8141C94: @ 8141C94 - push {r4-r7,lr} - sub sp, 0x10 - ldr r7, _08141CB0 @ =gEnemyParty - bl sub_80CBDB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _08141CB4 - cmp r0, 0x4 - beq _08141CB8 - movs r6, 0xF3 - b _08141CBA - .align 2, 0 -_08141CB0: .4byte gEnemyParty -_08141CB4: - movs r6, 0xF4 - b _08141CBA -_08141CB8: - movs r6, 0xF5 -_08141CBA: - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x32 - movs r3, 0x20 - bl CreateMon - ldr r5, _08141D8C @ =gSaveBlock1Ptr - ldr r1, [r5] - ldr r4, _08141D90 @ =0x000030d0 - adds r1, r4 - movs r2, 0 - strh r6, [r1, 0x8] - movs r0, 0x32 - strb r0, [r1, 0xC] - ldr r0, [r5] - adds r0, r4 - strb r2, [r0, 0xD] - ldr r0, [r5] - adds r0, r4 - movs r1, 0x1 - strb r1, [r0, 0x13] - adds r0, r7, 0 - movs r1, 0x42 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - str r0, [r1] - adds r0, r7, 0 - movs r1, 0 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - str r0, [r1, 0x4] - adds r0, r7, 0 - movs r1, 0x3A - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strh r0, [r1, 0xA] - adds r0, r7, 0 - movs r1, 0x16 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0xE] - adds r0, r7, 0 - movs r1, 0x17 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0xF] - adds r0, r7, 0 - movs r1, 0x18 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0x10] - adds r0, r7, 0 - movs r1, 0x21 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0x11] - adds r0, r7, 0 - movs r1, 0x2F - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0x12] - ldr r5, _08141D94 @ =gUnknown_203F3AE - movs r0, 0x3 - strb r0, [r5] - bl Random - ldr r4, _08141D98 @ =gUnknown_8466C58 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - adds r1, r4 - ldrb r0, [r1] - strb r0, [r5, 0x1] - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08141D8C: .4byte gSaveBlock1Ptr -_08141D90: .4byte 0x000030d0 -_08141D94: .4byte gUnknown_203F3AE -_08141D98: .4byte gUnknown_8466C58 - thumb_func_end sub_8141C94 - - thumb_func_start sub_8141D9C -sub_8141D9C: @ 8141D9C - push {lr} - bl sub_8141C54 - bl sub_8141C94 - pop {r0} - bx r0 - thumb_func_end sub_8141D9C - - thumb_func_start UpdateLocationHistoryForRoamer -UpdateLocationHistoryForRoamer: @ 8141DAC - ldr r0, _08141DCC @ =gUnknown_203F3A8 - ldrb r1, [r0, 0x2] - strb r1, [r0, 0x4] - ldrb r1, [r0, 0x3] - strb r1, [r0, 0x5] - ldrb r1, [r0] - strb r1, [r0, 0x2] - ldrb r1, [r0, 0x1] - strb r1, [r0, 0x3] - ldr r1, _08141DD0 @ =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x4] - strb r1, [r0] - ldrb r1, [r2, 0x5] - strb r1, [r0, 0x1] - bx lr - .align 2, 0 -_08141DCC: .4byte gUnknown_203F3A8 -_08141DD0: .4byte gSaveBlock1Ptr - thumb_func_end UpdateLocationHistoryForRoamer - - thumb_func_start RoamerMoveToOtherLocationSet -RoamerMoveToOtherLocationSet: @ 8141DD4 - push {r4,r5,lr} - ldr r0, _08141E18 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08141E1C @ =0x000030d0 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08141E10 - ldr r1, _08141E20 @ =gUnknown_203F3AE - movs r0, 0x3 - strb r0, [r1] - ldr r5, _08141E24 @ =gUnknown_8466C58 - adds r4, r1, 0 -_08141DEE: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - adds r1, r5 - ldrb r1, [r1] - ldrb r0, [r4, 0x1] - cmp r0, r1 - beq _08141DEE - strb r1, [r4, 0x1] -_08141E10: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08141E18: .4byte gSaveBlock1Ptr -_08141E1C: .4byte 0x000030d0 -_08141E20: .4byte gUnknown_203F3AE -_08141E24: .4byte gUnknown_8466C58 - thumb_func_end RoamerMoveToOtherLocationSet - - thumb_func_start RoamerMove -RoamerMove: @ 8141E28 - push {r4-r7,lr} - movs r4, 0 - bl Random - lsls r0, 16 - movs r1, 0xF0 - lsls r1, 12 - ands r1, r0 - cmp r1, 0 - bne _08141E42 - bl RoamerMoveToOtherLocationSet - b _08141EB2 -_08141E42: - ldr r0, _08141E94 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08141E98 @ =0x000030d0 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08141EB2 - ldr r7, _08141E9C @ =gUnknown_203F3AE -_08141E52: - ldr r3, _08141EA0 @ =gUnknown_8466C58 - lsls r0, r4, 3 - subs r2, r0, r4 - adds r1, r2, r3 - ldrb r0, [r7, 0x1] - ldrb r1, [r1] - cmp r0, r1 - bne _08141EA8 - adds r6, r3, 0 - adds r5, r2, 0x1 - ldr r4, _08141EA4 @ =gUnknown_203F3A8 -_08141E68: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, r5 - adds r0, r6 - ldrb r1, [r0] - ldrb r0, [r4, 0x4] - cmp r0, 0x3 - bne _08141E8C - ldrb r0, [r4, 0x5] - cmp r0, r1 - beq _08141E68 -_08141E8C: - cmp r1, 0xFF - beq _08141E68 - strb r1, [r7, 0x1] - b _08141EB2 - .align 2, 0 -_08141E94: .4byte gSaveBlock1Ptr -_08141E98: .4byte 0x000030d0 -_08141E9C: .4byte gUnknown_203F3AE -_08141EA0: .4byte gUnknown_8466C58 -_08141EA4: .4byte gUnknown_203F3A8 -_08141EA8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x18 - bls _08141E52 -_08141EB2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end RoamerMove - - thumb_func_start IsRoamerAt -IsRoamerAt: @ 8141EB8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08141EE4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, _08141EE8 @ =0x000030d0 - adds r0, r3 - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08141EF0 - ldr r0, _08141EEC @ =gUnknown_203F3AE - ldrb r3, [r0] - cmp r2, r3 - bne _08141EF0 - ldrb r0, [r0, 0x1] - cmp r1, r0 - bne _08141EF0 - movs r0, 0x1 - b _08141EF2 - .align 2, 0 -_08141EE4: .4byte gSaveBlock1Ptr -_08141EE8: .4byte 0x000030d0 -_08141EEC: .4byte gUnknown_203F3AE -_08141EF0: - movs r0, 0 -_08141EF2: - pop {r1} - bx r1 - thumb_func_end IsRoamerAt - - thumb_func_start CreateRoamerMonInstance -CreateRoamerMonInstance: @ 8141EF8 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08141F84 @ =gEnemyParty - bl ZeroEnemyPartyMons - ldr r4, _08141F88 @ =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, _08141F8C @ =0x000030d0 - adds r0, r1 - ldrh r1, [r0, 0x8] - ldrb r2, [r0, 0xC] - ldr r3, [r0] - ldr r0, [r0, 0x4] - str r0, [sp] - adds r0, r5, 0 - bl CreateMonWithIVsPersonality - ldr r2, [r4] - ldr r0, _08141F90 @ =0x000030dd - adds r2, r0 - adds r0, r5, 0 - movs r1, 0x37 - bl SetMonData - ldr r2, [r4] - ldr r1, _08141F94 @ =0x000030da - adds r2, r1 - adds r0, r5, 0 - movs r1, 0x39 - bl SetMonData - ldr r2, [r4] - ldr r0, _08141F98 @ =0x000030de - adds r2, r0 - adds r0, r5, 0 - movs r1, 0x16 - bl SetMonData - ldr r2, [r4] - ldr r1, _08141F9C @ =0x000030df - adds r2, r1 - adds r0, r5, 0 - movs r1, 0x17 - bl SetMonData - ldr r2, [r4] - ldr r0, _08141FA0 @ =0x000030e0 - adds r2, r0 - adds r0, r5, 0 - movs r1, 0x18 - bl SetMonData - ldr r2, [r4] - ldr r1, _08141FA4 @ =0x000030e1 - adds r2, r1 - adds r0, r5, 0 - movs r1, 0x21 - bl SetMonData - ldr r2, [r4] - ldr r0, _08141FA8 @ =0x000030e2 - adds r2, r0 - adds r0, r5, 0 - movs r1, 0x2F - bl SetMonData - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08141F84: .4byte gEnemyParty -_08141F88: .4byte gSaveBlock1Ptr -_08141F8C: .4byte 0x000030d0 -_08141F90: .4byte 0x000030dd -_08141F94: .4byte 0x000030da -_08141F98: .4byte 0x000030de -_08141F9C: .4byte 0x000030df -_08141FA0: .4byte 0x000030e0 -_08141FA4: .4byte 0x000030e1 -_08141FA8: .4byte 0x000030e2 - thumb_func_end CreateRoamerMonInstance - - thumb_func_start TryStartRoamerEncounter -TryStartRoamerEncounter: @ 8141FAC - push {lr} - ldr r0, _08141FDC @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x4] - ldrb r1, [r1, 0x5] - bl IsRoamerAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08141FE0 - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - cmp r1, 0 - bne _08141FE0 - bl CreateRoamerMonInstance - movs r0, 0x1 - b _08141FE2 - .align 2, 0 -_08141FDC: .4byte gSaveBlock1Ptr -_08141FE0: - movs r0, 0 -_08141FE2: - pop {r1} - bx r1 - thumb_func_end TryStartRoamerEncounter - - thumb_func_start UpdateRoamerHPStatus -UpdateRoamerHPStatus: @ 8141FE8 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x39 - bl GetMonData - ldr r5, _08142014 @ =gSaveBlock1Ptr - ldr r1, [r5] - ldr r4, _08142018 @ =0x000030d0 - adds r1, r4 - strh r0, [r1, 0xA] - adds r0, r6, 0 - movs r1, 0x37 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0xD] - bl RoamerMoveToOtherLocationSet - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08142014: .4byte gSaveBlock1Ptr -_08142018: .4byte 0x000030d0 - thumb_func_end UpdateRoamerHPStatus - - thumb_func_start SetRoamerInactive -SetRoamerInactive: @ 814201C - ldr r0, _0814202C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08142030 @ =0x000030d0 - adds r0, r1 - movs r1, 0 - strb r1, [r0, 0x13] - bx lr - .align 2, 0 -_0814202C: .4byte gSaveBlock1Ptr -_08142030: .4byte 0x000030d0 - thumb_func_end SetRoamerInactive - - thumb_func_start GetRoamerLocation -GetRoamerLocation: @ 8142034 - ldr r3, _08142040 @ =gUnknown_203F3AE - ldrb r2, [r3] - strb r2, [r0] - ldrb r0, [r3, 0x1] - strb r0, [r1] - bx lr - .align 2, 0 -_08142040: .4byte gUnknown_203F3AE - thumb_func_end GetRoamerLocation - - thumb_func_start sub_8142044 -sub_8142044: @ 8142044 - push {lr} - ldr r0, _08142064 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08142068 @ =0x000030d0 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08142070 - ldr r1, _0814206C @ =gUnknown_203F3AE - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - bl get_mapheader_by_bank_and_number - ldrb r0, [r0, 0x14] - b _08142072 - .align 2, 0 -_08142064: .4byte gSaveBlock1Ptr -_08142068: .4byte 0x000030d0 -_0814206C: .4byte gUnknown_203F3AE -_08142070: - movs r0, 0xC5 -_08142072: - pop {r1} - bx r1 - thumb_func_end sub_8142044 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_menu.s b/asm/script_menu.s index 438f715fa..11b9feee2 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -301,7 +301,7 @@ _0809CB7A: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow ldr r0, [sp, 0x18] adds r1, r7, 0 adds r2, r5, 0 @@ -1138,7 +1138,7 @@ _0809D1FA: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 mov r1, r9 adds r2, r6, 0 @@ -1946,7 +1946,7 @@ _0809D844: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 mov r1, r9 adds r2, r7, 0 diff --git a/asm/shop.s b/asm/shop.s index 999874b6b..67d30d52a 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -74,7 +74,7 @@ _0809AAF8: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow ldrb r0, [r4] bl PutWindowTilemap ldrb r0, [r4] diff --git a/asm/start_menu.s b/asm/start_menu.s index 1cc3a7919..65a1e4402 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -158,7 +158,7 @@ sub_806EE7C: @ 806EE7C bl PutWindowTilemap ldrb r0, [r4] movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldr r0, _0806EEFC @ =gStringVar1 ldr r1, _0806EF00 @ =gUnknown_2039996 ldrh r1, [r1] @@ -390,7 +390,7 @@ _0806F06C: lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldr r1, _0806F08C @ =gUnknown_20370FF b _0806F0B8 .align 2, 0 @@ -438,7 +438,7 @@ _0806F0C4: movs r1, 0x2 movs r2, 0 movs r3, 0 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow strb r0, [r4] bl sub_80BF708 lsls r0, 24 @@ -1049,7 +1049,7 @@ sub_806F5A4: @ 806F5A4 push {lr} bl sub_812B234 movs r0, 0xC - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 bl sub_806F624 ldr r1, _0806F5C0 @ =gUnknown_20370F0 ldr r0, _0806F5C4 @ =sub_806F5C8 @@ -1156,7 +1156,7 @@ sub_806F67C: @ 806F67C push {lr} bl sub_812B234 movs r0, 0xC - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 bl sub_806F624 ldr r0, _0806F698 @ =task50_save_game movs r1, 0x50 @@ -1239,7 +1239,7 @@ sub_806F71C: @ 806F71C push {lr} movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame pop {r0} bx r0 thumb_func_end sub_806F71C @@ -1328,7 +1328,7 @@ sub_806F7A8: @ 806F7A8 lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame bl remove_start_menu_window_maybe movs r0, 0 bl sub_8112EDC @@ -2178,7 +2178,7 @@ sub_806FE84: @ 806FE84 ldr r4, _0806FE9C @ =gUnknown_2037104 ldrb r0, [r4] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4] bl RemoveWindow pop {r4} @@ -2197,7 +2197,7 @@ sub_806FEA0: @ 806FEA0 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame bl remove_start_menu_window_maybe bl sub_80696C0 bl ScriptContext2_Disable diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index feba05e6d..b9bf09d46 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -774,7 +774,7 @@ sub_815B1DC: @ 815B1DC negs r0, r0 ands r0, r1 strb r0, [r2] - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 diff --git a/asm/title_screen.s b/asm/title_screen.s index e6f203e3b..c8261c1d3 100644 --- a/asm/title_screen.s +++ b/asm/title_screen.s @@ -809,7 +809,7 @@ sub_8078FC4: @ 8078FC4 b _08079094 _08078FD6: movs r0, 0x1 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r0, _0807902C @ =sub_807941C movs r1, 0 bl CreateTask diff --git a/asm/tm_case.s b/asm/tm_case.s index d3b8d6320..ac58fa0a2 100644 --- a/asm/tm_case.s +++ b/asm/tm_case.s @@ -1586,7 +1586,7 @@ _08132468: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x80 lsls r0, 1 bl Alloc @@ -3291,7 +3291,7 @@ sub_813337C: @ 813337C lsrs r5, 24 lsls r4, 24 lsrs r4, 24 - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 str r4, [sp] diff --git a/asm/trade.s b/asm/trade.s index e9fcddf2d..5f0f9da85 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -3390,7 +3390,7 @@ _0804E208: movs r1, 0x3 movs r2, 0 movs r3, 0 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x1 bl PutWindowTilemap movs r0, 0x1 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 2229c0b7d..0b0d6c2cf 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -291,7 +291,7 @@ _0808924A: cmp r0, 0 beq _08089280 movs r0, 0xB - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 bl sub_808B1D4 movs r0, 0xF2 bl PlaySE @@ -387,7 +387,7 @@ _0808931C: .4byte gMain _08089320: .4byte gReceivedRemoteLinkPlayers _08089324: movs r0, 0xA - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 bl sub_808B1D4 ldr r0, _08089340 @ =gUnknown_20397A4 ldr r1, [r0] @@ -431,7 +431,7 @@ _0808937A: bl sub_800AAC0 movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _080893B0 @ =gUnknown_8419D89 movs r0, 0x1 str r0, [sp] @@ -1647,7 +1647,7 @@ sub_8089D8C: @ 8089D8C ldr r0, _08089DA0 @ =sub_8089070 bl SetMainCallback2 movs r0, 0xA - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 pop {r0} bx r0 .align 2, 0 diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index c7be31ac9..194066e70 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -4299,7 +4299,7 @@ sub_812A424: @ 812A424 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow _0812A4F0: add sp, 0x14 pop {r3} @@ -5000,7 +5000,7 @@ sub_812AA10: @ 812AA10 movs r1, 0x2 movs r2, 0 movs r3, 0 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x3 bl PutWindowTilemap add sp, 0xC diff --git a/asm/unk_814BB4C.s b/asm/unk_814BB4C.s index 9c0e0503b..5ad566185 100644 --- a/asm/unk_814BB4C.s +++ b/asm/unk_814BB4C.s @@ -201,7 +201,7 @@ _0814BC98: _0814BCA2: movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldrb r1, [r5, 0x1] movs r0, 0x2 mov r8, r0 @@ -287,7 +287,7 @@ _0814BD48: beq _0814BD5A movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame _0814BD5A: ldrb r0, [r7, 0xE] movs r1, 0x1 @@ -597,7 +597,7 @@ _0814BFA0: .4byte gUnknown_83DFC9C _0814BFA4: movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame movs r0, 0xA movs r1, 0x1 movs r2, 0 @@ -2855,7 +2855,7 @@ _0814D106: beq _0814D17E movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _0814D148 @ =gUnknown_8419F54 movs r0, 0 str r0, [sp] @@ -2979,7 +2979,7 @@ _0814D204: _0814D206: movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame movs r4, 0 str r4, [sp] adds r0, r6, 0 @@ -3159,7 +3159,7 @@ _0814D34A: _0814D356: movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame adds r0, r5, 0 bl sub_814DA04 movs r0, 0x1 @@ -3217,7 +3217,7 @@ _0814D3BA: _0814D3C0: movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldrh r1, [r5, 0x14] cmp r1, 0x3 bne _0814D3F0 diff --git a/asm/unk_814D5C8.s b/asm/unk_814D5C8.s index 4e8bbd051..422d34f07 100644 --- a/asm/unk_814D5C8.s +++ b/asm/unk_814D5C8.s @@ -186,8 +186,8 @@ _0814D768: beq _0814D774 b _0814D87E _0814D774: - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 adds r0, r5, 0 bl sub_814EB38 adds r0, r5, 0 diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s index e0448643e..324a6b48c 100644 --- a/asm/unk_81507FC.s +++ b/asm/unk_81507FC.s @@ -10657,7 +10657,7 @@ _08155A9C: _08155AA6: movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _08155ACC @ =gUnknown_8419F54 str r4, [sp] movs r0, 0x2 @@ -11276,8 +11276,8 @@ _08155EC6: movs r1, 0 movs r2, 0 bl ChangeBgY - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 movs r1, 0x82 lsls r1, 5 movs r0, 0 diff --git a/asm/wild_pokemon_area.s b/asm/wild_pokemon_area.s index 26c908a14..71d8ac8dc 100644 --- a/asm/wild_pokemon_area.s +++ b/asm/wild_pokemon_area.s @@ -221,13 +221,13 @@ sub_813CB5C: @ 813CB5C ldr r0, _0813CBBC @ =gUnknown_84642F4 lsls r4, 2 adds r4, r0 - bl sub_80CBDB0 + bl ScrSpecial_GetStarter ldrh r1, [r4, 0x2] lsls r0, 16 lsrs r0, 16 cmp r1, r0 bne _0813CBC4 - bl sub_8142044 + bl GetRoamerLocationMapSectionId lsls r0, 16 lsrs r0, 16 movs r1, 0 diff --git a/asm/wireless_communication_status_screen.s b/asm/wireless_communication_status_screen.s index b5f357a83..72368171f 100644 --- a/asm/wireless_communication_status_screen.s +++ b/asm/wireless_communication_status_screen.s @@ -130,7 +130,7 @@ sub_814F1E4: @ 814F1E4 movs r2, 0x20 bl LoadPalette movs r0, 0xF0 - bl sub_80F77CC + bl Menu_LoadStdPalAt bl UnkTextUtil_Reset movs r0, 0x20 str r0, [sp] diff --git a/data/data_835B488.s b/data/data_835B488.s index c5b533348..2a0bfcf87 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -740,19 +740,19 @@ sFanfares:: @ 83AC990 gUnknown_83AC9D0:: @ 83AC9D0 .incbin "baserom.gba", 0x3AC9D0, 0x8 -gUnknown_83AC9D8:: +gOamData_83AC9D8:: .incbin "baserom.gba", 0x3AC9D8, 0x10 -gUnknown_83AC9E8:: +gOamData_83AC9E8:: .incbin "baserom.gba", 0x3AC9E8, 0x10 -gUnknown_83AC9F8:: +gOamData_83AC9F8:: .incbin "baserom.gba", 0x3AC9F8, 0x8 gUnknown_83ACA00:: .incbin "baserom.gba", 0x3ACA00, 0xF8 -gUnknown_83ACAF8:: +gOamData_83ACAF8:: .incbin "baserom.gba", 0x3ACAF8, 0x110 gUnknown_83ACC08:: @ 83ACC08 diff --git a/data/data_83F5738.s b/data/data_83F5738.s index e6f026d0e..c14edc5c8 100644 --- a/data/data_83F5738.s +++ b/data/data_83F5738.s @@ -55,7 +55,7 @@ gUnknown_83F5BCC:: @ 83F5BCC gUnknown_83F5D1C:: @ 83F5D1C .incbin "baserom.gba", 0x3F5D1C, 0x10 -gUnknown_83F5D2C:: @ 83F5D2C +sStarterMon:: @ 83F5D2C .incbin "baserom.gba", 0x3F5D2C, 0x6 gUnknown_83F5D32:: @ 83F5D32 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 96485c89e..682877f7e 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -586,7 +586,7 @@ gUnknown_8415C64:: @ 8415C64 gUnknown_8415CE8:: @ 8415CE8 .incbin "baserom.gba", 0x415CE8, 0x44 -gUnknown_8415D2C:: @ 8415D2C +gText_Controls:: @ 8415D2C .string "CONTROLS$" .align 2 @@ -594,28 +594,30 @@ gUnknown_8415D38:: @ 8415D2C .string "{KEYGFX_DPAD_UP_DOWN}えらぶ {KEYGFX_A_BUTTON}けってい$" .align 2 -gUnknown_8415D48:: @ 8415D48 +gText_ABUTTONNext:: @ 8415D48 .string "{KEYGFX_A_BUTTON}NEXT$" .align 2 -gUnknown_8415D50:: @ 8415D50 +gText_ABUTTONNext_BBUTTONBack:: @ 8415D50 .string "{KEYGFX_A_BUTTON}NEXT {KEYGFX_B_BUTTON}BACK$" .align 2 -gUnknown_8415D60:: @ 8415D60 - .incbin "baserom.gba", 0x415D60, 0x18 +gText_UPDOWNPick_ABUTTONNext_BBUTTONBack:: @ 8415D60 + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}NEXT {KEYGFX_B_BUTTON}CANCEL$" -gUnknown_8415D78:: @ 8415D78 - .incbin "baserom.gba", 0x415D78, 0x14 + .align 2 +gText_UPDOWNPick_ABUTTONBBUTTONCancel:: @ 8415D78 + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}{KEYGFX_B_BUTTON}CANCEL$" -gUnknown_8415D8C:: @ 8415D8C - .incbin "baserom.gba", 0x415D8C, 0x7 + .align 2 +gText_ABUTTONExit:: @ 8415D8C + .string "{KEYGFX_A_BUTTON}EXIT$" -gUnknown_8415D93:: @ 8415D93 - .incbin "baserom.gba", 0x415D93, 0x4 +gText_Boy:: @ 8415D93 + .string "BOY$" -gUnknown_8415D97:: @ 8415D97 - .incbin "baserom.gba", 0x415D97, 0x5 +gText_Girl:: @ 8415D97 + .string "GIRL$" gUnknown_8415D9C:: @ 8415D9C .incbin "baserom.gba", 0x415D9C, 0x1C diff --git a/data/event_scripts.s b/data/event_scripts.s index 7d4a7b996..95fcf7a92 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -428,167 +428,167 @@ gUnknown_81C5647:: @ 81C5647 gUnknown_81C566A:: @ 81C566A .incbin "baserom.gba", 0x1C566A, 0xE5 -gUnknown_81C574F:: @ 81C574F +gOtherText_NewName:: @ 81C574F .string "NEW NAME$" -gUnknown_81C5758:: @ 81C5758 +gNameChoice_Green:: @ 81C5758 .string "GREEN$" -gUnknown_81C575E:: @ 81C575E +gNameChoice_Red:: @ 81C575E .string "RED$" -gUnknown_81C5762:: @ 81C5762 +gNameChoice_Leaf:: @ 81C5762 .string "LEAF$" -gUnknown_81C5767:: @ 81C5767 +gNameChoice_Fire:: @ 81C5767 .string "FIRE$" -gUnknown_81C576C:: @ 81C576C +gNameChoice_Gary:: @ 81C576C .string "GARY$" -gUnknown_81C5771:: @ 81C5771 +gNameChoice_Kaz:: @ 81C5771 .string "KAZ$" -gUnknown_81C5775:: @ 81C5775 +gNameChoice_Toru:: @ 81C5775 .string "TORU$" -gUnknown_81C577A:: @ 81C577A +gNameChoice_Ash:: @ 81C577A .string "ASH$" -gUnknown_81C577E:: @ 81C577E +gNameChoice_Kene:: @ 81C577E .string "KENE$" -gUnknown_81C5783:: @ 81C5783 +gNameChoice_Geki:: @ 81C5783 .string "GEKI$" -gUnknown_81C5788:: @ 81C5788 +gNameChoice_Jak:: @ 81C5788 .string "JAK$" -gUnknown_81C578C:: @ 81C578C +gNameChoice_Janne:: @ 81C578C .string "JANNE$" -gUnknown_81C5792:: @ 81C5792 +gNameChoice_Jonn:: @ 81C5792 .string "JONN$" -gUnknown_81C5797:: @ 81C5797 +gNameChoice_Kamon:: @ 81C5797 .string "KAMON$" -gUnknown_81C579D:: @ 81C579D +gNameChoice_Karl:: @ 81C579D .string "KARL$" -gUnknown_81C57A2:: @ 81C57A2 +gNameChoice_Taylor:: @ 81C57A2 .string "TAYLOR$" -gUnknown_81C57A9:: @ 81C57A9 +gNameChoice_Oscar:: @ 81C57A9 .string "OSCAR$" -gUnknown_81C57AF:: @ 81C57AF +gNameChoice_Hiro:: @ 81C57AF .string "HIRO$" -gUnknown_81C57B4:: @ 81C57B4 +gNameChoice_Max:: @ 81C57B4 .string "MAX$" -gUnknown_81C57B8:: @ 81C57B8 +gNameChoice_Jon:: @ 81C57B8 .string "JON$" -gUnknown_81C57BC:: @ 81C57BC +gNameChoice_Ralph:: @ 81C57BC .string "RALPH$" -gUnknown_81C57C2:: @ 81C57C2 +gNameChoice_Kay:: @ 81C57C2 .string "KAY$" -gUnknown_81C57C6:: @ 81C57C6 +gNameChoice_Tosh:: @ 81C57C6 .string "TOSH$" -gUnknown_81C57CB:: @ 81C57CB +gNameChoice_Roak:: @ 81C57CB .string "ROAK$" -gUnknown_81C57D0:: @ 81C57D0 +gNameChoice_Omi:: @ 81C57D0 .string "OMI$" -gUnknown_81C57D4:: @ 81C57D4 +gNameChoice_Jodi:: @ 81C57D4 .string "JODI$" -gUnknown_81C57D9:: @ 81C57D9 +gNameChoice_Amanda:: @ 81C57D9 .string "AMANDA$" -gUnknown_81C57E0:: @ 81C57E0 +gNameChoice_Hillary:: @ 81C57E0 .string "HILLARY$" -gUnknown_81C57E8:: @ 81C57E8 +gNameChoice_Makey:: @ 81C57E8 .string "MAKEY$" -gUnknown_81C57EE:: @ 81C57EE +gNameChoice_Michi:: @ 81C57EE .string "MICHI$" -gUnknown_81C57F4:: @ 81C57F4 +gNameChoice_Paula:: @ 81C57F4 .string "PAULA$" -gUnknown_81C57FA:: @ 81C57FA +gNameChoice_June:: @ 81C57FA .string "JUNE$" -gUnknown_81C57FF:: @ 81C57FF +gNameChoice_Cassie:: @ 81C57FF .string "CASSIE$" -gUnknown_81C5806:: @ 81C5806 +gNameChoice_Rey:: @ 81C5806 .string "REY$" -gUnknown_81C580A:: @ 81C580A +gNameChoice_Seda:: @ 81C580A .string "SEDA$" -gUnknown_81C580F:: @ 81C580F +gNameChoice_Kiko:: @ 81C580F .string "KIKO$" -gUnknown_81C5814:: @ 81C5814 +gNameChoice_Mina:: @ 81C5814 .string "MINA$" -gUnknown_81C5819:: @ 81C5819 +gNameChoice_Norie:: @ 81C5819 .string "NORIE$" -gUnknown_81C581F:: @ 81C581F +gNameChoice_Sai:: @ 81C581F .string "SAI$" -gUnknown_81C5823:: @ 81C5823 +gNameChoice_Momo:: @ 81C5823 .string "MOMO$" -gUnknown_81C5828:: @ 81C5828 +gNameChoice_Suzi:: @ 81C5828 .string "SUZI$" -gUnknown_81C582D:: @ 81C582D +gNewGame_HelpDocs1:: @ 81C582D .string "The various buttons will be explained in\n" .string "the order of their importance.$" -gUnknown_81C5875:: @ 81C5875 +gNewGame_HelpDocs2:: @ 81C5875 .string "Moves the main character.\n" .string "Also used to choose various data\n" .string "headings.$" -gUnknown_81C58BA:: @ 81C58BA +gNewGame_HelpDocs3:: @ 81C58BA .string "Used to confirm a choice, check\n" .string "things, chat, and scroll text.$" -gUnknown_81C58F9:: @ 81C58F9 +gNewGame_HelpDocs4:: @ 81C58F9 .string "Used to exit, cancel a choice,\n" .string "and cancel a mode.$" -gUnknown_81C592B:: @ 81C592B +gNewGame_HelpDocs5:: @ 81C592B .string "Press this button to open the\n" .string "MENU.$" -gUnknown_81C594F:: @ 81C594F +gNewGame_HelpDocs6:: @ 81C594F .string "Used to shift items and to use\n" .string "a registered item.$" -gUnknown_81C5981:: @ 81C5981 +gNewGame_HelpDocs7:: @ 81C5981 .string "If you need help playing the\n" .string "game, or on how to do things,\n" .string "press the L or R Button.$" -gUnknown_81C59D5:: @ 81C59D5 +gOakText_AskPlayerGender:: @ 81C59D5 .string "Now tell me. Are you a boy?\n" .string "Or are you a girl?$" -gUnknown_81C5A04:: +gNewGameAdventureIntro1:: .string "In the world which you are about to\n" .string "enter, you will embark on a grand\n" .string "adventure with you as the hero.\n" @@ -598,7 +598,7 @@ gUnknown_81C5A04:: .string "or caves. Gather information and\n" .string "hints from every source.$" -gUnknown_81C5AEB:: +gNewGameAdventureIntro2:: .string "New paths will open to you by helping\n" .string "people in need, overcoming challenges,\n" .string "and solving mysteries.\n" @@ -607,7 +607,7 @@ gUnknown_81C5AEB:: .string "others and attacked by wild creatures.\n" .string "Be brave and keep pushing on.$" -gUnknown_81C5BB9:: +gNewGameAdventureIntro3:: .string "Through your adventure, we hope\n" .string "that you will interact with all sorts\n" .string "of people and achieve personal growth.\n" @@ -616,49 +616,49 @@ gUnknown_81C5BB9:: .string "Press the A Button, and let your\n" .string "adventure begin!$" -gUnknown_81C5C78:: @ 81C5C78 +gOakText_WelcomeToTheWorld:: @ 81C5C78 .string "Hello, there!\n" .string "Glad to meet you!\pWelcome to the world of POKéMON!\pMy name is OAK.\pPeople affectionately refer to me\n" .string "as the POKéMON PROFESSOR.\p$" -gUnknown_81C5D06:: @ 81C5D06 +gOakText_WorldInhabited1:: @ 81C5D06 .string "This world…$" -gUnknown_81C5D12:: @ 81C5D12 +gOakText_WorldInhabited2:: @ 81C5D12 .string "…is inhabited far and wide by\n" .string "creatures called POKéMON.\p$" -gUnknown_81C5D4B:: @ 81C5D4B +gOakText_PetsBattlingStudy:: @ 81C5D4B .string "For some people, POKéMON are pets.\n" .string "Others use them for battling.\pAs for myself…\pI study POKéMON as a profession.\p$" -gUnknown_81C5DBD:: @ 81C5DBD +gOakText_TellMeALittleAboutYourself:: @ 81C5DBD .string "But first, tell me a little about\n" .string "yourself.\p$" -gUnknown_81C5DEA:: @ 81C5DEA +gOakText_AskPlayerName:: @ 81C5DEA .string "Let’s begin with your name.\n" .string "What is it?\p$" -gUnknown_81C5E13:: @ 81C5E13 +gOakText_FinalizePlayerName:: @ 81C5E13 .string "Right…\n" .string "So your name is {PLAYER}.$" -gUnknown_81C5E2E:: @ 81C5E2E +gOakText_IntroduceRival:: @ 81C5E2E .string "This is my grandson.\pHe’s been your rival since you both\n" .string "were babies.\p…Erm, what was his name now?$" -gUnknown_81C5E91:: @ 81C5E91 +gOakText_AskRivalName:: @ 81C5E91 .string "Your rival’s name, what was it now?$" -gUnknown_81C5EB5:: @ 81C5EB5 +gOakText_ConfirmRivalName:: @ 81C5EB5 .string "…Er, was it {RIVAL}?$" -gUnknown_81C5EC5:: @ 81C5EC5 +gOakText_RememberRivalName:: @ 81C5EC5 .string "That’s right! I remember now!\n" .string "His name is {RIVAL}!\p$" -gUnknown_81C5EF4:: @ 81C5EF4 +gOakText_LegendAboutToUnfold:: @ 81C5EF4 .string "{PLAYER}!\pYour very own POKéMON legend is\n" .string "about to unfold!\pA world of dreams and adventures\n" .string "with POKéMON awaits! Let’s go!$" diff --git a/data/oak_speech/unk_8462A10.png b/data/oak_speech/unk_8462A10.png Binary files differindex 324529e90..2c8e425d2 100644 --- a/data/oak_speech/unk_8462A10.png +++ b/data/oak_speech/unk_8462A10.png diff --git a/data/oak_speech/unk_8462B74.png b/data/oak_speech/unk_8462B74.png Binary files differindex 674cef46d..71644c355 100644 --- a/data/oak_speech/unk_8462B74.png +++ b/data/oak_speech/unk_8462B74.png diff --git a/data/oak_speech/unk_8462D34.png b/data/oak_speech/unk_8462D34.png Binary files differindex 56715aadb..e85cbfa9c 100644 --- a/data/oak_speech/unk_8462D34.png +++ b/data/oak_speech/unk_8462D34.png diff --git a/data/oak_speech/unk_8462E18.png b/data/oak_speech/unk_8462E18.png Binary files differindex f6796f724..5e2fd80c0 100644 --- a/data/oak_speech/unk_8462E18.png +++ b/data/oak_speech/unk_8462E18.png diff --git a/data/roamer.s b/data/roamer.s deleted file mode 100644 index a17d9d26b..000000000 --- a/data/roamer.s +++ /dev/null @@ -1,5 +0,0 @@ - .section .rodata - .align 2 - -gUnknown_8466C58:: @ 8466C58 - .incbin "baserom.gba", 0x466C58, 0xB8 diff --git a/data/specials.inc b/data/specials.inc index 56b666207..33cc5736b 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -306,7 +306,7 @@ gSpecials:: @ 815FD60 def_special ScrSpecial_AreLeadMonEVsMaxedOut def_special sub_8069740 def_special sub_8069768 - def_special sub_8141D9C + def_special InitRoamer def_special nullsub_75 def_special sub_80CA804 def_special nullsub_75 @@ -363,7 +363,7 @@ gSpecials:: @ 815FD60 def_special GetDaycarePokemonCount def_special sub_80CB63C def_special sub_80CBD80 - def_special sub_80CBDB0 + def_special ScrSpecial_GetStarter def_special sub_80CBDCC def_special sub_810C444 def_special sub_80CC7B4 diff --git a/include/constants/vars.h b/include/constants/vars.h index 886bae93c..2f817fb02 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -54,7 +54,7 @@ #define VAR_0x402F 0x402F #define VAR_0x4030 0x4030 -#define VAR_0x4031 0x4031 +#define VAR_STARTER_MON 0x4031 #define VAR_0x4032 0x4032 #define VAR_ENIGMA_BERRY_AVAILABLE 0x4033 diff --git a/include/event_scripts.h b/include/event_scripts.h index d925f4b52..1762faf8e 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -705,71 +705,71 @@ extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni3[]; extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni4[]; extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni5[]; -extern const u8 gUnknown_81C574F[]; -extern const u8 gUnknown_81C5758[]; -extern const u8 gUnknown_81C575E[]; -extern const u8 gUnknown_81C575E[]; -extern const u8 gUnknown_81C5767[]; -extern const u8 gUnknown_81C5767[]; -extern const u8 gUnknown_81C576C[]; -extern const u8 gUnknown_81C5771[]; -extern const u8 gUnknown_81C5775[]; -extern const u8 gUnknown_81C577A[]; -extern const u8 gUnknown_81C577E[]; -extern const u8 gUnknown_81C5783[]; -extern const u8 gUnknown_81C5788[]; -extern const u8 gUnknown_81C578C[]; -extern const u8 gUnknown_81C5792[]; -extern const u8 gUnknown_81C5797[]; -extern const u8 gUnknown_81C579D[]; -extern const u8 gUnknown_81C57A2[]; -extern const u8 gUnknown_81C57A9[]; -extern const u8 gUnknown_81C57AF[]; -extern const u8 gUnknown_81C57B4[]; -extern const u8 gUnknown_81C57B8[]; -extern const u8 gUnknown_81C57BC[]; -extern const u8 gUnknown_81C57C2[]; -extern const u8 gUnknown_81C57C6[]; -extern const u8 gUnknown_81C57CB[]; -extern const u8 gUnknown_81C57D0[]; -extern const u8 gUnknown_81C57D4[]; -extern const u8 gUnknown_81C57D9[]; -extern const u8 gUnknown_81C57E0[]; -extern const u8 gUnknown_81C57E8[]; -extern const u8 gUnknown_81C57EE[]; -extern const u8 gUnknown_81C57F4[]; -extern const u8 gUnknown_81C57FA[]; -extern const u8 gUnknown_81C57FF[]; -extern const u8 gUnknown_81C5806[]; -extern const u8 gUnknown_81C580A[]; -extern const u8 gUnknown_81C580F[]; -extern const u8 gUnknown_81C5814[]; -extern const u8 gUnknown_81C5819[]; -extern const u8 gUnknown_81C581F[]; -extern const u8 gUnknown_81C5823[]; -extern const u8 gUnknown_81C5828[]; -extern const u8 gUnknown_81C582D[]; -extern const u8 gUnknown_81C5875[]; -extern const u8 gUnknown_81C58BA[]; -extern const u8 gUnknown_81C58F9[]; -extern const u8 gUnknown_81C592B[]; -extern const u8 gUnknown_81C594F[]; -extern const u8 gUnknown_81C5981[]; -extern const u8 gUnknown_81C59D5[]; -extern const u8 gUnknown_81C5A04[]; -extern const u8 gUnknown_81C5AEB[]; -extern const u8 gUnknown_81C5BB9[]; -extern const u8 gUnknown_81C5C78[]; -extern const u8 gUnknown_81C5D06[]; -extern const u8 gUnknown_81C5D12[]; -extern const u8 gUnknown_81C5D4B[]; -extern const u8 gUnknown_81C5DBD[]; -extern const u8 gUnknown_81C5DEA[]; -extern const u8 gUnknown_81C5E13[]; -extern const u8 gUnknown_81C5E2E[]; -extern const u8 gUnknown_81C5E91[]; -extern const u8 gUnknown_81C5EB5[]; -extern const u8 gUnknown_81C5EC5[]; -extern const u8 gUnknown_81C5EF4[]; +extern const u8 gOtherText_NewName[]; +extern const u8 gNameChoice_Green[]; +extern const u8 gNameChoice_Red[]; +extern const u8 gNameChoice_Red[]; +extern const u8 gNameChoice_Fire[]; +extern const u8 gNameChoice_Fire[]; +extern const u8 gNameChoice_Gary[]; +extern const u8 gNameChoice_Kaz[]; +extern const u8 gNameChoice_Toru[]; +extern const u8 gNameChoice_Ash[]; +extern const u8 gNameChoice_Kene[]; +extern const u8 gNameChoice_Geki[]; +extern const u8 gNameChoice_Jak[]; +extern const u8 gNameChoice_Janne[]; +extern const u8 gNameChoice_Jonn[]; +extern const u8 gNameChoice_Kamon[]; +extern const u8 gNameChoice_Karl[]; +extern const u8 gNameChoice_Taylor[]; +extern const u8 gNameChoice_Oscar[]; +extern const u8 gNameChoice_Hiro[]; +extern const u8 gNameChoice_Max[]; +extern const u8 gNameChoice_Jon[]; +extern const u8 gNameChoice_Ralph[]; +extern const u8 gNameChoice_Kay[]; +extern const u8 gNameChoice_Tosh[]; +extern const u8 gNameChoice_Roak[]; +extern const u8 gNameChoice_Omi[]; +extern const u8 gNameChoice_Jodi[]; +extern const u8 gNameChoice_Amanda[]; +extern const u8 gNameChoice_Hillary[]; +extern const u8 gNameChoice_Makey[]; +extern const u8 gNameChoice_Michi[]; +extern const u8 gNameChoice_Paula[]; +extern const u8 gNameChoice_June[]; +extern const u8 gNameChoice_Cassie[]; +extern const u8 gNameChoice_Rey[]; +extern const u8 gNameChoice_Seda[]; +extern const u8 gNameChoice_Kiko[]; +extern const u8 gNameChoice_Mina[]; +extern const u8 gNameChoice_Norie[]; +extern const u8 gNameChoice_Sai[]; +extern const u8 gNameChoice_Momo[]; +extern const u8 gNameChoice_Suzi[]; +extern const u8 gNewGame_HelpDocs1[]; +extern const u8 gNewGame_HelpDocs2[]; +extern const u8 gNewGame_HelpDocs3[]; +extern const u8 gNewGame_HelpDocs4[]; +extern const u8 gNewGame_HelpDocs5[]; +extern const u8 gNewGame_HelpDocs6[]; +extern const u8 gNewGame_HelpDocs7[]; +extern const u8 gOakText_AskPlayerGender[]; +extern const u8 gNewGameAdventureIntro1[]; +extern const u8 gNewGameAdventureIntro2[]; +extern const u8 gNewGameAdventureIntro3[]; +extern const u8 gOakText_WelcomeToTheWorld[]; +extern const u8 gOakText_WorldInhabited1[]; +extern const u8 gOakText_WorldInhabited2[]; +extern const u8 gOakText_PetsBattlingStudy[]; +extern const u8 gOakText_TellMeALittleAboutYourself[]; +extern const u8 gOakText_AskPlayerName[]; +extern const u8 gOakText_FinalizePlayerName[]; +extern const u8 gOakText_IntroduceRival[]; +extern const u8 gOakText_AskRivalName[]; +extern const u8 gOakText_ConfirmRivalName[]; +extern const u8 gOakText_RememberRivalName[]; +extern const u8 gOakText_LegendAboutToUnfold[]; #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_specials.h b/include/field_specials.h index 2d495fdd5..c1bc8e8c9 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -6,5 +6,6 @@ u8 GetLeadMonIndex(void); u8 CountDigits(u16 number); void TV_PrintIntToStringVar(u8, int); +u16 ScrSpecial_GetStarter(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/help_system.h b/include/help_system.h index 0192809fc..3ef5f53e4 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -6,6 +6,6 @@ extern bool8 gUnknown_3005ECC; void sub_812B484(void); -void sub_812B1F0(u8); +void HelpSystem_SetSomeVariable2(u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/menu.h b/include/menu.h index 3394603c8..f26c7efde 100644 --- a/include/menu.h +++ b/include/menu.h @@ -38,12 +38,15 @@ void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSp void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); void sub_810F4D8(u8 windowId, bool32 someBool); void *sub_80F68F0(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); -void sub_810F558(u8, u8, u8, u8, u16); -void sub_810F650(const u8 *, const u8 *, u8, u32, u8); -void sub_810F5E8(const u8 *, u32, u8); +void CreateWindow_SnapRight_StdPal(u8, u8, u8, u8, u16); +void Menu_PrintHelpSystemUIHeader(const u8 *, const u8 *, u8, u32, u8); +void PrintTextOnRightSnappedWindow(const u8 *, u32, u8); void sub_810F71C(void); void sub_810F740(void); -void sub_810F7D8(u8, u8, u8, u8, u8, u8, u8); +u8 ProgramAndPlaceMenuCursorOnWindow(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPosition); void sub_810FF60(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8); +void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority); +bool8 IsBlendTaskActive(void); + #endif // GUARD_MENU_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 0157896cb..fe8b5b754 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -15,18 +15,18 @@ void sub_8197434(u8 a0, u8 a1); void SetStandardWindowBorderStyle(u8 a0, u8 a1); void sub_8197930(void); u8 GetPlayerTextSpeed(void); -void sub_80F6F54(u8, u8); -u8 sub_80F78A8(void); +void ClearDialogWindowAndFrame(u8, u8); +u8 GetTextSpeedSetting(void); void sub_80F6E9C(void); -void sub_80F6EE4(u8 windowId, bool8 transfer); +void DrawDialogueFrame(u8 windowId, bool8 transfer); void sub_80F7974(const u8 *); u8 GetStartMenuWindowId(void); void sub_80F7998(void); void sub_80F69E8(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); -void sub_80F6F1C(u8 windowId, bool8 copyNow); -void sub_80F6C6C(void); -void sub_80F6C98(void); -void sub_80F77CC(u16); +void DrawStdWindowFrame(u8 windowId, bool8 copyNow); +void InitStandardTextBoxWindows(void); +void ResetBg0(void); +void Menu_LoadStdPalAt(u16); void * malloc_and_decompress(const void * src, u32 * size); u16 sub_80F796C(void); diff --git a/include/oak_speech.h b/include/oak_speech.h index 5ee916b86..d5d94bc83 100644 --- a/include/oak_speech.h +++ b/include/oak_speech.h @@ -1,7 +1,6 @@ #ifndef GUARD_OAK_SPEECH_H #define GUARD_OAK_SPEECH_H -void OakSpeech_StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority); -bool8 OakSpeech_IsBlendTaskActive(void); +void StartNewGameScene(void); #endif //GUARD_OAK_SPEECH_H diff --git a/include/pokemon_3.h b/include/pokemon_3.h index f6226f40d..e65bc85fc 100644 --- a/include/pokemon_3.h +++ b/include/pokemon_3.h @@ -5,7 +5,7 @@ const u8* GetTrainerClassNameFromId(u16 trainerId); const u8* GetTrainerNameFromId(u16 trainerId); -void sub_8044AF0(u8, u8); +void * SetUpMonSpriteManagerMaybe(u8, u8); void sub_8044D80(void); void * sub_8044E00(u8 buffId); diff --git a/include/text.h b/include/text.h index c8835fbde..d2c2ecf42 100644 --- a/include/text.h +++ b/include/text.h @@ -250,7 +250,7 @@ s32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese); s32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese); s32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese); void sub_80062B0(struct Sprite *sprite); -u8 sub_8006300(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority); +u8 CreateTextCursorSpriteForOakSpeech(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority); void sub_8006398(u8 spriteId); #endif // GUARD_TEXT_H diff --git a/ld_script.txt b/ld_script.txt index eb38837ef..52e4ff197 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -240,7 +240,7 @@ SECTIONS { asm/itemfinder.o(.text); asm/buy_menu_helpers.o(.text); asm/slot_machine.o(.text); - asm/roamer.o(.text); + src/roamer.o(.text); asm/mystery_gift_menu.o(.text); asm/link_rfu_4.o(.text); src/mevent.o(.text); @@ -395,7 +395,7 @@ SECTIONS { data/itemfinder.o(.rodata); data/buy_menu_helpers.o(.rodata); data/slot_machine.o(.rodata); - data/roamer.o(.rodata); + src/roamer.o(.rodata); data/mystery_gift_menu.o(.rodata); data/link_rfu_4.o(.rodata); src/mevent.o(.rodata); diff --git a/src/fame_checker.c b/src/fame_checker.c index 855e9d157..29b888a32 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -779,7 +779,7 @@ static void GetPickModeText(void) if (HasUnlockedAllFlavorTextsForCurrentPerson() == TRUE) offset = NUM_FAMECHECKER_PERSONS; StringExpandPlaceholders(gStringVar4, sFameCheckerNameAndQuotesPointers[sFameCheckerData->unlockedPersons[who] + offset]); - AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); + AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } } @@ -790,7 +790,7 @@ static void PrintSelectedNameInBrightGreen(u8 taskId) u16 cursorPos = FameCheckerGetCursorY(); FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); StringExpandPlaceholders(gStringVar4, sFameCheckerFlavorTextPointers[sFameCheckerData->unlockedPersons[cursorPos] * 6 + data[1]]); - AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); + AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } @@ -803,7 +803,7 @@ static void WipeMsgBoxAndTransfer(void) static void Setup_DrawMsgAndListBoxes(void) { sub_80F6E9C(); - sub_80F6EE4(FCWINDOWID_MSGBOX, TRUE); + DrawDialogueFrame(FCWINDOWID_MSGBOX, TRUE); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_LIST); } diff --git a/src/menu2.c b/src/menu2.c index e83b1bff2..ec244b8f7 100644 --- a/src/menu2.c +++ b/src/menu2.c @@ -768,7 +768,7 @@ void sub_819A080(void * a0, void * a1, u16 a2, u16 a3, u16 a4, u16 a5, u16 a6, u #define tEvWhich data[6] #define tEvStepCount data[8] -void OakSpeech_StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority) +void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority) { u8 taskId = CreateTask(Task_SmoothBlendLayers, priority); gTasks[taskId].tEvA = eva_start << 8; @@ -781,7 +781,7 @@ void OakSpeech_StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end SetGpuReg(REG_OFFSET_BLDALPHA, (evb_start << 8) | eva_start); } -bool8 OakSpeech_IsBlendTaskActive(void) +bool8 IsBlendTaskActive(void) { return FuncIsActiveTask(Task_SmoothBlendLayers); } diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index c39d76f25..65f515d1b 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -58,7 +58,7 @@ void sub_8145D18(u8 whichWindow); void sub_8146060(void); void sub_81461D8(void); -extern const struct OamData gUnknown_83AC9F8; +extern const struct OamData gOamData_83AC9F8; const struct TextColor gUnknown_8467068[] = { {0, 2, 3}, @@ -113,7 +113,7 @@ const struct SpritePalette gUnknown_8467F60[] = { {gUnknown_8467ED4, 0x8000} }; const struct SpriteTemplate gUnknown_8467FA0 = { - 0x8000, 0x8000, &gUnknown_83AC9F8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + 0x8000, 0x8000, &gOamData_83AC9F8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; const struct UnkStruct_8467FB8 gUnknown_8467FB8[8] = { {1, 0, 0, 0, gUnknown_846718C, gUnknown_8467288, gUnknown_846708C}, diff --git a/src/oak_speech.c b/src/oak_speech.c index 056dbd56b..2e58e801d 100644 --- a/src/oak_speech.c +++ b/src/oak_speech.c @@ -30,15 +30,15 @@ struct OakSpeechResources { - void * unk_0000; - void * unk_0004; + void * solidColorsGfx; + void * trainerPicTilemapBuffer; void * unk_0008; u8 filler_000C[4]; u16 unk_0010; u16 unk_0012; u16 unk_0014[4]; u8 unk_001C[3]; - u8 unk_001F; + u8 textSpeed; u8 filler_0020[0x1800]; u8 bg2TilemapBuffer[0x400]; u8 bg1TilemapBuffer[0x800]; @@ -46,96 +46,96 @@ struct OakSpeechResources EWRAM_DATA struct OakSpeechResources * sOakSpeechResources = NULL; -static void sub_812EB58(u8 taskId); -static void sub_812EEB0(void); -static void sub_812F0B0(u8 taskId); -static void sub_812F180(u8 taskId); -static void sub_812F274(u8 taskId); -static void sub_812F33C(u8 taskId); -static void sub_812F4A8(u8 taskId); -static void sub_812F72C(u8 taskId); -static void sub_812F7C0(u8 taskId); -static void sub_812F880(u8 taskId); -static void sub_812F880(u8 taskId); -static void sub_812F944(u8 taskId); -static void sub_812F9EC(u8 taskId); -static void sub_812FA78(u8 taskId); -static void sub_812FB4C(u8 taskId); -static void sub_812FBF0(u8 taskId); -static void sub_812FC68(u8 taskId); -static void sub_812FD78(u8 taskId); -static void sub_812FDC0(u8 taskId); -static void sub_812FE88(u8 taskId); -static void sub_812FFA4(u8 taskId); -static void sub_812FFF0(u8 taskId); -static void sub_8130050(u8 taskId); -static void sub_81300A0(u8 taskId); -static void sub_8130160(u8 taskId); -static void sub_8130324(u8 taskId); -static void sub_81303B4(u8 taskId); -static void sub_8130464(u8 taskId); -static void sub_8130554(u8 taskId); -static void sub_8130650(u8 taskId); -static void sub_8130694(u8 taskId); -static void sub_81306D4(u8 taskId); -static void sub_813071C(u8 taskId); -static void sub_81307D0(u8 taskId); -static void sub_8130858(u8 taskId); -static void sub_81308D0(u8 taskId); -static void sub_8130914(u8 taskId); -static void sub_8130940(u8 taskId); -static void sub_8130980(u8 taskId); -static void sub_8130A38(u8 taskId); -static void sub_8130A80(u8 taskId); -static void sub_8130ADC(u8 taskId); -static void sub_8130B10(u8 taskId); -static void sub_8130BA8(u8 taskId); -static void sub_8130BF0(u8 taskId); -static void sub_8130C20(u8 taskId); +static void Task_OaksSpeech1(u8 taskId); +static void CreateHelpDocsPage1(void); +static void Task_OaksSpeech2(u8 taskId); +static void Task_OakSpeech3(u8 taskId); +static void Task_OakSpeech5(u8 taskId); +static void Task_OakSpeech6(u8 taskId); +static void Task_OakSpeech7(u8 taskId); +static void Task_OakSpeech8(u8 taskId); +static void Task_OakSpeech9(u8 taskId); +static void Task_OakSpeech10(u8 taskId); +static void Task_OakSpeech10(u8 taskId); +static void Task_OakSpeech11(u8 taskId); +static void Task_OakSpeech12(u8 taskId); +static void Task_OakSpeech13(u8 taskId); +static void Task_OakSpeech14(u8 taskId); +static void Task_OakSpeech15(u8 taskId); +static void Task_OakSpeech16(u8 taskId); +static void Task_OakSpeech17(u8 taskId); +static void Task_OakSpeech18(u8 taskId); +static void Task_OakSpeech19(u8 taskId); +static void Task_OakSpeech20(u8 taskId); +static void Task_OakSpeech21(u8 taskId); +static void Task_OakSpeech22(u8 taskId); +static void Task_OakSpeech23(u8 taskId); +static void Task_OakSpeech24(u8 taskId); +static void Task_OakSpeech29(u8 taskId); +static void Task_OakSpeech25(u8 taskId); +static void Task_OakSpeech26(u8 taskId); +static void Task_OakSpeech27(u8 taskId); +static void Task_OakSpeech30(u8 taskId); +static void Task_OakSpeech31(u8 taskId); +static void Task_OakSpeech32(u8 taskId); +static void Task_OakSpeech34(u8 taskId); +static void Task_OakSpeech33(u8 taskId); +static void Task_OakSpeech36(u8 taskId); +static void Task_OakSpeech37(u8 taskId); +static void Task_OakSpeech38(u8 taskId); +static void Task_OakSpeech38_3(u8 taskId); +static void Task_OakSpeech39(u8 taskId); +static void Task_OakSpeech38_1(u8 taskId); +static void Task_OakSpeech38_sub1(u8 taskId); +static void Task_OakSpeech38_2(u8 taskId); +static void Task_OakSpeech38_sub2(u8 taskId); +static void Task_OakSpeech40(u8 taskId); +static void Task_OakSpeech41(u8 taskId); +static void Task_OakSpeech42(u8 taskId); static void CB2_ReturnFromNamingScreen(void); static void CreateNidoranFSprite(u8 taskId); -static void sub_8130FD4(u8 taskId, u8 state); -static void sub_8131168(u8 taskId, u8 state); -static void sub_81311F4(u16 whichPic, u16 tileOffset); -static void sub_8131310(void); -static void sub_813144C(u8 taskId, u8 state); -static void sub_81315CC(u8 taskId, u8 state); -static void sub_8131660(u8 taskId, u8 state); -static void sub_8131754(u8 arg0, u8 namePick); - -extern const u8 gUnknown_8415D2C[]; -extern const u8 gUnknown_8415D48[]; -extern const u8 gUnknown_8415D50[]; -extern const u8 gUnknown_8415D93[]; -extern const u8 gUnknown_8415D97[]; +static void CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(u8 taskId, u8 state); +static void DestroyLinkedPikaOrGrassPlatformSprites(u8 taskId, u8 state); +static void LoadOaksSpeechTrainerPic(u16 whichPic, u16 tileOffset); +static void DestroyOaksSpeechTrainerPic(void); +static void CreateFadeInTask(u8 taskId, u8 state); +static void CreateFadeOutTask(u8 taskId, u8 state); +static void PrintNameChoiceOptions(u8 taskId, u8 state); +static void GetDefaultName(u8 arg0, u8 namePick); + +extern const u8 gText_Controls[]; +extern const u8 gText_ABUTTONNext[]; +extern const u8 gText_ABUTTONNext_BBUTTONBack[]; +extern const u8 gText_Boy[]; +extern const u8 gText_Girl[]; extern const struct CompressedSpriteSheet gUnknown_8235194[]; extern const struct CompressedSpritePalette gUnknown_82373F4; -ALIGNED(4) const u16 gUnknown_8460568[] = INCBIN_U16("data/oak_speech/unk_8460568.gbapal"); -static const u32 gUnknown_84605E8[] = INCBIN_U32("data/oak_speech/unk_84605E8.4bpp.lz"); -static const u32 gUnknown_8460BA8[] = INCBIN_U32("data/oak_speech/unk_8460BA8.bin.lz"); -static const u32 gUnknown_8460CA4[] = INCBIN_U32("data/oak_speech/unk_8460CA4.4bpp.lz"); -static const u32 gUnknown_8460CE8[] = INCBIN_U32("data/oak_speech/unk_8460CE8.bin.lz"); -static const u16 gUnknown_8460D94[] = INCBIN_U16("data/oak_speech/unk_8460D94.bin"); -static const u16 gUnknown_8460E34[] = INCBIN_U16("data/oak_speech/unk_8460E34.bin"); -static const u16 gUnknown_8460ED4[] = INCBIN_U16("data/oak_speech/unk_8460ED4.gbapal"); -static const u32 gUnknown_8460F14[] = INCBIN_U32("data/oak_speech/unk_8460F14.8bpp.lz"); -static const u16 gUnknown_84615FC[] = INCBIN_U16("data/oak_speech/unk_84615FC.gbapal"); -static const u32 gUnknown_846163C[] = INCBIN_U32("data/oak_speech/unk_846163C.8bpp.lz"); -static const u16 gUnknown_8461CD4[] = INCBIN_U16("data/oak_speech/unk_8461CD4.gbapal"); -static const u32 gUnknown_8461D14[] = INCBIN_U32("data/oak_speech/unk_8461D14.8bpp.lz"); -static const u16 gUnknown_84623AC[] = INCBIN_U16("data/oak_speech/unk_84623AC.gbapal"); -static const u32 gUnknown_84623EC[] = INCBIN_U32("data/oak_speech/unk_84623EC.8bpp.lz"); -static const u16 gUnknown_84629D0[] = INCBIN_U16("data/oak_speech/unk_84629D0.gbapal"); -static const u16 gUnknown_84629F0[] = INCBIN_U16("data/oak_speech/unk_84629F0.gbapal"); -static const u32 gUnknown_8462A10[] = INCBIN_U32("data/oak_speech/unk_8462A10.4bpp.lz"); -static const u32 gUnknown_8462B74[] = INCBIN_U32("data/oak_speech/unk_8462B74.4bpp.lz"); -static const u32 gUnknown_8462D34[] = INCBIN_U32("data/oak_speech/unk_8462D34.4bpp.lz"); -static const u32 gUnknown_8462E18[] = INCBIN_U32("data/oak_speech/unk_8462E18.4bpp.lz"); - -static const struct BgTemplate gUnknown_8462E58[3] = { +ALIGNED(4) const u16 sHelpDocsPalette[] = INCBIN_U16("data/oak_speech/unk_8460568.gbapal"); +static const u32 sOakSpeechGfx_GameStartHelpUI[] = INCBIN_U32("data/oak_speech/unk_84605E8.4bpp.lz"); +static const u32 sNewGameAdventureIntroTilemap[] = INCBIN_U32("data/oak_speech/unk_8460BA8.bin.lz"); +static const u32 sOakSpeechGfx_SolidColors[] = INCBIN_U32("data/oak_speech/unk_8460CA4.4bpp.lz"); +static const u32 sOakSpeech_BackgroundTilemap[] = INCBIN_U32("data/oak_speech/unk_8460CE8.bin.lz"); +static const u16 sHelpDocsPage2Tilemap[] = INCBIN_U16("data/oak_speech/unk_8460D94.bin"); +static const u16 sHelpDocsPage3Tilemap[] = INCBIN_U16("data/oak_speech/unk_8460E34.bin"); +static const u16 sOakSpeechGfx_LeafPal[] = INCBIN_U16("data/oak_speech/unk_8460ED4.gbapal"); +static const u32 sOakSpeechGfx_LeafPic[] = INCBIN_U32("data/oak_speech/unk_8460F14.8bpp.lz"); +static const u16 sOakSpeechGfx_RedPal[] = INCBIN_U16("data/oak_speech/unk_84615FC.gbapal"); +static const u32 sOakSpeechGfx_RedPic[] = INCBIN_U32("data/oak_speech/unk_846163C.8bpp.lz"); +static const u16 sOakSpeechGfx_OakPal[] = INCBIN_U16("data/oak_speech/unk_8461CD4.gbapal"); +static const u32 sOakSpeechGfx_OakPic[] = INCBIN_U32("data/oak_speech/unk_8461D14.8bpp.lz"); +static const u16 sOakSpeechGfx_RivalPal[] = INCBIN_U16("data/oak_speech/unk_84623AC.gbapal"); +static const u32 sOakSpeechGfx_RivalPic[] = INCBIN_U32("data/oak_speech/unk_84623EC.8bpp.lz"); +static const u16 sOakSpeech_GrassPlatformPalette[] = INCBIN_U16("data/oak_speech/unk_84629D0.gbapal"); +static const u16 sOakSpeech_PikaPalette[] = INCBIN_U16("data/oak_speech/unk_84629F0.gbapal"); +static const u32 sOakSpeechGfx_GrassPlatform[] = INCBIN_U32("data/oak_speech/unk_8462A10.4bpp.lz"); +static const u32 sOakSpeechGfx_Pika1[] = INCBIN_U32("data/oak_speech/unk_8462B74.4bpp.lz"); +static const u32 sOakSpeechGfx_Pika2[] = INCBIN_U32("data/oak_speech/unk_8462D34.4bpp.lz"); +static const u32 sOakSpeechGfx_PikaEyes[] = INCBIN_U32("data/oak_speech/unk_8462E18.4bpp.lz"); + +static const struct BgTemplate sBgTemplates[3] = { { .bg = 0, .charBaseIndex = 2, @@ -163,7 +163,7 @@ static const struct BgTemplate gUnknown_8462E58[3] = { } }; -static const struct WindowTemplate gUnknown_8462E64[] = { +static const struct WindowTemplate sHelpDocsWindowTemplates1[] = { { .priority = 0x00, .tilemapLeft = 0x00, @@ -175,7 +175,7 @@ static const struct WindowTemplate gUnknown_8462E64[] = { }, DUMMY_WIN_TEMPLATE }; -static const struct WindowTemplate gUnknown_8462E74[] = { +static const struct WindowTemplate sHelpDocsWindowTemplates2[] = { { .priority = 0x00, .tilemapLeft = 0x06, @@ -203,7 +203,7 @@ static const struct WindowTemplate gUnknown_8462E74[] = { }, DUMMY_WIN_TEMPLATE }; -static const struct WindowTemplate gUnknown_8462E94[] = { +static const struct WindowTemplate sHelpDocsWindowTemplates3[] = { { .priority = 0x00, .tilemapLeft = 0x06, @@ -231,13 +231,13 @@ static const struct WindowTemplate gUnknown_8462E94[] = { }, DUMMY_WIN_TEMPLATE }; -static const struct WindowTemplate *const gUnknown_8462EB4[3] = { - gUnknown_8462E64, - gUnknown_8462E74, - gUnknown_8462E94 +static const struct WindowTemplate *const sHelpDocsWindowTemplatePtrs[3] = { + sHelpDocsWindowTemplates1, + sHelpDocsWindowTemplates2, + sHelpDocsWindowTemplates3 }; -static const struct WindowTemplate gUnknown_8462EC0[] = { +static const struct WindowTemplate sNewGameAdventureIntroWindowTemplates[] = { { .priority = 0x00, .tilemapLeft = 0x01, @@ -273,77 +273,78 @@ static const struct WindowTemplate gUnknown_8462EC0[] = { }, DUMMY_WIN_TEMPLATE }; -ALIGNED(4) const struct TextColor gUnknown_8462EE8 = { +ALIGNED(4) const struct TextColor sTextColor_HelpSystem = { 0x00, 0x01, 0x02 }; -ALIGNED(4) const struct TextColor gUnknown_8462EEC = { +ALIGNED(4) const struct TextColor sTextColor_OakSpeech = { 0x00, 0x02, 0x03 }; -static const u8 *const gUnknown_8462EF0[] = { - gUnknown_81C5A04, - gUnknown_81C5AEB, - gUnknown_81C5BB9 +static const u8 *const sNewGameAdventureIntroTextPointers[] = { + gNewGameAdventureIntro1, + gNewGameAdventureIntro2, + gNewGameAdventureIntro3 }; -static const struct CompressedSpriteSheet gUnknown_8462EFC[3] = { - { (const void *)gUnknown_8462B74, 0x0400, 0x1001 }, - { (const void *)gUnknown_8462D34, 0x0200, 0x1002 }, - { (const void *)gUnknown_8462E18, 0x0080, 0x1003 }, +static const struct CompressedSpriteSheet sOakSpeech_PikaSpriteSheets[3] = { + { (const void *)sOakSpeechGfx_Pika1, 0x0400, 0x1001 }, + { (const void *)sOakSpeechGfx_Pika2, 0x0200, 0x1002 }, + { (const void *)sOakSpeechGfx_PikaEyes, 0x0080, 0x1003 }, }; -static const struct CompressedSpriteSheet gUnknown_8462F14 = { - (const void *)gUnknown_8462A10, 0x0600, 0x1000 +static const struct CompressedSpriteSheet sOakSpeech_GrassPlatformSpriteSheet = { + (const void *)sOakSpeechGfx_GrassPlatform, 0x0600, 0x1000 }; -static const struct SpritePalette gUnknown_8462F1C = { - (const void *)gUnknown_84629F0, 0x1001 +static const struct SpritePalette sOakSpeech_PikaSpritePal = { + (const void *)sOakSpeech_PikaPalette, 0x1001 }; -static const struct SpritePalette gUnknown_8462F24 = { - (const void *)gUnknown_84629D0, 0x1000 + +static const struct SpritePalette sOakSpeech_GrassPlatformSpritePal = { + (const void *)sOakSpeech_GrassPlatformPalette, 0x1000 }; -static const union AnimCmd gUnknown_8462F2C[] = { +static const union AnimCmd sGrassPlatformAnim1[] = { ANIMCMD_FRAME( 0, 0), ANIMCMD_END }; -static const union AnimCmd gUnknown_8462F34[] = { +static const union AnimCmd sGrassPlatformAnim2[] = { ANIMCMD_FRAME(16, 0), ANIMCMD_END }; -static const union AnimCmd gUnknown_8462F3C[] = { +static const union AnimCmd sGrassPlatformAnim3[] = { ANIMCMD_FRAME(32, 0), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_8462F44[] = { - gUnknown_8462F2C +static const union AnimCmd *const sGrassPlatformAnims1[] = { + sGrassPlatformAnim1 }; -static const union AnimCmd *const gUnknown_8462F48[] = { - gUnknown_8462F34 +static const union AnimCmd *const sGrassPlatformAnims2[] = { + sGrassPlatformAnim2 }; -static const union AnimCmd *const gUnknown_8462F4C[] = { - gUnknown_8462F3C +static const union AnimCmd *const sGrassPlatformAnims3[] = { + sGrassPlatformAnim3 }; -extern const struct OamData gUnknown_83ACAF8; +extern const struct OamData gOamData_83ACAF8; -static const struct SpriteTemplate gUnknown_8462F50[3] = { - { 0x1000, 0x1000, &gUnknown_83ACAF8, gUnknown_8462F44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, - { 0x1000, 0x1000, &gUnknown_83ACAF8, gUnknown_8462F48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, - { 0x1000, 0x1000, &gUnknown_83ACAF8, gUnknown_8462F4C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, +static const struct SpriteTemplate sOakSpeech_GrassPlatformSpriteTemplates[3] = { + { 0x1000, 0x1000, &gOamData_83ACAF8, sGrassPlatformAnims1, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1000, 0x1000, &gOamData_83ACAF8, sGrassPlatformAnims2, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1000, 0x1000, &gOamData_83ACAF8, sGrassPlatformAnims3, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, }; -static const union AnimCmd gUnknown_8462F98[] = { +static const union AnimCmd sPikaAnim1[] = { ANIMCMD_FRAME( 0, 30), ANIMCMD_FRAME(16, 30), ANIMCMD_JUMP(0) }; -static const union AnimCmd gUnknown_8462FA4[] = { +static const union AnimCmd sPikaAnim2[] = { ANIMCMD_FRAME(0, 60), ANIMCMD_FRAME(0, 60), ANIMCMD_FRAME(0, 60), @@ -362,7 +363,7 @@ static const union AnimCmd gUnknown_8462FA4[] = { ANIMCMD_JUMP(0) }; -static const union AnimCmd gUnknown_8462FE4[] = { +static const union AnimCmd sPikaAnim3[] = { ANIMCMD_FRAME(0, 60), ANIMCMD_FRAME(0, 60), ANIMCMD_FRAME(0, 60), @@ -380,94 +381,90 @@ static const union AnimCmd gUnknown_8462FE4[] = { ANIMCMD_JUMP(0) }; -static const union AnimCmd *const gUnknown_8463020[] = { - gUnknown_8462F98 +static const union AnimCmd *const sPikaAnims1[] = { + sPikaAnim1 }; -static const union AnimCmd *const gUnknown_8463024[] = { - gUnknown_8462FA4 +static const union AnimCmd *const sPikaAnims2[] = { + sPikaAnim2 }; -static const union AnimCmd *const gUnknown_8463028[] = { - gUnknown_8462FE4 +static const union AnimCmd *const sPikaAnims3[] = { + sPikaAnim3 }; -extern const struct OamData gUnknown_83AC9D8; -extern const struct OamData gUnknown_83AC9F8; -extern const struct OamData gUnknown_83AC9E8; +extern const struct OamData gOamData_83AC9D8; +extern const struct OamData gOamData_83AC9F8; +extern const struct OamData gOamData_83AC9E8; -static const struct SpriteTemplate gUnknown_846302C[3] = { - { 0x1001, 0x1001, &gUnknown_83AC9D8, gUnknown_8463020, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, - { 0x1002, 0x1001, &gUnknown_83AC9F8, gUnknown_8463024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, - { 0x1003, 0x1001, &gUnknown_83AC9E8, gUnknown_8463028, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy } +static const struct SpriteTemplate sOakSpeech_PikaSpriteTemplates[3] = { + { 0x1001, 0x1001, &gOamData_83AC9D8, sPikaAnims1, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1002, 0x1001, &gOamData_83AC9F8, sPikaAnims2, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1003, 0x1001, &gOamData_83AC9E8, sPikaAnims3, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy } }; -static const u8 *const gUnknown_8463074[] = { - gUnknown_81C5875, - gUnknown_81C58BA, - gUnknown_81C58F9, - gUnknown_81C592B, - gUnknown_81C594F, - gUnknown_81C5981 +static const u8 *const sHelpDocsPtrs[] = { + gNewGame_HelpDocs2, gNewGame_HelpDocs3, gNewGame_HelpDocs4, + gNewGame_HelpDocs5, gNewGame_HelpDocs6, gNewGame_HelpDocs7 }; -static const u8 *const gUnknown_846308C[] = { - gUnknown_81C575E, - gUnknown_81C5767, - gUnknown_81C577A, - gUnknown_81C577E, - gUnknown_81C5783, - gUnknown_81C5788, - gUnknown_81C578C, - gUnknown_81C5792, - gUnknown_81C5797, - gUnknown_81C579D, - gUnknown_81C57A2, - gUnknown_81C57A9, - gUnknown_81C57AF, - gUnknown_81C57B4, - gUnknown_81C57B8, - gUnknown_81C57BC, - gUnknown_81C57C2, - gUnknown_81C57C6, - gUnknown_81C57CB +static const u8 *const sMaleNameChoices[] = { + gNameChoice_Red, + gNameChoice_Fire, + gNameChoice_Ash, + gNameChoice_Kene, + gNameChoice_Geki, + gNameChoice_Jak, + gNameChoice_Janne, + gNameChoice_Jonn, + gNameChoice_Kamon, + gNameChoice_Karl, + gNameChoice_Taylor, + gNameChoice_Oscar, + gNameChoice_Hiro, + gNameChoice_Max, + gNameChoice_Jon, + gNameChoice_Ralph, + gNameChoice_Kay, + gNameChoice_Tosh, + gNameChoice_Roak }; -static const u8 *const gUnknown_84630D8[] = { - gUnknown_81C575E, - gUnknown_81C5767, - gUnknown_81C57D0, - gUnknown_81C57D4, - gUnknown_81C57D9, - gUnknown_81C57E0, - gUnknown_81C57E8, - gUnknown_81C57EE, - gUnknown_81C57F4, - gUnknown_81C57FA, - gUnknown_81C57FF, - gUnknown_81C5806, - gUnknown_81C580A, - gUnknown_81C580F, - gUnknown_81C5814, - gUnknown_81C5819, - gUnknown_81C581F, - gUnknown_81C5823, - gUnknown_81C5828 +static const u8 *const sFemaleNameChoices[] = { + gNameChoice_Red, + gNameChoice_Fire, + gNameChoice_Omi, + gNameChoice_Jodi, + gNameChoice_Amanda, + gNameChoice_Hillary, + gNameChoice_Makey, + gNameChoice_Michi, + gNameChoice_Paula, + gNameChoice_June, + gNameChoice_Cassie, + gNameChoice_Rey, + gNameChoice_Seda, + gNameChoice_Kiko, + gNameChoice_Mina, + gNameChoice_Norie, + gNameChoice_Sai, + gNameChoice_Momo, + gNameChoice_Suzi }; -static const u8 *const gUnknown_8463124[] = { - gUnknown_81C5758, - gUnknown_81C576C, - gUnknown_81C5771, - gUnknown_81C5775 +static const u8 *const sRivalNameChoices[] = { + gNameChoice_Green, + gNameChoice_Gary, + gNameChoice_Kaz, + gNameChoice_Toru }; -static void sub_812EAFC(void) +static void VBlankCB_NewGameOaksSpeech(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -static void sub_812EB10(void) +static void CB2_NewGameOaksSpeech(void) { RunTasks(); RunTextPrinters(); @@ -476,15 +473,15 @@ static void sub_812EB10(void) UpdatePaletteFade(); } -void sub_812EB2C(void) +void StartNewGameScene(void) { gPlttBufferUnfaded[0] = RGB_BLACK; gPlttBufferFaded[0] = RGB_BLACK; - CreateTask(sub_812EB58, 0); - SetMainCallback2(sub_812EB10); + CreateTask(Task_OaksSpeech1, 0); + SetMainCallback2(CB2_NewGameOaksSpeech); } -static void sub_812EB58(u8 taskId) +static void Task_OaksSpeech1(u8 taskId) { switch (gMain.state) { @@ -499,11 +496,11 @@ static void sub_812EB58(u8 taskId) ResetSpriteData(); FreeAllSpritePalettes(); reset_temp_tile_data_buffers(); - sub_812B1F0(2); + HelpSystem_SetSomeVariable2(2); break; case 1: sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources)); - sub_8044AF0(1, 1); + SetUpMonSpriteManagerMaybe(1, 1); break; case 2: SetGpuReg(REG_OFFSET_WIN0H, 0); @@ -518,7 +515,7 @@ static void sub_812EB58(u8 taskId) break; case 3: ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(1, gUnknown_8462E58, NELEMS(gUnknown_8462E58)); + InitBgsFromTemplates(1, sBgTemplates, NELEMS(sBgTemplates)); SetBgTilemapBuffer(1, sOakSpeechResources->bg1TilemapBuffer); SetBgTilemapBuffer(2, sOakSpeechResources->bg2TilemapBuffer); ChangeBgX(1, 0, 0); @@ -530,32 +527,32 @@ static void sub_812EB58(u8 taskId) break; case 4: gPaletteFade.bufferTransferDisabled = TRUE; - sub_80F6C6C(); - sub_80F6C98(); - sub_80F77CC(0xD0); - LoadPalette(gUnknown_8460568, 0x000, 0x080); + InitStandardTextBoxWindows(); + ResetBg0(); + Menu_LoadStdPalAt(0xD0); + LoadPalette(sHelpDocsPalette, 0x000, 0x080); LoadPalette(stdpal_get(2) + 15, 0x000, 0x002); break; case 5: - sOakSpeechResources->unk_001F = sub_80F78A8(); + sOakSpeechResources->textSpeed = GetTextSpeedSetting(); gTextFlags.flag_0 = TRUE; - decompress_and_copy_tile_data_to_vram(1, gUnknown_84605E8, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(1, sOakSpeechGfx_GameStartHelpUI, 0, 0, 0); break; case 6: if (free_temp_tile_data_buffers_if_possible()) return; - sub_80F6F54(0, 1); + ClearDialogWindowAndFrame(0, 1); FillBgTilemapBufferRect_Palette0(1, 0x0000, 0, 0, 32, 32); CopyBgTilemapBufferToVram(1); break; case 7: - sub_810F558(0, 30, 0, 13, 0x1C4); + CreateWindow_SnapRight_StdPal(0, 30, 0, 13, 0x1C4); FillBgTilemapBufferRect_Palette0(1, 0xD00F, 0, 0, 30, 2); FillBgTilemapBufferRect_Palette0(1, 0xD002, 0, 2, 30, 1); FillBgTilemapBufferRect_Palette0(1, 0xD00E, 0, 19, 30, 1); - sub_812EEB0(); + CreateHelpDocsPage1(); gPaletteFade.bufferTransferDisabled = FALSE; - gTasks[taskId].data[5] = sub_8006300(0, 0xE6, 0x95, 0, 0); + gTasks[taskId].data[5] = CreateTextCursorSpriteForOakSpeech(0, 0xE6, 0x95, 0, 0); BlendPalettes(0xFFFFFFFF, 0x10, 0x00); break; case 10: @@ -563,9 +560,9 @@ static void sub_812EB58(u8 taskId) SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); ShowBg(0); ShowBg(1); - SetVBlankCallback(sub_812EAFC); + SetVBlankCallback(VBlankCB_NewGameOaksSpeech); PlayBGM(323); - gTasks[taskId].func = sub_812F0B0; + gTasks[taskId].func = Task_OaksSpeech2; gMain.state = 0; return; } @@ -573,53 +570,53 @@ static void sub_812EB58(u8 taskId) gMain.state++; } -static void sub_812EEB0(void) +static void CreateHelpDocsPage1(void) { - sub_810F650(gUnknown_8415D2C, gUnknown_8415D48, 0, 0, 1); - sOakSpeechResources->unk_0014[0] = AddWindow(gUnknown_8462EB4[sOakSpeechResources->unk_0012]); + Menu_PrintHelpSystemUIHeader(gText_Controls, gText_ABUTTONNext, 0, 0, 1); + sOakSpeechResources->unk_0014[0] = AddWindow(sHelpDocsWindowTemplatePtrs[sOakSpeechResources->unk_0012]); PutWindowTilemap(sOakSpeechResources->unk_0014[0]); FillWindowPixelBuffer(sOakSpeechResources->unk_0014[0], 0x00); - AddTextPrinterParametrized2(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, &gUnknown_8462EE8, 0, gUnknown_81C582D); + AddTextPrinterParametrized2(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, &sTextColor_HelpSystem, 0, gNewGame_HelpDocs1); CopyWindowToVram(sOakSpeechResources->unk_0014[0], 3); FillBgTilemapBufferRect_Palette0(1, 0x3000, 1, 3, 5, 16); CopyBgTilemapBufferToVram(1); } -static void sub_812EF50(u8 taskId) +static void Task_OakSpeech4(u8 taskId) { u8 i = 0; u8 r7 = sOakSpeechResources->unk_0012 - 1; if (sOakSpeechResources->unk_0012 == 0) { - sub_812EEB0(); + CreateHelpDocsPage1(); } else { - sub_810F5E8(gUnknown_8415D50, 0, 1); + PrintTextOnRightSnappedWindow(gText_ABUTTONNext_BBUTTONBack, 0, 1); for (i = 0; i < 3; i++) { - sOakSpeechResources->unk_0014[i] = AddWindow(&gUnknown_8462EB4[sOakSpeechResources->unk_0012][i]); + sOakSpeechResources->unk_0014[i] = AddWindow(&sHelpDocsWindowTemplatePtrs[sOakSpeechResources->unk_0012][i]); PutWindowTilemap(sOakSpeechResources->unk_0014[i]); FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00); - AddTextPrinterParametrized2(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, &gUnknown_8462EE8, 0, gUnknown_8463074[i + r7 * 3]); + AddTextPrinterParametrized2(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, &sTextColor_HelpSystem, 0, sHelpDocsPtrs[i + r7 * 3]); CopyWindowToVram(sOakSpeechResources->unk_0014[i], 3); } if (sOakSpeechResources->unk_0012 == 1) { - CopyToBgTilemapBufferRect(1, gUnknown_8460D94, 1, 3, 5, 16); + CopyToBgTilemapBufferRect(1, sHelpDocsPage2Tilemap, 1, 3, 5, 16); } else { - CopyToBgTilemapBufferRect(1, gUnknown_8460E34, 1, 3, 5, 16); + CopyToBgTilemapBufferRect(1, sHelpDocsPage3Tilemap, 1, 3, 5, 16); } CopyBgTilemapBufferToVram(1); } BeginNormalPaletteFade(0xFFFFDFFF, -1, 16, 0, stdpal_get(2)[15]); - gTasks[taskId].func = sub_812F0B0; + gTasks[taskId].func = Task_OaksSpeech2; } -static void sub_812F0B0(u8 taskId) +static void Task_OaksSpeech2(u8 taskId) { if (!gPaletteFade.active && JOY_NEW((A_BUTTON | B_BUTTON))) { @@ -645,10 +642,10 @@ static void sub_812F0B0(u8 taskId) else return; PlaySE(SE_SELECT); - gTasks[taskId].func = sub_812F180; + gTasks[taskId].func = Task_OakSpeech3; } -static void sub_812F180(u8 taskId) +static void Task_OakSpeech3(u8 taskId) { u8 r8 = 0; u8 i; @@ -675,17 +672,17 @@ static void sub_812F180(u8 taskId) RemoveWindow(sOakSpeechResources->unk_0014[i]); sOakSpeechResources->unk_0014[i] = 0; } - gTasks[taskId].func = sub_812EF50; + gTasks[taskId].func = Task_OakSpeech4; } else { BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); - gTasks[taskId].func = sub_812F274; + gTasks[taskId].func = Task_OakSpeech5; } } } -static void sub_812F274(u8 taskId) +static void Task_OakSpeech5(u8 taskId) { u8 i = 0; @@ -705,11 +702,11 @@ static void sub_812F274(u8 taskId) sOakSpeechResources->unk_0014[0] = RGB_BLACK; LoadPalette(sOakSpeechResources->unk_0014, 0, 2); gTasks[taskId].data[3] = 32; - gTasks[taskId].func = sub_812F33C; + gTasks[taskId].func = Task_OakSpeech6; } } -static void sub_812F33C(u8 taskId) +static void Task_OakSpeech6(u8 taskId) { s16 * data = gTasks[taskId].data; u32 sp14 = 0; @@ -720,30 +717,30 @@ static void sub_812F33C(u8 taskId) { PlayBGM(324); sub_810F71C(); - sub_810F5E8(gUnknown_8415D48, 0, 1); - sOakSpeechResources->unk_0008 = malloc_and_decompress(gUnknown_8460BA8, &sp14); + PrintTextOnRightSnappedWindow(gText_ABUTTONNext, 0, 1); + sOakSpeechResources->unk_0008 = malloc_and_decompress(sNewGameAdventureIntroTilemap, &sp14); CopyToBgTilemapBufferRect(1, sOakSpeechResources->unk_0008, 0, 2, 30, 19); CopyBgTilemapBufferToVram(1); Free(sOakSpeechResources->unk_0008); sOakSpeechResources->unk_0008 = NULL; - data[14] = AddWindow(&gUnknown_8462EC0[0]); + data[14] = AddWindow(&sNewGameAdventureIntroWindowTemplates[0]); PutWindowTilemap(data[14]); FillWindowPixelBuffer(data[14], 0x00); CopyWindowToVram(data[14], 3); sOakSpeechResources->unk_0012 = 0; gMain.state = 0; data[15] = 16; - AddTextPrinterParametrized2(data[14], 2, 3, 5, 1, 0, &gUnknown_8462EEC, 0, gUnknown_8462EF0[0]); - data[5] = sub_8006300(0, 0xe2, 0x91, 0, 0); + AddTextPrinterParametrized2(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[0]); + data[5] = CreateTextCursorSpriteForOakSpeech(0, 0xe2, 0x91, 0, 0); gSprites[data[5]].oam.objMode = ST_OAM_OBJ_BLEND; gSprites[data[5]].oam.priority = 0; - sub_8130FD4(taskId, 0); + CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(taskId, 0); BeginNormalPaletteFade(0xFFFFFFFF, 2, 16, 0, 0); - gTasks[taskId].func = sub_812F4A8; + gTasks[taskId].func = Task_OakSpeech7; } } -static void sub_812F4A8(u8 taskId) +static void Task_OakSpeech7(u8 taskId) { s16 * data = gTasks[taskId].data; switch (gMain.state) @@ -793,16 +790,16 @@ static void sub_812F4A8(u8 taskId) if (data[15] <= 0) { FillWindowPixelBuffer(data[14], 0x00); - AddTextPrinterParametrized2(data[14], 2, 3, 5, 1, 0, &gUnknown_8462EEC, 0, gUnknown_8462EF0[sOakSpeechResources->unk_0012]); + AddTextPrinterParametrized2(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[sOakSpeechResources->unk_0012]); if (sOakSpeechResources->unk_0012 == 0) { sub_810F71C(); - sub_810F5E8(gUnknown_8415D48, 0, 1); + PrintTextOnRightSnappedWindow(gText_ABUTTONNext, 0, 1); } else { sub_810F71C(); - sub_810F5E8(gUnknown_8415D50, 0, 1); + PrintTextOnRightSnappedWindow(gText_ABUTTONNext_BBUTTONBack, 0, 1); } gMain.state++; } @@ -837,13 +834,13 @@ static void sub_812F4A8(u8 taskId) SetGpuReg(REG_OFFSET_WINOUT, 0); ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, RGB_BLACK); - gTasks[taskId].func = sub_812F72C; + gTasks[taskId].func = Task_OakSpeech8; } break; } } -static void sub_812F72C(u8 taskId) +static void Task_OakSpeech8(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -857,13 +854,13 @@ static void sub_812F72C(u8 taskId) data[14] = 0; FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); CopyBgTilemapBufferToVram(1); - sub_8131168(taskId, 0); + DestroyLinkedPikaOrGrassPlatformSprites(taskId, 0); data[3] = 80; - gTasks[taskId].func = sub_812F7C0; + gTasks[taskId].func = Task_OakSpeech9; } } -static void sub_812F7C0(u8 taskId) +static void Task_OakSpeech9(u8 taskId) { s16 * data = gTasks[taskId].data; u32 size = 0; @@ -872,23 +869,23 @@ static void sub_812F7C0(u8 taskId) data[3]--; else { - sOakSpeechResources->unk_0000 = malloc_and_decompress(gUnknown_8460CA4, &size); - LoadBgTiles(1, sOakSpeechResources->unk_0000, size, 0); - CopyToBgTilemapBuffer(1, gUnknown_8460CE8, 0, 0); + sOakSpeechResources->solidColorsGfx = malloc_and_decompress(sOakSpeechGfx_SolidColors, &size); + LoadBgTiles(1, sOakSpeechResources->solidColorsGfx, size, 0); + CopyToBgTilemapBuffer(1, sOakSpeech_BackgroundTilemap, 0, 0); CopyBgTilemapBufferToVram(1); CreateNidoranFSprite(taskId); - sub_81311F4(3, 0); - sub_8130FD4(taskId, 1); + LoadOaksSpeechTrainerPic(3, 0); + CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(taskId, 1); PlayBGM(292); BeginNormalPaletteFade(0xFFFFFFFF, 5, 16, 0, RGB_BLACK); data[3] = 80; ShowBg(2); - gTasks[taskId].func = sub_812F880; + gTasks[taskId].func = Task_OakSpeech10; } } #define OaksSpeechPrintMessage(str, speed) ({ \ - sub_80F6EE4(0, FALSE);\ + DrawDialogueFrame(0, FALSE);\ if (str != gStringVar4) \ { \ StringExpandPlaceholders(gStringVar4, str); \ @@ -901,7 +898,7 @@ static void sub_812F7C0(u8 taskId) CopyWindowToVram(0, 3); \ }) -static void sub_812F880(u8 taskId) +static void Task_OakSpeech10(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -911,23 +908,23 @@ static void sub_812F880(u8 taskId) data[3]--; else { - OaksSpeechPrintMessage(gUnknown_81C5C78, sOakSpeechResources->unk_001F); - gTasks[taskId].func = sub_812F944; + OaksSpeechPrintMessage(gOakText_WelcomeToTheWorld, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech11; } } } -static void sub_812F944(u8 taskId) +static void Task_OakSpeech11(u8 taskId) { if (!IsTextPrinterActive(0)) { - OaksSpeechPrintMessage(gUnknown_81C5D06, sOakSpeechResources->unk_001F); + OaksSpeechPrintMessage(gOakText_WorldInhabited1, sOakSpeechResources->textSpeed); gTasks[taskId].data[3] = 30; - gTasks[taskId].func = sub_812F9EC; + gTasks[taskId].func = Task_OakSpeech12; } } -static void sub_812F9EC(u8 taskId) +static void Task_OakSpeech12(u8 taskId) { s16 * data = gTasks[taskId].data; u8 spriteId; @@ -941,55 +938,55 @@ static void sub_812F9EC(u8 taskId) gSprites[spriteId].invisible = FALSE; gSprites[spriteId].data[0] = 0; CreatePokeballSpriteToReleaseMon(spriteId, gSprites[spriteId].oam.paletteNum, 0x64, 0x42, 0, 0, 32, 0xFFFF1FFF); - gTasks[taskId].func = sub_812FA78; + gTasks[taskId].func = Task_OakSpeech13; gTasks[taskId].data[3] = 0; // } } } -static void sub_812FA78(u8 taskId) +static void Task_OakSpeech13(u8 taskId) { if (IsCryFinished()) { if (gTasks[taskId].data[3] >= 96) - gTasks[taskId].func = sub_812FB4C; + gTasks[taskId].func = Task_OakSpeech14; } if (gTasks[taskId].data[3] < 0x4000) { gTasks[taskId].data[3]++; if (gTasks[taskId].data[3] == 32) { - OaksSpeechPrintMessage(gUnknown_81C5D12, sOakSpeechResources->unk_001F); + OaksSpeechPrintMessage(gOakText_WorldInhabited2, sOakSpeechResources->textSpeed); PlayCry1(SPECIES_NIDORAN_F, 0); } } } -static void sub_812FB4C(u8 taskId) +static void Task_OakSpeech14(u8 taskId) { if (!IsTextPrinterActive(0)) { - OaksSpeechPrintMessage(gUnknown_81C5D4B, sOakSpeechResources->unk_001F); - gTasks[taskId].func = sub_812FBF0; + OaksSpeechPrintMessage(gOakText_PetsBattlingStudy, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech15; } } -static void sub_812FBF0(u8 taskId) +static void Task_OakSpeech15(u8 taskId) { u8 spriteId; if (!IsTextPrinterActive(0)) { - sub_80F6F54(0, 1); + ClearDialogWindowAndFrame(0, 1); spriteId = gTasks[taskId].data[4]; gTasks[taskId].data[6] = sub_804BB98(spriteId, gSprites[spriteId].oam.paletteNum, 0x64, 0x42, 0, 0, 32, 0xFFFF1F3F); gTasks[taskId].data[3] = 48; gTasks[taskId].data[0] = 64; - gTasks[taskId].func = sub_812FC68; + gTasks[taskId].func = Task_OakSpeech16; } } -static void sub_812FC68(u8 taskId) +static void Task_OakSpeech16(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -1014,26 +1011,26 @@ static void sub_812FC68(u8 taskId) } else { - OaksSpeechPrintMessage(gUnknown_81C5DBD, sOakSpeechResources->unk_001F); - gTasks[taskId].func = sub_812FD78; + OaksSpeechPrintMessage(gOakText_TellMeALittleAboutYourself, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech17; } } } -static void sub_812FD78(u8 taskId) +static void Task_OakSpeech17(u8 taskId) { s16 * data = gTasks[taskId].data; if (!IsTextPrinterActive(0)) { - sub_80F6F54(0, 1); - sub_813144C(taskId, 2); + ClearDialogWindowAndFrame(0, 1); + CreateFadeInTask(taskId, 2); data[3] = 48; - gTasks[taskId].func = sub_812FDC0; + gTasks[taskId].func = Task_OakSpeech18; } } -static void sub_812FDC0(u8 taskId) +static void Task_OakSpeech18(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -1044,36 +1041,36 @@ static void sub_812FDC0(u8 taskId) else { data[1] = -60; - sub_8131310(); - OaksSpeechPrintMessage(gUnknown_81C59D5, sOakSpeechResources->unk_001F); - gTasks[taskId].func = sub_812FE88; + DestroyOaksSpeechTrainerPic(); + OaksSpeechPrintMessage(gOakText_AskPlayerGender, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech19; } } } -static void sub_812FE88(u8 taskId) +static void Task_OakSpeech19(u8 taskId) { if (!IsTextPrinterActive(0)) { - gTasks[taskId].data[13] = AddWindow(&gUnknown_8462EC0[1]); + gTasks[taskId].data[13] = AddWindow(&sNewGameAdventureIntroWindowTemplates[1]); PutWindowTilemap(gTasks[taskId].data[13]); SetWindowBorderStyle(gTasks[taskId].data[13], 1, sub_80F796C(), 14); FillWindowPixelBuffer(gTasks[taskId].data[13], 0x11); sOakSpeechResources->unk_001C[0] = 1; sOakSpeechResources->unk_001C[1] = 2; sOakSpeechResources->unk_001C[2] = 3; - box_print(gTasks[taskId].data[13], 2, 8, 1, sOakSpeechResources->unk_001C, 0, gUnknown_8415D93); + box_print(gTasks[taskId].data[13], 2, 8, 1, sOakSpeechResources->unk_001C, 0, gText_Boy); sOakSpeechResources->unk_001C[0] = 1; sOakSpeechResources->unk_001C[1] = 2; sOakSpeechResources->unk_001C[2] = 3; - box_print(gTasks[taskId].data[13], 2, 8, 17, sOakSpeechResources->unk_001C, 0, gUnknown_8415D97); - sub_810F7D8(gTasks[taskId].data[13], 2, 0, 1, GetFontAttribute(2, 1) + 2, 2, 0); + box_print(gTasks[taskId].data[13], 2, 8, 17, sOakSpeechResources->unk_001C, 0, gText_Girl); + ProgramAndPlaceMenuCursorOnWindow(gTasks[taskId].data[13], 2, 0, 1, GetFontAttribute(2, 1) + 2, 2, 0); CopyWindowToVram(gTasks[taskId].data[13], 3); - gTasks[taskId].func = sub_812FFA4; + gTasks[taskId].func = Task_OakSpeech20; } } -static void sub_812FFA4(u8 taskId) +static void Task_OakSpeech20(u8 taskId) { s8 input = ProcessMenuInputNoWrapAround(); switch (input) @@ -1088,34 +1085,34 @@ static void sub_812FFA4(u8 taskId) case -2: return; } - gTasks[taskId].func = sub_812FFF0; + gTasks[taskId].func = Task_OakSpeech21; } -static void sub_812FFF0(u8 taskId) +static void Task_OakSpeech21(u8 taskId) { s16 * data = gTasks[taskId].data; sub_810F4D8(data[13], 1); RemoveWindow(data[13]); data[13] = 0; - sub_80F6F54(0, 1); + ClearDialogWindowAndFrame(0, 1); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); CopyBgTilemapBufferToVram(0); - gTasks[taskId].func = sub_8130050; + gTasks[taskId].func = Task_OakSpeech22; } -static void sub_8130050(u8 taskId) +static void Task_OakSpeech22(u8 taskId) { if (gSaveBlock2Ptr->playerGender == MALE) - sub_81311F4(MALE, 0); + LoadOaksSpeechTrainerPic(MALE, 0); else - sub_81311F4(FEMALE, 0); - sub_81315CC(taskId, 2); + LoadOaksSpeechTrainerPic(FEMALE, 0); + CreateFadeOutTask(taskId, 2); gTasks[taskId].data[3] = 32; - gTasks[taskId].func = sub_81300A0; + gTasks[taskId].func = Task_OakSpeech23; } -static void sub_81300A0(u8 taskId) +static void Task_OakSpeech23(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -1126,22 +1123,22 @@ static void sub_81300A0(u8 taskId) else { data[1] = 0; - OaksSpeechPrintMessage(gUnknown_81C5DEA, sOakSpeechResources->unk_001F); - gTasks[taskId].func = sub_8130160; + OaksSpeechPrintMessage(gOakText_AskPlayerName, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech24; } } } -static void sub_8130160(u8 taskId) +static void Task_OakSpeech24(u8 taskId) { if (!IsTextPrinterActive(0)) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); sOakSpeechResources->unk_0010 = 0; - gTasks[taskId].func = sub_81303B4; + gTasks[taskId].func = Task_OakSpeech25; } } -static void sub_81301B0(u8 taskId) +static void Task_OakSpeech35(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -1156,27 +1153,27 @@ static void sub_81301B0(u8 taskId) else { data[1] = -60; - sub_8131660(taskId, sOakSpeechResources->unk_0010); - gTasks[taskId].func = sub_8130324; + PrintNameChoiceOptions(taskId, sOakSpeechResources->unk_0010); + gTasks[taskId].func = Task_OakSpeech29; } } } -static void sub_8130228(u8 taskId) +static void Task_OakSpeech28(u8 taskId) { - sub_8131660(taskId, sOakSpeechResources->unk_0010); + PrintNameChoiceOptions(taskId, sOakSpeechResources->unk_0010); if (sOakSpeechResources->unk_0010 == 0) { - OaksSpeechPrintMessage(gUnknown_81C5DEA, 0); + OaksSpeechPrintMessage(gOakText_AskPlayerName, 0); } else { - OaksSpeechPrintMessage(gUnknown_81C5E91, 0); + OaksSpeechPrintMessage(gOakText_AskRivalName, 0); } - gTasks[taskId].func = sub_8130324; + gTasks[taskId].func = Task_OakSpeech29; } -static void sub_8130324(u8 taskId) +static void Task_OakSpeech29(u8 taskId) { s16 * data = gTasks[taskId].data; s8 input = ProcessMenuInput(); @@ -1189,25 +1186,25 @@ static void sub_8130324(u8 taskId) PlaySE(SE_SELECT); sub_810F4D8(data[13], TRUE); RemoveWindow(data[13]); - sub_8131754(sOakSpeechResources->unk_0010, input - 1); + GetDefaultName(sOakSpeechResources->unk_0010, input - 1); data[15] = 1; - gTasks[taskId].func = sub_8130464; + gTasks[taskId].func = Task_OakSpeech26; break; case 0: PlaySE(SE_SELECT); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gTasks[taskId].func = sub_81303B4; + gTasks[taskId].func = Task_OakSpeech25; break; case -1: break; } } -static void sub_81303B4(u8 taskId) +static void Task_OakSpeech25(u8 taskId) { if (!gPaletteFade.active) { - sub_8131754(sOakSpeechResources->unk_0010, 0); + GetDefaultName(sOakSpeechResources->unk_0010, 0); if (sOakSpeechResources->unk_0010 == 0) { DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_ReturnFromNamingScreen); @@ -1218,12 +1215,12 @@ static void sub_81303B4(u8 taskId) RemoveWindow(gTasks[taskId].data[13]); DoNamingScreen(4, gSaveBlock1Ptr->rivalName, 0, 0, 0, CB2_ReturnFromNamingScreen); } - sub_8131168(taskId, 1); + DestroyLinkedPikaOrGrassPlatformSprites(taskId, 1); FreeAllWindowBuffers(); } } -static void sub_8130464(u8 taskId) +static void Task_OakSpeech26(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -1233,13 +1230,13 @@ static void sub_8130464(u8 taskId) { if (sOakSpeechResources->unk_0010 == 0) { - StringExpandPlaceholders(gStringVar4, gUnknown_81C5E13); + StringExpandPlaceholders(gStringVar4, gOakText_FinalizePlayerName); } else { - StringExpandPlaceholders(gStringVar4, gUnknown_81C5EB5); + StringExpandPlaceholders(gStringVar4, gOakText_ConfirmRivalName); } - OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->unk_001F); + OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->textSpeed); data[15] = 0; data[3] = 25; } @@ -1249,14 +1246,14 @@ static void sub_8130464(u8 taskId) data[3]--; else { - sub_810FF60(&gUnknown_8462EC0[2], 2, 0, 2, sub_80F796C(), 14, 0); - gTasks[taskId].func = sub_8130554; + sub_810FF60(&sNewGameAdventureIntroWindowTemplates[2], 2, 0, 2, sub_80F796C(), 14, 0); + gTasks[taskId].func = Task_OakSpeech27; } } } } -static void sub_8130554(u8 taskId) +static void Task_OakSpeech27(u8 taskId) { s8 input = ProcessMenuInputNoWrap_(); switch (input) @@ -1266,110 +1263,110 @@ static void sub_8130554(u8 taskId) gTasks[taskId].data[3] = 40; if (sOakSpeechResources->unk_0010 == 0) { - sub_80F6F54(0, 1); - sub_813144C(taskId, 2); - gTasks[taskId].func = sub_8130650; + ClearDialogWindowAndFrame(0, 1); + CreateFadeInTask(taskId, 2); + gTasks[taskId].func = Task_OakSpeech30; } else { - StringExpandPlaceholders(gStringVar4, gUnknown_81C5EC5); - OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->unk_001F); - gTasks[taskId].func = sub_8130694; + StringExpandPlaceholders(gStringVar4, gOakText_RememberRivalName); + OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech31; } break; case 1: case -1: PlaySE(SE_SELECT); if (sOakSpeechResources->unk_0010 == 0) - gTasks[taskId].func = sub_8130160; + gTasks[taskId].func = Task_OakSpeech24; else - gTasks[taskId].func = sub_8130228; + gTasks[taskId].func = Task_OakSpeech28; break; } } -static void sub_8130650(u8 taskId) +static void Task_OakSpeech30(u8 taskId) { s16 * data = gTasks[taskId].data; if (data[2] != 0) { - sub_8131310(); + DestroyOaksSpeechTrainerPic(); if (data[3] != 0) data[3]--; else - gTasks[taskId].func = sub_81306D4; + gTasks[taskId].func = Task_OakSpeech32; } } -static void sub_8130694(u8 taskId) +static void Task_OakSpeech31(u8 taskId) { if (!IsTextPrinterActive(0)) { - sub_80F6F54(0, 1); - sub_813144C(taskId, 2); - gTasks[taskId].func = sub_81307D0; + ClearDialogWindowAndFrame(0, 1); + CreateFadeInTask(taskId, 2); + gTasks[taskId].func = Task_OakSpeech33; } } -static void sub_81306D4(u8 taskId) +static void Task_OakSpeech32(u8 taskId) { ChangeBgX(2, 0, 0); gTasks[taskId].data[1] = 0; gSpriteCoordOffsetX = 0; - sub_81311F4(2, 0); - sub_81315CC(taskId, 2); - gTasks[taskId].func = sub_813071C; + LoadOaksSpeechTrainerPic(2, 0); + CreateFadeOutTask(taskId, 2); + gTasks[taskId].func = Task_OakSpeech34; } -static void sub_813071C(u8 taskId) +static void Task_OakSpeech34(u8 taskId) { s16 * data = gTasks[taskId].data; if (data[2] != 0) { - OaksSpeechPrintMessage(gUnknown_81C5E2E, sOakSpeechResources->unk_001F); + OaksSpeechPrintMessage(gOakText_IntroduceRival, sOakSpeechResources->textSpeed); sOakSpeechResources->unk_0010 = 1; - gTasks[taskId].func = sub_81301B0; + gTasks[taskId].func = Task_OakSpeech35; } } -static void sub_81307D0(u8 taskId) +static void Task_OakSpeech33(u8 taskId) { s16 * data = gTasks[taskId].data; if (data[2] != 0) { - sub_8131310(); + DestroyOaksSpeechTrainerPic(); if (data[3] != 0) data[3]--; else { if (gSaveBlock2Ptr->playerGender == MALE) - sub_81311F4(MALE, 0); + LoadOaksSpeechTrainerPic(MALE, 0); else - sub_81311F4(FEMALE, 0); + LoadOaksSpeechTrainerPic(FEMALE, 0); gTasks[taskId].data[1] = 0; gSpriteCoordOffsetX = 0; ChangeBgX(2, 0, 0); - sub_81315CC(taskId, 2); - gTasks[taskId].func = sub_8130858; + CreateFadeOutTask(taskId, 2); + gTasks[taskId].func = Task_OakSpeech36; } } } -static void sub_8130858(u8 taskId) +static void Task_OakSpeech36(u8 taskId) { if (gTasks[taskId].data[2] != 0) { - StringExpandPlaceholders(gStringVar4, gUnknown_81C5EF4); - OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->unk_001F); + StringExpandPlaceholders(gStringVar4, gOakText_LegendAboutToUnfold); + OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->textSpeed); gTasks[taskId].data[3] = 30; - gTasks[taskId].func = sub_81308D0; + gTasks[taskId].func = Task_OakSpeech37; } } -static void sub_81308D0(u8 taskId) +static void Task_OakSpeech37(u8 taskId) { if (!IsTextPrinterActive(0)) { @@ -1378,20 +1375,20 @@ static void sub_81308D0(u8 taskId) else { FadeOutBGM(4); - gTasks[taskId].func = sub_8130914; + gTasks[taskId].func = Task_OakSpeech38; } } } -static void sub_8130914(u8 taskId) +static void Task_OakSpeech38(u8 taskId) { sOakSpeechResources->unk_0012 = 0; - sub_8130A38(taskId); - sub_8130ADC(taskId); - sub_8130940(taskId); + Task_OakSpeech38_1(taskId); + Task_OakSpeech38_2(taskId); + Task_OakSpeech38_3(taskId); } -static void sub_8130940(u8 taskId) +static void Task_OakSpeech38_3(u8 taskId) { s16 * data = gTasks[taskId].data; SetBgAttribute(2, 6, 1); @@ -1399,10 +1396,10 @@ static void sub_8130940(u8 taskId) data[1] = 0; data[2] = 256; data[15] = 0; - gTasks[taskId].func = sub_8130980; + gTasks[taskId].func = Task_OakSpeech39; } -static void sub_8130980(u8 taskId) +static void Task_OakSpeech39(u8 taskId) { s16 * data = gTasks[taskId].data; s16 x, y; @@ -1422,14 +1419,14 @@ static void sub_8130980(u8 taskId) { data[15] = 1; data[0] = 36; - gTasks[taskId].func = sub_8130BA8; + gTasks[taskId].func = Task_OakSpeech40; } } } -static void sub_8130A38(u8 taskId) +static void Task_OakSpeech38_1(u8 taskId) { - u8 taskId2 = CreateTask(sub_8130A80, 1); + u8 taskId2 = CreateTask(Task_OakSpeech38_sub1, 1); s16 * data = gTasks[taskId2].data; data[0] = 0; data[1] = 0; @@ -1438,7 +1435,7 @@ static void sub_8130A38(u8 taskId) BeginNormalPaletteFade(0xFFFF0FCF, 4, 0, 16, RGB_BLACK); } -static void sub_8130A80(u8 taskId) +static void Task_OakSpeech38_sub1(u8 taskId) { s16 * data = gTasks[taskId].data; if (!gPaletteFade.active) @@ -1446,7 +1443,7 @@ static void sub_8130A80(u8 taskId) if (data[1] != 0) { DestroyTask(taskId); - sub_8131168(taskId, 1); + DestroyLinkedPikaOrGrassPlatformSprites(taskId, 1); } else { @@ -1456,9 +1453,9 @@ static void sub_8130A80(u8 taskId) } } -static void sub_8130ADC(u8 taskId) +static void Task_OakSpeech38_2(u8 taskId) { - u8 taskId2 = CreateTask(sub_8130B10, 2); + u8 taskId2 = CreateTask(Task_OakSpeech38_sub2, 2); s16 * data = gTasks[taskId2].data; data[0] = 8; data[1] = 0; @@ -1467,7 +1464,7 @@ static void sub_8130ADC(u8 taskId) data[15] = 0; } -static void sub_8130B10(u8 taskId) +static void Task_OakSpeech38_sub2(u8 taskId) { s16 * data = gTasks[taskId].data; u8 i; @@ -1494,26 +1491,26 @@ static void sub_8130B10(u8 taskId) } } -static void sub_8130BA8(u8 taskId) +static void Task_OakSpeech40(u8 taskId) { if (gTasks[taskId].data[0] != 0) gTasks[taskId].data[0]--; else { BeginNormalPaletteFade(0x00000030, 2, 0, 16, RGB_BLACK); - gTasks[taskId].func = sub_8130BF0; + gTasks[taskId].func = Task_OakSpeech41; } } -static void sub_8130BF0(u8 taskId) +static void Task_OakSpeech41(u8 taskId) { if (!gPaletteFade.active) { - gTasks[taskId].func = sub_8130C20; + gTasks[taskId].func = Task_OakSpeech42; } } -static void sub_8130C20(u8 taskId) +static void Task_OakSpeech42(u8 taskId) { FreeAllWindowBuffers(); sub_8044D80(); @@ -1543,7 +1540,7 @@ static void CB2_ReturnFromNamingScreen(void) break; case 1: ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(1, gUnknown_8462E58, NELEMS(gUnknown_8462E58)); + InitBgsFromTemplates(1, sBgTemplates, NELEMS(sBgTemplates)); SetBgTilemapBuffer(1, sOakSpeechResources->bg1TilemapBuffer); SetBgTilemapBuffer(2, sOakSpeechResources->bg2TilemapBuffer); ChangeBgX(1, 0, 0); @@ -1562,37 +1559,37 @@ static void CB2_ReturnFromNamingScreen(void) break; case 3: FreeAllWindowBuffers(); - sub_80F6C6C(); - sub_80F6C98(); - LoadPalette(gUnknown_8460568, 0, 0xe0); + InitStandardTextBoxWindows(); + ResetBg0(); + LoadPalette(sHelpDocsPalette, 0, 0xe0); break; case 4: - decompress_and_copy_tile_data_to_vram(1, gUnknown_8460CA4, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(1, sOakSpeechGfx_SolidColors, 0, 0, 0); break; case 5: if (free_temp_tile_data_buffers_if_possible()) return; FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); - CopyToBgTilemapBuffer(1, gUnknown_8460CE8, 0, 0); + CopyToBgTilemapBuffer(1, sOakSpeech_BackgroundTilemap, 0, 0); FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(2); break; case 6: - taskId = CreateTask(sub_8130464, 0); + taskId = CreateTask(Task_OakSpeech26, 0); if (sOakSpeechResources->unk_0010 == 0) { if (gSaveBlock2Ptr->playerGender == MALE) - sub_81311F4(MALE, 0); + LoadOaksSpeechTrainerPic(MALE, 0); else - sub_81311F4(FEMALE, 0); + LoadOaksSpeechTrainerPic(FEMALE, 0); } else - sub_81311F4(2, 0); + LoadOaksSpeechTrainerPic(2, 0); gTasks[taskId].data[1] = -60; gSpriteCoordOffsetX += 60; ChangeBgX(2, -0x3C00, 0); - sub_8130FD4(taskId, 1); + CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(taskId, 1); gTasks[taskId].data[15] = 1; break; case 7: @@ -1602,9 +1599,9 @@ static void CB2_ReturnFromNamingScreen(void) ShowBg(1); ShowBg(2); EnableInterrupts(INTR_FLAG_VBLANK); - SetVBlankCallback(sub_812EAFC); + SetVBlankCallback(VBlankCB_NewGameOaksSpeech); gTextFlags.flag_0 = TRUE; - SetMainCallback2(sub_812EB10); + SetMainCallback2(CB2_NewGameOaksSpeech); return; } @@ -1625,12 +1622,12 @@ static void CreateNidoranFSprite(u8 taskId) gTasks[taskId].data[4] = spriteId; } -static void sub_8130FB8(struct Sprite * sprite) +static void SpriteCB_PikaSync(struct Sprite * sprite) { sprite->pos2.y = gSprites[sprite->data[0]].animCmdIndex; } -static void sub_8130FD4(u8 taskId, u8 state) +static void CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(u8 taskId, u8 state) { u8 spriteId; u8 i = 0; @@ -1638,30 +1635,30 @@ static void sub_8130FD4(u8 taskId, u8 state) switch (state) { case 0: - LoadCompressedObjectPic(&gUnknown_8462EFC[0]); - LoadCompressedObjectPic(&gUnknown_8462EFC[1]); - LoadCompressedObjectPic(&gUnknown_8462EFC[2]); - LoadSpritePalette(&gUnknown_8462F1C); - spriteId = CreateSprite(&gUnknown_846302C[0], 0x10, 0x11, 2); + LoadCompressedObjectPic(&sOakSpeech_PikaSpriteSheets[0]); + LoadCompressedObjectPic(&sOakSpeech_PikaSpriteSheets[1]); + LoadCompressedObjectPic(&sOakSpeech_PikaSpriteSheets[2]); + LoadSpritePalette(&sOakSpeech_PikaSpritePal); + spriteId = CreateSprite(&sOakSpeech_PikaSpriteTemplates[0], 0x10, 0x11, 2); gSprites[spriteId].oam.priority = 0; gTasks[taskId].data[7] = spriteId; - spriteId = CreateSprite(&gUnknown_846302C[1], 0x10, 0x09, 3); + spriteId = CreateSprite(&sOakSpeech_PikaSpriteTemplates[1], 0x10, 0x09, 3); gSprites[spriteId].oam.priority = 0; gSprites[spriteId].data[0] = gTasks[taskId].data[7]; - gSprites[spriteId].callback = sub_8130FB8; + gSprites[spriteId].callback = SpriteCB_PikaSync; gTasks[taskId].data[8] = spriteId; - spriteId = CreateSprite(&gUnknown_846302C[2], 0x18, 0x0D, 1); + spriteId = CreateSprite(&sOakSpeech_PikaSpriteTemplates[2], 0x18, 0x0D, 1); gSprites[spriteId].oam.priority = 0; gSprites[spriteId].data[0] = gTasks[taskId].data[7]; - gSprites[spriteId].callback = sub_8130FB8; + gSprites[spriteId].callback = SpriteCB_PikaSync; gTasks[taskId].data[9] = spriteId; break; case 1: - LoadCompressedObjectPic(&gUnknown_8462F14); - LoadSpritePalette(&gUnknown_8462F24); + LoadCompressedObjectPic(&sOakSpeech_GrassPlatformSpriteSheet); + LoadSpritePalette(&sOakSpeech_GrassPlatformSpritePal); for (i = 0; i < 3; i++) { - spriteId = CreateSprite(&gUnknown_8462F50[i], i * 32 + 88, 0x70, 1); + spriteId = CreateSprite(&sOakSpeech_GrassPlatformSpriteTemplates[i], i * 32 + 88, 0x70, 1); gSprites[spriteId].oam.priority = 2; gSprites[spriteId].animPaused = TRUE; gSprites[spriteId].coordOffsetEnabled = TRUE; @@ -1671,7 +1668,7 @@ static void sub_8130FD4(u8 taskId, u8 state) } } -static void sub_8131168(u8 taskId, u8 state) +static void DestroyLinkedPikaOrGrassPlatformSprites(u8 taskId, u8 state) { u8 i; @@ -1695,49 +1692,49 @@ static void sub_8131168(u8 taskId, u8 state) } } -static void sub_81311F4(u16 whichPic, u16 tileOffset) +static void LoadOaksSpeechTrainerPic(u16 whichPic, u16 tileOffset) { u32 i; switch (whichPic) { case 0: // FIRE - LoadPalette(gUnknown_84615FC, 0x40, 0x40); - LZ77UnCompVram(gUnknown_846163C, (void *)0x06000600 + tileOffset); + LoadPalette(sOakSpeechGfx_RedPal, 0x40, 0x40); + LZ77UnCompVram(sOakSpeechGfx_RedPic, (void *)0x06000600 + tileOffset); break; case 1: // LEAF - LoadPalette(gUnknown_8460ED4, 0x40, 0x40); - LZ77UnCompVram(gUnknown_8460F14, (void *)0x06000600 + tileOffset); + LoadPalette(sOakSpeechGfx_LeafPal, 0x40, 0x40); + LZ77UnCompVram(sOakSpeechGfx_LeafPic, (void *)0x06000600 + tileOffset); break; case 2: // BLUE - LoadPalette(gUnknown_84623AC, 0x60, 0x40); - LZ77UnCompVram(gUnknown_84623EC, (void *)0x06000600 + tileOffset); + LoadPalette(sOakSpeechGfx_RivalPal, 0x60, 0x40); + LZ77UnCompVram(sOakSpeechGfx_RivalPic, (void *)0x06000600 + tileOffset); break; case 3: // OAK - LoadPalette(gUnknown_8461CD4, 0x60, 0x40); - LZ77UnCompVram(gUnknown_8461D14, (void *)0x06000600 + tileOffset); + LoadPalette(sOakSpeechGfx_OakPal, 0x60, 0x40); + LZ77UnCompVram(sOakSpeechGfx_OakPic, (void *)0x06000600 + tileOffset); break; default: return; } - sOakSpeechResources->unk_0004 = AllocZeroed(0x60); + sOakSpeechResources->trainerPicTilemapBuffer = AllocZeroed(0x60); for (i = 0; i < 0x60; i++) - ((u8 *)sOakSpeechResources->unk_0004)[i] = i; + ((u8 *)sOakSpeechResources->trainerPicTilemapBuffer)[i] = i; FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x10); - CopyRectToBgTilemapBufferRect(2, sOakSpeechResources->unk_0004, 0, 0, 8, 12, 11, 2, 8, 12, 0x10, (tileOffset / 64) + 0x18, 0x00); + CopyRectToBgTilemapBufferRect(2, sOakSpeechResources->trainerPicTilemapBuffer, 0, 0, 8, 12, 11, 2, 8, 12, 0x10, (tileOffset / 64) + 0x18, 0x00); CopyBgTilemapBufferToVram(2); - Free(sOakSpeechResources->unk_0004); - sOakSpeechResources->unk_0004 = 0; + Free(sOakSpeechResources->trainerPicTilemapBuffer); + sOakSpeechResources->trainerPicTilemapBuffer = 0; } -static void sub_8131310(void) +static void DestroyOaksSpeechTrainerPic(void) { FillBgTilemapBufferRect(2, 0x000, 11, 1, 8, 12, 0x10); CopyBgTilemapBufferToVram(2); } -static void sub_8131338(u8 taskId) +static void Task_SlowFadeIn(u8 taskId) { u8 i = 0; if (gTasks[taskId].data[1] == 0) @@ -1770,7 +1767,7 @@ static void sub_8131338(u8 taskId) } } -static void sub_813144C(u8 taskId, u8 state) +static void CreateFadeInTask(u8 taskId, u8 state) { u8 taskId2; u8 i = 0; @@ -1779,7 +1776,7 @@ static void sub_813144C(u8 taskId, u8 state) SetGpuReg(REG_OFFSET_BLDALPHA, 0x10); SetGpuReg(REG_OFFSET_BLDY, 0); gTasks[taskId].data[2] = 0; - taskId2 = CreateTask(sub_8131338, 0); + taskId2 = CreateTask(Task_SlowFadeIn, 0); gTasks[taskId2].data[0] = taskId; gTasks[taskId2].data[1] = 16; gTasks[taskId2].data[2] = 0; @@ -1791,7 +1788,7 @@ static void sub_813144C(u8 taskId, u8 state) } } -static void sub_81314DC(u8 taskId) +static void Task_SlowFadeOut(u8 taskId) { u8 i = 0; @@ -1824,7 +1821,7 @@ static void sub_81314DC(u8 taskId) } } -static void sub_81315CC(u8 taskId, u8 state) +static void CreateFadeOutTask(u8 taskId, u8 state) { u8 taskId2; u8 i = 0; @@ -1833,7 +1830,7 @@ static void sub_81315CC(u8 taskId, u8 state) SetGpuReg(REG_OFFSET_BLDALPHA, 0x1000); SetGpuReg(REG_OFFSET_BLDY, 0); gTasks[taskId].data[2] = 0; - taskId2 = CreateTask(sub_81314DC, 0); + taskId2 = CreateTask(Task_SlowFadeOut, 0); gTasks[taskId2].data[0] = taskId; gTasks[taskId2].data[1] = 0; gTasks[taskId2].data[2] = 16; @@ -1845,30 +1842,30 @@ static void sub_81315CC(u8 taskId, u8 state) } } -static void sub_8131660(u8 taskId, u8 state) +static void PrintNameChoiceOptions(u8 taskId, u8 state) { s16 * data = gTasks[taskId].data; const u8 *const * textPtrs; u8 i; - data[13] = AddWindow(&gUnknown_8462EC0[3]); + data[13] = AddWindow(&sNewGameAdventureIntroWindowTemplates[3]); PutWindowTilemap(data[13]); SetWindowBorderStyle(data[13], 1, sub_80F796C(), 14); FillWindowPixelBuffer(gTasks[taskId].data[13], 0x11); - AddTextPrinterParameterized(data[13], 2, gUnknown_81C574F, 8, 1, 0, NULL); + AddTextPrinterParameterized(data[13], 2, gOtherText_NewName, 8, 1, 0, NULL); if (state == 0) - textPtrs = gSaveBlock2Ptr->playerGender == MALE ? gUnknown_846308C : gUnknown_84630D8; + textPtrs = gSaveBlock2Ptr->playerGender == MALE ? sMaleNameChoices : sFemaleNameChoices; else - textPtrs = gUnknown_8463124; + textPtrs = sRivalNameChoices; for (i = 0; i < 4; i++) { AddTextPrinterParameterized(data[13], 2, textPtrs[i], 8, 16 * (i + 1) + 1, 0, NULL); } - sub_810F7D8(data[13], 2, 0, 1, 16, 5, 0); + ProgramAndPlaceMenuCursorOnWindow(data[13], 2, 0, 1, 16, 5, 0); CopyWindowToVram(data[13], 3); } -static void sub_8131754(u8 arg0, u8 namePick) +static void GetDefaultName(u8 arg0, u8 namePick) { const u8 * src; u8 * dest; @@ -1877,14 +1874,14 @@ static void sub_8131754(u8 arg0, u8 namePick) if (arg0 == 0) { if (gSaveBlock2Ptr->playerGender == MALE) - src = gUnknown_846308C[Random() % 19]; + src = sMaleNameChoices[Random() % 19]; else - src = gUnknown_84630D8[Random() % 19]; + src = sFemaleNameChoices[Random() % 19]; dest = gSaveBlock2Ptr->playerName; } else { - src = gUnknown_8463124[namePick]; + src = sRivalNameChoices[namePick]; dest = gSaveBlock1Ptr->rivalName; } for (i = 0; i < PLAYER_NAME_LENGTH - 1 && src[i] != EOS; i++) diff --git a/src/roamer.c b/src/roamer.c new file mode 100644 index 000000000..6ad009e8b --- /dev/null +++ b/src/roamer.c @@ -0,0 +1,238 @@ +#include "global.h" +#include "roamer.h" +#include "random.h" +#include "overworld.h" +#include "field_specials.h" +#include "constants/species.h" + +EWRAM_DATA u8 sLocationHistory[3][2] = {}; +EWRAM_DATA u8 sRoamerLocation[2] = {}; + +#define saveRoamer (*(&gSaveBlock1Ptr->roamer)) + +enum +{ + MAP_GRP = 0, // map group + MAP_NUM = 1, // map number +}; + +const u8 sRoamerLocations[][7] = { + {0x13, 0x14, 0x27, 0x29, 0xff, 0xff, 0xff}, + {0x14, 0x13, 0x15, 0x29, 0xff, 0xff, 0xff}, + {0x15, 0x14, 0x16, 0xff, 0xff, 0xff, 0xff}, + {0x16, 0x15, 0x17, 0x1b, 0x2b, 0xff, 0xff}, + {0x17, 0x16, 0x18, 0x19, 0x1a, 0x1b, 0x2b}, + {0x18, 0x17, 0x19, 0x1a, 0x1d, 0xff, 0xff}, + {0x19, 0x17, 0x18, 0x1a, 0x22, 0xff, 0xff}, + {0x1a, 0x17, 0x18, 0x19, 0x1c, 0x1e, 0xff}, + {0x1b, 0x16, 0x17, 0x1c, 0x2b, 0xff, 0xff}, + {0x1c, 0x1a, 0x1b, 0x1e, 0xff, 0xff, 0xff}, + {0x1d, 0x18, 0x1e, 0xff, 0xff, 0xff, 0xff}, + {0x1e, 0x1c, 0x1d, 0x1f, 0xff, 0xff, 0xff}, + {0x1f, 0x1e, 0x20, 0xff, 0xff, 0xff, 0xff}, + {0x20, 0x1f, 0x21, 0xff, 0xff, 0xff, 0xff}, + {0x21, 0x20, 0x24, 0x25, 0xff, 0xff, 0xff}, + {0x22, 0x19, 0x23, 0xff, 0xff, 0xff, 0xff}, + {0x23, 0x22, 0x24, 0xff, 0xff, 0xff, 0xff}, + {0x24, 0x21, 0x23, 0x25, 0xff, 0xff, 0xff}, + {0x25, 0x21, 0x24, 0x26, 0xff, 0xff, 0xff}, + {0x26, 0x25, 0x27, 0xff, 0xff, 0xff, 0xff}, + {0x27, 0x13, 0x26, 0xff, 0xff, 0xff, 0xff}, + {0x29, 0x13, 0x14, 0x2a, 0xff, 0xff, 0xff}, + {0x2a, 0x29, 0x14, 0xff, 0xff, 0xff, 0xff}, + {0x2b, 0x16, 0x17, 0x1b, 0xff, 0xff, 0xff}, + {0x2c, 0x2b, 0x1b, 0xff, 0xff, 0xff, 0xff}, + {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff} +}; + +void ClearRoamerData(void) +{ + u32 i; + gSaveBlock1Ptr->roamer = (struct Roamer){}; + sRoamerLocation[MAP_GRP] = 0; + sRoamerLocation[MAP_NUM] = 0; + for (i = 0; i < 3; i++) + { + sLocationHistory[i][MAP_GRP] = 0; + sLocationHistory[i][MAP_NUM] = 0; + } +} + +#define GetRoamerSpecies() ({\ + u16 a;\ + switch (ScrSpecial_GetStarter())\ + {\ + default:\ + a = SPECIES_RAIKOU;\ + break;\ + case SPECIES_BULBASAUR:\ + a = SPECIES_ENTEI;\ + break;\ + case SPECIES_CHARMANDER:\ + a = SPECIES_SUICUNE;\ + break;\ + }\ + a;\ +}) + +void CreateInitialRoamerMon(void) +{ + struct Pokemon * tmpMon = &gEnemyParty[0]; + u16 roamerMon; + + CreateMon(tmpMon, (roamerMon = GetRoamerSpecies()), 50, 0x20, 0, 0, 0, 0); + saveRoamer.species = roamerMon; + saveRoamer.level = 50; + saveRoamer.status = 0; + saveRoamer.active = TRUE; + saveRoamer.ivs = GetMonData(tmpMon, MON_DATA_IVS); + saveRoamer.personality = GetMonData(tmpMon, MON_DATA_PERSONALITY); + saveRoamer.hp = GetMonData(tmpMon, MON_DATA_MAX_HP); + saveRoamer.cool = GetMonData(tmpMon, MON_DATA_COOL); + saveRoamer.beauty = GetMonData(tmpMon, MON_DATA_BEAUTY); + saveRoamer.cute = GetMonData(tmpMon, MON_DATA_CUTE); + saveRoamer.smart = GetMonData(tmpMon, MON_DATA_SMART); + saveRoamer.tough = GetMonData(tmpMon, MON_DATA_TOUGH); + sRoamerLocation[MAP_GRP] = 3; + sRoamerLocation[MAP_NUM] = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0]; +} + +void InitRoamer(void) +{ + ClearRoamerData(); + CreateInitialRoamerMon(); +} + +void UpdateLocationHistoryForRoamer(void) +{ + sLocationHistory[2][MAP_GRP] = sLocationHistory[1][MAP_GRP]; + sLocationHistory[2][MAP_NUM] = sLocationHistory[1][MAP_NUM]; + sLocationHistory[1][MAP_GRP] = sLocationHistory[0][MAP_GRP]; + sLocationHistory[1][MAP_NUM] = sLocationHistory[0][MAP_NUM]; + sLocationHistory[0][MAP_GRP] = gSaveBlock1Ptr->location.mapGroup; + sLocationHistory[0][MAP_NUM] = gSaveBlock1Ptr->location.mapNum; +} + +void RoamerMoveToOtherLocationSet(void) +{ + u8 mapNum = 0; + struct Roamer *roamer = &saveRoamer; + + if (!roamer->active) + return; + + sRoamerLocation[MAP_GRP] = 3; + + while (1) + { + mapNum = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0]; + if (sRoamerLocation[MAP_NUM] != mapNum) + { + sRoamerLocation[MAP_NUM] = mapNum; + return; + } + } +} + + +void RoamerMove(void) +{ + u8 locSet = 0; + + if ((Random() % 16) == 0) + { + RoamerMoveToOtherLocationSet(); + } + else + { + struct Roamer *roamer = &saveRoamer; + + if (!roamer->active) + return; + + while (locSet < (ARRAY_COUNT(sRoamerLocations) - 1)) + { + if (sRoamerLocation[MAP_NUM] == sRoamerLocations[locSet][0]) + { + u8 mapNum; + while (1) + { + mapNum = sRoamerLocations[locSet][(Random() % 6) + 1]; + if (!(sLocationHistory[2][MAP_GRP] == 3 && sLocationHistory[2][MAP_NUM] == mapNum) && mapNum != 0xFF) + break; + } + sRoamerLocation[MAP_NUM] = mapNum; + return; + } + locSet++; + } + } +} + +bool8 IsRoamerAt(u8 mapGroup, u8 mapNum) +{ + struct Roamer *roamer = &saveRoamer; + + if (roamer->active && mapGroup == sRoamerLocation[MAP_GRP] && mapNum == sRoamerLocation[MAP_NUM]) + return TRUE; + else + return FALSE; +} + +void CreateRoamerMonInstance(void) +{ + struct Pokemon *mon; + struct Roamer *roamer; + + mon = &gEnemyParty[0]; + ZeroEnemyPartyMons(); + roamer = &saveRoamer; + CreateMonWithIVsPersonality(mon, roamer->species, roamer->level, roamer->ivs, roamer->personality); + SetMonData(mon, MON_DATA_STATUS, &gSaveBlock1Ptr->roamer.status); + SetMonData(mon, MON_DATA_HP, &gSaveBlock1Ptr->roamer.hp); + SetMonData(mon, MON_DATA_COOL, &gSaveBlock1Ptr->roamer.cool); + SetMonData(mon, MON_DATA_BEAUTY, &gSaveBlock1Ptr->roamer.beauty); + SetMonData(mon, MON_DATA_CUTE, &gSaveBlock1Ptr->roamer.cute); + SetMonData(mon, MON_DATA_SMART, &gSaveBlock1Ptr->roamer.smart); + SetMonData(mon, MON_DATA_TOUGH, &gSaveBlock1Ptr->roamer.tough); +} + +bool8 TryStartRoamerEncounter(void) +{ + if (IsRoamerAt(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum) == TRUE && (Random() % 4) == 0) + { + CreateRoamerMonInstance(); + return TRUE; + } + else + { + return FALSE; + } +} +void UpdateRoamerHPStatus(struct Pokemon *mon) +{ + saveRoamer.hp = GetMonData(mon, MON_DATA_HP); + saveRoamer.status = GetMonData(mon, MON_DATA_STATUS); + + RoamerMoveToOtherLocationSet(); +} + +void SetRoamerInactive(void) +{ + struct Roamer *roamer = &saveRoamer; + roamer->active = FALSE; +} + +void GetRoamerLocation(u8 *mapGroup, u8 *mapNum) +{ + *mapGroup = sRoamerLocation[MAP_GRP]; + *mapNum = sRoamerLocation[MAP_NUM]; +} + +u16 GetRoamerLocationMapSectionId(void) +{ + struct Roamer *roamer = &saveRoamer; + if (!saveRoamer.active) + return 0xC5; + return get_mapheader_by_bank_and_number(sRoamerLocation[MAP_GRP], sRoamerLocation[MAP_NUM])->regionMapSectionId; +} diff --git a/src/scrcmd.c b/src/scrcmd.c index 12b35daa4..33859f8c6 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1567,7 +1567,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) ptr = (u8 *)ctx->data[0]; sub_80F6E9C(); - sub_80F6EE4(0, 1); + DrawDialogueFrame(0, 1); AddTextPrinterParameterized(0, 6, ptr, 0, 1, 0, NULL); return FALSE; } diff --git a/src/text.c b/src/text.c index 874e12fd5..86b60485d 100644 --- a/src/text.c +++ b/src/text.c @@ -1791,7 +1791,7 @@ void sub_80062B0(struct Sprite *sprite) } } -u8 sub_8006300(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority) +u8 CreateTextCursorSpriteForOakSpeech(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority) { u8 spriteId; LoadSpriteSheet(&gUnknown_81EA68C[sheetId & 1]); diff --git a/src/trainer_tower.c b/src/trainer_tower.c index ef34c1629..e914d7ac6 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -1336,7 +1336,7 @@ void sub_815E720(void) sub_815EC0C(); windowId = AddWindow(gUnknown_847A218); sub_80F6E9C(); - sub_80F6F1C(windowId, FALSE); + DrawStdWindowFrame(windowId, FALSE); AddTextPrinterParameterized(windowId, 2, gUnknown_83FE982, 0x4A, 0, 0xFF, NULL); for (i = 0; i < 4; i++) diff --git a/src/vs_seeker.c b/src/vs_seeker.c index 579800576..9cf6a6e04 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -663,7 +663,7 @@ static void Task_VsSeeker_3(u8 taskId) { if (sVsSeeker->responseCode == 2) StartAllRespondantIdleMovements(); - sub_80F6F54(0, 1); + ClearDialogWindowAndFrame(0, 1); sub_80696C0(); ScriptContext2_Disable(); DestroyTask(taskId); diff --git a/sym_ewram.txt b/sym_ewram.txt index b18406af2..36b7c991c 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1638,10 +1638,10 @@ gUnknown_203F3A0: @ 203F3A0 gUnknown_203F3A4: @ 203F3A4 .space 0x4 -gUnknown_203F3A8: @ 203F3A8 +sLocationHistory: @ 203F3A8 .space 0x6 -gUnknown_203F3AE: @ 203F3AE +sRoamerLocation: @ 203F3AE .space 0x2 gUnknown_203F3B0: @ 203F3B0 |