diff options
40 files changed, 1087 insertions, 857 deletions
@@ -356,7 +356,7 @@ sub_810BAE8: @ 810BAE8 str r3, [sp, 0xC] movs r2, 0x2 movs r3, 0 - bl sub_80BF5D0 + bl CreateYesNoMenuWithCallbacks add sp, 0x10 pop {r0} bx r0 @@ -381,7 +381,7 @@ sub_810BB14: @ 810BB14 str r3, [sp, 0xC] movs r2, 0x2 movs r3, 0 - bl sub_80BF5D0 + bl CreateYesNoMenuWithCallbacks add sp, 0x10 pop {r0} bx r0 diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index aa8a2ce78..762938e3c 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -255,7 +255,7 @@ _0813CF62: adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _0813CF98 @ =gUnknown_3005E70 + ldr r0, _0813CF98 @ =gMultiuseListMenuTemplate ldr r2, _0813CF9C @ =gUnknown_203F370 ldrh r1, [r2, 0xA] ldrh r2, [r2, 0x8] @@ -273,7 +273,7 @@ _0813CF62: b _0813CFD2 .align 2, 0 _0813CF94: .4byte sub_813DA68 -_0813CF98: .4byte gUnknown_3005E70 +_0813CF98: .4byte gMultiuseListMenuTemplate _0813CF9C: .4byte gUnknown_203F370 _0813CFA0: .4byte gTasks _0813CFA4: @@ -615,10 +615,10 @@ _0813D254: ldr r2, [r0] lsls r0, r6, 3 adds r0, r2 - ldr r1, _0813D290 @ =gUnknown_84166DB + ldr r1, _0813D290 @ =gText_Close str r1, [r0] str r6, [r0, 0x4] - ldr r1, _0813D294 @ =gUnknown_3005E70 + ldr r1, _0813D294 @ =gMultiuseListMenuTemplate str r2, [r1] ldr r0, _0813D298 @ =gUnknown_203F370 ldrb r0, [r0, 0x4] @@ -637,8 +637,8 @@ _0813D280: .4byte gBagPockets + 0x20 _0813D284: .4byte gUnknown_203F36C _0813D288: .4byte gUnknown_203F380 _0813D28C: .4byte gUnknown_203F37C -_0813D290: .4byte gUnknown_84166DB -_0813D294: .4byte gUnknown_3005E70 +_0813D290: .4byte gText_Close +_0813D294: .4byte gMultiuseListMenuTemplate _0813D298: .4byte gUnknown_203F370 _0813D29C: ldr r0, _0813D310 @ =gUnknown_203F36C @@ -715,10 +715,10 @@ sub_813D31C: @ 813D31C lsls r5, r1, 16 lsrs r5, 16 ldr r4, _0813D384 @ =gStringVar4 - ldr r1, _0813D388 @ =gUnknown_84166FF + ldr r1, _0813D388 @ =gText_FontSize0 adds r0, r4, 0 bl StringCopy - ldr r1, _0813D38C @ =gUnknown_8416226 + ldr r1, _0813D38C @ =gOtherText_UnkF9_08_Clear_01 adds r0, r4, 0 bl StringAppend ldr r6, _0813D390 @ =gStringVar1 @@ -737,7 +737,7 @@ sub_813D31C: @ 813D31C ldr r1, _0813D394 @ =gUnknown_84643B4 adds r0, r4, 0 bl StringAppend - ldr r1, _0813D398 @ =gUnknown_8416703 + ldr r1, _0813D398 @ =gText_FontSize2 adds r0, r4, 0 bl StringAppend adds r0, r4, 0 @@ -753,11 +753,11 @@ sub_813D31C: @ 813D31C bx r0 .align 2, 0 _0813D384: .4byte gStringVar4 -_0813D388: .4byte gUnknown_84166FF -_0813D38C: .4byte gUnknown_8416226 +_0813D388: .4byte gText_FontSize0 +_0813D38C: .4byte gOtherText_UnkF9_08_Clear_01 _0813D390: .4byte gStringVar1 _0813D394: .4byte gUnknown_84643B4 -_0813D398: .4byte gUnknown_8416703 +_0813D398: .4byte gText_FontSize2 thumb_func_end sub_813D31C thumb_func_start sub_813D39C @@ -806,7 +806,7 @@ _0813D3D6: lsls r1, r5, 16 lsrs r1, 16 movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 ldr r1, [r4] @@ -857,10 +857,10 @@ sub_813D430: @ 813D430 lsrs r4, 16 movs r0, 0x5 adds r1, r4, 0 - bl sub_809A798 + bl BagGetItemIdByPocketPosition movs r0, 0x5 adds r1, r4, 0 - bl sub_809A7B4 + bl BagGetQuantityByPocketPosition adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -869,7 +869,7 @@ sub_813D430: @ 813D430 movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r4, _0813D4A8 @ =gStringVar4 - ldr r1, _0813D4AC @ =gUnknown_84162B9 + ldr r1, _0813D4AC @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders str r5, [sp] @@ -894,7 +894,7 @@ _0813D498: _0813D4A0: .4byte gUnknown_203F36C _0813D4A4: .4byte gStringVar1 _0813D4A8: .4byte gStringVar4 -_0813D4AC: .4byte gUnknown_84162B9 +_0813D4AC: .4byte gText_TimesStrVar1 thumb_func_end sub_813D430 thumb_func_start sub_813D4B0 @@ -980,7 +980,7 @@ sub_813D538: @ 813D538 lsls r1, 16 lsrs r1, 16 movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl ItemId_GetDescription @@ -1409,7 +1409,7 @@ sub_813D844: @ 813D844 ldr r4, _0813D884 @ =gUnknown_203F37A subs r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu ldr r0, _0813D888 @ =gUnknown_203F36C ldr r0, [r0] ldr r0, [r0] @@ -1574,7 +1574,7 @@ sub_813D940: @ 813D940 movs r2, 0x2 movs r3, 0x3 bl ConvertIntToDecimalStringN - ldr r1, _0813D9F4 @ =gUnknown_84162B9 + ldr r1, _0813D9F4 @ =gText_TimesStrVar1 mov r0, r9 bl StringExpandPlaceholders movs r0, 0xA @@ -1601,7 +1601,7 @@ sub_813D940: @ 813D940 _0813D9E8: .4byte gTasks+0x8 _0813D9EC: .4byte gStringVar1 _0813D9F0: .4byte gStringVar4 -_0813D9F4: .4byte gUnknown_84162B9 +_0813D9F4: .4byte gText_TimesStrVar1 thumb_func_end sub_813D940 thumb_func_start sub_813D9F8 @@ -1631,7 +1631,7 @@ sub_813D9F8: @ 813D9F8 adds r3, r5, 0 bl ConvertIntToDecimalStringN ldr r4, _0813DA60 @ =gStringVar4 - ldr r1, _0813DA64 @ =gUnknown_84162B9 + ldr r1, _0813DA64 @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0xA @@ -1654,7 +1654,7 @@ sub_813D9F8: @ 813D9F8 .align 2, 0 _0813DA5C: .4byte gStringVar1 _0813DA60: .4byte gStringVar4 -_0813DA64: .4byte gUnknown_84162B9 +_0813DA64: .4byte gText_TimesStrVar1 thumb_func_end sub_813D9F8 thumb_func_start sub_813DA68 @@ -1748,7 +1748,7 @@ _0813DB10: lsls r1, r5, 16 lsrs r1, 16 movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition ldr r1, _0813DB34 @ =gSpecialVar_ItemId b _0813DB46 .align 2, 0 @@ -1784,11 +1784,11 @@ _0813DB58: lsrs r4, 16 movs r0, 0x5 adds r1, r4, 0 - bl sub_809A7B4 + bl BagGetQuantityByPocketPosition strh r0, [r7, 0x4] movs r0, 0x5 adds r1, r4, 0 - bl sub_809A798 + bl BagGetItemIdByPocketPosition ldr r1, _0813DBA8 @ =gSpecialVar_ItemId strh r0, [r1] ldr r0, _0813DBAC @ =gTasks @@ -2504,11 +2504,11 @@ _0813E18A: ldr r4, _0813E1F8 @ =gUnknown_203F37A subs r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu bl sub_813D8AC bl sub_813D6F4 bl sub_813D204 - ldr r0, _0813E1FC @ =gUnknown_3005E70 + ldr r0, _0813E1FC @ =gMultiuseListMenuTemplate subs r4, 0xA ldrh r1, [r4, 0xA] ldrh r2, [r4, 0x8] @@ -2534,7 +2534,7 @@ _0813E1EC: .4byte gTasks+0x8 _0813E1F0: .4byte gMain _0813E1F4: .4byte gSpecialVar_ItemId _0813E1F8: .4byte gUnknown_203F37A -_0813E1FC: .4byte gUnknown_3005E70 +_0813E1FC: .4byte gMultiuseListMenuTemplate thumb_func_end sub_813E164 thumb_func_start sub_813E200 @@ -2595,14 +2595,14 @@ sub_813E274: @ 813E274 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _0813E288 @ =gUnknown_841632A + ldr r2, _0813E288 @ =gText_ThereIsNoPokemon ldr r3, _0813E28C @ =sub_813E290 movs r1, 0x2 bl sub_813EB20 pop {r0} bx r0 .align 2, 0 -_0813E288: .4byte gUnknown_841632A +_0813E288: .4byte gText_ThereIsNoPokemon _0813E28C: .4byte sub_813E290 thumb_func_end sub_813E274 @@ -2646,11 +2646,11 @@ sub_813E2B8: @ 813E2B8 ldr r4, _0813E318 @ =gUnknown_203F37A subs r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu bl sub_813D8AC bl sub_813D6F4 bl sub_813D204 - ldr r0, _0813E31C @ =gUnknown_3005E70 + ldr r0, _0813E31C @ =gMultiuseListMenuTemplate subs r4, 0xA ldrh r1, [r4, 0xA] ldrh r2, [r4, 0x8] @@ -2671,7 +2671,7 @@ sub_813E2B8: @ 813E2B8 .align 2, 0 _0813E314: .4byte gTasks+0x8 _0813E318: .4byte gUnknown_203F37A -_0813E31C: .4byte gUnknown_3005E70 +_0813E31C: .4byte gMultiuseListMenuTemplate thumb_func_end sub_813E2B8 thumb_func_start sub_813E320 @@ -2726,7 +2726,7 @@ sub_813E37C: @ 813E37C adds r0, r6, r7 ldrh r1, [r0, 0x2] movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 @@ -2817,7 +2817,7 @@ sub_813E428: @ 813E428 ldr r1, _0813E478 @ =gStringVar1 bl CopyItemName ldr r4, _0813E47C @ =gStringVar4 - ldr r1, _0813E480 @ =gUnknown_84168F1 + ldr r1, _0813E480 @ =gText_OhNoICantBuyThat adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -2834,7 +2834,7 @@ _0813E470: .4byte gTasks+0x8 _0813E474: .4byte gSpecialVar_ItemId _0813E478: .4byte gStringVar1 _0813E47C: .4byte gStringVar4 -_0813E480: .4byte gUnknown_84168F1 +_0813E480: .4byte gText_OhNoICantBuyThat _0813E484: .4byte sub_813E2B8 _0813E488: movs r0, 0x1 @@ -2857,7 +2857,7 @@ _0813E4A8: ldr r1, _0813E4D4 @ =gStringVar1 bl CopyItemName ldr r4, _0813E4D8 @ =gStringVar4 - ldr r1, _0813E4DC @ =gUnknown_8416911 + ldr r1, _0813E4DC @ =gText_HowManyWouldYouLikeToSell adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -2875,7 +2875,7 @@ _0813E4CE: .align 2, 0 _0813E4D4: .4byte gStringVar1 _0813E4D8: .4byte gStringVar4 -_0813E4DC: .4byte gUnknown_8416911 +_0813E4DC: .4byte gText_HowManyWouldYouLikeToSell _0813E4E0: .4byte sub_813E5B8 thumb_func_end sub_813E428 @@ -2893,7 +2893,7 @@ sub_813E4E4: @ 813E4E4 ldr r6, _0813E544 @ =gStringVar3 ldrh r1, [r4, 0x2] movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -2907,7 +2907,7 @@ sub_813E4E4: @ 813E4E4 movs r3, 0x6 bl ConvertIntToDecimalStringN ldr r4, _0813E548 @ =gStringVar4 - ldr r1, _0813E54C @ =gUnknown_8416936 + ldr r1, _0813E54C @ =gText_ICanPayThisMuch_WouldThatBeOkay adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -2925,7 +2925,7 @@ sub_813E4E4: @ 813E4E4 _0813E540: .4byte gTasks+0x8 _0813E544: .4byte gStringVar3 _0813E548: .4byte gStringVar4 -_0813E54C: .4byte gUnknown_8416936 +_0813E54C: .4byte gText_ICanPayThisMuch_WouldThatBeOkay _0813E550: .4byte sub_813E554 thumb_func_end sub_813E4E4 @@ -3004,7 +3004,7 @@ sub_813E5B8: @ 813E5B8 bl ConvertIntToDecimalStringN ldr r2, _0813E65C @ =gStringVar4 mov r8, r2 - ldr r1, _0813E660 @ =gUnknown_84162B9 + ldr r1, _0813E660 @ =gText_TimesStrVar1 mov r0, r8 bl StringExpandPlaceholders movs r0, 0xA @@ -3024,7 +3024,7 @@ sub_813E5B8: @ 813E5B8 mov r3, r9 ldrh r1, [r3, 0x2] movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -3052,7 +3052,7 @@ sub_813E5B8: @ 813E5B8 _0813E654: .4byte gTasks+0x8 _0813E658: .4byte gStringVar1 _0813E65C: .4byte gStringVar4 -_0813E660: .4byte gUnknown_84162B9 +_0813E660: .4byte gText_TimesStrVar1 _0813E664: .4byte sub_813E690 thumb_func_end sub_813E5B8 @@ -3103,7 +3103,7 @@ sub_813E690: @ 813E690 bl sub_813D9F8 ldrh r1, [r5, 0x2] movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -3192,7 +3192,7 @@ sub_813E768: @ 813E768 ldr r6, _0813E7E0 @ =gStringVar3 ldrh r1, [r4, 0x2] movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -3206,7 +3206,7 @@ sub_813E768: @ 813E768 movs r3, 0x6 bl ConvertIntToDecimalStringN ldr r4, _0813E7E4 @ =gStringVar4 - ldr r1, _0813E7E8 @ =gUnknown_8416959 + ldr r1, _0813E7E8 @ =gText_TurnedOverItemsWorthYen adds r0, r4, 0 bl StringExpandPlaceholders ldr r3, _0813E7EC @ =sub_813E7F0 @@ -3223,7 +3223,7 @@ _0813E7D8: .4byte gSpecialVar_ItemId _0813E7DC: .4byte gStringVar1 _0813E7E0: .4byte gStringVar3 _0813E7E4: .4byte gStringVar4 -_0813E7E8: .4byte gUnknown_8416959 +_0813E7E8: .4byte gText_TurnedOverItemsWorthYen _0813E7EC: .4byte sub_813E7F0 thumb_func_end sub_813E768 @@ -3277,11 +3277,11 @@ sub_813E7F0: @ 813E7F0 ldr r4, _0813E8C8 @ =gUnknown_203F37A subs r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu bl sub_813D8AC bl sub_813D6F4 bl sub_813D204 - ldr r0, _0813E8CC @ =gUnknown_3005E70 + ldr r0, _0813E8CC @ =gMultiuseListMenuTemplate subs r4, 0xA ldrh r1, [r4, 0xA] ldrh r2, [r4, 0x8] @@ -3322,7 +3322,7 @@ _0813E8BC: .4byte gTasks+0x8 _0813E8C0: .4byte gSpecialVar_ItemId _0813E8C4: .4byte gSaveBlock1Ptr _0813E8C8: .4byte gUnknown_203F37A -_0813E8CC: .4byte gUnknown_3005E70 +_0813E8CC: .4byte gMultiuseListMenuTemplate _0813E8D0: .4byte sub_813E8D4 thumb_func_end sub_813E7F0 @@ -3376,7 +3376,7 @@ sub_813E910: @ 813E910 movs r1, 0xA movs r2, 0xC0 bl sub_814FF2C - ldr r0, _0813E998 @ =gUnknown_841F408 + ldr r0, _0813E998 @ =gTMCaseMainWindowPalette movs r1, 0xF0 movs r2, 0x20 bl LoadPalette @@ -3418,7 +3418,7 @@ _0813E97C: bx r0 .align 2, 0 _0813E994: .4byte gUnknown_84643B8 -_0813E998: .4byte gUnknown_841F408 +_0813E998: .4byte gTMCaseMainWindowPalette _0813E99C: .4byte gUnknown_203F38C thumb_func_end sub_813E910 @@ -3685,7 +3685,7 @@ sub_813EB7C: @ 813EB7C str r3, [sp, 0xC] movs r2, 0x2 movs r3, 0 - bl sub_80BF5D0 + bl CreateYesNoMenuWithCallbacks add sp, 0x10 pop {r0} bx r0 @@ -3710,7 +3710,7 @@ sub_813EBA8: @ 813EBA8 str r3, [sp, 0xC] movs r2, 0x2 movs r3, 0 - bl sub_80BF5D0 + bl CreateYesNoMenuWithCallbacks add sp, 0x10 pop {r0} bx r0 diff --git a/asm/buy_menu_helpers.s b/asm/buy_menu_helpers.s index 224bfa20c..04caf30a4 100644 --- a/asm/buy_menu_helpers.s +++ b/asm/buy_menu_helpers.s @@ -209,7 +209,7 @@ sub_813F7D8: @ 813F7D8 str r3, [sp, 0xC] movs r2, 0x2 movs r3, 0 - bl sub_80BF5D0 + bl CreateYesNoMenuWithCallbacks add sp, 0x10 pop {r0} bx r0 diff --git a/asm/daycare.s b/asm/daycare.s index c19aa1bdf..5f1b787af 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -2714,7 +2714,7 @@ _080467C8: adds r0, r7, 0 adds r1, r4, 0 bl StringAppend - ldr r1, _08046830 @ =gUnknown_84161C8 + ldr r1, _08046830 @ =gOtherText_Exit adds r0, r7, 0 bl StringAppend add sp, 0x28 @@ -2726,7 +2726,7 @@ _080467C8: bx r0 .align 2, 0 _0804682C: .4byte gUnknown_825F83C -_08046830: .4byte gUnknown_84161C8 +_08046830: .4byte gOtherText_Exit thumb_func_end GetDaycareLevelMenuText thumb_func_start GetDaycareLevelMenuLevelText @@ -3008,7 +3008,7 @@ _08046A46: ldrb r0, [r4, 0x8] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0xA] movs r1, 0x1 bl ClearStdWindowAndFrame @@ -3032,7 +3032,7 @@ _08046A7C: ldrb r0, [r4, 0x8] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0xA] movs r1, 0x1 bl ClearStdWindowAndFrame diff --git a/asm/field_specials.s b/asm/field_specials.s index e930a2ee7..d98798352 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -2854,7 +2854,7 @@ sub_80CBBAC: @ 80CBBAC lsrs r0, 24 movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldr r0, _080CBC28 @ =gUnknown_2039A14 ldr r0, [r0] bl Free diff --git a/asm/item.s b/asm/item.s index 49722bbea..ce20d4f8c 100644 --- a/asm/item.s +++ b/asm/item.s @@ -1404,8 +1404,8 @@ _0809A786: bx r0 thumb_func_end sub_809A720 - thumb_func_start sub_809A798 -sub_809A798: @ 809A798 + thumb_func_start BagGetItemIdByPocketPosition +BagGetItemIdByPocketPosition: @ 809A798 lsls r0, 24 lsls r1, 16 ldr r2, _0809A7B0 @ =gBagPockets @@ -1419,10 +1419,10 @@ sub_809A798: @ 809A798 bx lr .align 2, 0 _0809A7B0: .4byte gBagPockets - thumb_func_end sub_809A798 + thumb_func_end BagGetItemIdByPocketPosition - thumb_func_start sub_809A7B4 -sub_809A7B4: @ 809A7B4 + thumb_func_start BagGetQuantityByPocketPosition +BagGetQuantityByPocketPosition: @ 809A7B4 push {lr} lsls r0, 24 lsls r1, 16 @@ -1441,7 +1441,7 @@ sub_809A7B4: @ 809A7B4 bx r1 .align 2, 0 _0809A7D8: .4byte gBagPockets - thumb_func_end sub_809A7B4 + thumb_func_end BagGetQuantityByPocketPosition thumb_func_start sub_809A7DC sub_809A7DC: @ 809A7DC diff --git a/asm/item_menu.s b/asm/item_menu.s index 7ebe3b1cd..05f1a6acb 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -350,7 +350,7 @@ _0810806E: adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r0, _081080B0 @ =gUnknown_3005E70 + ldr r0, _081080B0 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r1, r4, 0 @@ -375,7 +375,7 @@ _0810806E: b _08108104 .align 2, 0 _081080AC: .4byte gUnknown_203ACFC -_081080B0: .4byte gUnknown_3005E70 +_081080B0: .4byte gMultiuseListMenuTemplate _081080B4: .4byte gTasks _081080B8: ldr r0, _081080C4 @ =gUnknown_203ACFC @@ -881,7 +881,7 @@ _0810848C: adds r0, r4 str r0, [r1] str r6, [r1, 0x4] - ldr r3, _08108554 @ =gUnknown_3005E70 + ldr r3, _08108554 @ =gMultiuseListMenuTemplate str r2, [r3] ldr r0, _08108540 @ =gUnknown_203AD10 ldr r2, [r0] @@ -952,7 +952,7 @@ _08108544: .4byte gUnknown_203AD1C _08108548: .4byte gUnknown_203AD18 _0810854C: .4byte gUnknown_8452F60 _08108550: .4byte gFameCheckerText_Cancel -_08108554: .4byte gUnknown_3005E70 +_08108554: .4byte gMultiuseListMenuTemplate _08108558: .4byte sub_81085A4 _0810855C: .4byte sub_8108654 thumb_func_end sub_810842C @@ -1029,7 +1029,7 @@ _081085BA: lsrs r0, 24 lsls r1, r5, 16 lsrs r1, 16 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 ldr r1, [r4] @@ -1129,7 +1129,7 @@ _08108690: lsls r4, 16 lsrs r4, 16 adds r1, r4, 0 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r7, r0, 16 ldrb r0, [r5, 0x6] @@ -1137,7 +1137,7 @@ _08108690: lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 - bl sub_809A7B4 + bl BagGetQuantityByPocketPosition lsls r0, 16 lsrs r4, r0, 16 ldrh r0, [r5, 0x6] @@ -1155,7 +1155,7 @@ _08108690: movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r4, _08108724 @ =gStringVar4 - ldr r1, _08108728 @ =gUnknown_84162B9 + ldr r1, _08108728 @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders str r6, [sp] @@ -1176,7 +1176,7 @@ _08108718: .4byte gUnknown_203AD10 _0810871C: .4byte gUnknown_203ACFC _08108720: .4byte gStringVar1 _08108724: .4byte gStringVar4 -_08108728: .4byte gUnknown_84162B9 +_08108728: .4byte gText_TimesStrVar1 _0810872C: ldr r0, _08108760 @ =gSaveBlock1Ptr ldr r0, [r0] @@ -1317,7 +1317,7 @@ sub_8108818: @ 8108818 lsrs r0, 24 lsls r1, r2, 16 lsrs r1, 16 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl ItemId_GetDescription @@ -1802,7 +1802,7 @@ sub_8108B8C: @ 8108B8C adds r3, r4, 0 adds r3, 0x8 adds r2, r3 - bl sub_810713C + bl DestroyListMenu ldr r0, _08108BF0 @ =gUnknown_203AD10 ldr r0, [r0] ldr r0, [r0] @@ -2422,14 +2422,14 @@ _08109084: lsls r4, 16 lsrs r4, 16 adds r1, r4, 0 - bl sub_809A7B4 + bl BagGetQuantityByPocketPosition strh r0, [r7, 0x4] ldrb r0, [r5, 0x6] adds r0, 0x1 lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 - bl sub_809A798 + bl BagGetItemIdByPocketPosition ldr r1, _081090D0 @ =gSpecialVar_ItemId strh r0, [r1] ldr r1, _081090D4 @ =gTasks @@ -2617,7 +2617,7 @@ sub_81091D0: @ 81091D0 adds r1, r2, r1 adds r3, 0x8 adds r2, r3 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r0, _08109290 @ =gUnknown_203AD10 @@ -2773,7 +2773,7 @@ _08109358: bl sub_81087EC ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _081093B4 @ =gUnknown_3005E70 + ldr r0, _081093B4 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r1, r4, 0 @@ -2803,7 +2803,7 @@ _081093AA: bx r0 .align 2, 0 _081093B0: .4byte gUnknown_203ACFC -_081093B4: .4byte gUnknown_3005E70 +_081093B4: .4byte gMultiuseListMenuTemplate thumb_func_end sub_8109298 thumb_func_start sub_81093B8 @@ -2850,7 +2850,7 @@ sub_81093B8: @ 81093B8 lsrs r0, 24 mov r2, r8 ldrh r1, [r2, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl ItemId_GetItem @@ -3082,7 +3082,7 @@ _081095E8: adds r7, r4, 0 adds r7, 0x8 adds r2, r7 - bl sub_810713C + bl DestroyListMenu movs r3, 0x2 ldrsh r0, [r6, r3] cmp r0, r5 @@ -3096,7 +3096,7 @@ _081095E8: _08109628: ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _08109674 @ =gUnknown_3005E70 + ldr r0, _08109674 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 mov r3, r8 @@ -3127,7 +3127,7 @@ _0810965C: .align 2, 0 _0810966C: .4byte gBagPockets _08109670: .4byte gUnknown_203ACFC -_08109674: .4byte gUnknown_3005E70 +_08109674: .4byte gMultiuseListMenuTemplate _08109678: .4byte sub_8108F0C thumb_func_end sub_81095AC @@ -3160,7 +3160,7 @@ sub_810967C: @ 810967C adds r7, r5, 0 adds r7, 0x8 adds r2, r7 - bl sub_810713C + bl DestroyListMenu movs r3, 0x2 ldrsh r0, [r6, r3] cmp r0, r4 @@ -3174,7 +3174,7 @@ sub_810967C: @ 810967C _081096CA: ldrb r0, [r5, 0x6] bl sub_810842C - ldr r0, _08109714 @ =gUnknown_3005E70 + ldr r0, _08109714 @ =gMultiuseListMenuTemplate ldrh r2, [r5, 0x6] lsls r2, 1 mov r3, r9 @@ -3204,7 +3204,7 @@ _081096CA: .align 2, 0 _0810970C: .4byte gTasks+0x8 _08109710: .4byte gUnknown_203ACFC -_08109714: .4byte gUnknown_3005E70 +_08109714: .4byte gMultiuseListMenuTemplate _08109718: .4byte sub_8108F0C thumb_func_end sub_810967C @@ -3232,7 +3232,7 @@ sub_810971C: @ 810971C lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 ldr r1, _081097D8 @ =gStringVar1 @@ -3267,7 +3267,7 @@ sub_810971C: @ 810971C movs r2, 0x2 movs r3, 0x3 bl ConvertIntToDecimalStringN - ldr r1, _081097E0 @ =gUnknown_84162B9 + ldr r1, _081097E0 @ =gText_TimesStrVar1 mov r0, r9 bl StringExpandPlaceholders movs r0, 0xA @@ -3295,7 +3295,7 @@ sub_810971C: @ 810971C _081097D4: .4byte gUnknown_203ACFC _081097D8: .4byte gStringVar1 _081097DC: .4byte gStringVar4 -_081097E0: .4byte gUnknown_84162B9 +_081097E0: .4byte gText_TimesStrVar1 thumb_func_end sub_810971C thumb_func_start sub_81097E4 @@ -3324,7 +3324,7 @@ sub_81097E4: @ 81097E4 adds r3, r5, 0 bl ConvertIntToDecimalStringN ldr r4, _0810984C @ =gStringVar4 - ldr r1, _08109850 @ =gUnknown_84162B9 + ldr r1, _08109850 @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0xA @@ -3347,7 +3347,7 @@ sub_81097E4: @ 81097E4 .align 2, 0 _08109848: .4byte gStringVar1 _0810984C: .4byte gStringVar4 -_08109850: .4byte gUnknown_84162B9 +_08109850: .4byte gText_TimesStrVar1 thumb_func_end sub_81097E4 thumb_func_start sub_8109854 @@ -4121,7 +4121,7 @@ sub_8109EA8: @ 8109EA8 lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 ldr r1, _08109F30 @ =gStringVar1 @@ -4213,14 +4213,14 @@ _08109F6E: adds r6, r4, 0 adds r6, 0x8 adds r2, r6 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x6] bl sub_8108DC8 ldrb r0, [r4, 0x6] bl sub_81089F4 ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _08109FFC @ =gUnknown_3005E70 + ldr r0, _08109FFC @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r5, r2, r5 @@ -4251,7 +4251,7 @@ _08109FEC: .4byte gTasks+0x8 _08109FF0: .4byte gMain _08109FF4: .4byte gSpecialVar_ItemId _08109FF8: .4byte gUnknown_203ACFC -_08109FFC: .4byte gUnknown_3005E70 +_08109FFC: .4byte gMultiuseListMenuTemplate thumb_func_end sub_8109F44 thumb_func_start sub_810A000 @@ -4273,7 +4273,7 @@ sub_810A000: @ 810A000 lsls r0, 24 lsrs r0, 24 ldrh r1, [r7, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r2, r0, 16 ldr r0, _0810A048 @ =gSaveBlock1Ptr @@ -4304,10 +4304,10 @@ _0810A052: adds r6, r4, 0 adds r6, 0x8 adds r2, r6 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _0810A0A4 @ =gUnknown_3005E70 + ldr r0, _0810A0A4 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r5, r2, r5 @@ -4330,7 +4330,7 @@ _0810A052: bx r0 .align 2, 0 _0810A0A0: .4byte gUnknown_203ACFC -_0810A0A4: .4byte gUnknown_3005E70 +_0810A0A4: .4byte gMultiuseListMenuTemplate thumb_func_end sub_810A000 thumb_func_start sub_810A0A8 @@ -4353,7 +4353,7 @@ sub_810A0A8: @ 810A0A8 lsls r0, 24 lsrs r0, 24 ldrh r1, [r1, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r5, r0, 16 movs r0, 0xA @@ -4427,14 +4427,14 @@ sub_810A170: @ 810A170 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _0810A184 @ =gUnknown_841632A + ldr r2, _0810A184 @ =gText_ThereIsNoPokemon ldr r3, _0810A188 @ =sub_810A1D0 movs r1, 0x2 bl sub_8108E70 pop {r0} bx r0 .align 2, 0 -_0810A184: .4byte gUnknown_841632A +_0810A184: .4byte gText_ThereIsNoPokemon _0810A188: .4byte sub_810A1D0 thumb_func_end sub_810A170 @@ -4449,7 +4449,7 @@ sub_810A18C: @ 810A18C ldr r1, _0810A1C0 @ =gStringVar1 bl CopyItemName ldr r5, _0810A1C4 @ =gStringVar4 - ldr r1, _0810A1C8 @ =gUnknown_841635E + ldr r1, _0810A1C8 @ =gText_ItemCantBeHeld adds r0, r5, 0 bl StringExpandPlaceholders ldr r3, _0810A1CC @ =sub_810A1D0 @@ -4464,7 +4464,7 @@ sub_810A18C: @ 810A18C _0810A1BC: .4byte gSpecialVar_ItemId _0810A1C0: .4byte gStringVar1 _0810A1C4: .4byte gStringVar4 -_0810A1C8: .4byte gUnknown_841635E +_0810A1C8: .4byte gText_ItemCantBeHeld _0810A1CC: .4byte sub_810A1D0 thumb_func_end sub_810A18C @@ -4519,14 +4519,14 @@ sub_810A1F8: @ 810A1F8 adds r3, r4 mov r9, r3 add r2, r9 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x6] bl sub_8108DC8 ldrb r0, [r4, 0x6] bl sub_81089F4 ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _0810A284 @ =gUnknown_3005E70 + ldr r0, _0810A284 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r6, r2, r6 @@ -4553,7 +4553,7 @@ sub_810A1F8: @ 810A1F8 .align 2, 0 _0810A27C: .4byte gTasks+0x8 _0810A280: .4byte gUnknown_203ACFC -_0810A284: .4byte gUnknown_3005E70 +_0810A284: .4byte gMultiuseListMenuTemplate thumb_func_end sub_810A1F8 thumb_func_start sub_810A288 @@ -4684,7 +4684,7 @@ sub_810A370: @ 810A370 lsls r0, 24 lsrs r0, 24 ldrh r1, [r1, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r4, r0, 16 adds r6, r4, 0 @@ -4812,7 +4812,7 @@ sub_810A468: @ 810A468 lsls r0, 24 lsrs r0, 24 ldrh r1, [r1, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r4, r0, 16 adds r6, r4, 0 @@ -4971,7 +4971,7 @@ _0810A5B4: ldr r1, _0810A5E8 @ =gStringVar1 bl CopyItemName ldr r4, _0810A5EC @ =gStringVar4 - ldr r1, _0810A5F0 @ =gUnknown_84168F1 + ldr r1, _0810A5F0 @ =gText_OhNoICantBuyThat adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -4986,7 +4986,7 @@ _0810A5B4: .align 2, 0 _0810A5E8: .4byte gStringVar1 _0810A5EC: .4byte gStringVar4 -_0810A5F0: .4byte gUnknown_84168F1 +_0810A5F0: .4byte gText_OhNoICantBuyThat _0810A5F4: .4byte sub_810A1F8 _0810A5F8: movs r0, 0x1 @@ -5009,7 +5009,7 @@ _0810A618: ldr r1, _0810A644 @ =gStringVar1 bl CopyItemName ldr r4, _0810A648 @ =gStringVar4 - ldr r1, _0810A64C @ =gUnknown_8416911 + ldr r1, _0810A64C @ =gText_HowManyWouldYouLikeToSell adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -5027,7 +5027,7 @@ _0810A63E: .align 2, 0 _0810A644: .4byte gStringVar1 _0810A648: .4byte gStringVar4 -_0810A64C: .4byte gUnknown_8416911 +_0810A64C: .4byte gText_HowManyWouldYouLikeToSell _0810A650: .4byte sub_810A770 thumb_func_end sub_810A568 @@ -5088,7 +5088,7 @@ sub_810A690: @ 810A690 lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -5102,7 +5102,7 @@ sub_810A690: @ 810A690 movs r3, 0x6 bl ConvertIntToDecimalStringN ldr r4, _0810A700 @ =gStringVar4 - ldr r1, _0810A704 @ =gUnknown_8416936 + ldr r1, _0810A704 @ =gText_ICanPayThisMuch_WouldThatBeOkay adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -5121,7 +5121,7 @@ _0810A6F4: .4byte gTasks+0x8 _0810A6F8: .4byte gStringVar3 _0810A6FC: .4byte gUnknown_203ACFC _0810A700: .4byte gStringVar4 -_0810A704: .4byte gUnknown_8416936 +_0810A704: .4byte gText_ICanPayThisMuch_WouldThatBeOkay _0810A708: .4byte sub_810A70C thumb_func_end sub_810A690 @@ -5202,7 +5202,7 @@ sub_810A770: @ 810A770 movs r3, 0x2 bl ConvertIntToDecimalStringN ldr r6, _0810A824 @ =gStringVar4 - ldr r1, _0810A828 @ =gUnknown_84162B9 + ldr r1, _0810A828 @ =gText_TimesStrVar1 adds r0, r6, 0 bl StringExpandPlaceholders movs r0, 0xA @@ -5226,7 +5226,7 @@ sub_810A770: @ 810A770 lsrs r0, 24 mov r3, r9 ldrh r1, [r3, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -5256,7 +5256,7 @@ sub_810A770: @ 810A770 _0810A81C: .4byte gTasks+0x8 _0810A820: .4byte gStringVar1 _0810A824: .4byte gStringVar4 -_0810A828: .4byte gUnknown_84162B9 +_0810A828: .4byte gText_TimesStrVar1 _0810A82C: .4byte gUnknown_203ACFC _0810A830: .4byte sub_810A85C thumb_func_end sub_810A770 @@ -5311,7 +5311,7 @@ sub_810A85C: @ 810A85C lsls r0, 24 lsrs r0, 24 ldrh r1, [r5, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -5405,7 +5405,7 @@ sub_810A940: @ 810A940 lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -5419,7 +5419,7 @@ sub_810A940: @ 810A940 movs r3, 0x6 bl ConvertIntToDecimalStringN ldr r4, _0810A9C8 @ =gStringVar4 - ldr r1, _0810A9CC @ =gUnknown_8416959 + ldr r1, _0810A9CC @ =gText_TurnedOverItemsWorthYen adds r0, r4, 0 bl StringExpandPlaceholders ldr r3, _0810A9D0 @ =sub_810A9D4 @@ -5437,7 +5437,7 @@ _0810A9BC: .4byte gStringVar1 _0810A9C0: .4byte gStringVar3 _0810A9C4: .4byte gUnknown_203ACFC _0810A9C8: .4byte gStringVar4 -_0810A9CC: .4byte gUnknown_8416959 +_0810A9CC: .4byte gText_TurnedOverItemsWorthYen _0810A9D0: .4byte sub_810A9D4 thumb_func_end sub_810A940 @@ -5497,7 +5497,7 @@ sub_810A9D4: @ 810A9D4 adds r3, r4 mov r9, r3 add r2, r9 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x6] bl sub_8108DC8 ldrb r0, [r4, 0x6] @@ -5512,7 +5512,7 @@ sub_810A9D4: @ 810A9D4 strb r0, [r2, 0x5] ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _0810AAEC @ =gUnknown_3005E70 + ldr r0, _0810AAEC @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r5, r2, r5 @@ -5563,7 +5563,7 @@ _0810AADC: .4byte gSpecialVar_ItemId _0810AAE0: .4byte gSaveBlock1Ptr _0810AAE4: .4byte gUnknown_203ACFC _0810AAE8: .4byte gUnknown_203AD10 -_0810AAEC: .4byte gUnknown_3005E70 +_0810AAEC: .4byte gMultiuseListMenuTemplate _0810AAF0: .4byte sub_810AAF4 thumb_func_end sub_810A9D4 @@ -6212,7 +6212,7 @@ _0810B01C: ldrb r0, [r5] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810AECC bl sub_8108CB4 adds r0, r7, 0 @@ -6342,11 +6342,11 @@ sub_810B108: @ 810B108 beq _0810B160 cmp r4, 0x8 beq _0810B16C - ldr r2, _0810B15C @ =sub_815ABFC + ldr r2, _0810B15C @ =CB2_ReturnToTeachyTV adds r0, r4, 0 b _0810B170 .align 2, 0 -_0810B15C: .4byte sub_815ABFC +_0810B15C: .4byte CB2_ReturnToTeachyTV _0810B160: ldr r2, _0810B168 @ =sub_8030AEC movs r0, 0x7 @@ -6386,7 +6386,7 @@ _0810B19C: bl sub_815AC20 ldr r0, _0810B1C4 @ =gUnknown_203AD10 ldr r1, [r0] - ldr r0, _0810B1C8 @ =sub_815ABFC + ldr r0, _0810B1C8 @ =CB2_ReturnToTeachyTV str r0, [r1] ldr r1, _0810B1CC @ =gTasks lsls r0, r4, 2 @@ -6402,7 +6402,7 @@ _0810B1BC: bx r1 .align 2, 0 _0810B1C4: .4byte gUnknown_203AD10 -_0810B1C8: .4byte sub_815ABFC +_0810B1C8: .4byte CB2_ReturnToTeachyTV _0810B1CC: .4byte gTasks _0810B1D0: .4byte sub_810B070 thumb_func_end sub_810B180 @@ -6537,10 +6537,10 @@ _0810B29E: adds r6, r4, 0 adds r6, 0x8 adds r2, r6 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _0810B328 @ =gUnknown_3005E70 + ldr r0, _0810B328 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r5, r2, r5 @@ -6565,7 +6565,7 @@ _0810B318: .4byte gSaveBlock1Ptr _0810B31C: .4byte gSpecialVar_ItemId _0810B320: .4byte 0x00000296 _0810B324: .4byte gUnknown_203ACFC -_0810B328: .4byte gUnknown_3005E70 +_0810B328: .4byte gMultiuseListMenuTemplate _0810B32C: ldr r1, _0810B340 @ =gMain movs r0, 0 @@ -6583,7 +6583,7 @@ _0810B344: ldrb r0, [r7] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810AECC bl sub_8108CB4 adds r0, r6, 0 @@ -6738,7 +6738,7 @@ _0810B468: ldrb r0, [r4] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810AECC bl sub_8108CB4 adds r0, r7, 0 @@ -6854,7 +6854,7 @@ _0810B564: ldrb r0, [r5] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810AECC ldr r1, _0810B5B0 @ =gUnknown_3005E98 ldr r0, _0810B5B4 @ =ItemUseCB_Medicine @@ -6989,7 +6989,7 @@ _0810B68C: ldrb r0, [r6] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810AECC ldr r0, _0810B6D4 @ =gUnknown_203AD10 ldr r1, [r0] diff --git a/asm/item_pc.s b/asm/item_pc.s index f4a4176d9..e7a9f8ee5 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -233,7 +233,7 @@ _0810D5CC: adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _0810D5FC @ =gUnknown_3005E70 + ldr r0, _0810D5FC @ =gMultiuseListMenuTemplate ldr r2, _0810D600 @ =gUnknown_203ADCC ldrh r1, [r2, 0x4] ldrh r2, [r2, 0x6] @@ -249,7 +249,7 @@ _0810D5CC: b _0810D674 .align 2, 0 _0810D5F8: .4byte sub_810DEA0 -_0810D5FC: .4byte gUnknown_3005E70 +_0810D5FC: .4byte gMultiuseListMenuTemplate _0810D600: .4byte gUnknown_203ADCC _0810D604: .4byte gTasks _0810D608: @@ -594,7 +594,7 @@ _0810D8A4: movs r1, 0x2 negs r1, r1 str r1, [r0, 0x4] - ldr r2, _0810D948 @ =gUnknown_3005E70 + ldr r2, _0810D948 @ =gMultiuseListMenuTemplate str r3, [r2] ldr r0, _0810D940 @ =gUnknown_203ADBC ldr r3, [r0] @@ -658,7 +658,7 @@ _0810D938: .4byte gSaveBlock1Ptr _0810D93C: .4byte gUnknown_203ADC4 _0810D940: .4byte gUnknown_203ADBC _0810D944: .4byte gFameCheckerText_Cancel -_0810D948: .4byte gUnknown_3005E70 +_0810D948: .4byte gMultiuseListMenuTemplate _0810D94C: .4byte sub_810D954 _0810D950: .4byte sub_810DA20 thumb_func_end sub_810D878 @@ -804,7 +804,7 @@ _0810DA58: movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r4, _0810DAAC @ =gStringVar4 - ldr r1, _0810DAB0 @ =gUnknown_84162B9 + ldr r1, _0810DAB0 @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders str r5, [sp] @@ -828,7 +828,7 @@ _0810DA9E: .align 2, 0 _0810DAA8: .4byte gStringVar1 _0810DAAC: .4byte gStringVar4 -_0810DAB0: .4byte gUnknown_84162B9 +_0810DAB0: .4byte gText_TimesStrVar1 thumb_func_end sub_810DA20 thumb_func_start sub_810DAB4 @@ -1154,7 +1154,7 @@ sub_810DCE4: @ 810DCE4 ldr r4, _0810DD30 @ =gUnknown_203ADD0 adds r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu ldr r0, _0810DD34 @ =gUnknown_203ADBC ldr r0, [r0] ldr r0, [r0] @@ -1731,7 +1731,7 @@ _0810E194: ldr r5, _0810E1F4 @ =gUnknown_203ADD0 adds r2, r5, 0x2 adds r1, r5, 0 - bl sub_810713C + bl DestroyListMenu movs r1, 0x2 ldrsh r0, [r6, r1] cmp r0, r4 @@ -1742,7 +1742,7 @@ _0810E194: strh r0, [r1, 0x6] _0810E1C0: bl sub_810D878 - ldr r0, _0810E1F8 @ =gUnknown_3005E70 + ldr r0, _0810E1F8 @ =gMultiuseListMenuTemplate subs r2, r5, 0x4 ldrh r1, [r2, 0x4] ldrh r2, [r2, 0x6] @@ -1766,7 +1766,7 @@ _0810E1E6: .align 2, 0 _0810E1F0: .4byte gSaveBlock1Ptr _0810E1F4: .4byte gUnknown_203ADD0 -_0810E1F8: .4byte gUnknown_3005E70 +_0810E1F8: .4byte gMultiuseListMenuTemplate _0810E1FC: .4byte sub_810DEA0 thumb_func_end sub_810E160 @@ -1788,7 +1788,7 @@ sub_810E200: @ 810E200 ldr r5, _0810E268 @ =gUnknown_203ADD0 adds r2, r5, 0x2 adds r1, r5, 0 - bl sub_810713C + bl DestroyListMenu movs r1, 0x2 ldrsh r0, [r6, r1] cmp r0, r4 @@ -1799,7 +1799,7 @@ sub_810E200: @ 810E200 strh r0, [r1, 0x6] _0810E234: bl sub_810D878 - ldr r0, _0810E26C @ =gUnknown_3005E70 + ldr r0, _0810E26C @ =gMultiuseListMenuTemplate subs r2, r5, 0x4 ldrh r1, [r2, 0x4] ldrh r2, [r2, 0x6] @@ -1822,7 +1822,7 @@ _0810E234: .align 2, 0 _0810E264: .4byte gTasks+0x8 _0810E268: .4byte gUnknown_203ADD0 -_0810E26C: .4byte gUnknown_3005E70 +_0810E26C: .4byte gMultiuseListMenuTemplate _0810E270: .4byte sub_810DEA0 thumb_func_end sub_810E200 @@ -2205,11 +2205,11 @@ sub_810E578: @ 810E578 ldr r4, _0810E5D8 @ =gUnknown_203ADD0 adds r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810DDA4 bl sub_810DBF0 bl sub_810D878 - ldr r0, _0810E5DC @ =gUnknown_3005E70 + ldr r0, _0810E5DC @ =gMultiuseListMenuTemplate subs r4, 0x4 ldrh r1, [r4, 0x4] ldrh r2, [r4, 0x6] @@ -2227,7 +2227,7 @@ sub_810E578: @ 810E578 .align 2, 0 _0810E5D4: .4byte gTasks+0x8 _0810E5D8: .4byte gUnknown_203ADD0 -_0810E5DC: .4byte gUnknown_3005E70 +_0810E5DC: .4byte gMultiuseListMenuTemplate thumb_func_end sub_810E578 thumb_func_start sub_810E5E0 @@ -2263,7 +2263,7 @@ sub_810E5E0: @ 810E5E0 movs r2, 0x2 movs r3, 0x3 bl ConvertIntToDecimalStringN - ldr r1, _0810E66C @ =gUnknown_84162B9 + ldr r1, _0810E66C @ =gText_TimesStrVar1 adds r0, r5, 0 bl StringExpandPlaceholders movs r0, 0x3 @@ -2290,7 +2290,7 @@ sub_810E5E0: @ 810E5E0 _0810E660: .4byte gStringVar1 _0810E664: .4byte gStringVar4 _0810E668: .4byte gUnknown_84177AC -_0810E66C: .4byte gUnknown_84162B9 +_0810E66C: .4byte gText_TimesStrVar1 thumb_func_end sub_810E5E0 thumb_func_start sub_810E670 @@ -2317,7 +2317,7 @@ sub_810E670: @ 810E670 movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r4, _0810E6D0 @ =gStringVar4 - ldr r1, _0810E6D4 @ =gUnknown_84162B9 + ldr r1, _0810E6D4 @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0xA @@ -2340,7 +2340,7 @@ sub_810E670: @ 810E670 .align 2, 0 _0810E6CC: .4byte gStringVar1 _0810E6D0: .4byte gStringVar4 -_0810E6D4: .4byte gUnknown_84162B9 +_0810E6D4: .4byte gText_TimesStrVar1 thumb_func_end sub_810E670 thumb_func_start sub_810E6D8 @@ -2444,13 +2444,13 @@ sub_810E79C: @ 810E79C bl ClearWindowTilemap movs r0, 0 bl PutWindowTilemap - ldr r1, _0810E7D4 @ =gUnknown_841632A + ldr r1, _0810E7D4 @ =gText_ThereIsNoPokemon ldr r2, _0810E7D8 @ =sub_810E848 adds r0, r4, 0 bl sub_810EB30 b _0810E7EA .align 2, 0 -_0810E7D4: .4byte gUnknown_841632A +_0810E7D4: .4byte gText_ThereIsNoPokemon _0810E7D8: .4byte sub_810E848 _0810E7DC: ldr r0, _0810E7F0 @ =gUnknown_203ADBC @@ -2610,7 +2610,7 @@ sub_810E8F0: @ 810E8F0 movs r1, 0xD0 movs r2, 0x20 bl LoadPalette - ldr r0, _0810E97C @ =gUnknown_841F408 + ldr r0, _0810E97C @ =gTMCaseMainWindowPalette movs r1, 0xF0 movs r2, 0x20 bl LoadPalette @@ -2647,7 +2647,7 @@ _0810E95C: .align 2, 0 _0810E974: .4byte gUnknown_8453F98 _0810E978: .4byte 0x000003a3 -_0810E97C: .4byte gUnknown_841F408 +_0810E97C: .4byte gTMCaseMainWindowPalette _0810E980: .4byte gUnknown_203ADD8 thumb_func_end sub_810E8F0 diff --git a/asm/learn_move.s b/asm/learn_move.s index fbb31d196..db41257a2 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -1373,7 +1373,7 @@ _080E51AA: adds r2, r3 movs r0, 0xFE str r0, [r2] - ldr r2, _080E51FC @ =gUnknown_3005E70 + ldr r2, _080E51FC @ =gMultiuseListMenuTemplate adds r1, r2, 0 ldr r0, _080E5200 @ =gUnknown_83FFA94 ldm r0!, {r3,r5,r6} @@ -1397,7 +1397,7 @@ _080E51EC: .4byte gPlayerParty _080E51F0: .4byte gMoveNames _080E51F4: .4byte gStringVar1 _080E51F8: .4byte gFameCheckerText_Cancel -_080E51FC: .4byte gUnknown_3005E70 +_080E51FC: .4byte gMultiuseListMenuTemplate _080E5200: .4byte gUnknown_83FFA94 thumb_func_end sub_80E50CC @@ -1523,7 +1523,7 @@ _080E52FA: thumb_func_start sub_80E5300 sub_80E5300: @ 80E5300 push {r4,lr} - ldr r0, _080E5330 @ =gUnknown_3005E70 + ldr r0, _080E5330 @ =gMultiuseListMenuTemplate ldr r4, _080E5334 @ =gUnknown_203AAB4 ldr r2, [r4] ldr r3, _080E5338 @ =0x00000a68 @@ -1544,7 +1544,7 @@ sub_80E5300: @ 80E5300 pop {r0} bx r0 .align 2, 0 -_080E5330: .4byte gUnknown_3005E70 +_080E5330: .4byte gMultiuseListMenuTemplate _080E5334: .4byte gUnknown_203AAB4 _080E5338: .4byte 0x00000a68 _080E533C: .4byte 0x00000263 @@ -1568,11 +1568,11 @@ sub_80E5340: @ 80E5340 movs r0, 0x2 movs r2, 0x1 movs r3, 0x4 - bl sub_8107D68 + bl blit_move_info_icon ldrb r0, [r4, 0x1] cmp r0, 0x1 bhi _080E5388 - ldr r1, _080E5384 @ =gUnknown_8416213 + ldr r1, _080E5384 @ =gText_ThreeHyphens movs r0, 0 str r0, [sp] str r0, [sp, 0x4] @@ -1583,7 +1583,7 @@ sub_80E5340: @ 80E5340 b _080E53A6 .align 2, 0 _080E5380: .4byte gBattleMoves -_080E5384: .4byte gUnknown_8416213 +_080E5384: .4byte gText_ThreeHyphens _080E5388: ldrb r1, [r4, 0x1] add r0, sp, 0x8 @@ -1608,7 +1608,7 @@ _080E53A6: adds r4, r1, 0 cmp r2, 0 bne _080E53D4 - ldr r1, _080E53D0 @ =gUnknown_8416213 + ldr r1, _080E53D0 @ =gText_ThreeHyphens str r2, [sp] movs r0, 0x1 str r0, [sp, 0x4] @@ -1619,7 +1619,7 @@ _080E53A6: b _080E53F4 .align 2, 0 _080E53CC: .4byte gBattleMoves -_080E53D0: .4byte gUnknown_8416213 +_080E53D0: .4byte gText_ThreeHyphens _080E53D4: ldrb r1, [r0, 0x3] add r0, sp, 0x8 @@ -1680,27 +1680,27 @@ sub_80E5444: @ 80E5444 movs r1, 0x13 movs r2, 0x1 movs r3, 0x4 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0x1 movs r1, 0x14 movs r2, 0 movs r3, 0x4 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0x1 movs r1, 0x15 movs r2, 0 movs r3, 0x13 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0 movs r1, 0x16 movs r2, 0x1 movs r3, 0x13 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0 movs r1, 0x17 movs r2, 0x1 movs r3, 0x22 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0 bl PutWindowTilemap movs r0, 0x1 diff --git a/asm/link.s b/asm/link.s index 13305edde..7130ce69d 100644 --- a/asm/link.s +++ b/asm/link.s @@ -3308,7 +3308,7 @@ _0800AD30: lsls r1, 8 movs r0, 0 bl ClearGpuRegBits - ldr r0, _0800AE08 @ =gUnknown_841F408 + ldr r0, _0800AE08 @ =gTMCaseMainWindowPalette movs r1, 0xF0 movs r2, 0x20 bl LoadPalette @@ -3343,7 +3343,7 @@ _0800ADF8: .4byte sub_800978C _0800ADFC: .4byte gUnknown_82345E8 _0800AE00: .4byte gUnknown_2022860 _0800AE04: .4byte gUnknown_82345F0 -_0800AE08: .4byte gUnknown_841F408 +_0800AE08: .4byte gTMCaseMainWindowPalette _0800AE0C: .4byte gSoftResetDisabled _0800AE10: .4byte sub_80094D4 _0800AE14: .4byte gMain diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 514e386ed..776b94c41 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -402,7 +402,7 @@ _08115B5C: ldrb r0, [r5, 0xF] movs r1, 0 bl DrawStdWindowFrame - ldr r0, _08115C58 @ =gUnknown_3005E70 + ldr r0, _08115C58 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, _08115C5C @ =gUnknown_8456D34 ldm r1!, {r3,r6,r7} @@ -434,7 +434,7 @@ _08115C48: .4byte gUnknown_8456CD0 _08115C4C: .4byte gUnknown_8456CFC _08115C50: .4byte gUnknown_8456D04 _08115C54: .4byte gUnknown_845747C -_08115C58: .4byte gUnknown_3005E70 +_08115C58: .4byte gMultiuseListMenuTemplate _08115C5C: .4byte gUnknown_8456D34 _08115C60: ldr r0, _08115C98 @ =gStringVar1 @@ -1139,7 +1139,7 @@ sub_81161E4: @ 81161E4 ldrb r0, [r4, 0x12] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x10] bl ClearWindowTilemap ldrb r0, [r4, 0xF] @@ -1920,7 +1920,7 @@ _08116838: ldrb r0, [r6, 0xB] movs r1, 0 bl DrawStdWindowFrame - ldr r0, _081168FC @ =gUnknown_3005E70 + ldr r0, _081168FC @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, _08116900 @ =gUnknown_8456DDC ldm r1!, {r3,r5,r7} @@ -1955,7 +1955,7 @@ _081168EC: .4byte gUnknown_8456CD0 _081168F0: .4byte gUnknown_8456D4C _081168F4: .4byte gUnknown_8456D54 _081168F8: .4byte gUnknown_8458FC8 -_081168FC: .4byte gUnknown_3005E70 +_081168FC: .4byte gMultiuseListMenuTemplate _08116900: .4byte gUnknown_8456DDC _08116904: bl sub_8116FE4 @@ -2322,7 +2322,7 @@ _08116C10: ldrb r0, [r6, 0xE] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r6, 0xC] bl ClearWindowTilemap ldrb r0, [r6, 0xB] @@ -4068,7 +4068,7 @@ _08117AB8: strb r0, [r5, 0xF] ldrb r0, [r5, 0xF] bl sub_814240C - ldr r0, _08117B74 @ =gUnknown_3005E70 + ldr r0, _08117B74 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, _08117B78 @ =gUnknown_8456D34 ldm r1!, {r3,r4,r6} @@ -4089,7 +4089,7 @@ _08117AB8: .align 2, 0 _08117B6C: .4byte gUnknown_8456CFC _08117B70: .4byte 0x0000ffff -_08117B74: .4byte gUnknown_3005E70 +_08117B74: .4byte gMultiuseListMenuTemplate _08117B78: .4byte gUnknown_8456D34 _08117B7C: ldr r0, _08117B9C @ =gStringVar1 @@ -4398,7 +4398,7 @@ _08117DEE: ldrb r0, [r5, 0x12] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xF] @@ -4457,7 +4457,7 @@ _08117E80: ldrb r0, [r5, 0x12] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xF] @@ -4624,7 +4624,7 @@ _08117FC0: strb r0, [r5, 0xD] ldrb r0, [r5, 0xB] bl sub_814240C - ldr r0, _08118068 @ =gUnknown_3005E70 + ldr r0, _08118068 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, _0811806C @ =gUnknown_8456DDC ldm r1!, {r3,r6,r7} @@ -4659,7 +4659,7 @@ _08117FC0: _0811805C: .4byte gUnknown_8456D4C _08118060: .4byte 0x0000ffff _08118064: .4byte gUnknown_8456D54 -_08118068: .4byte gUnknown_3005E70 +_08118068: .4byte gMultiuseListMenuTemplate _0811806C: .4byte gUnknown_8456DDC _08118070: bl sub_8116FE4 @@ -4842,7 +4842,7 @@ _081181EC: ldrb r0, [r5, 0xE] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xD] @@ -5042,7 +5042,7 @@ _08118380: strb r0, [r5, 0xB] ldrb r0, [r5, 0xB] bl sub_814240C - ldr r0, _08118400 @ =gUnknown_3005E70 + ldr r0, _08118400 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, _08118404 @ =gUnknown_8456DDC ldm r1!, {r3,r4,r6} @@ -5066,7 +5066,7 @@ _081183EC: .align 2, 0 _081183F8: .4byte gUnknown_8456D4C _081183FC: .4byte 0x0000ffff -_08118400: .4byte gUnknown_3005E70 +_08118400: .4byte gMultiuseListMenuTemplate _08118404: .4byte gUnknown_8456DDC _08118408: bl sub_8116FE4 @@ -5242,7 +5242,7 @@ _08118564: ldrb r0, [r5, 0xE] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xB] @@ -8689,7 +8689,7 @@ _0811A234: ldrb r0, [r5] movs r1, 0 bl DrawStdWindowFrame - ldr r0, _0811A270 @ =gUnknown_3005E70 + ldr r0, _0811A270 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp, 0x1C] ldm r1!, {r3,r4,r6} @@ -8711,7 +8711,7 @@ _0811A234: strb r0, [r7] b _0811A2DA .align 2, 0 -_0811A270: .4byte gUnknown_3005E70 +_0811A270: .4byte gMultiuseListMenuTemplate _0811A274: mov r3, r9 ldrb r0, [r3] @@ -8726,7 +8726,7 @@ _0811A274: ldrb r0, [r4] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r5] movs r1, 0x1 bl ClearStdWindowAndFrame @@ -8747,7 +8747,7 @@ _0811A2B0: ldrb r0, [r6] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r5] movs r1, 0x1 bl ClearStdWindowAndFrame @@ -8795,7 +8795,7 @@ _0811A308: ldrb r0, [r4] movs r1, 0 bl DrawStdWindowFrame - ldr r0, _0811A354 @ =gUnknown_3005E70 + ldr r0, _0811A354 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp, 0x20] ldm r1!, {r3,r6,r7} @@ -8818,7 +8818,7 @@ _0811A308: b _0811A3E6 .align 2, 0 _0811A350: .4byte gUnknown_8456F1C -_0811A354: .4byte gUnknown_3005E70 +_0811A354: .4byte gMultiuseListMenuTemplate _0811A358: ldrb r0, [r5] bl ListMenuHandleInput @@ -8842,7 +8842,7 @@ _0811A37E: ldrb r0, [r5] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4] movs r1, 0x1 bl ClearStdWindowAndFrame @@ -8867,7 +8867,7 @@ _0811A3AC: ldrb r0, [r5] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4] movs r1, 0x1 bl ClearStdWindowAndFrame @@ -9999,7 +9999,7 @@ _0811AC3C: adds r0, r6, 0 movs r2, 0x44 adds r3, r5, 0 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0xB mov r2, r8 muls r2, r0 diff --git a/asm/list_menu.s b/asm/list_menu.s index f0a609fcd..3119d53bd 100644 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -62,7 +62,7 @@ _08106F24: ldr r1, [sp, 0x4] bl sub_8150048 _08106F34: - ldr r0, _08106F64 @ =gUnknown_3005E70 + ldr r0, _08106F64 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp] ldm r1!, {r3-r5} @@ -84,7 +84,7 @@ _08106F34: b _08106FE4 .align 2, 0 _08106F60: .4byte gUnknown_203ACF4 -_08106F64: .4byte gUnknown_3005E70 +_08106F64: .4byte gMultiuseListMenuTemplate _08106F68: ldrb r0, [r5, 0x6] bl ListMenuHandleInput @@ -139,7 +139,7 @@ _08106FCC: ldrb r0, [r5, 0x6] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r5, 0x5] bl RemoveWindow movs r0, 0 @@ -340,8 +340,8 @@ _08107136: bx r1 thumb_func_end ListMenuHandleInput - thumb_func_start sub_810713C -sub_810713C: @ 810713C + thumb_func_start DestroyListMenu +DestroyListMenu: @ 810713C push {r4,lr} adds r3, r1, 0 lsls r0, 24 @@ -377,7 +377,7 @@ _08107170: bx r0 .align 2, 0 _0810717C: .4byte gTasks+0x8 - thumb_func_end sub_810713C + thumb_func_end DestroyListMenu thumb_func_start sub_8107180 sub_8107180: @ 8107180 @@ -1976,8 +1976,8 @@ _08107D56: _08107D64: .4byte gUnknown_8E95DBC thumb_func_end sub_8107D38 - thumb_func_start sub_8107D68 -sub_8107D68: @ 8107D68 + thumb_func_start blit_move_info_icon +blit_move_info_icon: @ 8107D68 push {r4,r5,lr} sub sp, 0x18 lsls r0, 24 @@ -2014,6 +2014,6 @@ sub_8107D68: @ 8107D68 .align 2, 0 _08107DAC: .4byte gUnknown_8452C94 _08107DB0: .4byte gUnknown_8E95DDC - thumb_func_end sub_8107D68 + thumb_func_end blit_move_info_icon .align 2, 0 @ Don't pad with nop. diff --git a/asm/mailbox_pc.s b/asm/mailbox_pc.s index d2cc06070..5273d1357 100644 --- a/asm/mailbox_pc.s +++ b/asm/mailbox_pc.s @@ -176,7 +176,7 @@ sub_810EC98: @ 810EC98 ldr r7, _0810ED50 @ =gUnknown_203ADE0 ldr r0, _0810ED54 @ =gFameCheckerText_Cancel mov r12, r0 - ldr r5, _0810ED58 @ =gUnknown_3005E70 + ldr r5, _0810ED58 @ =gMultiuseListMenuTemplate ldr r1, _0810ED5C @ =gUnknown_203ADDC mov r8, r1 ldrb r0, [r6, 0x5] @@ -263,7 +263,7 @@ _0810ECCE: .align 2, 0 _0810ED50: .4byte gUnknown_203ADE0 _0810ED54: .4byte gFameCheckerText_Cancel -_0810ED58: .4byte gUnknown_3005E70 +_0810ED58: .4byte gMultiuseListMenuTemplate _0810ED5C: .4byte gUnknown_203ADDC _0810ED60: .4byte gUnknown_8454003 _0810ED64: .4byte sub_810ED6C diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index 612672b93..e576313f4 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -182,8 +182,8 @@ _080BF5C8: .4byte gTasks _080BF5CC: .4byte gUnknown_20399C8 thumb_func_end sub_80BF560 - thumb_func_start sub_80BF5D0 -sub_80BF5D0: @ 80BF5D0 + thumb_func_start CreateYesNoMenuWithCallbacks +CreateYesNoMenuWithCallbacks: @ 80BF5D0 push {r4-r7,lr} sub sp, 0xC adds r6, r0, 0 @@ -228,7 +228,7 @@ sub_80BF5D0: @ 80BF5D0 _080BF624: .4byte gUnknown_20399C8 _080BF628: .4byte gTasks _080BF62C: .4byte sub_80BF560 - thumb_func_end sub_80BF5D0 + thumb_func_end CreateYesNoMenuWithCallbacks thumb_func_start GetLRKeysState GetLRKeysState: @ 80BF630 diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s index bf2578249..2e4e1a2c9 100644 --- a/asm/new_menu_helpers.s +++ b/asm/new_menu_helpers.s @@ -2049,14 +2049,14 @@ _080F77A4: thumb_func_start sub_80F77B8 sub_80F77B8: @ 80F77B8 push {lr} - ldr r0, _080F77C8 @ =gUnknown_841F408 + ldr r0, _080F77C8 @ =gTMCaseMainWindowPalette movs r1, 0xE0 movs r2, 0x14 bl LoadPalette pop {r0} bx r0 .align 2, 0 -_080F77C8: .4byte gUnknown_841F408 +_080F77C8: .4byte gTMCaseMainWindowPalette thumb_func_end sub_80F77B8 thumb_func_start Menu_LoadStdPalAt @@ -2065,21 +2065,21 @@ Menu_LoadStdPalAt: @ 80F77CC adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 - ldr r0, _080F77E0 @ =gUnknown_841F408 + ldr r0, _080F77E0 @ =gTMCaseMainWindowPalette movs r2, 0x14 bl LoadPalette pop {r0} bx r0 .align 2, 0 -_080F77E0: .4byte gUnknown_841F408 +_080F77E0: .4byte gTMCaseMainWindowPalette thumb_func_end Menu_LoadStdPalAt thumb_func_start sub_80F77E4 sub_80F77E4: @ 80F77E4 - ldr r0, _080F77E8 @ =gUnknown_841F408 + ldr r0, _080F77E8 @ =gTMCaseMainWindowPalette bx lr .align 2, 0 -_080F77E8: .4byte gUnknown_841F408 +_080F77E8: .4byte gTMCaseMainWindowPalette thumb_func_end sub_80F77E4 thumb_func_start sub_80F77EC @@ -2091,14 +2091,14 @@ sub_80F77EC: @ 80F77EC bls _080F77F8 movs r1, 0 _080F77F8: - ldr r0, _080F7804 @ =gUnknown_841F408 + ldr r0, _080F7804 @ =gTMCaseMainWindowPalette lsls r1, 1 adds r1, r0 ldrh r0, [r1] pop {r1} bx r1 .align 2, 0 -_080F7804: .4byte gUnknown_841F408 +_080F7804: .4byte gTMCaseMainWindowPalette thumb_func_end sub_80F77EC thumb_func_start DisplayItemMessageOnField diff --git a/asm/party_menu.s b/asm/party_menu.s index 5a4a458bd..d716165ac 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -4879,12 +4879,12 @@ sub_8120FB0: @ 8120FB0 bl FreeRestoreBattleData bl LoadPlayerParty bl sub_815AC20 - ldr r0, _08120FC8 @ =sub_815ABFC + ldr r0, _08120FC8 @ =CB2_ReturnToTeachyTV bl SetMainCallback2 pop {r0} bx r0 .align 2, 0 -_08120FC8: .4byte sub_815ABFC +_08120FC8: .4byte CB2_ReturnToTeachyTV thumb_func_end sub_8120FB0 thumb_func_start sub_8120FCC @@ -5149,7 +5149,7 @@ _081211E4: .4byte gUnknown_203B0A0 _081211E8: .4byte gFameCheckerText_Cancel _081211EC: .4byte gUnknown_8459FFC _081211F0: - ldr r4, _08121240 @ =gUnknown_84161C8 + ldr r4, _08121240 @ =gOtherText_Exit movs r0, 0 adds r1, r4, 0 movs r2, 0 @@ -5187,7 +5187,7 @@ _08121238: pop {r0} bx r0 .align 2, 0 -_08121240: .4byte gUnknown_84161C8 +_08121240: .4byte gOtherText_Exit _08121244: .4byte gUnknown_8459FFC thumb_func_end sub_81210F8 diff --git a/asm/player_pc.s b/asm/player_pc.s index 6d998daaa..f847db1e6 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -1174,7 +1174,7 @@ _080EBFB6: ldrb r0, [r4, 0x16] adds r1, r7, 0 mov r2, r8 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl schedule_bg_copy_tilemap_to_vram mov r1, r8 @@ -1288,7 +1288,7 @@ sub_80EC094: @ 80EC094 ldrb r0, [r4, 0x16] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl schedule_bg_copy_tilemap_to_vram bl sub_810EDB0 @@ -1852,14 +1852,14 @@ sub_80EC520: @ 80EC520 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080EC534 @ =gUnknown_841632A + ldr r2, _080EC534 @ =gText_ThereIsNoPokemon ldr r3, _080EC538 @ =sub_80EC574 movs r1, 0x2 bl DisplayItemMessageOnField pop {r0} bx r0 .align 2, 0 -_080EC534: .4byte gUnknown_841632A +_080EC534: .4byte gText_ThereIsNoPokemon _080EC538: .4byte sub_80EC574 thumb_func_end sub_80EC520 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index bd18d2e76..68b30e43b 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -754,7 +754,7 @@ _08102B24: adds r1, r2, 0 adds r1, 0x12 adds r2, 0x10 - bl sub_810713C + bl DestroyListMenu movs r0, 0x20 str r0, [sp] movs r0, 0x14 @@ -804,7 +804,7 @@ _08102B94: adds r1, r2, 0 adds r1, 0x12 adds r2, 0x10 - bl sub_810713C + bl DestroyListMenu movs r0, 0x1 bl HideBg ldr r0, [r4] @@ -832,7 +832,7 @@ _08102BD8: adds r1, r2, 0 adds r1, 0x12 adds r2, 0x10 - bl sub_810713C + bl DestroyListMenu movs r0, 0x1 bl HideBg ldr r0, [r4] @@ -2467,7 +2467,7 @@ _0810399C: adds r1, r2, 0 adds r1, 0x36 adds r2, 0x34 - bl sub_810713C + bl DestroyListMenu b _081039E8 .align 2, 0 _081039B4: .4byte gUnknown_203ACF0 @@ -2480,7 +2480,7 @@ _081039B8: adds r1, r2, 0 adds r1, 0x3A adds r2, 0x38 - bl sub_810713C + bl DestroyListMenu b _081039E8 .align 2, 0 _081039D0: .4byte gUnknown_203ACF0 @@ -2493,7 +2493,7 @@ _081039D4: adds r1, r2, 0 adds r1, 0x3E adds r2, 0x3C - bl sub_810713C + bl DestroyListMenu _081039E8: pop {r0} bx r0 @@ -2572,7 +2572,7 @@ sub_8103A40: @ 8103A40 movs r1, 0 movs r2, 0x28 adds r3, r6, 0 - bl sub_8107D68 + bl blit_move_info_icon ldr r0, _08103AC4 @ =gBaseStats lsls r4, r5, 3 subs r4, r5 @@ -2587,7 +2587,7 @@ sub_8103A40: @ 8103A40 lsrs r1, 24 movs r2, 0x78 adds r3, r6, 0 - bl sub_8107D68 + bl blit_move_info_icon ldrb r1, [r4, 0x7] cmp r5, r1 beq _08103AB6 @@ -2599,7 +2599,7 @@ sub_8103A40: @ 8103A40 lsrs r1, 24 movs r2, 0x98 adds r3, r6, 0 - bl sub_8107D68 + bl blit_move_info_icon _08103AB6: add sp, 0x4 pop {r4-r7} @@ -7753,7 +7753,7 @@ _08106478: lsrs r1, 24 movs r2, 0 movs r3, 0x1 - bl sub_8107D68 + bl blit_move_info_icon ldrb r1, [r4, 0x7] cmp r5, r1 beq _08106504 @@ -7765,7 +7765,7 @@ _08106478: lsrs r1, 24 movs r2, 0x20 movs r3, 0x1 - bl sub_8107D68 + bl blit_move_info_icon _08106504: ldr r7, _081066B8 @ =gUnknown_203ACF0 ldr r0, [r7] diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 385e5fb84..1688f2ed5 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -4180,7 +4180,7 @@ _08136812: adds r1, r4, r3 ldr r0, [r6] adds r0, r1 - ldr r5, _081368A4 @ =gUnknown_8416213 + ldr r5, _081368A4 @ =gText_ThreeHyphens adds r1, r5, 0 bl StringCopy ldr r0, _081368A8 @ =0x00003188 @@ -4209,7 +4209,7 @@ _08136894: .4byte gUnknown_841620E _08136898: .4byte 0x000030b8 _0813689C: .4byte gUnknown_8416210 _081368A0: .4byte 0x0000316c -_081368A4: .4byte gUnknown_8416213 +_081368A4: .4byte gText_ThreeHyphens _081368A8: .4byte 0x00003188 _081368AC: .4byte gUnknown_203B144 _081368B0: @@ -4399,7 +4399,7 @@ _081369D0: ldr r1, _08136A68 @ =0x0000316c adds r0, r1 adds r0, r6, r0 - ldr r1, _08136A6C @ =gUnknown_8416213 + ldr r1, _08136A6C @ =gText_ThreeHyphens bl StringCopy b _08136A84 .align 2, 0 @@ -4411,7 +4411,7 @@ _08136A5C: .4byte 0x00003258 _08136A60: .4byte gUnknown_203B144 _08136A64: .4byte gBattleMoves _08136A68: .4byte 0x0000316c -_08136A6C: .4byte gUnknown_8416213 +_08136A6C: .4byte gText_ThreeHyphens _08136A70: lsls r4, r7, 2 adds r0, r4, r7 @@ -4441,7 +4441,7 @@ _08136A84: ldr r2, _08136AC0 @ =0x00003188 adds r0, r2 adds r0, r3, r0 - ldr r1, _08136AC4 @ =gUnknown_8416213 + ldr r1, _08136AC4 @ =gText_ThreeHyphens bl StringCopy b _08136ADA .align 2, 0 @@ -4450,7 +4450,7 @@ _08136AB4: .4byte gBattleMoves _08136AB8: .4byte gUnknown_203B140 _08136ABC: .4byte 0x00003258 _08136AC0: .4byte 0x00003188 -_08136AC4: .4byte gUnknown_8416213 +_08136AC4: .4byte gText_ThreeHyphens _08136AC8: adds r0, r4, r7 ldr r4, _08136AE8 @ =0x00003188 @@ -6636,7 +6636,7 @@ _08137CA4: adds r3, r2 lsrs r3, 16 movs r2, 0x3 - bl sub_8107D68 + bl blit_move_info_icon _08137CDE: adds r0, r4, 0x1 lsls r0, 24 @@ -6660,7 +6660,7 @@ _08137CDE: lsrs r1, 24 movs r2, 0x3 movs r3, 0x75 - bl sub_8107D68 + bl blit_move_info_icon _08137D0E: pop {r4,r5} pop {r0} @@ -8325,7 +8325,7 @@ _08138A62: lsrs r1, 24 movs r2, 0x2F movs r3, 0x23 - bl sub_8107D68 + bl blit_move_info_icon ldr r1, [r6] adds r4, r1, r4 ldr r3, _08138AB8 @ =0x00003221 @@ -8342,7 +8342,7 @@ _08138A62: lsrs r1, 24 movs r2, 0x53 movs r3, 0x23 - bl sub_8107D68 + bl blit_move_info_icon b _08138B0E .align 2, 0 _08138AB0: .4byte 0x00003003 @@ -8365,7 +8365,7 @@ _08138ABC: lsrs r1, 24 movs r2, 0 movs r3, 0x3 - bl sub_8107D68 + bl blit_move_info_icon ldr r2, [r6] adds r4, r2, r4 ldr r1, _08138B1C @ =0x00003221 @@ -8381,7 +8381,7 @@ _08138ABC: lsrs r1, 24 movs r2, 0x24 movs r3, 0x3 - bl sub_8107D68 + bl blit_move_info_icon _08138B04: ldr r0, [r6] adds r0, r5 diff --git a/asm/script_menu.s b/asm/script_menu.s index 11b9feee2..eaf874aea 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -1925,7 +1925,7 @@ _0809D844: bl AddTextPrinterParameterized adds r0, r6, 0x1 lsls r0, 24 - ldr r2, _0809D8BC @ =gUnknown_84161C8 + ldr r2, _0809D8BC @ =gOtherText_Exit lsrs r0, 20 adds r0, 0x2 lsls r0, 24 @@ -1964,7 +1964,7 @@ _0809D8A8: bx r0 .align 2, 0 _0809D8B8: .4byte gUnknown_8417DED -_0809D8BC: .4byte gUnknown_84161C8 +_0809D8BC: .4byte gOtherText_Exit thumb_func_end sub_809D764 thumb_func_start sub_809D8C0 diff --git a/asm/shop.s b/asm/shop.s index 67d30d52a..bdb2f8e9e 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -477,7 +477,7 @@ _0809AE2C: adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _0809AE9C @ =gUnknown_3005E70 + ldr r0, _0809AE9C @ =gMultiuseListMenuTemplate movs r1, 0 movs r2, 0 bl ListMenuInit @@ -510,7 +510,7 @@ _0809AE2C: _0809AE90: .4byte gMain _0809AE94: .4byte gUnknown_2039934 _0809AE98: .4byte sub_809BBC0 -_0809AE9C: .4byte gUnknown_3005E70 +_0809AE9C: .4byte gMultiuseListMenuTemplate _0809AEA0: .4byte gTasks _0809AEA4: .4byte sub_809AE00 _0809AEA8: .4byte sub_809ADE4 @@ -904,7 +904,7 @@ _0809B1F2: movs r0, 0x2 negs r0, r0 str r0, [r1, 0x4] - ldr r5, _0809B2D4 @ =gUnknown_3005E70 + ldr r5, _0809B2D4 @ =gMultiuseListMenuTemplate str r2, [r5] ldr r6, _0809B2D8 @ =gUnknown_2039934 ldrh r0, [r6, 0x10] @@ -992,7 +992,7 @@ _0809B2BC: _0809B2C8: .4byte gUnknown_2039968 _0809B2CC: .4byte gFameCheckerText_Cancel _0809B2D0: .4byte gUnknown_2039964 -_0809B2D4: .4byte gUnknown_3005E70 +_0809B2D4: .4byte gMultiuseListMenuTemplate _0809B2D8: .4byte gUnknown_2039934 _0809B2DC: .4byte sub_809B320 _0809B2E0: .4byte sub_809B408 @@ -1000,7 +1000,7 @@ _0809B2E4: strh r0, [r5, 0xE] _0809B2E6: ldr r0, _0809B2F8 @ =gUnknown_2039934 - ldr r1, _0809B2FC @ =gUnknown_3005E70 + ldr r1, _0809B2FC @ =gMultiuseListMenuTemplate ldrh r1, [r1, 0xE] strh r1, [r0, 0x12] movs r0, 0x1 @@ -1010,7 +1010,7 @@ _0809B2F0: bx r1 .align 2, 0 _0809B2F8: .4byte gUnknown_2039934 -_0809B2FC: .4byte gUnknown_3005E70 +_0809B2FC: .4byte gMultiuseListMenuTemplate thumb_func_end sub_809B188 thumb_func_start sub_809B300 @@ -1233,7 +1233,7 @@ sub_809B494: @ 809B494 movs r3, 0x2 bl ConvertIntToDecimalStringN ldr r5, _0809B51C @ =gStringVar4 - ldr r1, _0809B520 @ =gUnknown_8416226 + ldr r1, _0809B520 @ =gOtherText_UnkF9_08_Clear_01 adds r0, r5, 0 bl StringCopy adds r0, r5, 0 @@ -1279,10 +1279,10 @@ sub_809B494: @ 809B494 _0809B514: .4byte gStringVar1 _0809B518: .4byte 0xfffffee0 _0809B51C: .4byte gStringVar4 -_0809B520: .4byte gUnknown_8416226 +_0809B520: .4byte gOtherText_UnkF9_08_Clear_01 _0809B524: .4byte gMoveNames _0809B528: - ldr r2, _0809B564 @ =gUnknown_8416213 + ldr r2, _0809B564 @ =gText_ThreeHyphens movs r4, 0 str r4, [sp] str r4, [sp, 0x4] @@ -1312,7 +1312,7 @@ _0809B55C: pop {r0} bx r0 .align 2, 0 -_0809B564: .4byte gUnknown_8416213 +_0809B564: .4byte gText_ThreeHyphens _0809B568: .4byte gUnknown_8416217 thumb_func_end sub_809B494 @@ -2119,7 +2119,7 @@ sub_809BB44: @ 809BB44 movs r3, 0x2 bl ConvertIntToDecimalStringN ldr r4, _0809BBB8 @ =gStringVar4 - ldr r1, _0809BBBC @ =gUnknown_84162B9 + ldr r1, _0809BBBC @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0xA @@ -2144,7 +2144,7 @@ _0809BBAC: .4byte gTasks+0x8 _0809BBB0: .4byte gUnknown_2039934 _0809BBB4: .4byte gStringVar1 _0809BBB8: .4byte gStringVar4 -_0809BBBC: .4byte gUnknown_84162B9 +_0809BBBC: .4byte gText_TimesStrVar1 thumb_func_end sub_809BB44 thumb_func_start sub_809BBC0 @@ -2691,7 +2691,7 @@ sub_809C04C: @ 809C04C ldrb r0, [r2, 0xE] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_809B604 ldr r0, _0809C090 @ =c2_exit_to_overworld_2_switch bl SetMainCallback2 diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index b9bf09d46..b7875e7a9 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -33,7 +33,7 @@ sub_815ABC4: @ 815ABC4 lsls r0, 24 lsrs r0, 24 adds r2, r0, 0 - ldr r3, _0815ABF4 @ =gUnknown_203F444 + ldr r3, _0815ABF4 @ =gTeachyTV_StaticResources movs r4, 0 strb r2, [r3, 0x4] str r1, [r3] @@ -54,14 +54,14 @@ _0815ABE6: pop {r0} bx r0 .align 2, 0 -_0815ABF4: .4byte gUnknown_203F444 +_0815ABF4: .4byte gTeachyTV_StaticResources _0815ABF8: .4byte sub_815AC2C thumb_func_end sub_815ABC4 - thumb_func_start sub_815ABFC -sub_815ABFC: @ 815ABFC + thumb_func_start CB2_ReturnToTeachyTV +CB2_ReturnToTeachyTV: @ 815ABFC push {lr} - ldr r1, _0815AC10 @ =gUnknown_203F444 + ldr r1, _0815AC10 @ =gTeachyTV_StaticResources ldrb r0, [r1, 0x4] cmp r0, 0x1 bne _0815AC14 @@ -70,7 +70,7 @@ sub_815ABFC: @ 815ABFC bl sub_815ABC4 b _0815AC1C .align 2, 0 -_0815AC10: .4byte gUnknown_203F444 +_0815AC10: .4byte gTeachyTV_StaticResources _0815AC14: ldr r1, [r1] movs r0, 0x2 @@ -78,16 +78,16 @@ _0815AC14: _0815AC1C: pop {r0} bx r0 - thumb_func_end sub_815ABFC + thumb_func_end CB2_ReturnToTeachyTV thumb_func_start sub_815AC20 sub_815AC20: @ 815AC20 - ldr r1, _0815AC28 @ =gUnknown_203F444 + ldr r1, _0815AC28 @ =gTeachyTV_StaticResources movs r0, 0x1 strb r0, [r1, 0x4] bx lr .align 2, 0 -_0815AC28: .4byte gUnknown_203F444 +_0815AC28: .4byte gTeachyTV_StaticResources thumb_func_end sub_815AC20 thumb_func_start sub_815AC2C @@ -145,7 +145,7 @@ _0815AC9C: beq _0815AD6E bl sub_815AEB8 bl sub_815AFEC - ldr r0, _0815ACE0 @ =gUnknown_203F444 + ldr r0, _0815ACE0 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x4] cmp r0, 0x2 bne _0815ACEC @@ -167,7 +167,7 @@ _0815AC9C: bl sub_815B118 b _0815AD26 .align 2, 0 -_0815ACE0: .4byte gUnknown_203F444 +_0815ACE0: .4byte gTeachyTV_StaticResources _0815ACE4: .4byte sub_815BA54 _0815ACE8: .4byte gTasks _0815ACEC: @@ -384,7 +384,7 @@ _0815AEE4: .4byte gUnknown_84792F0 thumb_func_start sub_815AEE8 sub_815AEE8: @ 815AEE8 push {r4,r5,lr} - ldr r4, _0815AF48 @ =gUnknown_3005E70 + ldr r4, _0815AF48 @ =gMultiuseListMenuTemplate adds r1, r4, 0 ldr r0, _0815AF4C @ =gUnknown_8479368 ldm r0!, {r2,r3,r5} @@ -419,7 +419,7 @@ sub_815AEE8: @ 815AEE8 orrs r0, r1 strb r0, [r4, 0x14] _0815AF30: - ldr r0, _0815AF58 @ =gUnknown_203F444 + ldr r0, _0815AF58 @ =gTeachyTV_StaticResources ldrh r1, [r0, 0x6] ldrh r2, [r0, 0x8] adds r0, r4, 0 @@ -430,11 +430,11 @@ _0815AF30: pop {r1} bx r1 .align 2, 0 -_0815AF48: .4byte gUnknown_3005E70 +_0815AF48: .4byte gMultiuseListMenuTemplate _0815AF4C: .4byte gUnknown_8479368 _0815AF50: .4byte sub_815AFD8 _0815AF54: .4byte gUnknown_8479340 -_0815AF58: .4byte gUnknown_203F444 +_0815AF58: .4byte gTeachyTV_StaticResources thumb_func_end sub_815AEE8 thumb_func_start sub_815AF5C @@ -694,7 +694,7 @@ sub_815B118: @ 815B118 movs r0, 0x1 bl ClearWindowTilemap bl sub_815B0B4 - ldr r0, _0815B198 @ =gUnknown_203F444 + ldr r0, _0815B198 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] cmp r0, 0 blt _0815B1B8 @@ -732,7 +732,7 @@ sub_815B118: @ 815B118 .align 2, 0 _0815B190: .4byte gTasks+0x8 _0815B194: .4byte gSprites -_0815B198: .4byte gUnknown_203F444 +_0815B198: .4byte gTeachyTV_StaticResources _0815B19C: .4byte gUnknown_203F450 _0815B1A0: .4byte 0x00004004 _0815B1A4: .4byte 0x00004005 @@ -867,7 +867,7 @@ _0815B298: .4byte gPaletteFade _0815B29C: .4byte gUnknown_203F450 _0815B2A0: bl sub_8055DC4 - ldr r0, _0815B2BC @ =gUnknown_203F444 + ldr r0, _0815B2BC @ =gTeachyTV_StaticResources ldr r0, [r0] bl SetMainCallback2 _0815B2AC: @@ -879,7 +879,7 @@ _0815B2B6: pop {r0} bx r0 .align 2, 0 -_0815B2BC: .4byte gUnknown_203F444 +_0815B2BC: .4byte gTeachyTV_StaticResources thumb_func_end sub_815B274 thumb_func_start sub_815B2C0 @@ -942,13 +942,13 @@ _0815B330: _0815B33E: movs r0, 0x5 bl PlaySE - ldr r2, _0815B380 @ =gUnknown_203F444 + ldr r2, _0815B380 @ =gTeachyTV_StaticResources movs r4, 0 strb r5, [r2, 0x5] ldrb r0, [r6] adds r1, r2, 0x6 adds r2, 0x8 - bl sub_810713C + bl DestroyListMenu bl sub_815B0B4 movs r0, 0x1 bl ClearWindowTilemap @@ -969,7 +969,7 @@ _0815B37A: pop {r0} bx r0 .align 2, 0 -_0815B380: .4byte gUnknown_203F444 +_0815B380: .4byte gTeachyTV_StaticResources _0815B384: .4byte gTasks _0815B388: .4byte sub_815B4EC thumb_func_end sub_815B2C0 @@ -1208,7 +1208,7 @@ _0815B554: .4byte 0x00004006 _0815B558: .4byte sub_815B92C _0815B55C: ldr r1, _0815B580 @ =gUnknown_8479548 - ldr r0, _0815B584 @ =gUnknown_203F444 + ldr r0, _0815B584 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] lsls r0, 2 adds r0, r1 @@ -1226,7 +1226,7 @@ _0815B578: bx r0 .align 2, 0 _0815B580: .4byte gUnknown_8479548 -_0815B584: .4byte gUnknown_203F444 +_0815B584: .4byte gTeachyTV_StaticResources thumb_func_end sub_815B4EC thumb_func_start sub_815B588 @@ -1240,7 +1240,7 @@ sub_815B588: @ 815B588 ldr r0, _0815B5B4 @ =gTasks+0x8 adds r4, r0 ldr r1, _0815B5B8 @ =gUnknown_8479560 - ldr r0, _0815B5BC @ =gUnknown_203F444 + ldr r0, _0815B5BC @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] lsls r0, 2 adds r0, r1 @@ -1255,7 +1255,7 @@ sub_815B588: @ 815B588 .align 2, 0 _0815B5B4: .4byte gTasks+0x8 _0815B5B8: .4byte gUnknown_8479560 -_0815B5BC: .4byte gUnknown_203F444 +_0815B5BC: .4byte gTeachyTV_StaticResources thumb_func_end sub_815B588 thumb_func_start sub_815B5C0 @@ -1269,7 +1269,7 @@ sub_815B5C0: @ 815B5C0 ldr r0, _0815B5EC @ =gTasks+0x8 adds r4, r0 ldr r1, _0815B5F0 @ =gUnknown_8479578 - ldr r0, _0815B5F4 @ =gUnknown_203F444 + ldr r0, _0815B5F4 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] lsls r0, 2 adds r0, r1 @@ -1284,7 +1284,7 @@ sub_815B5C0: @ 815B5C0 .align 2, 0 _0815B5EC: .4byte gTasks+0x8 _0815B5F0: .4byte gUnknown_8479578 -_0815B5F4: .4byte gUnknown_203F444 +_0815B5F4: .4byte gTeachyTV_StaticResources thumb_func_end sub_815B5C0 thumb_func_start sub_815B5F8 @@ -1806,7 +1806,7 @@ sub_815B9F0: @ 815B9F0 lsls r0, 24 lsrs r1, r0, 24 adds r2, r1, 0 - ldr r0, _0815BA0C @ =gUnknown_203F444 + ldr r0, _0815BA0C @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] cmp r0, 0 blt _0815BA22 @@ -1816,7 +1816,7 @@ sub_815B9F0: @ 815B9F0 bl sub_815BC90 b _0815BA22 .align 2, 0 -_0815BA0C: .4byte gUnknown_203F444 +_0815BA0C: .4byte gTeachyTV_StaticResources _0815BA10: cmp r0, 0x5 bgt _0815BA22 @@ -1837,7 +1837,7 @@ _0815BA2C: .4byte sub_815BA30 thumb_func_start sub_815BA30 sub_815BA30: @ 815BA30 push {lr} - ldr r0, _0815BA44 @ =gUnknown_203F444 + ldr r0, _0815BA44 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] cmp r0, 0x4 bne _0815BA48 @@ -1845,7 +1845,7 @@ sub_815BA30: @ 815BA30 bl sub_810B108 b _0815BA4E .align 2, 0 -_0815BA44: .4byte gUnknown_203F444 +_0815BA44: .4byte gTeachyTV_StaticResources _0815BA48: movs r0, 0x9 bl sub_810B108 @@ -1871,7 +1871,7 @@ sub_815BA54: @ 815BA54 cmp r0, 0 bne _0815BA86 ldr r1, _0815BA94 @ =gUnknown_8479390 - ldr r0, _0815BA98 @ =gUnknown_203F444 + ldr r0, _0815BA98 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] adds r0, r1 ldrb r0, [r0] @@ -1889,7 +1889,7 @@ _0815BA86: _0815BA8C: .4byte gTasks+0x8 _0815BA90: .4byte gPaletteFade _0815BA94: .4byte gUnknown_8479390 -_0815BA98: .4byte gUnknown_203F444 +_0815BA98: .4byte gTeachyTV_StaticResources _0815BA9C: .4byte sub_815B4EC thumb_func_end sub_815BA54 @@ -2155,7 +2155,7 @@ sub_815BC90: @ 815BC90 adds r5, r0, r1 bl sub_815B220 ldr r1, _0815BCD0 @ =gSpecialVar_0x8004 - ldr r4, _0815BCD4 @ =gUnknown_203F444 + ldr r4, _0815BCD4 @ =gTeachyTV_StaticResources ldrb r0, [r4, 0x5] strh r0, [r1] ldr r1, _0815BCD8 @ =gMain @@ -2173,7 +2173,7 @@ sub_815BC90: @ 815BC90 .align 2, 0 _0815BCCC: .4byte gTasks+0x8 _0815BCD0: .4byte gSpecialVar_0x8004 -_0815BCD4: .4byte gUnknown_203F444 +_0815BCD4: .4byte gTeachyTV_StaticResources _0815BCD8: .4byte gMain _0815BCDC: .4byte sub_815BD58 _0815BCE0: @@ -2257,7 +2257,7 @@ _0815BD70: lsls r0, 1 bl PlayNewMapMusic _0815BD78: - bl sub_815ABFC + bl CB2_ReturnToTeachyTV pop {r0} bx r0 thumb_func_end sub_815BD58 diff --git a/asm/trade.s b/asm/trade.s index 9dc1c2bf3..ea2221aa1 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -20,7 +20,7 @@ sub_804C600: @ 804C600 strb r0, [r2, 0x8] ldr r0, _0804C6FC @ =sub_804D4F8 bl SetVBlankCallback - ldr r4, _0804C700 @ =gUnknown_841F408 + ldr r4, _0804C700 @ =gTMCaseMainWindowPalette adds r0, r4, 0 movs r1, 0xF0 movs r2, 0x14 @@ -118,7 +118,7 @@ _0804C6F0: .align 2, 0 _0804C6F8: .4byte gPaletteFade _0804C6FC: .4byte sub_804D4F8 -_0804C700: .4byte gUnknown_841F408 +_0804C700: .4byte gTMCaseMainWindowPalette _0804C704: .4byte gUnknown_8261F1C _0804C708: .4byte gUnknown_2031DA8 _0804C70C: .4byte gUnknown_8261F2C diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index 194066e70..fcf0ceb19 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -5355,14 +5355,14 @@ sub_812AD20: @ 812AD20 movs r1, 0xA movs r2, 0x20 bl sub_814FF2C - ldr r0, _0812AD4C @ =gUnknown_841F408 + ldr r0, _0812AD4C @ =gTMCaseMainWindowPalette movs r1, 0xE0 movs r2, 0x20 bl LoadPalette pop {r0} bx r0 .align 2, 0 -_0812AD4C: .4byte gUnknown_841F408 +_0812AD4C: .4byte gTMCaseMainWindowPalette thumb_func_end sub_812AD20 thumb_func_start sub_812AD50 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index a212d0acb..8fb1d4533 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -734,7 +734,7 @@ gUnknown_8416190:: @ 8416190 gUnknown_8416195:: .string "どこへ とびますか?$" -gUnknown_84161A0:: +gOtherText_Use:: .string "USE$" gUnknown_84161A4:: @@ -743,7 +743,7 @@ gUnknown_84161A4:: gUnknown_84161A9:: .string "REGISTER$" -gUnknown_84161B2:: +gOtherText_Give:: .string "GIVE$" gUnknown_84161B7:: @@ -755,7 +755,7 @@ gUnknown_84161BC:: gFameCheckerText_Cancel:: @ 84161C1 .string "CANCEL$" -gUnknown_84161C8:: @ 84161C8 +gOtherText_Exit:: @ 84161C8 .string "EXIT$" gUnknown_84161CD:: @ 84161CD @@ -803,7 +803,7 @@ gUnknown_841620E:: @ 841620E gUnknown_8416210:: @ 8416210 .string "--$" -gUnknown_8416213:: @ 8416213 +gText_ThreeHyphens:: @ 8416213 .string "---$" gUnknown_8416217:: @ 8416217 @@ -818,7 +818,7 @@ gUnknown_8416221:: @ 8416221 gUnknown_8416223:: @ 8416223 .string "{UNKNOWN_F9 0x05}$" -gUnknown_8416226:: @ 8416226 +gOtherText_UnkF9_08_Clear_01:: @ 8416226 .string "{UNKNOWN_F9 0x08}{CLEAR 0x01}$" gUnknown_841622C:: @@ -872,7 +872,7 @@ gUnknown_84162A2:: gUnknown_84162A9:: @ 84162A9 .string "{STR_VAR_1}/{STR_VAR_2}\nBALLS {STR_VAR_3}$" -gUnknown_84162B9:: @ 84162B9 +gText_TimesStrVar1:: @ 84162B9 .string "×{STR_VAR_1}$" gUnknown_84162BD:: @ 84162BD @@ -890,20 +890,21 @@ gUnknown_84162F5:: @ 84162F5 gUnknown_84162FF:: @ 84162FF .incbin "baserom.gba", 0x4162FF, 0x2 -gUnknown_8416301:: @ 8416301 - .incbin "baserom.gba", 0x416301, 0xE +gText_IsSelected:: @ 8416301 + .string " is\nselected.$" gUnknown_841630F:: @ 841630F .incbin "baserom.gba", 0x41630F, 0x1B -gUnknown_841632A:: @ 841632A - .incbin "baserom.gba", 0x41632A, 0x15 +gText_ThereIsNoPokemon:: @ 841632A + .string "There is no\n" + .string "POKéMON.$" gUnknown_841633F:: @ 841633F .incbin "baserom.gba", 0x41633F, 0x1F -gUnknown_841635E:: @ 841635E - .incbin "baserom.gba", 0x41635E, 0x16 +gText_ItemCantBeHeld:: @ 841635E + .string "The {STR_VAR_1} can’t be held.$" gUnknown_8416374:: @ 8416374 .incbin "baserom.gba", 0x416374, 0x1B @@ -974,20 +975,24 @@ gUnknown_8416690:: @ 8416690 gUnknown_84166A7:: @ 84166A7 .incbin "baserom.gba", 0x4166A7, 0x2C -gUnknown_84166D3:: @ 84166D3 - .incbin "baserom.gba", 0x4166D3, 0x8 +gText_TMCase:: @ 84166D3 + .string "TM CASE$" -gUnknown_84166DB:: @ 84166DB - .incbin "baserom.gba", 0x4166DB, 0x6 +gText_Close:: @ 84166DB + .string "CLOSE$" -gUnknown_84166E1:: @ 84166E1 - .incbin "baserom.gba", 0x4166E1, 0x1E +gText_TMCaseWillBePutAway:: @ 84166E1 + .string "The TM CASE will be\n" + .string "put away.$" -gUnknown_84166FF:: @ 84166FF - .incbin "baserom.gba", 0x4166FF, 0x4 +gText_FontSize0:: @ 84166FF + .string "{SIZE 0}$" -gUnknown_8416703:: @ 8416703 - .incbin "baserom.gba", 0x416703, 0x7 +gText_FontSize2:: @ 8416703 + .string "{SIZE 2}$" + +gUnknown_8416707:: @ 8416707 + .string " $" gUnknown_841670A:: @ 841670A .incbin "baserom.gba", 0x41670A, 0xC @@ -1019,16 +1024,19 @@ gUnknown_8416861:: @ 8416861 gUnknown_841689E:: @ 841689E .incbin "baserom.gba", 0x41689E, 0x53 -gUnknown_84168F1:: @ 84168F1 - .incbin "baserom.gba", 0x4168F1, 0x20 +gText_OhNoICantBuyThat:: @ 84168F1 + .string "{STR_VAR_1}? Oh, no.\n" + .string "I can’t buy that.{PAUSE_UNTIL_PRESS}$" -gUnknown_8416911:: @ 8416911 - .incbin "baserom.gba", 0x416911, 0x25 +gText_HowManyWouldYouLikeToSell:: @ 8416911 + .string "{STR_VAR_1}?\n" + .string "How many would you like to sell?$" -gUnknown_8416936:: @ 8416936 - .incbin "baserom.gba", 0x416936, 0x23 +gText_ICanPayThisMuch_WouldThatBeOkay:: @ 8416936 + .string "I can pay ¥{STR_VAR_3}.\n" + .string "Would that be okay?$" -gUnknown_8416959:: @ 8416959 +gText_TurnedOverItemsWorthYen:: @ 8416959 .incbin "baserom.gba", 0x416959, 0x21 gText_PokedollarVar1:: @ 841697A @@ -1894,13 +1902,211 @@ gUnknown_841B779:: @ 841B779 .incbin "baserom.gba", 0x41B779, 0xC4 gUnknown_841B83D:: @ 841B83D - .incbin "baserom.gba", 0x41B83D, 0xD4A - -gUnknown_841C587:: @ 841C587 - .incbin "baserom.gba", 0x41C587, 0x10C + .string "Hey, all you TRAINERS out there!\n" + .string "HELLO, TRAINERS!\p" + .string "……… ……… ………\p" + .string "Come on, let me hear you!\n" + .string "HELLO, TRAINERS!\l" + .string "It’s me, the POKé DUDE!\p" + .string "$" -gUnknown_841C693:: @ 841C693 - .incbin "baserom.gba", 0x41C693, 0x4A9 +gUnknown_841B8BF:: @ 841B8BF + .string "Today, the POKé DUDE’s here to\n" + .string "tell you about how you can battle\l" + .string "POKéMON!\p" + .string "Say you’re out for a stroll when,\n" + .string "suddenly, a wild POKéMON appears!\p" + .string "It’s up to you to smartly use your\n" + .string "POKéMON and their moves to reduce\l" + .string "the opponent’s HP to nothing, and\l" + .string "claim victory!\p" + .string "I’ll show you how to do that in\n" + .string "person and for sure!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841BA41:: @ 841BA41 + .string "Well, did you get that?\p" + .string "Even if your own POKéMON’s HP\n" + .string "falls to zero, and it becomes\l" + .string "unable to battle, not to worry!\p" + .string "Just take it to any POKéMON\n" + .string "CENTER and heal it!\p" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841BB40:: @ 841BB40 + .string "Today, the POKé DUDE’s here to\n" + .string "tell you about status problems!\p" + .string "Status problems include poisoning,\n" + .string "paralysis, sleep, burn…\p" + .string "There are a couple others, but\n" + .string "they really are trouble.\p" + .string "Get any one, and your POKéMON\n" + .string "may become useless in battle.\p" + .string "You know, it hurts the POKé DUDE\n" + .string "to see a POKéMON suffer…\p" + .string "So, what should you do if your\n" + .string "POKéMON gets a status problem?\p" + .string "Well, you’ve got me to show you!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841BD10:: @ 841BD10 + .string "Poisoning or paralysis don’t go\n" + .string "away after a battle.\p" + .string "If a POKéMON is poisoned, it loses\n" + .string "HP even while you’re walking.\p" + .string "You should heal POKéMON of these\n" + .string "kinds of problems right away.\p" + .string "Use an item, or try to get to a\n" + .string "POKéMON CENTER for healing.\p" + .string "That wasn’t hard, was it?\n" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841BE76:: @ 841BE76 + .string "Does everyone know about type\n" + .string "matchups?\p" + .string "POKéMON and their moves all\n" + .string "belong to certain types.\p" + .string "For example, there are such types\n" + .string "as GRASS and WATER.\p" + .string "You need to consider the type of\n" + .string "the move used to attack…\p" + .string "And, the type of the POKéMON that\n" + .string "is hit by that attack.\p" + .string "Depending on how those two types\n" + .string "match up, the damage can change.\p" + .string "You see, it depends on whether\n" + .string "the type matchup is good or bad.\p" + .string "If you don’t know how matchups\n" + .string "work, battles will be tough.\p" + .string "So, let me demonstrate exactly\n" + .string "what I mean.\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841C0AF:: @ 841C0AF + .string "Is it possible to launch an attack\n" + .string "that will inflict heavy damage?\p" + .string "Does the opposing POKéMON pose\n" + .string "a threat to your POKéMON?\p" + .string "Is there any chance that it may\n" + .string "have disastrously tough moves?\p" + .string "Watch the type matchups to gain\n" + .string "the upper hand!\p" + .string "All righty, be seeing you!\p" + .string "Oh, for the COOL-type POKé DUDE,\n" + .string "AWESOME-type kids like you match\l" + .string "up perfectly!\p" + .string "Remember, a good deed a day\n" + .string "brings happiness to stay!$" + +gUnknown_841C23B:: @ 841C23B + .string "Today, the POKé DUDE’s going to\n" + .string "show you how to catch POKéMON!\p" + .string "Just imagine… A groovy POKéMON\n" + .string "suddenly appearing in the wild!\p" + .string "Oh, you want it!\n" + .string "You just can’t help it!\p" + .string "Oh, you have to catch it!\n" + .string "You gotta have it!\p" + .string "Let me show you how you can make\n" + .string "it happen!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841C384:: @ 841C384 + .string "If your first POKé BALL fails to\n" + .string "catch the POKéMON, don’t give up!\p" + .string "Keep throwing POKé BALLS…\n" + .string "It’s bound to work sometime!\p" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841C459:: @ 841C459 + .string "Hey, everyone!\n" + .string "Do you all have TMs?\p" + .string "A TM, Technical Machine, is an\n" + .string "amazingly great item!\p" + .string "It teaches POKéMON a move that\n" + .string "it may not learn when leveling up!\p" + .string "Isn’t that just great? What a\n" + .string "convenient world we live in!\p" + .string "Open the TM CASE and check out\n" + .string "the TMs you have.\p" + .string "You can check them out in detail,\n" + .string "too.$" + +gPokeDudeText_TMTypes:: @ 841C587 + .string "POKé DUDE: NORMAL, WATER, GRASS…\n" + .string "TMs also come in types.\p" + .string "Check the type and teach it to\n" + .string "a POKéMON that matches up well.\p" + .string "For example, WATER PULSE is\n" + .string "suitable for WATER-type POKéMON.\p" + .string "BULLET SEED is a move that most\n" + .string "GRASS-type POKéMON can learn.\p" + .string "There’s one other thing!$" + +gPokeDudeText_ReadTMDescription:: @ 841C693 + .string "Don’t just look at the type, read\n" + .string "the description, too.\p" + .string "It will contain hints about what\n" + .string "POKéMON might learn the move.\p" + .string "For example, take a move like\n" + .string "FOCUS PUNCH.\p" + .string "It doesn’t sound like anything a\n" + .string "bird or fish POKéMON can learn.\p" + .string "So, try using it on POKéMON with\n" + .string "arms that can throw punches!$" + +gUnknown_841C7B4:: @ 841C7B4 + .string "Wow, I talked a lot today!\n" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841C82A:: @ 841C82A + .string "A TRAINER’s BAG has a bunch of\n" + .string "nifty, convenient features!\p" + .string "Take stuff in the KEY ITEMS\n" + .string "POCKET, for instance.\p" + .string "You can use a key item without\n" + .string "opening the BAG every time.\p" + .string "For example, let’s pretend I have\n" + .string "a TEACHY TV in my BAG.\p" + .string "I can register it for instant use,\n" + .string "and I’ll show you how!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the sorta\n" + .string "super POKé DUDE SHOW!$" + +gUnknown_841C994:: @ 841C994 + .string "And now, your TEACHY TV is\n" + .string "registered.\p" + .string "How do you use it?\n" + .string "Well, here’s how it works.\p" + .string "Once an item in the KEY ITEMS\n" + .string "POKCET is registered, you can use\l" + .string "it by pressing SELECT.\p" + .string "So, you’ve given yourself\n" + .string "one-touch access to TEACHY TV.\p" + .string "All it takes for you to see me is\n" + .string "pressing one button!\p" + .string "That kind of attention is a little\n" + .string "embarrassing!\p" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" gUnknown_841CB3C:: @ 841CB3C .incbin "baserom.gba", 0x41CB3C, 0x5 @@ -2407,8 +2613,8 @@ gUnknown_841EF10:: @ 841EF10 gUnknown_841F1C8:: @ 841F1C8 .incbin "baserom.gba", 0x41F1C8, 0x240 -gUnknown_841F408:: @ 841F408 - .incbin "baserom.gba", 0x41F408, 0x20 +gTMCaseMainWindowPalette:: @ 841F408 + .incbin "graphics/tm_case/unk_841F408.gbapal" gUnknown_841F428:: @ 841F428 .incbin "baserom.gba", 0x41F428, 0x4 diff --git a/data/data_8471F00.s b/data/data_8471F00.s index 6733b3f4d..9c616b37c 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -237,7 +237,12 @@ gUnknown_8479548:: @ 8479548 .incbin "baserom.gba", 0x479548, 0x18 gUnknown_8479560:: @ 8479560 - .incbin "baserom.gba", 0x479560, 0x18 + .4byte gUnknown_841B8BF + .4byte gUnknown_841BB40 + .4byte gUnknown_841BE76 + .4byte gUnknown_841C23B + .4byte gUnknown_841C459 + .4byte gUnknown_841C82A gUnknown_8479578:: @ 8479578 .incbin "baserom.gba", 0x479578, 0x18 diff --git a/data/graphics.s b/data/graphics.s index 2a6e50c87..12cb6a33f 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -13967,7 +13967,7 @@ gUnknown_8E84CB0:: @ 8E84CB0 gUnknown_8E84D20:: @ 8E84D20 .incbin "graphics/tm_case/unk_8E84D20.gbapal.lz" -gUnknown_8E84D90:: @ 8E84D90 +gTMCase_TMSpriteGfx:: @ 8E84D90 .incbin "graphics/tm_case/unk_8E84D90.4bpp.lz" gUnknown_8E84F20:: @ 8E84F20 diff --git a/graphics/tm_case/unk_841F408.pal b/graphics/tm_case/unk_841F408.pal new file mode 100644 index 000000000..25a3ac1d2 --- /dev/null +++ b/graphics/tm_case/unk_841F408.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/include/graphics.h b/include/graphics.h index 0f3553eea..83cc19bb3 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -156,7 +156,7 @@ extern const u32 gUnknown_8E84A24[]; extern const u32 gUnknown_8E84B70[]; extern const u32 gUnknown_8E84CB0[]; extern const u32 gUnknown_8E84D20[]; -extern const u32 gUnknown_8E84D90[]; +extern const u32 gTMCase_TMSpriteGfx[]; extern const u32 gUnknown_8E84F20[]; extern const u32 gUnknown_8E85068[]; extern const u8 gUnknown_8E99118[]; diff --git a/include/item.h b/include/item.h index 9aea7dc86..320b7ffec 100644 --- a/include/item.h +++ b/include/item.h @@ -67,8 +67,8 @@ void sub_809A824(u16 itemId); bool8 AddBagItem(u16 itemId, u16 amount); void sub_809A5E4(struct BagPocket *); -u16 sub_809A798(u8 a0, u16 a1); -u16 sub_809A7B4(u8 a0, u16 a1); +u16 BagGetItemIdByPocketPosition(u8 a0, u16 a1); +u16 BagGetQuantityByPocketPosition(u8 a0, u16 a1); bool8 itemid_is_unique(u16 itemId); void sub_809A584(struct ItemSlot * slots, u8 capacity); diff --git a/include/list_menu.h b/include/list_menu.h index 9c4960e3e..3fd54d0d1 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -48,7 +48,7 @@ struct ListMenu { }; extern struct ListMenuTemplate gUnknown_03006310; -extern struct ListMenuTemplate gUnknown_3005E70; +extern struct ListMenuTemplate gMultiuseListMenuTemplate; // Exported ROM declarations @@ -56,9 +56,8 @@ u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2); s32 ListMenuHandleInput(u8 id); void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2); void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2); -void sub_810713C(u8, u16 *, u16 *); +void DestroyListMenu(u8, u16 *, u16 *); u16 ListMenuGetYCoordForPrintingArrowCursor(u8); void sub_8107D38(u8, u8); -void sub_8107D68(u8, u8, u8, u8); #endif //GUARD_LIST_MENU_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h index a04385b1d..e27fb4e5d 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -25,6 +25,6 @@ void sub_80BF7C8(void); u8 sub_80BF8E4(void); u8 sub_80BF848(s16 * a0, u16 a1); void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 arg2, u8 arg3, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc); -void sub_80BF5D0(u8 taskId, const struct WindowTemplate * unk1, u8 unk2, u8 unk3, u8 unk4, u8 unk5, u8 unk6, const TaskFunc *ptrs); +void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate * unk1, u8 unk2, u8 unk3, u8 unk4, u8 unk5, u8 unk6, const struct YesNoFuncTable *ptrs); #endif //GUARD_MENU_HELPERS_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 55537f21c..b17326667 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -29,6 +29,6 @@ void ResetBg0(void); void Menu_LoadStdPalAt(u16); void * malloc_and_decompress(const void * src, u32 * size); u16 sub_80F796C(void); -void sub_80F6B08(u8 bgId, u8 value, u8 height, u8 width, u8 x, u8 y); +void sub_80F6B08(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/strings.h b/include/strings.h index c2173242f..6af1b0d69 100644 --- a/include/strings.h +++ b/include/strings.h @@ -92,27 +92,27 @@ extern const u8 gText_Coins[]; extern const u8 gText_EggNickname[]; extern const u8 gText_Pokemon[]; -extern const u8 gUnknown_84161A0[]; -extern const u8 gUnknown_84161B2[]; -extern const u8 gUnknown_84161C8[]; -extern const u8 gUnknown_8416213[]; -extern const u8 gUnknown_8416226[]; +extern const u8 gOtherText_Use[]; +extern const u8 gOtherText_Give[]; +extern const u8 gOtherText_Exit[]; +extern const u8 gText_ThreeHyphens[]; +extern const u8 gOtherText_UnkF9_08_Clear_01[]; extern const u8 gFameCheckerText_ListMenuCursor[]; -extern const u8 gUnknown_84162B9[]; -extern const u8 gUnknown_8416301[]; -extern const u8 gUnknown_841632A[]; -extern const u8 gUnknown_841635E[]; -extern const u8 gUnknown_84166D3[]; -extern const u8 gUnknown_84166DB[]; -extern const u8 gUnknown_84166E1[]; -extern const u8 gUnknown_84166FF[]; -extern const u8 gUnknown_8416703[]; -extern const u8 gUnknown_84168F1[]; -extern const u8 gUnknown_8416911[]; -extern const u8 gUnknown_8416936[]; -extern const u8 gUnknown_8416959[]; -extern const u8 gUnknown_841C587[]; -extern const u8 gUnknown_841C693[]; -extern const u16 gUnknown_841F408[]; +extern const u8 gText_TimesStrVar1[]; +extern const u8 gText_IsSelected[]; +extern const u8 gText_ThereIsNoPokemon[]; +extern const u8 gText_ItemCantBeHeld[]; +extern const u8 gText_TMCase[]; +extern const u8 gText_Close[]; +extern const u8 gText_TMCaseWillBePutAway[]; +extern const u8 gText_FontSize0[]; +extern const u8 gText_FontSize2[]; +extern const u8 gText_OhNoICantBuyThat[]; +extern const u8 gText_HowManyWouldYouLikeToSell[]; +extern const u8 gText_ICanPayThisMuch_WouldThatBeOkay[]; +extern const u8 gText_TurnedOverItemsWorthYen[]; +extern const u8 gPokeDudeText_TMTypes[]; +extern const u8 gPokeDudeText_ReadTMDescription[]; +extern const u16 gTMCaseMainWindowPalette[]; #endif //GUARD_STRINGS_H diff --git a/include/teachy_tv.h b/include/teachy_tv.h index 382ad117d..374780c04 100644 --- a/include/teachy_tv.h +++ b/include/teachy_tv.h @@ -1,7 +1,7 @@ #ifndef GUARD_TEACHY_TV_H #define GUARD_TEACHY_TV_H -void sub_815ABFC(void); +void CB2_ReturnToTeachyTV(void); void sub_815AC20(void); #endif //GUARD_TEACHY_TV_H diff --git a/src/fame_checker.c b/src/fame_checker.c index e98795909..c47e52f06 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -853,7 +853,7 @@ static void Task_DestroyAssetsAndCloseFameChecker(u8 taskId) FreeQuestionMarkSpriteResources(); FreeListMenuSelectorArrowPairResources(); SetMainCallback2(sFameCheckerData->savedCallback); - sub_810713C(sFameCheckerData->listMenuTaskId, NULL, NULL); + DestroyListMenu(sFameCheckerData->listMenuTaskId, NULL, NULL); Free(sBg3TilemapBuffer); Free(sBg1TilemapBuffer); Free(sBg2TilemapBuffer); diff --git a/src/text.c b/src/text.c index d83b36f88..d74d77e2f 100644 --- a/src/text.c +++ b/src/text.c @@ -8,7 +8,7 @@ extern u8 gGlyphInfo[0x90]; extern u8 gUnknown_203ADFA; -extern u16 gUnknown_841F408[]; +extern u16 gTMCaseMainWindowPalette[]; extern const struct OamData gOamData_83AC9D0; extern void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); @@ -52,7 +52,7 @@ const struct SpriteSheet gUnknown_81EA68C[] = const struct SpritePalette gUnknown_81EA6A4[] = { - {gUnknown_841F408, 0x8000}, + {gTMCaseMainWindowPalette, 0x8000}, {NULL} }; diff --git a/src/tm_case.c b/src/tm_case.c index 94b3278ab..607b7fbdd 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -30,28 +30,30 @@ #include "constants/items.h" #include "constants/songs.h" +#define TM_CASE_TM_TAG 400 + struct UnkStruct_203B10C { - void (* unk_00)(void); - u8 unk_04; + void (* savedCallback)(void); + u8 tmCaseMenuType; u8 unk_05; u8 unk_06; - u16 unk_08; - u16 unk_0a; + u16 selectedRow; + u16 scrollOffset; }; struct UnkStruct_203B118 { - void (* unk_00)(void); - u8 unk_04; - u8 unk_05; - u8 unk_06; - u8 unk_07; - u8 unk_08; - u16 unk_0a; - const u8 * unk_0c; - u8 unk_10; - s16 unk_12; + void (* savedCallback)(void); + u8 tmSpriteId; + u8 maxTMsShown; + u8 numTMs; + u8 contextMenuWindowId; + u8 scrollIndicatorArrowPairId; + u16 currItem; + const u8 * menuActionIndices; + u8 numMenuActions; + s16 seqId; u8 filler_14[8]; }; @@ -63,77 +65,77 @@ struct UnkStruct_203B11C u16 unk_162; }; -static EWRAM_DATA struct UnkStruct_203B10C gUnknown_203B10C = {}; -static EWRAM_DATA struct UnkStruct_203B118 * gUnknown_203B118 = NULL; -static EWRAM_DATA struct UnkStruct_203B11C * gUnknown_203B11C = NULL; -static EWRAM_DATA void * gUnknown_203B120 = NULL; // tilemap buffer -static EWRAM_DATA struct ListMenuItem * gUnknown_203B124 = NULL; -static EWRAM_DATA u8 (* gUnknown_203B128)[29] = NULL; -static EWRAM_DATA u16 * gUnknown_203B12C = NULL; - -static void sub_8131894(void); -static bool8 sub_81318C0(void); -static void sub_8131A8C(void); -static void sub_8131AB8(void); -static bool8 sub_8131B20(void); -static void sub_8131C10(void); -static void sub_8131C50(void); +static EWRAM_DATA struct UnkStruct_203B10C sTMCaseStaticResources = {}; +static EWRAM_DATA struct UnkStruct_203B118 * sTMCaseDynamicResources = NULL; +static EWRAM_DATA struct UnkStruct_203B11C * sPokeDudePackBackup = NULL; +static EWRAM_DATA void * sTilemapBuffer = NULL; // tilemap buffer +static EWRAM_DATA struct ListMenuItem * sListMenuItemsBuffer = NULL; +static EWRAM_DATA u8 (* sListMenuStringsBuffer)[29] = NULL; +static EWRAM_DATA u16 * sTMSpritePaletteBuffer = NULL; + +static void CB2_SetUpTMCaseUI_Blocking(void); +static bool8 DoSetUpTMCaseUI(void); +static void ResetBufferPointers_NoFree(void); +static void LoadBGTemplates(void); +static bool8 HandleLoadTMCaseGraphicsAndPalettes(void); +static void CreateTMCaseListMenuBuffers(void); +static void InitTMCaseListMenuItems(void); static void GetTMNumberAndMoveString(u8 * dest, u16 itemId); -static void sub_8131E18(s32 itemIndex, bool8 onInit, struct ListMenu *list); -static void sub_8131E68(u8 windowId, s32 itemId, u8 y); -static void sub_8131F0C(s32 itemIndex); -static void sub_8131FB0(u8 a0, u8 a1); +static void TMCase_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void TMCase_ItemPrintFunc(u8 windowId, s32 itemId, u8 y); +static void TMCase_MoveCursor_UpdatePrintedDescription(s32 itemIndex); +static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1); static void sub_8132018(void); static void sub_81320BC(void); static void sub_8132120(void); static void sub_8132170(void); -static void sub_813226C(u8 taskId); -static void sub_81322D4(u8 taskId); -static void SelectTMAction_FromFieldBag(u8 taskId); -static void sub_8132568(u8 taskId); -static void sub_81325F0(u8 taskId); -static void sub_813265C(u8 taskId); -static void sub_81326F8(u8 taskId); -static void sub_8132714(u8 taskId); +static void Task_FadeOutAndCloseTMCase(u8 taskId); +static void Task_TMCaseMain(u8 taskId); +static void Task_SelectTMAction_FromFieldBag(u8 taskId); +static void Task_TMContextMenu_HandleInput(u8 taskId); +static void TMHMContextMenuAction_Use(u8 taskId); +static void TMHMContextMenuAction_Give(u8 taskId); +static void PrintError_ThereIsNoPokemon(u8 taskId); +static void PrintError_ItemCantBeHeld(u8 taskId); static void sub_8132758(u8 taskId); static void sub_8132780(u8 taskId); -static void sub_81327FC(u8 taskId); +static void TMHMContextMenuAction_Exit(u8 taskId); static void sub_8132868(u8 taskId); static void sub_81328B8(u8 taskId); -static void SelectTMAction_FromSellMenu(u8 taskId); -static void sub_81329C4(u8 taskId); -static void sub_8132A34(u8 taskId); -static void sub_8132A48(u8 taskId); -static void sub_8132AAC(u8 taskId); +static void Task_SelectTMAction_FromSellMenu(u8 taskId); +static void Task_AskConfirmSaleWithAmount(u8 taskId); +static void Task_PlaceYesNoBox(u8 taskId); +static void Task_SaleOfTMsCancelled(u8 taskId); +static void Task_InitQuantitySelectUI(u8 taskId); static void sub_8132B5C(s16 quantity, s32 value); static void sub_8132BC8(u8 taskId); -static void sub_8132CAC(u8 taskId); -static void sub_8132D34(u8 taskId); -static void sub_8132E0C(u8 taskId); -static void sub_8132F20(u8 taskId); -static void sub_8132F60(u8 taskId); -static void sub_8133244(void); -static void sub_81332EC(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); -static void sub_8133354(u8 windowId); -static void sub_8133368(u8 windowId); -static void sub_813337C(u8 taskId, u8 windowId, const u8 * str, TaskFunc func); -static void sub_81333C4(void); -static void sub_8133404(void); -static void sub_8133444(u16 itemId); -static void sub_81335B0(u8 windowId, u8 x, u8 y); -static void sub_81335E0(void); -static void sub_8133604(u8 taskId, const TaskFunc * ptrs); -static u8 sub_8133630(u8 * a0, u8 a1); -static void sub_8133664(u8 * a0); -static u8 sub_813368C(u16 itemId); -static void sub_8133714(struct Sprite * sprite, u8 var); -static void sub_8133730(u8 type); -static void sub_8133790(struct Sprite * sprite, u8 var); -static void sub_81337E4(u8 a0, u16 itemId); -static void sub_8133810(struct Sprite * sprite); -static void sub_81338A8(void); - -static const struct BgTemplate gUnknown_8463134[] = { +static void Task_PrintSaleConfirmedText(u8 taskId); +static void Task_DoSaleOfTMs(u8 taskId); +static void Task_AfterSale_ReturnToList(u8 taskId); +static void Task_TMCaseDude1(u8 taskId); +static void Task_TMCaseDude_Playback(u8 taskId); +static void InitWindowTemplatesAndPals(void); +static void AddTextPrinterParameterized_ColorByIndex(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); +static void TMCase_SetWindowBorder1(u8 windowId); +static void TMCase_SetWindowBorder2(u8 windowId); +static void TMCase_PrintMessageWithFollowupTask(u8 taskId, u8 windowId, const u8 * str, TaskFunc func); +static void PrintStringTMCaseOnWindow3(void); +static void DrawMoveInfoUIMarkers(void); +static void TMCase_MoveCursor_UpdatePrintedTMInfo(u16 itemId); +static void PlaceHMTileInWindow(u8 windowId, u8 x, u8 y); +static void HandlePrintMoneyOnHand(void); +static void HandleCreateYesNoMenu(u8 taskId, const struct YesNoFuncTable * ptrs); +static u8 AddTMContextMenu(u8 * a0, u8 a1); +static void RemoveTMContextMenu(u8 * a0); +static u8 CreateTMSprite(u16 itemId); +static void SetTMSpriteAnim(struct Sprite * sprite, u8 var); +static void TintTMSpriteByType(u8 type); +static void UpdateTMSpritePosition(struct Sprite * sprite, u8 var); +static void InitSelectedTMSpriteData(u8 a0, u16 itemId); +static void SpriteCB_MoveTMSpriteInCase(struct Sprite * sprite); +static void LoadTMTypePalettes(void); + +static const struct BgTemplate sBGTemplates[] = { { .bg = 0, .charBaseIndex = 0, @@ -161,36 +163,36 @@ static const struct BgTemplate gUnknown_8463134[] = { } }; -static void (*const gUnknown_8463140[])(u8 taskId) = { - SelectTMAction_FromFieldBag, +static void (*const sSelectTMActionTasks[])(u8 taskId) = { + Task_SelectTMAction_FromFieldBag, sub_8132868, - SelectTMAction_FromSellMenu, + Task_SelectTMAction_FromSellMenu, sub_81328B8 }; -static const struct MenuAction gUnknown_8463150[] = { - {gUnknown_84161A0, sub_81325F0}, - {gUnknown_84161B2, sub_813265C}, - {gUnknown_84161C8, sub_81327FC}, +static const struct MenuAction sMenuActions_UseGiveExit[] = { + {gOtherText_Use, TMHMContextMenuAction_Use }, + {gOtherText_Give, TMHMContextMenuAction_Give}, + {gOtherText_Exit, TMHMContextMenuAction_Exit}, }; -static const u8 gUnknown_8463168[] = {0, 1, 2}; -static const u8 gUnknown_846316B[] = {1, 2, 0}; -static const TaskFunc gUnknown_8463170[] = {sub_8132CAC, sub_8132A48}; +static const u8 sMenuActionIndices_Field[] = {0, 1, 2}; +static const u8 sMenuActionIndices_UnionRoom[] = {1, 2}; +static const struct YesNoFuncTable sYesNoFuncTable = {Task_PrintSaleConfirmedText, Task_SaleOfTMsCancelled}; -static const u8 gUnknown_8463178[] = _("{CLEAR_TO 18}"); -static const u8 gUnknown_846317C[] = _(" "); +static const u8 sText_ClearTo18[] = _("{CLEAR_TO 18}"); +static const u8 sText_SingleSpace[] = _(" "); -static ALIGNED(4) const u16 gUnknown_8463180[] = {RGB(8, 8, 8), RGB(30, 16, 6)}; +static ALIGNED(4) const u16 sPal3Override[] = {RGB(8, 8, 8), RGB(30, 16, 6)}; -static const struct TextColor gUnknown_8463184[] = { +static const struct TextColor sTextColors[] = { {0, 1, 2}, {0, 2, 3}, {0, 3, 6}, {0, 14, 10} }; -static const struct WindowTemplate gUnknown_8463190[] = { +static const struct WindowTemplate sWindowTemplates[] = { {0x00, 0x0a, 0x01, 0x13, 0x0a, 0x0f, 0x0081}, {0x00, 0x0c, 0x0c, 0x12, 0x08, 0x0a, 0x013f}, {0x01, 0x05, 0x0f, 0x0f, 0x04, 0x0d, 0x01f9}, @@ -203,88 +205,87 @@ static const struct WindowTemplate gUnknown_8463190[] = { DUMMY_WIN_TEMPLATE }; -static const struct WindowTemplate gUnknown_84631E0 = {0x01, 0x15, 0x09, 0x06, 0x04, 0x0f, 0x0335}; +static const struct WindowTemplate sYesNoWindowTemplate = {0x01, 0x15, 0x09, 0x06, 0x04, 0x0f, 0x0335}; -static const struct WindowTemplate gUnknown_84631E8[] = { +static const struct WindowTemplate sTMContextWindowTemplates[] = { {0x01, 0x16, 0x0d, 0x07, 0x06, 0x0f, 0x01cf}, {0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01cf} }; -static const struct OamData gOamData_84631F8 = { +static const struct OamData sTMSpriteOamData = { .size = 2, .priority = 2 }; -static const union AnimCmd gUnknown_8463200[] = { +static const union AnimCmd sTMSpriteAnim0[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END }; -static const union AnimCmd gUnknown_8463208[] = { +static const union AnimCmd sTMSpriteAnim1[] = { ANIMCMD_FRAME(16, 0), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_8463210[] = { - gUnknown_8463200, - gUnknown_8463208 +static const union AnimCmd *const sTMSpriteAnims[] = { + sTMSpriteAnim0, + sTMSpriteAnim1 }; -static const struct CompressedSpriteSheet gUnknown_8463218 = { - (const void *)gUnknown_8E84D90, +static const struct CompressedSpriteSheet sTMSpriteSheet = { + (const void *)gTMCase_TMSpriteGfx, 0x400, - 400 + TM_CASE_TM_TAG }; -static const struct SpriteTemplate gUnknown_8463220 = { - 400, - 400, - &gOamData_84631F8, - gUnknown_8463210, +static const struct SpriteTemplate sTMSpriteTemplate = { + TM_CASE_TM_TAG, + TM_CASE_TM_TAG, + &sTMSpriteOamData, + sTMSpriteAnims, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -static const u16 gUnknown_8463238[] = { - 0x000, - 0x090, - 0x080, - 0x0c0, - 0x060, - 0x050, - 0x0b0, - 0x0a0, - 0x0e0, - 0x000, - 0x010, - 0x020, - 0x030, - 0x040, - 0x0d0, - 0x070, - 0x100, - 0x0f0 +static const u16 sTMSpritePaletteOffsetByType[] = { + [TYPE_NORMAL] = 0x000, + [TYPE_FIRE] = 0x010, + [TYPE_WATER] = 0x020, + [TYPE_GRASS] = 0x030, + [TYPE_ELECTRIC] = 0x040, + [TYPE_ROCK] = 0x050, + [TYPE_GROUND] = 0x060, + [TYPE_ICE] = 0x070, + [TYPE_FLYING] = 0x080, + [TYPE_FIGHTING] = 0x090, + [TYPE_GHOST] = 0x0a0, + [TYPE_BUG] = 0x0b0, + [TYPE_POISON] = 0x0c0, + [TYPE_PSYCHIC] = 0x0d0, + [TYPE_STEEL] = 0x0e0, + [TYPE_DARK] = 0x0f0, + [TYPE_DRAGON] = 0x100 }; -void InitTMCase(u8 a0, void (* a1)(void), u8 a2) -{ - sub_8131A8C(); - gUnknown_203B118 = Alloc(sizeof(struct UnkStruct_203B118)); - gUnknown_203B118->unk_00 = 0; - gUnknown_203B118->unk_08 = 0xFF; - gUnknown_203B118->unk_07 = 0xFF; - if (a0 != 5) - gUnknown_203B10C.unk_04 = a0; - if (a1 != NULL) - gUnknown_203B10C.unk_00 = a1; +void InitTMCase(u8 type, void (* callback)(void), u8 a2) +{ + ResetBufferPointers_NoFree(); + sTMCaseDynamicResources = Alloc(sizeof(struct UnkStruct_203B118)); + sTMCaseDynamicResources->savedCallback = 0; + sTMCaseDynamicResources->scrollIndicatorArrowPairId = 0xFF; + sTMCaseDynamicResources->contextMenuWindowId = 0xFF; + if (type != 5) + sTMCaseStaticResources.tmCaseMenuType = type; + if (callback != NULL) + sTMCaseStaticResources.savedCallback = callback; if (a2 != 0xFF) - gUnknown_203B10C.unk_05 = a2; + sTMCaseStaticResources.unk_05 = a2; gTextFlags.flag_2 = FALSE; - SetMainCallback2(sub_8131894); + SetMainCallback2(CB2_SetUpTMCaseUI_Blocking); } -static void sub_8131864(void) +static void CB2_Idle(void) { RunTasks(); AnimateSprites(); @@ -293,27 +294,27 @@ static void sub_8131864(void) UpdatePaletteFade(); } -static void sub_8131880(void) +static void VBlankCB_Idle(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -static void sub_8131894(void) +static void CB2_SetUpTMCaseUI_Blocking(void) { while (1) { if (sub_80BF72C() == TRUE) break; - if (sub_81318C0() == TRUE) + if (DoSetUpTMCaseUI() == TRUE) break; if (sub_80BF708() == TRUE) break; } } -static bool8 sub_81318C0(void) +static bool8 DoSetUpTMCaseUI(void) { u8 taskId; @@ -345,16 +346,16 @@ static bool8 sub_81318C0(void) gMain.state++; break; case 6: - sub_8131AB8(); - gUnknown_203B118->unk_12 = 0; + LoadBGTemplates(); + sTMCaseDynamicResources->seqId = 0; gMain.state++; break; case 7: - sub_8133244(); + InitWindowTemplatesAndPals(); gMain.state++; break; case 8: - if (sub_8131B20()) + if (HandleLoadTMCaseGraphicsAndPalettes()) gMain.state++; break; case 9: @@ -368,24 +369,24 @@ static bool8 sub_81318C0(void) gMain.state++; break; case 11: - sub_8133404(); + DrawMoveInfoUIMarkers(); gMain.state++; break; case 12: - sub_8131C10(); - sub_8131C50(); + CreateTMCaseListMenuBuffers(); + InitTMCaseListMenuItems(); gMain.state++; break; case 13: - sub_81333C4(); + PrintStringTMCaseOnWindow3(); gMain.state++; break; case 14: - if (gUnknown_203B10C.unk_04 == 4) - taskId = CreateTask(sub_8132F20, 0); + if (sTMCaseStaticResources.tmCaseMenuType == 4) + taskId = CreateTask(Task_TMCaseDude1, 0); else - taskId = CreateTask(sub_81322D4, 0); - gTasks[taskId].data[0] = ListMenuInit(&gUnknown_3005E70, gUnknown_203B10C.unk_0a, gUnknown_203B10C.unk_08); + taskId = CreateTask(Task_TMCaseMain, 0); + gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sTMCaseStaticResources.scrollOffset, sTMCaseStaticResources.selectedRow); gMain.state++; break; case 15: @@ -393,7 +394,7 @@ static bool8 sub_81318C0(void) gMain.state++; break; case 16: - gUnknown_203B118->unk_04 = sub_813368C(sub_809A798(POCKET_TM_CASE, gUnknown_203B10C.unk_0a + gUnknown_203B10C.unk_08)); + sTMCaseDynamicResources->tmSpriteId = CreateTMSprite(BagGetItemIdByPocketPosition(POCKET_TM_CASE, sTMCaseStaticResources.scrollOffset + sTMCaseStaticResources.selectedRow)); gMain.state++; break; case 17: @@ -405,31 +406,31 @@ static bool8 sub_81318C0(void) gMain.state++; break; default: - SetVBlankCallback(sub_8131880); - SetMainCallback2(sub_8131864); + SetVBlankCallback(VBlankCB_Idle); + SetMainCallback2(CB2_Idle); return TRUE; } return FALSE; } -static void sub_8131A8C(void) +static void ResetBufferPointers_NoFree(void) { - gUnknown_203B118 = NULL; - gUnknown_203B120 = NULL; - gUnknown_203B124 = NULL; - gUnknown_203B128 = NULL; - gUnknown_203B12C = NULL; + sTMCaseDynamicResources = NULL; + sTilemapBuffer = NULL; + sListMenuItemsBuffer = NULL; + sListMenuStringsBuffer = NULL; + sTMSpritePaletteBuffer = NULL; } -static void sub_8131AB8(void) +static void LoadBGTemplates(void) { void ** ptr; sub_80BF7C8(); - ptr = &gUnknown_203B120; + ptr = &sTilemapBuffer; *ptr = AllocZeroed(0x800); ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_8463134, NELEMS(gUnknown_8463134)); + InitBgsFromTemplates(0, sBGTemplates, NELEMS(sBGTemplates)); SetBgTilemapBuffer(2, *ptr); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); @@ -440,170 +441,170 @@ static void sub_8131AB8(void) ShowBg(2); } -static bool8 sub_8131B20(void) +static bool8 HandleLoadTMCaseGraphicsAndPalettes(void) { - switch (gUnknown_203B118->unk_12) + switch (sTMCaseDynamicResources->seqId) { case 0: reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(1, gUnknown_8E845D8, 0, 0, 0); - gUnknown_203B118->unk_12++; + sTMCaseDynamicResources->seqId++; break; case 1: if (free_temp_tile_data_buffers_if_possible() != TRUE) { - LZDecompressWram(gUnknown_8E84A24, gUnknown_203B120); - gUnknown_203B118->unk_12++; + LZDecompressWram(gUnknown_8E84A24, sTilemapBuffer); + sTMCaseDynamicResources->seqId++; } break; case 2: LZDecompressWram(gUnknown_8E84B70, GetBgTilemapBuffer(1)); - gUnknown_203B118->unk_12++; + sTMCaseDynamicResources->seqId++; break; case 3: if (gSaveBlock2Ptr->playerGender == MALE) LoadCompressedPalette(gUnknown_8E84CB0, 0, 0x80); else LoadCompressedPalette(gUnknown_8E84D20, 0, 0x80); - gUnknown_203B118->unk_12++; + sTMCaseDynamicResources->seqId++; break; case 4: - LoadCompressedObjectPic(&gUnknown_8463218); - gUnknown_203B118->unk_12++; + LoadCompressedObjectPic(&sTMSpriteSheet); + sTMCaseDynamicResources->seqId++; break; default: - sub_81338A8(); - gUnknown_203B118->unk_12 = 0; + LoadTMTypePalettes(); + sTMCaseDynamicResources->seqId = 0; return TRUE; } return FALSE; } -static void sub_8131C10(void) +static void CreateTMCaseListMenuBuffers(void) { struct BagPocket * pocket = &gBagPockets[POCKET_TM_CASE - 1]; - gUnknown_203B124 = Alloc((pocket->capacity + 1) * sizeof(struct ListMenuItem)); - gUnknown_203B128 = Alloc(gUnknown_203B118->unk_06 * 29); + sListMenuItemsBuffer = Alloc((pocket->capacity + 1) * sizeof(struct ListMenuItem)); + sListMenuStringsBuffer = Alloc(sTMCaseDynamicResources->numTMs * 29); } -static void sub_8131C50(void) +static void InitTMCaseListMenuItems(void) { struct BagPocket * pocket = &gBagPockets[POCKET_TM_CASE - 1]; u16 i; - for (i = 0; i < gUnknown_203B118->unk_06; i++) + for (i = 0; i < sTMCaseDynamicResources->numTMs; i++) { - GetTMNumberAndMoveString(gUnknown_203B128[i], pocket->itemSlots[i].itemId); - gUnknown_203B124[i].unk_00 = gUnknown_203B128[i]; - gUnknown_203B124[i].unk_04 = i; + GetTMNumberAndMoveString(sListMenuStringsBuffer[i], pocket->itemSlots[i].itemId); + sListMenuItemsBuffer[i].unk_00 = sListMenuStringsBuffer[i]; + sListMenuItemsBuffer[i].unk_04 = i; } - gUnknown_203B124[i].unk_00 = gUnknown_84166DB; - gUnknown_203B124[i].unk_04 = -2; - gUnknown_3005E70.items = gUnknown_203B124; - gUnknown_3005E70.totalItems = gUnknown_203B118->unk_06 + 1; - gUnknown_3005E70.windowId = 0; - gUnknown_3005E70.header_X = 0; - gUnknown_3005E70.item_X = 8; - gUnknown_3005E70.cursor_X = 0; - gUnknown_3005E70.lettersSpacing = 0; - gUnknown_3005E70.itemVerticalPadding = 2; - gUnknown_3005E70.upText_Y = 2; - gUnknown_3005E70.maxShowed = gUnknown_203B118->unk_05; - gUnknown_3005E70.fontId = 2; - gUnknown_3005E70.cursorPal = 2; - gUnknown_3005E70.fillValue = 0; - gUnknown_3005E70.cursorShadowPal = 3; - gUnknown_3005E70.moveCursorFunc = sub_8131E18; - gUnknown_3005E70.itemPrintFunc = sub_8131E68; - gUnknown_3005E70.cursorKind = 0; - gUnknown_3005E70.scrollMultiple = 0; + sListMenuItemsBuffer[i].unk_00 = gText_Close; + sListMenuItemsBuffer[i].unk_04 = -2; + gMultiuseListMenuTemplate.items = sListMenuItemsBuffer; + gMultiuseListMenuTemplate.totalItems = sTMCaseDynamicResources->numTMs + 1; + gMultiuseListMenuTemplate.windowId = 0; + gMultiuseListMenuTemplate.header_X = 0; + gMultiuseListMenuTemplate.item_X = 8; + gMultiuseListMenuTemplate.cursor_X = 0; + gMultiuseListMenuTemplate.lettersSpacing = 0; + gMultiuseListMenuTemplate.itemVerticalPadding = 2; + gMultiuseListMenuTemplate.upText_Y = 2; + gMultiuseListMenuTemplate.maxShowed = sTMCaseDynamicResources->maxTMsShown; + gMultiuseListMenuTemplate.fontId = 2; + gMultiuseListMenuTemplate.cursorPal = 2; + gMultiuseListMenuTemplate.fillValue = 0; + gMultiuseListMenuTemplate.cursorShadowPal = 3; + gMultiuseListMenuTemplate.moveCursorFunc = TMCase_MoveCursorFunc; + gMultiuseListMenuTemplate.itemPrintFunc = TMCase_ItemPrintFunc; + gMultiuseListMenuTemplate.cursorKind = 0; + gMultiuseListMenuTemplate.scrollMultiple = 0; } static void GetTMNumberAndMoveString(u8 * dest, u16 itemId) { - StringCopy(gStringVar4, gUnknown_84166FF); + StringCopy(gStringVar4, gText_FontSize0); if (itemId >= ITEM_HM01) { - StringAppend(gStringVar4, gUnknown_8463178); - StringAppend(gStringVar4, gUnknown_8416226); + StringAppend(gStringVar4, sText_ClearTo18); + StringAppend(gStringVar4, gOtherText_UnkF9_08_Clear_01); ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_HM01 + 1, STR_CONV_MODE_LEADING_ZEROS, 1); StringAppend(gStringVar4, gStringVar1); } else { - StringAppend(gStringVar4, gUnknown_8416226); + StringAppend(gStringVar4, gOtherText_UnkF9_08_Clear_01); ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_TM01 + 1, STR_CONV_MODE_LEADING_ZEROS, 2); StringAppend(gStringVar4, gStringVar1); } - StringAppend(gStringVar4, gUnknown_846317C); - StringAppend(gStringVar4, gUnknown_8416703); + StringAppend(gStringVar4, sText_SingleSpace); + StringAppend(gStringVar4, gText_FontSize2); StringAppend(gStringVar4, gMoveNames[ItemIdToBattleMoveId(itemId)]); StringCopy(dest, gStringVar4); } -static void sub_8131E18(s32 itemIndex, bool8 onInit, struct ListMenu *list) +static void TMCase_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) { u16 itemId; if (itemIndex == -2) itemId = 0; else - itemId = sub_809A798(POCKET_TM_CASE, itemIndex); + itemId = BagGetItemIdByPocketPosition(POCKET_TM_CASE, itemIndex); if (onInit != TRUE) { PlaySE(SE_SELECT); - sub_81337E4(gUnknown_203B118->unk_04, itemId); + InitSelectedTMSpriteData(sTMCaseDynamicResources->tmSpriteId, itemId); } - sub_8131F0C(itemIndex); - sub_8133444(itemId); + TMCase_MoveCursor_UpdatePrintedDescription(itemIndex); + TMCase_MoveCursor_UpdatePrintedTMInfo(itemId); } -static void sub_8131E68(u8 windowId, s32 itemId, u8 y) +static void TMCase_ItemPrintFunc(u8 windowId, s32 itemId, u8 y) { if (itemId != -2) { - if (!itemid_is_unique(sub_809A798(POCKET_TM_CASE, itemId))) + if (!itemid_is_unique(BagGetItemIdByPocketPosition(POCKET_TM_CASE, itemId))) { - ConvertIntToDecimalStringN(gStringVar1, sub_809A7B4(POCKET_TM_CASE, itemId), STR_CONV_MODE_RIGHT_ALIGN, 3); - StringExpandPlaceholders(gStringVar4, gUnknown_84162B9); - sub_81332EC(windowId, 0, gStringVar4, 0x7E, y, 0, 0, 0xFF, 1); + ConvertIntToDecimalStringN(gStringVar1, BagGetQuantityByPocketPosition(POCKET_TM_CASE, itemId), STR_CONV_MODE_RIGHT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + AddTextPrinterParameterized_ColorByIndex(windowId, 0, gStringVar4, 0x7E, y, 0, 0, 0xFF, 1); } else { - sub_81335B0(windowId, 8, y); + PlaceHMTileInWindow(windowId, 8, y); } } } -static void sub_8131F0C(s32 itemIndex) +static void TMCase_MoveCursor_UpdatePrintedDescription(s32 itemIndex) { const u8 * str; if (itemIndex != -2) { - str = ItemId_GetDescription(sub_809A798(POCKET_TM_CASE, itemIndex)); + str = ItemId_GetDescription(BagGetItemIdByPocketPosition(POCKET_TM_CASE, itemIndex)); } else { - str = gUnknown_84166E1; + str = gText_TMCaseWillBePutAway; } FillWindowPixelBuffer(1, 0); - sub_81332EC(1, 2, str, 2, 3, 1, 0, 0, 0); + AddTextPrinterParameterized_ColorByIndex(1, 2, str, 2, 3, 1, 0, 0, 0); } -static void sub_8131F64(s32 a0) +static void FillBG2RowWithPalette_2timesNplus1(s32 a0) { sub_80F6B08(2, 0, 12, 30, 8, 2 * a0 + 1); schedule_bg_copy_tilemap_to_vram(2); } -static void sub_8131F90(u8 a0, u8 a1) +static void PrintListMenuCursorByID_WithColorIdx(u8 a0, u8 a1) { - sub_8131FB0(ListMenuGetYCoordForPrintingArrowCursor(a0), a1); + PrintListMenuCursorAt_WithColorIdx(ListMenuGetYCoordForPrintingArrowCursor(a0), a1); } -static void sub_8131FB0(u8 a0, u8 a1) +static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1) { if (a1 == 0xFF) { @@ -612,34 +613,34 @@ static void sub_8131FB0(u8 a0, u8 a1) } else { - sub_81332EC(0, 2, gFameCheckerText_ListMenuCursor, 0, a0, 0, 0, 0, a1); + AddTextPrinterParameterized_ColorByIndex(0, 2, gFameCheckerText_ListMenuCursor, 0, a0, 0, 0, 0, a1); } } static void sub_8132018(void) { - gUnknown_203B118->unk_08 = AddScrollIndicatorArrowPairParametrized(2, 0xA0, 0x08, 0x58, gUnknown_203B118->unk_06 - gUnknown_203B118->unk_05 + 1, 0x6E, 0x6E, &gUnknown_203B10C.unk_0a); + sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParametrized(2, 0xA0, 0x08, 0x58, sTMCaseDynamicResources->numTMs - sTMCaseDynamicResources->maxTMsShown + 1, 0x6E, 0x6E, &sTMCaseStaticResources.scrollOffset); } static void sub_8132054(void) { - gUnknown_203B118->unk_0a = 1; - gUnknown_203B118->unk_08 = AddScrollIndicatorArrowPairParametrized(2, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &gUnknown_203B118->unk_0a); + sTMCaseDynamicResources->currItem = 1; + sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParametrized(2, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &sTMCaseDynamicResources->currItem); } -static void sub_813208C(void) +static void RemoveTMCaseScrollIndicatorArrowPair(void) { - if (gUnknown_203B118->unk_08 != 0xFF) + if (sTMCaseDynamicResources->scrollIndicatorArrowPairId != 0xFF) { - RemoveScrollIndicatorArrowPair(gUnknown_203B118->unk_08); - gUnknown_203B118->unk_08 = 0xFF; + RemoveScrollIndicatorArrowPair(sTMCaseDynamicResources->scrollIndicatorArrowPairId); + sTMCaseDynamicResources->scrollIndicatorArrowPairId = 0xFF; } } void ResetTMCaseCursorPos(void) { - gUnknown_203B10C.unk_08 = 0; - gUnknown_203B10C.unk_0a = 0; + sTMCaseStaticResources.selectedRow = 0; + sTMCaseStaticResources.scrollOffset = 0; } static void sub_81320BC(void) @@ -648,85 +649,85 @@ static void sub_81320BC(void) u16 i; sub_809A584(pocket->itemSlots, pocket->capacity); - gUnknown_203B118->unk_06 = 0; + sTMCaseDynamicResources->numTMs = 0; for (i = 0; i < pocket->capacity; i++) { if (pocket->itemSlots[i].itemId == ITEM_NONE) break; - gUnknown_203B118->unk_06++; + sTMCaseDynamicResources->numTMs++; } - gUnknown_203B118->unk_05 = min(gUnknown_203B118->unk_06 + 1, 5); + sTMCaseDynamicResources->maxTMsShown = min(sTMCaseDynamicResources->numTMs + 1, 5); } static void sub_8132120(void) { - if (gUnknown_203B10C.unk_0a != 0) + if (sTMCaseStaticResources.scrollOffset != 0) { - if (gUnknown_203B10C.unk_0a + gUnknown_203B118->unk_05 > gUnknown_203B118->unk_06 + 1) - gUnknown_203B10C.unk_0a = gUnknown_203B118->unk_06 + 1 - gUnknown_203B118->unk_05; + if (sTMCaseStaticResources.scrollOffset + sTMCaseDynamicResources->maxTMsShown > sTMCaseDynamicResources->numTMs + 1) + sTMCaseStaticResources.scrollOffset = sTMCaseDynamicResources->numTMs + 1 - sTMCaseDynamicResources->maxTMsShown; } - if (gUnknown_203B10C.unk_0a + gUnknown_203B10C.unk_08 >= gUnknown_203B118->unk_06 + 1) + if (sTMCaseStaticResources.scrollOffset + sTMCaseStaticResources.selectedRow >= sTMCaseDynamicResources->numTMs + 1) { - if (gUnknown_203B118->unk_06 + 1 < 2) - gUnknown_203B10C.unk_08 = 0; + if (sTMCaseDynamicResources->numTMs + 1 < 2) + sTMCaseStaticResources.selectedRow = 0; else - gUnknown_203B10C.unk_08 = gUnknown_203B118->unk_06; + sTMCaseStaticResources.selectedRow = sTMCaseDynamicResources->numTMs; } } static void sub_8132170(void) { u8 i; - if (gUnknown_203B10C.unk_08 > 3) + if (sTMCaseStaticResources.selectedRow > 3) { - for (i = 0; i <= gUnknown_203B10C.unk_08 - 3 && gUnknown_203B10C.unk_0a + gUnknown_203B118->unk_05 != gUnknown_203B118->unk_06 + 1; i++) + for (i = 0; i <= sTMCaseStaticResources.selectedRow - 3 && sTMCaseStaticResources.scrollOffset + sTMCaseDynamicResources->maxTMsShown != sTMCaseDynamicResources->numTMs + 1; i++) { do {} while (0); - gUnknown_203B10C.unk_08--; - gUnknown_203B10C.unk_0a++; + sTMCaseStaticResources.selectedRow--; + sTMCaseStaticResources.scrollOffset++; } } } -static void sub_81321D4(void) +static void DestroyTMCaseBuffers(void) { - if (gUnknown_203B118 != NULL) - Free(gUnknown_203B118); - if (gUnknown_203B120 != NULL) - Free(gUnknown_203B120); - if (gUnknown_203B124 != NULL) - Free(gUnknown_203B124); - if (gUnknown_203B128 != NULL) - Free(gUnknown_203B128); - if (gUnknown_203B12C != NULL) - Free(gUnknown_203B12C); + if (sTMCaseDynamicResources != NULL) + Free(sTMCaseDynamicResources); + if (sTilemapBuffer != NULL) + Free(sTilemapBuffer); + if (sListMenuItemsBuffer != NULL) + Free(sListMenuItemsBuffer); + if (sListMenuStringsBuffer != NULL) + Free(sListMenuStringsBuffer); + if (sTMSpritePaletteBuffer != NULL) + Free(sTMSpritePaletteBuffer); FreeAllWindowBuffers(); } -static void sub_8132230(u8 taskId) +static void Task_BeginFadeOutFromTMCase(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); - gTasks[taskId].func = sub_813226C; + gTasks[taskId].func = Task_FadeOutAndCloseTMCase; } -static void sub_813226C(u8 taskId) +static void Task_FadeOutAndCloseTMCase(u8 taskId) { s16 * data = gTasks[taskId].data; if (!gPaletteFade.active) { - sub_810713C(data[0], &gUnknown_203B10C.unk_0a, &gUnknown_203B10C.unk_08); - if (gUnknown_203B118->unk_00 != NULL) - SetMainCallback2(gUnknown_203B118->unk_00); + DestroyListMenu(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); + if (sTMCaseDynamicResources->savedCallback != NULL) + SetMainCallback2(sTMCaseDynamicResources->savedCallback); else - SetMainCallback2(gUnknown_203B10C.unk_00); - sub_813208C(); - sub_81321D4(); + SetMainCallback2(sTMCaseStaticResources.savedCallback); + RemoveTMCaseScrollIndicatorArrowPair(); + DestroyTMCaseBuffers(); DestroyTask(taskId); } } -static void sub_81322D4(u8 taskId) +static void Task_TMCaseMain(u8 taskId) { s16 * data = gTasks[taskId].data; s32 input; @@ -736,12 +737,12 @@ static void sub_81322D4(u8 taskId) if (sub_80BF72C() != TRUE) { input = ListMenuHandleInput(data[0]); - get_coro_args_x18_x1A(data[0], &gUnknown_203B10C.unk_0a, &gUnknown_203B10C.unk_08); - if (JOY_NEW(SELECT_BUTTON) && gUnknown_203B10C.unk_05 == 1) + get_coro_args_x18_x1A(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); + if (JOY_NEW(SELECT_BUTTON) && sTMCaseStaticResources.unk_05 == 1) { PlaySE(SE_SELECT); gSpecialVar_ItemId = ITEM_NONE; - sub_8132230(taskId); + Task_BeginFadeOutFromTMCase(taskId); } else { @@ -752,17 +753,17 @@ static void sub_81322D4(u8 taskId) case -2: PlaySE(SE_SELECT); gSpecialVar_ItemId = 0; - sub_8132230(taskId); + Task_BeginFadeOutFromTMCase(taskId); break; default: PlaySE(SE_SELECT); - sub_8131F64(1); - sub_813208C(); - sub_8131F90(data[0], 2); + FillBG2RowWithPalette_2timesNplus1(1); + RemoveTMCaseScrollIndicatorArrowPair(); + PrintListMenuCursorByID_WithColorIdx(data[0], 2); data[1] = input; - data[2] = sub_809A7B4(POCKET_TM_CASE, input); - gSpecialVar_ItemId = sub_809A798(POCKET_TM_CASE, input); - gTasks[taskId].func = gUnknown_8463140[gUnknown_203B10C.unk_04]; + data[2] = BagGetQuantityByPocketPosition(POCKET_TM_CASE, input); + gSpecialVar_ItemId = BagGetItemIdByPocketPosition(POCKET_TM_CASE, input); + gTasks[taskId].func = sSelectTMActionTasks[sTMCaseStaticResources.tmCaseMenuType]; break; } } @@ -770,47 +771,47 @@ static void sub_81322D4(u8 taskId) } } -static void sub_81323E4(u8 taskId) +static void Subtask_ReturnToTMCaseMain(u8 taskId) { - sub_8131F64(0); + FillBG2RowWithPalette_2timesNplus1(0); sub_8132018(); - gTasks[taskId].func = sub_81322D4; + gTasks[taskId].func = Task_TMCaseMain; } -static void SelectTMAction_FromFieldBag(u8 taskId) +static void Task_SelectTMAction_FromFieldBag(u8 taskId) { u8 * strbuf; - sub_8133368(2); + TMCase_SetWindowBorder2(2); if (!sub_80BF708() && InUnionRoom() != TRUE) { - sub_8133630(&gUnknown_203B118->unk_07, 0); - gUnknown_203B118->unk_0c = gUnknown_8463168; - gUnknown_203B118->unk_10 = 3; + AddTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId, 0); + sTMCaseDynamicResources->menuActionIndices = sMenuActionIndices_Field; + sTMCaseDynamicResources->numMenuActions = NELEMS(sMenuActionIndices_Field); } else { - sub_8133630(&gUnknown_203B118->unk_07, 1); - gUnknown_203B118->unk_0c = gUnknown_846316B; - gUnknown_203B118->unk_10 = 2; + AddTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId, 1); + sTMCaseDynamicResources->menuActionIndices = sMenuActionIndices_UnionRoom; + sTMCaseDynamicResources->numMenuActions = NELEMS(sMenuActionIndices_UnionRoom); } - AddItemMenuActionTextPrinters(gUnknown_203B118->unk_07, 2, GetMenuCursorDimensionByFont(2, 0), 2, 0, GetFontAttribute(2, 1) + 2, gUnknown_203B118->unk_10, gUnknown_8463150, gUnknown_203B118->unk_0c); - ProgramAndPlaceMenuCursorOnWindow(gUnknown_203B118->unk_07, 2, 0, 2, GetFontAttribute(2, 1) + 2, gUnknown_203B118->unk_10, 0); + AddItemMenuActionTextPrinters(sTMCaseDynamicResources->contextMenuWindowId, 2, GetMenuCursorDimensionByFont(2, 0), 2, 0, GetFontAttribute(2, 1) + 2, sTMCaseDynamicResources->numMenuActions, sMenuActions_UseGiveExit, sTMCaseDynamicResources->menuActionIndices); + ProgramAndPlaceMenuCursorOnWindow(sTMCaseDynamicResources->contextMenuWindowId, 2, 0, 2, GetFontAttribute(2, 1) + 2, sTMCaseDynamicResources->numMenuActions, 0); strbuf = Alloc(256); GetTMNumberAndMoveString(strbuf, gSpecialVar_ItemId); - StringAppend(strbuf, gUnknown_8416301); - sub_81332EC(2, 2, strbuf, 0, 2, 1, 0, 0, 1); + StringAppend(strbuf, gText_IsSelected); + AddTextPrinterParameterized_ColorByIndex(2, 2, strbuf, 0, 2, 1, 0, 0, 1); Free(strbuf); if (itemid_is_unique(gSpecialVar_ItemId)) { - sub_81335B0(2, 0, 2); + PlaceHMTileInWindow(2, 0, 2); CopyWindowToVram(2, 2); } schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); - gTasks[taskId].func = sub_8132568; + gTasks[taskId].func = Task_TMContextMenu_HandleInput; } -static void sub_8132568(u8 taskId) +static void Task_TMContextMenu_HandleInput(u8 taskId) { s8 input; @@ -821,21 +822,21 @@ static void sub_8132568(u8 taskId) { case -1: PlaySE(SE_SELECT); - gUnknown_8463150[gUnknown_203B118->unk_0c[gUnknown_203B118->unk_10 - 1]].func.void_u8(taskId); + sMenuActions_UseGiveExit[sTMCaseDynamicResources->menuActionIndices[sTMCaseDynamicResources->numMenuActions - 1]].func.void_u8(taskId); break; case -2: break; default: PlaySE(SE_SELECT); - gUnknown_8463150[gUnknown_203B118->unk_0c[input]].func.void_u8(taskId); + sMenuActions_UseGiveExit[sTMCaseDynamicResources->menuActionIndices[input]].func.void_u8(taskId); break; } } } -static void sub_81325F0(u8 taskId) +static void TMHMContextMenuAction_Use(u8 taskId) { - sub_8133664(&gUnknown_203B118->unk_07); + RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); sub_810F4D8(2, 0); ClearWindowTilemap(2); PutWindowTilemap(0); @@ -843,21 +844,21 @@ static void sub_81325F0(u8 taskId) schedule_bg_copy_tilemap_to_vram(1); if (CalculatePlayerPartyCount() == 0) { - sub_81326F8(taskId); + PrintError_ThereIsNoPokemon(taskId); } else { gUnknown_3005E98 = sub_8125B40; - gUnknown_203B118->unk_00 = sub_8124C8C; - sub_8132230(taskId); + sTMCaseDynamicResources->savedCallback = sub_8124C8C; + Task_BeginFadeOutFromTMCase(taskId); } } -static void sub_813265C(u8 taskId) +static void TMHMContextMenuAction_Give(u8 taskId) { s16 * data = gTasks[taskId].data; - u16 itemId = sub_809A798(POCKET_TM_CASE, data[1]); - sub_8133664(&gUnknown_203B118->unk_07); + u16 itemId = BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1]); + RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); sub_810F4D8(2, 0); ClearWindowTilemap(2); PutWindowTilemap(1); @@ -869,30 +870,30 @@ static void sub_813265C(u8 taskId) { if (CalculatePlayerPartyCount() == 0) { - sub_81326F8(taskId); + PrintError_ThereIsNoPokemon(taskId); } else { - gUnknown_203B118->unk_00 = sub_8126EDC; - sub_8132230(taskId); + sTMCaseDynamicResources->savedCallback = sub_8126EDC; + Task_BeginFadeOutFromTMCase(taskId); } } else { - sub_8132714(taskId); + PrintError_ItemCantBeHeld(taskId); } } -static void sub_81326F8(u8 taskId) +static void PrintError_ThereIsNoPokemon(u8 taskId) { - sub_813337C(taskId, 2, gUnknown_841632A, sub_8132758); + TMCase_PrintMessageWithFollowupTask(taskId, 2, gText_ThereIsNoPokemon, sub_8132758); } -static void sub_8132714(u8 taskId) +static void PrintError_ItemCantBeHeld(u8 taskId) { CopyItemName(gSpecialVar_ItemId, gStringVar1); - StringExpandPlaceholders(gStringVar4, gUnknown_841635E); - sub_813337C(taskId, 2, gStringVar4, sub_8132758); + StringExpandPlaceholders(gStringVar4, gText_ItemCantBeHeld); + TMCase_PrintMessageWithFollowupTask(taskId, 2, gStringVar4, sub_8132758); } static void sub_8132758(u8 taskId) @@ -908,9 +909,9 @@ static void sub_8132780(u8 taskId) { s16 * data = gTasks[taskId].data; - sub_810713C(data[0], &gUnknown_203B10C.unk_0a, &gUnknown_203B10C.unk_08); - data[0] = ListMenuInit(&gUnknown_3005E70, gUnknown_203B10C.unk_0a, gUnknown_203B10C.unk_08); - sub_8131F90(data[0], 1); + DestroyListMenu(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sTMCaseStaticResources.scrollOffset, sTMCaseStaticResources.selectedRow); + PrintListMenuCursorByID_WithColorIdx(data[0], 1); sub_810F260(6, 0); ClearWindowTilemap(6); PutWindowTilemap(1); @@ -918,38 +919,38 @@ static void sub_8132780(u8 taskId) PutWindowTilemap(5); schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); - sub_81323E4(taskId); + Subtask_ReturnToTMCaseMain(taskId); } -static void sub_81327FC(u8 taskId) +static void TMHMContextMenuAction_Exit(u8 taskId) { s16 * data = gTasks[taskId].data; - sub_8133664(&gUnknown_203B118->unk_07); + RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); sub_810F4D8(2, 0); ClearWindowTilemap(2); PutWindowTilemap(0); - sub_8131F90(data[0], 1); + PrintListMenuCursorByID_WithColorIdx(data[0], 1); PutWindowTilemap(1); PutWindowTilemap(4); PutWindowTilemap(5); schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); - sub_81323E4(taskId); + Subtask_ReturnToTMCaseMain(taskId); } static void sub_8132868(u8 taskId) { s16 * data = gTasks[taskId].data; - if (!itemid_is_unique(sub_809A798(POCKET_TM_CASE, data[1]))) + if (!itemid_is_unique(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1]))) { - gUnknown_203B118->unk_00 = c2_8123744; - sub_8132230(taskId); + sTMCaseDynamicResources->savedCallback = c2_8123744; + Task_BeginFadeOutFromTMCase(taskId); } else { - sub_8132714(taskId); + PrintError_ItemCantBeHeld(taskId); } } @@ -957,61 +958,61 @@ static void sub_81328B8(u8 taskId) { s16 * data = gTasks[taskId].data; - if (!itemid_is_unique(sub_809A798(POCKET_TM_CASE, data[1]))) + if (!itemid_is_unique(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1]))) { - gUnknown_203B118->unk_00 = sub_808CE60; - sub_8132230(taskId); + sTMCaseDynamicResources->savedCallback = sub_808CE60; + Task_BeginFadeOutFromTMCase(taskId); } else { - sub_8132714(taskId); + PrintError_ItemCantBeHeld(taskId); } } -static void SelectTMAction_FromSellMenu(u8 taskId) +static void Task_SelectTMAction_FromSellMenu(u8 taskId) { s16 * data = gTasks[taskId].data; if (itemid_get_market_price(gSpecialVar_ItemId) == 0) { CopyItemName(gSpecialVar_ItemId, gStringVar1); - StringExpandPlaceholders(gStringVar4, gUnknown_84168F1); - sub_813337C(taskId, sub_80BF8E4(), gStringVar4, sub_8132780); + StringExpandPlaceholders(gStringVar4, gText_OhNoICantBuyThat); + TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, sub_8132780); } else { data[8] = 1; if (data[2] == 1) { - sub_81335E0(); - sub_81329C4(taskId); + HandlePrintMoneyOnHand(); + Task_AskConfirmSaleWithAmount(taskId); } else { if (data[2] > 99) data[2] = 99; CopyItemName(gSpecialVar_ItemId, gStringVar1); - StringExpandPlaceholders(gStringVar4, gUnknown_8416911); - sub_813337C(taskId, sub_80BF8E4(), gStringVar4, sub_8132AAC); + StringExpandPlaceholders(gStringVar4, gText_HowManyWouldYouLikeToSell); + TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Task_InitQuantitySelectUI); } } } -static void sub_81329C4(u8 taskId) +static void Task_AskConfirmSaleWithAmount(u8 taskId) { s16 * data = gTasks[taskId].data; - ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(sub_809A798(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); - StringExpandPlaceholders(gStringVar4, gUnknown_8416936); - sub_813337C(taskId, sub_80BF8E4(), gStringVar4, sub_8132A34); + ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); + StringExpandPlaceholders(gStringVar4, gText_ICanPayThisMuch_WouldThatBeOkay); + TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Task_PlaceYesNoBox); } -static void sub_8132A34(u8 taskId) +static void Task_PlaceYesNoBox(u8 taskId) { - sub_8133604(taskId, gUnknown_8463170); + HandleCreateYesNoMenu(taskId, &sYesNoFuncTable); } -static void sub_8132A48(u8 taskId) +static void Task_SaleOfTMsCancelled(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -1024,20 +1025,20 @@ static void sub_8132A48(u8 taskId) PutWindowTilemap(5); schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); - sub_8131F90(data[0], 1); - sub_81323E4(taskId); + PrintListMenuCursorByID_WithColorIdx(data[0], 1); + Subtask_ReturnToTMCaseMain(taskId); } -static void sub_8132AAC(u8 taskId) +static void Task_InitQuantitySelectUI(u8 taskId) { s16 * data = gTasks[taskId].data; - sub_8133354(7); + TMCase_SetWindowBorder1(7); ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar4, gUnknown_84162B9); - sub_81332EC(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1); - sub_8132B5C(1, itemid_get_market_price(sub_809A798(POCKET_TM_CASE, data[1])) / 2 * data[8]); - sub_81335E0(); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + AddTextPrinterParameterized_ColorByIndex(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1); + sub_8132B5C(1, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]); + HandlePrintMoneyOnHand(); sub_8132054(); schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); @@ -1048,8 +1049,8 @@ static void sub_8132B5C(s16 quantity, s32 amount) { FillWindowPixelBuffer(7, 0x11); ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar4, gUnknown_84162B9); - sub_81332EC(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + AddTextPrinterParameterized_ColorByIndex(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1); PrintMoneyAmount(7, 0x38, 0x0A, amount, 0); } @@ -1059,7 +1060,7 @@ static void sub_8132BC8(u8 taskId) if (sub_80BF848(&data[8], data[2]) == 1) { - sub_8132B5C(data[8], itemid_get_market_price(sub_809A798(POCKET_TM_CASE, data[1])) / 2 * data[8]); + sub_8132B5C(data[8], itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]); } else if (JOY_NEW(A_BUTTON)) { @@ -1067,8 +1068,8 @@ static void sub_8132BC8(u8 taskId) sub_810F4D8(7, 0); schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); - sub_813208C(); - sub_81329C4(taskId); + RemoveTMCaseScrollIndicatorArrowPair(); + Task_AskConfirmSaleWithAmount(taskId); } else if (JOY_NEW(B_BUTTON)) { @@ -1081,25 +1082,25 @@ static void sub_8132BC8(u8 taskId) PutWindowTilemap(1); schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); - sub_813208C(); - sub_8131F90(data[0], 1); - sub_81323E4(taskId); + RemoveTMCaseScrollIndicatorArrowPair(); + PrintListMenuCursorByID_WithColorIdx(data[0], 1); + Subtask_ReturnToTMCaseMain(taskId); } } -static void sub_8132CAC(u8 taskId) +static void Task_PrintSaleConfirmedText(u8 taskId) { s16 * data = gTasks[taskId].data; PutWindowTilemap(0); schedule_bg_copy_tilemap_to_vram(0); CopyItemName(gSpecialVar_ItemId, gStringVar1); - ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(sub_809A798(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); - StringExpandPlaceholders(gStringVar4, gUnknown_8416959); - sub_813337C(taskId, 2, gStringVar4, sub_8132D34); + ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); + StringExpandPlaceholders(gStringVar4, gText_TurnedOverItemsWorthYen); + TMCase_PrintMessageWithFollowupTask(taskId, 2, gStringVar4, Task_DoSaleOfTMs); } -static void sub_8132D34(u8 taskId) +static void Task_DoSaleOfTMs(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -1107,17 +1108,17 @@ static void sub_8132D34(u8 taskId) RemoveBagItem(gSpecialVar_ItemId, data[8]); AddMoney(&gSaveBlock1Ptr->money, itemid_get_market_price(gSpecialVar_ItemId) / 2 * data[8]); sub_809C09C(gSpecialVar_ItemId, data[8], 2); - sub_810713C(data[0], &gUnknown_203B10C.unk_0a, &gUnknown_203B10C.unk_08); + DestroyListMenu(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); sub_81320BC(); sub_8132120(); - sub_8131C50(); - data[0] = ListMenuInit(&gUnknown_3005E70, gUnknown_203B10C.unk_0a, gUnknown_203B10C.unk_08); - sub_8131F90(data[0], 2); + InitTMCaseListMenuItems(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sTMCaseStaticResources.scrollOffset, sTMCaseStaticResources.selectedRow); + PrintListMenuCursorByID_WithColorIdx(data[0], 2); PrintMoneyAmountInMoneyBox(8, GetMoney(&gSaveBlock1Ptr->money), 0); - gTasks[taskId].func = sub_8132E0C; + gTasks[taskId].func = Task_AfterSale_ReturnToList; } -static void sub_8132E0C(u8 taskId) +static void Task_AfterSale_ReturnToList(u8 taskId) { if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) { @@ -1134,11 +1135,11 @@ static void sub_8132E0C(u8 taskId) void PokeDude_InitTMCase(void) { - gUnknown_203B11C = AllocZeroed(sizeof(*gUnknown_203B11C)); - memcpy(gUnknown_203B11C->bagPocket_TMHM, gSaveBlock1Ptr->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM)); - memcpy(gUnknown_203B11C->bagPocket_KeyItems, gSaveBlock1Ptr->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems)); - gUnknown_203B11C->unk_160 = gUnknown_203B10C.unk_08; - gUnknown_203B11C->unk_162 = gUnknown_203B10C.unk_0a; + sPokeDudePackBackup = AllocZeroed(sizeof(*sPokeDudePackBackup)); + memcpy(sPokeDudePackBackup->bagPocket_TMHM, gSaveBlock1Ptr->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM)); + memcpy(sPokeDudePackBackup->bagPocket_KeyItems, gSaveBlock1Ptr->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems)); + sPokeDudePackBackup->unk_160 = sTMCaseStaticResources.selectedRow; + sPokeDudePackBackup->unk_162 = sTMCaseStaticResources.scrollOffset; ClearItemSlots(gSaveBlock1Ptr->bagPocket_TMHM, NELEMS(gSaveBlock1Ptr->bagPocket_TMHM)); ClearItemSlots(gSaveBlock1Ptr->bagPocket_KeyItems, NELEMS(gSaveBlock1Ptr->bagPocket_KeyItems)); ResetTMCaseCursorPos(); @@ -1146,10 +1147,10 @@ void PokeDude_InitTMCase(void) AddBagItem(ITEM_TM03, 1); AddBagItem(ITEM_TM09, 1); AddBagItem(ITEM_TM35, 1); - InitTMCase(4, sub_815ABFC, 0); + InitTMCase(4, CB2_ReturnToTeachyTV, 0); } -static void sub_8132F20(u8 taskId) +static void Task_TMCaseDude1(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -1157,11 +1158,11 @@ static void sub_8132F20(u8 taskId) { data[8] = 0; data[9] = 0; - gTasks[taskId].func = sub_8132F60; + gTasks[taskId].func = Task_TMCaseDude_Playback; } } -static void sub_8132F60(u8 taskId) +static void Task_TMCaseDude_Playback(u8 taskId) { s16 * data = gTasks[taskId].data; @@ -1178,7 +1179,7 @@ static void sub_8132F60(u8 taskId) { case 0: BeginNormalPaletteFade(0xFFFF8405, 4, 0, 6, 0); - sub_8131F64(1); + FillBG2RowWithPalette_2timesNplus1(1); data[8]++; break; case 1: @@ -1232,9 +1233,9 @@ static void sub_8132F60(u8 taskId) } break; case 8: - sub_8131F64(1); - sub_813337C(taskId, 4, gUnknown_841C587, 0); - gTasks[taskId].func = sub_8132F60; + FillBG2RowWithPalette_2timesNplus1(1); + TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokeDudeText_TMTypes, 0); + gTasks[taskId].func = Task_TMCaseDude_Playback; data[8]++; break; case 9: @@ -1246,7 +1247,7 @@ static void sub_8132F60(u8 taskId) case 10: if (JOY_NEW(A_BUTTON | B_BUTTON)) { - sub_8131F64(0); + FillBG2RowWithPalette_2timesNplus1(0); BeginNormalPaletteFade(0x00000400, 0, 6, 0, 0); sub_810F260(6, 0); schedule_bg_copy_tilemap_to_vram(1); @@ -1254,9 +1255,9 @@ static void sub_8132F60(u8 taskId) } break; case 18: - sub_8131F64(1); - sub_813337C(taskId, 4, gUnknown_841C693, 0); - gTasks[taskId].func = sub_8132F60; + FillBG2RowWithPalette_2timesNplus1(1); + TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokeDudeText_ReadTMDescription, NULL); + gTasks[taskId].func = Task_TMCaseDude_Playback; // this function data[8]++; break; case 20: @@ -1266,12 +1267,12 @@ static void sub_8132F60(u8 taskId) case 21: if (!gPaletteFade.active) { - memcpy(gSaveBlock1Ptr->bagPocket_TMHM, gUnknown_203B11C->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM)); - memcpy(gSaveBlock1Ptr->bagPocket_KeyItems, gUnknown_203B11C->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems)); - sub_810713C(data[0], NULL, NULL); - gUnknown_203B10C.unk_08 = gUnknown_203B11C->unk_160; - gUnknown_203B10C.unk_0a = gUnknown_203B11C->unk_162; - Free(gUnknown_203B11C); + memcpy(gSaveBlock1Ptr->bagPocket_TMHM, sPokeDudePackBackup->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM)); + memcpy(gSaveBlock1Ptr->bagPocket_KeyItems, sPokeDudePackBackup->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems)); + DestroyListMenu(data[0], NULL, NULL); + sTMCaseStaticResources.selectedRow = sPokeDudePackBackup->unk_160; + sTMCaseStaticResources.scrollOffset = sPokeDudePackBackup->unk_162; + Free(sPokeDudePackBackup); CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); sub_8108CF0(); BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, 0); @@ -1281,28 +1282,28 @@ static void sub_8132F60(u8 taskId) default: if (!gPaletteFade.active) { - SetMainCallback2(gUnknown_203B10C.unk_00); - sub_813208C(); - sub_81321D4(); + SetMainCallback2(sTMCaseStaticResources.savedCallback); + RemoveTMCaseScrollIndicatorArrowPair(); + DestroyTMCaseBuffers(); DestroyTask(taskId); } break; } } -static void sub_8133244(void) +static void InitWindowTemplatesAndPals(void) { u8 i; - InitWindows(gUnknown_8463190); + InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); sub_815001C(0, 0x5B, 0xE0); sub_814FEAC(0, 0x64, 0xB0); sub_814FF2C(0, 0x78, 0xD0); - LoadPalette(gUnknown_841F408, 0xF0, 0x20); - LoadPalette(gUnknown_841F408, 0xA0, 0x20); - LoadPalette(gUnknown_8463180, 0xF6, 0x04); - LoadPalette(gUnknown_8463180, 0xD6, 0x04); + LoadPalette(gTMCaseMainWindowPalette, 0xF0, 0x20); + LoadPalette(gTMCaseMainWindowPalette, 0xA0, 0x20); + LoadPalette(sPal3Override, 0xF6, 0x04); + LoadPalette(sPal3Override, 0xD6, 0x04); sub_8107D38(0xc0, 0x01); for (i = 0; i < 9; i++) FillWindowPixelBuffer(i, 0x00); @@ -1314,43 +1315,43 @@ static void sub_8133244(void) schedule_bg_copy_tilemap_to_vram(0); } -static void sub_81332EC(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx) +static void AddTextPrinterParameterized_ColorByIndex(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx) { - AddTextPrinterParametrized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_8463184[colorIdx], speed, str); + AddTextPrinterParametrized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &sTextColors[colorIdx], speed, str); } -static void sub_8133354(u8 windowId) +static void TMCase_SetWindowBorder1(u8 windowId) { SetWindowBorderStyle(windowId, FALSE, 0x5B, 0x0E); } -static void sub_8133368(u8 windowId) +static void TMCase_SetWindowBorder2(u8 windowId) { SetWindowBorderStyle(windowId, FALSE, 0x78, 0x0D); } -static void sub_813337C(u8 taskId, u8 windowId, const u8 * str, TaskFunc func) +static void TMCase_PrintMessageWithFollowupTask(u8 taskId, u8 windowId, const u8 * str, TaskFunc func) { DisplayMessageAndContinueTask(taskId, 6, 0x64, 0x0B, windowId, GetTextSpeedSetting(), str, func); schedule_bg_copy_tilemap_to_vram(1); } -static void sub_81333C4(void) +static void PrintStringTMCaseOnWindow3(void) { - u32 distance = 72 - GetStringWidth(1, gUnknown_84166D3, 0); - box_print(3, 1, distance / 2, 1, &gUnknown_8463184[0], 0, gUnknown_84166D3); + u32 distance = 72 - GetStringWidth(1, gText_TMCase, 0); + box_print(3, 1, distance / 2, 1, &sTextColors[0], 0, gText_TMCase); } -static void sub_8133404(void) +static void DrawMoveInfoUIMarkers(void) { - sub_8107D68(4, 19, 0, 0); - sub_8107D68(4, 20, 0, 12); - sub_8107D68(4, 21, 0, 24); - sub_8107D68(4, 22, 0, 36); + blit_move_info_icon(4, 19, 0, 0); + blit_move_info_icon(4, 20, 0, 12); + blit_move_info_icon(4, 21, 0, 24); + blit_move_info_icon(4, 22, 0, 36); CopyWindowToVram(4, 2); } -static void sub_8133444(u16 itemId) +static void TMCase_MoveCursor_UpdatePrintedTMInfo(u16 itemId) { u8 i; u16 move; @@ -1361,63 +1362,63 @@ static void sub_8133444(u16 itemId) { for (i = 0; i < 4; i++) { - sub_81332EC(5, 3, gUnknown_8416213, 7, 12 * i, 0, 0, 0xFF, 3); + AddTextPrinterParameterized_ColorByIndex(5, 3, gText_ThreeHyphens, 7, 12 * i, 0, 0, 0xFF, 3); } CopyWindowToVram(5, 2); } else { move = ItemIdToBattleMoveId(itemId); - sub_8107D68(5, gBattleMoves[move].type + 1, 0, 0); + blit_move_info_icon(5, gBattleMoves[move].type + 1, 0, 0); if (gBattleMoves[move].power < 2) - str = gUnknown_8416213; + str = gText_ThreeHyphens; else { ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].power, STR_CONV_MODE_RIGHT_ALIGN, 3); str = gStringVar1; } - sub_81332EC(5, 3, str, 7, 12, 0, 0, 0xFF, 3); + AddTextPrinterParameterized_ColorByIndex(5, 3, str, 7, 12, 0, 0, 0xFF, 3); if (gBattleMoves[move].accuracy == 0) - str = gUnknown_8416213; + str = gText_ThreeHyphens; else { ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3); str = gStringVar1; } - sub_81332EC(5, 3, str, 7, 24, 0, 0, 0xFF, 3); + AddTextPrinterParameterized_ColorByIndex(5, 3, str, 7, 24, 0, 0, 0xFF, 3); ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_81332EC(5, 3, gStringVar1, 7, 36, 0, 0, 0xFF, 3); + AddTextPrinterParameterized_ColorByIndex(5, 3, gStringVar1, 7, 36, 0, 0, 0xFF, 3); CopyWindowToVram(5, 2); } } -static void sub_81335B0(u8 windowId, u8 x, u8 y) +static void PlaceHMTileInWindow(u8 windowId, u8 x, u8 y) { BlitBitmapToWindow(windowId, gUnknown_8E99118, x, y, 16, 12); } -static void sub_81335E0(void) +static void HandlePrintMoneyOnHand(void) { PrintMoneyAmountInMoneyBoxWithBorder(8, 0x78, 0xD, GetMoney(&gSaveBlock1Ptr->money)); } -static void sub_8133604(u8 taskId, const TaskFunc *ptrs) +static void HandleCreateYesNoMenu(u8 taskId, const struct YesNoFuncTable *ptrs) { - sub_80BF5D0(taskId, &gUnknown_84631E0, 2, 0, 2, 0x5B, 0x0E, ptrs); + CreateYesNoMenuWithCallbacks(taskId, &sYesNoWindowTemplate, 2, 0, 2, 0x5B, 0x0E, ptrs); } -static u8 sub_8133630(u8 * a0, u8 a1) +static u8 AddTMContextMenu(u8 * a0, u8 a1) { if (*a0 == 0xFF) { - *a0 = AddWindow(&gUnknown_84631E8[a1]); - sub_8133354(*a0); + *a0 = AddWindow(&sTMContextWindowTemplates[a1]); + TMCase_SetWindowBorder1(*a0); schedule_bg_copy_tilemap_to_vram(0); } return *a0; } -static void sub_8133664(u8 * a0) +static void RemoveTMContextMenu(u8 * a0) { sub_810F4D8(*a0, FALSE); ClearWindowTilemap(*a0); @@ -1426,26 +1427,26 @@ static void sub_8133664(u8 * a0) *a0 = 0xFF; } -static u8 sub_813368C(u16 itemId) +static u8 CreateTMSprite(u16 itemId) { - u8 spriteId = CreateSprite(&gUnknown_8463220, 0x29, 0x2E, 0); + u8 spriteId = CreateSprite(&sTMSpriteTemplate, 0x29, 0x2E, 0); u8 r5; if (itemId == ITEM_NONE) { - sub_8133790(&gSprites[spriteId], 0xFF); + UpdateTMSpritePosition(&gSprites[spriteId], 0xFF); return spriteId; } else { r5 = itemId - 33; - sub_8133714(&gSprites[spriteId], r5); - sub_8133730(gBattleMoves[ItemIdToBattleMoveId(itemId)].type); - sub_8133790(&gSprites[spriteId], r5); + SetTMSpriteAnim(&gSprites[spriteId], r5); + TintTMSpriteByType(gBattleMoves[ItemIdToBattleMoveId(itemId)].type); + UpdateTMSpritePosition(&gSprites[spriteId], r5); return spriteId; } } -static void sub_8133714(struct Sprite * sprite, u8 idx) +static void SetTMSpriteAnim(struct Sprite * sprite, u8 idx) { if (idx >= 50) StartSpriteAnim(sprite, 1); @@ -1453,17 +1454,17 @@ static void sub_8133714(struct Sprite * sprite, u8 idx) StartSpriteAnim(sprite, 0); } -static void sub_8133730(u8 type) +static void TintTMSpriteByType(u8 type) { - u8 palIndex = IndexOfSpritePaletteTag(400) << 4; - LoadPalette(gUnknown_203B12C + gUnknown_8463238[type], 0x100 | palIndex, 0x20); - if (gUnknown_203B10C.unk_04 == 4) + u8 palIndex = IndexOfSpritePaletteTag(TM_CASE_TM_TAG) << 4; + LoadPalette(sTMSpritePaletteBuffer + sTMSpritePaletteOffsetByType[type], 0x100 | palIndex, 0x20); + if (sTMCaseStaticResources.tmCaseMenuType == 4) { BlendPalettes(1 << (0x10 + palIndex), 4, RGB_BLACK); } } -static void sub_8133790(struct Sprite * sprite, u8 var) +static void UpdateTMSpritePosition(struct Sprite * sprite, u8 var) { s32 x, y; if (var == 0xFF) @@ -1485,14 +1486,14 @@ static void sub_8133790(struct Sprite * sprite, u8 var) sprite->pos1.y = y; } -static void sub_81337E4(u8 spriteId, u16 itemId) +static void InitSelectedTMSpriteData(u8 spriteId, u16 itemId) { gSprites[spriteId].data[0] = itemId; gSprites[spriteId].data[1] = 0; - gSprites[spriteId].callback = sub_8133810; + gSprites[spriteId].callback = SpriteCB_MoveTMSpriteInCase; } -static void sub_8133810(struct Sprite * sprite) +static void SpriteCB_MoveTMSpriteInCase(struct Sprite * sprite) { switch (sprite->data[1]) { @@ -1502,10 +1503,10 @@ static void sub_8133810(struct Sprite * sprite) if (sprite->data[0] != ITEM_NONE) { sprite->data[1]++; - sub_8133730(gBattleMoves[ItemIdToBattleMoveId(sprite->data[0])].type); + TintTMSpriteByType(gBattleMoves[ItemIdToBattleMoveId(sprite->data[0])].type); sprite->data[0] -= ITEM_TM01; - sub_8133714(sprite, sprite->data[0]); - sub_8133790(sprite, sprite->data[0]); + SetTMSpriteAnim(sprite, sprite->data[0]); + UpdateTMSpritePosition(sprite, sprite->data[0]); } else sprite->callback = SpriteCallbackDummy; @@ -1523,14 +1524,14 @@ static void sub_8133810(struct Sprite * sprite) } } -static void sub_81338A8(void) +static void LoadTMTypePalettes(void) { struct SpritePalette spritePalette; - gUnknown_203B12C = Alloc(0x110 * sizeof(u16)); - LZDecompressWram(gUnknown_8E84F20, gUnknown_203B12C); - LZDecompressWram(gUnknown_8E85068, gUnknown_203B12C + 0x100); - spritePalette.data = gUnknown_203B12C + 0x110; - spritePalette.tag = 400; + sTMSpritePaletteBuffer = Alloc(0x110 * sizeof(u16)); + LZDecompressWram(gUnknown_8E84F20, sTMSpritePaletteBuffer); + LZDecompressWram(gUnknown_8E85068, sTMSpritePaletteBuffer + 0x100); + spritePalette.data = sTMSpritePaletteBuffer + 0x110; + spritePalette.tag = TM_CASE_TM_TAG; LoadSpritePalette(&spritePalette); } diff --git a/sym_common.txt b/sym_common.txt index 16c275b01..4adfe3bac 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -301,7 +301,7 @@ gUnknown_3005E20: @ 3005E20 gUnknown_3005E60: @ 3005E60 .space 0x10 -gUnknown_3005E70: @ 3005E70 +gMultiuseListMenuTemplate: @ 3005E70 .space 0x18 .include "quest_log.o" diff --git a/sym_ewram.txt b/sym_ewram.txt index 4cfb317c0..5a9795eb1 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1659,7 +1659,7 @@ gUnknown_203F43C: @ 203F43C gUnknown_203F440: @ 203F440 .space 0x4 -gUnknown_203F444: @ 203F444 +gTeachyTV_StaticResources: @ 203F444 .space 0x6 gUnknown_203F44A: @ 203F44A |