through sub_8109890
This commit is contained in:
-549
@@ -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}
|
||||
|
||||
+141
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user