item_pc: through sub_810E548
This commit is contained in:
-360
@@ -5,366 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_810E274
|
|
||||||
sub_810E274: @ 810E274
|
|
||||||
push {r4-r6,lr}
|
|
||||||
mov r6, r9
|
|
||||||
mov r5, r8
|
|
||||||
push {r5,r6}
|
|
||||||
sub sp, 0x14
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
lsls r4, r0, 2
|
|
||||||
adds r4, r0
|
|
||||||
lsls r4, 3
|
|
||||||
ldr r0, _0810E340 @ =gTasks+0x8
|
|
||||||
mov r9, r0
|
|
||||||
adds r6, r4, r0
|
|
||||||
movs r0, 0x4
|
|
||||||
bl sub_810EA9C
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_810EAB4
|
|
||||||
mov r8, r0
|
|
||||||
mov r0, r8
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
mov r8, r0
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0x1
|
|
||||||
bl GetFontAttribute
|
|
||||||
adds r0, 0x2
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
str r0, [sp]
|
|
||||||
movs r5, 0x3
|
|
||||||
str r5, [sp, 0x4]
|
|
||||||
ldr r0, _0810E344 @ =gUnknown_8453F74
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
movs r0, 0x4
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r2, 0x8
|
|
||||||
movs r3, 0x2
|
|
||||||
bl PrintTextArray
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0x1
|
|
||||||
bl GetFontAttribute
|
|
||||||
adds r0, 0x2
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
str r0, [sp]
|
|
||||||
str r5, [sp, 0x4]
|
|
||||||
movs r5, 0
|
|
||||||
str r5, [sp, 0x8]
|
|
||||||
movs r0, 0x4
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x2
|
|
||||||
bl ProgramAndPlaceMenuCursorOnWindow
|
|
||||||
ldrh r0, [r6, 0x2]
|
|
||||||
bl ItemPc_GetItemIdBySlotId
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
ldr r1, _0810E348 @ =gStringVar1
|
|
||||||
bl CopyItemName
|
|
||||||
ldr r6, _0810E34C @ =gStringVar4
|
|
||||||
ldr r1, _0810E350 @ =gUnknown_84162FF
|
|
||||||
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]
|
|
||||||
mov r0, r8
|
|
||||||
movs r1, 0x2
|
|
||||||
adds r2, r6, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl sub_810EA34
|
|
||||||
movs r0, 0
|
|
||||||
bl schedule_bg_copy_tilemap_to_vram
|
|
||||||
movs r0, 0x8
|
|
||||||
negs r0, r0
|
|
||||||
add r9, r0
|
|
||||||
add r4, r9
|
|
||||||
ldr r0, _0810E354 @ =sub_810E358
|
|
||||||
str r0, [r4]
|
|
||||||
add sp, 0x14
|
|
||||||
pop {r3,r4}
|
|
||||||
mov r8, r3
|
|
||||||
mov r9, r4
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810E340: .4byte gTasks+0x8
|
|
||||||
_0810E344: .4byte gUnknown_8453F74
|
|
||||||
_0810E348: .4byte gStringVar1
|
|
||||||
_0810E34C: .4byte gStringVar4
|
|
||||||
_0810E350: .4byte gUnknown_84162FF
|
|
||||||
_0810E354: .4byte sub_810E358
|
|
||||||
thumb_func_end sub_810E274
|
|
||||||
|
|
||||||
thumb_func_start sub_810E358
|
|
||||||
sub_810E358: @ 810E358
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
adds r6, r5, 0
|
|
||||||
bl ProcessMenuInputNoWrapAround
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r4, r0, 24
|
|
||||||
movs r0, 0x2
|
|
||||||
negs r0, r0
|
|
||||||
cmp r4, r0
|
|
||||||
beq _0810E39A
|
|
||||||
adds r0, 0x1
|
|
||||||
cmp r4, r0
|
|
||||||
bne _0810E384
|
|
||||||
movs r0, 0x5
|
|
||||||
bl PlaySE
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl sub_810E8A0
|
|
||||||
b _0810E39A
|
|
||||||
_0810E384:
|
|
||||||
movs r0, 0x5
|
|
||||||
bl PlaySE
|
|
||||||
ldr r0, _0810E3A0 @ =gUnknown_8453F74
|
|
||||||
lsls r1, r4, 3
|
|
||||||
adds r0, 0x4
|
|
||||||
adds r1, r0
|
|
||||||
ldr r1, [r1]
|
|
||||||
adds r0, r6, 0
|
|
||||||
bl _call_via_r1
|
|
||||||
_0810E39A:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810E3A0: .4byte gUnknown_8453F74
|
|
||||||
thumb_func_end sub_810E358
|
|
||||||
|
|
||||||
thumb_func_start sub_810E3A4
|
|
||||||
sub_810E3A4: @ 810E3A4
|
|
||||||
push {r4-r7,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r6, r0, 3
|
|
||||||
ldr r7, _0810E3F0 @ =gTasks+0x8
|
|
||||||
adds r4, r6, r7
|
|
||||||
movs r0, 0x4
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_810F4D8
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_810EAF0
|
|
||||||
movs r0, 0x4
|
|
||||||
bl ClearWindowTilemap
|
|
||||||
movs r0, 0x1
|
|
||||||
strh r0, [r4, 0x10]
|
|
||||||
ldrh r0, [r4, 0x2]
|
|
||||||
bl ItemPc_GetItemQuantityBySlotId
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _0810E3F4
|
|
||||||
movs r0, 0
|
|
||||||
bl PutWindowTilemap
|
|
||||||
movs r0, 0
|
|
||||||
bl schedule_bg_copy_tilemap_to_vram
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl sub_810E418
|
|
||||||
b _0810E40E
|
|
||||||
.align 2, 0
|
|
||||||
_0810E3F0: .4byte gTasks+0x8
|
|
||||||
_0810E3F4:
|
|
||||||
movs r0, 0
|
|
||||||
bl PutWindowTilemap
|
|
||||||
ldrh r0, [r4, 0x2]
|
|
||||||
bl sub_810E5E0
|
|
||||||
bl sub_810DB98
|
|
||||||
adds r0, r7, 0
|
|
||||||
subs r0, 0x8
|
|
||||||
adds r0, r6, r0
|
|
||||||
ldr r1, _0810E414 @ =sub_810E6D8
|
|
||||||
str r1, [r0]
|
|
||||||
_0810E40E:
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810E414: .4byte sub_810E6D8
|
|
||||||
thumb_func_end sub_810E3A4
|
|
||||||
|
|
||||||
thumb_func_start sub_810E418
|
|
||||||
sub_810E418: @ 810E418
|
|
||||||
push {r4-r7,lr}
|
|
||||||
sub sp, 0xC
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
lsls r1, r0, 2
|
|
||||||
adds r1, r0
|
|
||||||
lsls r6, r1, 3
|
|
||||||
ldr r7, _0810E49C @ =gTasks+0x8
|
|
||||||
adds r5, r6, r7
|
|
||||||
ldrh r0, [r5, 0x2]
|
|
||||||
bl ItemPc_GetItemIdBySlotId
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
ldrh r1, [r5, 0x10]
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl AddBagItem
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _0810E4B8
|
|
||||||
ldr r3, _0810E4A0 @ =0x0000ffff
|
|
||||||
movs r0, 0x1D
|
|
||||||
movs r1, 0
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl sub_80A2294
|
|
||||||
ldr r1, _0810E4A4 @ =gStringVar1
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl CopyItemName
|
|
||||||
ldr r0, _0810E4A8 @ =gStringVar2
|
|
||||||
movs r2, 0x10
|
|
||||||
ldrsh r1, [r5, r2]
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x3
|
|
||||||
bl ConvertIntToDecimalStringN
|
|
||||||
ldr r4, _0810E4AC @ =gStringVar4
|
|
||||||
ldr r1, _0810E4B0 @ =gUnknown_84177C5
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl StringExpandPlaceholders
|
|
||||||
movs r0, 0x2
|
|
||||||
bl sub_810EAB4
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r1, r0, 24
|
|
||||||
movs r0, 0x2
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
adds r0, r1, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
adds r2, r4, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl AddTextPrinterParameterized
|
|
||||||
adds r0, r7, 0
|
|
||||||
subs r0, 0x8
|
|
||||||
adds r0, r6, r0
|
|
||||||
ldr r1, _0810E4B4 @ =sub_810E4F4
|
|
||||||
b _0810E4E0
|
|
||||||
.align 2, 0
|
|
||||||
_0810E49C: .4byte gTasks+0x8
|
|
||||||
_0810E4A0: .4byte 0x0000ffff
|
|
||||||
_0810E4A4: .4byte gStringVar1
|
|
||||||
_0810E4A8: .4byte gStringVar2
|
|
||||||
_0810E4AC: .4byte gStringVar4
|
|
||||||
_0810E4B0: .4byte gUnknown_84177C5
|
|
||||||
_0810E4B4: .4byte sub_810E4F4
|
|
||||||
_0810E4B8:
|
|
||||||
movs r0, 0x2
|
|
||||||
bl sub_810EAB4
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r1, r0, 24
|
|
||||||
ldr r2, _0810E4EC @ =gUnknown_841778A
|
|
||||||
movs r0, 0x2
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
adds r0, r1, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r3, 0
|
|
||||||
bl AddTextPrinterParameterized
|
|
||||||
adds r0, r7, 0
|
|
||||||
subs r0, 0x8
|
|
||||||
adds r0, r6, r0
|
|
||||||
ldr r1, _0810E4F0 @ =sub_810E548
|
|
||||||
_0810E4E0:
|
|
||||||
str r1, [r0]
|
|
||||||
add sp, 0xC
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810E4EC: .4byte gUnknown_841778A
|
|
||||||
_0810E4F0: .4byte sub_810E548
|
|
||||||
thumb_func_end sub_810E418
|
|
||||||
|
|
||||||
thumb_func_start sub_810E4F4
|
|
||||||
sub_810E4F4: @ 810E4F4
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r0, r4, 2
|
|
||||||
adds r0, r4
|
|
||||||
lsls r0, 3
|
|
||||||
ldr r1, _0810E540 @ =gTasks+0x8
|
|
||||||
adds r5, r0, r1
|
|
||||||
ldr r0, _0810E544 @ =gMain
|
|
||||||
ldrh r1, [r0, 0x2E]
|
|
||||||
movs r0, 0x1
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0810E51A
|
|
||||||
movs r0, 0x2
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810E53A
|
|
||||||
_0810E51A:
|
|
||||||
movs r0, 0x5
|
|
||||||
bl PlaySE
|
|
||||||
ldrh r0, [r5, 0x2]
|
|
||||||
bl ItemPc_GetItemIdBySlotId
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
ldrh r1, [r5, 0x10]
|
|
||||||
bl sub_809A460
|
|
||||||
bl sub_809A4E8
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_810E578
|
|
||||||
_0810E53A:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810E540: .4byte gTasks+0x8
|
|
||||||
_0810E544: .4byte gMain
|
|
||||||
thumb_func_end sub_810E4F4
|
|
||||||
|
|
||||||
thumb_func_start sub_810E548
|
|
||||||
sub_810E548: @ 810E548
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
ldr r0, _0810E574 @ =gMain
|
|
||||||
ldrh r1, [r0, 0x2E]
|
|
||||||
movs r0, 0x1
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0810E562
|
|
||||||
movs r0, 0x2
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810E56E
|
|
||||||
_0810E562:
|
|
||||||
movs r0, 0x5
|
|
||||||
bl PlaySE
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_810E578
|
|
||||||
_0810E56E:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810E574: .4byte gMain
|
|
||||||
thumb_func_end sub_810E548
|
|
||||||
|
|
||||||
thumb_func_start sub_810E578
|
thumb_func_start sub_810E578
|
||||||
sub_810E578: @ 810E578
|
sub_810E578: @ 810E578
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
|
|||||||
+4
-4
@@ -1272,7 +1272,10 @@ gUnknown_841786B:: @ 841786B
|
|||||||
.incbin "baserom.gba", 0x41786B, 0x3C
|
.incbin "baserom.gba", 0x41786B, 0x3C
|
||||||
|
|
||||||
gUnknown_84178A7:: @ 84178A7
|
gUnknown_84178A7:: @ 84178A7
|
||||||
.incbin "baserom.gba", 0x4178A7, 0x17
|
.incbin "baserom.gba", 0x4178A7, 0xE
|
||||||
|
|
||||||
|
gUnknown_84178B5::
|
||||||
|
.incbin "baserom.gba", 0x4178B5, 0x9
|
||||||
|
|
||||||
gUnknown_84178BE:: @ 84178BE
|
gUnknown_84178BE:: @ 84178BE
|
||||||
.incbin "baserom.gba", 0x4178BE, 0x12
|
.incbin "baserom.gba", 0x4178BE, 0x12
|
||||||
@@ -3071,9 +3074,6 @@ gUnknown_8453094:: @ 8453094
|
|||||||
.section .rodata.8453F6C
|
.section .rodata.8453F6C
|
||||||
|
|
||||||
// item_pc.o
|
// item_pc.o
|
||||||
gUnknown_8453F74:: @ 8453F74
|
|
||||||
.incbin "baserom.gba", 0x453F74, 0x18
|
|
||||||
|
|
||||||
gUnknown_8453F8C:: @ 8453F8C
|
gUnknown_8453F8C:: @ 8453F8C
|
||||||
.incbin "baserom.gba", 0x453F8C, 0xC
|
.incbin "baserom.gba", 0x453F8C, 0xC
|
||||||
|
|
||||||
|
|||||||
@@ -74,5 +74,6 @@ void sub_809A584(struct ItemSlot * slots, u8 capacity);
|
|||||||
u16 GetBagItemId(u16 *);
|
u16 GetBagItemId(u16 *);
|
||||||
|
|
||||||
void sub_809A4E8(void);
|
void sub_809A4E8(void);
|
||||||
|
void sub_809A460(u16 itemId, u16 quantity);
|
||||||
|
|
||||||
#endif // ITEM_H
|
#endif // ITEM_H
|
||||||
|
|||||||
@@ -50,5 +50,6 @@ void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_st
|
|||||||
bool8 IsBlendTaskActive(void);
|
bool8 IsBlendTaskActive(void);
|
||||||
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
|
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
|
||||||
void sub_810F260(u8 windowId, u8 a1);
|
void sub_810F260(u8 windowId, u8 a1);
|
||||||
|
void PrintTextArray(u8, u8, u8, u8, u8, u8, const struct MenuAction *);
|
||||||
|
|
||||||
#endif // GUARD_MENU_H
|
#endif // GUARD_MENU_H
|
||||||
|
|||||||
@@ -149,9 +149,15 @@ extern const u8 gString_Someone[];
|
|||||||
extern const u8 gString_Help[];
|
extern const u8 gString_Help[];
|
||||||
extern const u8 gString_HelpSystem_ClearTo8[];
|
extern const u8 gString_HelpSystem_ClearTo8[];
|
||||||
|
|
||||||
|
extern const u8 gOtherText_Give[];
|
||||||
|
extern const u8 gFameCheckerText_Cancel[];
|
||||||
|
extern const u8 gUnknown_84162FF[];
|
||||||
extern const u8 gUnknown_841633F[];
|
extern const u8 gUnknown_841633F[];
|
||||||
extern const u8 gUnknown_8416655[];
|
extern const u8 gUnknown_8416655[];
|
||||||
|
extern const u8 gUnknown_841778A[];
|
||||||
|
extern const u8 gUnknown_84177C5[];
|
||||||
extern const u8 gUnknown_84178A7[];
|
extern const u8 gUnknown_84178A7[];
|
||||||
|
extern const u8 gUnknown_84178B5[];
|
||||||
extern const u8 gUnknown_84178BE[];
|
extern const u8 gUnknown_84178BE[];
|
||||||
|
|
||||||
#endif //GUARD_STRINGS_H
|
#endif //GUARD_STRINGS_H
|
||||||
|
|||||||
+124
@@ -9,6 +9,7 @@
|
|||||||
#include "item_menu.h"
|
#include "item_menu.h"
|
||||||
#include "item_menu_icons.h"
|
#include "item_menu_icons.h"
|
||||||
#include "list_menu.h"
|
#include "list_menu.h"
|
||||||
|
#include "item_use.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "malloc.h"
|
#include "malloc.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@@ -82,8 +83,21 @@ void sub_810E0B4(u8 taskId);
|
|||||||
void sub_810E160(u8 taskId, u32 pos);
|
void sub_810E160(u8 taskId, u32 pos);
|
||||||
void sub_810E200(u8 taskId, u32 pos);
|
void sub_810E200(u8 taskId, u32 pos);
|
||||||
void sub_810E274(u8 taskId);
|
void sub_810E274(u8 taskId);
|
||||||
|
void sub_810E358(u8 taskId);
|
||||||
|
void sub_810E3A4(u8 taskId);
|
||||||
|
void sub_810E418(u8 taskId);
|
||||||
|
void sub_810E4F4(u8 taskId);
|
||||||
|
void sub_810E548(u8 taskId);
|
||||||
|
void sub_810E578(u8 taskId);
|
||||||
|
void sub_810E5E0(u16 itemId);
|
||||||
|
void sub_810E6D8(u8 taskId);
|
||||||
|
void sub_810E79C(u8 taskId);
|
||||||
|
void sub_810E8A0(u8 taskId);
|
||||||
void sub_810E8F0(void);
|
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);
|
void sub_810EA34(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx);
|
||||||
|
void sub_810EA9C(u8 windowId);
|
||||||
|
u8 sub_810EAB4(u8 idx);
|
||||||
|
void sub_810EAF0(u8 idx);
|
||||||
|
|
||||||
const struct BgTemplate gUnknown_8453F6C[2] = {
|
const struct BgTemplate gUnknown_8453F6C[2] = {
|
||||||
{
|
{
|
||||||
@@ -99,6 +113,12 @@ const struct BgTemplate gUnknown_8453F6C[2] = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const struct MenuAction gUnknown_8453F74[] = {
|
||||||
|
{gUnknown_84178B5, {.void_u8 = sub_810E3A4}},
|
||||||
|
{gOtherText_Give, {.void_u8 = sub_810E79C}},
|
||||||
|
{gFameCheckerText_Cancel, {.void_u8 = sub_810E8A0}}
|
||||||
|
};
|
||||||
|
|
||||||
void sub_810D3F4(u8 a0, MainCallback callback)
|
void sub_810D3F4(u8 a0, MainCallback callback)
|
||||||
{
|
{
|
||||||
u8 i;
|
u8 i;
|
||||||
@@ -723,3 +743,107 @@ void sub_810E200(u8 taskId, u32 pos)
|
|||||||
sub_8098660(1);
|
sub_8098660(1);
|
||||||
gTasks[taskId].func = sub_810DEA0;
|
gTasks[taskId].func = sub_810DEA0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_810E274(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
u8 windowId;
|
||||||
|
|
||||||
|
sub_810EA9C(4);
|
||||||
|
windowId = sub_810EAB4(0);
|
||||||
|
PrintTextArray(4, 2, 8, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, gUnknown_8453F74);
|
||||||
|
ProgramAndPlaceMenuCursorOnWindow(4, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, 3, 0);
|
||||||
|
CopyItemName(ItemPc_GetItemIdBySlotId(data[1]), gStringVar1);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_84162FF);
|
||||||
|
sub_810EA34(windowId, 2, gStringVar4, 0, 2, 1, 0, 0, 1);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
gTasks[taskId].func = sub_810E358;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810E358(u8 taskId)
|
||||||
|
{
|
||||||
|
s8 input = ProcessMenuInputNoWrapAround();
|
||||||
|
switch (input)
|
||||||
|
{
|
||||||
|
case -1:
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
sub_810E8A0(taskId);
|
||||||
|
break;
|
||||||
|
case -2:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
gUnknown_8453F74[input].func.void_u8(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810E3A4(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
sub_810F4D8(4, 0);
|
||||||
|
sub_810EAF0(0);
|
||||||
|
ClearWindowTilemap(4);
|
||||||
|
data[8] = 1;
|
||||||
|
if (ItemPc_GetItemQuantityBySlotId(data[1]) == 1)
|
||||||
|
{
|
||||||
|
PutWindowTilemap(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
sub_810E418(taskId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PutWindowTilemap(0);
|
||||||
|
sub_810E5E0(data[1]);
|
||||||
|
sub_810DB98();
|
||||||
|
gTasks[taskId].func = sub_810E6D8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810E418(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
u16 itemId = ItemPc_GetItemIdBySlotId(data[1]);
|
||||||
|
u8 windowId;
|
||||||
|
|
||||||
|
if (AddBagItem(itemId, data[8]) == TRUE)
|
||||||
|
{
|
||||||
|
sub_80A2294(29, 0, itemId, 0xFFFF);
|
||||||
|
CopyItemName(itemId, gStringVar1);
|
||||||
|
ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_84177C5);
|
||||||
|
windowId = sub_810EAB4(2);
|
||||||
|
AddTextPrinterParameterized(windowId, 2, gStringVar4, 0, 2, 0, NULL);
|
||||||
|
gTasks[taskId].func = sub_810E4F4;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
windowId = sub_810EAB4(2);
|
||||||
|
AddTextPrinterParameterized(windowId, 2, gUnknown_841778A, 0, 2, 0, NULL);
|
||||||
|
gTasks[taskId].func = sub_810E548;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810E4F4(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
u16 itemId;
|
||||||
|
|
||||||
|
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
itemId = ItemPc_GetItemIdBySlotId(data[1]);
|
||||||
|
sub_809A460(itemId, data[8]);
|
||||||
|
sub_809A4E8();
|
||||||
|
sub_810E578(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810E548(u8 taskId)
|
||||||
|
{
|
||||||
|
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
sub_810E578(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user