From 11b027d13c9639c27b3576908a2030a635bcb6be Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 12 Oct 2019 16:30:51 -0400 Subject: [PATCH 1/3] Decompile player_pc --- asm/field_effect.s | 10 +- asm/field_weather.s | 6 +- asm/mail.s | 4 +- asm/party_menu.s | 18 +- asm/player_pc.s | 1919 ----------------- asm/pokemon_storage_system.s | 2 +- asm/shop.s | 2 +- data/data_83FECCC.s | 31 - .../PalletTown_PlayersHouse_2F/scripts.inc | 2 +- data/strings.s | 30 +- include/event_scripts.h | 3 + include/field_weather.h | 2 +- include/help_system.h | 2 + include/item.h | 1 + include/item_menu.h | 1 + include/mailbox_pc.h | 6 +- include/overworld.h | 1 - include/party_menu.h | 1 + include/player_pc.h | 12 +- include/strings.h | 20 + ld_script.txt | 3 +- src/field_fadetransition.c | 2 +- src/item_use.c | 4 +- src/mailbox_pc.c | 10 +- src/map_preview_screen.c | 2 +- src/player_pc.c | 741 +++++++ sym_ewram.txt | 15 +- 27 files changed, 832 insertions(+), 2018 deletions(-) delete mode 100644 asm/player_pc.s create mode 100644 src/player_pc.c diff --git a/asm/field_effect.s b/asm/field_effect.s index 2393df6a6..9919ccc24 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -2014,7 +2014,7 @@ task00_8084310: @ 8084310 ldrsh r6, [r4, r0] cmp r6, 0 bne _08084350 - bl sub_807AA70 + bl field_weather_is_fade_finished lsls r0, 24 cmp r0, 0 beq _08084376 @@ -2287,7 +2287,7 @@ _08084560: .4byte gSprites sub_8084564: @ 8084564 push {r4,lr} adds r4, r0, 0 - bl sub_807AA70 + bl field_weather_is_fade_finished lsls r0, 24 cmp r0, 0 beq _08084578 @@ -4002,7 +4002,7 @@ sub_8085274: @ 8085274 adds r4, r0, 0 adds r5, r1, 0 adds r6, r2, 0 - bl sub_807AA70 + bl field_weather_is_fade_finished lsls r0, 24 cmp r0, 0 beq _080852B4 @@ -5025,7 +5025,7 @@ _08085A50: .4byte gTasks sub_8085A54: @ 8085A54 push {r4,lr} adds r4, r0, 0 - bl sub_807AA70 + bl field_weather_is_fade_finished lsls r0, 24 cmp r0, 0 beq _08085A78 @@ -5492,7 +5492,7 @@ _08085E08: .4byte gTasks sub_8085E0C: @ 8085E0C push {r4-r6,lr} adds r6, r0, 0 - bl sub_807AA70 + bl field_weather_is_fade_finished lsls r0, 24 cmp r0, 0 beq _08085E82 diff --git a/asm/field_weather.s b/asm/field_weather.s index 403a365be..b65548171 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -1889,8 +1889,8 @@ _0807AA68: .4byte 0x000006ca _0807AA6C: .4byte 0x000006cb thumb_func_end FieldWeather_StartFadingOutCreditsMap - thumb_func_start sub_807AA70 -sub_807AA70: @ 807AA70 + thumb_func_start field_weather_is_fade_finished +field_weather_is_fade_finished: @ 807AA70 ldr r0, _0807AA84 @ =gUnknown_2037F34 ldr r1, _0807AA88 @ =0x000006c6 adds r0, r1 @@ -1904,7 +1904,7 @@ sub_807AA70: @ 807AA70 .align 2, 0 _0807AA84: .4byte gUnknown_2037F34 _0807AA88: .4byte 0x000006c6 - thumb_func_end sub_807AA70 + thumb_func_end field_weather_is_fade_finished thumb_func_start sub_807AA8C sub_807AA8C: @ 807AA8C diff --git a/asm/mail.s b/asm/mail.s index 23aba36f6..e5b265df2 100644 --- a/asm/mail.s +++ b/asm/mail.s @@ -204,7 +204,7 @@ _080BED8C: movs r0, 0 movs r1, 0 bl SetGpuReg - ldr r0, _080BEDB0 @ =gUnknown_203AAC4 + ldr r0, _080BEDB0 @ =gPlayerPcMenuManager ldrb r0, [r0, 0x9] cmp r0, 0 bne _080BEDB4 @@ -212,7 +212,7 @@ _080BED8C: bl HelpSystem_SetSomeVariable2 b _080BF0F4 .align 2, 0 -_080BEDB0: .4byte gUnknown_203AAC4 +_080BEDB0: .4byte gPlayerPcMenuManager _080BEDB4: movs r0, 0x1E bl HelpSystem_SetSomeVariable2 diff --git a/asm/party_menu.s b/asm/party_menu.s index 899e8e7ea..b49a09347 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -11978,7 +11978,7 @@ task_launch_hm_phase_2: @ 81248C8 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_807AA70 + bl field_weather_is_fade_finished lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -17272,15 +17272,15 @@ _081273D0: bx r1 thumb_func_end sub_81273AC - thumb_func_start sub_81273D8 -sub_81273D8: @ 81273D8 + thumb_func_start PartyMenuInit_FromPlayerPc +PartyMenuInit_FromPlayerPc: @ 81273D8 push {lr} sub sp, 0xC movs r0, 0x6 str r0, [sp] ldr r0, _081273FC @ =sub_811FB28 str r0, [sp, 0x4] - ldr r0, _08127400 @ =sub_80EC500 + ldr r0, _08127400 @ =CB2_PlayerPC_ReturnFromPartyMenu str r0, [sp, 0x8] movs r0, 0 movs r1, 0 @@ -17292,8 +17292,8 @@ sub_81273D8: @ 81273D8 bx r0 .align 2, 0 _081273FC: .4byte sub_811FB28 -_08127400: .4byte sub_80EC500 - thumb_func_end sub_81273D8 +_08127400: .4byte CB2_PlayerPC_ReturnFromPartyMenu + thumb_func_end PartyMenuInit_FromPlayerPc thumb_func_start sub_8127404 sub_8127404: @ 8127404 @@ -17311,7 +17311,7 @@ sub_8127404: @ 8127404 movs r0, 0 strb r0, [r1] ldr r2, _0812745C @ =gSaveBlock1Ptr - ldr r0, _08127460 @ =gUnknown_203AAC4 + ldr r0, _08127460 @ =gPlayerPcMenuManager ldrh r1, [r0] adds r1, 0x6 ldrh r0, [r0, 0x2] @@ -17337,7 +17337,7 @@ _08127450: .4byte gUnknown_203B0A0 _08127454: .4byte gPlayerParty _08127458: .4byte gUnknown_203B0C0 _0812745C: .4byte gSaveBlock1Ptr -_08127460: .4byte gUnknown_203AAC4 +_08127460: .4byte gPlayerPcMenuManager _08127464: .4byte 0x00002cd0 _08127468: .4byte gUnknown_8416D17 _0812746C: @@ -19373,7 +19373,7 @@ task_hm_without_phase_2: @ 81283FC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_807AA70 + bl field_weather_is_fade_finished lsls r0, 24 cmp r0, 0 beq _0812841A diff --git a/asm/player_pc.s b/asm/player_pc.s deleted file mode 100644 index fa528abb9..000000000 --- a/asm/player_pc.s +++ /dev/null @@ -1,1919 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start NewGameInitPCItems -NewGameInitPCItems: @ 80EB658 - push {r4-r6,lr} - movs r4, 0 - bl ClearPCItemSlots - ldr r1, _080EB6A8 @ =gUnknown_8402220 - ldrh r0, [r1] - cmp r0, 0 - beq _080EB6A0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _080EB6A0 - adds r5, r1, 0 - adds r6, r5, 0x2 -_080EB672: - lsls r1, r4, 2 - adds r0, r1, r5 - ldrh r0, [r0] - adds r1, r6 - ldrh r1, [r1] - bl AddPCItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080EB6A0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 2 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _080EB6A0 - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, 0 - bne _080EB672 -_080EB6A0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EB6A8: .4byte gUnknown_8402220 - thumb_func_end NewGameInitPCItems - - thumb_func_start sub_80EB6AC -sub_80EB6AC: @ 80EB6AC - push {lr} - ldr r1, _080EB6E0 @ =gUnknown_203AAC4 - movs r0, 0 - strb r0, [r1, 0x9] - bl sub_812B234 - ldr r1, _080EB6E4 @ =gUnknown_203AABC - ldr r0, _080EB6E8 @ =gUnknown_8402200 - str r0, [r1] - ldr r1, _080EB6EC @ =gUnknown_203AAC0 - movs r0, 0x3 - strb r0, [r1] - ldr r0, _080EB6F0 @ =TaskDummy - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080EB6F4 @ =gUnknown_8416262 - ldr r3, _080EB6F8 @ =sub_80EB74C - movs r1, 0x2 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_080EB6E0: .4byte gUnknown_203AAC4 -_080EB6E4: .4byte gUnknown_203AABC -_080EB6E8: .4byte gUnknown_8402200 -_080EB6EC: .4byte gUnknown_203AAC0 -_080EB6F0: .4byte TaskDummy -_080EB6F4: .4byte gUnknown_8416262 -_080EB6F8: .4byte sub_80EB74C - thumb_func_end sub_80EB6AC - - thumb_func_start sub_80EB6FC -sub_80EB6FC: @ 80EB6FC - push {lr} - ldr r1, _080EB730 @ =gUnknown_203AAC4 - movs r0, 0x1 - strb r0, [r1, 0x9] - bl sub_812B234 - ldr r1, _080EB734 @ =gUnknown_203AABC - ldr r0, _080EB738 @ =gUnknown_8402203 - str r0, [r1] - ldr r1, _080EB73C @ =gUnknown_203AAC0 - movs r0, 0x3 - strb r0, [r1] - ldr r0, _080EB740 @ =TaskDummy - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080EB744 @ =gUnknown_8416262 - ldr r3, _080EB748 @ =sub_80EB74C - movs r1, 0x2 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_080EB730: .4byte gUnknown_203AAC4 -_080EB734: .4byte gUnknown_203AABC -_080EB738: .4byte gUnknown_8402203 -_080EB73C: .4byte gUnknown_203AAC0 -_080EB740: .4byte TaskDummy -_080EB744: .4byte gUnknown_8416262 -_080EB748: .4byte sub_80EB74C - thumb_func_end sub_80EB6FC - - thumb_func_start sub_80EB74C -sub_80EB74C: @ 80EB74C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, _080EB770 @ =gTasks+0x8 - adds r7, r0, r1 - ldr r0, _080EB774 @ =gUnknown_203AAC0 - ldrb r0, [r0] - cmp r0, 0x3 - bne _080EB77C - ldr r0, _080EB778 @ =gUnknown_8402248 - b _080EB77E - .align 2, 0 -_080EB770: .4byte gTasks+0x8 -_080EB774: .4byte gUnknown_203AAC0 -_080EB778: .4byte gUnknown_8402248 -_080EB77C: - ldr r0, _080EB804 @ =gUnknown_8402250 -_080EB77E: - bl AddWindow - strh r0, [r7, 0x14] - ldrb r0, [r7, 0x14] - movs r1, 0 - bl SetStdWindowBorderStyle - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x2 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r7, 0x14] - str r0, [sp] - movs r6, 0x10 - str r6, [sp, 0x4] - ldr r5, _080EB808 @ =gUnknown_203AAC0 - ldrb r0, [r5] - str r0, [sp, 0x8] - ldr r0, _080EB80C @ =gUnknown_84021E8 - str r0, [sp, 0xC] - ldr r0, _080EB810 @ =gUnknown_203AABC - ldr r0, [r0] - str r0, [sp, 0x10] - adds r0, r1, 0 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0x2 - bl AddItemMenuActionTextPrinters - ldrb r0, [r7, 0x14] - str r6, [sp] - ldrb r1, [r5] - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r1, _080EB814 @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _080EB818 @ =sub_80EB81C - str r1, [r0] - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EB804: .4byte gUnknown_8402250 -_080EB808: .4byte gUnknown_203AAC0 -_080EB80C: .4byte gUnknown_84021E8 -_080EB810: .4byte gUnknown_203AABC -_080EB814: .4byte gTasks -_080EB818: .4byte sub_80EB81C - thumb_func_end sub_80EB74C - - thumb_func_start sub_80EB81C -sub_80EB81C: @ 80EB81C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _080EB870 @ =gTasks+0x8 - adds r4, r6, r7 - bl Menu_ProcessInputNoWrapAround - lsls r0, 24 - asrs r5, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _080EB8AC - adds r0, 0x1 - cmp r5, r0 - bne _080EB878 - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4, 0x14] - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r4, 0x14] - bl ClearWindowTilemap - ldrb r0, [r4, 0x14] - bl RemoveWindow - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _080EB874 @ =sub_80EB9B8 - str r1, [r0] - b _080EB8AC - .align 2, 0 -_080EB870: .4byte gTasks+0x8 -_080EB874: .4byte sub_80EB9B8 -_080EB878: - ldrb r0, [r4, 0x14] - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r4, 0x14] - bl ClearWindowTilemap - ldrb r0, [r4, 0x14] - bl RemoveWindow - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - adds r2, r7, 0 - subs r2, 0x8 - adds r2, r6, r2 - ldr r1, _080EB8B4 @ =gUnknown_84021E8 - ldr r0, _080EB8B8 @ =gUnknown_203AABC - ldr r0, [r0] - adds r0, r5 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] -_080EB8AC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EB8B4: .4byte gUnknown_84021E8 -_080EB8B8: .4byte gUnknown_203AABC - thumb_func_end sub_80EB81C - - thumb_func_start sub_80EB8BC -sub_80EB8BC: @ 80EB8BC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_812B248 - ldr r2, _080EB8DC @ =gUnknown_8416262 - ldr r3, _080EB8E0 @ =sub_80EB74C - adds r0, r4, 0 - movs r1, 0x2 - bl DisplayItemMessageOnField - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EB8DC: .4byte gUnknown_8416262 -_080EB8E0: .4byte sub_80EB74C - thumb_func_end sub_80EB8BC - - thumb_func_start sub_80EB8E4 -sub_80EB8E4: @ 80EB8E4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_80EB9E8 - ldr r1, _080EB908 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080EB90C @ =sub_80EBAB8 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EB908: .4byte gTasks -_080EB90C: .4byte sub_80EBAB8 - thumb_func_end sub_80EB8E4 - - thumb_func_start sub_80EB910 -sub_80EB910: @ 80EB910 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80EBDC8 - ldr r4, _080EB934 @ =gUnknown_203AAC4 - movs r1, 0 - strb r0, [r4, 0x5] - lsls r0, 24 - cmp r0, 0 - bne _080EB940 - ldr r2, _080EB938 @ =gUnknown_84177EE - ldr r3, _080EB93C @ =sub_80EB8BC - adds r0, r5, 0 - movs r1, 0x2 - bl DisplayItemMessageOnField - b _080EB9A8 - .align 2, 0 -_080EB934: .4byte gUnknown_203AAC4 -_080EB938: .4byte gUnknown_84177EE -_080EB93C: .4byte sub_80EB8BC -_080EB940: - strh r1, [r4] - strh r1, [r4, 0x2] - bl sub_80EBE04 - adds r0, r5, 0 - bl sub_80EBD88 - ldrb r0, [r4, 0x9] - cmp r0, 0 - bne _080EB95C - movs r0, 0x22 - bl HelpSystem_SetSomeVariable2 - b _080EB962 -_080EB95C: - movs r0, 0x1E - bl HelpSystem_SetSomeVariable2 -_080EB962: - ldr r0, _080EB990 @ =gUnknown_203AAC4 - ldrb r0, [r0, 0x5] - bl MailboxPC_InitBuffers - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080EB99C - movs r0, 0 - movs r1, 0 - bl ClearDialogWindowAndFrame - adds r0, r5, 0 - bl sub_80EBEB0 - ldr r0, _080EB994 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080EB998 @ =sub_80EBF40 - str r0, [r1] - b _080EB9A8 - .align 2, 0 -_080EB990: .4byte gUnknown_203AAC4 -_080EB994: .4byte gTasks -_080EB998: .4byte sub_80EBF40 -_080EB99C: - ldr r2, _080EB9B0 @ =gUnknown_84177EE - ldr r3, _080EB9B4 @ =sub_80EB8BC - adds r0, r5, 0 - movs r1, 0x2 - bl DisplayItemMessageOnField -_080EB9A8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EB9B0: .4byte gUnknown_84177EE -_080EB9B4: .4byte sub_80EB8BC - thumb_func_end sub_80EB910 - - thumb_func_start sub_80EB9B8 -sub_80EB9B8: @ 80EB9B8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080EB9D0 @ =gUnknown_203AAC4 - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _080EB9D8 - ldr r0, _080EB9D4 @ =gUnknown_8168D17 - bl ScriptContext1_SetupScript - b _080EB9DC - .align 2, 0 -_080EB9D0: .4byte gUnknown_203AAC4 -_080EB9D4: .4byte gUnknown_8168D17 -_080EB9D8: - bl EnableBothScriptContexts -_080EB9DC: - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80EB9B8 - - thumb_func_start sub_80EB9E8 -sub_80EB9E8: @ 80EB9E8 - push {r4-r7,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080EBA10 @ =gTasks+0x8 - adds r6, r1, r0 - ldr r0, _080EBA14 @ =gUnknown_203AAC4 - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _080EBA18 - movs r0, 0x21 - bl HelpSystem_SetSomeVariable2 - b _080EBA1E - .align 2, 0 -_080EBA10: .4byte gTasks+0x8 -_080EBA14: .4byte gUnknown_203AAC4 -_080EBA18: - movs r0, 0x1D - bl HelpSystem_SetSomeVariable2 -_080EBA1E: - ldr r0, _080EBA80 @ =gUnknown_8402258 - bl AddWindow - strh r0, [r6, 0x14] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl SetStdWindowBorderStyle - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r6, 0x14] - movs r5, 0x10 - str r5, [sp] - movs r4, 0x3 - str r4, [sp, 0x4] - ldr r1, _080EBA84 @ =gUnknown_8402208 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x2 - bl PrintTextArray - ldrb r0, [r6, 0x14] - str r5, [sp] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r1, _080EBA88 @ =gUnknown_84021DC - lsls r0, r7, 2 - adds r0, r1 - ldr r0, [r0] - bl sub_80EBA8C - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EBA80: .4byte gUnknown_8402258 -_080EBA84: .4byte gUnknown_8402208 -_080EBA88: .4byte gUnknown_84021DC - thumb_func_end sub_80EB9E8 - - thumb_func_start sub_80EBA8C -sub_80EBA8C: @ 80EBA8C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0 - movs r1, 0 - bl DrawDialogueFrame - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80EBA8C - - thumb_func_start sub_80EBAB8 -sub_80EBAB8: @ 80EBAB8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r2, _080EBAE4 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080EBAE8 - bl Menu_GetCursorPos - lsls r0, 24 - cmp r0, 0 - beq _080EBB64 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _080EBB04 - .align 2, 0 -_080EBAE4: .4byte gMain -_080EBAE8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080EBB20 - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080EBB64 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_080EBB04: - bl Menu_MoveCursor - ldr r4, _080EBB1C @ =gUnknown_84021DC - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r0, [r0] - bl sub_80EBA8C - b _080EBB64 - .align 2, 0 -_080EBB1C: .4byte gUnknown_84021DC -_080EBB20: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080EBB4C - movs r0, 0x5 - bl PlaySE - ldr r4, _080EBB48 @ =gUnknown_8402208 - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r0, 21 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _080EBB64 - .align 2, 0 -_080EBB48: .4byte gUnknown_8402208 -_080EBB4C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080EBB64 - movs r0, 0x5 - bl PlaySE - ldr r0, _080EBB6C @ =gUnknown_8402208 - ldr r1, [r0, 0x14] - adds r0, r4, 0 - bl _call_via_r1 -_080EBB64: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EBB6C: .4byte gUnknown_8402208 - thumb_func_end sub_80EBAB8 - - thumb_func_start sub_80EBB70 -sub_80EBB70: @ 80EBB70 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080EBBA4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EBB9C - bl CleanupOverworldWindowsAndTilemaps - ldr r2, _080EBBA8 @ =CB2_ReturnToField - movs r0, 0x3 - movs r1, 0 - bl sub_8107DB4 - ldr r1, _080EBBAC @ =gFieldCallback - ldr r0, _080EBBB0 @ =sub_80EBC0C - str r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_080EBB9C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EBBA4: .4byte gPaletteFade -_080EBBA8: .4byte CB2_ReturnToField -_080EBBAC: .4byte gFieldCallback -_080EBBB0: .4byte sub_80EBC0C - thumb_func_end sub_80EBB70 - - thumb_func_start sub_80EBBB4 -sub_80EBBB4: @ 80EBBB4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080EBBD4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080EBBD8 @ =sub_80EBB70 - str r0, [r1] - movs r0, 0x1 - movs r1, 0 - bl fade_screen - pop {r0} - bx r0 - .align 2, 0 -_080EBBD4: .4byte gTasks -_080EBBD8: .4byte sub_80EBB70 - thumb_func_end sub_80EBBB4 - - thumb_func_start sub_80EBBDC -sub_80EBBDC: @ 80EBBDC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807AA70 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080EBBFC - ldr r0, _080EBC04 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080EBC08 @ =sub_80EBAB8 - str r0, [r1] -_080EBBFC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EBC04: .4byte gTasks -_080EBC08: .4byte sub_80EBAB8 - thumb_func_end sub_80EBBDC - - thumb_func_start sub_80EBC0C -sub_80EBC0C: @ 80EBC0C - push {lr} - bl sub_80F6E9C - movs r0, 0 - movs r1, 0x1 - bl DrawDialogueFrame - ldr r0, _080EBC34 @ =sub_80EBBDC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_80EB9E8 - bl sub_807DC00 - pop {r0} - bx r0 - .align 2, 0 -_080EBC34: .4byte sub_80EBBDC - thumb_func_end sub_80EBC0C - - thumb_func_start sub_80EBC38 -sub_80EBC38: @ 80EBC38 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _080EBC6C @ =gTasks+0x8 - adds r4, r6, r7 - bl CountItemsInPC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x4] - cmp r0, 0 - beq _080EBC7C - movs r0, 0 - strh r0, [r4, 0xC] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _080EBC70 @ =sub_80EBD18 - str r1, [r0] - ldr r1, _080EBC74 @ =gFieldCallback - ldr r0, _080EBC78 @ =sub_80EBCAC - str r0, [r1] - b _080EBC9C - .align 2, 0 -_080EBC6C: .4byte gTasks+0x8 -_080EBC70: .4byte sub_80EBD18 -_080EBC74: .4byte gFieldCallback -_080EBC78: .4byte sub_80EBCAC -_080EBC7C: - ldrb r0, [r4, 0x14] - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r4, 0x14] - bl ClearWindowTilemap - ldrb r0, [r4, 0x14] - bl RemoveWindow - ldr r2, _080EBCA4 @ =gUnknown_8417774 - ldr r3, _080EBCA8 @ =sub_80EB8E4 - adds r0, r5, 0 - movs r1, 0x2 - bl DisplayItemMessageOnField -_080EBC9C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EBCA4: .4byte gUnknown_8417774 -_080EBCA8: .4byte sub_80EB8E4 - thumb_func_end sub_80EBC38 - - thumb_func_start sub_80EBCAC -sub_80EBCAC: @ 80EBCAC - push {lr} - bl sub_80F6E9C - movs r0, 0 - movs r1, 0x1 - bl DrawDialogueFrame - ldr r0, _080EBCD4 @ =sub_80EBBDC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_80EB9E8 - bl sub_807DC00 - pop {r0} - bx r0 - .align 2, 0 -_080EBCD4: .4byte sub_80EBBDC - thumb_func_end sub_80EBCAC - - thumb_func_start sub_80EBCD8 -sub_80EBCD8: @ 80EBCD8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080EBD0C @ =gTasks+0x8 - adds r5, r0, r1 - ldr r0, _080EBD10 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EBD06 - bl CleanupOverworldWindowsAndTilemaps - ldrb r0, [r5, 0xC] - ldr r1, _080EBD14 @ =CB2_ReturnToField - bl ItemPc_Init - adds r0, r4, 0 - bl DestroyTask -_080EBD06: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EBD0C: .4byte gTasks+0x8 -_080EBD10: .4byte gPaletteFade -_080EBD14: .4byte CB2_ReturnToField - thumb_func_end sub_80EBCD8 - - thumb_func_start sub_80EBD18 -sub_80EBD18: @ 80EBD18 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080EBD40 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080EBD44 @ =sub_80EBCD8 - str r0, [r1] - movs r0, 0 - bl ItemPc_SetInitializedFlag - movs r0, 0x1 - movs r1, 0 - bl fade_screen - pop {r0} - bx r0 - .align 2, 0 -_080EBD40: .4byte gTasks -_080EBD44: .4byte sub_80EBCD8 - thumb_func_end sub_80EBD18 - - thumb_func_start sub_80EBD48 -sub_80EBD48: @ 80EBD48 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _080EBD84 @ =gTasks+0x8 - adds r4, r0 - ldrb r0, [r4, 0x14] - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r4, 0x14] - bl ClearWindowTilemap - ldrb r0, [r4, 0x14] - movs r1, 0x1 - bl CopyWindowToVram - ldrb r0, [r4, 0x14] - bl RemoveWindow - adds r0, r5, 0 - bl sub_80EB8BC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EBD84: .4byte gTasks+0x8 - thumb_func_end sub_80EBD48 - - thumb_func_start sub_80EBD88 -sub_80EBD88: @ 80EBD88 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _080EBDA8 @ =gTasks+0x8 - adds r1, r0 - ldrh r2, [r1, 0x4] - movs r3, 0x4 - ldrsh r0, [r1, r3] - cmp r0, 0x7 - ble _080EBDAC - movs r0, 0x8 - b _080EBDAE - .align 2, 0 -_080EBDA8: .4byte gTasks+0x8 -_080EBDAC: - adds r0, r2, 0x1 -_080EBDAE: - strh r0, [r1, 0x8] - ldr r1, _080EBDBC @ =gUnknown_203AAC4 - ldrb r0, [r1, 0x5] - cmp r0, 0x7 - bls _080EBDC0 - movs r0, 0x8 - b _080EBDC2 - .align 2, 0 -_080EBDBC: .4byte gUnknown_203AAC4 -_080EBDC0: - adds r0, 0x1 -_080EBDC2: - strb r0, [r1, 0x4] - pop {r0} - bx r0 - thumb_func_end sub_80EBD88 - - thumb_func_start sub_80EBDC8 -sub_80EBDC8: @ 80EBDC8 - push {r4,lr} - movs r2, 0 - movs r1, 0x6 - ldr r0, _080EBDFC @ =gSaveBlock1Ptr - ldr r3, [r0] - ldr r4, _080EBE00 @ =0x00002cf0 -_080EBDD4: - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0 - beq _080EBDEA - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_080EBDEA: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _080EBDD4 - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080EBDFC: .4byte gSaveBlock1Ptr -_080EBE00: .4byte 0x00002cf0 - thumb_func_end sub_80EBDC8 - - thumb_func_start sub_80EBE04 -sub_80EBE04: @ 80EBE04 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - movs r2, 0x6 -_080EBE12: - adds r1, r2, 0x1 - lsls r0, r1, 24 - lsrs r4, r0, 24 - mov r8, r1 - cmp r4, 0xF - bhi _080EBE8A - ldr r0, _080EBEA4 @ =gSaveBlock1Ptr - mov r10, r0 - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - mov r12, r0 - ldr r6, _080EBEA8 @ =0x00002cd0 -_080EBE2C: - mov r1, r10 - ldr r1, [r1] - mov r9, r1 - mov r2, r9 - add r2, r12 - ldr r3, _080EBEAC @ =0x00002cf0 - adds r0, r2, r3 - ldrh r0, [r0] - cmp r0, 0 - bne _080EBE80 - adds r2, r6 - mov r1, sp - adds r0, r2, 0 - ldm r0!, {r3,r5,r7} - stm r1!, {r3,r5,r7} - ldm r0!, {r3,r5,r7} - stm r1!, {r3,r5,r7} - ldm r0!, {r3,r5,r7} - stm r1!, {r3,r5,r7} - lsls r3, r4, 3 - adds r3, r4 - lsls r3, 2 - mov r5, r9 - adds r0, r5, r3 - adds r0, r6 - ldm r0!, {r1,r5,r7} - stm r2!, {r1,r5,r7} - ldm r0!, {r1,r5,r7} - stm r2!, {r1,r5,r7} - ldm r0!, {r1,r5,r7} - stm r2!, {r1,r5,r7} - mov r7, r10 - ldr r1, [r7] - adds r1, r3 - adds r1, r6 - mov r0, sp - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} -_080EBE80: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080EBE2C -_080EBE8A: - mov r3, r8 - lsls r0, r3, 24 - lsrs r2, r0, 24 - cmp r2, 0xE - bls _080EBE12 - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EBEA4: .4byte gSaveBlock1Ptr -_080EBEA8: .4byte 0x00002cd0 -_080EBEAC: .4byte 0x00002cf0 - thumb_func_end sub_80EBE04 - - thumb_func_start sub_80EBEB0 -sub_80EBEB0: @ 80EBEB0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0 - bl MailboxPC_GetAddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080EBF34 @ =gUnknown_84176FE - mov r8, r0 - movs r0, 0x2 - mov r1, r8 - movs r2, 0 - bl GetStringWidth - adds r5, r0, 0 - movs r0, 0x1 - bl MailboxPC_GetAddWindow - movs r3, 0x50 - subs r3, r5 - lsrs r0, r3, 31 - adds r3, r0 - asrs r3, 1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x2 - mov r2, r8 - bl AddTextPrinterParameterized - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r4, _080EBF38 @ =gUnknown_203AAC4 - adds r0, r4, 0 - bl MailboxPC_InitListMenu - ldr r2, _080EBF3C @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x1E] - adds r0, r4, 0 - bl MailboxPC_AddScrollIndicatorArrows - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EBF34: .4byte gUnknown_84176FE -_080EBF38: .4byte gUnknown_203AAC4 -_080EBF3C: .4byte gTasks - thumb_func_end sub_80EBEB0 - - thumb_func_start sub_80EBF40 -sub_80EBF40: @ 80EBF40 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - mov r9, r0 - ldr r0, _080EBF94 @ =gTasks+0x8 - mov r10, r0 - mov r4, r9 - add r4, r10 - ldr r0, _080EBF98 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EBFEA - ldrb r0, [r4, 0x16] - bl ListMenu_ProcessInput - adds r6, r0, 0 - ldrb r0, [r4, 0x16] - ldr r7, _080EBF9C @ =gUnknown_203AAC6 - subs r1, r7, 0x2 - mov r8, r1 - adds r1, r7, 0 - mov r2, r8 - bl ListMenuGetScrollAndRow - movs r0, 0x2 - negs r0, r0 - cmp r6, r0 - beq _080EBFA0 - adds r0, 0x1 - cmp r6, r0 - bne _080EBFB6 - b _080EBFEA - .align 2, 0 -_080EBF94: .4byte gTasks+0x8 -_080EBF98: .4byte gPaletteFade -_080EBF9C: .4byte gUnknown_203AAC6 -_080EBFA0: - movs r0, 0x5 - bl PlaySE - mov r1, r8 - ldrb r0, [r1, 0xA] - bl RemoveScrollIndicatorArrowPair - adds r0, r5, 0 - bl sub_80EC094 - b _080EBFEA -_080EBFB6: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl MailboxPC_RemoveWindow - movs r0, 0x1 - bl MailboxPC_RemoveWindow - ldrb r0, [r4, 0x16] - adds r1, r7, 0 - mov r2, r8 - bl DestroyListMenuTask - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - mov r1, r8 - ldrb r0, [r1, 0xA] - bl RemoveScrollIndicatorArrowPair - mov r0, r10 - subs r0, 0x8 - add r0, r9 - ldr r1, _080EBFF8 @ =sub_80EBFFC - str r1, [r0] -_080EBFEA: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EBFF8: .4byte sub_80EBFFC - thumb_func_end sub_80EBF40 - - thumb_func_start sub_80EBFFC -sub_80EBFFC: @ 80EBFFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _080EC054 @ =gStringVar1 - ldr r2, _080EC058 @ =gSaveBlock1Ptr - ldr r1, _080EC05C @ =gUnknown_203AAC4 - ldrh r0, [r1] - adds r0, 0x6 - ldrh r1, [r1, 0x2] - adds r0, r1 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, [r2] - adds r1, r0 - ldr r0, _080EC060 @ =0x00002ce2 - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - bl StringLength - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x5 - ble _080EC064 - subs r0, r4, 0x1 - adds r1, r0 - cmp r1, r4 - bcc _080EC06C - ldrb r0, [r1] - cmp r0, 0 - bne _080EC06C - movs r3, 0xFF - adds r2, r4, 0 -_080EC044: - strb r3, [r1] - subs r1, 0x1 - cmp r1, r2 - bcc _080EC06C - ldrb r0, [r1] - cmp r0, 0 - beq _080EC044 - b _080EC06C - .align 2, 0 -_080EC054: .4byte gStringVar1 -_080EC058: .4byte gSaveBlock1Ptr -_080EC05C: .4byte gUnknown_203AAC4 -_080EC060: .4byte 0x00002ce2 -_080EC064: - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString -_080EC06C: - ldr r4, _080EC088 @ =gStringVar4 - ldr r1, _080EC08C @ =gUnknown_8417806 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r3, _080EC090 @ =sub_80EC0D8 - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl DisplayItemMessageOnField - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EC088: .4byte gStringVar4 -_080EC08C: .4byte gUnknown_8417806 -_080EC090: .4byte sub_80EC0D8 - thumb_func_end sub_80EBFFC - - thumb_func_start sub_80EC094 -sub_80EC094: @ 80EC094 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _080EC0D4 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0 - bl MailboxPC_RemoveWindow - movs r0, 0x1 - bl MailboxPC_RemoveWindow - ldrb r0, [r4, 0x16] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl MailboxPC_DestroyListMenuBuffer - adds r0, r5, 0 - bl sub_80EB8BC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EC0D4: .4byte gTasks+0x8 - thumb_func_end sub_80EC094 - - thumb_func_start sub_80EC0D8 -sub_80EC0D8: @ 80EC0D8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x2 - bl MailboxPC_GetAddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x10 - mov r8, r0 - str r0, [sp] - movs r6, 0x4 - str r6, [sp, 0x4] - ldr r0, _080EC150 @ =gUnknown_8402228 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x2 - movs r3, 0x2 - bl PrintTextArray - mov r0, r8 - str r0, [sp] - str r6, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r1, _080EC154 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080EC158 @ =sub_80EC15C - str r1, [r0] - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EC150: .4byte gUnknown_8402228 -_080EC154: .4byte gTasks -_080EC158: .4byte sub_80EC15C - thumb_func_end sub_80EC0D8 - - thumb_func_start sub_80EC15C -sub_80EC15C: @ 80EC15C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl Menu_ProcessInput_other - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _080EC19E - adds r0, 0x1 - cmp r4, r0 - bne _080EC188 - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - bl sub_80EC574 - b _080EC19E -_080EC188: - movs r0, 0x5 - bl PlaySE - ldr r0, _080EC1A4 @ =gUnknown_8402228 - lsls r1, r4, 3 - adds r0, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r6, 0 - bl _call_via_r1 -_080EC19E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EC1A4: .4byte gUnknown_8402228 - thumb_func_end sub_80EC15C - - thumb_func_start sub_80EC1A8 -sub_80EC1A8: @ 80EC1A8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0 - bl fade_screen - ldr r1, _080EC1CC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080EC1D0 @ =sub_80EC1D4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC1CC: .4byte gTasks -_080EC1D0: .4byte sub_80EC1D4 - thumb_func_end sub_80EC1A8 - - thumb_func_start sub_80EC1D4 -sub_80EC1D4: @ 80EC1D4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080EC21C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EC216 - bl MailboxPC_DestroyListMenuBuffer - bl CleanupOverworldWindowsAndTilemaps - ldr r2, _080EC220 @ =gSaveBlock1Ptr - ldr r1, _080EC224 @ =gUnknown_203AAC4 - ldrh r0, [r1] - adds r0, 0x6 - ldrh r1, [r1, 0x2] - adds r0, r1 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080EC228 @ =0x00002cd0 - adds r1, r0 - ldr r0, [r2] - adds r0, r1 - ldr r1, _080EC22C @ =sub_80EC2C0 - movs r2, 0x1 - bl sub_80BEBEC - adds r0, r4, 0 - bl DestroyTask -_080EC216: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC21C: .4byte gPaletteFade -_080EC220: .4byte gSaveBlock1Ptr -_080EC224: .4byte gUnknown_203AAC4 -_080EC228: .4byte 0x00002cd0 -_080EC22C: .4byte sub_80EC2C0 - thumb_func_end sub_80EC1D4 - - thumb_func_start sub_80EC230 -sub_80EC230: @ 80EC230 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807AA70 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080EC250 - ldr r0, _080EC258 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080EC25C @ =sub_80EBF40 - str r0, [r1] -_080EC250: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC258: .4byte gTasks -_080EC25C: .4byte sub_80EBF40 - thumb_func_end sub_80EC230 - - thumb_func_start sub_80EC260 -sub_80EC260: @ 80EC260 - push {r4,lr} - ldr r0, _080EC274 @ =gUnknown_203AAC4 - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _080EC278 - movs r0, 0x22 - bl HelpSystem_SetSomeVariable2 - b _080EC27E - .align 2, 0 -_080EC274: .4byte gUnknown_203AAC4 -_080EC278: - movs r0, 0x1E - bl HelpSystem_SetSomeVariable2 -_080EC27E: - bl sub_80F6E9C - ldr r0, _080EC2A8 @ =sub_80EC230 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080EC2AC @ =gUnknown_203AAC4 - ldrb r0, [r0, 0x5] - bl MailboxPC_InitBuffers - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080EC2B0 - adds r0, r4, 0 - bl sub_80EBEB0 - b _080EC2B6 - .align 2, 0 -_080EC2A8: .4byte sub_80EC230 -_080EC2AC: .4byte gUnknown_203AAC4 -_080EC2B0: - adds r0, r4, 0 - bl DestroyTask -_080EC2B6: - bl sub_807DC00 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80EC260 - - thumb_func_start sub_80EC2C0 -sub_80EC2C0: @ 80EC2C0 - push {lr} - ldr r0, _080EC2D4 @ =gFieldCallback - ldr r1, _080EC2D8 @ =sub_80EC260 - str r1, [r0] - ldr r0, _080EC2DC @ =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080EC2D4: .4byte gFieldCallback -_080EC2D8: .4byte sub_80EC260 -_080EC2DC: .4byte CB2_ReturnToField - thumb_func_end sub_80EC2C0 - - thumb_func_start sub_80EC2E0 -sub_80EC2E0: @ 80EC2E0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080EC2F4 @ =gUnknown_8417830 - ldr r3, _080EC2F8 @ =sub_80EC2FC - movs r1, 0x2 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_080EC2F4: .4byte gUnknown_8417830 -_080EC2F8: .4byte sub_80EC2FC - thumb_func_end sub_80EC2E0 - - thumb_func_start sub_80EC2FC -sub_80EC2FC: @ 80EC2FC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl DisplayYesNoMenuDefaultYes - ldr r1, _080EC31C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080EC320 @ =sub_80EC324 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC31C: .4byte gTasks -_080EC320: .4byte sub_80EC324 - thumb_func_end sub_80EC2FC - - thumb_func_start sub_80EC324 -sub_80EC324: @ 80EC324 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r0, 24 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _080EC350 - cmp r0, r1 - ble _080EC35C - cmp r0, 0 - beq _080EC348 - cmp r0, 0x1 - beq _080EC356 - b _080EC35C -_080EC348: - adds r0, r4, 0 - bl sub_80EC364 - b _080EC35C -_080EC350: - movs r0, 0x5 - bl PlaySE -_080EC356: - adds r0, r4, 0 - bl sub_80EC3F8 -_080EC35C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80EC324 - - thumb_func_start sub_80EC364 -sub_80EC364: @ 80EC364 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r2, _080EC3A0 @ =gSaveBlock1Ptr - ldr r4, _080EC3A4 @ =gUnknown_203AAC4 - ldrh r1, [r4] - adds r1, 0x6 - ldrh r0, [r4, 0x2] - adds r1, r0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080EC3A8 @ =0x00002cd0 - adds r0, r1 - ldr r1, [r2] - adds r5, r1, r0 - ldrh r0, [r5, 0x20] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - bne _080EC3B4 - ldr r2, _080EC3AC @ =gUnknown_8417858 - ldr r3, _080EC3B0 @ =sub_80EC574 - adds r0, r6, 0 - movs r1, 0x2 - bl DisplayItemMessageOnField - b _080EC3EA - .align 2, 0 -_080EC3A0: .4byte gSaveBlock1Ptr -_080EC3A4: .4byte gUnknown_203AAC4 -_080EC3A8: .4byte 0x00002cd0 -_080EC3AC: .4byte gUnknown_8417858 -_080EC3B0: .4byte sub_80EC574 -_080EC3B4: - ldr r2, _080EC3F0 @ =gUnknown_841786B - ldr r3, _080EC3F4 @ =sub_80EC574 - adds r0, r6, 0 - movs r1, 0x2 - bl DisplayItemMessageOnField - adds r0, r5, 0 - bl ClearMailStruct - bl sub_80EBE04 - ldrb r0, [r4, 0x5] - subs r0, 0x1 - strb r0, [r4, 0x5] - ldrb r1, [r4, 0x5] - ldrb r0, [r4, 0x4] - ldrh r2, [r4, 0x2] - adds r0, r2 - cmp r1, r0 - bge _080EC3E4 - cmp r2, 0 - beq _080EC3E4 - subs r0, r2, 0x1 - strh r0, [r4, 0x2] -_080EC3E4: - adds r0, r6, 0 - bl sub_80EBD88 -_080EC3EA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EC3F0: .4byte gUnknown_841786B -_080EC3F4: .4byte sub_80EC574 - thumb_func_end sub_80EC364 - - thumb_func_start sub_80EC3F8 -sub_80EC3F8: @ 80EC3F8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80EC574 - pop {r0} - bx r0 - thumb_func_end sub_80EC3F8 - - thumb_func_start sub_80EC408 -sub_80EC408: @ 80EC408 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _080EC420 - adds r0, r4, 0 - bl sub_80EC520 - b _080EC436 -_080EC420: - movs r0, 0x1 - movs r1, 0 - bl fade_screen - ldr r0, _080EC43C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080EC440 @ =sub_80EC444 - str r0, [r1] -_080EC436: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC43C: .4byte gTasks -_080EC440: .4byte sub_80EC444 - thumb_func_end sub_80EC408 - - thumb_func_start sub_80EC444 -sub_80EC444: @ 80EC444 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080EC470 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EC468 - bl MailboxPC_DestroyListMenuBuffer - bl CleanupOverworldWindowsAndTilemaps - bl sub_81273D8 - adds r0, r4, 0 - bl DestroyTask -_080EC468: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC470: .4byte gPaletteFade - thumb_func_end sub_80EC444 - - thumb_func_start sub_80EC474 -sub_80EC474: @ 80EC474 - push {r4-r6,lr} - ldr r0, _080EC488 @ =gUnknown_203AAC4 - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _080EC48C - movs r0, 0x22 - bl HelpSystem_SetSomeVariable2 - b _080EC492 - .align 2, 0 -_080EC488: .4byte gUnknown_203AAC4 -_080EC48C: - movs r0, 0x1E - bl HelpSystem_SetSomeVariable2 -_080EC492: - ldr r0, _080EC4E8 @ =sub_80EC230 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080EC4EC @ =gUnknown_203AAC4 - ldrb r4, [r5, 0x5] - bl sub_80EBDC8 - strb r0, [r5, 0x5] - bl sub_80EBE04 - ldrb r0, [r5, 0x5] - cmp r4, r0 - beq _080EC4C6 - ldrb r1, [r5, 0x5] - ldrb r0, [r5, 0x4] - ldrh r2, [r5, 0x2] - adds r0, r2 - cmp r1, r0 - bge _080EC4C6 - cmp r2, 0 - beq _080EC4C6 - subs r0, r2, 0x1 - strh r0, [r5, 0x2] -_080EC4C6: - adds r0, r6, 0 - bl sub_80EBD88 - bl sub_80F6E9C - ldr r0, _080EC4EC @ =gUnknown_203AAC4 - ldrb r0, [r0, 0x5] - bl MailboxPC_InitBuffers - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080EC4F0 - adds r0, r6, 0 - bl sub_80EBEB0 - b _080EC4F6 - .align 2, 0 -_080EC4E8: .4byte sub_80EC230 -_080EC4EC: .4byte gUnknown_203AAC4 -_080EC4F0: - adds r0, r6, 0 - bl DestroyTask -_080EC4F6: - bl sub_807DC00 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80EC474 - - thumb_func_start sub_80EC500 -sub_80EC500: @ 80EC500 - push {lr} - ldr r0, _080EC514 @ =gFieldCallback - ldr r1, _080EC518 @ =sub_80EC474 - str r1, [r0] - ldr r0, _080EC51C @ =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080EC514: .4byte gFieldCallback -_080EC518: .4byte sub_80EC474 -_080EC51C: .4byte CB2_ReturnToField - thumb_func_end sub_80EC500 - - thumb_func_start sub_80EC520 -sub_80EC520: @ 80EC520 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080EC534 @ =gText_ThereIsNoPokemon - ldr r3, _080EC538 @ =sub_80EC574 - movs r1, 0x2 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_080EC534: .4byte gText_ThereIsNoPokemon -_080EC538: .4byte sub_80EC574 - thumb_func_end sub_80EC520 - - thumb_func_start sub_80EC53C -sub_80EC53C: @ 80EC53C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - bl ClearDialogWindowAndFrame - adds r0, r4, 0 - bl sub_80EBEB0 - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r1, _080EC56C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080EC570 @ =sub_80EBF40 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC56C: .4byte gTasks -_080EC570: .4byte sub_80EBF40 - thumb_func_end sub_80EC53C - - thumb_func_start sub_80EC574 -sub_80EC574: @ 80EC574 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - bl MailboxPC_RemoveWindow - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r1, _080EC59C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _080EC5A0 @ =sub_80EC53C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC59C: .4byte gTasks -_080EC5A0: .4byte sub_80EC53C - thumb_func_end sub_80EC574 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 180ec0e5d..c6daa62ea 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1455,7 +1455,7 @@ _0808C3E0: .align 2, 0 _0808C444: .4byte gUnknown_83CDA20 _0808C448: - bl sub_807AA70 + bl field_weather_is_fade_finished lsls r0, 24 cmp r0, 0 bne _0808C454 diff --git a/asm/shop.s b/asm/shop.s index c0f4779b7..bc5eccd64 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -386,7 +386,7 @@ sub_809AD8C: @ 809AD8C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_807AA70 + bl field_weather_is_fade_finished lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 0944bf82a..ce1f5aeeb 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -139,37 +139,6 @@ gUnknown_84020E6:: @ 84020E6 gUnknown_84020F8:: @ 84020F8 .incbin "baserom.gba", 0x4020F8, 0xE4 -gUnknown_84021DC:: @ 84021DC - .incbin "baserom.gba", 0x4021DC, 0xC - -gUnknown_84021E8:: @ 84021E8 - .incbin "baserom.gba", 0x4021E8, 0x18 - -gUnknown_8402200:: @ 8402200 - .incbin "baserom.gba", 0x402200, 0x3 - -gUnknown_8402203:: @ 8402203 - .incbin "baserom.gba", 0x402203, 0x5 - -gUnknown_8402208:: @ 8402208 - .incbin "baserom.gba", 0x402208, 0x18 - -gUnknown_8402220:: @ 8402220 - .incbin "baserom.gba", 0x402220, 0x8 - -gUnknown_8402228:: @ 8402228 - .incbin "baserom.gba", 0x402228, 0x20 - -gUnknown_8402248:: @ 8402248 - .incbin "baserom.gba", 0x402248, 0x8 - -gUnknown_8402250:: @ 8402250 - .incbin "baserom.gba", 0x402250, 0x8 - -gUnknown_8402258:: @ 8402258 - .incbin "baserom.gba", 0x402258, 0x8 - - .section .rodata.battle_anim_special gUnknown_840BF3C:: @ 840BF3C diff --git a/data/maps/PalletTown_PlayersHouse_2F/scripts.inc b/data/maps/PalletTown_PlayersHouse_2F/scripts.inc index 3700d06be..77ff855e4 100644 --- a/data/maps/PalletTown_PlayersHouse_2F/scripts.inc +++ b/data/maps/PalletTown_PlayersHouse_2F/scripts.inc @@ -47,7 +47,7 @@ PalletTown_PlayersHouse_2F_EventScript_168CE4:: @ 8168CE4 releaseall end -gUnknown_8168D17:: @ 8168D17 +EventScript_PalletTown_PlayersHouse_2F_ShutDownPC:: @ 8168D17 setvar VAR_0x8004, 1 playse SE_PC_OFF special sub_80CA9A8 diff --git a/data/strings.s b/data/strings.s index 63c08bbab..4f0fefb19 100644 --- a/data/strings.s +++ b/data/strings.s @@ -475,11 +475,11 @@ gUnknown_841623D:: @ 841623D .string "YES\n" .string "NO$" -gUnknown_8416244:: +gText_GoBackToThePreviousMenu:: .string "Go back to the\n" .string "previous menu.$" -gUnknown_8416262:: @ 8416262 +gText_WhatWouldYouLikeToDo:: @ 8416262 .string "What would you like to do?$" gUnknown_841627D:: @@ -1135,37 +1135,37 @@ gUnknown_84176CE:: @ 0x84176CE gUnknown_84176CF:: @ 84176CF .string "Cancel the battle?$" -gUnknown_84176E2:: @ 0x84176E2 +gText_TurnOff:: @ 0x84176E2 .string "TURN OFF$" gUnknown_84176EB:: @ 0x84176EB .string "もようがえ$" -gUnknown_84176F1:: @ 0x84176F1 +gText_ItemStorage:: @ 0x84176F1 .string "ITEM STORAGE$" -gUnknown_84176FE:: @ 84176FE +gText_Mailbox:: @ 84176FE .string "MAILBOX$" -gUnknown_8417706:: @ 0x8417706 +gText_DepositItem2:: @ 0x8417706 .string "DEPOSIT ITEM$" -gUnknown_8417713:: @ 0x8417713 +gText_WithdrawItem2:: @ 0x8417713 .string "WITHDRAW ITEM$" gUnknown_8417721:: @ 0x8417721 .string "どうぐを すてる$" -gUnknown_841772A:: @ 0x841772A +gText_StoreItemsInThePC:: @ 0x841772A .string "Store items in the PC.$" -gUnknown_8417741:: @ 0x8417741 +gText_TakeOutItemsFromThePC:: @ 0x8417741 .string "Take out items from the PC.$" gUnknown_841775D:: @ 0x841775D .string "パソコンに あずけている\nどうぐを すてます$" -gUnknown_8417774:: @ 8417774 +gText_ThereAreNoItems:: @ 8417774 .string "There are no items.{PAUSE_UNTIL_PRESS}$" gText_NoMoreRoomInBag:: @ 841778A @@ -1189,19 +1189,19 @@ gOtherText_MoveToBag:: gOtherText_Give2:: .string "GIVE$" -gUnknown_84177EE:: @ 84177EE +gText_TheresNoMailHere:: @ 84177EE .string "There's no MAIL here.{PAUSE_UNTIL_PRESS}$" -gUnknown_8417806:: @ 8417806 +gText_WhatWouldYouLikeToDoWithPlayersMail:: @ 8417806 .string "What would you like to do with\n{STR_VAR_1}'s MAIL?$" -gUnknown_8417830:: @ 8417830 +gText_MessageWillBeLost:: @ 8417830 .string "The message will be lost.\nIs that okay?$" -gUnknown_8417858:: @ 8417858 +gText_BagIsFull:: @ 8417858 .string "The BAG is full.{PAUSE_UNTIL_PRESS}$" -gUnknown_841786B:: @ 841786B +gText_MailReturnedToBagMessageErased:: @ 841786B .string "The MAIL was returned to the BAG\nwith its message erased.{PAUSE_UNTIL_PRESS}$" gText_WithdrawItem:: @ 84178A7 diff --git a/include/event_scripts.h b/include/event_scripts.h index 41a7a7bf2..ce9d0bbf5 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -1158,4 +1158,7 @@ extern const u8 EventScript_ItemfinderDigUpUnderfootItem[]; // new_game extern const u8 EventScript_ResetAllMapFlags[]; +// player_pc +extern const u8 EventScript_PalletTown_PlayersHouse_2F_ShutDownPC[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_weather.h b/include/field_weather.h index 78d2f2412..96c1ce7cb 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -13,7 +13,7 @@ void DoCurrentWeather(void); void SetSav1WeatherFromCurrMapHeader(void); void sub_807B0C4(u16 *, u16 *, u32); void PlayRainStoppingSoundEffect(void); -bool8 sub_807AA70(void); +bool8 field_weather_is_fade_finished(void); void SetWeatherScreenFadeOut(void); void sub_807B070(void); u8 GetCurrentWeather(void); diff --git a/include/help_system.h b/include/help_system.h index f28c168f7..ff77d01d6 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -89,5 +89,7 @@ void HelpSystem_FillPanel3(void); void PrintListMenuItems(void); void PlaceListMenuCursor(void); bool8 MoveCursor(u8 by, u8 dirn); +void sub_812B234(void); +void sub_812B248(void); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/item.h b/include/item.h index 6e0af31bb..69560a0e5 100644 --- a/include/item.h +++ b/include/item.h @@ -77,5 +77,6 @@ u16 GetPcItemQuantity(u16 *); void ItemPcCompaction(void); void RemoveItemFromPC(u16 itemId, u16 quantity); void SortAndCompactBagPocket(struct BagPocket * pocket); +u8 CountItemsInPC(void); #endif // GUARD_ITEM_H diff --git a/include/item_menu.h b/include/item_menu.h index ceaf277a3..83b8d6d15 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -38,5 +38,6 @@ void sub_810A1F8(u8 taskId); void sub_8107ECC(void); void sub_8108DC8(u8 pocketId); void sub_81089F4(u8 pocketId); +void sub_8107DB4(u8 menuType, u8 pocket, MainCallback callback); #endif //GUARD_ITEM_MENU_H diff --git a/include/mailbox_pc.h b/include/mailbox_pc.h index c2d18fc4b..6d23648b3 100644 --- a/include/mailbox_pc.h +++ b/include/mailbox_pc.h @@ -1,12 +1,14 @@ #ifndef GUARD_MAILBOX_PC_H #define GUARD_MAILBOX_PC_H +#include "player_pc.h" + bool8 MailboxPC_InitBuffers(u8 num); u8 MailboxPC_GetAddWindow(u8 winIdx); void MailboxPC_RemoveWindow(u8 winIdx); u8 MailboxPC_GetWindowId(u8 winIdx); -u8 MailboxPC_InitListMenu(struct PlayerPC_Unk_203AAC4 * playerPcStruct); -void MailboxPC_AddScrollIndicatorArrows(struct PlayerPC_Unk_203AAC4 * playerPcStruct); +u8 MailboxPC_InitListMenu(struct PlayerPCItemPageStruct * playerPcStruct); +void MailboxPC_AddScrollIndicatorArrows(struct PlayerPCItemPageStruct * playerPcStruct); void MailboxPC_DestroyListMenuBuffer(void); #endif //GUARD_MAILBOX_PC_H diff --git a/include/overworld.h b/include/overworld.h index 77cacff94..54e1b601f 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -113,7 +113,6 @@ u32 sub_8054C04(void); extern u8 gDisableMapMusicChangeOnMapLoad; extern u8 gUnknown_2036E28; -extern void (*gFieldCallback)(void); extern bool8 (* gFieldCallback2)(void); void SetLastHealLocationWarp(u8 healLocaionId); diff --git a/include/party_menu.h b/include/party_menu.h index bea5dcdde..16dccb6d8 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -82,5 +82,6 @@ void OpenPartyMenuInBattle(u8 arg); void sub_8127EC4(u8 battlerId, u8 unk, u8 arrayIndex); bool8 IsMultiBattle(void); void sub_8126EDC(void); +void PartyMenuInit_FromPlayerPc(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/player_pc.h b/include/player_pc.h index 06ab0cb0f..ecaf023e5 100644 --- a/include/player_pc.h +++ b/include/player_pc.h @@ -6,14 +6,16 @@ // Exported type declarations -struct PlayerPC_Unk_203AAC4 +struct PlayerPCItemPageStruct { u16 selectedRow; u16 scrollOffset; - u8 unk_4; - u8 unk_5; - u8 filler_6[4]; - u8 unk_A; + u8 pageItems; + u8 count; + u8 filler_6[3]; + u8 unk_9; + u8 scrollIndicatorId; + u8 filler_B[5]; }; // Exported RAM declarations diff --git a/include/strings.h b/include/strings.h index e7d40281d..d6608812f 100644 --- a/include/strings.h +++ b/include/strings.h @@ -426,4 +426,24 @@ extern const u8 gText_HaventReceivedGiftOkayToDiscard[]; extern const u8 gText_SendingWonderCard[]; extern const u8 gText_SendingWonderNews[]; +// player_pc +extern const u8 gText_WhatWouldYouLikeToDo[]; +extern const u8 gText_TakeOutItemsFromThePC[]; +extern const u8 gText_StoreItemsInThePC[]; +extern const u8 gText_GoBackToThePreviousMenu[]; +extern const u8 gText_ItemStorage[]; +extern const u8 gText_Mailbox[]; +extern const u8 gText_TurnOff[]; +extern const u8 gText_WithdrawItem2[]; +extern const u8 gText_DepositItem2[]; +extern const u8 gOtherText_Read[]; +extern const u8 gOtherText_MoveToBag[]; +extern const u8 gOtherText_Give2[]; +extern const u8 gText_TheresNoMailHere[]; +extern const u8 gText_ThereAreNoItems[]; +extern const u8 gText_WhatWouldYouLikeToDoWithPlayersMail[]; +extern const u8 gText_MessageWillBeLost[]; +extern const u8 gText_BagIsFull[]; +extern const u8 gText_MailReturnedToBagMessageErased[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 0e8edea06..6407bdca5 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -208,7 +208,7 @@ SECTIONS { src/fldeff_softboiled.o(.text); asm/battle_tower.o(.text); asm/battle_controller_oak.o(.text); - asm/player_pc.o(.text); + src/player_pc.o(.text); src/intro.o(.text); asm/battle_anim_special.o(.text); asm/hall_of_fame.o(.text); @@ -434,6 +434,7 @@ SECTIONS { data/data_83FECCC.o(.rodata); src/battle_controller_safari.o(.rodata); data/data_83FECCC.o(.rodata.83FEDE4); + src/player_pc.o(.rodata); src/intro.o(.rodata); data/data_83FECCC.o(.rodata.battle_anim_special); src/credits.o(.rodata); diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 62254a559..6447ae1b2 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -522,7 +522,7 @@ static bool32 sub_807E40C(void) bool32 sub_807E418(void) { - if (sub_807AA70() == TRUE && sub_80F83B0()) + if (field_weather_is_fade_finished() == TRUE && sub_80F83B0()) return TRUE; else return FALSE; diff --git a/src/item_use.c b/src/item_use.c index f8a99cb1d..9657488f3 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -117,7 +117,7 @@ void sub_80A1084(void) void sub_80A109C(u8 taskId) { - if (sub_807AA70() == TRUE) + if (field_weather_is_fade_finished() == TRUE) { sItemUseOnFieldCB(taskId); } @@ -172,7 +172,7 @@ bool8 sub_80A1194(void) void sub_80A11C0(u8 taskId) { - if (sub_807AA70() == TRUE) + if (field_weather_is_fade_finished() == TRUE) { UnfreezeMapObjects(); ScriptContext2_Disable(); diff --git a/src/mailbox_pc.c b/src/mailbox_pc.c index 0ebffc67e..0a4535271 100644 --- a/src/mailbox_pc.c +++ b/src/mailbox_pc.c @@ -94,10 +94,10 @@ static void ItemPrintFunc(u8 windowId, s32 itemId, u8 y) } } -u8 MailboxPC_InitListMenu(struct PlayerPC_Unk_203AAC4 * playerPcStruct) +u8 MailboxPC_InitListMenu(struct PlayerPCItemPageStruct * playerPcStruct) { u16 i; - for (i = 0; i < playerPcStruct->unk_5; i++) + for (i = 0; i < playerPcStruct->count; i++) { sListMenuItems[i].label = sString_Dummy; sListMenuItems[i].index = i; @@ -106,7 +106,7 @@ u8 MailboxPC_InitListMenu(struct PlayerPC_Unk_203AAC4 * playerPcStruct) sListMenuItems[i].index = -2; gMultiuseListMenuTemplate.items = sListMenuItems; - gMultiuseListMenuTemplate.totalItems = playerPcStruct->unk_5 + 1; + gMultiuseListMenuTemplate.totalItems = playerPcStruct->count + 1; gMultiuseListMenuTemplate.windowId = sWindowIds[1]; gMultiuseListMenuTemplate.header_X = 0; gMultiuseListMenuTemplate.item_X = GetMenuCursorDimensionByFont(2, 0); @@ -132,9 +132,9 @@ static void MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list) PlaySE(SE_SELECT); } -void MailboxPC_AddScrollIndicatorArrows(struct PlayerPC_Unk_203AAC4 * playerPcStruct) +void MailboxPC_AddScrollIndicatorArrows(struct PlayerPCItemPageStruct * playerPcStruct) { - playerPcStruct->unk_A = AddScrollIndicatorArrowPairParameterized(2, 0xC2, 0xC, 0x94, playerPcStruct->unk_5 - playerPcStruct->unk_4 + 1, 110, 110, &playerPcStruct->scrollOffset); + playerPcStruct->scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(2, 0xC2, 0xC, 0x94, playerPcStruct->count - playerPcStruct->pageItems + 1, 110, 110, &playerPcStruct->scrollOffset); } void MailboxPC_DestroyListMenuBuffer(void) diff --git a/src/map_preview_screen.c b/src/map_preview_screen.c index 7d9fa935e..c465a5683 100644 --- a/src/map_preview_screen.c +++ b/src/map_preview_screen.c @@ -495,7 +495,7 @@ static void sub_80F83D0(u8 taskId) } break; case 2: - if (sub_807AA70()) + if (field_weather_is_fade_finished()) { Overworld_PlaySpecialMapMusic(); data[0]++; diff --git a/src/player_pc.c b/src/player_pc.c new file mode 100644 index 000000000..cebdd765a --- /dev/null +++ b/src/player_pc.c @@ -0,0 +1,741 @@ +#include "global.h" +#include "palette.h" +#include "item.h" +#include "task.h" +#include "menu_indicators.h" +#include "new_menu_helpers.h" +#include "strings.h" +#include "menu.h" +#include "mail.h" +#include "mail_data.h" +#include "help_system.h" +#include "sound.h" +#include "overworld.h" +#include "script.h" +#include "mailbox_pc.h" +#include "player_pc.h" +#include "field_weather.h" +#include "event_scripts.h" +#include "field_fadetransition.h" +#include "string_util.h" +#include "item_menu.h" +#include "item_pc.h" +#include "party_menu.h" +#include "constants/items.h" +#include "constants/songs.h" + +#define PC_ITEM_ID 0 +#define PC_QUANTITY 1 +#define NEW_GAME_PC_ITEMS(i, type) ((u16)((u16 *)gNewGamePCItems + type)[i * 2]) + +#define tCount data[2] +#define tPageItems data[4] +#define tItemPcParam data[6] +#define tWindowId data[10] +#define tListMenuTaskId data[11] + +static EWRAM_DATA const u8 *sItemOrder = NULL; +static EWRAM_DATA u8 sTopMenuItemCount = 0; +EWRAM_DATA struct PlayerPCItemPageStruct gPlayerPcMenuManager = {}; + +#define SELECTED_MAIL (gSaveBlock1Ptr->mail[PC_MAIL_NUM(gPlayerPcMenuManager.scrollOffset) + gPlayerPcMenuManager.selectedRow]) + +static void Task_DrawPlayerPcTopMenu(u8 taskId); +static void Task_TopMenuHandleInput(u8 taskId); +static void Task_PlayerPcItemStorage(u8 taskId); +static void Task_PlayerPcMailbox(u8 taskId); +static void Task_PlayerPcTurnOff(u8 taskId); +static void Task_CreateItemStorageSubmenu(u8 taskId, u8 cursorPos); +static void PrintStringOnWindow0WithDialogueFrame(const u8 *str); +static void Task_TopMenu_ItemStorageSubmenu_HandleInput(u8 taskId); +static void Task_PlayerPcDepositItem(u8 taskId); +static void Task_DepositItem_WaitFadeAndGoToBag(u8 taskId); +static void CB2_ReturnFromDepositMenu(void); +static void Task_PlayerPcWithdrawItem(u8 taskId); +static void CB2_ReturnFromWithdrawMenu(void); +static void Task_WithdrawItemBeginFade(u8 taskId); +static void Task_PlayerPcCancel(u8 taskId); +static void Tsak_SetPageItemVars(u8 taskId); +static u8 CountPCMail(void); +static void PCMailCompaction(void); +static void Task_DrawMailboxPcMenu(u8 taskId); +static void Task_MailboxPcHandleInput(u8 taskId); +static void Task_PrintWhatToDoWithSelectedMail(u8 taskId); +static void Task_DestroyMailboxPcViewAndCancel(u8 taskId); +static void Task_DrawMailSubmenu(u8 taskId); +static void Task_MailSubmenuHandleInput(u8 taskId); +static void Task_PlayerPcReadMail(u8 taskId); +static void Task_WaitFadeAndReadSelectedMail(u8 taskId); +static void CB2_SetCbToReturnToMailbox(void); +static void Task_PlayerPcMoveMailToBag(u8 taskId); +static void Task_DrawYesNoMenuToConfirmMoveToBag(u8 taskId); +static void Task_MoveToBagYesNoMenuHandleInput(u8 taskId); +static void Task_TryPutMailInBag_DestroyMsgIfSuccessful(u8 taskId); +static void Task_DeclinedMoveMailToBag(u8 taskId); +static void Task_PlayerPcGiveMailToMon(u8 taskId); +static void Task_WaitFadeAndGoToPartyMenu(u8 taskId); +static void Task_Error_NoPokemon(u8 taskId); +static void Task_PlayerPcExitMailSubmenu(u8 taskId); + +static const u8 *const sItemStorageActionDescriptionPtrs[] = { + gText_TakeOutItemsFromThePC, + gText_StoreItemsInThePC, + gText_GoBackToThePreviousMenu +}; + +static const struct MenuAction sMenuActions_TopMenu[] = { + {gText_ItemStorage, Task_PlayerPcItemStorage}, + {gText_Mailbox, Task_PlayerPcMailbox}, + {gText_TurnOff, Task_PlayerPcTurnOff} +}; + +static const u8 gUnknown_8402200[] = { 0, 1, 2 }; +static const u8 gUnknown_8402203[] = { 0, 1, 2 }; + +static const struct MenuAction sMenuActions_ItemPc[] = { + {gText_WithdrawItem2, Task_PlayerPcWithdrawItem}, + {gText_DepositItem2, Task_PlayerPcDepositItem}, + {gFameCheckerText_Cancel, Task_PlayerPcCancel} +}; + +static const struct ItemSlot gNewGamePCItems[] = { + { ITEM_POTION, 1 }, + { ITEM_NONE, 0 } +}; + +static const struct MenuAction sMenuActions_MailSubmenu[] = { + {gOtherText_Read, Task_PlayerPcReadMail}, + {gOtherText_MoveToBag, Task_PlayerPcMoveMailToBag}, + {gOtherText_Give2, Task_PlayerPcGiveMailToMon}, + {gOtherText_Exit, Task_PlayerPcExitMailSubmenu} +}; + +static const struct WindowTemplate sWindowTemplate_TopMenu_3Items = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 13, + .height = 6, + .paletteNum = 15, + .baseBlock = 0x008 +}; + +static const struct WindowTemplate sWindowTemplate_TopMenu_4Items = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 13, + .height = 8, + .paletteNum = 15, + .baseBlock = 0x008 +}; + +static const struct WindowTemplate sWindowTemplate_ItemStorageSubmenu = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 14, + .height = 6, + .paletteNum = 15, + .baseBlock = 0x008 +}; + +void NewGameInitPCItems(void) +{ + u8 i; + + for (i = 0, ClearPCItemSlots(); NEW_GAME_PC_ITEMS(i, PC_ITEM_ID) && NEW_GAME_PC_ITEMS(i, PC_QUANTITY) && + AddPCItem(NEW_GAME_PC_ITEMS(i, PC_ITEM_ID), NEW_GAME_PC_ITEMS(i, PC_QUANTITY)) == TRUE; i++) + ; +} + +void sub_80EB6AC(void) +{ + u8 taskId; + + gPlayerPcMenuManager.unk_9 = 0; + sub_812B234(); + sItemOrder = gUnknown_8402200; + sTopMenuItemCount = 3; + taskId = CreateTask(TaskDummy, 0); + DisplayItemMessageOnField(taskId, 2, gText_WhatWouldYouLikeToDo, Task_DrawPlayerPcTopMenu); +} + +void sub_80EB6FC(void) +{ + u8 taskId; + + gPlayerPcMenuManager.unk_9 = 1; + sub_812B234(); + sItemOrder = gUnknown_8402203; + sTopMenuItemCount = 3; + taskId = CreateTask(TaskDummy, 0); + DisplayItemMessageOnField(taskId, 2, gText_WhatWouldYouLikeToDo, Task_DrawPlayerPcTopMenu); +} + +static void Task_DrawPlayerPcTopMenu(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (sTopMenuItemCount == 3) + tWindowId = AddWindow(&sWindowTemplate_TopMenu_3Items); + else + tWindowId = AddWindow(&sWindowTemplate_TopMenu_4Items); + SetStdWindowBorderStyle(tWindowId, 0); + AddItemMenuActionTextPrinters(tWindowId, 2, GetMenuCursorDimensionByFont(2, 0), 2, GetFontAttribute(2, FONTATTR_LETTER_SPACING), 16, sTopMenuItemCount, sMenuActions_TopMenu, sItemOrder); + Menu_InitCursor(tWindowId, 2, 0, 2, 16, sTopMenuItemCount, 0); + ScheduleBgCopyTilemapToVram(0); + gTasks[taskId].func = Task_TopMenuHandleInput; +} + +static void Task_TopMenuHandleInput(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + s8 input = Menu_ProcessInputNoWrapAround(); + switch (input) + { + case -2: + break; + case -1: + PlaySE(SE_SELECT); + ClearStdWindowAndFrameToTransparent(tWindowId, FALSE); + ClearWindowTilemap(tWindowId); + RemoveWindow(tWindowId); + ScheduleBgCopyTilemapToVram(0); + gTasks[taskId].func = Task_PlayerPcTurnOff; + break; + default: + ClearStdWindowAndFrameToTransparent(tWindowId, FALSE); + ClearWindowTilemap(tWindowId); + RemoveWindow(tWindowId); + ScheduleBgCopyTilemapToVram(0); + gTasks[taskId].func = sMenuActions_TopMenu[sItemOrder[input]].func.void_u8; + break; + } +} + +static void Task_ReturnToTopMenu(u8 taskId) +{ + sub_812B248(); + DisplayItemMessageOnField(taskId, 2, gText_WhatWouldYouLikeToDo, Task_DrawPlayerPcTopMenu); +} + +static void Task_PlayerPcItemStorage(u8 taskId) +{ + Task_CreateItemStorageSubmenu(taskId, FALSE); + gTasks[taskId].func = Task_TopMenu_ItemStorageSubmenu_HandleInput; +} + +static void Task_PlayerPcMailbox(u8 taskId) +{ + gPlayerPcMenuManager.count = CountPCMail(); + if (gPlayerPcMenuManager.count == 0) + { + DisplayItemMessageOnField(taskId, 2, gText_TheresNoMailHere, Task_ReturnToTopMenu); + } + else + { + gPlayerPcMenuManager.selectedRow = 0; + gPlayerPcMenuManager.scrollOffset = 0; + PCMailCompaction(); + Tsak_SetPageItemVars(taskId); + if (gPlayerPcMenuManager.unk_9 == 0) + HelpSystem_SetSomeVariable2(34); + else + HelpSystem_SetSomeVariable2(30); + if (MailboxPC_InitBuffers(gPlayerPcMenuManager.count) == TRUE) + { + ClearDialogWindowAndFrame(0, FALSE); + Task_DrawMailboxPcMenu(taskId); + gTasks[taskId].func = Task_MailboxPcHandleInput; + } + else + { + DisplayItemMessageOnField(taskId, 2, gText_TheresNoMailHere, Task_ReturnToTopMenu); + } + } +} + +static void Task_PlayerPcTurnOff(u8 taskId) +{ + if (gPlayerPcMenuManager.unk_9 == 0) + ScriptContext1_SetupScript(EventScript_PalletTown_PlayersHouse_2F_ShutDownPC); + else + EnableBothScriptContexts(); + DestroyTask(taskId); +} + +static void Task_CreateItemStorageSubmenu(u8 taskId, u8 cursorPos) +{ + s16 *data = gTasks[taskId].data; + if (gPlayerPcMenuManager.unk_9 == 0) + HelpSystem_SetSomeVariable2(33); + else + HelpSystem_SetSomeVariable2(29); + tWindowId = AddWindow(&sWindowTemplate_ItemStorageSubmenu); + SetStdWindowBorderStyle(tWindowId, FALSE); + PrintTextArray(tWindowId, 2, GetMenuCursorDimensionByFont(2, 0), 2, 16, 3, sMenuActions_ItemPc); + Menu_InitCursor(tWindowId, 2, 0, 2, 16, 3, cursorPos); + ScheduleBgCopyTilemapToVram(0); + PrintStringOnWindow0WithDialogueFrame(sItemStorageActionDescriptionPtrs[cursorPos]); +} + +static void PrintStringOnWindow0WithDialogueFrame(const u8 *str) +{ + DrawDialogueFrame(0, FALSE); + AddTextPrinterParameterized(0, 2, str, 0, 1, 0, NULL); +} + +static void Task_TopMenu_ItemStorageSubmenu_HandleInput(u8 taskId) +{ + if (JOY_REPT(DPAD_UP)) + { + if (Menu_GetCursorPos() != 0) + { + PlaySE(SE_SELECT); + Menu_MoveCursor(-1); + PrintStringOnWindow0WithDialogueFrame(sItemStorageActionDescriptionPtrs[Menu_GetCursorPos()]); + } + } + else if (JOY_REPT(DPAD_DOWN)) + { + if (Menu_GetCursorPos() != 2) + { + PlaySE(SE_SELECT); + Menu_MoveCursor(+1); + PrintStringOnWindow0WithDialogueFrame(sItemStorageActionDescriptionPtrs[Menu_GetCursorPos()]); + } + } + else if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + sMenuActions_ItemPc[Menu_GetCursorPos()].func.void_u8(taskId); + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + sMenuActions_ItemPc[2].func.void_u8(taskId); + } +} + +static void Task_DepositItem_WaitFadeAndGoToBag(u8 taskId) +{ + if (!gPaletteFade.active) + { + CleanupOverworldWindowsAndTilemaps(); + sub_8107DB4(3, POCKET_ITEMS - 1, CB2_ReturnToField); + gFieldCallback = CB2_ReturnFromDepositMenu; + DestroyTask(taskId); + } +} + +static void Task_PlayerPcDepositItem(u8 taskId) +{ + gTasks[taskId].func = Task_DepositItem_WaitFadeAndGoToBag; + fade_screen(1, 0); +} + +static void Task_ReturnToItemStorageSubmenu(u8 taskId) +{ + if (field_weather_is_fade_finished() == TRUE) + gTasks[taskId].func = Task_TopMenu_ItemStorageSubmenu_HandleInput; +} + +static void CB2_ReturnFromDepositMenu(void) +{ + u8 taskId; + sub_80F6E9C(); + DrawDialogueFrame(0, TRUE); + taskId = CreateTask(Task_ReturnToItemStorageSubmenu, 0); + Task_CreateItemStorageSubmenu(taskId, 1); + sub_807DC00(); +} + +static void Task_PlayerPcWithdrawItem(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + tCount = CountItemsInPC(); + if (tCount != 0) + { + tItemPcParam = 0; + gTasks[taskId].func = Task_WithdrawItemBeginFade; + gFieldCallback = CB2_ReturnFromWithdrawMenu; + } + else + { + ClearStdWindowAndFrameToTransparent(tWindowId, FALSE); + ClearWindowTilemap(tWindowId); + RemoveWindow(tWindowId); + DisplayItemMessageOnField(taskId, 2, gText_ThereAreNoItems, Task_PlayerPcItemStorage); + } +} + +static void CB2_ReturnFromWithdrawMenu(void) +{ + u8 taskId; + sub_80F6E9C(); + DrawDialogueFrame(0, TRUE); + taskId = CreateTask(Task_ReturnToItemStorageSubmenu, 0); + Task_CreateItemStorageSubmenu(taskId, 0); + sub_807DC00(); +} + +static void Task_WithdrawItem_WaitFadeAndGoToItemStorage(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!gPaletteFade.active) + { + CleanupOverworldWindowsAndTilemaps(); + ItemPc_Init(tItemPcParam, CB2_ReturnToField); + DestroyTask(taskId); + } +} + +static void Task_WithdrawItemBeginFade(u8 taskId) +{ + gTasks[taskId].func = Task_WithdrawItem_WaitFadeAndGoToItemStorage; + ItemPc_SetInitializedFlag(0); + fade_screen(1, 0); +} + +static void Task_PlayerPcCancel(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + ClearStdWindowAndFrameToTransparent(tWindowId, FALSE); + ClearWindowTilemap(tWindowId); + CopyWindowToVram(tWindowId, 1); + RemoveWindow(tWindowId); + Task_ReturnToTopMenu(taskId); +} + +static void Tsak_SetPageItemVars(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (tCount >= 8) + tPageItems = 8; + else + tPageItems = tCount + 1; + if (gPlayerPcMenuManager.count >= 8) + gPlayerPcMenuManager.pageItems = 8; + else + gPlayerPcMenuManager.pageItems = gPlayerPcMenuManager.count + 1; +} + +static u8 CountPCMail(void) +{ + u8 count = 0; + u8 i; + + for (i = PC_MAIL_NUM(0); i < MAIL_COUNT; i++) + { + if (gSaveBlock1Ptr->mail[i].itemId != ITEM_NONE) + count++; + } + return count; +} + +static void PCMailCompaction(void) +{ + u8 i; + u8 j; + for (i = PC_MAIL_NUM(0); i < MAIL_COUNT - 1; i++) + { + for (j = i + 1; j < MAIL_COUNT; j++) + { + if (gSaveBlock1Ptr->mail[i].itemId == ITEM_NONE) + { + struct MailStruct mail = gSaveBlock1Ptr->mail[i]; + gSaveBlock1Ptr->mail[i] = gSaveBlock1Ptr->mail[j]; + gSaveBlock1Ptr->mail[j] = mail; + } + } + } +} + +static void Task_DrawMailboxPcMenu(u8 taskId) +{ + u8 windowId = MailboxPC_GetAddWindow(0); + s32 width = GetStringWidth(2, gText_Mailbox, 0); + MailboxPC_GetAddWindow(1); + AddTextPrinterParameterized(windowId, 2, gText_Mailbox, (80 - width) / 2, 2, 0, NULL); + ScheduleBgCopyTilemapToVram(0); + gTasks[taskId].tListMenuTaskId = MailboxPC_InitListMenu(&gPlayerPcMenuManager); + MailboxPC_AddScrollIndicatorArrows(&gPlayerPcMenuManager); +} + +static void Task_MailboxPcHandleInput(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + s32 input; + if (!gPaletteFade.active) + { + input = ListMenu_ProcessInput(tListMenuTaskId); + ListMenuGetScrollAndRow(tListMenuTaskId, &gPlayerPcMenuManager.scrollOffset, &gPlayerPcMenuManager.selectedRow); + switch (input) + { + case -1: + break; + case -2: + PlaySE(SE_SELECT); + RemoveScrollIndicatorArrowPair(gPlayerPcMenuManager.scrollIndicatorId); + Task_DestroyMailboxPcViewAndCancel(taskId); + break; + default: + PlaySE(SE_SELECT); + MailboxPC_RemoveWindow(0); + MailboxPC_RemoveWindow(1); + DestroyListMenuTask(tListMenuTaskId, &gPlayerPcMenuManager.scrollOffset, &gPlayerPcMenuManager.selectedRow); + ScheduleBgCopyTilemapToVram(0); + RemoveScrollIndicatorArrowPair(gPlayerPcMenuManager.scrollIndicatorId); + gTasks[taskId].func = Task_PrintWhatToDoWithSelectedMail; + break; + } + } +} + +static void Task_PrintWhatToDoWithSelectedMail(u8 taskId) +{ + s32 length; + s32 i; + u8 *ptr; + StringCopy(gStringVar1, SELECTED_MAIL.playerName); + length = StringLength(gStringVar1); + if (length > 5) + { + for (ptr = gStringVar1 + length - 1; ptr >= gStringVar1; ptr--) + { + if (*ptr) + break; + *ptr = EOS; + } + } + else + { + ConvertInternationalString(gStringVar1, LANGUAGE_JAPANESE); + } + StringExpandPlaceholders(gStringVar4, gText_WhatWouldYouLikeToDoWithPlayersMail); + DisplayItemMessageOnField(taskId, 2, gStringVar4, Task_DrawMailSubmenu); +} + +static void Task_DestroyMailboxPcViewAndCancel(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + MailboxPC_RemoveWindow(0); + MailboxPC_RemoveWindow(1); + DestroyListMenuTask(tListMenuTaskId, NULL, NULL); + ScheduleBgCopyTilemapToVram(0); + MailboxPC_DestroyListMenuBuffer(); + Task_ReturnToTopMenu(taskId); +} + +static void Task_DrawMailSubmenu(u8 taskId) +{ + u8 windowId = MailboxPC_GetAddWindow(2); + PrintTextArray(windowId, 2, GetMenuCursorDimensionByFont(2, 0), 2, 16, 4, sMenuActions_MailSubmenu); + Menu_InitCursor(windowId, 2, 0, 2, 16, 4, 0); + ScheduleBgCopyTilemapToVram(0); + gTasks[taskId].func = Task_MailSubmenuHandleInput; +} + +static void Task_MailSubmenuHandleInput(u8 taskId) +{ + s8 input = Menu_ProcessInput_other(); + switch (input) + { + case -1: + PlaySE(SE_SELECT); + Task_PlayerPcExitMailSubmenu(taskId); + break; + case -2: + break; + default: + PlaySE(SE_SELECT); + sMenuActions_MailSubmenu[input].func.void_u8(taskId); + break; + } +} + +static void Task_PlayerPcReadMail(u8 taskId) +{ + fade_screen(1, 0); + gTasks[taskId].func = Task_WaitFadeAndReadSelectedMail; +} + +static void Task_WaitFadeAndReadSelectedMail(u8 taskId) +{ + if (!gPaletteFade.active) + { + MailboxPC_DestroyListMenuBuffer(); + CleanupOverworldWindowsAndTilemaps(); + sub_80BEBEC(&SELECTED_MAIL, CB2_SetCbToReturnToMailbox, 1); + DestroyTask(taskId); + } +} + +static void Task_WaitFadeAndReturnToMailboxPcInputHandler(u8 taskId) +{ + if (field_weather_is_fade_finished() == TRUE) + gTasks[taskId].func = Task_MailboxPcHandleInput; +} + +static void CB2_ReturnToMailbox(void) +{ + u8 taskId; + if (gPlayerPcMenuManager.unk_9 == 0) + HelpSystem_SetSomeVariable2(34); + else + HelpSystem_SetSomeVariable2(30); + sub_80F6E9C(); + taskId = CreateTask(Task_WaitFadeAndReturnToMailboxPcInputHandler, 0); + if (MailboxPC_InitBuffers(gPlayerPcMenuManager.count) == TRUE) + Task_DrawMailboxPcMenu(taskId); + else + DestroyTask(taskId); + sub_807DC00(); +} + +static void CB2_SetCbToReturnToMailbox(void) +{ + gFieldCallback = CB2_ReturnToMailbox; + SetMainCallback2(CB2_ReturnToField); +} + +static void Task_PlayerPcMoveMailToBag(u8 taskId) +{ + DisplayItemMessageOnField(taskId, 2, gText_MessageWillBeLost, Task_DrawYesNoMenuToConfirmMoveToBag); +} + +static void Task_DrawYesNoMenuToConfirmMoveToBag(u8 taskId) +{ + DisplayYesNoMenuDefaultYes(); + gTasks[taskId].func = Task_MoveToBagYesNoMenuHandleInput; +} + +static void Task_MoveToBagYesNoMenuHandleInput(u8 taskId) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case -2: + break; + case 0: + Task_TryPutMailInBag_DestroyMsgIfSuccessful(taskId); + break; + case -1: + PlaySE(SE_SELECT); + // fallthrough + case 1: + Task_DeclinedMoveMailToBag(taskId); + break; + } +} + +static void Task_TryPutMailInBag_DestroyMsgIfSuccessful(u8 taskId) +{ + struct MailStruct * mail = &SELECTED_MAIL; + if (!AddBagItem(mail->itemId, 1)) + { + DisplayItemMessageOnField(taskId, 2, gText_BagIsFull, Task_PlayerPcExitMailSubmenu); + } + else + { + DisplayItemMessageOnField(taskId, 2, gText_MailReturnedToBagMessageErased, Task_PlayerPcExitMailSubmenu); + ClearMailStruct(mail); + PCMailCompaction(); + gPlayerPcMenuManager.count--; + if (gPlayerPcMenuManager.count < gPlayerPcMenuManager.pageItems + gPlayerPcMenuManager.scrollOffset) + { + if (gPlayerPcMenuManager.scrollOffset != 0) + gPlayerPcMenuManager.scrollOffset--; + } + Tsak_SetPageItemVars(taskId); + } +} + +static void Task_DeclinedMoveMailToBag(u8 taskId) +{ + Task_PlayerPcExitMailSubmenu(taskId); +} + +static void Task_PlayerPcGiveMailToMon(u8 taskId) +{ + if (CalculatePlayerPartyCount() == 0) + { + Task_Error_NoPokemon(taskId); + } + else + { + fade_screen(1, 0); + gTasks[taskId].func = Task_WaitFadeAndGoToPartyMenu; + } +} + +static void Task_WaitFadeAndGoToPartyMenu(u8 taskId) +{ + if (!gPaletteFade.active) + { + MailboxPC_DestroyListMenuBuffer(); + CleanupOverworldWindowsAndTilemaps(); + PartyMenuInit_FromPlayerPc(); + DestroyTask(taskId); + } +} + +static void CB2_ReturnToMailboxPc_UpdateScrollVariables(void) +{ + u8 taskId; + u8 count; + if (gPlayerPcMenuManager.unk_9 == 0) + HelpSystem_SetSomeVariable2(34); + else + HelpSystem_SetSomeVariable2(30); + taskId = CreateTask(Task_WaitFadeAndReturnToMailboxPcInputHandler, 0); + count = gPlayerPcMenuManager.count; + gPlayerPcMenuManager.count = CountPCMail(); + PCMailCompaction(); + if (count != gPlayerPcMenuManager.count) + { + if (gPlayerPcMenuManager.count < gPlayerPcMenuManager.pageItems + gPlayerPcMenuManager.scrollOffset) + { + if (gPlayerPcMenuManager.scrollOffset != 0) + gPlayerPcMenuManager.scrollOffset--; + } + } + Tsak_SetPageItemVars(taskId); + sub_80F6E9C(); + if (MailboxPC_InitBuffers(gPlayerPcMenuManager.count) == TRUE) + Task_DrawMailboxPcMenu(taskId); + else + DestroyTask(taskId); + sub_807DC00(); +} + +void CB2_PlayerPC_ReturnFromPartyMenu(void) +{ + gFieldCallback = CB2_ReturnToMailboxPc_UpdateScrollVariables; + SetMainCallback2(CB2_ReturnToField); +} + +static void Task_Error_NoPokemon(u8 taskId) +{ + DisplayItemMessageOnField(taskId, 2, gText_ThereIsNoPokemon, Task_PlayerPcExitMailSubmenu); +} + +static void Task_RedrawPlayerPcMailboxAndSetUpInputHandler(u8 taskId) +{ + ClearDialogWindowAndFrame(0, FALSE); + Task_DrawMailboxPcMenu(taskId); + ScheduleBgCopyTilemapToVram(0); + gTasks[taskId].func = Task_MailboxPcHandleInput; +} + +static void Task_PlayerPcExitMailSubmenu(u8 taskId) +{ + MailboxPC_RemoveWindow(2); + ScheduleBgCopyTilemapToVram(0); + gTasks[taskId].func = Task_RedrawPlayerPcMailboxAndSetUpInputHandler; +} + +#undef tListMenuTaskId +#undef tWindowId +#undef tItemPcParam +#undef tPageItems +#undef tCount diff --git a/sym_ewram.txt b/sym_ewram.txt index f821f7170..f01e54708 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -985,18 +985,9 @@ gUnknown_203AAB4: @ 203AAB4 gUnknown_203AAB8: @ 203AAB8 .space 0x4 -gUnknown_203AABC: @ 203AABC - .space 0x4 - -gUnknown_203AAC0: @ 203AAC0 - .space 0x4 - -gUnknown_203AAC4: @ 203AAC4 - .space 0x2 - -gUnknown_203AAC6: @ 203AAC6 - .space 0xE - + .align 2 + .include "src/player_pc.o" + .align 2 .include "src/intro.o" .align 2 From 31d2164c9538c598856403a2d3255448fc3c5456 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 12 Oct 2019 16:35:02 -0400 Subject: [PATCH 2/3] Bump baserom.ips --- baserom.ips | Bin 1991829 -> 1702809 bytes tools/br_ips/br_ips.c | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/baserom.ips b/baserom.ips index b1ef4e9dc75312aa1cb03df8fa7dcab0dbee6e66..b4ea36d11696c4f92d7615b6e51d5d55d6af2aea 100644 GIT binary patch delta 114 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 diff --git a/tools/br_ips/br_ips.c b/tools/br_ips/br_ips.c index 64c454a3e..440705cab 100644 --- a/tools/br_ips/br_ips.c +++ b/tools/br_ips/br_ips.c @@ -53,7 +53,7 @@ static int getline(char ** lineptr, size_t * n, FILE * stream) { static void getIncbinsFromFile(hunk_t ** hunks, size_t * num, size_t * maxnum, const char * fname, char ** strbuf, size_t * buffersize) { // Recursively find incbinned segments and encode them as hunks. FILE * file = fopen(fname, "r"); - if (file == NULL) FATAL_ERROR("unable to open file \"%s\" for reading\n", fname); + if (file == NULL) return; hunk_t * data = *hunks; size_t nhunks = *num; size_t maxnhunks = *maxnum; From 66c416875a92a5a8987dca2e1102f76c4cce5e98 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 12 Oct 2019 17:23:17 -0400 Subject: [PATCH 3/3] Review comments --- src/player_pc.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/player_pc.c b/src/player_pc.c index cebdd765a..7197f65f1 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -26,7 +26,7 @@ #define PC_ITEM_ID 0 #define PC_QUANTITY 1 -#define NEW_GAME_PC_ITEMS(i, type) ((u16)((u16 *)gNewGamePCItems + type)[i * 2]) +#define NEW_GAME_PC_ITEMS(i, type) (((u16 *)gNewGamePCItems + type)[i * 2]) #define tCount data[2] #define tPageItems data[4] @@ -55,7 +55,7 @@ static void Task_PlayerPcWithdrawItem(u8 taskId); static void CB2_ReturnFromWithdrawMenu(void); static void Task_WithdrawItemBeginFade(u8 taskId); static void Task_PlayerPcCancel(u8 taskId); -static void Tsak_SetPageItemVars(u8 taskId); +static void Task_SetPageItemVars(u8 taskId); static u8 CountPCMail(void); static void PCMailCompaction(void); static void Task_DrawMailboxPcMenu(u8 taskId); @@ -237,7 +237,7 @@ static void Task_PlayerPcMailbox(u8 taskId) gPlayerPcMenuManager.selectedRow = 0; gPlayerPcMenuManager.scrollOffset = 0; PCMailCompaction(); - Tsak_SetPageItemVars(taskId); + Task_SetPageItemVars(taskId); if (gPlayerPcMenuManager.unk_9 == 0) HelpSystem_SetSomeVariable2(34); else @@ -407,7 +407,7 @@ static void Task_PlayerPcCancel(u8 taskId) Task_ReturnToTopMenu(taskId); } -static void Tsak_SetPageItemVars(u8 taskId) +static void Task_SetPageItemVars(u8 taskId) { s16 *data = gTasks[taskId].data; if (tCount >= 8) @@ -646,7 +646,7 @@ static void Task_TryPutMailInBag_DestroyMsgIfSuccessful(u8 taskId) if (gPlayerPcMenuManager.scrollOffset != 0) gPlayerPcMenuManager.scrollOffset--; } - Tsak_SetPageItemVars(taskId); + Task_SetPageItemVars(taskId); } } @@ -699,7 +699,7 @@ static void CB2_ReturnToMailboxPc_UpdateScrollVariables(void) gPlayerPcMenuManager.scrollOffset--; } } - Tsak_SetPageItemVars(taskId); + Task_SetPageItemVars(taskId); sub_80F6E9C(); if (MailboxPC_InitBuffers(gPlayerPcMenuManager.count) == TRUE) Task_DrawMailboxPcMenu(taskId);