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