summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2020-01-18 16:12:55 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2020-01-18 16:12:55 -0500
commit3a235a4fc078bf6474215507bb8e78e0ed8df733 (patch)
treebec4978e58ec7f3798616380294b66be33bdd465
parent39dcda73c4eced02683dccb4319dac480f3300fe (diff)
through sub_8109890
-rw-r--r--asm/item_menu.s549
-rw-r--r--src/item_menu.c141
2 files changed, 141 insertions, 549 deletions
diff --git a/asm/item_menu.s b/asm/item_menu.s
index 2b42a59b8..f13ae7f38 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -5,555 +5,6 @@
.text
- thumb_func_start sub_810971C
-sub_810971C: @ 810971C
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x14
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x6
- movs r1, 0x2
- bl sub_810B9DC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _081097D4 @ =gUnknown_203ACFC
- ldrb r0, [r0, 0x6]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _081097D8 @ =gStringVar1
- mov r10, r1
- bl CopyItemName
- ldr r0, _081097DC @ =gStringVar4
- mov r9, r0
- adds r1, r6, 0
- bl StringExpandPlaceholders
- movs r0, 0x2
- str r0, [sp]
- movs r1, 0x1
- mov r8, r1
- str r1, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- str r6, [sp, 0xC]
- str r1, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x2
- mov r2, r9
- movs r3, 0
- bl sub_810B8F0
- movs r0, 0
- movs r1, 0
- bl sub_810B9DC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r0, r10
- movs r1, 0x1
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r1, _081097E0 @ =gText_TimesStrVar1
- mov r0, r9
- bl StringExpandPlaceholders
- movs r0, 0xA
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- str r6, [sp, 0xC]
- str r0, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0
- mov r2, r9
- movs r3, 0x4
- bl sub_810B8F0
- bl sub_8108940
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081097D4: .4byte gUnknown_203ACFC
-_081097D8: .4byte gStringVar1
-_081097DC: .4byte gStringVar4
-_081097E0: .4byte gText_TimesStrVar1
- thumb_func_end sub_810971C
-
- thumb_func_start sub_81097E4
-sub_81097E4: @ 81097E4
- push {r4-r6,lr}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- bl sub_810BAD8
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- adds r0, r6, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, _08109848 @ =gStringVar1
- lsls r4, 16
- asrs r4, 16
- adds r1, r4, 0
- movs r2, 0x2
- adds r3, r5, 0
- bl ConvertIntToDecimalStringN
- ldr r4, _0810984C @ =gStringVar4
- ldr r1, _08109850 @ =gText_TimesStrVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0xA
- str r0, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- adds r0, r6, 0
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0x4
- bl sub_810B8F0
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109848: .4byte gStringVar1
-_0810984C: .4byte gStringVar4
-_08109850: .4byte gText_TimesStrVar1
- thumb_func_end sub_81097E4
-
- thumb_func_start sub_8109854
-sub_8109854: @ 8109854
- push {lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0xC
- subs r2, r0
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- ldr r2, _0810988C @ =gUnknown_8452D08
- adds r1, r2
- movs r3, 0xD
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x12
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r2, 0xB
- bl CopyToBgTilemapBufferRect
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0810988C: .4byte gUnknown_8452D08
- thumb_func_end sub_8109854
-
- thumb_func_start sub_8109890
-sub_8109890: @ 8109890
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r0, _081098A8 @ =gUnknown_203ACFC
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- beq _08109924
- cmp r0, 0x6
- bgt _081098AC
- cmp r0, 0x5
- beq _081098B6
- b _0810993C
- .align 2, 0
-_081098A8: .4byte gUnknown_203ACFC
-_081098AC:
- cmp r0, 0x7
- beq _081098B6
- cmp r0, 0x8
- beq _08109924
- b _0810993C
-_081098B6:
- ldr r2, _081098D4 @ =gSpecialVar_ItemId
- ldrh r1, [r2]
- ldr r0, _081098D8 @ =0x0000016d @ ITEM_BERRY_POUCH
- cmp r1, r0
- bne _081098E8
- ldr r1, _081098DC @ =gUnknown_203AD20
- movs r0, 0x8
- strb r0, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x1]
- ldr r0, _081098E0 @ =gUnknown_203AD24
- str r1, [r0]
- ldr r1, _081098E4 @ =gUnknown_203AD28
- movs r0, 0x2
- b _08109AD0
- .align 2, 0
-_081098D4: .4byte gSpecialVar_ItemId
-_081098D8: .4byte 0x0000016d
-_081098DC: .4byte gUnknown_203AD20
-_081098E0: .4byte gUnknown_203AD24
-_081098E4: .4byte gUnknown_203AD28
-_081098E8:
- ldrh r0, [r2]
- bl ItemId_GetBattleUsage
- lsls r0, 24
- cmp r0, 0
- beq _0810990C
- ldr r1, _08109900 @ =gUnknown_203AD24
- ldr r0, _08109904 @ =gUnknown_8452F30
- str r0, [r1]
- ldr r1, _08109908 @ =gUnknown_203AD28
- movs r0, 0x2
- b _08109AD0
- .align 2, 0
-_08109900: .4byte gUnknown_203AD24
-_08109904: .4byte gUnknown_8452F30
-_08109908: .4byte gUnknown_203AD28
-_0810990C:
- ldr r1, _08109918 @ =gUnknown_203AD24
- ldr r0, _0810991C @ =gUnknown_8452F32
- str r0, [r1]
- ldr r1, _08109920 @ =gUnknown_203AD28
- movs r0, 0x1
- b _08109AD0
- .align 2, 0
-_08109918: .4byte gUnknown_203AD24
-_0810991C: .4byte gUnknown_8452F32
-_08109920: .4byte gUnknown_203AD28
-_08109924:
- ldr r1, _08109930 @ =gUnknown_203AD24
- ldr r0, _08109934 @ =gUnknown_8452F30
- str r0, [r1]
- ldr r1, _08109938 @ =gUnknown_203AD28
- movs r0, 0x2
- b _08109AD0
- .align 2, 0
-_08109930: .4byte gUnknown_203AD24
-_08109934: .4byte gUnknown_8452F30
-_08109938: .4byte gUnknown_203AD28
-_0810993C:
- bl MenuHelpers_LinkSomething
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08109950
- bl InUnionRoom
- cmp r0, 0x1
- bne _081099C4
-_08109950:
- ldr r1, _08109970 @ =gSpecialVar_ItemId
- ldr r2, _08109974 @ =0xfffffe94
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08109984
- ldr r1, _08109978 @ =gUnknown_203AD24
- ldr r0, _0810997C @ =gUnknown_8452F2E
- str r0, [r1]
- ldr r1, _08109980 @ =gUnknown_203AD28
- movs r0, 0x2
- b _08109AD0
- .align 2, 0
-_08109970: .4byte gSpecialVar_ItemId
-_08109974: .4byte 0xfffffe94
-_08109978: .4byte gUnknown_203AD24
-_0810997C: .4byte gUnknown_8452F2E
-_08109980: .4byte gUnknown_203AD28
-_08109984:
- ldr r0, _08109998 @ =gUnknown_203ACFC
- ldrh r2, [r0, 0x6]
- adds r3, r0, 0
- cmp r2, 0x1
- bne _081099A0
- ldr r0, _0810999C @ =gUnknown_203AD28
- strb r2, [r0]
- adds r7, r0, 0
- b _081099A8
- .align 2, 0
-_08109998: .4byte gUnknown_203ACFC
-_0810999C: .4byte gUnknown_203AD28
-_081099A0:
- ldr r1, _081099B8 @ =gUnknown_203AD28
- movs r0, 0x2
- strb r0, [r1]
- adds r7, r1, 0
-_081099A8:
- ldr r0, _081099BC @ =gUnknown_203AD24
- ldrh r1, [r3, 0x6]
- lsls r1, 1
- ldr r2, _081099C0 @ =gUnknown_8452F28
- adds r1, r2
- str r1, [r0]
- b _08109AD4
- .align 2, 0
-_081099B8: .4byte gUnknown_203AD28
-_081099BC: .4byte gUnknown_203AD24
-_081099C0: .4byte gUnknown_8452F28
-_081099C4:
- ldr r5, _081099D8 @ =gUnknown_203ACFC
- ldrh r0, [r5, 0x6]
- cmp r0, 0x1
- beq _08109A34
- cmp r0, 0x1
- bgt _081099E0
- cmp r0, 0
- beq _081099EC
- ldr r7, _081099DC @ =gUnknown_203AD28
- b _08109AD4
- .align 2, 0
-_081099D8: .4byte gUnknown_203ACFC
-_081099DC: .4byte gUnknown_203AD28
-_081099E0:
- cmp r0, 0x2
- beq _08109AC4
- ldr r7, _081099E8 @ =gUnknown_203AD28
- b _08109AD4
- .align 2, 0
-_081099E8: .4byte gUnknown_203AD28
-_081099EC:
- ldr r4, _08109A0C @ =gUnknown_203AD28
- movs r0, 0x4
- strb r0, [r4]
- ldr r0, _08109A10 @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08109A1C
- ldr r1, _08109A14 @ =gUnknown_203AD24
- ldr r0, _08109A18 @ =gUnknown_8452F24
- str r0, [r1]
- adds r7, r4, 0
- b _08109AD4
- .align 2, 0
-_08109A0C: .4byte gUnknown_203AD28
-_08109A10: .4byte gSpecialVar_ItemId
-_08109A14: .4byte gUnknown_203AD24
-_08109A18: .4byte gUnknown_8452F24
-_08109A1C:
- ldr r0, _08109A2C @ =gUnknown_203AD24
- ldrh r1, [r5, 0x6]
- lsls r1, 2
- ldr r2, _08109A30 @ =gUnknown_8452F18
- adds r1, r2
- str r1, [r0]
- adds r7, r4, 0
- b _08109AD4
- .align 2, 0
-_08109A2C: .4byte gUnknown_203AD24
-_08109A30: .4byte gUnknown_8452F18
-_08109A34:
- ldr r0, _08109A5C @ =gUnknown_203AD24
- ldr r2, _08109A60 @ =gUnknown_203AD20
- str r2, [r0]
- ldr r3, _08109A64 @ =gUnknown_203AD28
- movs r0, 0x3
- strb r0, [r3]
- movs r0, 0x4
- strb r0, [r2, 0x2]
- ldr r0, _08109A68 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, _08109A6C @ =0x00000296
- adds r0, r1
- ldr r1, _08109A70 @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- adds r7, r3, 0
- ldrh r3, [r1]
- cmp r0, r3
- bne _08109A74
- movs r0, 0xA
- b _08109A76
- .align 2, 0
-_08109A5C: .4byte gUnknown_203AD24
-_08109A60: .4byte gUnknown_203AD20
-_08109A64: .4byte gUnknown_203AD28
-_08109A68: .4byte gSaveBlock1Ptr
-_08109A6C: .4byte 0x00000296
-_08109A70: .4byte gSpecialVar_ItemId
-_08109A74:
- movs r0, 0x2
-_08109A76:
- strb r0, [r2, 0x1]
- ldrh r1, [r1]
- ldr r3, _08109A8C @ =0xfffffe94
- adds r0, r1, r3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08109A90
- movs r0, 0x7
- strb r0, [r2]
- b _08109AD4
- .align 2, 0
-_08109A8C: .4byte 0xfffffe94
-_08109A90:
- lsls r1, 16
- movs r0, 0xB4
- lsls r0, 17
- cmp r1, r0
- bne _08109AB0
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _08109AB0
- ldr r1, _08109AAC @ =gUnknown_203AD20
- movs r0, 0x9
- b _08109AB4
- .align 2, 0
-_08109AAC: .4byte gUnknown_203AD20
-_08109AB0:
- ldr r1, _08109ABC @ =gUnknown_203AD20
- movs r0, 0
-_08109AB4:
- strb r0, [r1]
- ldr r7, _08109AC0 @ =gUnknown_203AD28
- b _08109AD4
- .align 2, 0
-_08109ABC: .4byte gUnknown_203AD20
-_08109AC0: .4byte gUnknown_203AD28
-_08109AC4:
- ldr r1, _08109B98 @ =gUnknown_203AD24
- ldr r0, _08109B9C @ =gUnknown_8452F18
- adds r0, 0x8
- str r0, [r1]
- ldr r1, _08109BA0 @ =gUnknown_203AD28
- movs r0, 0x3
-_08109AD0:
- strb r0, [r1]
- adds r7, r1, 0
-_08109AD4:
- ldrb r1, [r7]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xA
- bl sub_810B9DC
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x2
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x2
- movs r1, 0x2
- bl GetFontAttribute
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- movs r1, 0x1
- bl GetFontAttribute
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp]
- str r0, [sp, 0x4]
- ldrb r0, [r7]
- str r0, [sp, 0x8]
- ldr r0, _08109BA4 @ =gUnknown_8452EB8
- str r0, [sp, 0xC]
- ldr r0, _08109B98 @ =gUnknown_203AD24
- ldr r0, [r0]
- str r0, [sp, 0x10]
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r5, 0
- movs r3, 0x2
- bl AddItemMenuActionTextPrinters
- movs r0, 0x2
- movs r1, 0x1
- bl GetFontAttribute
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldrb r0, [r7]
- str r0, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl Menu_InitCursor
- movs r0, 0x6
- movs r1, 0
- bl sub_810B9DC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08109BA8 @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldr r1, _08109BAC @ =gStringVar1
- bl CopyItemName
- ldr r6, _08109BB0 @ =gStringVar4
- ldr r1, _08109BB4 @ =gOtherText_StrVar1
- adds r0, r6, 0
- bl StringExpandPlaceholders
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- str r5, [sp, 0xC]
- str r0, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r6, 0
- movs r3, 0
- bl sub_810B8F0
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08109B98: .4byte gUnknown_203AD24
-_08109B9C: .4byte gUnknown_8452F18
-_08109BA0: .4byte gUnknown_203AD28
-_08109BA4: .4byte gUnknown_8452EB8
-_08109BA8: .4byte gSpecialVar_ItemId
-_08109BAC: .4byte gStringVar1
-_08109BB0: .4byte gStringVar4
-_08109BB4: .4byte gOtherText_StrVar1
- thumb_func_end sub_8109890
-
thumb_func_start sub_8109BB8
sub_8109BB8: @ 8109BB8
push {r4,lr}
diff --git a/src/item_menu.c b/src/item_menu.c
index 66656f8bf..7d03c5170 100644
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -3,12 +3,15 @@
#include "bag.h"
#include "battle_controllers.h"
#include "decompress.h"
+#include "field_player_avatar.h"
#include "graphics.h"
#include "help_system.h"
#include "item.h"
#include "item_menu.h"
#include "item_menu_icons.h"
+#include "link.h"
#include "list_menu.h"
+#include "mail_data.h"
#include "menu.h"
#include "menu_indicators.h"
#include "new_menu_helpers.h"
@@ -40,6 +43,9 @@ EWRAM_DATA struct BagMenuAlloc * gUnknown_203AD10 = NULL;
EWRAM_DATA void * gUnknown_203AD14 = NULL;
EWRAM_DATA struct ListMenuItem * gUnknown_203AD18 = NULL;
EWRAM_DATA u8 (*gUnknown_203AD1C)[19] = NULL;
+EWRAM_DATA u8 gUnknown_203AD20[4] = {};
+EWRAM_DATA const u8 *gUnknown_203AD24 = NULL;
+EWRAM_DATA u8 gUnknown_203AD28 = 0;
void sub_8107F10(void);
bool8 sub_8107F3C(void);
@@ -156,6 +162,12 @@ const struct MenuAction gUnknown_8452EB8[] = {
[ITEMMENUACTION_DUMMY] = {gString_Dummy, {.void_u8 = NULL}}
};
+extern const u8 gUnknown_8452F18[][4];
+extern const u8 gUnknown_8452F24[];
+extern const u8 gUnknown_8452F28[][2];
+extern const u8 gUnknown_8452F2E[];
+extern const u8 gUnknown_8452F30[];
+extern const u8 gUnknown_8452F32[];
extern const TaskFunc gUnknown_8452F34[];
extern const u8 gUnknown_8452F60[];
extern const u8 gUnknown_8452F66[];
@@ -1160,3 +1172,132 @@ void sub_810967C(u8 taskId, u32 itemIndex)
sub_81088D8();
gTasks[taskId].func = sub_8108F0C;
}
+
+void sub_810971C(u16 cursorPos, const u8 *str)
+{
+ u8 r4;
+ u8 r5 = sub_810B9DC(6, 2);
+ CopyItemName(BagGetItemIdByPocketPosition(gUnknown_203ACFC.pocket + 1, cursorPos), gStringVar1);
+ StringExpandPlaceholders(gStringVar4, str);
+ sub_810B8F0(r5, 2, gStringVar4, 0, 2, 1, 0, 0, 1);
+ r4 = sub_810B9DC(0, 0);
+ ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 3);
+ StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1);
+ sub_810B8F0(r4, 0, gStringVar4, 4, 10, 1, 0, 0, 1);
+ sub_8108940();
+}
+
+void sub_81097E4(s16 value, u8 ndigits)
+{
+ u8 r6 = sub_810BAD8(0);
+ FillWindowPixelBuffer(r6, PIXEL_FILL(1));
+ ConvertIntToDecimalStringN(gStringVar1, value, STR_CONV_MODE_LEADING_ZEROS, ndigits);
+ StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1);
+ sub_810B8F0(r6, 0, gStringVar4, 4, 10, 1, 0, 0, 1);
+}
+
+void sub_8109854(u8 a0)
+{
+ CopyToBgTilemapBufferRect(1, gUnknown_8452D08[12 - a0], 11, 13 - a0, 18, 1);
+ ScheduleBgCopyTilemapToVram(1);
+}
+
+void sub_8109890(void)
+{
+ u8 r6;
+ u8 r4;
+ switch (gUnknown_203ACFC.location)
+ {
+ case 5:
+ case 7:
+ if (gSpecialVar_ItemId == ITEM_BERRY_POUCH)
+ {
+ gUnknown_203AD20[0] = ITEMMENUACTION_OPEN_BERRIES;
+ gUnknown_203AD20[1] = ITEMMENUACTION_CANCEL;
+ gUnknown_203AD24 = gUnknown_203AD20;
+ gUnknown_203AD28 = 2;
+ }
+ else if (ItemId_GetBattleUsage(gSpecialVar_ItemId))
+ {
+ gUnknown_203AD24 = gUnknown_8452F30;
+ gUnknown_203AD28 = 2;
+ }
+ else
+ {
+ gUnknown_203AD24 = gUnknown_8452F32;
+ gUnknown_203AD28 = 1;
+ }
+ break;
+ case 6:
+ case 8:
+ gUnknown_203AD24 = gUnknown_8452F30;
+ gUnknown_203AD28 = 2;
+ break;
+ default:
+ if (MenuHelpers_LinkSomething() == TRUE || InUnionRoom() == TRUE)
+ {
+ if (gSpecialVar_ItemId == ITEM_TM_CASE || gSpecialVar_ItemId == ITEM_BERRY_POUCH)
+ {
+ gUnknown_203AD24 = gUnknown_8452F2E;
+ gUnknown_203AD28 = 2;
+ }
+ else
+ {
+ if (gUnknown_203ACFC.pocket == POCKET_KEY_ITEMS - 1)
+ gUnknown_203AD28 = 1;
+ else
+ gUnknown_203AD28 = 2;
+ gUnknown_203AD24 = gUnknown_8452F28[gUnknown_203ACFC.pocket];
+ }
+ }
+ else
+ {
+ switch (gUnknown_203ACFC.pocket)
+ {
+ case POCKET_ITEMS - 1:
+ gUnknown_203AD28 = 4;
+ if (ItemIsMail(gSpecialVar_ItemId) == TRUE)
+ gUnknown_203AD24 = gUnknown_8452F24;
+ else
+ gUnknown_203AD24 = gUnknown_8452F18[gUnknown_203ACFC.pocket];
+ break;
+ case POCKET_KEY_ITEMS - 1:
+ gUnknown_203AD24 = gUnknown_203AD20;
+ gUnknown_203AD28 = 3;
+ gUnknown_203AD20[2] = ITEMMENUACTION_CANCEL;
+ if (gSaveBlock1Ptr->registeredItem == gSpecialVar_ItemId)
+ gUnknown_203AD20[1] = ITEMMENUACTION_DESELECT;
+ else
+ gUnknown_203AD20[1] = ITEMMENUACTION_REGISTER;
+ if (gSpecialVar_ItemId == ITEM_TM_CASE || gSpecialVar_ItemId == ITEM_BERRY_POUCH)
+ gUnknown_203AD20[0] = ITEMMENUACTION_OPEN;
+ else if (gSpecialVar_ItemId == ITEM_BICYCLE && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE | PLAYER_AVATAR_FLAG_MACH_BIKE))
+ gUnknown_203AD20[0] = ITEMMENUACTION_WALK;
+ else
+ gUnknown_203AD20[0] = ITEMMENUACTION_USE;
+ break;
+ case POCKET_POKE_BALLS - 1:
+ gUnknown_203AD24 = gUnknown_8452F18[gUnknown_203ACFC.pocket];
+ gUnknown_203AD28 = 3;
+ break;
+ }
+ }
+ }
+ r6 = sub_810B9DC(10, gUnknown_203AD28 - 1);
+ AddItemMenuActionTextPrinters(
+ r6,
+ 2,
+ GetMenuCursorDimensionByFont(2, 0),
+ 2,
+ GetFontAttribute(2, FONTATTR_LETTER_SPACING),
+ GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2,
+ gUnknown_203AD28,
+ gUnknown_8452EB8,
+ gUnknown_203AD24
+ );
+ Menu_InitCursor(r6, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, gUnknown_203AD28, 0);
+ r4 = sub_810B9DC(6, 0);
+ CopyItemName(gSpecialVar_ItemId, gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gOtherText_StrVar1);
+ sub_810B8F0(r4, 2, gStringVar4, 0, 2, 1, 0, 0, 1);
+}