mirror of
https://github.com/pret/pokefirered.git
synced 2026-04-24 23:07:39 -05:00
item_pc: through sub_810E200
This commit is contained in:
parent
b624de76db
commit
d681d7f727
|
|
@ -169,7 +169,7 @@ CopyItemName: @ 8099E90
|
|||
.align 2, 0
|
||||
_08099EB4: .4byte gUnknown_84162BD
|
||||
_08099EB8:
|
||||
bl ItemId_GetItem
|
||||
bl ItemId_GetName
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
bl StringCopy
|
||||
|
|
@ -1567,8 +1567,8 @@ _0809A8B8:
|
|||
bx r1
|
||||
thumb_func_end SanitizeItemId
|
||||
|
||||
thumb_func_start ItemId_GetItem
|
||||
ItemId_GetItem: @ 809A8BC
|
||||
thumb_func_start ItemId_GetName
|
||||
ItemId_GetName: @ 809A8BC
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
|
|
@ -1583,7 +1583,7 @@ ItemId_GetItem: @ 809A8BC
|
|||
bx r1
|
||||
.align 2, 0
|
||||
_0809A8D8: .4byte gItems
|
||||
thumb_func_end ItemId_GetItem
|
||||
thumb_func_end ItemId_GetName
|
||||
|
||||
thumb_func_start itemid_get_number
|
||||
itemid_get_number: @ 809A8DC
|
||||
|
|
|
|||
|
|
@ -981,7 +981,7 @@ _08108584:
|
|||
bl StringCopy
|
||||
_0810858C:
|
||||
adds r0, r5, 0
|
||||
bl ItemId_GetItem
|
||||
bl ItemId_GetName
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
bl StringAppend
|
||||
|
|
@ -2853,7 +2853,7 @@ sub_81093B8: @ 81093B8
|
|||
bl BagGetItemIdByPocketPosition
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl ItemId_GetItem
|
||||
bl ItemId_GetName
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
bl StringCopy
|
||||
|
|
|
|||
455
asm/item_pc.s
455
asm/item_pc.s
|
|
@ -5,461 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_810DEA0
|
||||
sub_810DEA0: @ 810DEA0
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
ldr r1, _0810DF10 @ =gTasks+0x8
|
||||
adds r6, r0, r1
|
||||
ldr r0, _0810DF14 @ =gPaletteFade
|
||||
ldrb r1, [r0, 0x7]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _0810DF9E
|
||||
bl sub_80A0A98
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0810DF9E
|
||||
ldr r0, _0810DF18 @ =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x4
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _0810DF20
|
||||
ldrb r0, [r6]
|
||||
mov r4, sp
|
||||
adds r4, 0x2
|
||||
mov r1, sp
|
||||
adds r2, r4, 0
|
||||
bl ListMenuGetScrollAndRow
|
||||
mov r0, sp
|
||||
ldrh r1, [r0]
|
||||
ldrh r0, [r4]
|
||||
adds r1, r0
|
||||
ldr r0, _0810DF1C @ =gUnknown_203ADBC
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0x7]
|
||||
cmp r1, r0
|
||||
beq _0810DF20
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
mov r0, sp
|
||||
ldrh r1, [r4]
|
||||
ldrh r0, [r0]
|
||||
adds r1, r0
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
adds r0, r5, 0
|
||||
bl sub_810DFE0
|
||||
b _0810DF9E
|
||||
.align 2, 0
|
||||
_0810DF10: .4byte gTasks+0x8
|
||||
_0810DF14: .4byte gPaletteFade
|
||||
_0810DF18: .4byte gMain
|
||||
_0810DF1C: .4byte gUnknown_203ADBC
|
||||
_0810DF20:
|
||||
ldrb r0, [r6]
|
||||
bl ListMenuHandleInput
|
||||
adds r4, r0, 0
|
||||
ldrb r0, [r6]
|
||||
ldr r1, _0810DF44 @ =gUnknown_203ADCC + 0x4
|
||||
adds r2, r1, 0x2
|
||||
bl ListMenuGetScrollAndRow
|
||||
movs r0, 0x2
|
||||
negs r0, r0
|
||||
cmp r4, r0
|
||||
beq _0810DF48
|
||||
adds r0, 0x1
|
||||
cmp r4, r0
|
||||
bne _0810DF6C
|
||||
b _0810DF9E
|
||||
.align 2, 0
|
||||
_0810DF44: .4byte gUnknown_203ADCC + 0x4
|
||||
_0810DF48:
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
movs r0, 0
|
||||
bl sub_810DE94
|
||||
ldr r0, _0810DF64 @ =gTasks
|
||||
lsls r1, r5, 2
|
||||
adds r1, r5
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
ldr r0, _0810DF68 @ =sub_810DC8C
|
||||
str r0, [r1]
|
||||
b _0810DF9E
|
||||
.align 2, 0
|
||||
_0810DF64: .4byte gTasks
|
||||
_0810DF68: .4byte sub_810DC8C
|
||||
_0810DF6C:
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
movs r0, 0x1
|
||||
bl sub_810DE6C
|
||||
bl sub_810DBD0
|
||||
strh r4, [r6, 0x2]
|
||||
lsls r0, r4, 16
|
||||
lsrs r0, 16
|
||||
bl ItemPc_GetItemQuantityBySlotId
|
||||
strh r0, [r6, 0x4]
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0x2
|
||||
bl sub_810DAB4
|
||||
ldr r1, _0810DFA8 @ =gTasks
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, _0810DFAC @ =sub_810E274
|
||||
str r1, [r0]
|
||||
_0810DF9E:
|
||||
add sp, 0x4
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810DFA8: .4byte gTasks
|
||||
_0810DFAC: .4byte sub_810E274
|
||||
thumb_func_end sub_810DEA0
|
||||
|
||||
thumb_func_start sub_810DFB0
|
||||
sub_810DFB0: @ 810DFB0
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0
|
||||
bl sub_810DE6C
|
||||
bl sub_810DB5C
|
||||
ldr r1, _0810DFD8 @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, _0810DFDC @ =sub_810DEA0
|
||||
str r1, [r0]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810DFD8: .4byte gTasks
|
||||
_0810DFDC: .4byte sub_810DEA0
|
||||
thumb_func_end sub_810DFB0
|
||||
|
||||
thumb_func_start sub_810DFE0
|
||||
sub_810DFE0: @ 810DFE0
|
||||
push {r4-r6,lr}
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5,r6}
|
||||
sub sp, 0x14
|
||||
adds r4, r1, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
lsls r5, r0, 2
|
||||
adds r5, r0
|
||||
lsls r5, 3
|
||||
ldr r0, _0810E09C @ =gTasks+0x8
|
||||
mov r8, r0
|
||||
adds r6, r5, r0
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0x10
|
||||
movs r2, 0x1
|
||||
bl sub_8107BD0
|
||||
strh r4, [r6, 0x2]
|
||||
ldr r0, _0810E0A0 @ =gUnknown_203ADBC
|
||||
ldr r0, [r0]
|
||||
movs r1, 0
|
||||
mov r9, r1
|
||||
strb r4, [r0, 0x4]
|
||||
ldr r4, _0810E0A4 @ =gStringVar1
|
||||
ldrh r0, [r6, 0x2]
|
||||
bl ItemPc_GetItemIdBySlotId
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl ItemId_GetItem
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
bl StringCopy
|
||||
ldr r4, _0810E0A8 @ =gStringVar4
|
||||
ldr r1, _0810E0AC @ =gUnknown_841633F
|
||||
adds r0, r4, 0
|
||||
bl StringExpandPlaceholders
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
bl FillWindowPixelBuffer
|
||||
movs r1, 0x3
|
||||
str r1, [sp]
|
||||
movs r0, 0x2
|
||||
str r0, [sp, 0x4]
|
||||
str r1, [sp, 0x8]
|
||||
mov r0, r9
|
||||
str r0, [sp, 0xC]
|
||||
str r0, [sp, 0x10]
|
||||
movs r0, 0x1
|
||||
movs r1, 0x2
|
||||
adds r2, r4, 0
|
||||
movs r3, 0
|
||||
bl sub_810EA34
|
||||
movs r4, 0x20
|
||||
negs r4, r4
|
||||
ldrb r0, [r6]
|
||||
bl ListMenuGetYCoordForPrintingArrowCursor
|
||||
adds r1, r0, 0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
adds r0, r4, 0
|
||||
bl sub_80986A8
|
||||
movs r0, 0
|
||||
bl sub_8098660
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0x2
|
||||
bl sub_810DAB4
|
||||
movs r1, 0x8
|
||||
negs r1, r1
|
||||
add r8, r1
|
||||
add r5, r8
|
||||
ldr r0, _0810E0B0 @ =sub_810E0B4
|
||||
str r0, [r5]
|
||||
add sp, 0x14
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810E09C: .4byte gTasks+0x8
|
||||
_0810E0A0: .4byte gUnknown_203ADBC
|
||||
_0810E0A4: .4byte gStringVar1
|
||||
_0810E0A8: .4byte gStringVar4
|
||||
_0810E0AC: .4byte gUnknown_841633F
|
||||
_0810E0B0: .4byte sub_810E0B4
|
||||
thumb_func_end sub_810DFE0
|
||||
|
||||
thumb_func_start sub_810E0B4
|
||||
sub_810E0B4: @ 810E0B4
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
mov r8, r6
|
||||
lsls r4, r6, 2
|
||||
adds r4, r6
|
||||
lsls r4, 3
|
||||
ldr r0, _0810E11C @ =gTasks+0x8
|
||||
adds r4, r0
|
||||
ldrb r0, [r4]
|
||||
bl ListMenuHandleInput
|
||||
ldrb r0, [r4]
|
||||
ldr r7, _0810E120 @ =gUnknown_203ADCC + 0x4
|
||||
adds r2, r7, 0x2
|
||||
adds r1, r7, 0
|
||||
bl ListMenuGetScrollAndRow
|
||||
movs r5, 0x20
|
||||
negs r5, r5
|
||||
ldrb r0, [r4]
|
||||
bl ListMenuGetYCoordForPrintingArrowCursor
|
||||
adds r1, r0, 0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
adds r0, r5, 0
|
||||
bl sub_80986A8
|
||||
ldr r0, _0810E124 @ =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x5
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _0810E12C
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
ldr r0, _0810E128 @ =gUnknown_203ADBC
|
||||
ldr r1, [r0]
|
||||
movs r0, 0xFF
|
||||
strb r0, [r1, 0x4]
|
||||
subs r0, r7, 0x4
|
||||
ldrh r1, [r0, 0x4]
|
||||
ldrh r0, [r0, 0x6]
|
||||
adds r1, r0
|
||||
adds r0, r6, 0
|
||||
bl sub_810E160
|
||||
b _0810E150
|
||||
.align 2, 0
|
||||
_0810E11C: .4byte gTasks+0x8
|
||||
_0810E120: .4byte gUnknown_203ADCC + 0x4
|
||||
_0810E124: .4byte gMain
|
||||
_0810E128: .4byte gUnknown_203ADBC
|
||||
_0810E12C:
|
||||
movs r0, 0x2
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _0810E150
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
ldr r0, _0810E15C @ =gUnknown_203ADBC
|
||||
ldr r1, [r0]
|
||||
movs r0, 0xFF
|
||||
strb r0, [r1, 0x4]
|
||||
subs r0, r7, 0x4
|
||||
ldrh r1, [r0, 0x4]
|
||||
ldrh r0, [r0, 0x6]
|
||||
adds r1, r0
|
||||
mov r0, r8
|
||||
bl sub_810E200
|
||||
_0810E150:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810E15C: .4byte gUnknown_203ADBC
|
||||
thumb_func_end sub_810E0B4
|
||||
|
||||
thumb_func_start sub_810E160
|
||||
sub_810E160: @ 810E160
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r4, r1, 0
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
lsls r0, r2, 2
|
||||
adds r0, r2
|
||||
lsls r7, r0, 3
|
||||
ldr r0, _0810E190 @ =gTasks+0x8
|
||||
mov r8, r0
|
||||
adds r6, r7, r0
|
||||
movs r0, 0x2
|
||||
ldrsh r1, [r6, r0]
|
||||
cmp r1, r4
|
||||
beq _0810E186
|
||||
subs r0, r4, 0x1
|
||||
cmp r1, r0
|
||||
bne _0810E194
|
||||
_0810E186:
|
||||
adds r0, r2, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_810E200
|
||||
b _0810E1E6
|
||||
.align 2, 0
|
||||
_0810E190: .4byte gTasks+0x8
|
||||
_0810E194:
|
||||
ldr r0, _0810E1F0 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r2, 0xA6
|
||||
lsls r2, 2
|
||||
adds r0, r2
|
||||
adds r2, r4, 0
|
||||
bl sub_8108D60
|
||||
ldrb r0, [r6]
|
||||
ldr r5, _0810E1F4 @ =gUnknown_203ADCC + 0x4
|
||||
adds r2, r5, 0x2
|
||||
adds r1, r5, 0
|
||||
bl DestroyListMenu
|
||||
movs r1, 0x2
|
||||
ldrsh r0, [r6, r1]
|
||||
cmp r0, r4
|
||||
bcs _0810E1C0
|
||||
subs r1, r5, 0x4
|
||||
ldrh r0, [r1, 0x6]
|
||||
subs r0, 0x1
|
||||
strh r0, [r1, 0x6]
|
||||
_0810E1C0:
|
||||
bl sub_810D878
|
||||
ldr r0, _0810E1F8 @ =gMultiuseListMenuTemplate
|
||||
subs r2, r5, 0x4
|
||||
ldrh r1, [r2, 0x4]
|
||||
ldrh r2, [r2, 0x6]
|
||||
bl ListMenuInit
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r6]
|
||||
movs r0, 0x1
|
||||
bl sub_8098660
|
||||
mov r0, r8
|
||||
subs r0, 0x8
|
||||
adds r0, r7, r0
|
||||
ldr r1, _0810E1FC @ =sub_810DEA0
|
||||
str r1, [r0]
|
||||
_0810E1E6:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810E1F0: .4byte gSaveBlock1Ptr
|
||||
_0810E1F4: .4byte gUnknown_203ADCC + 0x4
|
||||
_0810E1F8: .4byte gMultiuseListMenuTemplate
|
||||
_0810E1FC: .4byte sub_810DEA0
|
||||
thumb_func_end sub_810E160
|
||||
|
||||
thumb_func_start sub_810E200
|
||||
sub_810E200: @ 810E200
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r4, r1, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r7, r1, 3
|
||||
ldr r0, _0810E264 @ =gTasks+0x8
|
||||
mov r8, r0
|
||||
adds r6, r7, r0
|
||||
ldrb r0, [r6]
|
||||
ldr r5, _0810E268 @ =gUnknown_203ADCC + 0x4
|
||||
adds r2, r5, 0x2
|
||||
adds r1, r5, 0
|
||||
bl DestroyListMenu
|
||||
movs r1, 0x2
|
||||
ldrsh r0, [r6, r1]
|
||||
cmp r0, r4
|
||||
bcs _0810E234
|
||||
subs r1, r5, 0x4
|
||||
ldrh r0, [r1, 0x6]
|
||||
subs r0, 0x1
|
||||
strh r0, [r1, 0x6]
|
||||
_0810E234:
|
||||
bl sub_810D878
|
||||
ldr r0, _0810E26C @ =gMultiuseListMenuTemplate
|
||||
subs r2, r5, 0x4
|
||||
ldrh r1, [r2, 0x4]
|
||||
ldrh r2, [r2, 0x6]
|
||||
bl ListMenuInit
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r6]
|
||||
movs r0, 0x1
|
||||
bl sub_8098660
|
||||
mov r0, r8
|
||||
subs r0, 0x8
|
||||
adds r0, r7, r0
|
||||
ldr r1, _0810E270 @ =sub_810DEA0
|
||||
str r1, [r0]
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0810E264: .4byte gTasks+0x8
|
||||
_0810E268: .4byte gUnknown_203ADCC + 0x4
|
||||
_0810E26C: .4byte gMultiuseListMenuTemplate
|
||||
_0810E270: .4byte sub_810DEA0
|
||||
thumb_func_end sub_810E200
|
||||
|
||||
thumb_func_start sub_810E274
|
||||
sub_810E274: @ 810E274
|
||||
push {r4-r6,lr}
|
||||
|
|
|
|||
|
|
@ -3627,7 +3627,7 @@ _08120678:
|
|||
_0812067E:
|
||||
ldr r0, _08120698 @ =0x0000016d
|
||||
_08120680:
|
||||
bl ItemId_GetItem
|
||||
bl ItemId_GetName
|
||||
adds r1, r0, 0
|
||||
_08120686:
|
||||
ldr r0, _0812069C @ =gStringVar1
|
||||
|
|
|
|||
|
|
@ -1759,7 +1759,7 @@ _0811D330:
|
|||
_0811D358:
|
||||
adds r4, 0x14
|
||||
adds r0, r7, 0
|
||||
bl ItemId_GetItem
|
||||
bl ItemId_GetName
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
bl StringCopy
|
||||
|
|
|
|||
|
|
@ -16876,7 +16876,7 @@ _08093EF2:
|
|||
beq _08093F78
|
||||
ldr r3, _08093F74 @ =0x00000d61
|
||||
adds r4, r3
|
||||
bl ItemId_GetItem
|
||||
bl ItemId_GetName
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
movs r2, 0
|
||||
|
|
@ -21364,7 +21364,7 @@ sub_80961A8: @ 80961A8
|
|||
ldr r1, _080961C0 @ =0x00002224
|
||||
adds r0, r1
|
||||
ldrh r0, [r0]
|
||||
bl ItemId_GetItem
|
||||
bl ItemId_GetName
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ bool8 CheckPCHasItem(u16 itemId, u16 count);
|
|||
bool8 AddPCItem(u16 itemId, u16 count);
|
||||
void RemovePCItem(u8 index, u16 count);
|
||||
void SwapRegisteredBike(void);
|
||||
const struct Item *ItemId_GetItem(u16 itemId);
|
||||
const u8 *ItemId_GetName(u16 itemId);
|
||||
u16 ItemId_GetId(u16 itemId);
|
||||
u16 ItemId_GetPrice(u16 itemId);
|
||||
u8 ItemId_GetHoldEffect(u16 itemId);
|
||||
|
|
|
|||
|
|
@ -27,5 +27,6 @@ void sub_81AAC70(void);
|
|||
void sub_8108CF0(void);
|
||||
void sub_810B108(u8);
|
||||
void UseFameCheckerFromMenu(void);
|
||||
void sub_8108D60(struct ItemSlot * slots, int pos1, int pos2);
|
||||
|
||||
#endif //GUARD_ITEM_MENU_H
|
||||
|
|
|
|||
|
|
@ -8,5 +8,7 @@ void sub_80985E4(void);
|
|||
u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3);
|
||||
void sub_8098940(bool8 a0);
|
||||
void sub_80988E8(u16 itemId, bool8 a0);
|
||||
void sub_80986A8(s16 x, u16 y);
|
||||
void sub_8098660(u8);
|
||||
|
||||
#endif // GUARD_ITEM_MENU_ICONS
|
||||
|
|
|
|||
|
|
@ -62,5 +62,6 @@ u16 ListMenuGetYCoordForPrintingArrowCursor(u8);
|
|||
void sub_8107D38(u8, u8);
|
||||
s32 DoMysteryGiftListMenu(const struct WindowTemplate *windowTemplate, const struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
|
||||
void ListMenuDefaultCursorMoveFunc(s32, u8, struct ListMenu *);
|
||||
void sub_8107BD0(u8 taskId, u8 attr, s32 value);
|
||||
|
||||
#endif //GUARD_LIST_MENU_H
|
||||
|
|
|
|||
|
|
@ -4,5 +4,6 @@
|
|||
void sub_80A0A48(u16, u16, u8);
|
||||
void sub_80A0A70(u16, u16, u8);
|
||||
bool8 sub_80A0AAC(void);
|
||||
bool8 sub_80A0A98(void);
|
||||
|
||||
#endif //GUARD_PC_SCREEN_EFFECT_H
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@ extern const u8 gString_Someone[];
|
|||
extern const u8 gString_Help[];
|
||||
extern const u8 gString_HelpSystem_ClearTo8[];
|
||||
|
||||
extern const u8 gUnknown_841633F[];
|
||||
extern const u8 gUnknown_8416655[];
|
||||
extern const u8 gUnknown_84178A7[];
|
||||
extern const u8 gUnknown_84178BE[];
|
||||
|
|
|
|||
127
src/item_pc.c
127
src/item_pc.c
|
|
@ -6,6 +6,7 @@
|
|||
#include "graphics.h"
|
||||
#include "help_system.h"
|
||||
#include "item.h"
|
||||
#include "item_menu.h"
|
||||
#include "item_menu_icons.h"
|
||||
#include "list_menu.h"
|
||||
#include "main.h"
|
||||
|
|
@ -76,6 +77,11 @@ void sub_810DDA4(void);
|
|||
void sub_810DE08(void);
|
||||
void sub_810DE94(u8);
|
||||
void sub_810DEA0(u8 taskId);
|
||||
void sub_810DFE0(u8 taskId, s16 pos);
|
||||
void sub_810E0B4(u8 taskId);
|
||||
void sub_810E160(u8 taskId, u32 pos);
|
||||
void sub_810E200(u8 taskId, u32 pos);
|
||||
void sub_810E274(u8 taskId);
|
||||
void sub_810E8F0(void);
|
||||
void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx);
|
||||
|
||||
|
|
@ -368,7 +374,7 @@ void sub_810D878(void)
|
|||
|
||||
for (i = 0; i < gUnknown_203ADBC->field_07; i++)
|
||||
{
|
||||
gUnknown_203ADC4[i].label = ItemId_GetItem(gSaveBlock1Ptr->pcItems[i].itemId)->name;
|
||||
gUnknown_203ADC4[i].label = ItemId_GetName(gSaveBlock1Ptr->pcItems[i].itemId);
|
||||
gUnknown_203ADC4[i].index = i;
|
||||
}
|
||||
gUnknown_203ADC4[i].label = gFameCheckerText_Cancel;
|
||||
|
|
@ -598,3 +604,122 @@ void sub_810DE94(u8 a0)
|
|||
{
|
||||
gUnknown_203ADCC.field_8 = a0;
|
||||
}
|
||||
|
||||
void sub_810DEA0(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
u16 scroll;
|
||||
u16 row;
|
||||
s32 input;
|
||||
|
||||
if (!gPaletteFade.active && !sub_80A0A98())
|
||||
{
|
||||
if (JOY_NEW(SELECT_BUTTON))
|
||||
{
|
||||
ListMenuGetScrollAndRow(data[0], &scroll, &row);
|
||||
if (scroll + row != gUnknown_203ADBC->field_07)
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
sub_810DFE0(taskId, scroll + row);
|
||||
return;
|
||||
}
|
||||
}
|
||||
input = ListMenuHandleInput(data[0]);
|
||||
ListMenuGetScrollAndRow(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6);
|
||||
switch (input)
|
||||
{
|
||||
case -1:
|
||||
break;
|
||||
case -2:
|
||||
PlaySE(SE_SELECT);
|
||||
sub_810DE94(0);
|
||||
gTasks[taskId].func = sub_810DC8C;
|
||||
break;
|
||||
default:
|
||||
PlaySE(SE_SELECT);
|
||||
sub_810DE6C(1);
|
||||
sub_810DBD0();
|
||||
data[1] = input;
|
||||
data[2] = ItemPc_GetItemQuantityBySlotId(input);
|
||||
sub_810DAB4(data[0], 2);
|
||||
gTasks[taskId].func = sub_810E274;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_810DFB0(u8 taskId)
|
||||
{
|
||||
sub_810DE6C(0);
|
||||
sub_810DB5C();
|
||||
gTasks[taskId].func = sub_810DEA0;
|
||||
}
|
||||
|
||||
void sub_810DFE0(u8 taskId, s16 pos)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
sub_8107BD0(data[0], 16, 1);
|
||||
data[1] = pos;
|
||||
gUnknown_203ADBC->field_04 = pos;
|
||||
StringCopy(gStringVar1, ItemId_GetName(ItemPc_GetItemIdBySlotId(data[1])));
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841633F);
|
||||
FillWindowPixelBuffer(1, 0x00);
|
||||
sub_810EA34(1, 2, gStringVar4, 0, 3, 2, 3, 0, 0);
|
||||
sub_80986A8(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
|
||||
sub_8098660(0);
|
||||
sub_810DAB4(data[0], 2);
|
||||
gTasks[taskId].func = sub_810E0B4;
|
||||
}
|
||||
|
||||
void sub_810E0B4(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
ListMenuHandleInput(data[0]);
|
||||
ListMenuGetScrollAndRow(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6);
|
||||
sub_80986A8(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
|
||||
if (JOY_NEW(A_BUTTON | SELECT_BUTTON))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
gUnknown_203ADBC->field_04 = 0xFF;
|
||||
sub_810E160(taskId, gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6);
|
||||
}
|
||||
else if (JOY_NEW(B_BUTTON))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
gUnknown_203ADBC->field_04 = 0xFF;
|
||||
sub_810E200(taskId, gUnknown_203ADCC.field_4 + gUnknown_203ADCC.field_6);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_810E160(u8 taskId, u32 pos)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
if (data[1] == pos || data[1] == pos - 1)
|
||||
sub_810E200(taskId, pos);
|
||||
else
|
||||
{
|
||||
sub_8108D60(gSaveBlock1Ptr->pcItems, data[1], pos);
|
||||
DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6);
|
||||
if (data[1] < pos)
|
||||
gUnknown_203ADCC.field_6--;
|
||||
sub_810D878();
|
||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6);
|
||||
sub_8098660(1);
|
||||
gTasks[taskId].func = sub_810DEA0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_810E200(u8 taskId, u32 pos)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
|
||||
DestroyListMenu(data[0], &gUnknown_203ADCC.field_4, &gUnknown_203ADCC.field_6);
|
||||
if (data[1] < pos)
|
||||
gUnknown_203ADCC.field_6--;
|
||||
sub_810D878();
|
||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6);
|
||||
sub_8098660(1);
|
||||
gTasks[taskId].func = sub_810DEA0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3708,7 +3708,7 @@ const u16 * sub_8113FBC(const u16 * a0)
|
|||
case POCKET_ITEMS:
|
||||
case POCKET_POKE_BALLS:
|
||||
case POCKET_BERRY_POUCH:
|
||||
StringCopy(gStringVar1, ItemId_GetItem(r5[0])->name);
|
||||
StringCopy(gStringVar1, ItemId_GetName(r5[0]));
|
||||
if (r5[0] == ITEM_ESCAPE_ROPE)
|
||||
{
|
||||
sub_80C4DF8(gStringVar2, r5[2]);
|
||||
|
|
@ -3725,7 +3725,7 @@ const u16 * sub_8113FBC(const u16 * a0)
|
|||
}
|
||||
break;
|
||||
case POCKET_KEY_ITEMS:
|
||||
StringCopy(gStringVar1, ItemId_GetItem(r5[0])->name);
|
||||
StringCopy(gStringVar1, ItemId_GetName(r5[0]));
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841A220);
|
||||
break;
|
||||
case POCKET_TM_CASE:
|
||||
|
|
@ -3771,7 +3771,7 @@ const u16 * sub_8114188(const u16 * a0)
|
|||
{
|
||||
const u16 * r4 = sub_8113E88(5, a0);
|
||||
QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0);
|
||||
StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841AB74);
|
||||
r4 += 2;
|
||||
return r4;
|
||||
|
|
@ -3787,7 +3787,7 @@ const u16 * sub_81141E4(const u16 * a0)
|
|||
const u16 * r4 = sub_8113E88(6, a0);
|
||||
|
||||
QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0);
|
||||
StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841AB8E);
|
||||
r4 += 2;
|
||||
return r4;
|
||||
|
|
@ -3803,7 +3803,7 @@ const u16 * sub_8114240(const u16 * a0)
|
|||
const u16 * r4 = sub_8113E88(7, a0);
|
||||
|
||||
QuestLog_AutoGetSpeciesName(r4[1], gStringVar2, 0);
|
||||
StringCopy(gStringVar1, ItemId_GetItem(r4[0])->name);
|
||||
StringCopy(gStringVar1, ItemId_GetName(r4[0]));
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841A6A5);
|
||||
r4 += 2;
|
||||
return r4;
|
||||
|
|
@ -3819,7 +3819,7 @@ const u16 * sub_811429C(const u16 * a0)
|
|||
const u16 * r4 = sub_8113E88(8, a0);
|
||||
|
||||
QuestLog_AutoGetSpeciesName(r4[1], gStringVar1, 0);
|
||||
StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841A1CD);
|
||||
r4 += 2;
|
||||
return r4;
|
||||
|
|
@ -3846,8 +3846,8 @@ const u16 * sub_8114324(const u16 * a0)
|
|||
{
|
||||
const u16 * r4 = sub_8113E88(9, a0);
|
||||
QuestLog_AutoGetSpeciesName(r4[2], gStringVar1, 0);
|
||||
StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name);
|
||||
StringCopy(gStringVar3, ItemId_GetItem(r4[1])->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
|
||||
StringCopy(gStringVar3, ItemId_GetName(r4[1]));
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841A193);
|
||||
r4 += 3;
|
||||
return r4;
|
||||
|
|
@ -3862,8 +3862,8 @@ const u16 * sub_8114394(const u16 * a0)
|
|||
{
|
||||
const u16 * r4 = sub_8113E88(10, a0);
|
||||
QuestLog_AutoGetSpeciesName(r4[2], gStringVar2, 0);
|
||||
StringCopy(gStringVar3, ItemId_GetItem(r4[0])->name);
|
||||
StringCopy(gStringVar1, ItemId_GetItem(r4[1])->name);
|
||||
StringCopy(gStringVar3, ItemId_GetName(r4[0]));
|
||||
StringCopy(gStringVar1, ItemId_GetName(r4[1]));
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841A6E1);
|
||||
r4 += 3;
|
||||
return r4;
|
||||
|
|
@ -4817,7 +4817,7 @@ const u16 * sub_8115518(const u16 * a0)
|
|||
UnkTextUtil_Reset();
|
||||
sub_80C4DF8(gStringVar1, r7[0]);
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, ItemId_GetItem(r4[0])->name);
|
||||
UnkTextUtil_SetPtrI(1, ItemId_GetName(r4[0]));
|
||||
if (r4[1] < 2)
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A7DD);
|
||||
else
|
||||
|
|
@ -4852,7 +4852,7 @@ const u16 * sub_81155E0(const u16 * a0) {
|
|||
if (r7[1] == 0) {
|
||||
UnkTextUtil_SetPtrI(0, gSaveBlock2Ptr->playerName);
|
||||
UnkTextUtil_SetPtrI(1, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(2, ItemId_GetItem(r5[0])->name);
|
||||
UnkTextUtil_SetPtrI(2, ItemId_GetName(r5[0]));
|
||||
if (r5[1] == 1)
|
||||
UnkTextUtil_SetPtrI(3, gUnknown_841A8D4);
|
||||
else
|
||||
|
|
@ -4867,7 +4867,7 @@ const u16 * sub_81155E0(const u16 * a0) {
|
|||
else
|
||||
{
|
||||
UnkTextUtil_SetPtrI(0, gStringVar1);
|
||||
UnkTextUtil_SetPtrI(1, ItemId_GetItem(r5[0])->name);
|
||||
UnkTextUtil_SetPtrI(1, ItemId_GetName(r5[0]));
|
||||
ConvertIntToDecimalStringN(gStringVar2, r6, STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||
UnkTextUtil_SetPtrI(2, gStringVar2);
|
||||
UnkTextUtil_StringExpandPlaceholders(gStringVar4, gUnknown_841A896);
|
||||
|
|
@ -4890,7 +4890,7 @@ const u16 * sub_8115700(const u16 * a0)
|
|||
const u16 * r4 = sub_8113E88(40, a0);
|
||||
const u8 * r5 = (const u8 *)r4 + 2;
|
||||
sub_80C4DF8(gStringVar1, r5[0]);
|
||||
StringCopy(gStringVar2, ItemId_GetItem(r4[0])->name);
|
||||
StringCopy(gStringVar2, ItemId_GetName(r4[0]));
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841B03F);
|
||||
return (const u16 *)(r5 + 2);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user