summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/item_pc.s356
-rw-r--r--include/item_menu_icons.h2
-rw-r--r--include/menu_helpers.h1
-rw-r--r--include/pc_screen_effect.h6
-rw-r--r--ld_script.txt1
-rw-r--r--src/item_pc.c238
-rw-r--r--sym_ewram.txt19
7 files changed, 264 insertions, 359 deletions
diff --git a/asm/item_pc.s b/asm/item_pc.s
index 93ca91ff9..b8844a406 100644
--- a/asm/item_pc.s
+++ b/asm/item_pc.s
@@ -5,334 +5,6 @@
.text
- thumb_func_start sub_810D3F4
-sub_810D3F4: @ 810D3F4
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- cmp r5, 0x1
- bhi _0810D410
- ldr r6, _0810D418 @ =gUnknown_203ADBC
- movs r0, 0x14
- bl Alloc
- str r0, [r6]
- cmp r0, 0
- bne _0810D41C
-_0810D410:
- adds r0, r4, 0
- bl SetMainCallback2
- b _0810D462
- .align 2, 0
-_0810D418: .4byte gUnknown_203ADBC
-_0810D41C:
- cmp r5, 0x1
- beq _0810D42A
- ldr r0, _0810D468 @ =gUnknown_203ADCC
- str r4, [r0]
- movs r1, 0
- strh r1, [r0, 0x6]
- strh r1, [r0, 0x4]
-_0810D42A:
- ldr r1, [r6]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r0, [r6]
- movs r2, 0
- strb r2, [r0, 0x5]
- ldr r1, [r6]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1, 0x8]
- ldr r0, [r6]
- str r2, [r0]
- ldr r5, _0810D46C @ =sub_810D4A0
- adds r4, r6, 0
- movs r3, 0
-_0810D448:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r0, 0xC
- adds r0, r1
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _0810D448
- adds r0, r5, 0
- bl SetMainCallback2
-_0810D462:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D468: .4byte gUnknown_203ADCC
-_0810D46C: .4byte sub_810D4A0
- thumb_func_end sub_810D3F4
-
- thumb_func_start sub_810D470
-sub_810D470: @ 810D470
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_810D470
-
- thumb_func_start sub_810D48C
-sub_810D48C: @ 810D48C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_810D48C
-
- thumb_func_start sub_810D4A0
-sub_810D4A0: @ 810D4A0
- push {lr}
-_0810D4A2:
- bl sub_810D4C0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0810D4BA
- bl sub_80BF708
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810D4A2
-_0810D4BA:
- pop {r0}
- bx r0
- thumb_func_end sub_810D4A0
-
- thumb_func_start sub_810D4C0
-sub_810D4C0: @ 810D4C0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _0810D4E0 @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x14
- bls _0810D4D4
- b _0810D688
-_0810D4D4:
- lsls r0, 2
- ldr r1, _0810D4E4 @ =_0810D4E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810D4E0: .4byte gMain
-_0810D4E4: .4byte _0810D4E8
- .align 2, 0
-_0810D4E8:
- .4byte _0810D53C
- .4byte _0810D546
- .4byte _0810D54C
- .4byte _0810D552
- .4byte _0810D558
- .4byte _0810D55E
- .4byte _0810D564
- .4byte _0810D56A
- .4byte _0810D584
- .4byte _0810D594
- .4byte _0810D59A
- .4byte _0810D5A8
- .4byte _0810D5BA
- .4byte _0810D5C0
- .4byte _0810D5C6
- .4byte _0810D5CC
- .4byte _0810D608
- .4byte _0810D60E
- .4byte _0810D616
- .4byte _0810D630
- .4byte _0810D668
-_0810D53C:
- bl VblankHblankHandlerSetZero
- bl clear_scheduled_bg_copies_to_vram
- b _0810D674
-_0810D546:
- bl ScanlineEffect_Stop
- b _0810D674
-_0810D54C:
- bl FreeAllSpritePalettes
- b _0810D674
-_0810D552:
- bl ResetPaletteFade
- b _0810D674
-_0810D558:
- bl ResetSpriteData
- b _0810D674
-_0810D55E:
- bl sub_80984D8
- b _0810D674
-_0810D564:
- bl ResetTasks
- b _0810D674
-_0810D56A:
- bl sub_810D71C
- lsls r0, 24
- cmp r0, 0
- beq _0810D5B2
- ldr r0, _0810D580 @ =gUnknown_203ADBC
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0xC]
- b _0810D674
- .align 2, 0
-_0810D580: .4byte gUnknown_203ADBC
-_0810D584:
- bl sub_810D78C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0810D592
- b _0810D6A0
-_0810D592:
- b _0810D674
-_0810D594:
- bl sub_810E8F0
- b _0810D674
-_0810D59A:
- bl sub_810DDA4
- bl sub_810DBF0
- bl sub_810DE08
- b _0810D674
-_0810D5A8:
- bl sub_810D83C
- lsls r0, 24
- cmp r0, 0
- bne _0810D674
-_0810D5B2:
- bl sub_810D6AC
- movs r0, 0x1
- b _0810D6A2
-_0810D5BA:
- bl sub_810D878
- b _0810D674
-_0810D5C0:
- bl sub_810DB34
- b _0810D674
-_0810D5C6:
- bl sub_80985E4
- b _0810D674
-_0810D5CC:
- ldr r0, _0810D5F8 @ =sub_810DEA0
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0810D5FC @ =gMultiuseListMenuTemplate
- ldr r2, _0810D600 @ =gUnknown_203ADCC
- ldrh r1, [r2, 0x4]
- ldrh r2, [r2, 0x6]
- bl ListMenuInit
- ldr r2, _0810D604 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- b _0810D674
- .align 2, 0
-_0810D5F8: .4byte sub_810DEA0
-_0810D5FC: .4byte gMultiuseListMenuTemplate
-_0810D600: .4byte gUnknown_203ADCC
-_0810D604: .4byte gTasks
-_0810D608:
- bl sub_810DB5C
- b _0810D674
-_0810D60E:
- movs r0, 0x1D
- bl HelpSystem_SetSomeVariable2
- b _0810D674
-_0810D616:
- ldr r0, _0810D62C @ =gUnknown_203ADCC
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _0810D674
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- b _0810D674
- .align 2, 0
-_0810D62C: .4byte gUnknown_203ADCC
-_0810D630:
- ldr r0, _0810D64C @ =gUnknown_203ADCC
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _0810D650
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0810D674
- .align 2, 0
-_0810D64C: .4byte gUnknown_203ADCC
-_0810D650:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_80A0A48
- movs r0, 0x1
- bl sub_810DE94
- movs r0, 0x2
- bl PlaySE
- b _0810D674
-_0810D668:
- bl sub_80BF72C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0810D6A0
-_0810D674:
- ldr r1, _0810D684 @ =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0810D6A0
- .align 2, 0
-_0810D684: .4byte gMain
-_0810D688:
- ldr r0, _0810D698 @ =sub_810D48C
- bl SetVBlankCallback
- ldr r0, _0810D69C @ =sub_810D470
- bl SetMainCallback2
- movs r0, 0x1
- b _0810D6A2
- .align 2, 0
-_0810D698: .4byte sub_810D48C
-_0810D69C: .4byte sub_810D470
-_0810D6A0:
- movs r0, 0
-_0810D6A2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810D4C0
-
thumb_func_start sub_810D6AC
sub_810D6AC: @ 810D6AC
push {lr}
@@ -935,7 +607,7 @@ sub_810DB5C: @ 810DB5C
movs r0, 0x6E
str r0, [sp, 0x4]
str r0, [sp, 0x8]
- ldr r0, _0810DB94 @ =gUnknown_203ADD0
+ ldr r0, _0810DB94 @ =gUnknown_203ADCC + 0x4
str r0, [sp, 0xC]
movs r0, 0x2
movs r1, 0x80
@@ -950,7 +622,7 @@ sub_810DB5C: @ 810DB5C
bx r0
.align 2, 0
_0810DB90: .4byte gUnknown_203ADBC
-_0810DB94: .4byte gUnknown_203ADD0
+_0810DB94: .4byte gUnknown_203ADCC + 0x4
thumb_func_end sub_810DB5C
thumb_func_start sub_810DB98
@@ -1151,7 +823,7 @@ sub_810DCE4: @ 810DCE4
cmp r0, 0
bne _0810DD4E
ldrb r0, [r4]
- ldr r4, _0810DD30 @ =gUnknown_203ADD0
+ ldr r4, _0810DD30 @ =gUnknown_203ADCC + 0x4
adds r2, r4, 0x2
adds r1, r4, 0
bl DestroyListMenu
@@ -1165,7 +837,7 @@ sub_810DCE4: @ 810DCE4
.align 2, 0
_0810DD28: .4byte gTasks+0x8
_0810DD2C: .4byte gPaletteFade
-_0810DD30: .4byte gUnknown_203ADD0
+_0810DD30: .4byte gUnknown_203ADCC + 0x4
_0810DD34: .4byte gUnknown_203ADBC
_0810DD38:
subs r0, r4, 0x4
@@ -1434,7 +1106,7 @@ _0810DF20:
bl ListMenuHandleInput
adds r4, r0, 0
ldrb r0, [r6]
- ldr r1, _0810DF44 @ =gUnknown_203ADD0
+ ldr r1, _0810DF44 @ =gUnknown_203ADCC + 0x4
adds r2, r1, 0x2
bl ListMenuGetScrollAndRow
movs r0, 0x2
@@ -1446,7 +1118,7 @@ _0810DF20:
bne _0810DF6C
b _0810DF9E
.align 2, 0
-_0810DF44: .4byte gUnknown_203ADD0
+_0810DF44: .4byte gUnknown_203ADCC + 0x4
_0810DF48:
movs r0, 0x5
bl PlaySE
@@ -1627,7 +1299,7 @@ sub_810E0B4: @ 810E0B4
ldrb r0, [r4]
bl ListMenuHandleInput
ldrb r0, [r4]
- ldr r7, _0810E120 @ =gUnknown_203ADD0
+ ldr r7, _0810E120 @ =gUnknown_203ADCC + 0x4
adds r2, r7, 0x2
adds r1, r7, 0
bl ListMenuGetScrollAndRow
@@ -1661,7 +1333,7 @@ sub_810E0B4: @ 810E0B4
b _0810E150
.align 2, 0
_0810E11C: .4byte gTasks+0x8
-_0810E120: .4byte gUnknown_203ADD0
+_0810E120: .4byte gUnknown_203ADCC + 0x4
_0810E124: .4byte gMain
_0810E128: .4byte gUnknown_203ADBC
_0810E12C:
@@ -1728,7 +1400,7 @@ _0810E194:
adds r2, r4, 0
bl sub_8108D60
ldrb r0, [r6]
- ldr r5, _0810E1F4 @ =gUnknown_203ADD0
+ ldr r5, _0810E1F4 @ =gUnknown_203ADCC + 0x4
adds r2, r5, 0x2
adds r1, r5, 0
bl DestroyListMenu
@@ -1765,7 +1437,7 @@ _0810E1E6:
bx r0
.align 2, 0
_0810E1F0: .4byte gSaveBlock1Ptr
-_0810E1F4: .4byte gUnknown_203ADD0
+_0810E1F4: .4byte gUnknown_203ADCC + 0x4
_0810E1F8: .4byte gMultiuseListMenuTemplate
_0810E1FC: .4byte sub_810DEA0
thumb_func_end sub_810E160
@@ -1785,7 +1457,7 @@ sub_810E200: @ 810E200
mov r8, r0
adds r6, r7, r0
ldrb r0, [r6]
- ldr r5, _0810E268 @ =gUnknown_203ADD0
+ ldr r5, _0810E268 @ =gUnknown_203ADCC + 0x4
adds r2, r5, 0x2
adds r1, r5, 0
bl DestroyListMenu
@@ -1821,7 +1493,7 @@ _0810E234:
bx r0
.align 2, 0
_0810E264: .4byte gTasks+0x8
-_0810E268: .4byte gUnknown_203ADD0
+_0810E268: .4byte gUnknown_203ADCC + 0x4
_0810E26C: .4byte gMultiuseListMenuTemplate
_0810E270: .4byte sub_810DEA0
thumb_func_end sub_810E200
@@ -2202,7 +1874,7 @@ sub_810E578: @ 810E578
movs r0, 0x1
bl PutWindowTilemap
ldrb r0, [r5]
- ldr r4, _0810E5D8 @ =gUnknown_203ADD0
+ ldr r4, _0810E5D8 @ =gUnknown_203ADCC + 0x4
adds r2, r4, 0x2
adds r1, r4, 0
bl DestroyListMenu
@@ -2226,7 +1898,7 @@ sub_810E578: @ 810E578
bx r0
.align 2, 0
_0810E5D4: .4byte gTasks+0x8
-_0810E5D8: .4byte gUnknown_203ADD0
+_0810E5D8: .4byte gUnknown_203ADCC + 0x4
_0810E5DC: .4byte gMultiuseListMenuTemplate
thumb_func_end sub_810E578
diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h
index 7fcd6d5e1..47a873c36 100644
--- a/include/item_menu_icons.h
+++ b/include/item_menu_icons.h
@@ -3,6 +3,8 @@
#include "global.h"
+void sub_80984D8(void);
+void sub_80985E4(void);
u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3);
#endif // GUARD_ITEM_MENU_ICONS
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
index f8b57034a..a42b3c76b 100644
--- a/include/menu_helpers.h
+++ b/include/menu_helpers.h
@@ -2,6 +2,7 @@
#define GUARD_MENU_HELPERS_H
#include "global.h"
+#include "task.h"
// Exported type declarations
diff --git a/include/pc_screen_effect.h b/include/pc_screen_effect.h
new file mode 100644
index 000000000..cdd7a96fe
--- /dev/null
+++ b/include/pc_screen_effect.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_PC_SCREEN_EFFECT_H
+#define GUARD_PC_SCREEN_EFFECT_H
+
+void sub_80A0A48(u16, u16, u8);
+
+#endif //GUARD_PC_SCREEN_EFFECT_H
diff --git a/ld_script.txt b/ld_script.txt
index f3d24a9ec..341980802 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -231,6 +231,7 @@ SECTIONS {
src/bag.o(.text);
src/trainer_pokemon_sprites.o(.text);
src/vs_seeker.o(.text);
+ src/item_pc.o(.text);
asm/item_pc.o(.text);
asm/mailbox_pc.o(.text);
asm/menu.o(.text);
diff --git a/src/item_pc.c b/src/item_pc.c
new file mode 100644
index 000000000..8e4502430
--- /dev/null
+++ b/src/item_pc.c
@@ -0,0 +1,238 @@
+#include "global.h"
+#include "help_system.h"
+#include "item_menu_icons.h"
+#include "list_menu.h"
+#include "main.h"
+#include "malloc.h"
+#include "menu.h"
+#include "menu_helpers.h"
+#include "palette.h"
+#include "pc_screen_effect.h"
+#include "scanline_effect.h"
+#include "sound.h"
+#include "task.h"
+#include "constants/songs.h"
+
+struct ItemPcResources
+{
+ u32 field_00;
+ u8 field_04;
+ u8 field_05;
+ u8 filler_06[2];
+ u8 field_08;
+ u8 filler_09[3];
+ u16 field_0C[3];
+};
+
+struct ItemPcStaticResources
+{
+ MainCallback field_0;
+ u16 field_4;
+ u16 field_6;
+ u8 field_8;
+};
+
+EWRAM_DATA struct ItemPcResources * gUnknown_203ADBC = NULL;
+EWRAM_DATA u32 gUnknown_203ADC0 = 0;
+EWRAM_DATA u32 gUnknown_203ADC4 = 0;
+EWRAM_DATA u32 gUnknown_203ADC8 = 0;
+EWRAM_DATA struct ItemPcStaticResources gUnknown_203ADCC = {};
+
+void sub_810D4A0(void);
+bool8 sub_810D4C0(void);
+void sub_810D6AC(void);
+bool8 sub_810D71C(void);
+bool8 sub_810D78C(void);
+bool8 sub_810D83C(void);
+void sub_810D878(void);
+void sub_810E8F0(void);
+void sub_810DB34(void);
+void sub_810DB5C(void);
+void sub_810DBF0(void);
+void sub_810DDA4(void);
+void sub_810DE08(void);
+void sub_810DE94(u8);
+void sub_810DEA0(u8 taskId);
+
+void sub_810D3F4(u8 a0, MainCallback callback)
+{
+ u8 i;
+
+ if (a0 >= 2)
+ {
+ SetMainCallback2(callback);
+ return;
+ }
+ if ((gUnknown_203ADBC = Alloc(sizeof(struct ItemPcResources))) == NULL)
+ {
+ SetMainCallback2(callback);
+ return;
+ }
+ if (a0 != 1)
+ {
+ gUnknown_203ADCC.field_0 = callback;
+ gUnknown_203ADCC.field_4 = gUnknown_203ADCC.field_6 = 0;
+ }
+ gUnknown_203ADBC->field_04 = 0xFF;
+ gUnknown_203ADBC->field_05 = 0;
+ gUnknown_203ADBC->field_08 = 0xFF;
+ gUnknown_203ADBC->field_00 = 0;
+ for (i = 0; i < 3; i++)
+ {
+ gUnknown_203ADBC->field_0C[i] = 0;
+ }
+ SetMainCallback2(sub_810D4A0);
+}
+
+void sub_810D470(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ do_scheduled_bg_tilemap_copies_to_vram();
+ UpdatePaletteFade();
+}
+
+void sub_810D48C(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void sub_810D4A0(void)
+{
+ while (1)
+ {
+ if (sub_810D4C0() == TRUE)
+ break;
+ if (sub_80BF708() == TRUE)
+ break;
+ }
+}
+
+bool8 sub_810D4C0(void)
+{
+ u8 taskId;
+ switch (gMain.state)
+ {
+ case 0:
+ VblankHblankHandlerSetZero();
+ clear_scheduled_bg_copies_to_vram();
+ gMain.state++;
+ break;
+ case 1:
+ ScanlineEffect_Stop();
+ gMain.state++;
+ break;
+ case 2:
+ FreeAllSpritePalettes();
+ gMain.state++;
+ break;
+ case 3:
+ ResetPaletteFade();
+ gMain.state++;
+ break;
+ case 4:
+ ResetSpriteData();
+ gMain.state++;
+ break;
+ case 5:
+ sub_80984D8();
+ gMain.state++;
+ break;
+ case 6:
+ ResetTasks();
+ gMain.state++;
+ break;
+ case 7:
+ if (sub_810D71C())
+ {
+ gUnknown_203ADBC->field_0C[0] = 0;
+ gMain.state++;
+ }
+ else
+ {
+ sub_810D6AC();
+ return TRUE;
+ }
+ break;
+ case 8:
+ if (sub_810D78C() == TRUE)
+ gMain.state++;
+ break;
+ case 9:
+ sub_810E8F0();
+ gMain.state++;
+ break;
+ case 10:
+ sub_810DDA4();
+ sub_810DBF0();
+ sub_810DE08();
+ gMain.state++;
+ break;
+ case 11:
+ if (sub_810D83C())
+ gMain.state++;
+ else
+ {
+ sub_810D6AC();
+ return TRUE;
+ }
+ break;
+ case 12:
+ sub_810D878();
+ gMain.state++;
+ break;
+ case 13:
+ sub_810DB34();
+ gMain.state++;
+ break;
+ case 14:
+ sub_80985E4();
+ gMain.state++;
+ break;
+ case 15:
+ taskId = CreateTask(sub_810DEA0, 0);
+ gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gUnknown_203ADCC.field_4, gUnknown_203ADCC.field_6);
+ gMain.state++;
+ break;
+ case 16:
+ sub_810DB5C();
+ gMain.state++;
+ break;
+ case 17:
+ HelpSystem_SetSomeVariable2(29);
+ gMain.state++;
+ break;
+ case 18:
+ if (gUnknown_203ADCC.field_8 == 1)
+ {
+ BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK);
+ }
+ gMain.state++;
+ break;
+ case 19:
+ if (gUnknown_203ADCC.field_8 == 1)
+ {
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ }
+ else
+ {
+ sub_80A0A48(0, 0, 0);
+ sub_810DE94(1);
+ PlaySE(SE_PC_LOGON);
+ }
+ gMain.state++;
+ break;
+ case 20:
+ if (sub_80BF72C() != TRUE)
+ gMain.state++;
+ break;
+ default:
+ SetVBlankCallback(sub_810D48C);
+ SetMainCallback2(sub_810D470);
+ return TRUE;
+ }
+ return FALSE;
+}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index d06fb5c5a..2afd86a0a 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -1318,23 +1318,8 @@ gSpecialVar_ItemId: @ 203AD30
.align 2
.include "src/vs_seeker.o"
-gUnknown_203ADBC: @ 203ADBC
- .space 0x4
-
-gUnknown_203ADC0: @ 203ADC0
- .space 0x4
-
-gUnknown_203ADC4: @ 203ADC4
- .space 0x4
-
-gUnknown_203ADC8: @ 203ADC8
- .space 0x4
-
-gUnknown_203ADCC: @ 203ADCC
- .space 0x4
-
-gUnknown_203ADD0: @ 203ADD0
- .space 0x8
+ .align 2
+ .include "src/item_pc.o"
gUnknown_203ADD8: @ 203ADD8
.space 0x4