summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-06-16 12:36:34 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2019-06-16 12:36:34 -0400
commit4f4b03af6077787ceef226d9085242966c69b6bd (patch)
tree9df26defae89203e8b7d8dade37c038fecf837dd
parent7e1c966eb36db080c43d9aad2419ee68356656ef (diff)
item_pc: sub_810D878
-rw-r--r--asm/item_pc.s330
-rw-r--r--data/data_835B488.s4
-rw-r--r--data/data_83FECCC.s3
-rw-r--r--graphics/item_pc/unk_8E85090.pngbin0 -> 746 bytes
-rw-r--r--graphics/item_pc/unk_8E85458.binbin0 -> 2048 bytes
-rw-r--r--graphics_file_rules.mk4
-rw-r--r--include/graphics.h7
-rw-r--r--include/strings.h1
-rw-r--r--ld_script.txt1
-rw-r--r--src/item_pc.c156
10 files changed, 165 insertions, 341 deletions
diff --git a/asm/item_pc.s b/asm/item_pc.s
index b8844a406..f70f0c7f1 100644
--- a/asm/item_pc.s
+++ b/asm/item_pc.s
@@ -5,336 +5,6 @@
.text
- thumb_func_start sub_810D6AC
-sub_810D6AC: @ 810D6AC
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0810D6DC @ =sub_810D6E8
- movs r1, 0
- bl CreateTask
- ldr r0, _0810D6E0 @ =sub_810D48C
- bl SetVBlankCallback
- ldr r0, _0810D6E4 @ =sub_810D470
- bl SetMainCallback2
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0810D6DC: .4byte sub_810D6E8
-_0810D6E0: .4byte sub_810D48C
-_0810D6E4: .4byte sub_810D470
- thumb_func_end sub_810D6AC
-
- thumb_func_start sub_810D6E8
-sub_810D6E8: @ 810D6E8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0810D714 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0810D70C
- ldr r0, _0810D718 @ =gUnknown_203ADCC
- ldr r0, [r0]
- bl SetMainCallback2
- bl sub_810DC40
- adds r0, r4, 0
- bl DestroyTask
-_0810D70C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D714: .4byte gPaletteFade
-_0810D718: .4byte gUnknown_203ADCC
- thumb_func_end sub_810D6E8
-
- thumb_func_start sub_810D71C
-sub_810D71C: @ 810D71C
- push {r4,r5,lr}
- bl InitBgReg
- ldr r5, _0810D77C @ =gUnknown_203ADC0
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- beq _0810D784
- movs r1, 0
- adds r2, r4, 0
- bl memset
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _0810D780 @ =gUnknown_8453F6C
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r1, [r5]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x1
- b _0810D786
- .align 2, 0
-_0810D77C: .4byte gUnknown_203ADC0
-_0810D780: .4byte gUnknown_8453F6C
-_0810D784:
- movs r0, 0
-_0810D786:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_810D71C
-
- thumb_func_start sub_810D78C
-sub_810D78C: @ 810D78C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0810D7A8 @ =gUnknown_203ADBC
- ldr r0, [r5]
- movs r1, 0xC
- ldrsh r4, [r0, r1]
- cmp r4, 0x1
- beq _0810D7D0
- cmp r4, 0x1
- bgt _0810D7AC
- cmp r4, 0
- beq _0810D7B6
- b _0810D814
- .align 2, 0
-_0810D7A8: .4byte gUnknown_203ADBC
-_0810D7AC:
- cmp r4, 0x2
- beq _0810D7F0
- cmp r4, 0x3
- beq _0810D800
- b _0810D814
-_0810D7B6:
- bl reset_temp_tile_data_buffers
- ldr r1, _0810D7CC @ =gUnknown_8E85090
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _0810D806
- .align 2, 0
-_0810D7CC: .4byte gUnknown_8E85090
-_0810D7D0:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0810D830
- ldr r0, _0810D7E8 @ =gUnknown_8E85458
- ldr r1, _0810D7EC @ =gUnknown_203ADC0
- ldr r1, [r1]
- bl LZDecompressWram
- b _0810D806
- .align 2, 0
-_0810D7E8: .4byte gUnknown_8E85458
-_0810D7EC: .4byte gUnknown_203ADC0
-_0810D7F0:
- ldr r0, _0810D7FC @ =gUnknown_8E85408
- movs r1, 0
- movs r2, 0x60
- bl LoadCompressedPalette
- b _0810D806
- .align 2, 0
-_0810D7FC: .4byte gUnknown_8E85408
-_0810D800:
- ldr r0, _0810D810 @ =gUnknown_83D4240
- bl LoadCompressedObjectPic
-_0810D806:
- ldr r1, [r5]
- ldrh r0, [r1, 0xC]
- adds r0, 0x1
- strh r0, [r1, 0xC]
- b _0810D830
- .align 2, 0
-_0810D810: .4byte gUnknown_83D4240
-_0810D814:
- ldr r0, _0810D828 @ =gUnknown_83D4248
- bl LoadCompressedObjectPalette
- ldr r0, _0810D82C @ =gUnknown_203ADBC
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0xC]
- movs r0, 0x1
- b _0810D832
- .align 2, 0
-_0810D828: .4byte gUnknown_83D4248
-_0810D82C: .4byte gUnknown_203ADBC
-_0810D830:
- movs r0, 0
-_0810D832:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_810D78C
-
- thumb_func_start sub_810D83C
-sub_810D83C: @ 810D83C
- push {r4,lr}
- ldr r4, _0810D860 @ =gUnknown_203ADC4
- movs r0, 0xF8
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _0810D868
- ldr r4, _0810D864 @ =gUnknown_203ADC8
- movs r0, 0xD9
- lsls r0, 1
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _0810D868
- movs r0, 0x1
- b _0810D872
- .align 2, 0
-_0810D860: .4byte gUnknown_203ADC4
-_0810D864: .4byte gUnknown_203ADC8
-_0810D868:
- bl sub_810DC40
- bl sub_810D6AC
- movs r0, 0
-_0810D872:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810D83C
-
- thumb_func_start sub_810D878
-sub_810D878: @ 810D878
- push {r4,r5,lr}
- movs r4, 0
- b _0810D8A4
-_0810D87E:
- ldr r0, _0810D938 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, r1
- movs r1, 0xA6
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetItem
- ldr r1, _0810D93C @ =gUnknown_203ADC4
- ldr r2, [r1]
- lsls r1, r4, 3
- adds r1, r2
- str r0, [r1]
- str r4, [r1, 0x4]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_0810D8A4:
- ldr r0, _0810D940 @ =gUnknown_203ADBC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- cmp r4, r0
- bcc _0810D87E
- ldr r0, _0810D93C @ =gUnknown_203ADC4
- ldr r3, [r0]
- lsls r0, r4, 3
- adds r0, r3
- ldr r1, _0810D944 @ =gFameCheckerText_Cancel
- str r1, [r0]
- movs r1, 0x2
- negs r1, r1
- str r1, [r0, 0x4]
- ldr r2, _0810D948 @ =gMultiuseListMenuTemplate
- str r3, [r2]
- ldr r0, _0810D940 @ =gUnknown_203ADBC
- ldr r3, [r0]
- ldrb r0, [r3, 0x7]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r2, 0xC]
- strb r1, [r2, 0x10]
- strb r1, [r2, 0x11]
- movs r0, 0x9
- strb r0, [r2, 0x12]
- movs r1, 0x1
- movs r0, 0x1
- strb r0, [r2, 0x13]
- ldrb r0, [r2, 0x16]
- movs r4, 0x8
- negs r4, r4
- ands r4, r0
- orrs r4, r1
- movs r0, 0x39
- negs r0, r0
- ands r4, r0
- movs r0, 0x10
- orrs r4, r0
- strb r4, [r2, 0x16]
- ldrb r1, [r2, 0x14]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r5, 0x2
- orrs r0, r5
- strb r0, [r2, 0x14]
- ldrb r1, [r3, 0x6]
- strh r1, [r2, 0xE]
- ldrb r1, [r2, 0x17]
- movs r3, 0x40
- negs r3, r3
- ands r3, r1
- orrs r3, r5
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2, 0x14]
- movs r0, 0x30
- strb r0, [r2, 0x15]
- ldr r0, _0810D94C @ =sub_810D954
- str r0, [r2, 0x4]
- ldr r0, _0810D950 @ =sub_810DA20
- str r0, [r2, 0x8]
- movs r0, 0x3F
- ands r4, r0
- strb r4, [r2, 0x16]
- ands r3, r0
- strb r3, [r2, 0x17]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D938: .4byte gSaveBlock1Ptr
-_0810D93C: .4byte gUnknown_203ADC4
-_0810D940: .4byte gUnknown_203ADBC
-_0810D944: .4byte gFameCheckerText_Cancel
-_0810D948: .4byte gMultiuseListMenuTemplate
-_0810D94C: .4byte sub_810D954
-_0810D950: .4byte sub_810DA20
- thumb_func_end sub_810D878
-
thumb_func_start sub_810D954
sub_810D954: @ 810D954
push {r4,r5,lr}
diff --git a/data/data_835B488.s b/data/data_835B488.s
index 7970f26c4..0f7851b83 100644
--- a/data/data_835B488.s
+++ b/data/data_835B488.s
@@ -557,10 +557,10 @@ gUnknown_83D41FC:: @ 83D41FC
.incbin "baserom.gba", 0x3D41FC, 0x44
gUnknown_83D4240:: @ 83D4240
- .incbin "baserom.gba", 0x3D4240, 0x8
+ obj_tiles gFile_graphics_interface_bag_swap_sheet, 0x0100, 0x0065
gUnknown_83D4248:: @ 83D4248
- .incbin "baserom.gba", 0x3D4248, 0x8
+ obj_pal gFile_graphics_interface_bag_swap_palette, 0x0065
gUnknown_83D4250:: @ 83D4250
.incbin "baserom.gba", 0x3D4250, 0x2C
diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s
index e84c93578..33feb4cee 100644
--- a/data/data_83FECCC.s
+++ b/data/data_83FECCC.s
@@ -3071,9 +3071,6 @@ gUnknown_8453094:: @ 8453094
.section .rodata.8453F6C
// item_pc.o
-gUnknown_8453F6C:: @ 8453F6C
- .incbin "baserom.gba", 0x453F6C, 0x8
-
gUnknown_8453F74:: @ 8453F74
.incbin "baserom.gba", 0x453F74, 0x18
diff --git a/graphics/item_pc/unk_8E85090.png b/graphics/item_pc/unk_8E85090.png
new file mode 100644
index 000000000..6c6748683
--- /dev/null
+++ b/graphics/item_pc/unk_8E85090.png
Binary files differ
diff --git a/graphics/item_pc/unk_8E85458.bin b/graphics/item_pc/unk_8E85458.bin
new file mode 100644
index 000000000..046ef83b4
--- /dev/null
+++ b/graphics/item_pc/unk_8E85458.bin
Binary files differ
diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk
index 64d9d5c34..dfe15881a 100644
--- a/graphics_file_rules.mk
+++ b/graphics_file_rules.mk
@@ -21,6 +21,7 @@ MISCGFXDIR := graphics/misc
TEXTWINDOWGFXDIR := graphics/text_window
TEACHYTVGFXDIR := graphics/teachy_tv
SSANNEGFXDIR := graphics/ss_anne
+ITEMPCGFXDIR := graphics/item_pc
types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark
contest_types := cool beauty cute smart tough
@@ -482,3 +483,6 @@ $(TEACHYTVGFXDIR)/tiles.4bpp: %.4bpp: %.png
$(SSANNEGFXDIR)/unk_8479A38.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 17
+
+$(ITEMPCGFXDIR)/unk_8E85090.4bpp: %.4bpp: %.png
+ $(GFX) $< $@ -num_tiles 82
diff --git a/include/graphics.h b/include/graphics.h
index 98f9750d4..96a39ae7c 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -176,7 +176,6 @@ extern const u8 gUnknown_8E86D6C[];
extern const u8 gUnknown_8E86F98[];
// berry_fix_program
-
extern const u8 gBerryFixGameboy_Gfx[];
extern const u8 gBerryFixGameboy_Tilemap[];
extern const u8 gBerryFixGameboy_Pal[];
@@ -196,4 +195,10 @@ extern const u8 gBerryFixWindow_Gfx[];
extern const u8 gBerryFixWindow_Tilemap[];
extern const u8 gBerryFixWindow_Pal[];
+// item_pc
+
+extern const u8 gUnknown_8E85090[];
+extern const u8 gUnknown_8E85408[];
+extern const u8 gUnknown_8E85458[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/strings.h b/include/strings.h
index 0a8af28d1..e624fe407 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -113,6 +113,7 @@ extern const u8 gText_ICanPayThisMuch_WouldThatBeOkay[];
extern const u8 gText_TurnedOverItemsWorthYen[];
extern const u8 gPokeDudeText_TMTypes[];
extern const u8 gPokeDudeText_ReadTMDescription[];
+extern const u8 gFameCheckerText_Cancel[];
// teachy_tv
extern const u8 gTeachyTvString_TeachBattle[];
diff --git a/ld_script.txt b/ld_script.txt
index 341980802..6360e600f 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -417,6 +417,7 @@ SECTIONS {
src/bag.o(.rodata);
src/trainer_pokemon_sprites.o(.rodata);
src/vs_seeker.o(.rodata);
+ src/item_pc.o(.rodata);
data/data_83FECCC.o(.rodata.8453F6C);
src/quest_log.o(.rodata);
data/data_83FECCC.o(.rodata.8456C74);
diff --git a/src/item_pc.c b/src/item_pc.c
index 8e4502430..2b63651e7 100644
--- a/src/item_pc.c
+++ b/src/item_pc.c
@@ -1,5 +1,10 @@
#include "global.h"
+#include "bg.h"
+#include "decompress.h"
+#include "gpu_regs.h"
+#include "graphics.h"
#include "help_system.h"
+#include "item.h"
#include "item_menu_icons.h"
#include "list_menu.h"
#include "main.h"
@@ -10,6 +15,7 @@
#include "pc_screen_effect.h"
#include "scanline_effect.h"
#include "sound.h"
+#include "strings.h"
#include "task.h"
#include "constants/songs.h"
@@ -18,10 +24,11 @@ struct ItemPcResources
u32 field_00;
u8 field_04;
u8 field_05;
- u8 filler_06[2];
+ u8 field_06;
+ u8 field_07;
u8 field_08;
u8 filler_09[3];
- u16 field_0C[3];
+ s16 field_0C[3];
};
struct ItemPcStaticResources
@@ -33,27 +40,48 @@ struct ItemPcStaticResources
};
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 u8 * gUnknown_203ADC0 = NULL;
+EWRAM_DATA struct ListMenuItem * gUnknown_203ADC4 = NULL;
+EWRAM_DATA void * gUnknown_203ADC8 = NULL;
EWRAM_DATA struct ItemPcStaticResources gUnknown_203ADCC = {};
+extern const struct CompressedSpriteSheet gUnknown_83D4240;
+extern const struct CompressedSpritePalette gUnknown_83D4248;
+
void sub_810D4A0(void);
bool8 sub_810D4C0(void);
void sub_810D6AC(void);
+void sub_810D6E8(u8 taskId);
bool8 sub_810D71C(void);
bool8 sub_810D78C(void);
bool8 sub_810D83C(void);
void sub_810D878(void);
+void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list);
+void sub_810DA20(u8 windowId, s32 itemId, u8 y);
void sub_810E8F0(void);
void sub_810DB34(void);
void sub_810DB5C(void);
void sub_810DBF0(void);
+void sub_810DC40(void);
void sub_810DDA4(void);
void sub_810DE08(void);
void sub_810DE94(u8);
void sub_810DEA0(u8 taskId);
+const struct BgTemplate gUnknown_8453F6C[2] = {
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 31,
+ .priority = 0
+ }, {
+ .bg = 1,
+ .charBaseIndex = 3,
+ .mapBaseIndex = 30,
+ .priority = 1
+ }
+};
+
void sub_810D3F4(u8 a0, MainCallback callback)
{
u8 i;
@@ -236,3 +264,121 @@ bool8 sub_810D4C0(void)
}
return FALSE;
}
+
+void sub_810D6AC(void)
+{
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ CreateTask(sub_810D6E8, 0);
+ SetVBlankCallback(sub_810D48C);
+ SetMainCallback2(sub_810D470);
+}
+
+void sub_810D6E8(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(gUnknown_203ADCC.field_0);
+ sub_810DC40();
+ DestroyTask(taskId);
+ }
+}
+
+bool8 sub_810D71C(void)
+{
+ InitBgReg();
+ gUnknown_203ADC0 = Alloc(0x800);
+ if (gUnknown_203ADC0 == NULL)
+ return FALSE;
+ memset(gUnknown_203ADC0, 0, 0x800);
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_8453F6C, NELEMS(gUnknown_8453F6C));
+ SetBgTilemapBuffer(1, gUnknown_203ADC0);
+ schedule_bg_copy_tilemap_to_vram(1);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT , 0);
+ ShowBg(0);
+ ShowBg(1);
+ return TRUE;
+}
+
+bool8 sub_810D78C(void)
+{
+ switch (gUnknown_203ADBC->field_0C[0])
+ {
+ case 0:
+ reset_temp_tile_data_buffers();
+ decompress_and_copy_tile_data_to_vram(1, gUnknown_8E85090, 0, 0, 0);
+ gUnknown_203ADBC->field_0C[0]++;
+ break;
+ case 1:
+ if (free_temp_tile_data_buffers_if_possible() != TRUE)
+ {
+ LZDecompressWram(gUnknown_8E85458, gUnknown_203ADC0);
+ gUnknown_203ADBC->field_0C[0]++;
+ }
+ break;
+ case 2:
+ LoadCompressedPalette(gUnknown_8E85408, 0x00, 0x60);
+ gUnknown_203ADBC->field_0C[0]++;
+ break;
+ case 3:
+ LoadCompressedObjectPic(&gUnknown_83D4240);
+ gUnknown_203ADBC->field_0C[0]++;
+ break;
+ default:
+ LoadCompressedObjectPalette(&gUnknown_83D4248);
+ gUnknown_203ADBC->field_0C[0] = 0;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+#define sub_810D83C_sub(ptr__, size) ({ \
+ void ** ptr = (void **)&(ptr__); \
+ *ptr = Alloc(size); \
+ if (*ptr == NULL) \
+ { \
+ sub_810DC40(); \
+ sub_810D6AC(); \
+ return FALSE; \
+ } \
+})
+
+bool8 sub_810D83C(void)
+{
+ sub_810D83C_sub(gUnknown_203ADC4, 0x0F8);
+ sub_810D83C_sub(gUnknown_203ADC8, 0x1B2);
+ return TRUE;
+}
+
+void sub_810D878(void)
+{
+ u16 i;
+
+ for (i = 0; i < gUnknown_203ADBC->field_07; i++)
+ {
+ gUnknown_203ADC4[i].label = ItemId_GetItem(gSaveBlock1Ptr->pcItems[i].itemId)->name;
+ gUnknown_203ADC4[i].index = i;
+ }
+ gUnknown_203ADC4[i].label = gFameCheckerText_Cancel;
+ gUnknown_203ADC4[i].index = -2;
+
+ gMultiuseListMenuTemplate.items = gUnknown_203ADC4;
+ gMultiuseListMenuTemplate.totalItems = gUnknown_203ADBC->field_07 + 1;
+ gMultiuseListMenuTemplate.windowId = 0;
+ gMultiuseListMenuTemplate.header_X = 0;
+ gMultiuseListMenuTemplate.item_X = 9;
+ gMultiuseListMenuTemplate.cursor_X = 1;
+ gMultiuseListMenuTemplate.lettersSpacing = 1;
+ gMultiuseListMenuTemplate.itemVerticalPadding = 2;
+ gMultiuseListMenuTemplate.upText_Y = 2;
+ gMultiuseListMenuTemplate.maxShowed = gUnknown_203ADBC->field_06;
+ gMultiuseListMenuTemplate.fontId = 2;
+ gMultiuseListMenuTemplate.cursorPal = 2;
+ gMultiuseListMenuTemplate.fillValue = 0;
+ gMultiuseListMenuTemplate.cursorShadowPal = 3;
+ gMultiuseListMenuTemplate.moveCursorFunc = sub_810D954;
+ gMultiuseListMenuTemplate.itemPrintFunc = sub_810DA20;
+ gMultiuseListMenuTemplate.scrollMultiple = 0;
+ gMultiuseListMenuTemplate.cursorKind = 0;
+}