diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2019-04-15 13:59:00 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-15 13:59:00 -0400 |
commit | 5bf1c29cee223cba17a1ec93af0196e380e8cbf1 (patch) | |
tree | 15e666997001cf39d482f2636953c654d255af3e | |
parent | 0cb1417de441af6e688fc4784da498bb677cc888 (diff) | |
parent | 0f569270391f68ef10a703a9e37f1a4e298a0cee (diff) |
Merge pull request #49 from PikalaxALT/tm_case
Tm case
67 files changed, 2828 insertions, 4557 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 8b639487f..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: @@ -573,7 +573,7 @@ sub_813D204: @ 813D204 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _0813D280 @ =gUnknown_20398AC + ldr r0, _0813D280 @ =gBagPockets + 0x20 mov r8, r0 movs r6, 0 ldr r0, _0813D284 @ =gUnknown_203F36C @@ -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] @@ -633,12 +633,12 @@ _0813D254: adds r2, r1, 0 b _0813D2A6 .align 2, 0 -_0813D280: .4byte gUnknown_20398AC +_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] @@ -1441,7 +1441,7 @@ _0813D8A4: thumb_func_start sub_813D8AC sub_813D8AC: @ 813D8AC push {r4,lr} - ldr r4, _0813D904 @ =gUnknown_20398AC + ldr r4, _0813D904 @ =gBagPockets + 0x20 adds r0, r4, 0 bl sub_809A720 ldr r3, _0813D908 @ =gUnknown_203F36C @@ -1485,7 +1485,7 @@ _0813D8EE: adds r1, r0, 0 b _0813D916 .align 2, 0 -_0813D904: .4byte gUnknown_20398AC +_0813D904: .4byte gBagPockets + 0x20 _0813D908: .4byte gUnknown_203F36C _0813D90C: .4byte gUnknown_203F370 _0813D910: @@ -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 800df5f82..ce20d4f8c 100644 --- a/asm/item.s +++ b/asm/item.s @@ -61,7 +61,7 @@ ApplyNewEncryptionKeyToBagItems: @ 8099DE0 sub sp, 0x4 mov r8, r0 movs r1, 0 - ldr r0, _08099E34 @ =gUnknown_203988C + ldr r0, _08099E34 @ =gBagPockets mov r9, r0 _08099DF2: movs r6, 0 @@ -72,7 +72,7 @@ _08099DF2: ldrb r0, [r0, 0x4] cmp r6, r0 bcs _08099E20 - ldr r2, _08099E34 @ =gUnknown_203988C + ldr r2, _08099E34 @ =gBagPockets _08099E04: adds r4, r5, r2 lsls r1, r6, 2 @@ -99,7 +99,7 @@ _08099E20: pop {r0} bx r0 .align 2, 0 -_08099E34: .4byte gUnknown_203988C +_08099E34: .4byte gBagPockets thumb_func_end ApplyNewEncryptionKeyToBagItems thumb_func_start ApplyNewEncryptionKeyToBagItems_ @@ -112,7 +112,7 @@ ApplyNewEncryptionKeyToBagItems_: @ 8099E38 thumb_func_start sub_8099E44 sub_8099E44: @ 8099E44 - ldr r1, _08099E84 @ =gUnknown_203988C + ldr r1, _08099E84 @ =gBagPockets ldr r0, _08099E88 @ =gSaveBlock1Ptr ldr r2, [r0] movs r3, 0xC4 @@ -144,7 +144,7 @@ sub_8099E44: @ 8099E44 strb r0, [r1] bx lr .align 2, 0 -_08099E84: .4byte gUnknown_203988C +_08099E84: .4byte gBagPockets _08099E88: .4byte gSaveBlock1Ptr _08099E8C: .4byte 0x0000054c thumb_func_end sub_8099E44 @@ -184,7 +184,7 @@ sub_8099ECC: @ 8099ECC push {lr} lsls r0, 24 movs r2, 0 - ldr r1, _08099EF0 @ =gUnknown_203988C + ldr r1, _08099EF0 @ =gBagPockets lsrs r0, 21 adds r0, r1 ldrb r1, [r0, 0x4] @@ -201,7 +201,7 @@ _08099EE0: asrs r0, 24 b _08099F02 .align 2, 0 -_08099EF0: .4byte gUnknown_203988C +_08099EF0: .4byte gBagPockets _08099EF4: adds r0, r2, 0x1 lsls r0, 16 @@ -221,7 +221,7 @@ sub_8099F08: @ 8099F08 push {lr} lsls r0, 24 movs r2, 0 - ldr r1, _08099F2C @ =gUnknown_203988C + ldr r1, _08099F2C @ =gBagPockets lsrs r0, 21 subs r0, 0x8 adds r0, r1 @@ -238,7 +238,7 @@ _08099F1E: movs r0, 0x1 b _08099F3C .align 2, 0 -_08099F2C: .4byte gUnknown_203988C +_08099F2C: .4byte gBagPockets _08099F30: adds r0, r2, 0x1 lsls r0, 24 @@ -274,7 +274,7 @@ _08099F5C: subs r0, 0x1 lsls r0, 24 movs r2, 0 - ldr r1, _08099F94 @ =gUnknown_203988C + ldr r1, _08099F94 @ =gBagPockets lsrs r0, 21 adds r0, r1 ldrb r1, [r0, 0x4] @@ -296,7 +296,7 @@ _08099F76: bcs _08099F58 b _08099FA4 .align 2, 0 -_08099F94: .4byte gUnknown_203988C +_08099F94: .4byte gBagPockets _08099F98: adds r0, r2, 0x1 lsls r0, 24 @@ -378,7 +378,7 @@ CheckBagHasSpace: @ 809A000 lsls r0, 24 lsrs r5, r0, 24 movs r2, 0 - ldr r1, _0809A054 @ =gUnknown_203988C + ldr r1, _0809A054 @ =gBagPockets lsls r0, r5, 3 adds r0, r1 ldrb r1, [r0, 0x4] @@ -404,7 +404,7 @@ _0809A050: movs r0, 0 b _0809A07C .align 2, 0 -_0809A054: .4byte gUnknown_203988C +_0809A054: .4byte gBagPockets _0809A058: .4byte 0x000003e7 _0809A05C: adds r0, r2, 0x1 @@ -453,7 +453,7 @@ _0809A0A2: lsls r0, 24 lsrs r7, r0, 24 movs r2, 0 - ldr r1, _0809A0E0 @ =gUnknown_203988C + ldr r1, _0809A0E0 @ =gBagPockets lsls r0, r7, 3 adds r0, r1 ldrb r1, [r0, 0x4] @@ -478,7 +478,7 @@ _0809A0BE: ble _0809A1B8 b _0809A1CA .align 2, 0 -_0809A0E0: .4byte gUnknown_203988C +_0809A0E0: .4byte gBagPockets _0809A0E4: .4byte 0x000003e7 _0809A0E8: adds r0, r2, 0x1 @@ -506,7 +506,7 @@ _0809A0F4: negs r0, r0 cmp r1, r0 beq _0809A1CA - ldr r2, _0809A1AC @ =gUnknown_203988C + ldr r2, _0809A1AC @ =gBagPockets ldr r0, [r2, 0x8] lsls r1, 2 adds r0, r1, r0 @@ -534,7 +534,7 @@ _0809A132: negs r0, r0 cmp r1, r0 beq _0809A1CA - ldr r2, _0809A1AC @ =gUnknown_203988C + ldr r2, _0809A1AC @ =gBagPockets ldr r0, [r2, 0x8] lsls r1, 2 adds r0, r1, r0 @@ -561,7 +561,7 @@ _0809A180: negs r0, r0 cmp r2, r0 beq _0809A1CA - ldr r0, _0809A1AC @ =gUnknown_203988C + ldr r0, _0809A1AC @ =gBagPockets lsls r1, r7, 3 adds r1, r0 ldr r0, [r1] @@ -574,7 +574,7 @@ _0809A180: mov r1, r8 b _0809A1C2 .align 2, 0 -_0809A1AC: .4byte gUnknown_203988C +_0809A1AC: .4byte gBagPockets _0809A1B0: .4byte 0x0000016d _0809A1B4: .4byte 0x00000847 _0809A1B8: @@ -616,7 +616,7 @@ RemoveBagItem: @ 809A1D8 subs r0, 0x1 lsls r0, 24 movs r2, 0 - ldr r1, _0809A248 @ =gUnknown_203988C + ldr r1, _0809A248 @ =gBagPockets lsrs r0, 21 adds r0, r1 ldrb r1, [r0, 0x4] @@ -653,7 +653,7 @@ _0809A242: movs r0, 0x1 b _0809A25A .align 2, 0 -_0809A248: .4byte gUnknown_203988C +_0809A248: .4byte gBagPockets _0809A24C: adds r0, r2, 0x1 lsls r0, 24 @@ -745,7 +745,7 @@ _0809A2D8: .4byte gSaveBlock1Ptr sub_809A2DC: @ 809A2DC push {r4,r5,lr} movs r4, 0 - ldr r5, _0809A300 @ =gUnknown_203988C + ldr r5, _0809A300 @ =gBagPockets _0809A2E2: lsls r1, r4, 3 adds r1, r5 @@ -761,7 +761,7 @@ _0809A2E2: pop {r0} bx r0 .align 2, 0 -_0809A300: .4byte gUnknown_203988C +_0809A300: .4byte gBagPockets thumb_func_end sub_809A2DC thumb_func_start sub_809A304 @@ -1404,11 +1404,11 @@ _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 @ =gUnknown_203988C + ldr r2, _0809A7B0 @ =gBagPockets lsrs r0, 21 subs r0, 0x8 adds r0, r2 @@ -1418,15 +1418,15 @@ sub_809A798: @ 809A798 ldrh r0, [r1] bx lr .align 2, 0 -_0809A7B0: .4byte gUnknown_203988C - thumb_func_end sub_809A798 +_0809A7B0: .4byte gBagPockets + 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 - ldr r2, _0809A7D8 @ =gUnknown_203988C + ldr r2, _0809A7D8 @ =gBagPockets lsrs r0, 21 subs r0, 0x8 adds r0, r2 @@ -1440,8 +1440,8 @@ sub_809A7B4: @ 809A7B4 pop {r1} bx r1 .align 2, 0 -_0809A7D8: .4byte gUnknown_203988C - thumb_func_end sub_809A7B4 +_0809A7D8: .4byte gBagPockets + thumb_func_end BagGetQuantityByPocketPosition thumb_func_start sub_809A7DC sub_809A7DC: @ 809A7DC @@ -1577,12 +1577,12 @@ ItemId_GetItem: @ 809A8BC lsrs r0, 16 movs r1, 0x2C muls r0, r1 - ldr r1, _0809A8D8 @ =gUnknown_83DB028 + ldr r1, _0809A8D8 @ =gItems adds r0, r1 pop {r1} bx r1 .align 2, 0 -_0809A8D8: .4byte gUnknown_83DB028 +_0809A8D8: .4byte gItems thumb_func_end ItemId_GetItem thumb_func_start itemid_get_number @@ -1590,7 +1590,7 @@ itemid_get_number: @ 809A8DC push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A8FC @ =gUnknown_83DB028 + ldr r4, _0809A8FC @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1602,7 +1602,7 @@ itemid_get_number: @ 809A8DC pop {r1} bx r1 .align 2, 0 -_0809A8FC: .4byte gUnknown_83DB028 +_0809A8FC: .4byte gItems thumb_func_end itemid_get_number thumb_func_start itemid_get_market_price @@ -1610,7 +1610,7 @@ itemid_get_market_price: @ 809A900 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A920 @ =gUnknown_83DB028 + ldr r4, _0809A920 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1622,7 +1622,7 @@ itemid_get_market_price: @ 809A900 pop {r1} bx r1 .align 2, 0 -_0809A920: .4byte gUnknown_83DB028 +_0809A920: .4byte gItems thumb_func_end itemid_get_market_price thumb_func_start ItemId_GetHoldEffect @@ -1630,7 +1630,7 @@ ItemId_GetHoldEffect: @ 809A924 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A944 @ =gUnknown_83DB028 + ldr r4, _0809A944 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1642,7 +1642,7 @@ ItemId_GetHoldEffect: @ 809A924 pop {r1} bx r1 .align 2, 0 -_0809A944: .4byte gUnknown_83DB028 +_0809A944: .4byte gItems thumb_func_end ItemId_GetHoldEffect thumb_func_start ItemId_GetHoldEffectParam @@ -1650,7 +1650,7 @@ ItemId_GetHoldEffectParam: @ 809A948 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A968 @ =gUnknown_83DB028 + ldr r4, _0809A968 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1662,7 +1662,7 @@ ItemId_GetHoldEffectParam: @ 809A948 pop {r1} bx r1 .align 2, 0 -_0809A968: .4byte gUnknown_83DB028 +_0809A968: .4byte gItems thumb_func_end ItemId_GetHoldEffectParam thumb_func_start ItemId_GetDescription @@ -1670,7 +1670,7 @@ ItemId_GetDescription: @ 809A96C push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A98C @ =gUnknown_83DB028 + ldr r4, _0809A98C @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1683,7 +1683,7 @@ ItemId_GetDescription: @ 809A96C pop {r1} bx r1 .align 2, 0 -_0809A98C: .4byte gUnknown_83DB028 +_0809A98C: .4byte gItems thumb_func_end ItemId_GetDescription thumb_func_start itemid_is_unique @@ -1691,7 +1691,7 @@ itemid_is_unique: @ 809A990 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A9B0 @ =gUnknown_83DB028 + ldr r4, _0809A9B0 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1703,7 +1703,7 @@ itemid_is_unique: @ 809A990 pop {r1} bx r1 .align 2, 0 -_0809A9B0: .4byte gUnknown_83DB028 +_0809A9B0: .4byte gItems thumb_func_end itemid_is_unique thumb_func_start itemid_get_x19 @@ -1711,7 +1711,7 @@ itemid_get_x19: @ 809A9B4 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A9D4 @ =gUnknown_83DB028 + ldr r4, _0809A9D4 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1723,7 +1723,7 @@ itemid_get_x19: @ 809A9B4 pop {r1} bx r1 .align 2, 0 -_0809A9D4: .4byte gUnknown_83DB028 +_0809A9D4: .4byte gItems thumb_func_end itemid_get_x19 thumb_func_start ItemId_GetPocket @@ -1731,7 +1731,7 @@ ItemId_GetPocket: @ 809A9D8 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A9F8 @ =gUnknown_83DB028 + ldr r4, _0809A9F8 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1743,7 +1743,7 @@ ItemId_GetPocket: @ 809A9D8 pop {r1} bx r1 .align 2, 0 -_0809A9F8: .4byte gUnknown_83DB028 +_0809A9F8: .4byte gItems thumb_func_end ItemId_GetPocket thumb_func_start ItemId_GetType @@ -1751,7 +1751,7 @@ ItemId_GetType: @ 809A9FC push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809AA1C @ =gUnknown_83DB028 + ldr r4, _0809AA1C @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1763,7 +1763,7 @@ ItemId_GetType: @ 809A9FC pop {r1} bx r1 .align 2, 0 -_0809AA1C: .4byte gUnknown_83DB028 +_0809AA1C: .4byte gItems thumb_func_end ItemId_GetType thumb_func_start ItemId_GetFieldFunc @@ -1771,7 +1771,7 @@ ItemId_GetFieldFunc: @ 809AA20 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809AA40 @ =gUnknown_83DB028 + ldr r4, _0809AA40 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1784,7 +1784,7 @@ ItemId_GetFieldFunc: @ 809AA20 pop {r1} bx r1 .align 2, 0 -_0809AA40: .4byte gUnknown_83DB028 +_0809AA40: .4byte gItems thumb_func_end ItemId_GetFieldFunc thumb_func_start ItemId_GetBattleUsage @@ -1792,7 +1792,7 @@ ItemId_GetBattleUsage: @ 809AA44 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809AA64 @ =gUnknown_83DB028 + ldr r4, _0809AA64 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1805,7 +1805,7 @@ ItemId_GetBattleUsage: @ 809AA44 pop {r1} bx r1 .align 2, 0 -_0809AA64: .4byte gUnknown_83DB028 +_0809AA64: .4byte gItems thumb_func_end ItemId_GetBattleUsage thumb_func_start ItemId_GetBattleFunc @@ -1813,7 +1813,7 @@ ItemId_GetBattleFunc: @ 809AA68 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809AA88 @ =gUnknown_83DB028 + ldr r4, _0809AA88 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1826,7 +1826,7 @@ ItemId_GetBattleFunc: @ 809AA68 pop {r1} bx r1 .align 2, 0 -_0809AA88: .4byte gUnknown_83DB028 +_0809AA88: .4byte gItems thumb_func_end ItemId_GetBattleFunc thumb_func_start ItemId_GetSecondaryId @@ -1834,7 +1834,7 @@ ItemId_GetSecondaryId: @ 809AA8C push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809AAAC @ =gUnknown_83DB028 + ldr r4, _0809AAAC @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1847,7 +1847,7 @@ ItemId_GetSecondaryId: @ 809AA8C pop {r1} bx r1 .align 2, 0 -_0809AAAC: .4byte gUnknown_83DB028 +_0809AAAC: .4byte gItems thumb_func_end ItemId_GetSecondaryId .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_menu.s b/asm/item_menu.s index dcc74bafd..01c5f6e4c 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 @@ -817,7 +817,7 @@ sub_810842C: @ 810842C lsls r0, 24 lsrs r7, r0, 24 lsls r1, r7, 3 - ldr r0, _0810853C @ =gUnknown_203988C + ldr r0, _0810853C @ =gBagPockets adds r1, r0 mov r8, r1 movs r6, 0 @@ -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] @@ -946,13 +946,13 @@ _0810848C: pop {r0} bx r0 .align 2, 0 -_0810853C: .4byte gUnknown_203988C +_0810853C: .4byte gBagPockets _08108540: .4byte gUnknown_203AD10 _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] @@ -2065,7 +2065,7 @@ sub_8108DC8: @ 8108DC8 lsls r0, 24 lsrs r5, r0, 24 lsls r1, r5, 3 - ldr r0, _08108E3C @ =gUnknown_203988C + ldr r0, _08108E3C @ =gBagPockets adds r4, r1, r0 ldr r0, [r4] ldrb r1, [r4, 0x4] @@ -2120,7 +2120,7 @@ _08108E1C: strb r1, [r0] b _08108E4C .align 2, 0 -_08108E3C: .4byte gUnknown_203988C +_08108E3C: .4byte gBagPockets _08108E40: .4byte gUnknown_203AD10 _08108E44: adds r0, r1, 0 @@ -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 @@ -3063,7 +3063,7 @@ _081095DA: .align 2, 0 _081095E4: .4byte gTasks+0x8 _081095E8: - ldr r1, _0810966C @ =gUnknown_203988C + ldr r1, _0810966C @ =gBagPockets ldr r4, _08109670 @ =gUnknown_203ACFC ldrh r0, [r4, 0x6] lsls r0, 3 @@ -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 @@ -3125,9 +3125,9 @@ _0810965C: pop {r0} bx r0 .align 2, 0 -_0810966C: .4byte gUnknown_203988C +_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 @@ -4763,7 +4763,7 @@ sub_810A434: @ 810A434 ldr r1, _0810A444 @ =sub_810A45C movs r0, 0x1 movs r2, 0 - bl sub_81317F8 + bl InitTMCase pop {r0} bx r0 .align 2, 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 @@ -4835,7 +4835,7 @@ _0810A4BC: .4byte gUnknown_841630F _0810A4C0: .4byte sub_810A1D0 _0810A4C4: movs r0, 0xB6 - lsls r0, 1 + lsls r0, 1 @ ITEM_TM_CASE cmp r4, r0 bne _0810A4D4 ldr r0, _0810A4D0 @ =sub_810A52C @@ -4843,7 +4843,7 @@ _0810A4C4: .align 2, 0 _0810A4D0: .4byte sub_810A52C _0810A4D4: - ldr r0, _0810A4E8 @ =0x0000016d + ldr r0, _0810A4E8 @ =0x0000016d @ ITEM_BERRY_POUCH cmp r4, r0 bne _0810A4F0 ldr r0, _0810A4EC @ =sub_810A540 @@ -4892,7 +4892,7 @@ sub_810A52C: @ 810A52C ldr r1, _0810A53C @ =sub_810A554 movs r0, 0x3 movs r2, 0 - bl sub_81317F8 + bl InitTMCase pop {r0} bx r0 .align 2, 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 @@ -5037,7 +5037,7 @@ sub_810A654: @ 810A654 ldr r1, _0810A664 @ =sub_810A67C movs r0, 0x2 movs r2, 0 - bl sub_81317F8 + bl InitTMCase pop {r0} bx r0 .align 2, 0 @@ -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,11 +6989,11 @@ _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] - ldr r0, _0810B6D8 @ =sub_8132E64 + ldr r0, _0810B6D8 @ =PokeDude_InitTMCase str r0, [r1] mov r0, r9 subs r0, 0x8 @@ -7003,7 +7003,7 @@ _0810B68C: b _0810B6E6 .align 2, 0 _0810B6D4: .4byte gUnknown_203AD10 -_0810B6D8: .4byte sub_8132E64 +_0810B6D8: .4byte PokeDude_InitTMCase _0810B6DC: .4byte sub_810B070 _0810B6E0: ldrh r0, [r6, 0x10] 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/item_use.s b/asm/item_use.s index 2b425dec2..79dcb290a 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -1048,7 +1048,7 @@ sub_80A17D4: @ 80A17D4 ldr r1, _080A17E4 @ =UseFameCheckerFromMenu movs r0, 0 movs r2, 0 - bl sub_81317F8 + bl InitTMCase pop {r0} bx r0 .align 2, 0 @@ -1071,7 +1071,7 @@ sub_80A17E8: @ 80A17E8 ldr r1, _080A181C @ =c2_exit_to_overworld_2_switch movs r0, 0 movs r2, 0x1 - bl sub_81317F8 + bl InitTMCase adds r0, r4, 0 bl DestroyTask _080A1812: 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_game.s b/asm/new_game.s index d1d5a1487..63bfd9523 100644 --- a/asm/new_game.s +++ b/asm/new_game.s @@ -183,7 +183,7 @@ sub_8054A28: @ 8054A28 bl ZeroPlayerPartyMons bl ZeroEnemyPartyMons bl sub_81089BC - bl sub_81320AC + bl ResetTMCaseCursorPos bl sub_813D6E4 bl sub_811089C bl Random 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 085d0da85..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 @@ -12606,7 +12606,7 @@ sub_8124DA0: @ 8124DA0 movs r0, 0x5 movs r1, 0 movs r2, 0xFF - bl sub_81317F8 + bl InitTMCase pop {r0} bx r0 thumb_func_end sub_8124DA0 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/tm_case.s b/asm/tm_case.s deleted file mode 100644 index ac58fa0a2..000000000 --- a/asm/tm_case.s +++ /dev/null @@ -1,3999 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81317F8 -sub_81317F8: @ 81317F8 - push {r4-r7,lr} - adds r7, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r6, r2, 24 - bl sub_8131A8C - ldr r4, _08131854 @ =gUnknown_203B118 - movs r0, 0x1C - bl Alloc - str r0, [r4] - movs r1, 0 - str r1, [r0] - movs r1, 0xFF - strb r1, [r0, 0x8] - ldr r1, [r4] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x7] - cmp r5, 0x5 - beq _0813182A - ldr r0, _08131858 @ =gUnknown_203B10C - strb r5, [r0, 0x4] -_0813182A: - cmp r7, 0 - beq _08131832 - ldr r0, _08131858 @ =gUnknown_203B10C - str r7, [r0] -_08131832: - cmp r6, 0xFF - beq _0813183A - ldr r0, _08131858 @ =gUnknown_203B10C - strb r6, [r0, 0x5] -_0813183A: - ldr r2, _0813185C @ =gTextFlags - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, _08131860 @ =sub_8131894 - bl SetMainCallback2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131854: .4byte gUnknown_203B118 -_08131858: .4byte gUnknown_203B10C -_0813185C: .4byte gTextFlags -_08131860: .4byte sub_8131894 - thumb_func_end sub_81317F8 - - thumb_func_start sub_8131864 -sub_8131864: @ 8131864 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8131864 - - thumb_func_start sub_8131880 -sub_8131880: @ 8131880 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8131880 - - thumb_func_start sub_8131894 -sub_8131894: @ 8131894 - push {lr} -_08131896: - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081318BA - bl sub_81318C0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081318BA - bl sub_80BF708 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08131896 -_081318BA: - pop {r0} - bx r0 - thumb_func_end sub_8131894 - - thumb_func_start sub_81318C0 -sub_81318C0: @ 81318C0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _081318E0 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x12 - bls _081318D4 - b _08131A68 -_081318D4: - lsls r0, 2 - ldr r1, _081318E4 @ =_081318E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081318E0: .4byte gMain -_081318E4: .4byte _081318E8 - .align 2, 0 -_081318E8: - .4byte _08131934 - .4byte _0813193E - .4byte _08131944 - .4byte _0813194A - .4byte _08131950 - .4byte _08131956 - .4byte _0813195C - .4byte _08131970 - .4byte _08131976 - .4byte _08131984 - .4byte _08131990 - .4byte _0813199E - .4byte _081319A4 - .4byte _081319AE - .4byte _081319B4 - .4byte _08131A04 - .4byte _08131A0A - .4byte _08131A34 - .4byte _08131A42 -_08131934: - bl sub_80BF768 - bl clear_scheduled_bg_copies_to_vram - b _08131A52 -_0813193E: - bl ScanlineEffect_Stop - b _08131A52 -_08131944: - bl FreeAllSpritePalettes - b _08131A52 -_0813194A: - bl ResetPaletteFade - b _08131A52 -_08131950: - bl ResetSpriteData - b _08131A52 -_08131956: - bl ResetTasks - b _08131A52 -_0813195C: - bl sub_8131AB8 - ldr r0, _0813196C @ =gUnknown_203B118 - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x12] - b _08131A52 - .align 2, 0 -_0813196C: .4byte gUnknown_203B118 -_08131970: - bl sub_8133244 - b _08131A52 -_08131976: - bl sub_8131B20 - lsls r0, 24 - cmp r0, 0 - bne _08131982 - b _08131A80 -_08131982: - b _08131A52 -_08131984: - ldr r0, _0813198C @ =gUnknown_20398A4 - bl sub_809A5E4 - b _08131A52 - .align 2, 0 -_0813198C: .4byte gUnknown_20398A4 -_08131990: - bl sub_81320BC - bl sub_8132120 - bl sub_8132170 - b _08131A52 -_0813199E: - bl sub_8133404 - b _08131A52 -_081319A4: - bl sub_8131C10 - bl sub_8131C50 - b _08131A52 -_081319AE: - bl sub_81333C4 - b _08131A52 -_081319B4: - ldr r0, _081319C0 @ =gUnknown_203B10C - ldrb r0, [r0, 0x4] - cmp r0, 0x4 - bne _081319C8 - ldr r0, _081319C4 @ =sub_8132F20 - b _081319CA - .align 2, 0 -_081319C0: .4byte gUnknown_203B10C -_081319C4: .4byte sub_8132F20 -_081319C8: - ldr r0, _081319F4 @ =sub_81322D4 -_081319CA: - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _081319F8 @ =gUnknown_3005E70 - ldr r2, _081319FC @ =gUnknown_203B10C - ldrh r1, [r2, 0xA] - ldrh r2, [r2, 0x8] - bl ListMenuInit - ldr r2, _08131A00 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x8] - b _08131A52 - .align 2, 0 -_081319F4: .4byte sub_81322D4 -_081319F8: .4byte gUnknown_3005E70 -_081319FC: .4byte gUnknown_203B10C -_08131A00: .4byte gTasks -_08131A04: - bl sub_8132018 - b _08131A52 -_08131A0A: - ldr r0, _08131A2C @ =gUnknown_203B10C - ldrh r1, [r0, 0x8] - ldrh r0, [r0, 0xA] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl sub_813368C - ldr r1, _08131A30 @ =gUnknown_203B118 - ldr r1, [r1] - strb r0, [r1, 0x4] - b _08131A52 - .align 2, 0 -_08131A2C: .4byte gUnknown_203B10C -_08131A30: .4byte gUnknown_203B118 -_08131A34: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _08131A52 -_08131A42: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_08131A52: - ldr r1, _08131A64 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08131A80 - .align 2, 0 -_08131A64: .4byte gMain -_08131A68: - ldr r0, _08131A78 @ =sub_8131880 - bl SetVBlankCallback - ldr r0, _08131A7C @ =sub_8131864 - bl SetMainCallback2 - movs r0, 0x1 - b _08131A82 - .align 2, 0 -_08131A78: .4byte sub_8131880 -_08131A7C: .4byte sub_8131864 -_08131A80: - movs r0, 0 -_08131A82: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81318C0 - - thumb_func_start sub_8131A8C -sub_8131A8C: @ 8131A8C - ldr r0, _08131AA4 @ =gUnknown_203B118 - movs r1, 0 - str r1, [r0] - ldr r0, _08131AA8 @ =gUnknown_203B120 - str r1, [r0] - ldr r0, _08131AAC @ =gUnknown_203B124 - str r1, [r0] - ldr r0, _08131AB0 @ =gUnknown_203B128 - str r1, [r0] - ldr r0, _08131AB4 @ =gUnknown_203B12C - str r1, [r0] - bx lr - .align 2, 0 -_08131AA4: .4byte gUnknown_203B118 -_08131AA8: .4byte gUnknown_203B120 -_08131AAC: .4byte gUnknown_203B124 -_08131AB0: .4byte gUnknown_203B128 -_08131AB4: .4byte gUnknown_203B12C - thumb_func_end sub_8131A8C - - thumb_func_start sub_8131AB8 -sub_8131AB8: @ 8131AB8 - push {r4,lr} - bl sub_80BF7C8 - ldr r4, _08131B18 @ =gUnknown_203B120 - movs r0, 0x80 - lsls r0, 4 - bl AllocZeroed - str r0, [r4] - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08131B1C @ =gUnknown_8463134 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r1, [r4] - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08131B18: .4byte gUnknown_203B120 -_08131B1C: .4byte gUnknown_8463134 - thumb_func_end sub_8131AB8 - - thumb_func_start sub_8131B20 -sub_8131B20: @ 8131B20 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08131B3C @ =gUnknown_203B118 - ldr r0, [r4] - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bhi _08131BF8 - lsls r0, 2 - ldr r1, _08131B40 @ =_08131B44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08131B3C: .4byte gUnknown_203B118 -_08131B40: .4byte _08131B44 - .align 2, 0 -_08131B44: - .4byte _08131B58 - .4byte _08131B74 - .4byte _08131B94 - .4byte _08131BAC - .4byte _08131BDC -_08131B58: - bl reset_temp_tile_data_buffers - ldr r1, _08131B70 @ =gUnknown_8E845D8 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _08131BE2 - .align 2, 0 -_08131B70: .4byte gUnknown_8E845D8 -_08131B74: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08131C06 - ldr r0, _08131B8C @ =gUnknown_8E84A24 - ldr r1, _08131B90 @ =gUnknown_203B120 - ldr r1, [r1] - bl LZDecompressWram - b _08131BE2 - .align 2, 0 -_08131B8C: .4byte gUnknown_8E84A24 -_08131B90: .4byte gUnknown_203B120 -_08131B94: - ldr r4, _08131BA8 @ =gUnknown_8E84B70 - movs r0, 0x1 - bl GetBgTilemapBuffer - adds r1, r0, 0 - adds r0, r4, 0 - bl LZDecompressWram - b _08131BE2 - .align 2, 0 -_08131BA8: .4byte gUnknown_8E84B70 -_08131BAC: - ldr r0, _08131BC4 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08131BCC - ldr r0, _08131BC8 @ =gUnknown_8E84CB0 - movs r1, 0 - movs r2, 0x80 - bl LoadCompressedPalette - b _08131BE2 - .align 2, 0 -_08131BC4: .4byte gSaveBlock2Ptr -_08131BC8: .4byte gUnknown_8E84CB0 -_08131BCC: - ldr r0, _08131BD8 @ =gUnknown_8E84D20 - movs r1, 0 - movs r2, 0x80 - bl LoadCompressedPalette - b _08131BE2 - .align 2, 0 -_08131BD8: .4byte gUnknown_8E84D20 -_08131BDC: - ldr r0, _08131BF0 @ =gUnknown_8463218 - bl LoadCompressedObjectPic -_08131BE2: - ldr r0, _08131BF4 @ =gUnknown_203B118 - ldr r1, [r0] - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - b _08131C06 - .align 2, 0 -_08131BF0: .4byte gUnknown_8463218 -_08131BF4: .4byte gUnknown_203B118 -_08131BF8: - bl sub_81338A8 - ldr r1, [r4] - movs r0, 0 - strh r0, [r1, 0x12] - movs r0, 0x1 - b _08131C08 -_08131C06: - movs r0, 0 -_08131C08: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8131B20 - - thumb_func_start sub_8131C10 -sub_8131C10: @ 8131C10 - push {r4,lr} - ldr r0, _08131C40 @ =gUnknown_20398A4 - ldr r4, _08131C44 @ =gUnknown_203B124 - ldrb r0, [r0, 0x4] - adds r0, 0x1 - lsls r0, 3 - bl Alloc - str r0, [r4] - ldr r4, _08131C48 @ =gUnknown_203B128 - ldr r0, _08131C4C @ =gUnknown_203B118 - ldr r0, [r0] - ldrb r1, [r0, 0x6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - bl Alloc - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08131C40: .4byte gUnknown_20398A4 -_08131C44: .4byte gUnknown_203B124 -_08131C48: .4byte gUnknown_203B128 -_08131C4C: .4byte gUnknown_203B118 - thumb_func_end sub_8131C10 - - thumb_func_start sub_8131C50 -sub_8131C50: @ 8131C50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08131D28 @ =gUnknown_20398A4 - mov r8, r0 - movs r6, 0 - ldr r0, _08131D2C @ =gUnknown_203B118 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r6, r0 - bcs _08131CA0 - ldr r7, _08131D30 @ =gUnknown_203B128 -_08131C68: - lsls r5, r6, 3 - subs r4, r5, r6 - lsls r4, 2 - adds r4, r6 - ldr r0, [r7] - adds r0, r4 - mov r1, r8 - ldr r2, [r1] - lsls r1, r6, 2 - adds r1, r2 - ldrh r1, [r1] - bl sub_8131D48 - ldr r0, _08131D34 @ =gUnknown_203B124 - ldr r0, [r0] - adds r5, r0 - ldr r0, [r7] - adds r0, r4 - str r0, [r5] - str r6, [r5, 0x4] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _08131D2C @ =gUnknown_203B118 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r6, r0 - bcc _08131C68 -_08131CA0: - ldr r0, _08131D34 @ =gUnknown_203B124 - ldr r3, [r0] - lsls r0, r6, 3 - adds r0, r3 - ldr r1, _08131D38 @ =gUnknown_84166DB - str r1, [r0] - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - ldr r2, _08131D3C @ =gUnknown_3005E70 - str r3, [r2] - ldr r0, _08131D2C @ =gUnknown_203B118 - ldr r3, [r0] - ldrb r0, [r3, 0x6] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2, 0xC] - strb r1, [r2, 0x10] - strb r1, [r2, 0x11] - movs r0, 0x8 - strb r0, [r2, 0x12] - strb r1, [r2, 0x13] - ldrb r0, [r2, 0x16] - movs r4, 0x8 - negs r4, r4 - ands r4, r0 - movs r0, 0x39 - negs r0, r0 - ands r4, r0 - movs r0, 0x10 - orrs r4, r0 - strb r4, [r2, 0x16] - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r5, 0x2 - orrs r0, r5 - strb r0, [r2, 0x14] - ldrb r1, [r3, 0x5] - strh r1, [r2, 0xE] - ldrb r1, [r2, 0x17] - movs r3, 0x40 - negs r3, r3 - ands r3, r1 - orrs r3, r5 - movs r1, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x14] - movs r0, 0x30 - strb r0, [r2, 0x15] - ldr r0, _08131D40 @ =sub_8131E18 - str r0, [r2, 0x4] - ldr r0, _08131D44 @ =sub_8131E68 - str r0, [r2, 0x8] - movs r0, 0x3F - ands r3, r0 - strb r3, [r2, 0x17] - ands r4, r0 - strb r4, [r2, 0x16] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131D28: .4byte gUnknown_20398A4 -_08131D2C: .4byte gUnknown_203B118 -_08131D30: .4byte gUnknown_203B128 -_08131D34: .4byte gUnknown_203B124 -_08131D38: .4byte gUnknown_84166DB -_08131D3C: .4byte gUnknown_3005E70 -_08131D40: .4byte sub_8131E18 -_08131D44: .4byte sub_8131E68 - thumb_func_end sub_8131C50 - - thumb_func_start sub_8131D48 -sub_8131D48: @ 8131D48 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r5, _08131D8C @ =gStringVar4 - ldr r1, _08131D90 @ =gUnknown_84166FF - adds r0, r5, 0 - bl StringCopy - movs r0, 0xA9 - lsls r0, 1 - cmp r6, r0 - bls _08131DA4 - ldr r1, _08131D94 @ =gUnknown_8463178 - adds r0, r5, 0 - bl StringAppend - ldr r1, _08131D98 @ =gUnknown_8416226 - adds r0, r5, 0 - bl StringAppend - ldr r4, _08131D9C @ =gStringVar1 - ldr r0, _08131DA0 @ =0xfffffeae - adds r1, r6, r0 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend - b _08131DC4 - .align 2, 0 -_08131D8C: .4byte gStringVar4 -_08131D90: .4byte gUnknown_84166FF -_08131D94: .4byte gUnknown_8463178 -_08131D98: .4byte gUnknown_8416226 -_08131D9C: .4byte gStringVar1 -_08131DA0: .4byte 0xfffffeae -_08131DA4: - ldr r1, _08131DFC @ =gUnknown_8416226 - adds r0, r5, 0 - bl StringAppend - ldr r4, _08131E00 @ =gStringVar1 - ldr r0, _08131E04 @ =0xfffffee0 - adds r1, r6, r0 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend -_08131DC4: - ldr r4, _08131E08 @ =gStringVar4 - ldr r1, _08131E0C @ =gUnknown_846317C - adds r0, r4, 0 - bl StringAppend - ldr r1, _08131E10 @ =gUnknown_8416703 - adds r0, r4, 0 - bl StringAppend - adds r0, r6, 0 - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, _08131E14 @ =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringAppend - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131DFC: .4byte gUnknown_8416226 -_08131E00: .4byte gStringVar1 -_08131E04: .4byte 0xfffffee0 -_08131E08: .4byte gStringVar4 -_08131E0C: .4byte gUnknown_846317C -_08131E10: .4byte gUnknown_8416703 -_08131E14: .4byte gMoveNames - thumb_func_end sub_8131D48 - - thumb_func_start sub_8131E18 -sub_8131E18: @ 8131E18 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - bne _08131E2C - movs r5, 0 - b _08131E3A -_08131E2C: - lsls r1, r4, 16 - lsrs r1, 16 - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r5, r0, 16 -_08131E3A: - cmp r6, 0x1 - beq _08131E50 - movs r0, 0x5 - bl PlaySE - ldr r0, _08131E64 @ =gUnknown_203B118 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - adds r1, r5, 0 - bl sub_81337E4 -_08131E50: - adds r0, r4, 0 - bl sub_8131F0C - adds r0, r5, 0 - bl sub_8133444 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08131E64: .4byte gUnknown_203B118 - thumb_func_end sub_8131E18 - - thumb_func_start sub_8131E68 -sub_8131E68: @ 8131E68 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r7, r9 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - mov r4, r8 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _08131EFE - lsls r0, r1, 16 - lsrs r6, r0, 16 - movs r0, 0x4 - adds r1, r6, 0 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_unique - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08131EF4 - ldr r4, _08131EE8 @ =gStringVar1 - movs r0, 0x4 - adds r1, r6, 0 - bl sub_809A7B4 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _08131EEC @ =gStringVar4 - ldr r1, _08131EF0 @ =gUnknown_84162B9 - adds r0, r4, 0 - bl StringExpandPlaceholders - mov r0, r8 - str r0, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - mov r0, r9 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x7E - bl sub_81332EC - b _08131EFE - .align 2, 0 -_08131EE8: .4byte gStringVar1 -_08131EEC: .4byte gStringVar4 -_08131EF0: .4byte gUnknown_84162B9 -_08131EF4: - adds r0, r7, 0 - movs r1, 0x8 - adds r2, r4, 0 - bl sub_81335B0 -_08131EFE: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8131E68 - - thumb_func_start sub_8131F0C -sub_8131F0C: @ 8131F0C - push {r4,lr} - sub sp, 0x14 - adds r1, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _08131F30 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl ItemId_GetDescription - adds r4, r0, 0 - b _08131F32 -_08131F30: - ldr r4, _08131F60 @ =gUnknown_84166E1 -_08131F32: - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x3 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0x2 - bl sub_81332EC - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08131F60: .4byte gUnknown_84166E1 - thumb_func_end sub_8131F0C - - thumb_func_start sub_8131F64 -sub_8131F64: @ 8131F64 - push {lr} - sub sp, 0x8 - movs r1, 0x8 - str r1, [sp] - lsls r0, 1 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0xC - movs r3, 0x1E - bl sub_80F6B08 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_8131F64 - - thumb_func_start sub_8131F90 -sub_8131F90: @ 8131F90 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_8131FB0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8131F90 - - thumb_func_start sub_8131FB0 -sub_8131FB0: @ 8131FB0 - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0xFF - bne _08131FF4 - movs r0, 0x2 - movs r1, 0 - bl GetFontAttribute - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - adds r3, r5, 0 - bl FillWindowPixelRect - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - b _0813200A -_08131FF4: - ldr r2, _08132014 @ =gFameCheckerText_ListMenuCursor - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x2 - movs r3, 0 - bl sub_81332EC -_0813200A: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08132014: .4byte gFameCheckerText_ListMenuCursor - thumb_func_end sub_8131FB0 - - thumb_func_start sub_8132018 -sub_8132018: @ 8132018 - push {r4,lr} - sub sp, 0x10 - ldr r4, _0813204C @ =gUnknown_203B118 - ldr r1, [r4] - ldrb r0, [r1, 0x6] - ldrb r1, [r1, 0x5] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - ldr r0, _08132050 @ =gUnknown_203B116 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xA0 - movs r2, 0x8 - movs r3, 0x58 - bl AddScrollIndicatorArrowPairParametrized - ldr r1, [r4] - strb r0, [r1, 0x8] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813204C: .4byte gUnknown_203B118 -_08132050: .4byte gUnknown_203B116 - thumb_func_end sub_8132018 - - thumb_func_start sub_8132054 -sub_8132054: @ 8132054 - push {r4,lr} - sub sp, 0x10 - ldr r4, _08132088 @ =gUnknown_203B118 - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r1, 0xA - str r1, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x98 - movs r2, 0x48 - movs r3, 0x68 - bl AddScrollIndicatorArrowPairParametrized - ldr r1, [r4] - strb r0, [r1, 0x8] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08132088: .4byte gUnknown_203B118 - thumb_func_end sub_8132054 - - thumb_func_start sub_813208C -sub_813208C: @ 813208C - push {r4,lr} - ldr r4, _081320A8 @ =gUnknown_203B118 - ldr r1, [r4] - ldrb r0, [r1, 0x8] - cmp r0, 0xFF - beq _081320A2 - bl RemoveScrollIndicatorArrowPair - ldr r1, [r4] - movs r0, 0xFF - strb r0, [r1, 0x8] -_081320A2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081320A8: .4byte gUnknown_203B118 - thumb_func_end sub_813208C - - thumb_func_start sub_81320AC -sub_81320AC: @ 81320AC - ldr r1, _081320B8 @ =gUnknown_203B10C - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - bx lr - .align 2, 0 -_081320B8: .4byte gUnknown_203B10C - thumb_func_end sub_81320AC - - thumb_func_start sub_81320BC -sub_81320BC: @ 81320BC - push {r4,lr} - ldr r4, _08132118 @ =gUnknown_20398A4 - ldr r0, [r4] - ldrb r1, [r4, 0x4] - bl sub_809A584 - ldr r3, _0813211C @ =gUnknown_203B118 - ldr r1, [r3] - movs r0, 0 - strb r0, [r1, 0x6] - movs r2, 0 - ldrb r0, [r4, 0x4] - cmp r2, r0 - bcs _08132100 - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08132100 -_081320E0: - ldr r0, [r3] - ldrb r1, [r0, 0x6] - adds r1, 0x1 - strb r1, [r0, 0x6] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r0, [r4, 0x4] - cmp r2, r0 - bcs _08132100 - ldr r0, [r4] - lsls r1, r2, 2 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _081320E0 -_08132100: - ldr r0, _0813211C @ =gUnknown_203B118 - ldr r1, [r0] - ldrb r0, [r1, 0x6] - adds r0, 0x1 - cmp r0, 0x5 - ble _0813210E - movs r0, 0x5 -_0813210E: - strb r0, [r1, 0x5] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08132118: .4byte gUnknown_20398A4 -_0813211C: .4byte gUnknown_203B118 - thumb_func_end sub_81320BC - - thumb_func_start sub_8132120 -sub_8132120: @ 8132120 - push {r4,r5,lr} - ldr r0, _08132160 @ =gUnknown_203B10C - ldrh r1, [r0, 0xA] - adds r4, r0, 0 - ldr r5, _08132164 @ =gUnknown_203B118 - cmp r1, 0 - beq _08132144 - ldrh r0, [r4, 0xA] - ldr r1, [r5] - ldrb r3, [r1, 0x5] - adds r0, r3 - ldrb r2, [r1, 0x6] - adds r1, r2, 0x1 - cmp r0, r1 - ble _08132144 - subs r0, r3, 0x1 - subs r0, r2, r0 - strh r0, [r4, 0xA] -_08132144: - adds r3, r4, 0 - ldrh r0, [r3, 0xA] - ldrh r1, [r3, 0x8] - adds r0, r1 - ldr r1, [r5] - ldrb r1, [r1, 0x6] - adds r2, r1, 0x1 - cmp r0, r2 - blt _0813216A - cmp r2, 0x1 - bgt _08132168 - movs r0, 0 - strh r0, [r3, 0x8] - b _0813216A - .align 2, 0 -_08132160: .4byte gUnknown_203B10C -_08132164: .4byte gUnknown_203B118 -_08132168: - strh r1, [r4, 0x8] -_0813216A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8132120 - - thumb_func_start sub_8132170 -sub_8132170: @ 8132170 - push {r4-r6,lr} - ldr r0, _081321CC @ =gUnknown_203B10C - ldrh r1, [r0, 0x8] - adds r6, r0, 0 - cmp r1, 0x3 - bls _081321C4 - movs r4, 0 - ldrh r0, [r6, 0x8] - subs r0, 0x3 - cmp r4, r0 - bgt _081321C4 - ldrh r1, [r6, 0xA] - ldr r5, _081321D0 @ =gUnknown_203B118 - ldr r2, [r5] - ldrb r0, [r2, 0x5] - adds r1, r0 - ldrb r0, [r2, 0x6] - adds r0, 0x1 - cmp r1, r0 - beq _081321C4 - adds r3, r6, 0 -_0813219A: - ldrh r0, [r3, 0x8] - subs r0, 0x1 - strh r0, [r3, 0x8] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r3, 0x8] - subs r0, 0x3 - cmp r4, r0 - bgt _081321C4 - ldrh r1, [r6, 0xA] - ldr r2, [r5] - ldrb r0, [r2, 0x5] - adds r1, r0 - ldrb r0, [r2, 0x6] - adds r0, 0x1 - cmp r1, r0 - bne _0813219A -_081321C4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081321CC: .4byte gUnknown_203B10C -_081321D0: .4byte gUnknown_203B118 - thumb_func_end sub_8132170 - - thumb_func_start sub_81321D4 -sub_81321D4: @ 81321D4 - push {lr} - ldr r0, _0813221C @ =gUnknown_203B118 - ldr r0, [r0] - cmp r0, 0 - beq _081321E2 - bl Free -_081321E2: - ldr r0, _08132220 @ =gUnknown_203B120 - ldr r0, [r0] - cmp r0, 0 - beq _081321EE - bl Free -_081321EE: - ldr r0, _08132224 @ =gUnknown_203B124 - ldr r0, [r0] - cmp r0, 0 - beq _081321FA - bl Free -_081321FA: - ldr r0, _08132228 @ =gUnknown_203B128 - ldr r0, [r0] - cmp r0, 0 - beq _08132206 - bl Free -_08132206: - ldr r0, _0813222C @ =gUnknown_203B12C - ldr r0, [r0] - cmp r0, 0 - beq _08132212 - bl Free -_08132212: - bl FreeAllWindowBuffers - pop {r0} - bx r0 - .align 2, 0 -_0813221C: .4byte gUnknown_203B118 -_08132220: .4byte gUnknown_203B120 -_08132224: .4byte gUnknown_203B124 -_08132228: .4byte gUnknown_203B128 -_0813222C: .4byte gUnknown_203B12C - thumb_func_end sub_81321D4 - - thumb_func_start sub_8132230 -sub_8132230: @ 8132230 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08132264 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08132268 @ =sub_813226C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08132264: .4byte gTasks -_08132268: .4byte sub_813226C - thumb_func_end sub_8132230 - - thumb_func_start sub_813226C -sub_813226C: @ 813226C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _081322A4 @ =gTasks+0x8 - adds r2, r0, r1 - ldr r0, _081322A8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081322CC - ldrb r0, [r2] - ldr r4, _081322AC @ =gUnknown_203B116 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl sub_810713C - ldr r0, _081322B0 @ =gUnknown_203B118 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _081322B4 - bl SetMainCallback2 - b _081322BE - .align 2, 0 -_081322A4: .4byte gTasks+0x8 -_081322A8: .4byte gPaletteFade -_081322AC: .4byte gUnknown_203B116 -_081322B0: .4byte gUnknown_203B118 -_081322B4: - adds r0, r4, 0 - subs r0, 0xA - ldr r0, [r0] - bl SetMainCallback2 -_081322BE: - bl sub_813208C - bl sub_81321D4 - adds r0, r5, 0 - bl DestroyTask -_081322CC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_813226C - - thumb_func_start sub_81322D4 -sub_81322D4: @ 81322D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08132340 @ =gTasks+0x8 - adds r6, r0, r1 - ldr r0, _08132344 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0 - bne _081323C8 - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081323C8 - ldrb r0, [r6] - bl ListMenuHandleInput - adds r5, r0, 0 - ldrb r0, [r6] - ldr r4, _08132348 @ =gUnknown_203B116 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl get_coro_args_x18_x1A - ldr r0, _0813234C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08132354 - adds r0, r4, 0 - subs r0, 0xA - ldrb r0, [r0, 0x5] - cmp r0, 0x1 - bne _08132354 - movs r0, 0x5 - bl PlaySE - ldr r0, _08132350 @ =gSpecialVar_ItemId - mov r1, r8 - strh r1, [r0] - b _08132370 - .align 2, 0 -_08132340: .4byte gTasks+0x8 -_08132344: .4byte gPaletteFade -_08132348: .4byte gUnknown_203B116 -_0813234C: .4byte gMain -_08132350: .4byte gSpecialVar_ItemId -_08132354: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _08132364 - adds r0, 0x1 - cmp r5, r0 - bne _0813237C - b _081323C8 -_08132364: - movs r0, 0x5 - bl PlaySE - ldr r1, _08132378 @ =gSpecialVar_ItemId - movs r0, 0 - strh r0, [r1] -_08132370: - adds r0, r7, 0 - bl sub_8132230 - b _081323C8 - .align 2, 0 -_08132378: .4byte gSpecialVar_ItemId -_0813237C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_8131F64 - bl sub_813208C - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8131F90 - strh r5, [r6, 0x2] - lsls r4, r5, 16 - lsrs r4, 16 - movs r0, 0x4 - adds r1, r4, 0 - bl sub_809A7B4 - strh r0, [r6, 0x4] - movs r0, 0x4 - adds r1, r4, 0 - bl sub_809A798 - ldr r1, _081323D4 @ =gSpecialVar_ItemId - strh r0, [r1] - ldr r0, _081323D8 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r2, _081323DC @ =gUnknown_8463140 - ldr r0, _081323E0 @ =gUnknown_203B10C - ldrb r0, [r0, 0x4] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] -_081323C8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081323D4: .4byte gSpecialVar_ItemId -_081323D8: .4byte gTasks -_081323DC: .4byte gUnknown_8463140 -_081323E0: .4byte gUnknown_203B10C - thumb_func_end sub_81322D4 - - thumb_func_start sub_81323E4 -sub_81323E4: @ 81323E4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_8131F64 - bl sub_8132018 - ldr r1, _0813240C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08132410 @ =sub_81322D4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813240C: .4byte gTasks -_08132410: .4byte sub_81322D4 - thumb_func_end sub_81323E4 - - thumb_func_start sub_8132414 -sub_8132414: @ 8132414 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x2 - bl sub_8133368 - bl sub_80BF708 - lsls r0, 24 - cmp r0, 0 - bne _08132454 - bl InUnionRoom - cmp r0, 0x1 - beq _08132454 - ldr r4, _0813244C @ =gUnknown_203B118 - ldr r0, [r4] - adds r0, 0x7 - movs r1, 0 - bl sub_8133630 - ldr r1, [r4] - ldr r0, _08132450 @ =gUnknown_8463168 - str r0, [r1, 0xC] - movs r0, 0x3 - b _08132468 - .align 2, 0 -_0813244C: .4byte gUnknown_203B118 -_08132450: .4byte gUnknown_8463168 -_08132454: - ldr r4, _0813254C @ =gUnknown_203B118 - ldr r0, [r4] - adds r0, 0x7 - movs r1, 0x1 - bl sub_8133630 - ldr r1, [r4] - ldr r0, _08132550 @ =gUnknown_846316B - str r0, [r1, 0xC] - movs r0, 0x2 -_08132468: - strb r0, [r1, 0x10] - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - ldr r6, _0813254C @ =gUnknown_203B118 - ldr r1, [r6] - ldrb r2, [r1, 0x7] - movs r5, 0 - str r5, [sp] - str r0, [sp, 0x4] - ldrb r0, [r1, 0x10] - str r0, [sp, 0x8] - ldr r0, _08132554 @ =gUnknown_8463150 - str r0, [sp, 0xC] - ldr r0, [r1, 0xC] - str r0, [sp, 0x10] - adds r0, r2, 0 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0x2 - bl AddItemMenuActionTextPrinters - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r6] - ldrb r2, [r1, 0x7] - str r0, [sp] - ldrb r0, [r1, 0x10] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r2, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl ProgramAndPlaceMenuCursorOnWindow - movs r0, 0x80 - lsls r0, 1 - bl Alloc - adds r4, r0, 0 - ldr r6, _08132558 @ =gSpecialVar_ItemId - ldrh r1, [r6] - bl sub_8131D48 - ldr r1, _0813255C @ =gUnknown_8416301 - adds r0, r4, 0 - bl StringAppend - movs r0, 0x2 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r5, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x2 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl sub_81332EC - adds r0, r4, 0 - bl Free - ldrh r0, [r6] - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - beq _08132528 - movs r0, 0x2 - movs r1, 0 - movs r2, 0x2 - bl sub_81335B0 - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram -_08132528: - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, _08132560 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _08132564 @ =sub_8132568 - str r0, [r1] - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813254C: .4byte gUnknown_203B118 -_08132550: .4byte gUnknown_846316B -_08132554: .4byte gUnknown_8463150 -_08132558: .4byte gSpecialVar_ItemId -_0813255C: .4byte gUnknown_8416301 -_08132560: .4byte gTasks -_08132564: .4byte sub_8132568 - thumb_func_end sub_8132414 - - thumb_func_start sub_8132568 -sub_8132568: @ 8132568 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081325E0 - bl ProcessMenuInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081325E0 - adds r0, 0x1 - cmp r4, r0 - bne _081325C0 - movs r0, 0x5 - bl PlaySE - ldr r2, _081325B8 @ =gUnknown_8463150 - ldr r0, _081325BC @ =gUnknown_203B118 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - ldr r1, [r1, 0xC] - adds r0, r1 - subs r0, 0x1 - ldrb r0, [r0] - lsls r0, 3 - adds r2, 0x4 - adds r0, r2 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _081325E0 - .align 2, 0 -_081325B8: .4byte gUnknown_8463150 -_081325BC: .4byte gUnknown_203B118 -_081325C0: - movs r0, 0x5 - bl PlaySE - ldr r1, _081325E8 @ =gUnknown_8463150 - ldr r0, _081325EC @ =gUnknown_203B118 - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, r4 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl _call_via_r1 -_081325E0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081325E8: .4byte gUnknown_8463150 -_081325EC: .4byte gUnknown_203B118 - thumb_func_end sub_8132568 - - thumb_func_start sub_81325F0 -sub_81325F0: @ 81325F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _08132634 @ =gUnknown_203B118 - ldr r0, [r5] - adds r0, 0x7 - bl sub_8133664 - movs r0, 0x2 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x2 - bl ClearWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _08132638 - adds r0, r4, 0 - bl sub_81326F8 - b _0813264A - .align 2, 0 -_08132634: .4byte gUnknown_203B118 -_08132638: - ldr r1, _08132650 @ =gUnknown_3005E98 - ldr r0, _08132654 @ =sub_8125B40 - str r0, [r1] - ldr r1, [r5] - ldr r0, _08132658 @ =sub_8124C8C - str r0, [r1] - adds r0, r4, 0 - bl sub_8132230 -_0813264A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08132650: .4byte gUnknown_3005E98 -_08132654: .4byte sub_8125B40 -_08132658: .4byte sub_8124C8C - thumb_func_end sub_81325F0 - - thumb_func_start sub_813265C -sub_813265C: @ 813265C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _081326D0 @ =gTasks+0x8 - adds r0, r1 - ldrh r1, [r0, 0x2] - movs r0, 0x4 - bl sub_809A798 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r6, _081326D4 @ =gUnknown_203B118 - ldr r0, [r6] - adds r0, 0x7 - bl sub_8133664 - movs r0, 0x2 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x2 - bl ClearWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r4, 0 - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - bne _081326EC - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _081326D8 - adds r0, r5, 0 - bl sub_81326F8 - b _081326F2 - .align 2, 0 -_081326D0: .4byte gTasks+0x8 -_081326D4: .4byte gUnknown_203B118 -_081326D8: - ldr r1, [r6] - ldr r0, _081326E8 @ =sub_8126EDC - str r0, [r1] - adds r0, r5, 0 - bl sub_8132230 - b _081326F2 - .align 2, 0 -_081326E8: .4byte sub_8126EDC -_081326EC: - adds r0, r5, 0 - bl sub_8132714 -_081326F2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813265C - - thumb_func_start sub_81326F8 -sub_81326F8: @ 81326F8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0813270C @ =gUnknown_841632A - ldr r3, _08132710 @ =sub_8132758 - movs r1, 0x2 - bl sub_813337C - pop {r0} - bx r0 - .align 2, 0 -_0813270C: .4byte gUnknown_841632A -_08132710: .4byte sub_8132758 - thumb_func_end sub_81326F8 - - thumb_func_start sub_8132714 -sub_8132714: @ 8132714 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08132744 @ =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, _08132748 @ =gStringVar1 - bl CopyItemName - ldr r5, _0813274C @ =gStringVar4 - ldr r1, _08132750 @ =gUnknown_841635E - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r3, _08132754 @ =sub_8132758 - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl sub_813337C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08132744: .4byte gSpecialVar_ItemId -_08132748: .4byte gStringVar1 -_0813274C: .4byte gStringVar4 -_08132750: .4byte gUnknown_841635E -_08132754: .4byte sub_8132758 - thumb_func_end sub_8132714 - - thumb_func_start sub_8132758 -sub_8132758: @ 8132758 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813277C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08132776 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_8132780 -_08132776: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813277C: .4byte gMain - thumb_func_end sub_8132758 - - thumb_func_start sub_8132780 -sub_8132780: @ 8132780 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, r6, 2 - adds r5, r6 - lsls r5, 3 - ldr r0, _081327F0 @ =gTasks+0x8 - adds r5, r0 - ldrb r0, [r5] - ldr r4, _081327F4 @ =gUnknown_203B116 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl sub_810713C - ldr r0, _081327F8 @ =gUnknown_3005E70 - subs r4, 0xA - ldrh r1, [r4, 0xA] - ldrh r2, [r4, 0x8] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r1, 0x1 - bl sub_8131F90 - movs r0, 0x6 - movs r1, 0 - bl sub_810F260 - movs r0, 0x6 - bl ClearWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r6, 0 - bl sub_81323E4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081327F0: .4byte gTasks+0x8 -_081327F4: .4byte gUnknown_203B116 -_081327F8: .4byte gUnknown_3005E70 - thumb_func_end sub_8132780 - - thumb_func_start sub_81327FC -sub_81327FC: @ 81327FC - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08132860 @ =gTasks+0x8 - adds r4, r0 - ldr r0, _08132864 @ =gUnknown_203B118 - ldr r0, [r0] - adds r0, 0x7 - bl sub_8133664 - movs r0, 0x2 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x2 - bl ClearWindowTilemap - movs r0, 0 - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8131F90 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r5, 0 - bl sub_81323E4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08132860: .4byte gTasks+0x8 -_08132864: .4byte gUnknown_203B118 - thumb_func_end sub_81327FC - - thumb_func_start sub_8132868 -sub_8132868: @ 8132868 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _081328A0 @ =gTasks+0x8 - adds r0, r1 - ldrh r1, [r0, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - bne _081328AC - ldr r0, _081328A4 @ =gUnknown_203B118 - ldr r1, [r0] - ldr r0, _081328A8 @ =c2_8123744 - str r0, [r1] - adds r0, r4, 0 - bl sub_8132230 - b _081328B2 - .align 2, 0 -_081328A0: .4byte gTasks+0x8 -_081328A4: .4byte gUnknown_203B118 -_081328A8: .4byte c2_8123744 -_081328AC: - adds r0, r4, 0 - bl sub_8132714 -_081328B2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8132868 - - thumb_func_start sub_81328B8 -sub_81328B8: @ 81328B8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _081328F0 @ =gTasks+0x8 - adds r0, r1 - ldrh r1, [r0, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - bne _081328FC - ldr r0, _081328F4 @ =gUnknown_203B118 - ldr r1, [r0] - ldr r0, _081328F8 @ =sub_808CE60 - str r0, [r1] - adds r0, r4, 0 - bl sub_8132230 - b _08132902 - .align 2, 0 -_081328F0: .4byte gTasks+0x8 -_081328F4: .4byte gUnknown_203B118 -_081328F8: .4byte sub_808CE60 -_081328FC: - adds r0, r4, 0 - bl sub_8132714 -_08132902: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81328B8 - - thumb_func_start sub_8132908 -sub_8132908: @ 8132908 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08132950 @ =gTasks+0x8 - adds r4, r0, r1 - ldr r6, _08132954 @ =gSpecialVar_ItemId - ldrh r0, [r6] - bl itemid_get_market_price - lsls r0, 16 - cmp r0, 0 - bne _08132968 - ldrh r0, [r6] - ldr r1, _08132958 @ =gStringVar1 - bl CopyItemName - ldr r4, _0813295C @ =gStringVar4 - ldr r1, _08132960 @ =gUnknown_84168F1 - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08132964 @ =sub_8132780 - adds r0, r5, 0 - adds r2, r4, 0 - bl sub_813337C - b _081329AE - .align 2, 0 -_08132950: .4byte gTasks+0x8 -_08132954: .4byte gSpecialVar_ItemId -_08132958: .4byte gStringVar1 -_0813295C: .4byte gStringVar4 -_08132960: .4byte gUnknown_84168F1 -_08132964: .4byte sub_8132780 -_08132968: - movs r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08132980 - bl sub_81335E0 - adds r0, r5, 0 - bl sub_81329C4 - b _081329AE -_08132980: - cmp r0, 0x63 - ble _08132988 - movs r0, 0x63 - strh r0, [r4, 0x4] -_08132988: - ldrh r0, [r6] - ldr r1, _081329B4 @ =gStringVar1 - bl CopyItemName - ldr r4, _081329B8 @ =gStringVar4 - ldr r1, _081329BC @ =gUnknown_8416911 - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _081329C0 @ =sub_8132AAC - adds r0, r7, 0 - adds r2, r4, 0 - bl sub_813337C -_081329AE: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081329B4: .4byte gStringVar1 -_081329B8: .4byte gStringVar4 -_081329BC: .4byte gUnknown_8416911 -_081329C0: .4byte sub_8132AAC - thumb_func_end sub_8132908 - - thumb_func_start sub_81329C4 -sub_81329C4: @ 81329C4 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08132A20 @ =gTasks+0x8 - adds r4, r0 - ldr r6, _08132A24 @ =gStringVar3 - ldrh r1, [r4, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r4, r2] - muls r1, r0 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _08132A28 @ =gStringVar4 - ldr r1, _08132A2C @ =gUnknown_8416936 - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08132A30 @ =sub_8132A34 - adds r0, r5, 0 - adds r2, r4, 0 - bl sub_813337C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08132A20: .4byte gTasks+0x8 -_08132A24: .4byte gStringVar3 -_08132A28: .4byte gStringVar4 -_08132A2C: .4byte gUnknown_8416936 -_08132A30: .4byte sub_8132A34 - thumb_func_end sub_81329C4 - - thumb_func_start sub_8132A34 -sub_8132A34: @ 8132A34 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08132A44 @ =gUnknown_8463170 - bl sub_8133604 - pop {r0} - bx r0 - .align 2, 0 -_08132A44: .4byte gUnknown_8463170 - thumb_func_end sub_8132A34 - - thumb_func_start sub_8132A48 -sub_8132A48: @ 8132A48 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08132AA8 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x8 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x6 - movs r1, 0 - bl sub_810F260 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8131F90 - adds r0, r5, 0 - bl sub_81323E4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08132AA8: .4byte gTasks+0x8 - thumb_func_end sub_8132A48 - - thumb_func_start sub_8132AAC -sub_8132AAC: @ 8132AAC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r6, _08132B48 @ =gTasks+0x8 - adds r0, r4, r6 - mov r8, r0 - movs r0, 0x7 - bl sub_8133354 - ldr r0, _08132B4C @ =gStringVar1 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r5, _08132B50 @ =gStringVar4 - ldr r1, _08132B54 @ =gUnknown_84162B9 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - movs r0, 0x7 - movs r1, 0 - adds r2, r5, 0 - movs r3, 0x4 - bl sub_81332EC - mov r2, r8 - ldrh r1, [r2, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - mov r3, r8 - movs r2, 0x10 - ldrsh r1, [r3, r2] - muls r1, r0 - movs r0, 0x1 - bl sub_8132B5C - bl sub_81335E0 - bl sub_8132054 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - subs r6, 0x8 - adds r4, r6 - ldr r0, _08132B58 @ =sub_8132BC8 - str r0, [r4] - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08132B48: .4byte gTasks+0x8 -_08132B4C: .4byte gStringVar1 -_08132B50: .4byte gStringVar4 -_08132B54: .4byte gUnknown_84162B9 -_08132B58: .4byte sub_8132BC8 - thumb_func_end sub_8132AAC - - thumb_func_start sub_8132B5C -sub_8132B5C: @ 8132B5C - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x7 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, _08132BBC @ =gStringVar1 - lsls r4, 16 - asrs r4, 16 - adds r1, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r5, _08132BC0 @ =gStringVar4 - ldr r1, _08132BC4 @ =gUnknown_84162B9 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x7 - movs r1, 0 - adds r2, r5, 0 - movs r3, 0x4 - bl sub_81332EC - str r4, [sp] - movs r0, 0x7 - movs r1, 0x38 - movs r2, 0xA - adds r3, r6, 0 - bl PrintMoneyAmount - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08132BBC: .4byte gStringVar1 -_08132BC0: .4byte gStringVar4 -_08132BC4: .4byte gUnknown_84162B9 - thumb_func_end sub_8132B5C - - thumb_func_start sub_8132BC8 -sub_8132BC8: @ 8132BC8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08132C14 @ =gTasks+0x8 - adds r5, r0, r1 - adds r0, r5, 0 - adds r0, 0x10 - ldrh r1, [r5, 0x4] - bl sub_80BF848 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08132C18 - movs r0, 0x10 - ldrsh r4, [r5, r0] - ldrh r1, [r5, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r5, r2] - muls r1, r0 - adds r0, r4, 0 - bl sub_8132B5C - b _08132CA6 - .align 2, 0 -_08132C14: .4byte gTasks+0x8 -_08132C18: - ldr r0, _08132C4C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08132C50 - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl sub_813208C - adds r0, r4, 0 - bl sub_81329C4 - b _08132CA6 - .align 2, 0 -_08132C4C: .4byte gMain -_08132C50: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08132CA6 - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x8 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x6 - movs r1, 0 - bl sub_810F260 - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl sub_813208C - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8131F90 - adds r0, r6, 0 - bl sub_81323E4 -_08132CA6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8132BC8 - - thumb_func_start sub_8132CAC -sub_8132CAC: @ 8132CAC - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08132D18 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, _08132D1C @ =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, _08132D20 @ =gStringVar1 - bl CopyItemName - ldr r6, _08132D24 @ =gStringVar3 - ldrh r1, [r4, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r4, r2] - muls r1, r0 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _08132D28 @ =gStringVar4 - ldr r1, _08132D2C @ =gUnknown_8416959 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r3, _08132D30 @ =sub_8132D34 - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl sub_813337C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08132D18: .4byte gTasks+0x8 -_08132D1C: .4byte gSpecialVar_ItemId -_08132D20: .4byte gStringVar1 -_08132D24: .4byte gStringVar3 -_08132D28: .4byte gStringVar4 -_08132D2C: .4byte gUnknown_8416959 -_08132D30: .4byte sub_8132D34 - thumb_func_end sub_8132CAC - - thumb_func_start sub_8132D34 -sub_8132D34: @ 8132D34 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - lsls r6, r0, 2 - adds r6, r0 - lsls r6, 3 - ldr r0, _08132DF4 @ =gTasks+0x8 - mov r9, r0 - adds r1, r6, 0 - add r1, r9 - mov r8, r1 - movs r0, 0xF8 - bl PlaySE - ldr r5, _08132DF8 @ =gSpecialVar_ItemId - ldrh r0, [r5] - mov r2, r8 - ldrh r1, [r2, 0x10] - bl RemoveBagItem - ldr r7, _08132DFC @ =gSaveBlock1Ptr - ldr r4, [r7] - movs r3, 0xA4 - lsls r3, 2 - mov r10, r3 - add r4, r10 - ldrh r0, [r5] - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - mov r2, r8 - movs r3, 0x10 - ldrsh r1, [r2, r3] - muls r1, r0 - adds r0, r4, 0 - bl AddMoney - ldrh r0, [r5] - mov r2, r8 - ldrh r1, [r2, 0x10] - movs r2, 0x2 - bl sub_809C09C - mov r3, r8 - ldrb r0, [r3] - ldr r4, _08132E00 @ =gUnknown_203B116 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl sub_810713C - bl sub_81320BC - bl sub_8132120 - bl sub_8131C50 - ldr r0, _08132E04 @ =gUnknown_3005E70 - subs r4, 0xA - ldrh r1, [r4, 0xA] - ldrh r2, [r4, 0x8] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1] - movs r1, 0x2 - bl sub_8131F90 - ldr r0, [r7] - add r0, r10 - bl GetMoney - adds r1, r0, 0 - movs r0, 0x8 - movs r2, 0 - bl PrintMoneyAmountInMoneyBox - movs r2, 0x8 - negs r2, r2 - add r9, r2 - add r6, r9 - ldr r0, _08132E08 @ =sub_8132E0C - str r0, [r6] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08132DF4: .4byte gTasks+0x8 -_08132DF8: .4byte gSpecialVar_ItemId -_08132DFC: .4byte gSaveBlock1Ptr -_08132E00: .4byte gUnknown_203B116 -_08132E04: .4byte gUnknown_3005E70 -_08132E08: .4byte sub_8132E0C - thumb_func_end sub_8132D34 - - thumb_func_start sub_8132E0C -sub_8132E0C: @ 8132E0C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08132E60 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08132E26 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08132E5A -_08132E26: - movs r0, 0x5 - bl PlaySE - movs r0, 0x8 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x6 - movs r1, 0 - bl sub_810F260 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - adds r0, r4, 0 - bl sub_8132780 -_08132E5A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08132E60: .4byte gMain - thumb_func_end sub_8132E0C - - thumb_func_start sub_8132E64 -sub_8132E64: @ 8132E64 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r4, _08132EFC @ =gUnknown_203B11C - movs r0, 0xB2 - lsls r0, 1 - bl AllocZeroed - str r0, [r4] - ldr r5, _08132F00 @ =gSaveBlock1Ptr - ldr r1, [r5] - ldr r2, _08132F04 @ =0x00000464 - mov r8, r2 - add r1, r8 - movs r2, 0xE8 - bl memcpy - ldr r0, [r4] - adds r0, 0xE8 - ldr r1, [r5] - movs r6, 0xEE - lsls r6, 2 - adds r1, r6 - movs r2, 0x78 - bl memcpy - ldr r3, [r4] - ldr r2, _08132F08 @ =gUnknown_203B10C - ldrh r1, [r2, 0x8] - movs r4, 0xB0 - lsls r4, 1 - adds r0, r3, r4 - strh r1, [r0] - ldrh r0, [r2, 0xA] - movs r2, 0xB1 - lsls r2, 1 - adds r1, r3, r2 - strh r0, [r1] - ldr r0, [r5] - add r0, r8 - movs r1, 0x3A - bl ClearItemSlots - ldr r0, [r5] - adds r0, r6 - movs r1, 0x1E - bl ClearItemSlots - bl sub_81320AC - ldr r0, _08132F0C @ =0x00000121 - movs r1, 0x1 - bl AddBagItem - ldr r0, _08132F10 @ =0x00000123 - movs r1, 0x1 - bl AddBagItem - ldr r0, _08132F14 @ =0x00000129 - movs r1, 0x1 - bl AddBagItem - ldr r0, _08132F18 @ =0x00000143 - movs r1, 0x1 - bl AddBagItem - ldr r1, _08132F1C @ =sub_815ABFC - movs r0, 0x4 - movs r2, 0 - bl sub_81317F8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08132EFC: .4byte gUnknown_203B11C -_08132F00: .4byte gSaveBlock1Ptr -_08132F04: .4byte 0x00000464 -_08132F08: .4byte gUnknown_203B10C -_08132F0C: .4byte 0x00000121 -_08132F10: .4byte 0x00000123 -_08132F14: .4byte 0x00000129 -_08132F18: .4byte 0x00000143 -_08132F1C: .4byte sub_815ABFC - thumb_func_end sub_8132E64 - - thumb_func_start sub_8132F20 -sub_8132F20: @ 8132F20 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r3, r1, 3 - ldr r4, _08132F54 @ =gTasks+0x8 - adds r2, r3, r4 - ldr r0, _08132F58 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08132F4E - strh r0, [r2, 0x10] - strh r0, [r2, 0x12] - adds r0, r4, 0 - subs r0, 0x8 - adds r0, r3, r0 - ldr r1, _08132F5C @ =sub_8132F60 - str r1, [r0] -_08132F4E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08132F54: .4byte gTasks+0x8 -_08132F58: .4byte gPaletteFade -_08132F5C: .4byte sub_8132F60 - thumb_func_end sub_8132F20 - - thumb_func_start sub_8132F60 -sub_8132F60: @ 8132F60 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08132FA4 @ =gTasks+0x8 - adds r6, r0, r1 - ldr r0, _08132FA8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08132F8E - movs r1, 0x10 - ldrsh r0, [r6, r1] - cmp r0, 0x14 - bgt _08132F8E - movs r0, 0x15 - strh r0, [r6, 0x10] - bl sub_815AC20 -_08132F8E: - movs r3, 0x10 - ldrsh r0, [r6, r3] - cmp r0, 0x15 - bls _08132F98 - b _08133210 -_08132F98: - lsls r0, 2 - ldr r1, _08132FAC @ =_08132FB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08132FA4: .4byte gTasks+0x8 -_08132FA8: .4byte gMain -_08132FAC: .4byte _08132FB0 - .align 2, 0 -_08132FB0: - .4byte _08133008 - .4byte _08133024 - .4byte _08133050 - .4byte _08133050 - .4byte _08133050 - .4byte _08133080 - .4byte _08133080 - .4byte _08133080 - .4byte _081330B0 - .4byte _081330E0 - .4byte _081330F4 - .4byte _08133024 - .4byte _08133050 - .4byte _08133050 - .4byte _08133050 - .4byte _08133080 - .4byte _08133080 - .4byte _08133080 - .4byte _0813312C - .4byte _081330E0 - .4byte _0813315C - .4byte _08133170 -_08133008: - ldr r0, _08133020 @ =0xffff8405 - movs r1, 0 - str r1, [sp] - movs r1, 0x4 - movs r2, 0 - movs r3, 0x6 - bl BeginNormalPaletteFade - movs r0, 0x1 - bl sub_8131F64 - b _081331EA - .align 2, 0 -_08133020: .4byte 0xffff8405 -_08133024: - ldr r0, _0813304C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08133036 - b _08133232 -_08133036: - ldrh r0, [r6, 0x12] - adds r0, 0x1 - strh r0, [r6, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bgt _08133046 - b _08133232 -_08133046: - strh r1, [r6, 0x12] - b _081331EA - .align 2, 0 -_0813304C: .4byte gPaletteFade -_08133050: - movs r0, 0x12 - ldrsh r1, [r6, r0] - cmp r1, 0 - bne _08133066 - ldr r0, _0813307C @ =gMain - strh r1, [r0, 0x2E] - movs r1, 0x80 - strh r1, [r0, 0x30] - ldrb r0, [r6] - bl ListMenuHandleInput -_08133066: - ldrh r0, [r6, 0x12] - adds r0, 0x1 - strh r0, [r6, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bgt _08133076 - b _08133232 -_08133076: - movs r0, 0 - strh r0, [r6, 0x12] - b _081331EA - .align 2, 0 -_0813307C: .4byte gMain -_08133080: - movs r3, 0x12 - ldrsh r1, [r6, r3] - cmp r1, 0 - bne _08133096 - ldr r0, _081330AC @ =gMain - strh r1, [r0, 0x2E] - movs r1, 0x40 - strh r1, [r0, 0x30] - ldrb r0, [r6] - bl ListMenuHandleInput -_08133096: - ldrh r0, [r6, 0x12] - adds r0, 0x1 - strh r0, [r6, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bgt _081330A6 - b _08133232 -_081330A6: - movs r0, 0 - strh r0, [r6, 0x12] - b _081331EA - .align 2, 0 -_081330AC: .4byte gMain -_081330B0: - movs r0, 0x1 - bl sub_8131F64 - ldr r2, _081330D4 @ =gUnknown_841C587 - adds r0, r4, 0 - movs r1, 0x4 - movs r3, 0 - bl sub_813337C - ldr r1, _081330D8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _081330DC @ =sub_8132F60 - str r1, [r0] - b _081331EA - .align 2, 0 -_081330D4: .4byte gUnknown_841C587 -_081330D8: .4byte gTasks -_081330DC: .4byte sub_8132F60 -_081330E0: - bl RunTextPrinters - movs r0, 0x6 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - beq _081330F2 - b _08133232 -_081330F2: - b _081331EA -_081330F4: - ldr r0, _08133128 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08133102 - b _08133232 -_08133102: - movs r0, 0 - bl sub_8131F64 - movs r0, 0x80 - lsls r0, 3 - movs r1, 0 - str r1, [sp] - movs r2, 0x6 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x6 - movs r1, 0 - bl sub_810F260 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - b _081331EA - .align 2, 0 -_08133128: .4byte gMain -_0813312C: - movs r0, 0x1 - bl sub_8131F64 - ldr r2, _08133150 @ =gUnknown_841C693 - adds r0, r4, 0 - movs r1, 0x4 - movs r3, 0 - bl sub_813337C - ldr r1, _08133154 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08133158 @ =sub_8132F60 - str r1, [r0] - b _081331EA - .align 2, 0 -_08133150: .4byte gUnknown_841C693 -_08133154: .4byte gTasks -_08133158: .4byte sub_8132F60 -_0813315C: - ldr r0, _0813316C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08133232 - b _081331EA - .align 2, 0 -_0813316C: .4byte gMain -_08133170: - ldr r0, _081331F4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _08133232 - ldr r5, _081331F8 @ =gSaveBlock1Ptr - ldr r0, [r5] - ldr r1, _081331FC @ =0x00000464 - adds r0, r1 - ldr r4, _08133200 @ =gUnknown_203B11C - ldr r1, [r4] - movs r2, 0xE8 - bl memcpy - ldr r0, [r5] - movs r3, 0xEE - lsls r3, 2 - adds r0, r3 - ldr r1, [r4] - adds r1, 0xE8 - movs r2, 0x78 - bl memcpy - ldrb r0, [r6] - movs r1, 0 - movs r2, 0 - bl sub_810713C - ldr r2, _08133204 @ =gUnknown_203B10C - ldr r0, [r4] - movs r3, 0xB0 - lsls r3, 1 - adds r1, r0, r3 - ldrh r1, [r1] - strh r1, [r2, 0x8] - adds r3, 0x2 - adds r1, r0, r3 - ldrh r1, [r1] - strh r1, [r2, 0xA] - bl Free - ldr r0, _08133208 @ =gPlttBufferFaded - ldr r1, _0813320C @ =gPlttBufferUnfaded - movs r2, 0x80 - lsls r2, 1 - bl CpuFastSet - bl sub_8108CF0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - str r7, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_081331EA: - ldrh r0, [r6, 0x10] - adds r0, 0x1 - strh r0, [r6, 0x10] - b _08133232 - .align 2, 0 -_081331F4: .4byte gPaletteFade -_081331F8: .4byte gSaveBlock1Ptr -_081331FC: .4byte 0x00000464 -_08133200: .4byte gUnknown_203B11C -_08133204: .4byte gUnknown_203B10C -_08133208: .4byte gPlttBufferFaded -_0813320C: .4byte gPlttBufferUnfaded -_08133210: - ldr r0, _0813323C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08133232 - ldr r0, _08133240 @ =gUnknown_203B10C - ldr r0, [r0] - bl SetMainCallback2 - bl sub_813208C - bl sub_81321D4 - adds r0, r4, 0 - bl DestroyTask -_08133232: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813323C: .4byte gPaletteFade -_08133240: .4byte gUnknown_203B10C - thumb_func_end sub_8132F60 - - thumb_func_start sub_8133244 -sub_8133244: @ 8133244 - push {r4,lr} - ldr r0, _081332E0 @ =gUnknown_8463190 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x5B - movs r2, 0xE0 - bl sub_815001C - movs r0, 0 - movs r1, 0x64 - movs r2, 0xB0 - bl sub_814FEAC - movs r0, 0 - movs r1, 0x78 - movs r2, 0xD0 - bl sub_814FF2C - ldr r4, _081332E4 @ =gUnknown_841F408 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xA0 - movs r2, 0x20 - bl LoadPalette - ldr r4, _081332E8 @ =gUnknown_8463180 - adds r0, r4, 0 - movs r1, 0xF6 - movs r2, 0x4 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xD6 - movs r2, 0x4 - bl LoadPalette - movs r0, 0xC0 - movs r1, 0x1 - bl sub_8107D38 - movs r4, 0 -_081332A4: - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8 - bls _081332A4 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081332E0: .4byte gUnknown_8463190 -_081332E4: .4byte gUnknown_841F408 -_081332E8: .4byte gUnknown_8463180 - thumb_func_end sub_8133244 - - thumb_func_start sub_81332EC -sub_81332EC: @ 81332EC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r3 - ldr r3, [sp, 0x30] - ldr r4, [sp, 0x34] - ldr r6, [sp, 0x38] - ldr r5, [sp, 0x3C] - mov r8, r5 - ldr r5, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - lsls r7, 24 - lsrs r7, 24 - mov r9, r7 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - str r4, [sp] - str r6, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, _08133350 @ =gUnknown_8463184 - adds r4, r5 - str r4, [sp, 0x8] - mov r4, r8 - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r2, [sp, 0x10] - mov r2, r9 - bl AddTextPrinterParametrized2 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08133350: .4byte gUnknown_8463184 - thumb_func_end sub_81332EC - - thumb_func_start sub_8133354 -sub_8133354: @ 8133354 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0x5B - movs r3, 0xE - bl SetWindowBorderStyle - pop {r0} - bx r0 - thumb_func_end sub_8133354 - - thumb_func_start sub_8133368 -sub_8133368: @ 8133368 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0x78 - movs r3, 0xD - bl SetWindowBorderStyle - pop {r0} - bx r0 - thumb_func_end sub_8133368 - - thumb_func_start sub_813337C -sub_813337C: @ 813337C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - bl GetTextSpeedSetting - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r1, 0x6 - movs r2, 0x64 - movs r3, 0xB - bl DisplayMessageAndContinueTask - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813337C - - thumb_func_start sub_81333C4 -sub_81333C4: @ 81333C4 - push {r4,lr} - sub sp, 0xC - ldr r4, _081333FC @ =gUnknown_84166D3 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r2, 0x48 - subs r2, r0 - lsrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _08133400 @ =gUnknown_8463184 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081333FC: .4byte gUnknown_84166D3 -_08133400: .4byte gUnknown_8463184 - thumb_func_end sub_81333C4 - - thumb_func_start sub_8133404 -sub_8133404: @ 8133404 - push {lr} - movs r0, 0x4 - movs r1, 0x13 - movs r2, 0 - movs r3, 0 - bl sub_8107D68 - movs r0, 0x4 - movs r1, 0x14 - movs r2, 0 - movs r3, 0xC - bl sub_8107D68 - movs r0, 0x4 - movs r1, 0x15 - movs r2, 0 - movs r3, 0x18 - bl sub_8107D68 - movs r0, 0x4 - movs r1, 0x16 - movs r2, 0 - movs r3, 0x24 - bl sub_8107D68 - movs r0, 0x4 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_8133404 - - thumb_func_start sub_8133444 -sub_8133444: @ 8133444 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x28 - str r0, [sp] - movs r0, 0x30 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r4, 0 - bne _081334A8 - movs r4, 0 - movs r5, 0 -_0813346E: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 26 - lsrs r0, 24 - str r0, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x3 - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x3 - ldr r2, _081334A4 @ =gUnknown_8416213 - movs r3, 0x7 - bl sub_81332EC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0813346E - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - b _0813359A - .align 2, 0 -_081334A4: .4byte gUnknown_8416213 -_081334A8: - adds r0, r4, 0 - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r7, r0, 16 - ldr r1, _081334D8 @ =gBattleMoves - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r5, r0, r1 - ldrb r1, [r5, 0x2] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x5 - movs r2, 0 - movs r3, 0 - bl sub_8107D68 - ldrb r0, [r5, 0x1] - cmp r0, 0x1 - bhi _081334E0 - ldr r2, _081334DC @ =gUnknown_8416213 - b _081334F0 - .align 2, 0 -_081334D8: .4byte gBattleMoves -_081334DC: .4byte gUnknown_8416213 -_081334E0: - ldr r4, _08133524 @ =gStringVar1 - ldrb r1, [r5, 0x1] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r2, r4, 0 -_081334F0: - movs r0, 0xC - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x3 - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x3 - movs r3, 0x7 - bl sub_81332EC - ldr r2, _08133528 @ =gBattleMoves - lsls r1, r7, 1 - adds r0, r1, r7 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x3] - adds r6, r1, 0 - cmp r0, 0 - bne _08133530 - ldr r2, _0813352C @ =gUnknown_8416213 - b _08133540 - .align 2, 0 -_08133524: .4byte gStringVar1 -_08133528: .4byte gBattleMoves -_0813352C: .4byte gUnknown_8416213 -_08133530: - ldr r4, _081335A8 @ =gStringVar1 - ldrb r1, [r2, 0x3] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r2, r4, 0 -_08133540: - movs r0, 0x18 - str r0, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0xFF - mov r8, r0 - str r0, [sp, 0xC] - movs r0, 0x3 - mov r9, r0 - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x3 - movs r3, 0x7 - bl sub_81332EC - ldr r5, _081335A8 @ =gStringVar1 - ldr r1, _081335AC @ =gBattleMoves - adds r0, r6, r7 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x4] - adds r0, r5, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x24 - str r0, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - mov r0, r9 - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x3 - adds r2, r5, 0 - movs r3, 0x7 - bl sub_81332EC - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram -_0813359A: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081335A8: .4byte gStringVar1 -_081335AC: .4byte gBattleMoves - thumb_func_end sub_8133444 - - thumb_func_start sub_81335B0 -sub_81335B0: @ 81335B0 - push {r4,lr} - sub sp, 0x8 - adds r4, r1, 0 - adds r3, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r1, _081335DC @ =gUnknown_8E99118 - movs r2, 0x10 - str r2, [sp] - movs r2, 0xC - str r2, [sp, 0x4] - adds r2, r4, 0 - bl BlitBitmapToWindow - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081335DC: .4byte gUnknown_8E99118 - thumb_func_end sub_81335B0 - - thumb_func_start sub_81335E0 -sub_81335E0: @ 81335E0 - push {lr} - ldr r0, _08133600 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - bl GetMoney - adds r3, r0, 0 - movs r0, 0x8 - movs r1, 0x78 - movs r2, 0xD - bl PrintMoneyAmountInMoneyBoxWithBorder - pop {r0} - bx r0 - .align 2, 0 -_08133600: .4byte gSaveBlock1Ptr - thumb_func_end sub_81335E0 - - thumb_func_start sub_8133604 -sub_8133604: @ 8133604 - push {lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813362C @ =gUnknown_84631E0 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x5B - str r2, [sp, 0x4] - movs r2, 0xE - str r2, [sp, 0x8] - str r3, [sp, 0xC] - movs r2, 0x2 - movs r3, 0 - bl sub_80BF5D0 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0813362C: .4byte gUnknown_84631E0 - thumb_func_end sub_8133604 - - thumb_func_start sub_8133630 -sub_8133630: @ 8133630 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r4] - cmp r0, 0xFF - bne _08133656 - lsls r0, r1, 3 - ldr r1, _08133660 @ =gUnknown_84631E8 - adds r0, r1 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - bl sub_8133354 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram -_08133656: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08133660: .4byte gUnknown_84631E8 - thumb_func_end sub_8133630 - - thumb_func_start sub_8133664 -sub_8133664: @ 8133664 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - movs r1, 0 - bl sub_810F4D8 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0xFF - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8133664 - - thumb_func_start sub_813368C -sub_813368C: @ 813368C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _081336E8 @ =gUnknown_8463220 - movs r1, 0x29 - movs r2, 0x2E - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - cmp r6, 0 - beq _081336F4 - adds r5, r6, 0 - subs r5, 0x21 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - ldr r0, _081336EC @ =gSprites - adds r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8133714 - ldr r0, _081336F0 @ =gBattleMoves - mov r8, r0 - adds r0, r6, 0 - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r0, [r1, 0x2] - bl sub_8133730 - adds r0, r4, 0 - adds r1, r5, 0 - b _08133700 - .align 2, 0 -_081336E8: .4byte gUnknown_8463220 -_081336EC: .4byte gSprites -_081336F0: .4byte gBattleMoves -_081336F4: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, _08133710 @ =gSprites - adds r0, r1 - movs r1, 0xFF -_08133700: - bl sub_8133790 - adds r0, r7, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08133710: .4byte gSprites - thumb_func_end sub_813368C - - thumb_func_start sub_8133714 -sub_8133714: @ 8133714 - push {lr} - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x31 - bls _08133726 - movs r1, 0x1 - bl StartSpriteAnim - b _0813372C -_08133726: - movs r1, 0 - bl StartSpriteAnim -_0813372C: - pop {r0} - bx r0 - thumb_func_end sub_8133714 - - thumb_func_start sub_8133730 -sub_8133730: @ 8133730 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xC8 - lsls r0, 1 - bl IndexOfSpritePaletteTag - lsls r0, 28 - lsrs r5, r0, 24 - ldr r2, _08133784 @ =gUnknown_203B12C - ldr r0, _08133788 @ =gUnknown_8463238 - lsls r4, 1 - adds r4, r0 - ldrh r1, [r4] - lsls r1, 1 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x80 - lsls r1, 1 - adds r2, r1, 0 - adds r1, r5, 0 - orrs r1, r2 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0813378C @ =gUnknown_203B10C - ldrb r0, [r0, 0x4] - cmp r0, 0x4 - bne _0813377C - adds r1, r5, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - movs r1, 0x4 - movs r2, 0 - bl BlendPalettes -_0813377C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08133784: .4byte gUnknown_203B12C -_08133788: .4byte gUnknown_8463238 -_0813378C: .4byte gUnknown_203B10C - thumb_func_end sub_8133730 - - thumb_func_start sub_8133790 -sub_8133790: @ 8133790 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r4, 0xFF - bne _081337A6 - movs r6, 0x1B - movs r1, 0x36 - movs r0, 0x14 - strh r0, [r5, 0x26] - b _081337D8 -_081337A6: - cmp r4, 0x31 - bls _081337B0 - adds r0, r4, 0 - subs r0, 0x32 - b _081337B4 -_081337B0: - adds r0, r4, 0 - adds r0, 0x8 -_081337B4: - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 9 - movs r1, 0x3A - bl __divsi3 - asrs r0, 8 - movs r1, 0x29 - subs r6, r1, r0 - lsls r0, r4, 11 - movs r1, 0x3A - bl __divsi3 - asrs r0, 8 - adds r1, r0, 0 - adds r1, 0x2E -_081337D8: - strh r6, [r5, 0x20] - strh r1, [r5, 0x22] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8133790 - - thumb_func_start sub_81337E4 -sub_81337E4: @ 81337E4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08133808 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r0, r2, r3 - movs r4, 0 - strh r1, [r0, 0x2E] - strh r4, [r0, 0x30] - adds r3, 0x1C - adds r2, r3 - ldr r0, _0813380C @ =sub_8133810 - str r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08133808: .4byte gSprites -_0813380C: .4byte sub_8133810 - thumb_func_end sub_81337E4 - - thumb_func_start sub_8133810 -sub_8133810: @ 8133810 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08133822 - cmp r0, 0x1 - beq _08133886 - b _081338A2 -_08133822: - ldrh r1, [r5, 0x26] - movs r2, 0x26 - ldrsh r0, [r5, r2] - cmp r0, 0x13 - ble _08133880 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08133890 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldr r4, _08133878 @ =gBattleMoves - ldrh r0, [r5, 0x2E] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1, 0x2] - bl sub_8133730 - ldr r2, _0813387C @ =0xfffffedf - adds r1, r2, 0 - ldrh r0, [r5, 0x2E] - adds r1, r0 - strh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_8133714 - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_8133790 - b _081338A2 - .align 2, 0 -_08133878: .4byte gBattleMoves -_0813387C: .4byte 0xfffffedf -_08133880: - adds r0, r1, 0 - adds r0, 0xA - b _081338A0 -_08133886: - ldrh r1, [r5, 0x26] - movs r2, 0x26 - ldrsh r0, [r5, r2] - cmp r0, 0 - bgt _0813389C -_08133890: - ldr r0, _08133898 @ =SpriteCallbackDummy - str r0, [r5, 0x1C] - b _081338A2 - .align 2, 0 -_08133898: .4byte SpriteCallbackDummy -_0813389C: - adds r0, r1, 0 - subs r0, 0xA -_081338A0: - strh r0, [r5, 0x26] -_081338A2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8133810 - - thumb_func_start sub_81338A8 -sub_81338A8: @ 81338A8 - push {r4,r5,lr} - sub sp, 0x8 - ldr r4, _081338F4 @ =gUnknown_203B12C - movs r5, 0x88 - lsls r5, 2 - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - str r1, [r4] - ldr r0, _081338F8 @ =gUnknown_8E84F20 - bl LZDecompressWram - ldr r0, _081338FC @ =gUnknown_8E85068 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 2 - adds r1, r2 - bl LZDecompressWram - ldr r0, [r4] - adds r0, r5 - str r0, [sp] - ldr r1, _08133900 @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - movs r1, 0xC8 - lsls r1, 1 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpritePalette - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081338F4: .4byte gUnknown_203B12C -_081338F8: .4byte gUnknown_8E84F20 -_081338FC: .4byte gUnknown_8E85068 -_08133900: .4byte 0xffff0000 - thumb_func_end sub_81338A8 - - .align 2, 0 @ Don't pad with nop. 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_835B488.s b/data/data_835B488.s index 1377d8599..2c8a853a8 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -568,7 +568,7 @@ gUnknown_83D427C:: @ 83D427C gUnknown_83D4294:: @ 83D4294 .incbin "baserom.gba", 0x3D4294, 0x6D94 -gUnknown_83DB028:: @ 83DB028 +gItems:: @ 83DB028 .incbin "baserom.gba", 0x3DB028, 0x4074 gUnknown_83DF09C:: @ 83DF09C diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 682877f7e..8fb1d4533 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -517,6 +517,7 @@ gUnknown_8415A08:: @ 8415A08 gUnknown_8415A10:: @ 8415A10 .incbin "baserom.gba", 0x415A10, 0x10 + @ strings gExpandedPlaceholder_Empty:: @ 8415A20 .incbin "baserom.gba", 0x415A20, 0x1 @@ -728,70 +729,151 @@ gUnknown_8416188:: @ 8416188 .incbin "baserom.gba", 0x416188, 0x8 gUnknown_8416190:: @ 8416190 - .incbin "baserom.gba", 0x416190, 0x31 + .string "TIME$" + +gUnknown_8416195:: + .string "どこへ とびますか?$" + +gOtherText_Use:: + .string "USE$" + +gUnknown_84161A4:: + .string "TOSS$" + +gUnknown_84161A9:: + .string "REGISTER$" + +gOtherText_Give:: + .string "GIVE$" + +gUnknown_84161B7:: + .string "けってい$" + +gUnknown_84161BC:: + .string "WALK$" gFameCheckerText_Cancel:: @ 84161C1 .string "CANCEL$" -gUnknown_84161C8:: @ 84161C8 - .incbin "baserom.gba", 0x4161C8, 0x5 +gOtherText_Exit:: @ 84161C8 + .string "EXIT$" gUnknown_84161CD:: @ 84161CD - .incbin "baserom.gba", 0x4161CD, 0x22 + .string "$" + +gUnknown_84161CE:: + .string "キャンセル$" + +gUnknown_84161D4:: + .string "ITEM$" + +gUnknown_84161D9:: + .string "MAIL$" + +gUnknown_84161DE:: + .string "TAKE$" + +gUnknown_84161E3:: + .string "STORE$" + +gUnknown_84161E9:: + .string "CHECK$" gUnknown_84161EF:: @ 84161EF - .incbin "baserom.gba", 0x4161EF, 0x13 + .string "NONE$" + +gUnknown_84161F4:: + .string "OPEN$" + +gUnknown_84161F9:: + .string "DESELECT$" gUnknown_8416202:: @ 8416202 - .incbin "baserom.gba", 0x416202, 0xA + .string "???$" + +gUnknown_8416206:: + .string "?????$" gUnknown_841620C:: @ 841620C - .incbin "baserom.gba", 0x41620C, 0x2 + .string "/$" gUnknown_841620E:: @ 841620E - .incbin "baserom.gba", 0x41620E, 0x2 + .string "-$" gUnknown_8416210:: @ 8416210 - .incbin "baserom.gba", 0x416210, 0x3 + .string "--$" -gUnknown_8416213:: @ 8416213 - .incbin "baserom.gba", 0x416213, 0x4 +gText_ThreeHyphens:: @ 8416213 + .string "---$" gUnknown_8416217:: @ 8416217 - .incbin "baserom.gba", 0x416217, 0x8 + .string "-------$" gUnknown_841621F:: @ 841621F - .incbin "baserom.gba", 0x41621F, 0x2 + .string "♂$" gUnknown_8416221:: @ 8416221 - .incbin "baserom.gba", 0x416221, 0x2 + .string "♀$" gUnknown_8416223:: @ 8416223 - .incbin "baserom.gba", 0x416223, 0x3 + .string "{UNKNOWN_F9 0x05}$" + +gOtherText_UnkF9_08_Clear_01:: @ 8416226 + .string "{UNKNOWN_F9 0x08}{CLEAR 0x01}$" + +gUnknown_841622C:: + .string "{UNKNOWN_F9 0x04}$" + +gUnknown_841622F:: + .string "{ESCAPE 0x03}$" -gUnknown_8416226:: @ 8416226 - .incbin "baserom.gba", 0x416226, 0x12 +gUnknown_8416233:: + .string "{UNKNOWN_F9 0x07}{UNKNOWN_F9 0x08}$" gUnknown_8416238:: @ 8416238 - .incbin "baserom.gba", 0x416238, 0x3 + .string "{UNKNOWN_F9 0x06}$" gFameCheckerText_ListMenuCursor:: @ 841623B .string "▶$" gUnknown_841623D:: @ 841623D - .incbin "baserom.gba", 0x41623D, 0x25 + .string "YES\nNO$" + +gUnknown_8416244:: + .string "Go back to the\nprevious menu.$" gUnknown_8416262:: @ 8416262 - .incbin "baserom.gba", 0x416262, 0x23 + .string "What would you like to do?$" + +gUnknown_841627D:: + .string "POKéDEX$" gUnknown_8416285:: @ 8416285 - .incbin "baserom.gba", 0x416285, 0x24 + .string "BAG$" + +gUnknown_8416289:: + .string "ポケナビ$" + +gUnknown_841628E:: + .string "{PLAYER}$" + +gUnknown_8416291:: + .string "SAVE$" + +gUnknown_8416296:: + .string "OPTION$" + +gUnknown_841629D:: + .string "EXIT$" + +gUnknown_84162A2:: + .string "RETIRE$" gUnknown_84162A9:: @ 84162A9 - .incbin "baserom.gba", 0x4162A9, 0x10 + .string "{STR_VAR_1}/{STR_VAR_2}\nBALLS {STR_VAR_3}$" -gUnknown_84162B9:: @ 84162B9 - .incbin "baserom.gba", 0x4162B9, 0x4 +gText_TimesStrVar1:: @ 84162B9 + .string "×{STR_VAR_1}$" gUnknown_84162BD:: @ 84162BD .string " BERRY$" @@ -808,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 @@ -892,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 @@ -937,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 @@ -1812,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 @@ -2295,8 +2583,9 @@ gUnknown_841EDCA:: @ 841EDCA .incbin "baserom.gba", 0x41EDCA, 0x61 gUnknown_841EE2B:: @ 841EE2B - .incbin "baserom.gba", 0x41EE2B, 0x19 + .incbin "baserom.gba", 0x41EE2B, 0x17 + .align 2 gUnknown_841EE44:: @ 841EE44 .incbin "baserom.gba", 0x41EE44, 0x20 @@ -2324,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 a1e421f2c..12cb6a33f 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -13953,28 +13953,28 @@ gFile_graphics_interface_bag_swap_palette:: @ 8E845C8 .align 2 gUnknown_8E845D8:: @ 8E845D8 - .incbin "baserom.gba", 0xE845D8, 0x44C + .incbin "graphics/tm_case/unk_8E845D8.4bpp.lz" gUnknown_8E84A24:: @ 8E84A24 - .incbin "baserom.gba", 0xE84A24, 0x14C + .incbin "graphics/tm_case/unk_8E84A24.bin.lz" gUnknown_8E84B70:: @ 8E84B70 - .incbin "baserom.gba", 0xE84B70, 0x140 + .incbin "graphics/tm_case/unk_8E84B70.bin.lz" gUnknown_8E84CB0:: @ 8E84CB0 - .incbin "baserom.gba", 0xE84CB0, 0x70 + .incbin "graphics/tm_case/unk_8E84CB0.gbapal.lz" gUnknown_8E84D20:: @ 8E84D20 - .incbin "baserom.gba", 0xE84D20, 0x70 + .incbin "graphics/tm_case/unk_8E84D20.gbapal.lz" -gUnknown_8E84D90:: @ 8E84D90 - .incbin "baserom.gba", 0xE84D90, 0x190 +gTMCase_TMSpriteGfx:: @ 8E84D90 + .incbin "graphics/tm_case/unk_8E84D90.4bpp.lz" gUnknown_8E84F20:: @ 8E84F20 - .incbin "baserom.gba", 0xE84F20, 0x148 + .incbin "graphics/tm_case/unk_8E84F20.gbapal.lz" gUnknown_8E85068:: @ 8E85068 - .incbin "baserom.gba", 0xE85068, 0x28 + .incbin "graphics/tm_case/unk_8E85068.gbapal.lz" gUnknown_8E85090:: @ 8E85090 .incbin "baserom.gba", 0xE85090, 0x378 @@ -16072,7 +16072,10 @@ gUnknown_8E985D8:: @ 8E985D8 .incbin "baserom.gba", 0xE985D8, 0xB40 @UNKNOWN, FALSEPOSITIVE? gUnknown_8E99118:: @ 8E99118 - .incbin "baserom.gba", 0xE99118, 0xE0 @UNKNOWN + .incbin "graphics/tm_case/unk_8E99118.4bpp" + +gUnknown_8E99198:: + .incbin "baserom.gba", 0xE99198, 0x60 @UNKNOWN gUnknown_8E991F8:: @ 8E991F8 .incbin "baserom.gba", 0xE991F8, 0x674 diff --git a/data/tm_case.s b/data/tm_case.s deleted file mode 100644 index 5720087d7..000000000 --- a/data/tm_case.s +++ /dev/null @@ -1,50 +0,0 @@ - .section .rodata - - .align 2 -gUnknown_8463134:: @ 8463134 - .incbin "baserom.gba", 0x463134, 0xC - -gUnknown_8463140:: @ 8463140 - .incbin "baserom.gba", 0x463140, 0x10 - -gUnknown_8463150:: @ 8463150 - .incbin "baserom.gba", 0x463150, 0x18 - -gUnknown_8463168:: @ 8463168 - .incbin "baserom.gba", 0x463168, 0x3 - -gUnknown_846316B:: @ 846316B - .incbin "baserom.gba", 0x46316B, 0x5 - -gUnknown_8463170:: @ 8463170 - .incbin "baserom.gba", 0x463170, 0x8 - -gUnknown_8463178:: @ 8463178 - .incbin "baserom.gba", 0x463178, 0x4 - -gUnknown_846317C:: @ 846317C - .incbin "baserom.gba", 0x46317C, 0x4 - -gUnknown_8463180:: @ 8463180 - .incbin "baserom.gba", 0x463180, 0x4 - -gUnknown_8463184:: @ 8463184 - .incbin "baserom.gba", 0x463184, 0xC - -gUnknown_8463190:: @ 8463190 - .incbin "baserom.gba", 0x463190, 0x50 - -gUnknown_84631E0:: @ 84631E0 - .incbin "baserom.gba", 0x4631E0, 0x8 - -gUnknown_84631E8:: @ 84631E8 - .incbin "baserom.gba", 0x4631E8, 0x30 - -gUnknown_8463218:: @ 8463218 - .incbin "baserom.gba", 0x463218, 0x8 - -gUnknown_8463220:: @ 8463220 - .incbin "baserom.gba", 0x463220, 0x18 - -gUnknown_8463238:: @ 8463238 - .incbin "baserom.gba", 0x463238, 0x24 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/graphics/tm_case/unk_8E845D8.png b/graphics/tm_case/unk_8E845D8.png Binary files differnew file mode 100644 index 000000000..2729ac568 --- /dev/null +++ b/graphics/tm_case/unk_8E845D8.png diff --git a/graphics/tm_case/unk_8E84A24.bin b/graphics/tm_case/unk_8E84A24.bin Binary files differnew file mode 100644 index 000000000..a4962cbaa --- /dev/null +++ b/graphics/tm_case/unk_8E84A24.bin diff --git a/graphics/tm_case/unk_8E84B70.bin b/graphics/tm_case/unk_8E84B70.bin Binary files differnew file mode 100644 index 000000000..0b13dc93a --- /dev/null +++ b/graphics/tm_case/unk_8E84B70.bin diff --git a/graphics/tm_case/unk_8E84CB0.pal b/graphics/tm_case/unk_8E84CB0.pal new file mode 100644 index 000000000..2464f7026 --- /dev/null +++ b/graphics/tm_case/unk_8E84CB0.pal @@ -0,0 +1,67 @@ +JASC-PAL +0100 +64 +0 65 90 +255 0 255 +41 57 82 +65 180 164 +255 0 255 +255 0 255 +106 205 197 +197 230 205 +238 230 172 +255 255 197 +180 180 180 +230 255 238 +139 106 172 +115 115 115 +164 205 172 +148 180 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 213 213 +238 255 255 +222 246 255 +255 255 255 +164 222 255 +16 172 222 +0 82 115 +0 115 139 +0 123 197 +205 164 238 +106 164 222 +82 123 197 +164 172 131 +106 205 197 +238 238 238 +90 90 65 +115 115 90 +189 189 164 +65 180 164 +222 156 0 +238 180 16 +246 213 57 +255 246 123 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 213 213 +238 255 255 +222 246 255 +255 255 255 +164 222 255 +24 82 180 +0 90 131 +24 82 180 +24 82 180 diff --git a/graphics/tm_case/unk_8E84D20.pal b/graphics/tm_case/unk_8E84D20.pal new file mode 100644 index 000000000..99fd00240 --- /dev/null +++ b/graphics/tm_case/unk_8E84D20.pal @@ -0,0 +1,67 @@ +JASC-PAL +0100 +64 +0 65 90 +255 0 255 +41 57 82 +213 139 115 +255 0 255 +255 0 255 +255 172 148 +197 230 205 +238 230 172 +255 255 197 +180 180 180 +230 255 238 +139 106 172 +115 115 115 +164 205 172 +148 180 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 213 213 +238 255 255 +222 246 255 +255 255 255 +164 222 255 +16 172 222 +0 82 115 +0 115 139 +0 123 197 +205 164 238 +106 164 222 +82 123 197 +164 172 131 +255 172 148 +238 238 238 +90 90 65 +115 115 90 +189 189 164 +213 139 115 +222 156 0 +238 180 16 +246 213 57 +255 246 123 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 213 213 +238 255 255 +222 246 255 +255 255 255 +164 222 255 +24 82 180 +0 90 131 +24 82 180 +24 82 180 diff --git a/graphics/tm_case/unk_8E84D90.png b/graphics/tm_case/unk_8E84D90.png Binary files differnew file mode 100644 index 000000000..a26831822 --- /dev/null +++ b/graphics/tm_case/unk_8E84D90.png diff --git a/graphics/tm_case/unk_8E84F20.pal b/graphics/tm_case/unk_8E84F20.pal new file mode 100644 index 000000000..c7f6d1d50 --- /dev/null +++ b/graphics/tm_case/unk_8E84F20.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +205 164 238 +74 74 98 +238 238 238 +230 230 238 +230 230 230 +222 222 222 +213 213 213 +205 205 205 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 255 255 +205 164 238 +0 0 0 +74 74 98 +255 230 189 +255 222 156 +255 205 131 +255 197 98 +255 189 65 +255 180 41 +238 172 32 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 238 222 +205 164 238 +0 0 0 +74 74 98 +205 230 246 +180 213 246 +164 205 246 +139 197 238 +115 180 238 +90 172 238 +74 164 238 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +205 205 205 +238 246 246 +205 164 238 +0 0 0 +74 74 98 +213 246 230 +197 246 213 +180 246 205 +156 238 197 +139 238 180 +123 238 172 +106 238 164 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +238 246 246 +205 164 238 +0 0 0 +74 74 98 +255 255 189 +255 238 156 +255 230 123 +255 222 90 +255 205 57 +255 197 24 +255 197 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 255 222 +205 164 238 +0 0 0 +74 74 98 +246 238 222 +238 230 197 +238 222 172 +230 213 148 +222 197 115 +222 189 90 +213 180 65 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 255 255 +205 164 238 +0 0 0 +74 74 98 +255 255 189 +255 255 156 +255 255 123 +255 255 90 +246 238 90 +230 213 82 +222 197 65 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 255 222 +205 164 238 +0 0 0 +74 74 98 +230 246 255 +213 246 255 +197 246 255 +172 238 255 +156 238 255 +139 230 246 +131 213 238 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +205 205 205 +255 255 255 +205 164 238 +0 0 0 +74 74 98 +213 246 255 +189 238 255 +172 238 255 +156 238 255 +172 222 238 +180 205 222 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +246 246 255 +205 164 238 +0 0 0 +74 74 98 +246 213 189 +238 197 156 +238 180 123 +238 164 90 +230 148 57 +230 131 24 +230 115 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +255 238 230 +205 164 238 +0 0 0 +74 74 98 +238 222 246 +230 205 246 +230 189 246 +222 172 246 +213 148 246 +197 123 238 +180 98 222 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 238 255 +205 164 238 +0 0 0 +74 74 98 +255 255 189 +255 255 156 +255 255 123 +255 255 90 +255 238 57 +255 238 24 +255 222 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 255 222 +205 164 238 +0 0 0 +74 74 98 +255 222 197 +255 205 172 +255 189 148 +255 180 123 +230 148 156 +205 123 189 +180 98 222 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 238 230 +205 164 238 +0 0 0 +74 74 98 +255 230 230 +255 222 213 +255 213 205 +255 197 197 +255 189 180 +255 180 172 +255 172 164 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 246 246 +205 164 238 +0 0 0 +74 74 98 +222 222 222 +213 213 213 +197 197 197 +189 189 189 +148 172 180 +115 164 172 +82 156 164 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +238 246 246 +205 164 238 +0 0 0 +74 74 98 +205 230 230 +189 213 213 +164 205 205 +139 189 197 +123 180 180 +98 164 172 +82 156 164 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +238 246 246 +205 164 238 diff --git a/graphics/tm_case/unk_8E85068.pal b/graphics/tm_case/unk_8E85068.pal new file mode 100644 index 000000000..9e3e5e6f5 --- /dev/null +++ b/graphics/tm_case/unk_8E85068.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +74 74 98 +205 230 255 +180 213 255 +156 197 255 +139 189 255 +172 180 213 +213 180 172 +255 180 131 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +230 246 255 +205 164 238 diff --git a/graphics/tm_case/unk_8E99118.png b/graphics/tm_case/unk_8E99118.png Binary files differnew file mode 100644 index 000000000..426e404fe --- /dev/null +++ b/graphics/tm_case/unk_8E99118.png diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index c34f43baa..549527050 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -620,6 +620,9 @@ $(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png $(BATTRANSGFXDIR)/frontier_transition.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 43 + +graphics/tm_case/unk_8E845D8.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 91 $(PKNAVOPTIONSGFXDIR)/options.4bpp: $(PKNAVOPTIONSGFXDIR)/hoenn_map.4bpp \ $(PKNAVOPTIONSGFXDIR)/condition.4bpp \ diff --git a/include/graphics.h b/include/graphics.h index d249ece10..83cc19bb3 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -150,4 +150,15 @@ extern const u16 gFameCheckerBgTiles[0xa50]; extern const u16 gFameCheckerBg3Tilemap[0x400]; extern const u16 gFameCheckerBg2Tilemap[0x400]; +// tm_case +extern const u32 gUnknown_8E845D8[]; +extern const u32 gUnknown_8E84A24[]; +extern const u32 gUnknown_8E84B70[]; +extern const u32 gUnknown_8E84CB0[]; +extern const u32 gUnknown_8E84D20[]; +extern const u32 gTMCase_TMSpriteGfx[]; +extern const u32 gUnknown_8E84F20[]; +extern const u32 gUnknown_8E85068[]; +extern const u8 gUnknown_8E99118[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/item.h b/include/item.h index 25177cb6e..320b7ffec 100644 --- a/include/item.h +++ b/include/item.h @@ -66,4 +66,10 @@ void CopyItemName(u16, u8 *); void sub_809A824(u16 itemId); bool8 AddBagItem(u16 itemId, u16 amount); +void sub_809A5E4(struct BagPocket *); +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); + #endif // ITEM_H diff --git a/include/item_menu.h b/include/item_menu.h index a6128b9fb..9ebe3918a 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -12,6 +12,7 @@ extern u16 gSpecialVar_ItemId; // Exported ROM declarations void sub_81AAC50(void); void sub_81AAC70(void); +void sub_8108CF0(void); void UseFameCheckerFromMenu(void); #endif //GUARD_ITEM_MENU_H diff --git a/include/list_menu.h b/include/list_menu.h index 8834e5215..3fd54d0d1 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -48,6 +48,7 @@ struct ListMenu { }; extern struct ListMenuTemplate gUnknown_03006310; +extern struct ListMenuTemplate gMultiuseListMenuTemplate; // Exported ROM declarations @@ -55,7 +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, u8, u8); +void DestroyListMenu(u8, u16 *, u16 *); u16 ListMenuGetYCoordForPrintingArrowCursor(u8); +void sub_8107D38(u8, u8); #endif //GUARD_LIST_MENU_H diff --git a/include/menu.h b/include/menu.h index f26c7efde..4a5bd8a2c 100644 --- a/include/menu.h +++ b/include/menu.h @@ -48,5 +48,7 @@ void sub_810FF60(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8); void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority); bool8 IsBlendTaskActive(void); +void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); +void sub_810F260(u8 windowId, u8 a1); #endif // GUARD_MENU_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h index b193388e5..e27fb4e5d 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -18,6 +18,13 @@ void sub_812225C(u16 *, u16 *, u8, u8); void sub_8122298(u16 *, u16 *, u8, u8, u8); void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); bool8 sub_81221AC(void); +bool8 sub_80BF72C(void); bool8 sub_80BF708(void); +void sub_80BF768(void); +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 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/money.h b/include/money.h index fa63e321c..5bcef18d4 100644 --- a/include/money.h +++ b/include/money.h @@ -10,13 +10,14 @@ void AddMoney(u32* moneyPtr, u32 toAdd); void RemoveMoney(u32* moneyPtr, u32 toSub); bool8 IsEnoughForCostInVar0x8005(void); void SubtractMoneyFromVar0x8005(void); -void PrintMoneyAmountInMoneyBoxInMoneyBox(u8 windowId, int amount, u8 speed); -void PrintMoneyAmountInMoneyBox(u8 windowId, u8 x, u8 y, int amount, u8 speed); -void PrintMoneyAmountInMoneyBoxInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount); +void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed); +void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed); +void PrintMoneyAmountInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount); void ChangeAmountInMoneyBox(int amount); void DrawMoneyBox(int amount, u8 x, u8 y); void HideMoneyBox(void); void AddMoneyLabelObject(u16 x, u16 y); void RemoveMoneyLabelObject(void); +void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed); #endif // GUARD_MONEY_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index fe8b5b754..b17326667 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -29,5 +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 left, u8 top, u8 width, u8 height, u8 palette); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/party_menu.h b/include/party_menu.h index 2e83c1496..5f7a3a68e 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -12,10 +12,16 @@ enum { AILMENT_BRN }; +extern void (*gUnknown_3005E98)(u8 taskId, TaskFunc func); + bool8 MonKnowsMove(struct Pokemon *, u16); void sub_81B58A8(void); void DoWallyTutorialBagMenu(void); u8 pokemon_ailments_get_primary(u32 status); u16 ItemIdToBattleMoveId(u16 itemId); +void sub_8125B40(u8 taskId, TaskFunc func); +void sub_8124C8C(void); +void sub_8126EDC(void); +void c2_8123744(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon.h b/include/pokemon.h index c08f37b5f..c84eb4c42 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -445,6 +445,8 @@ struct BattleMove u8 flags; }; +extern const struct BattleMove gBattleMoves[]; + #define FLAG_MAKES_CONTACT 0x1 #define FLAG_PROTECT_AFFECTED 0x2 #define FLAG_MAGICCOAT_AFFECTED 0x4 diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 897c5a42e..f2fbe85a7 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -13,5 +13,6 @@ void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); void sub_808BCB4(u8 boxId, u8 monPosition); u8 * GetBoxNamePtr(u8 boxId); +void sub_808CE60(void); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/shop.h b/include/shop.h index 1046a590a..05f5160e6 100644 --- a/include/shop.h +++ b/include/shop.h @@ -8,5 +8,6 @@ extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3]; void CreatePokemartMenu(const u16 *); void CreateDecorationShop1Menu(const u16 *); void CreateDecorationShop2Menu(const u16 *); +void sub_809C09C(u16, u16, u8); #endif // GUARD_SHOP_H diff --git a/include/strings.h b/include/strings.h index 40021a01d..6af1b0d69 100644 --- a/include/strings.h +++ b/include/strings.h @@ -92,4 +92,27 @@ extern const u8 gText_Coins[]; extern const u8 gText_EggNickname[]; extern const u8 gText_Pokemon[]; +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 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 new file mode 100644 index 000000000..374780c04 --- /dev/null +++ b/include/teachy_tv.h @@ -0,0 +1,7 @@ +#ifndef GUARD_TEACHY_TV_H +#define GUARD_TEACHY_TV_H + +void CB2_ReturnToTeachyTV(void); +void sub_815AC20(void); + +#endif //GUARD_TEACHY_TV_H diff --git a/include/text_window.h b/include/text_window.h index 72ce50efc..8a4113c62 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -20,6 +20,8 @@ void rbox_fill_rectangle(u8 windowId); const u16* stdpal_get(u8 id); const u16* GetOverworldTextboxPalettePtr(void); void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset); +void sub_814FEAC(u8 windowId, u16 tileStart, u8 palette); void sub_814FF2C(u8 windowId, u16 tileStart, u8 palette); +void sub_815001C(u8 windowId, u16 tileStart, u8 palette); #endif // GUARD_TEXT_WINDOW_H diff --git a/include/tm_case.h b/include/tm_case.h new file mode 100644 index 000000000..f77eae457 --- /dev/null +++ b/include/tm_case.h @@ -0,0 +1,8 @@ +#ifndef GUARD_TM_CASE_H +#define GUARD_TM_CASE_H + +void InitTMCase(u8 a0, void (* a1)(void), u8 a2); +void ResetTMCaseCursorPos(void); +void PokeDude_InitTMCase(void); + +#endif //GUARD_TM_CASE_H diff --git a/include/window.h b/include/window.h index 2705a7895..8edaf73ae 100644 --- a/include/window.h +++ b/include/window.h @@ -56,7 +56,7 @@ void PutWindowTilemap(u8 windowId); void PutWindowRectTilemapOverridePalette(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 palette); void ClearWindowTilemap(u8 windowId); void PutWindowRectTilemap(u8 windowId, u8 x, u8 y, u8 width, u8 height); -void BlitBitmapToWindow(u8 windowId, u8 *pixels, u16 x, u16 y, u16 width, u16 height); +void BlitBitmapToWindow(u8 windowId, const u8 *pixels, u16 x, u16 y, u16 width, u16 height); void BlitBitmapRectToWindow(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight); void FillWindowPixelRect(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height); void CopyToWindowPixelBuffer(u8 windowId, const u8 *src, u16 size, u16 tileOffset); diff --git a/ld_script.txt b/ld_script.txt index 1bd106cca..6e3dda820 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -229,7 +229,7 @@ SECTIONS { src/fame_checker.o(.text); src/menu2.o(.text); src/oak_speech.o(.text); - asm/tm_case.o(.text); + src/tm_case.o(.text); asm/menu_indicators.o(.text); asm/pokedex_area_markers.o(.text); asm/pokemon_summary_screen.o(.text); @@ -399,7 +399,7 @@ SECTIONS { src/fame_checker.o(.rodata); src/menu2.o(.rodata); src/oak_speech.o(.rodata); - data/tm_case.o(.rodata); + src/tm_case.o(.rodata); data/menu_indicators.o(.rodata); data/pokedex_area_markers.o(.rodata); data/pokemon_summary_screen.o(.rodata); diff --git a/src/fame_checker.c b/src/fame_checker.c index 29b888a32..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, 0, 0); + 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 new file mode 100644 index 000000000..2fc30da2d --- /dev/null +++ b/src/tm_case.c @@ -0,0 +1,1537 @@ +#include "global.h" +#include "malloc.h" +#include "bg.h" +#include "decompress.h" +#include "gpu_regs.h" +#include "palette.h" +#include "graphics.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "menu.h" +#include "menu_helpers.h" +#include "new_menu_helpers.h" +#include "list_menu.h" +#include "item.h" +#include "item_menu.h" +#include "link.h" +#include "money.h" +#include "shop.h" +#include "teachy_tv.h" +#include "pokemon_storage_system.h" +#include "string_util.h" +#include "party_menu.h" +#include "data2.h" +#include "scanline_effect.h" +#include "sound.h" +#include "strings.h" +#include "tm_case.h" +#include "menu_indicators.h" +#include "constants/items.h" +#include "constants/songs.h" + +#define TM_CASE_TM_TAG 400 + +struct UnkStruct_203B10C +{ + void (* savedCallback)(void); + u8 tmCaseMenuType; + u8 unk_05; + u8 unk_06; + u16 selectedRow; + u16 scrollOffset; +}; + +struct UnkStruct_203B118 +{ + 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]; +}; + +struct UnkStruct_203B11C +{ + struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; + struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; + u16 unk_160; + u16 unk_162; +}; + +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 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 CreateTMCaseScrollIndicatorArrowPair_Main(void); +static void TMCaseSetup_GetTMCount(void); +static void TMCaseSetup_InitListMenuPositions(void); +static void TMCaseSetup_UpdateVisualMenuOffset(void); +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 Task_WaitButtonAfterErrorPrint(u8 taskId); +static void Subtask_CloseContextMenuAndReturnToMain(u8 taskId); +static void TMHMContextMenuAction_Exit(u8 taskId); +static void Task_SelectTMAction_Type1(u8 taskId); +static void Task_SelectTMAction_Type3(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 SellTM_PrintQuantityAndSalePrice(s16 quantity, s32 value); +static void Task_QuantitySelect_HandleInput(u8 taskId); +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, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0x000 + }, { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000 + }, { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0x000 + } +}; + +static void (*const sSelectTMActionTasks[])(u8 taskId) = { + Task_SelectTMAction_FromFieldBag, + Task_SelectTMAction_Type1, + Task_SelectTMAction_FromSellMenu, + Task_SelectTMAction_Type3 +}; + +static const struct MenuAction sMenuActions_UseGiveExit[] = { + {gOtherText_Use, TMHMContextMenuAction_Use }, + {gOtherText_Give, TMHMContextMenuAction_Give}, + {gOtherText_Exit, TMHMContextMenuAction_Exit}, +}; + +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 sText_ClearTo18[] = _("{CLEAR_TO 18}"); +static const u8 sText_SingleSpace[] = _(" "); + +static ALIGNED(4) const u16 sPal3Override[] = {RGB(8, 8, 8), RGB(30, 16, 6)}; + +static const struct TextColor sTextColors[] = { + {0, 1, 2}, + {0, 2, 3}, + {0, 3, 6}, + {0, 14, 10} +}; + +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}, + {0x00, 0x00, 0x01, 0x0a, 0x02, 0x0f, 0x0235}, + {0x00, 0x01, 0x0d, 0x05, 0x06, 0x0c, 0x0249}, + {0x00, 0x07, 0x0d, 0x05, 0x06, 0x0c, 0x0267}, + {0x01, 0x02, 0x0f, 0x1a, 0x04, 0x0b, 0x0285}, + {0x01, 0x11, 0x09, 0x0c, 0x04, 0x0f, 0x02ed}, + {0x01, 0x01, 0x01, 0x08, 0x03, 0x0d, 0x031d}, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sYesNoWindowTemplate = {0x01, 0x15, 0x09, 0x06, 0x04, 0x0f, 0x0335}; + +static const struct WindowTemplate sTMContextWindowTemplates[] = { + {0x01, 0x16, 0x0d, 0x07, 0x06, 0x0f, 0x01cf}, + {0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01cf} +}; + +static const struct OamData sTMSpriteOamData = { + .size = 2, + .priority = 2 +}; + +static const union AnimCmd sTMSpriteAnim0[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sTMSpriteAnim1[] = { + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sTMSpriteAnims[] = { + sTMSpriteAnim0, + sTMSpriteAnim1 +}; + +static const struct CompressedSpriteSheet sTMSpriteSheet = { + (const void *)gTMCase_TMSpriteGfx, + 0x400, + TM_CASE_TM_TAG +}; + +static const struct SpriteTemplate sTMSpriteTemplate = { + TM_CASE_TM_TAG, + TM_CASE_TM_TAG, + &sTMSpriteOamData, + sTMSpriteAnims, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +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 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) + sTMCaseStaticResources.unk_05 = a2; + gTextFlags.flag_2 = FALSE; + SetMainCallback2(CB2_SetUpTMCaseUI_Blocking); +} + +static void CB2_Idle(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void VBlankCB_Idle(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void CB2_SetUpTMCaseUI_Blocking(void) +{ + while (1) + { + if (sub_80BF72C() == TRUE) + break; + if (DoSetUpTMCaseUI() == TRUE) + break; + if (sub_80BF708() == TRUE) + break; + } +} + +static bool8 DoSetUpTMCaseUI(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + sub_80BF768(); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 3: + ResetPaletteFade(); + gMain.state++; + break; + case 4: + ResetSpriteData(); + gMain.state++; + break; + case 5: + ResetTasks(); + gMain.state++; + break; + case 6: + LoadBGTemplates(); + sTMCaseDynamicResources->seqId = 0; + gMain.state++; + break; + case 7: + InitWindowTemplatesAndPals(); + gMain.state++; + break; + case 8: + if (HandleLoadTMCaseGraphicsAndPalettes()) + gMain.state++; + break; + case 9: + sub_809A5E4(&gBagPockets[POCKET_TM_CASE - 1]); + gMain.state++; + break; + case 10: + TMCaseSetup_GetTMCount(); + TMCaseSetup_InitListMenuPositions(); + TMCaseSetup_UpdateVisualMenuOffset(); + gMain.state++; + break; + case 11: + DrawMoveInfoUIMarkers(); + gMain.state++; + break; + case 12: + CreateTMCaseListMenuBuffers(); + InitTMCaseListMenuItems(); + gMain.state++; + break; + case 13: + PrintStringTMCaseOnWindow3(); + gMain.state++; + break; + case 14: + if (sTMCaseStaticResources.tmCaseMenuType == 4) + taskId = CreateTask(Task_TMCaseDude1, 0); + else + taskId = CreateTask(Task_TMCaseMain, 0); + gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sTMCaseStaticResources.scrollOffset, sTMCaseStaticResources.selectedRow); + gMain.state++; + break; + case 15: + CreateTMCaseScrollIndicatorArrowPair_Main(); + gMain.state++; + break; + case 16: + sTMCaseDynamicResources->tmSpriteId = CreateTMSprite(BagGetItemIdByPocketPosition(POCKET_TM_CASE, sTMCaseStaticResources.scrollOffset + sTMCaseStaticResources.selectedRow)); + gMain.state++; + break; + case 17: + BlendPalettes(0xFFFFFFFF, 16, 0); + gMain.state++; + break; + case 18: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gMain.state++; + break; + default: + SetVBlankCallback(VBlankCB_Idle); + SetMainCallback2(CB2_Idle); + return TRUE; + } + + return FALSE; +} + +static void ResetBufferPointers_NoFree(void) +{ + sTMCaseDynamicResources = NULL; + sTilemapBuffer = NULL; + sListMenuItemsBuffer = NULL; + sListMenuStringsBuffer = NULL; + sTMSpritePaletteBuffer = NULL; +} + +static void LoadBGTemplates(void) +{ + void ** ptr; + sub_80BF7C8(); + ptr = &sTilemapBuffer; + *ptr = AllocZeroed(0x800); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBGTemplates, NELEMS(sBGTemplates)); + SetBgTilemapBuffer(2, *ptr); + schedule_bg_copy_tilemap_to_vram(1); + schedule_bg_copy_tilemap_to_vram(2); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + ShowBg(0); + ShowBg(1); + ShowBg(2); +} + +static bool8 HandleLoadTMCaseGraphicsAndPalettes(void) +{ + switch (sTMCaseDynamicResources->seqId) + { + case 0: + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(1, gUnknown_8E845D8, 0, 0, 0); + sTMCaseDynamicResources->seqId++; + break; + case 1: + if (free_temp_tile_data_buffers_if_possible() != TRUE) + { + LZDecompressWram(gUnknown_8E84A24, sTilemapBuffer); + sTMCaseDynamicResources->seqId++; + } + break; + case 2: + LZDecompressWram(gUnknown_8E84B70, GetBgTilemapBuffer(1)); + sTMCaseDynamicResources->seqId++; + break; + case 3: + if (gSaveBlock2Ptr->playerGender == MALE) + LoadCompressedPalette(gUnknown_8E84CB0, 0, 0x80); + else + LoadCompressedPalette(gUnknown_8E84D20, 0, 0x80); + sTMCaseDynamicResources->seqId++; + break; + case 4: + LoadCompressedObjectPic(&sTMSpriteSheet); + sTMCaseDynamicResources->seqId++; + break; + default: + LoadTMTypePalettes(); + sTMCaseDynamicResources->seqId = 0; + return TRUE; + } + + return FALSE; +} + +static void CreateTMCaseListMenuBuffers(void) +{ + struct BagPocket * pocket = &gBagPockets[POCKET_TM_CASE - 1]; + sListMenuItemsBuffer = Alloc((pocket->capacity + 1) * sizeof(struct ListMenuItem)); + sListMenuStringsBuffer = Alloc(sTMCaseDynamicResources->numTMs * 29); +} + +static void InitTMCaseListMenuItems(void) +{ + struct BagPocket * pocket = &gBagPockets[POCKET_TM_CASE - 1]; + u16 i; + + for (i = 0; i < sTMCaseDynamicResources->numTMs; i++) + { + GetTMNumberAndMoveString(sListMenuStringsBuffer[i], pocket->itemSlots[i].itemId); + sListMenuItemsBuffer[i].unk_00 = sListMenuStringsBuffer[i]; + sListMenuItemsBuffer[i].unk_04 = i; + } + 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, gText_FontSize0); + if (itemId >= ITEM_HM01) + { + 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, gOtherText_UnkF9_08_Clear_01); + ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_TM01 + 1, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(gStringVar4, gStringVar1); + } + StringAppend(gStringVar4, sText_SingleSpace); + StringAppend(gStringVar4, gText_FontSize2); + StringAppend(gStringVar4, gMoveNames[ItemIdToBattleMoveId(itemId)]); + StringCopy(dest, gStringVar4); +} + +static void TMCase_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) +{ + u16 itemId; + + if (itemIndex == -2) + itemId = 0; + else + itemId = BagGetItemIdByPocketPosition(POCKET_TM_CASE, itemIndex); + + if (onInit != TRUE) + { + PlaySE(SE_SELECT); + InitSelectedTMSpriteData(sTMCaseDynamicResources->tmSpriteId, itemId); + } + TMCase_MoveCursor_UpdatePrintedDescription(itemIndex); + TMCase_MoveCursor_UpdatePrintedTMInfo(itemId); +} + +static void TMCase_ItemPrintFunc(u8 windowId, s32 itemId, u8 y) +{ + if (itemId != -2) + { + if (!itemid_is_unique(BagGetItemIdByPocketPosition(POCKET_TM_CASE, itemId))) + { + 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 + { + PlaceHMTileInWindow(windowId, 8, y); + } + } +} + +static void TMCase_MoveCursor_UpdatePrintedDescription(s32 itemIndex) +{ + const u8 * str; + if (itemIndex != -2) + { + str = ItemId_GetDescription(BagGetItemIdByPocketPosition(POCKET_TM_CASE, itemIndex)); + } + else + { + str = gText_TMCaseWillBePutAway; + } + FillWindowPixelBuffer(1, 0); + AddTextPrinterParameterized_ColorByIndex(1, 2, str, 2, 3, 1, 0, 0, 0); +} + +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 PrintListMenuCursorByID_WithColorIdx(u8 a0, u8 a1) +{ + PrintListMenuCursorAt_WithColorIdx(ListMenuGetYCoordForPrintingArrowCursor(a0), a1); +} + +static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1) +{ + if (a1 == 0xFF) + { + FillWindowPixelRect(0, 0, 0, a0, GetFontAttribute(2, 0), GetFontAttribute(2, 1)); + CopyWindowToVram(0, 2); + } + else + { + AddTextPrinterParameterized_ColorByIndex(0, 2, gFameCheckerText_ListMenuCursor, 0, a0, 0, 0, 0, a1); + } +} + +static void CreateTMCaseScrollIndicatorArrowPair_Main(void) +{ + sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParametrized(2, 0xA0, 0x08, 0x58, sTMCaseDynamicResources->numTMs - sTMCaseDynamicResources->maxTMsShown + 1, 0x6E, 0x6E, &sTMCaseStaticResources.scrollOffset); +} + +static void CreateTMCaseScrollIndicatorArrowPair_SellQuantitySelect(void) +{ + sTMCaseDynamicResources->currItem = 1; + sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParametrized(2, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &sTMCaseDynamicResources->currItem); +} + +static void RemoveTMCaseScrollIndicatorArrowPair(void) +{ + if (sTMCaseDynamicResources->scrollIndicatorArrowPairId != 0xFF) + { + RemoveScrollIndicatorArrowPair(sTMCaseDynamicResources->scrollIndicatorArrowPairId); + sTMCaseDynamicResources->scrollIndicatorArrowPairId = 0xFF; + } +} + +void ResetTMCaseCursorPos(void) +{ + sTMCaseStaticResources.selectedRow = 0; + sTMCaseStaticResources.scrollOffset = 0; +} + +static void TMCaseSetup_GetTMCount(void) +{ + struct BagPocket * pocket = &gBagPockets[POCKET_TM_CASE - 1]; + u16 i; + + sub_809A584(pocket->itemSlots, pocket->capacity); + sTMCaseDynamicResources->numTMs = 0; + for (i = 0; i < pocket->capacity; i++) + { + if (pocket->itemSlots[i].itemId == ITEM_NONE) + break; + sTMCaseDynamicResources->numTMs++; + } + sTMCaseDynamicResources->maxTMsShown = min(sTMCaseDynamicResources->numTMs + 1, 5); +} + +static void TMCaseSetup_InitListMenuPositions(void) +{ + if (sTMCaseStaticResources.scrollOffset != 0) + { + if (sTMCaseStaticResources.scrollOffset + sTMCaseDynamicResources->maxTMsShown > sTMCaseDynamicResources->numTMs + 1) + sTMCaseStaticResources.scrollOffset = sTMCaseDynamicResources->numTMs + 1 - sTMCaseDynamicResources->maxTMsShown; + } + if (sTMCaseStaticResources.scrollOffset + sTMCaseStaticResources.selectedRow >= sTMCaseDynamicResources->numTMs + 1) + { + if (sTMCaseDynamicResources->numTMs + 1 < 2) + sTMCaseStaticResources.selectedRow = 0; + else + sTMCaseStaticResources.selectedRow = sTMCaseDynamicResources->numTMs; + } +} + +static void TMCaseSetup_UpdateVisualMenuOffset(void) +{ + u8 i; + if (sTMCaseStaticResources.selectedRow > 3) + { + for (i = 0; i <= sTMCaseStaticResources.selectedRow - 3 && sTMCaseStaticResources.scrollOffset + sTMCaseDynamicResources->maxTMsShown != sTMCaseDynamicResources->numTMs + 1; i++) + { + do {} while (0); + sTMCaseStaticResources.selectedRow--; + sTMCaseStaticResources.scrollOffset++; + } + } +} + +static void DestroyTMCaseBuffers(void) +{ + 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 Task_BeginFadeOutFromTMCase(u8 taskId) +{ + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); + gTasks[taskId].func = Task_FadeOutAndCloseTMCase; +} + +static void Task_FadeOutAndCloseTMCase(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + DestroyListMenu(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); + if (sTMCaseDynamicResources->savedCallback != NULL) + SetMainCallback2(sTMCaseDynamicResources->savedCallback); + else + SetMainCallback2(sTMCaseStaticResources.savedCallback); + RemoveTMCaseScrollIndicatorArrowPair(); + DestroyTMCaseBuffers(); + DestroyTask(taskId); + } +} + +static void Task_TMCaseMain(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + s32 input; + + if (!gPaletteFade.active) + { + if (sub_80BF72C() != TRUE) + { + input = ListMenuHandleInput(data[0]); + 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; + Task_BeginFadeOutFromTMCase(taskId); + } + else + { + switch (input) + { + case -1: + break; + case -2: + PlaySE(SE_SELECT); + gSpecialVar_ItemId = 0; + Task_BeginFadeOutFromTMCase(taskId); + break; + default: + PlaySE(SE_SELECT); + FillBG2RowWithPalette_2timesNplus1(1); + RemoveTMCaseScrollIndicatorArrowPair(); + PrintListMenuCursorByID_WithColorIdx(data[0], 2); + data[1] = input; + data[2] = BagGetQuantityByPocketPosition(POCKET_TM_CASE, input); + gSpecialVar_ItemId = BagGetItemIdByPocketPosition(POCKET_TM_CASE, input); + gTasks[taskId].func = sSelectTMActionTasks[sTMCaseStaticResources.tmCaseMenuType]; + break; + } + } + } + } +} + +static void Subtask_ReturnToTMCaseMain(u8 taskId) +{ + FillBG2RowWithPalette_2timesNplus1(0); + CreateTMCaseScrollIndicatorArrowPair_Main(); + gTasks[taskId].func = Task_TMCaseMain; +} + +static void Task_SelectTMAction_FromFieldBag(u8 taskId) +{ + u8 * strbuf; + TMCase_SetWindowBorder2(2); + if (!sub_80BF708() && InUnionRoom() != TRUE) + { + AddTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId, 0); + sTMCaseDynamicResources->menuActionIndices = sMenuActionIndices_Field; + sTMCaseDynamicResources->numMenuActions = NELEMS(sMenuActionIndices_Field); + } + else + { + AddTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId, 1); + sTMCaseDynamicResources->menuActionIndices = sMenuActionIndices_UnionRoom; + sTMCaseDynamicResources->numMenuActions = NELEMS(sMenuActionIndices_UnionRoom); + } + 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, gText_IsSelected); + AddTextPrinterParameterized_ColorByIndex(2, 2, strbuf, 0, 2, 1, 0, 0, 1); + Free(strbuf); + if (itemid_is_unique(gSpecialVar_ItemId)) + { + PlaceHMTileInWindow(2, 0, 2); + CopyWindowToVram(2, 2); + } + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + gTasks[taskId].func = Task_TMContextMenu_HandleInput; +} + +static void Task_TMContextMenu_HandleInput(u8 taskId) +{ + s8 input; + + if (sub_80BF72C() != TRUE) + { + input = ProcessMenuInputNoWrapAround(); + switch (input) + { + case -1: + PlaySE(SE_SELECT); + sMenuActions_UseGiveExit[sTMCaseDynamicResources->menuActionIndices[sTMCaseDynamicResources->numMenuActions - 1]].func.void_u8(taskId); + break; + case -2: + break; + default: + PlaySE(SE_SELECT); + sMenuActions_UseGiveExit[sTMCaseDynamicResources->menuActionIndices[input]].func.void_u8(taskId); + break; + } + } +} + +static void TMHMContextMenuAction_Use(u8 taskId) +{ + RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); + sub_810F4D8(2, 0); + ClearWindowTilemap(2); + PutWindowTilemap(0); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + if (CalculatePlayerPartyCount() == 0) + { + PrintError_ThereIsNoPokemon(taskId); + } + else + { + gUnknown_3005E98 = sub_8125B40; + sTMCaseDynamicResources->savedCallback = sub_8124C8C; + Task_BeginFadeOutFromTMCase(taskId); + } +} + +static void TMHMContextMenuAction_Give(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u16 itemId = BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1]); + RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); + sub_810F4D8(2, 0); + ClearWindowTilemap(2); + PutWindowTilemap(1); + PutWindowTilemap(4); + PutWindowTilemap(5); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + if (!itemid_is_unique(itemId)) + { + if (CalculatePlayerPartyCount() == 0) + { + PrintError_ThereIsNoPokemon(taskId); + } + else + { + sTMCaseDynamicResources->savedCallback = sub_8126EDC; + Task_BeginFadeOutFromTMCase(taskId); + } + } + else + { + PrintError_ItemCantBeHeld(taskId); + } +} + +static void PrintError_ThereIsNoPokemon(u8 taskId) +{ + TMCase_PrintMessageWithFollowupTask(taskId, 2, gText_ThereIsNoPokemon, Task_WaitButtonAfterErrorPrint); +} + +static void PrintError_ItemCantBeHeld(u8 taskId) +{ + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_ItemCantBeHeld); + TMCase_PrintMessageWithFollowupTask(taskId, 2, gStringVar4, Task_WaitButtonAfterErrorPrint); +} + +static void Task_WaitButtonAfterErrorPrint(u8 taskId) +{ + if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + Subtask_CloseContextMenuAndReturnToMain(taskId); + } +} + +static void Subtask_CloseContextMenuAndReturnToMain(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + 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); + PutWindowTilemap(4); + PutWindowTilemap(5); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + Subtask_ReturnToTMCaseMain(taskId); +} + +static void TMHMContextMenuAction_Exit(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); + sub_810F4D8(2, 0); + ClearWindowTilemap(2); + PutWindowTilemap(0); + 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); + Subtask_ReturnToTMCaseMain(taskId); +} + +static void Task_SelectTMAction_Type1(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!itemid_is_unique(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1]))) + { + sTMCaseDynamicResources->savedCallback = c2_8123744; + Task_BeginFadeOutFromTMCase(taskId); + } + else + { + PrintError_ItemCantBeHeld(taskId); + } +} + +static void Task_SelectTMAction_Type3(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!itemid_is_unique(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1]))) + { + sTMCaseDynamicResources->savedCallback = sub_808CE60; + Task_BeginFadeOutFromTMCase(taskId); + } + else + { + PrintError_ItemCantBeHeld(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, gText_OhNoICantBuyThat); + TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Subtask_CloseContextMenuAndReturnToMain); + } + else + { + data[8] = 1; + if (data[2] == 1) + { + HandlePrintMoneyOnHand(); + Task_AskConfirmSaleWithAmount(taskId); + } + else + { + if (data[2] > 99) + data[2] = 99; + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_HowManyWouldYouLikeToSell); + TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Task_InitQuantitySelectUI); + } + } +} + +static void Task_AskConfirmSaleWithAmount(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + 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 Task_PlaceYesNoBox(u8 taskId) +{ + HandleCreateYesNoMenu(taskId, &sYesNoFuncTable); +} + +static void Task_SaleOfTMsCancelled(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + sub_810F4D8(8, 0); + sub_810F260(6, 0); + PutWindowTilemap(0); + PutWindowTilemap(1); + PutWindowTilemap(3); + PutWindowTilemap(4); + PutWindowTilemap(5); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + PrintListMenuCursorByID_WithColorIdx(data[0], 1); + Subtask_ReturnToTMCaseMain(taskId); +} + +static void Task_InitQuantitySelectUI(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + TMCase_SetWindowBorder1(7); + ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + AddTextPrinterParameterized_ColorByIndex(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1); + SellTM_PrintQuantityAndSalePrice(1, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]); + HandlePrintMoneyOnHand(); + CreateTMCaseScrollIndicatorArrowPair_SellQuantitySelect(); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + gTasks[taskId].func = Task_QuantitySelect_HandleInput; +} + +static void SellTM_PrintQuantityAndSalePrice(s16 quantity, s32 amount) +{ + FillWindowPixelBuffer(7, 0x11); + ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + AddTextPrinterParameterized_ColorByIndex(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1); + PrintMoneyAmount(7, 0x38, 0x0A, amount, 0); +} + +static void Task_QuantitySelect_HandleInput(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (sub_80BF848(&data[8], data[2]) == 1) + { + SellTM_PrintQuantityAndSalePrice(data[8], itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]); + } + else if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + sub_810F4D8(7, 0); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + RemoveTMCaseScrollIndicatorArrowPair(); + Task_AskConfirmSaleWithAmount(taskId); + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + sub_810F4D8(7, 0); + sub_810F4D8(8, 0); + sub_810F260(6, 0); + PutWindowTilemap(3); + PutWindowTilemap(0); + PutWindowTilemap(1); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + RemoveTMCaseScrollIndicatorArrowPair(); + PrintListMenuCursorByID_WithColorIdx(data[0], 1); + Subtask_ReturnToTMCaseMain(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(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 Task_DoSaleOfTMs(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + PlaySE(0xF8); + RemoveBagItem(gSpecialVar_ItemId, data[8]); + AddMoney(&gSaveBlock1Ptr->money, itemid_get_market_price(gSpecialVar_ItemId) / 2 * data[8]); + sub_809C09C(gSpecialVar_ItemId, data[8], 2); + DestroyListMenu(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); + TMCaseSetup_GetTMCount(); + TMCaseSetup_InitListMenuPositions(); + InitTMCaseListMenuItems(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sTMCaseStaticResources.scrollOffset, sTMCaseStaticResources.selectedRow); + PrintListMenuCursorByID_WithColorIdx(data[0], 2); + PrintMoneyAmountInMoneyBox(8, GetMoney(&gSaveBlock1Ptr->money), 0); + gTasks[taskId].func = Task_AfterSale_ReturnToList; +} + +static void Task_AfterSale_ReturnToList(u8 taskId) +{ + if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + sub_810F4D8(8, 0); + sub_810F260(6, 0); + PutWindowTilemap(1); + PutWindowTilemap(3); + PutWindowTilemap(4); + PutWindowTilemap(5); + Subtask_CloseContextMenuAndReturnToMain(taskId); + } +} + +void PokeDude_InitTMCase(void) +{ + 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(); + AddBagItem(ITEM_TM01, 1); + AddBagItem(ITEM_TM03, 1); + AddBagItem(ITEM_TM09, 1); + AddBagItem(ITEM_TM35, 1); + InitTMCase(4, CB2_ReturnToTeachyTV, 0); +} + +static void Task_TMCaseDude1(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + data[8] = 0; + data[9] = 0; + gTasks[taskId].func = Task_TMCaseDude_Playback; + } +} + +static void Task_TMCaseDude_Playback(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (JOY_NEW(B_BUTTON)) + { + if (data[8] < 21) + { + data[8] = 21; + sub_815AC20(); + } + } + + switch (data[8]) + { + case 0: + BeginNormalPaletteFade(0xFFFF8405, 4, 0, 6, 0); + FillBG2RowWithPalette_2timesNplus1(1); + data[8]++; + break; + case 1: + case 11: + if (!gPaletteFade.active) + { + data[9]++; + if (data[9] > 0x65) + { + data[9] = 0; + data[8]++; + } + } + break; + case 2: + case 3: + case 4: + case 12: + case 13: + case 14: + if (data[9] == 0) + { + gMain.newKeys = 0; + gMain.newAndRepeatedKeys = DPAD_DOWN; + ListMenuHandleInput(data[0]); + } + data[9]++; + if (data[9] > 0x65) + { + data[9] = 0; + data[8]++; + } + break; + case 5: + case 6: + case 7: + case 15: + case 16: + case 17: + if (data[9] == 0) + { + gMain.newKeys = 0; + gMain.newAndRepeatedKeys = DPAD_UP; + ListMenuHandleInput(data[0]); + } + data[9]++; + if (data[9] > 0x65) + { + data[9] = 0; + data[8]++; + } + break; + case 8: + FillBG2RowWithPalette_2timesNplus1(1); + TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokeDudeText_TMTypes, 0); + gTasks[taskId].func = Task_TMCaseDude_Playback; + data[8]++; + break; + case 9: + case 19: + RunTextPrinters(); + if (!IsTextPrinterActive(6)) + data[8]++; + break; + case 10: + if (JOY_NEW(A_BUTTON | B_BUTTON)) + { + FillBG2RowWithPalette_2timesNplus1(0); + BeginNormalPaletteFade(0x00000400, 0, 6, 0, 0); + sub_810F260(6, 0); + schedule_bg_copy_tilemap_to_vram(1); + data[8]++; + } + break; + case 18: + FillBG2RowWithPalette_2timesNplus1(1); + TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokeDudeText_ReadTMDescription, NULL); + gTasks[taskId].func = Task_TMCaseDude_Playback; // this function + data[8]++; + break; + case 20: + if (JOY_NEW(A_BUTTON | B_BUTTON)) + data[8]++; + break; + case 21: + if (!gPaletteFade.active) + { + 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); + data[8]++; + } + break; + default: + if (!gPaletteFade.active) + { + SetMainCallback2(sTMCaseStaticResources.savedCallback); + RemoveTMCaseScrollIndicatorArrowPair(); + DestroyTMCaseBuffers(); + DestroyTask(taskId); + } + break; + } +} + +static void InitWindowTemplatesAndPals(void) +{ + u8 i; + + InitWindows(sWindowTemplates); + DeactivateAllTextPrinters(); + sub_815001C(0, 0x5B, 0xE0); + sub_814FEAC(0, 0x64, 0xB0); + sub_814FF2C(0, 0x78, 0xD0); + 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); + PutWindowTilemap(0); + PutWindowTilemap(1); + PutWindowTilemap(3); + PutWindowTilemap(4); + PutWindowTilemap(5); + schedule_bg_copy_tilemap_to_vram(0); +} + +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, &sTextColors[colorIdx], speed, str); +} + +static void TMCase_SetWindowBorder1(u8 windowId) +{ + SetWindowBorderStyle(windowId, FALSE, 0x5B, 0x0E); +} + +static void TMCase_SetWindowBorder2(u8 windowId) +{ + SetWindowBorderStyle(windowId, FALSE, 0x78, 0x0D); +} + +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 PrintStringTMCaseOnWindow3(void) +{ + u32 distance = 72 - GetStringWidth(1, gText_TMCase, 0); + box_print(3, 1, distance / 2, 1, &sTextColors[0], 0, gText_TMCase); +} + +static void DrawMoveInfoUIMarkers(void) +{ + 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 TMCase_MoveCursor_UpdatePrintedTMInfo(u16 itemId) +{ + u8 i; + u16 move; + const u8 * str; + + FillWindowPixelRect(5, 0, 0, 0, 40, 48); + if (itemId == ITEM_NONE) + { + for (i = 0; i < 4; i++) + { + AddTextPrinterParameterized_ColorByIndex(5, 3, gText_ThreeHyphens, 7, 12 * i, 0, 0, 0xFF, 3); + } + CopyWindowToVram(5, 2); + } + else + { + move = ItemIdToBattleMoveId(itemId); + blit_move_info_icon(5, gBattleMoves[move].type + 1, 0, 0); + if (gBattleMoves[move].power < 2) + str = gText_ThreeHyphens; + else + { + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].power, STR_CONV_MODE_RIGHT_ALIGN, 3); + str = gStringVar1; + } + AddTextPrinterParameterized_ColorByIndex(5, 3, str, 7, 12, 0, 0, 0xFF, 3); + if (gBattleMoves[move].accuracy == 0) + str = gText_ThreeHyphens; + else + { + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3); + str = gStringVar1; + } + AddTextPrinterParameterized_ColorByIndex(5, 3, str, 7, 24, 0, 0, 0xFF, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, STR_CONV_MODE_RIGHT_ALIGN, 3); + AddTextPrinterParameterized_ColorByIndex(5, 3, gStringVar1, 7, 36, 0, 0, 0xFF, 3); + CopyWindowToVram(5, 2); + } +} + +static void PlaceHMTileInWindow(u8 windowId, u8 x, u8 y) +{ + BlitBitmapToWindow(windowId, gUnknown_8E99118, x, y, 16, 12); +} + +static void HandlePrintMoneyOnHand(void) +{ + PrintMoneyAmountInMoneyBoxWithBorder(8, 0x78, 0xD, GetMoney(&gSaveBlock1Ptr->money)); +} + +static void HandleCreateYesNoMenu(u8 taskId, const struct YesNoFuncTable *ptrs) +{ + CreateYesNoMenuWithCallbacks(taskId, &sYesNoWindowTemplate, 2, 0, 2, 0x5B, 0x0E, ptrs); +} + +static u8 AddTMContextMenu(u8 * a0, u8 a1) +{ + if (*a0 == 0xFF) + { + *a0 = AddWindow(&sTMContextWindowTemplates[a1]); + TMCase_SetWindowBorder1(*a0); + schedule_bg_copy_tilemap_to_vram(0); + } + return *a0; +} + +static void RemoveTMContextMenu(u8 * a0) +{ + sub_810F4D8(*a0, FALSE); + ClearWindowTilemap(*a0); + RemoveWindow(*a0); + schedule_bg_copy_tilemap_to_vram(0); + *a0 = 0xFF; +} + +static u8 CreateTMSprite(u16 itemId) +{ + u8 spriteId = CreateSprite(&sTMSpriteTemplate, 0x29, 0x2E, 0); + u8 r5; + if (itemId == ITEM_NONE) + { + UpdateTMSpritePosition(&gSprites[spriteId], 0xFF); + return spriteId; + } + else + { + r5 = itemId - 33; + SetTMSpriteAnim(&gSprites[spriteId], r5); + TintTMSpriteByType(gBattleMoves[ItemIdToBattleMoveId(itemId)].type); + UpdateTMSpritePosition(&gSprites[spriteId], r5); + return spriteId; + } +} + +static void SetTMSpriteAnim(struct Sprite * sprite, u8 idx) +{ + if (idx >= 50) + StartSpriteAnim(sprite, 1); + else + StartSpriteAnim(sprite, 0); +} + +static void TintTMSpriteByType(u8 type) +{ + 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 UpdateTMSpritePosition(struct Sprite * sprite, u8 var) +{ + s32 x, y; + if (var == 0xFF) + { + x = 0x1B; + y = 0x36; + sprite->pos2.y = 0x14; + } + else + { + if (var >= 50) + var -= 50; + else + var += 8; + x = 0x29 - (((0xE00 * var) / 58) >> 8); + y = 0x2E + (((0x800 * var) / 58) >> 8); + } + sprite->pos1.x = x; + sprite->pos1.y = y; +} + +static void InitSelectedTMSpriteData(u8 spriteId, u16 itemId) +{ + gSprites[spriteId].data[0] = itemId; + gSprites[spriteId].data[1] = 0; + gSprites[spriteId].callback = SpriteCB_MoveTMSpriteInCase; +} + +static void SpriteCB_MoveTMSpriteInCase(struct Sprite * sprite) +{ + switch (sprite->data[1]) + { + case 0: + if (sprite->pos2.y >= 20) + { + if (sprite->data[0] != ITEM_NONE) + { + sprite->data[1]++; + TintTMSpriteByType(gBattleMoves[ItemIdToBattleMoveId(sprite->data[0])].type); + sprite->data[0] -= ITEM_TM01; + SetTMSpriteAnim(sprite, sprite->data[0]); + UpdateTMSpritePosition(sprite, sprite->data[0]); + } + else + sprite->callback = SpriteCallbackDummy; + } + else + { + sprite->pos2.y += 10; + } + break; + case 1: + if (sprite->pos2.y <= 0) + sprite->callback = SpriteCallbackDummy; + else + sprite->pos2.y -= 10; + } +} + +static void LoadTMTypePalettes(void) +{ + struct SpritePalette spritePalette; + + 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/src/window.c b/src/window.c index e760fc8e4..71cfa6898 100644 --- a/src/window.c +++ b/src/window.c @@ -320,7 +320,7 @@ void PutWindowRectTilemap(u8 windowId, u8 x, u8 y, u8 width, u8 height) } } -void BlitBitmapToWindow(u8 windowId, u8 *pixels, u16 x, u16 y, u16 width, u16 height) +void BlitBitmapToWindow(u8 windowId, const u8 *pixels, u16 x, u16 y, u16 width, u16 height) { BlitBitmapRectToWindow(windowId, pixels, 0, 0, width, height, x, y, width, height); } 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 36b7c991c..5a9795eb1 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -971,14 +971,8 @@ gUnknown_2039884: @ 2039884 gUnknown_2039888: @ 2039888 .space 0x4 -gUnknown_203988C: @ 203988C - .space 0x18 - -gUnknown_20398A4: @ 20398A4 - .space 0x8 - -gUnknown_20398AC: @ 20398AC - .space 0x8 +gBagPockets: @ 203988C + .space 0x28 gUnknown_20398B4: @ 20398B4 .space 0x4 @@ -1511,30 +1505,7 @@ gUnknown_203B0EE: @ 203B0EE .include "src/fame_checker.o" .include "src/oak_speech.o" - -gUnknown_203B10C: @ 203B10C - .space 0xA - -gUnknown_203B116: @ 203B116 - .space 0x2 - -gUnknown_203B118: @ 203B118 - .space 0x4 - -gUnknown_203B11C: @ 203B11C - .space 0x4 - -gUnknown_203B120: @ 203B120 - .space 0x4 - -gUnknown_203B124: @ 203B124 - .space 0x4 - -gUnknown_203B128: @ 203B128 - .space 0x4 - -gUnknown_203B12C: @ 203B12C - .space 0x4 + .include "src/tm_case.o" gUnknown_203B130: @ 203B130 .space 0x10 @@ -1688,7 +1659,7 @@ gUnknown_203F43C: @ 203F43C gUnknown_203F440: @ 203F440 .space 0x4 -gUnknown_203F444: @ 203F444 +gTeachyTV_StaticResources: @ 203F444 .space 0x6 gUnknown_203F44A: @ 203F44A |