diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-10-05 12:13:33 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-10-05 12:13:33 -0400 |
commit | cb3e751f5f8990f7e36e141869a14f62e44eceff (patch) | |
tree | 26ed2d8cd42704246c8c0ae9c5ea4a1db33f0b81 | |
parent | 712ee66e6154d734ea3960cc14ff1f4c1aaa639e (diff) |
Decompile mailbox_pc and dump decorations
-rw-r--r-- | asm/mailbox_pc.s | 326 | ||||
-rw-r--r-- | baserom.ips | bin | 2011595 -> 2000346 bytes | |||
-rw-r--r-- | data/data_83FECCC.s | 19 | ||||
-rw-r--r-- | data/decoration_tiles.inc | 359 | ||||
-rw-r--r-- | data/decorations.s | 857 | ||||
-rw-r--r-- | data/text/decoration_descriptions.inc | 573 | ||||
-rw-r--r-- | include/global.h | 3 | ||||
-rw-r--r-- | include/new_menu_helpers.h | 2 | ||||
-rw-r--r-- | include/player_pc.h | 11 | ||||
-rw-r--r-- | ld_script.txt | 5 | ||||
-rw-r--r-- | src/mailbox_pc.c | 143 | ||||
-rw-r--r-- | sym_ewram.txt | 10 |
12 files changed, 1962 insertions, 346 deletions
diff --git a/asm/mailbox_pc.s b/asm/mailbox_pc.s deleted file mode 100644 index 7e792681f..000000000 --- a/asm/mailbox_pc.s +++ /dev/null @@ -1,326 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_810EB6C -sub_810EB6C: @ 810EB6C - push {r4,lr} - lsls r0, 24 - ldr r4, _0810EB84 @ =gUnknown_203ADE0 - lsrs r0, 21 - adds r0, 0x8 - bl Alloc - str r0, [r4] - cmp r0, 0 - bne _0810EB88 - movs r0, 0 - b _0810EBA2 - .align 2, 0 -_0810EB84: .4byte gUnknown_203ADE0 -_0810EB88: - movs r2, 0 - ldr r4, _0810EBA8 @ =gUnknown_203ADDC - movs r3, 0xFF -_0810EB8E: - adds r0, r2, r4 - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _0810EB8E - movs r0, 0x1 -_0810EBA2: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810EBA8: .4byte gUnknown_203ADDC - thumb_func_end sub_810EB6C - - thumb_func_start sub_810EBAC -sub_810EBAC: @ 810EBAC - push {r4,lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0810EBD8 @ =gUnknown_203ADDC - adds r4, r1, r0 - ldrb r0, [r4] - cmp r0, 0xFF - bne _0810EBD0 - lsls r0, r1, 3 - ldr r1, _0810EBDC @ =gUnknown_8453FE8 - adds r0, r1 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStdWindowBorderStyle -_0810EBD0: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810EBD8: .4byte gUnknown_203ADDC -_0810EBDC: .4byte gUnknown_8453FE8 - thumb_func_end sub_810EBAC - - thumb_func_start sub_810EBE0 -sub_810EBE0: @ 810EBE0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810EC0C @ =gUnknown_203ADDC - adds r4, r0 - ldrb r0, [r4] - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0xFF - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810EC0C: .4byte gUnknown_203ADDC - thumb_func_end sub_810EBE0 - - thumb_func_start sub_810EC10 -sub_810EC10: @ 810EC10 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810EC1C @ =gUnknown_203ADDC - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0810EC1C: .4byte gUnknown_203ADDC - thumb_func_end sub_810EC10 - - thumb_func_start sub_810EC20 -sub_810EC20: @ 810EC20 - push {r4,r5,lr} - sub sp, 0x34 - adds r3, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x2 - negs r0, r0 - cmp r3, r0 - beq _0810EC82 - ldr r0, _0810EC8C @ =gSaveBlock1Ptr - lsls r1, r3, 3 - adds r1, r3 - lsls r1, 2 - ldr r0, [r0] - adds r1, r0 - ldr r0, _0810EC90 @ =0x00002dba - adds r1, r0 - add r0, sp, 0x14 - bl StringCopy - add r0, sp, 0x14 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5 - bhi _0810EC62 - add r0, sp, 0x14 - movs r1, 0x1 - bl ConvertInternationalString -_0810EC62: - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - ldr r0, _0810EC94 @ =gUnknown_8454000 - str r0, [sp, 0x8] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0xC] - add r0, sp, 0x14 - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0x8 - adds r3, r5, 0 - bl AddTextPrinterParameterized4 -_0810EC82: - add sp, 0x34 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EC8C: .4byte gSaveBlock1Ptr -_0810EC90: .4byte 0x00002dba -_0810EC94: .4byte gUnknown_8454000 - thumb_func_end sub_810EC20 - - thumb_func_start sub_810EC98 -sub_810EC98: @ 810EC98 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - movs r3, 0 - ldr r7, _0810ED50 @ =gUnknown_203ADE0 - ldr r0, _0810ED54 @ =gFameCheckerText_Cancel - mov r12, r0 - ldr r5, _0810ED58 @ =gMultiuseListMenuTemplate - ldr r1, _0810ED5C @ =gUnknown_203ADDC - mov r8, r1 - ldrb r0, [r6, 0x5] - cmp r3, r0 - bcs _0810ECCE - adds r2, r7, 0 - ldr r4, _0810ED60 @ =gUnknown_8454003 -_0810ECB8: - ldr r1, [r2] - lsls r0, r3, 3 - adds r0, r1 - str r4, [r0] - str r3, [r0, 0x4] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r1, [r6, 0x5] - cmp r3, r1 - bcc _0810ECB8 -_0810ECCE: - ldr r2, [r7] - lsls r0, r3, 3 - adds r0, r2 - mov r1, r12 - str r1, [r0] - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - str r2, [r5] - ldrb r0, [r6, 0x5] - adds r0, 0x1 - movs r4, 0 - strh r0, [r5, 0xC] - mov r1, r8 - ldrb r0, [r1, 0x1] - strb r0, [r5, 0x10] - strb r4, [r5, 0x11] - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - strb r0, [r5, 0x12] - strb r4, [r5, 0x13] - ldrb r0, [r5, 0x16] - movs r2, 0x8 - negs r2, r2 - ands r2, r0 - movs r0, 0x39 - negs r0, r0 - ands r2, r0 - movs r0, 0x10 - orrs r2, r0 - movs r0, 0x8 - strh r0, [r5, 0xE] - ldrb r0, [r5, 0x17] - movs r1, 0x40 - negs r1, r1 - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - movs r0, 0x2A - strb r0, [r5, 0x14] - movs r0, 0x31 - strb r0, [r5, 0x15] - ldr r0, _0810ED64 @ =sub_810ED6C - str r0, [r5, 0x4] - ldr r0, _0810ED68 @ =sub_810EC20 - str r0, [r5, 0x8] - movs r0, 0x3F - ands r1, r0 - strb r1, [r5, 0x17] - ands r2, r0 - strb r2, [r5, 0x16] - ldrh r1, [r6, 0x2] - ldrh r2, [r6] - adds r0, r5, 0 - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810ED50: .4byte gUnknown_203ADE0 -_0810ED54: .4byte gFameCheckerText_Cancel -_0810ED58: .4byte gMultiuseListMenuTemplate -_0810ED5C: .4byte gUnknown_203ADDC -_0810ED60: .4byte gUnknown_8454003 -_0810ED64: .4byte sub_810ED6C -_0810ED68: .4byte sub_810EC20 - thumb_func_end sub_810EC98 - - thumb_func_start sub_810ED6C -sub_810ED6C: @ 810ED6C - push {lr} - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _0810ED7C - movs r0, 0x5 - bl PlaySE -_0810ED7C: - pop {r0} - bx r0 - thumb_func_end sub_810ED6C - - thumb_func_start sub_810ED80 -sub_810ED80: @ 810ED80 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldrb r0, [r4, 0x5] - ldrb r1, [r4, 0x4] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0x2 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xC2 - movs r2, 0xC - movs r3, 0x94 - bl AddScrollIndicatorArrowPairParameterized - strb r0, [r4, 0xA] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810ED80 - - thumb_func_start sub_810EDB0 -sub_810EDB0: @ 810EDB0 - push {lr} - ldr r0, _0810EDC0 @ =gUnknown_203ADE0 - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .align 2, 0 -_0810EDC0: .4byte gUnknown_203ADE0 - thumb_func_end sub_810EDB0 - - .align 2, 0 @ Don't pad with nop. diff --git a/baserom.ips b/baserom.ips Binary files differindex 03cb2d9ad..df32a8df2 100644 --- a/baserom.ips +++ b/baserom.ips diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index 8f16958e6..0944bf82a 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -670,20 +670,17 @@ gUnknown_8452F6C:: @ 8452F6C gUnknown_8452F7C:: @ 8452F7C .incbin "baserom.gba", 0x452F7C, 0xC0 - .section .rodata.8453F6C -// mailbox_pc.o -gUnknown_8453FE8:: @ 8453FE8 - .incbin "baserom.gba", 0x453FE8, 0x18 - -gUnknown_8454000:: @ 8454000 - .incbin "baserom.gba", 0x454000, 0x3 - -gUnknown_8454003:: @ 8454003 - .incbin "baserom.gba", 0x454003, 0x2615 - + @ save_location.o + @ bag.o + @ trainer_pokemon_sprites.o + @ vs_seeker.o + @ item_pc.o + @ mailbox_pc.o + @ decorations.o @ menu.o @ quest_log.o @ link_rfu_3.o + .section .rodata.8456C74 gUnknown_8456C74:: @ 8456C74 .incbin "baserom.gba", 0x456C74, 0x5C diff --git a/data/decoration_tiles.inc b/data/decoration_tiles.inc new file mode 100644 index 000000000..2a53f2d8e --- /dev/null +++ b/data/decoration_tiles.inc @@ -0,0 +1,359 @@ +gUnknown_8454004:: @ 8454004 + .2byte 0x087 + +gUnknown_8454006:: @ 8454006 + .2byte 0x08F + +gUnknown_8454008:: @ 8454008 + .2byte 0x090, 0x091, 0x092, 0x098, 0x099, 0x09A + +gUnknown_8454014:: @ 8454014 + .2byte 0x093, 0x094, 0x095, 0x09B, 0x09C, 0x09D + +gUnknown_8454020:: @ 8454020 + .2byte 0x096, 0x097, 0x0A3, 0x09E, 0x09F, 0x0AB + +gUnknown_845402C:: @ 845402C + .2byte 0x0BD, 0x0BE, 0x0BF, 0x0C5, 0x0C6, 0x0C7, 0x0CD, 0x0CE, 0x0CF + +gUnknown_845403E:: @ 845403E + .2byte 0x0A0, 0x0A1, 0x0A2, 0x0A8, 0x0A9, 0x0AA, 0x0B0, 0x0B1, 0x0B2 + +gUnknown_8454050:: @ 8454050 + .2byte 0x0A4, 0x0A5, 0x0A6, 0x0AC, 0x0AD, 0x0AE, 0x0B4, 0x0B5, 0x0B6 + +gUnknown_8454062:: @ 8454062 + .2byte 0x0A7, 0x0BB, 0x0BC, 0x0AF, 0x0C3, 0x0C4, 0x0B7, 0x0CB, 0x0CC + +gUnknown_8454074:: @ 8454074 + .2byte 0x0B8 + +gUnknown_8454076:: @ 8454076 + .2byte 0x0B9 + +gUnknown_8454078:: @ 8454078 + .2byte 0x0BA + +gUnknown_845407A:: @ 845407A + .2byte 0x0C0 + +gUnknown_845407C:: @ 845407C + .2byte 0x0C1 + +gUnknown_845407E:: @ 845407E + .2byte 0x0C2 + +gUnknown_8454080:: @ 8454080 + .2byte 0x0C8 + +gUnknown_8454082:: @ 8454082 + .2byte 0x0C9 + +gUnknown_8454084:: @ 8454084 + .2byte 0x0CA + +gUnknown_8454086:: @ 8454086 + .2byte 0x0D0, 0x0D8 + +gUnknown_845408A:: @ 845408A + .2byte 0x0D2, 0x0DA + +gUnknown_845408E:: @ 845408E + .2byte 0x0D4, 0x0DC + +gUnknown_8454092:: @ 8454092 + .2byte 0x0E0, 0x0E2, 0x0E8, 0x0E9 + +gUnknown_845409A:: @ 845409A + .2byte 0x0E4, 0x0E6, 0x0EC, 0x0ED + +gUnknown_84540A2:: @ 84540A2 + .2byte 0x0F0, 0x0F2, 0x0F8, 0x0F9 + +gUnknown_84540AA:: @ 84540AA + .2byte 0x025, 0x02D + +gUnknown_84540AE:: @ 84540AE + .2byte 0x026, 0x02E + +gUnknown_84540B2:: @ 84540B2 + .2byte 0x027, 0x02F + +gUnknown_84540B6:: @ 84540B6 + .2byte 0x138 + +gUnknown_84540B8:: @ 84540B8 + .2byte 0x13C + +gUnknown_84540BA:: @ 84540BA + .2byte 0x140 + +gUnknown_84540BC:: @ 84540BC + .2byte 0x030, 0x031, 0x032, 0x038, 0x039, 0x03A, 0x040, 0x041, 0x03B + +gUnknown_84540CE:: @ 84540CE + .2byte 0x048, 0x049, 0x068, 0x050, 0x051, 0x070, 0x058, 0x059, 0x069 + +gUnknown_84540E0:: @ 84540E0 + .2byte 0x034, 0x03C + +gUnknown_84540E4:: @ 84540E4 + .2byte 0x035, 0x036, 0x03D, 0x03E, 0x063, 0x064, 0x06F, 0x077 + +gUnknown_84540F4:: @ 84540F4 + .2byte 0x033 + +gUnknown_84540F6:: @ 84540F6 + .2byte 0x02C + +gUnknown_84540F8:: @ 84540F8 + .2byte 0x080, 0x081, 0x088, 0x089 + +gUnknown_8454100:: @ 8454100 + .2byte 0x06A, 0x06B, 0x06C, 0x06D, 0x072, 0x073, 0x074, 0x075 + +gUnknown_8454110:: @ 8454110 + .2byte 0x028 + +gUnknown_8454112:: @ 8454112 + .2byte 0x037, 0x03F + +gUnknown_8454116:: @ 8454116 + .2byte 0x085, 0x08D + +gUnknown_845411A:: @ 845411A + .2byte 0x0D6, 0x0DE + +gUnknown_845411E:: @ 845411E + .2byte 0x12E, 0x136 + +gUnknown_8454122:: @ 8454122 + .2byte 0x082, 0x08A + +gUnknown_8454126:: @ 8454126 + .2byte 0x0F4 + +gUnknown_8454128:: @ 8454128 + .2byte 0x0F5 + +gUnknown_845412A:: @ 845412A + .2byte 0x0F6 + +gUnknown_845412C:: @ 845412C + .2byte 0x060 + +gUnknown_845412E:: @ 845412E + .2byte 0x061 + +gUnknown_8454130:: @ 8454130 + .2byte 0x062 + +gUnknown_8454132:: @ 8454132 + .2byte 0x078 + +gUnknown_8454134:: @ 8454134 + .2byte 0x079 + +gUnknown_8454136:: @ 8454136 + .2byte 0x07A + +gUnknown_8454138:: @ 8454138 + .2byte 0x07B + +gUnknown_845413A:: @ 845413A + .2byte 0x07C + +gUnknown_845413C:: @ 845413C + .2byte 0x07D + +gUnknown_845413E:: @ 845413E + .2byte 0x07E + +gUnknown_8454140:: @ 8454140 + .2byte 0x0B3 + +gUnknown_8454142:: @ 8454142 + .2byte 0x042, 0x043, 0x044, 0x04A, 0x04B, 0x04C, 0x052, 0x053, 0x054 + +gUnknown_8454154:: @ 8454154 + .2byte 0x045, 0x046, 0x047, 0x04D, 0x04E, 0x04F, 0x055, 0x056, 0x057 + +gUnknown_8454166:: @ 8454166 + .2byte 0x05A, 0x05B, 0x05C, 0x05D, 0x05E, 0x05F, 0x065, 0x066, 0x067 + +gUnknown_8454178:: @ 8454178 + .2byte 0x100, 0x101, 0x102, 0x108, 0x109, 0x10A, 0x110, 0x111, 0x112 + +gUnknown_845418A:: @ 845418A + .2byte 0x103, 0x104, 0x105, 0x10B, 0x10C, 0x10D, 0x113, 0x114, 0x115 + +gUnknown_845419C:: @ 845419C + .2byte 0x106, 0x107, 0x118, 0x10E, 0x10F, 0x120, 0x116, 0x117, 0x128 + +gUnknown_84541AE:: @ 84541AE + .2byte 0x119, 0x11A, 0x11B, 0x121, 0x122, 0x123, 0x129, 0x12A, 0x12B + +gUnknown_84541C0:: @ 84541C0 + .2byte 0x130 + +gUnknown_84541C2:: @ 84541C2 + .2byte 0x131 + +gUnknown_84541C4:: @ 84541C4 + .2byte 0x132 + +gUnknown_84541C6:: @ 84541C6 + .2byte 0x133 + +gUnknown_84541C8:: @ 84541C8 + .2byte 0x134 + +gUnknown_84541CA:: @ 84541CA + .2byte 0x11C, 0x11D + +gUnknown_84541CE:: @ 84541CE + .2byte 0x11E, 0x11F + +gUnknown_84541D2:: @ 84541D2 + .2byte 0x124, 0x125 + +gUnknown_84541D6:: @ 84541D6 + .2byte 0x126, 0x127 + +gUnknown_84541DA:: @ 84541DA + .2byte 0x12C, 0x12D + +gUnknown_84541DE:: @ 84541DE + .2byte 0x05C + +gUnknown_84541E0:: @ 84541E0 + .2byte 0x05C + +gUnknown_84541E2:: @ 84541E2 + .2byte 0x05C + +gUnknown_84541E4:: @ 84541E4 + .2byte 0x05C + +gUnknown_84541E6:: @ 84541E6 + .2byte 0x05C + +gUnknown_84541E8:: @ 84541E8 + .2byte 0x05C + +gUnknown_84541EA:: @ 84541EA + .2byte 0x05C + +gUnknown_84541EC:: @ 84541EC + .2byte 0x05C + +gUnknown_84541EE:: @ 84541EE + .2byte 0x05C + +gUnknown_84541F0:: @ 84541F0 + .2byte 0x05C + +gUnknown_84541F2:: @ 84541F2 + .2byte 0x05C + +gUnknown_84541F4:: @ 84541F4 + .2byte 0x05C + +gUnknown_84541F6:: @ 84541F6 + .2byte 0x05C + +gUnknown_84541F8:: @ 84541F8 + .2byte 0x05C + +gUnknown_84541FA:: @ 84541FA + .2byte 0x05C + +gUnknown_84541FC:: @ 84541FC + .2byte 0x05C + +gUnknown_84541FE:: @ 84541FE + .2byte 0x05C + +gUnknown_8454200:: @ 8454200 + .2byte 0x05C + +gUnknown_8454202:: @ 8454202 + .2byte 0x05C + +gUnknown_8454204:: @ 8454204 + .2byte 0x05C + +gUnknown_8454206:: @ 8454206 + .2byte 0x05C + +gUnknown_8454208:: @ 8454208 + .2byte 0x05C + +gUnknown_845420A:: @ 845420A + .2byte 0x05C + +gUnknown_845420C:: @ 845420C + .2byte 0x05C + +gUnknown_845420E:: @ 845420E + .2byte 0x05C + +gUnknown_8454210:: @ 8454210 + .2byte 0x05C + +gUnknown_8454212:: @ 8454212 + .2byte 0x05C + +gUnknown_8454214:: @ 8454214 + .2byte 0x05C + +gUnknown_8454216:: @ 8454216 + .2byte 0x05C + +gUnknown_8454218:: @ 8454218 + .2byte 0x05C + +gUnknown_845421A:: @ 845421A + .2byte 0x05C + +gUnknown_845421C:: @ 845421C + .2byte 0x05C + +gUnknown_845421E:: @ 845421E + .2byte 0x05C + +gUnknown_8454220:: @ 8454220 + .2byte 0x05C + +gUnknown_8454222:: @ 8454222 + .2byte 0x05C + +gUnknown_8454224:: @ 8454224 + .2byte 0x05C + +gUnknown_8454226:: @ 8454226 + .2byte 0x05C + +gUnknown_8454228:: @ 8454228 + .2byte 0x05C + +gUnknown_845422A:: @ 845422A + .2byte 0x05C + +gUnknown_845422C:: @ 845422C + .2byte 0x05C + +gUnknown_845422E:: @ 845422E + .2byte 0x05C + +gUnknown_8454230:: @ 8454230 + .2byte 0x05C + +gUnknown_8454232:: @ 8454232 + .2byte 0x05C + +gUnknown_8454234:: @ 8454234 + .2byte 0x05C + +gUnknown_8454236:: @ 8454236 + .2byte 0x05C diff --git a/data/decorations.s b/data/decorations.s new file mode 100644 index 000000000..0d6e85efe --- /dev/null +++ b/data/decorations.s @@ -0,0 +1,857 @@ +#include "constants/decorations.h" + .include "asm/macros.inc" + .include "constants/constants.inc" + .section .rodata + .align 2 + + .include "data/decoration_tiles.inc" + .include "data/text/decoration_descriptions.inc" + + .align 2 +gDecorations:: @ 84556F8 + .byte DECOR_NONE + .string "SMALL DESK$", 16 + .byte 0x00, 0x00, 0x00 + .2byte 0, 0 + .4byte gUnknown_8454238 + .4byte gUnknown_8454004 + + .byte DECOR_SMALL_DESK + .string "SMALL DESK$", 16 + .byte 0x00, 0x00, 0x00 + .2byte 3000, 0 + .4byte gUnknown_8454238 + .4byte gUnknown_8454004 + + .byte DECOR_POKEMON_DESK + .string "POKéMON DESK$", 16 + .byte 0x00, 0x00, 0x00 + .2byte 3000, 0 + .4byte gUnknown_8454254 + .4byte gUnknown_8454006 + + .byte DECOR_HEAVY_DESK + .string "HEAVY DESK$", 16 + .byte 0x00, 0x09, 0x00 + .2byte 6000, 0 + .4byte gUnknown_8454284 + .4byte gUnknown_8454008 + + .byte DECOR_RAGGED_DESK + .string "RAGGED DESK$", 16 + .byte 0x00, 0x09, 0x00 + .2byte 6000, 0 + .4byte gUnknown_84542BC + .4byte gUnknown_8454014 + + .byte DECOR_COMFORT_DESK + .string "COMFORT DESK$", 16 + .byte 0x00, 0x09, 0x00 + .2byte 6000, 0 + .4byte gUnknown_84542F3 + .4byte gUnknown_8454020 + + .byte DECOR_PRETTY_DESK + .string "PRETTY DESK$", 16 + .byte 0x00, 0x08, 0x00 + .2byte 9000, 0 + .4byte gUnknown_845432C + .4byte gUnknown_845402C + + .byte DECOR_BRICK_DESK + .string "BRICK DESK$", 16 + .byte 0x00, 0x08, 0x00 + .2byte 9000, 0 + .4byte gUnknown_8454362 + .4byte gUnknown_845403E + + .byte DECOR_CAMP_DESK + .string "CAMP DESK$", 16 + .byte 0x00, 0x08, 0x00 + .2byte 9000, 0 + .4byte gUnknown_8454398 + .4byte gUnknown_8454050 + + .byte DECOR_HARD_DESK + .string "HARD DESK$", 16 + .byte 0x00, 0x08, 0x00 + .2byte 9000, 0 + .4byte gUnknown_84543D1 + .4byte gUnknown_8454062 + + .byte DECOR_SMALL_CHAIR + .string "SMALL CHAIR$", 16 + .byte 0x01, 0x00, 0x01 + .2byte 2000, 0 + .4byte gUnknown_8454404 + .4byte gUnknown_8454074 + + .byte DECOR_POKEMON_CHAIR + .string "POKéMON CHAIR$", 16 + .byte 0x01, 0x00, 0x01 + .2byte 2000, 0 + .4byte gUnknown_8454420 + .4byte gUnknown_8454076 + + .byte DECOR_HEAVY_CHAIR + .string "HEAVY CHAIR$", 16 + .byte 0x01, 0x00, 0x01 + .2byte 2000, 0 + .4byte gUnknown_8454451 + .4byte gUnknown_8454078 + + .byte DECOR_PRETTY_CHAIR + .string "PRETTY CHAIR$", 16 + .byte 0x01, 0x00, 0x01 + .2byte 2000, 0 + .4byte gUnknown_845446E + .4byte gUnknown_845407A + + .byte DECOR_COMFORT_CHAIR + .string "COMFORT CHAIR$", 16 + .byte 0x01, 0x00, 0x01 + .2byte 2000, 0 + .4byte gUnknown_845448B + .4byte gUnknown_845407C + + .byte DECOR_RAGGED_CHAIR + .string "RAGGED CHAIR$", 16 + .byte 0x01, 0x00, 0x01 + .2byte 2000, 0 + .4byte gUnknown_84544A9 + .4byte gUnknown_845407E + + .byte DECOR_BRICK_CHAIR + .string "BRICK CHAIR$", 16 + .byte 0x01, 0x00, 0x01 + .2byte 2000, 0 + .4byte gUnknown_84544C5 + .4byte gUnknown_8454080 + + .byte DECOR_CAMP_CHAIR + .string "CAMP CHAIR$", 16 + .byte 0x01, 0x00, 0x01 + .2byte 2000, 0 + .4byte gUnknown_84544E2 + .4byte gUnknown_8454082 + + .byte DECOR_HARD_CHAIR + .string "HARD CHAIR$", 16 + .byte 0x01, 0x00, 0x01 + .2byte 2000, 0 + .4byte gUnknown_84544FE + .4byte gUnknown_8454084 + + .byte DECOR_RED_PLANT + .string "RED PLANT$", 16 + .byte 0x02, 0x05, 0x02 + .2byte 3000, 0 + .4byte gUnknown_845451A + .4byte gUnknown_8454086 + + .byte DECOR_TROPICAL_PLANT + .string "TROPICAL PLANT$", 16 + .byte 0x02, 0x05, 0x02 + .2byte 3000, 0 + .4byte gUnknown_8454534 + .4byte gUnknown_845408A + + .byte DECOR_PRETTY_FLOWERS + .string "PRETTY FLOWERS$", 16 + .byte 0x02, 0x05, 0x02 + .2byte 3000, 0 + .4byte gUnknown_8454559 + .4byte gUnknown_845408E + + .byte DECOR_COLORFUL_PLANT + .string "COLORFUL PLANT$", 16 + .byte 0x02, 0x04, 0x02 + .2byte 5000, 0 + .4byte gUnknown_8454570 + .4byte gUnknown_8454092 + + .byte DECOR_BIG_PLANT + .string "BIG PLANT$", 16 + .byte 0x02, 0x04, 0x02 + .2byte 5000, 0 + .4byte gUnknown_8454598 + .4byte gUnknown_845409A + + .byte DECOR_GORGEOUS_PLANT + .string "GORGEOUS PLANT$", 16 + .byte 0x02, 0x04, 0x02 + .2byte 5000, 0 + .4byte gUnknown_84545C6 + .4byte gUnknown_84540A2 + + .byte DECOR_RED_BRICK + .string "RED BRICK$", 16 + .byte 0x00, 0x05, 0x03 + .2byte 500, 0 + .4byte gUnknown_84545EE + .4byte gUnknown_84540AA + + .byte DECOR_YELLOW_BRICK + .string "YELLOW BRICK$", 16 + .byte 0x00, 0x05, 0x03 + .2byte 500, 0 + .4byte gUnknown_8454625 + .4byte gUnknown_84540AE + + .byte DECOR_BLUE_BRICK + .string "BLUE BRICK$", 16 + .byte 0x00, 0x05, 0x03 + .2byte 500, 0 + .4byte gUnknown_845465A + .4byte gUnknown_84540B2 + + .byte DECOR_RED_BALLOON + .string "RED BALLOON$", 16 + .byte 0x01, 0x00, 0x03 + .2byte 500, 0 + .4byte gUnknown_845468D + .4byte gUnknown_84540B6 + + .byte DECOR_BLUE_BALLOON + .string "BLUE BALLOON$", 16 + .byte 0x01, 0x00, 0x03 + .2byte 500, 0 + .4byte gUnknown_84546C4 + .4byte gUnknown_84540B8 + + .byte DECOR_YELLOW_BALLOON + .string "YELLOW BALLOON$", 16 + .byte 0x01, 0x00, 0x03 + .2byte 500, 0 + .4byte gUnknown_84546FC + .4byte gUnknown_84540BA + + .byte DECOR_RED_TENT + .string "RED TENT$", 16 + .byte 0x01, 0x08, 0x03 + .2byte 10000, 0 + .4byte gUnknown_8454734 + .4byte gUnknown_84540BC + + .byte DECOR_BLUE_TENT + .string "BLUE TENT$", 16 + .byte 0x01, 0x08, 0x03 + .2byte 10000, 0 + .4byte gUnknown_845475E + .4byte gUnknown_84540CE + + .byte DECOR_SOLID_BOARD + .string "SOLID BOARD$", 16 + .byte 0x01, 0x05, 0x03 + .2byte 3000, 0 + .4byte gUnknown_8454789 + .4byte gUnknown_84540E0 + + .byte DECOR_SLIDE + .string "SLIDE$", 16 + .byte 0x01, 0x07, 0x03 + .2byte 8000, 0 + .4byte gUnknown_84547B7 + .4byte gUnknown_84540E4 + + .byte DECOR_FENCE_LENGTH + .string "FENCE LENGTH$", 16 + .byte 0x00, 0x00, 0x03 + .2byte 500, 0 + .4byte gUnknown_84547DC + .4byte gUnknown_84540F4 + + .byte DECOR_FENCE_WIDTH + .string "FENCE WIDTH$", 16 + .byte 0x00, 0x00, 0x03 + .2byte 500, 0 + .4byte gUnknown_84547FF + .4byte gUnknown_84540F6 + + .byte DECOR_TIRE + .string "TIRE$", 16 + .byte 0x00, 0x04, 0x03 + .2byte 800, 0 + .4byte gUnknown_8454822 + .4byte gUnknown_84540F8 + + .byte DECOR_STAND + .string "STAND$", 16 + .byte 0x01, 0x03, 0x03 + .2byte 7000, 0 + .4byte gUnknown_8454857 + .4byte gUnknown_8454100 + + .byte DECOR_MUD_BALL + .string "MUD BALL$", 16 + .byte 0x01, 0x00, 0x03 + .2byte 200, 0 + .4byte gUnknown_8454874 + .4byte gUnknown_8454110 + + .byte DECOR_BREAKABLE_DOOR + .string "BREAKABLE DOOR$", 16 + .byte 0x01, 0x05, 0x03 + .2byte 3000, 0 + .4byte gUnknown_84548A1 + .4byte gUnknown_8454112 + + .byte DECOR_SAND_ORNAMENT + .string "SAND ORNAMENT$", 16 + .byte 0x02, 0x05, 0x03 + .2byte 3000, 0 + .4byte gUnknown_84548D2 + .4byte gUnknown_8454116 + + .byte DECOR_SILVER_SHIELD + .string "SILVER SHIELD$", 16 + .byte 0x02, 0x05, 0x03 + .2byte 0, 0 + .4byte gUnknown_8454901 + .4byte gUnknown_845411A + + .byte DECOR_GOLD_SHIELD + .string "GOLD SHIELD$", 16 + .byte 0x02, 0x05, 0x03 + .2byte 0, 0 + .4byte gUnknown_8454933 + .4byte gUnknown_845411E + + .byte DECOR_GLASS_ORNAMENT + .string "GLASS ORNAMENT$", 16 + .byte 0x02, 0x05, 0x03 + .2byte 0, 0 + .4byte gUnknown_8454966 + .4byte gUnknown_8454122 + + .byte DECOR_TV + .string "TV$", 16 + .byte 0x00, 0x00, 0x03 + .2byte 3000, 0 + .4byte gUnknown_845499F + .4byte gUnknown_8454126 + + .byte DECOR_ROUND_TV + .string "ROUND TV$", 16 + .byte 0x00, 0x00, 0x03 + .2byte 4000, 0 + .4byte gUnknown_84549BE + .4byte gUnknown_8454128 + + .byte DECOR_CUTE_TV + .string "CUTE TV$", 16 + .byte 0x00, 0x00, 0x03 + .2byte 4000, 0 + .4byte gUnknown_84549E9 + .4byte gUnknown_845412A + + .byte DECOR_GLITTER_MAT + .string "GLITTER MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 2000, 0 + .4byte gUnknown_8454A14 + .4byte gUnknown_845412C + + .byte DECOR_JUMP_MAT + .string "JUMP MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 2000, 0 + .4byte gUnknown_8454A3C + .4byte gUnknown_845412E + + .byte DECOR_SPIN_MAT + .string "SPIN MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 2000, 0 + .4byte gUnknown_8454A6A + .4byte gUnknown_8454130 + + .byte DECOR_C_LOW_NOTE_MAT + .string "C Low NOTE MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 500, 0 + .4byte gUnknown_8454A99 + .4byte gUnknown_8454132 + + .byte DECOR_D_NOTE_MAT + .string "D NOTE MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 500, 0 + .4byte gUnknown_8454AC8 + .4byte gUnknown_8454134 + + .byte DECOR_E_NOTE_MAT + .string "E NOTE MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 500, 0 + .4byte gUnknown_8454AF3 + .4byte gUnknown_8454136 + + .byte DECOR_F_NOTE_MAT + .string "F NOTE MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 500, 0 + .4byte gUnknown_8454B1F + .4byte gUnknown_8454138 + + .byte DECOR_G_NOTE_MAT + .string "G NOTE MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 500, 0 + .4byte gUnknown_8454B4B + .4byte gUnknown_845413A + + .byte DECOR_A_NOTE_MAT + .string "A NOTE MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 500, 0 + .4byte gUnknown_8454B76 + .4byte gUnknown_845413C + + .byte DECOR_B_NOTE_MAT + .string "B NOTE MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 500, 0 + .4byte gUnknown_8454BA2 + .4byte gUnknown_845413E + + .byte DECOR_C_HIGH_NOTE_MAT + .string "C High NOTE MAT$", 16 + .byte 0x01, 0x00, 0x04 + .2byte 500, 0 + .4byte gUnknown_8454BCD + .4byte gUnknown_8454140 + + .byte DECOR_SURF_MAT + .string "SURF MAT$", 16 + .byte 0x01, 0x08, 0x04 + .2byte 4000, 0 + .4byte gUnknown_8454BFD + .4byte gUnknown_8454142 + + .byte DECOR_THUNDER_MAT + .string "THUNDER MAT$", 16 + .byte 0x01, 0x08, 0x04 + .2byte 4000, 0 + .4byte gUnknown_8454C31 + .4byte gUnknown_8454154 + + .byte DECOR_FIRE_BLAST_MAT + .string "FIRE BLAST MAT$", 16 + .byte 0x01, 0x08, 0x04 + .2byte 4000, 0 + .4byte gUnknown_8454C68 + .4byte gUnknown_8454166 + + .byte DECOR_POWDER_SNOW_MAT + .string "POWDER SNOW MAT$", 16 + .byte 0x01, 0x08, 0x04 + .2byte 4000, 0 + .4byte gUnknown_8454CA2 + .4byte gUnknown_8454178 + + .byte DECOR_ATTRACT_MAT + .string "ATTRACT MAT$", 16 + .byte 0x01, 0x08, 0x04 + .2byte 4000, 0 + .4byte gUnknown_8454CDB + .4byte gUnknown_845418A + + .byte DECOR_FISSURE_MAT + .string "FISSURE MAT$", 16 + .byte 0x01, 0x08, 0x04 + .2byte 4000, 0 + .4byte gUnknown_8454D13 + .4byte gUnknown_845419C + + .byte DECOR_SPIKES_MAT + .string "SPIKES MAT$", 16 + .byte 0x01, 0x08, 0x04 + .2byte 4000, 0 + .4byte gUnknown_8454D4A + .4byte gUnknown_84541AE + + .byte DECOR_BALL_POSTER + .string "BALL POSTER$", 16 + .byte 0x03, 0x00, 0x05 + .2byte 1000, 0 + .4byte gUnknown_8454D80 + .4byte gUnknown_84541C0 + + .byte DECOR_GREEN_POSTER + .string "GREEN POSTER$", 16 + .byte 0x03, 0x00, 0x05 + .2byte 1000, 0 + .4byte gUnknown_8454DA8 + .4byte gUnknown_84541C2 + + .byte DECOR_RED_POSTER + .string "RED POSTER$", 16 + .byte 0x03, 0x00, 0x05 + .2byte 1000, 0 + .4byte gUnknown_8454DCD + .4byte gUnknown_84541C4 + + .byte DECOR_BLUE_POSTER + .string "BLUE POSTER$", 16 + .byte 0x03, 0x00, 0x05 + .2byte 1000, 0 + .4byte gUnknown_8454DF2 + .4byte gUnknown_84541C6 + + .byte DECOR_CUTE_POSTER + .string "CUTE POSTER$", 16 + .byte 0x03, 0x00, 0x05 + .2byte 1000, 0 + .4byte gUnknown_8454E16 + .4byte gUnknown_84541C8 + + .byte DECOR_PIKA_POSTER + .string "PIKA POSTER$", 16 + .byte 0x03, 0x01, 0x05 + .2byte 1500, 0 + .4byte gUnknown_8454E3C + .4byte gUnknown_84541CA + + .byte DECOR_LONG_POSTER + .string "LONG POSTER$", 16 + .byte 0x03, 0x01, 0x05 + .2byte 1500, 0 + .4byte gUnknown_8454E6B + .4byte gUnknown_84541CE + + .byte DECOR_SEA_POSTER + .string "SEA POSTER$", 16 + .byte 0x03, 0x01, 0x05 + .2byte 1500, 0 + .4byte gUnknown_8454E90 + .4byte gUnknown_84541D2 + + .byte DECOR_SKY_POSTER + .string "SKY POSTER$", 16 + .byte 0x03, 0x01, 0x05 + .2byte 1500, 0 + .4byte gUnknown_8454EB7 + .4byte gUnknown_84541D6 + + .byte DECOR_KISS_POSTER + .string "KISS POSTER$", 16 + .byte 0x03, 0x01, 0x05 + .2byte 1500, 0 + .4byte gUnknown_8454EDC + .4byte gUnknown_84541DA + + .byte DECOR_PICHU_DOLL + .string "PICHU DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8454F02 + .4byte gUnknown_84541DE + + .byte DECOR_PIKACHU_DOLL + .string "PIKACHU DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8454F2D + .4byte gUnknown_84541E0 + + .byte DECOR_MARILL_DOLL + .string "MARILL DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8454F5A + .4byte gUnknown_84541E2 + + .byte DECOR_TOGEPI_DOLL + .string "TOGEPI DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8454F86 + .4byte gUnknown_84541E4 + + .byte DECOR_CYNDAQUIL_DOLL + .string "CYNDAQUIL DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8454FB2 + .4byte gUnknown_84541E6 + + .byte DECOR_CHIKORITA_DOLL + .string "CHIKORITA DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8454FE1 + .4byte gUnknown_84541E8 + + .byte DECOR_TOTODILE_DOLL + .string "TOTODILE DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8455010 + .4byte gUnknown_84541EA + + .byte DECOR_JIGGLYPUFF_DOLL + .string "JIGGLYPUFF DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_845503E + .4byte gUnknown_84541EC + + .byte DECOR_MEOWTH_DOLL + .string "MEOWTH DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_845506E + .4byte gUnknown_84541EE + + .byte DECOR_CLEFAIRY_DOLL + .string "CLEFAIRY DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_845509A + .4byte gUnknown_84541F0 + + .byte DECOR_DITTO_DOLL + .string "DITTO DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_84550C8 + .4byte gUnknown_84541F2 + + .byte DECOR_SMOOCHUM_DOLL + .string "SMOOCHUM DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_84550F3 + .4byte gUnknown_84541F4 + + .byte DECOR_TREECKO_DOLL + .string "TREECKO DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8455121 + .4byte gUnknown_84541F6 + + .byte DECOR_TORCHIC_DOLL + .string "TORCHIC DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_845514E + .4byte gUnknown_84541F8 + + .byte DECOR_MUDKIP_DOLL + .string "MUDKIP DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_845517B + .4byte gUnknown_84541FA + + .byte DECOR_DUSKULL_DOLL + .string "DUSKULL DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_84551A7 + .4byte gUnknown_84541FC + + .byte DECOR_WYNAUT_DOLL + .string "WYNAUT DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_84551D4 + .4byte gUnknown_84541FE + + .byte DECOR_BALTOY_DOLL + .string "BALTOY DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8455200 + .4byte gUnknown_8454200 + + .byte DECOR_KECLEON_DOLL + .string "KECLEON DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_845522C + .4byte gUnknown_8454202 + + .byte DECOR_AZURILL_DOLL + .string "AZURILL DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8455259 + .4byte gUnknown_8454204 + + .byte DECOR_SKITTY_DOLL + .string "SKITTY DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8455287 + .4byte gUnknown_8454206 + + .byte DECOR_SWABLU_DOLL + .string "SWABLU DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_84552B3 + .4byte gUnknown_8454208 + + .byte DECOR_GULPIN_DOLL + .string "GULPIN DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_84552DF + .4byte gUnknown_845420A + + .byte DECOR_LOTAD_DOLL + .string "LOTAD DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_845530B + .4byte gUnknown_845420C + + .byte DECOR_SEEDOT_DOLL + .string "SEEDOT DOLL$", 16 + .byte 0x04, 0x00, 0x06 + .2byte 3000, 0 + .4byte gUnknown_8455336 + .4byte gUnknown_845420E + + .byte DECOR_PIKA_CUSHION + .string "PIKA CUSHION$", 16 + .byte 0x04, 0x00, 0x07 + .2byte 2000, 0 + .4byte gUnknown_8455362 + .4byte gUnknown_8454210 + + .byte DECOR_ROUND_CUSHION + .string "ROUND CUSHION$", 16 + .byte 0x04, 0x00, 0x07 + .2byte 2000, 0 + .4byte gUnknown_8455392 + .4byte gUnknown_8454212 + + .byte DECOR_KISS_CUSHION + .string "KISS CUSHION$", 16 + .byte 0x04, 0x00, 0x07 + .2byte 2000, 0 + .4byte gUnknown_84553C1 + .4byte gUnknown_8454214 + + .byte DECOR_ZIGZAG_CUSHION + .string "ZIGZAG CUSHION$", 16 + .byte 0x04, 0x00, 0x07 + .2byte 2000, 0 + .4byte gUnknown_84553F2 + .4byte gUnknown_8454216 + + .byte DECOR_SPIN_CUSHION + .string "SPIN CUSHION$", 16 + .byte 0x04, 0x00, 0x07 + .2byte 2000, 0 + .4byte gUnknown_8455424 + .4byte gUnknown_8454218 + + .byte DECOR_DIAMOND_CUSHION + .string "DIAMOND CUSHION$", 16 + .byte 0x04, 0x00, 0x07 + .2byte 2000, 0 + .4byte gUnknown_8455453 + .4byte gUnknown_845421A + + .byte DECOR_BALL_CUSHION + .string "BALL CUSHION$", 16 + .byte 0x04, 0x00, 0x07 + .2byte 2000, 0 + .4byte gUnknown_8455483 + .4byte gUnknown_845421C + + .byte DECOR_GRASS_CUSHION + .string "GRASS CUSHION$", 16 + .byte 0x04, 0x00, 0x07 + .2byte 2000, 0 + .4byte gUnknown_84554B0 + .4byte gUnknown_845421E + + .byte DECOR_FIRE_CUSHION + .string "FIRE CUSHION$", 16 + .byte 0x04, 0x00, 0x07 + .2byte 2000, 0 + .4byte gUnknown_84554E3 + .4byte gUnknown_8454220 + + .byte DECOR_WATER_CUSHION + .string "WATER CUSHION$", 16 + .byte 0x04, 0x00, 0x07 + .2byte 2000, 0 + .4byte gUnknown_8455515 + .4byte gUnknown_8454222 + + .byte DECOR_SNORLAX_DOLL + .string "SNORLAX DOLL$", 16 + .byte 0x04, 0x05, 0x06 + .2byte 10000, 0 + .4byte gUnknown_8455548 + .4byte gUnknown_8454224 + + .byte DECOR_RHYDON_DOLL + .string "RHYDON DOLL$", 16 + .byte 0x04, 0x05, 0x06 + .2byte 10000, 0 + .4byte gUnknown_8455573 + .4byte gUnknown_8454226 + + .byte DECOR_LAPRAS_DOLL + .string "LAPRAS DOLL$", 16 + .byte 0x04, 0x05, 0x06 + .2byte 10000, 0 + .4byte gUnknown_845559E + .4byte gUnknown_8454228 + + .byte DECOR_VENUSAUR_DOLL + .string "VENUSAUR DOLL$", 16 + .byte 0x04, 0x05, 0x06 + .2byte 10000, 0 + .4byte gUnknown_84555C9 + .4byte gUnknown_845422A + + .byte DECOR_CHARIZARD_DOLL + .string "CHARIZARD DOLL$", 16 + .byte 0x04, 0x05, 0x06 + .2byte 10000, 0 + .4byte gUnknown_84555F4 + .4byte gUnknown_845422C + + .byte DECOR_BLASTOISE_DOLL + .string "BLASTOISE DOLL$", 16 + .byte 0x04, 0x05, 0x06 + .2byte 10000, 0 + .4byte gUnknown_845561F + .4byte gUnknown_845422E + + .byte DECOR_WAILMER_DOLL + .string "WAILMER DOLL$", 16 + .byte 0x04, 0x05, 0x06 + .2byte 10000, 0 + .4byte gUnknown_845564A + .4byte gUnknown_8454230 + + .byte DECOR_REGIROCK_DOLL + .string "REGIROCK DOLL$", 16 + .byte 0x04, 0x05, 0x06 + .2byte 10000, 0 + .4byte gUnknown_8455675 + .4byte gUnknown_8454232 + + .byte DECOR_REGICE_DOLL + .string "REGICE DOLL$", 16 + .byte 0x04, 0x05, 0x06 + .2byte 10000, 0 + .4byte gUnknown_84556A0 + .4byte gUnknown_8454234 + + .byte DECOR_REGISTEEL_DOLL + .string "REGISTEEL DOLL$", 16 + .byte 0x04, 0x05, 0x06 + .2byte 10000, 0 + .4byte gUnknown_84556CB + .4byte gUnknown_8454236 diff --git a/data/text/decoration_descriptions.inc b/data/text/decoration_descriptions.inc new file mode 100644 index 000000000..358070cb1 --- /dev/null +++ b/data/text/decoration_descriptions.inc @@ -0,0 +1,573 @@ +gUnknown_8454238:: @ 8454238 + .string "A small desk built\n" + .string "for one.$" + +gUnknown_8454254:: @ 8454254 + .string "A small desk built in\n" + .string "the shape of a POKé\n" + .string "BALL.$" + +gUnknown_8454284:: @ 8454284 + .string "A large desk made\n" + .string "of steel. Put some\n" + .string "decorations on it.$" + +gUnknown_84542BC:: @ 84542BC + .string "A large desk made\n" + .string "of wood. Put some\n" + .string "decorations on it.$" + +gUnknown_84542F3:: @ 84542F3 + .string "A large desk made\n" + .string "of leaves. Put some\n" + .string "decorations on it.$" + +gUnknown_845432C:: @ 845432C + .string "A huge desk made\n" + .string "of glass. Holds lots\n" + .string "of decorations.$" + +gUnknown_8454362:: @ 8454362 + .string "A huge desk made\n" + .string "of brick. Holds lots\n" + .string "of decorations.$" + +gUnknown_8454398:: @ 8454398 + .string "A huge desk made\n" + .string "of logs. Put lots of\n" + .string "decorations on it.$" + +gUnknown_84543D1:: @ 84543D1 + .string "A huge desk made\n" + .string "of rocks. Holds\n" + .string "many decorations.$" + +gUnknown_8454404:: @ 8454404 + .string "A small chair made\n" + .string "for one.$" + +gUnknown_8454420:: @ 8454420 + .string "A small chair built\n" + .string "in the shape of a\n" + .string "POKé BALL.$" + +gUnknown_8454451:: @ 8454451 + .string "A small chair made\n" + .string "of steel.$" + +gUnknown_845446E:: @ 845446E + .string "A small chair made\n" + .string "of glass.$" + +gUnknown_845448B:: @ 845448B + .string "A small chair made\n" + .string "of leaves.$" + +gUnknown_84544A9:: @ 84544A9 + .string "A small chair made\n" + .string "of wood.$" + +gUnknown_84544C5:: @ 84544C5 + .string "A small chair made\n" + .string "of brick.$" + +gUnknown_84544E2:: @ 84544E2 + .string "A small chair made\n" + .string "of logs.$" + +gUnknown_84544FE:: @ 84544FE + .string "A small chair made\n" + .string "of rock.$" + +gUnknown_845451A:: @ 845451A + .string "A vivid red potted\n" + .string "plant.$" + +gUnknown_8454534:: @ 8454534 + .string "A flowering tropical\n" + .string "plant in a pot.$" + +gUnknown_8454559:: @ 8454559 + .string "A pot of cute\n" + .string "flowers.$" + +gUnknown_8454570:: @ 8454570 + .string "A large pot with\n" + .string "many colorful\n" + .string "flowers.$" + +gUnknown_8454598:: @ 8454598 + .string "A large, umbrella-\n" + .string "shaped plant in a\n" + .string "big pot.$" + +gUnknown_84545C6:: @ 84545C6 + .string "A large, impressive\n" + .string "plant in a big pot.$" + +gUnknown_84545EE:: @ 84545EE + .string "A red-colored brick.\n" + .string "Decorations can be\n" + .string "placed on top.$" + +gUnknown_8454625:: @ 8454625 + .string "A yellow-colored\n" + .string "brick. Put some\n" + .string "decorations on top.$" + +gUnknown_845465A:: @ 845465A + .string "A blue-colored\n" + .string "brick. Put some\n" + .string "decorations on top.$" + +gUnknown_845468D:: @ 845468D + .string "A red balloon filled\n" + .string "with water. Bursts\n" + .string "if stepped on.$" + +gUnknown_84546C4:: @ 84546C4 + .string "A blue balloon filled\n" + .string "with water. Bursts\n" + .string "if stepped on.$" + +gUnknown_84546FC:: @ 84546FC + .string "A yellow balloon\n" + .string "filled with water.\n" + .string "Pops if stepped on.$" + +gUnknown_8454734:: @ 8454734 + .string "A large red tent.\n" + .string "You can hide inside\n" + .string "it.$" + +gUnknown_845475E:: @ 845475E + .string "A large blue tent.\n" + .string "You can hide inside\n" + .string "it.$" + +gUnknown_8454789:: @ 8454789 + .string "Place over a hole to\n" + .string "cross to the other\n" + .string "side.$" + +gUnknown_84547B7:: @ 84547B7 + .string "Use to slide down\n" + .string "from the platform.$" + +gUnknown_84547DC:: @ 84547DC + .string "A small fence that\n" + .string "blocks passage.$" + +gUnknown_84547FF:: @ 84547FF + .string "A small fence that\n" + .string "blocks passage.$" + +gUnknown_8454822:: @ 8454822 + .string "An old large tire.\n" + .string "Decorations can be\n" + .string "placed on top.$" + +gUnknown_8454857:: @ 8454857 + .string "A large pedestal\n" + .string "with steps.$" + +gUnknown_8454874:: @ 8454874 + .string "A large ball of mud.\n" + .string "Crumbles if stepped\n" + .string "on.$" + +gUnknown_84548A1:: @ 84548A1 + .string "A weird door that\n" + .string "people can walk\n" + .string "right through.$" + +gUnknown_84548D2:: @ 84548D2 + .string "An ornament made\n" + .string "of sand. Crumbles if\n" + .string "touched.$" + +gUnknown_8454901:: @ 8454901 + .string "Awarded for 50\n" + .string "straight wins at\n" + .string "the BATTLE TOWER.$" + +gUnknown_8454933:: @ 8454933 + .string "Awarded for 100\n" + .string "straight wins at\n" + .string "the BATTLE TOWER.$" + +gUnknown_8454966:: @ 8454966 + .string "A glass replica of\n" + .string "a famous sculpture\n" + .string "at the ART MUSEUM.$" + +gUnknown_845499F:: @ 845499F + .string "A small, gray-\n" + .string "colored toy TV.$" + +gUnknown_84549BE:: @ 84549BE + .string "A toy TV modeled\n" + .string "in the image of a\n" + .string "SEEDOT.$" + +gUnknown_84549E9:: @ 84549E9 + .string "A toy TV modeled\n" + .string "in the image of a\n" + .string "SKITTY.$" + +gUnknown_8454A14:: @ 8454A14 + .string "An odd mat that\n" + .string "glitters if stepped\n" + .string "on.$" + +gUnknown_8454A3C:: @ 8454A3C + .string "A trick mat that\n" + .string "jumps when it is\n" + .string "stepped on.$" + +gUnknown_8454A6A:: @ 8454A6A + .string "A trick mat that\n" + .string "spins around when\n" + .string "stepped on.$" + +gUnknown_8454A99:: @ 8454A99 + .string "A mat that plays\n" + .string "a low C note when\n" + .string "stepped on.$" + +gUnknown_8454AC8:: @ 8454AC8 + .string "A mat that plays\n" + .string "a D note when\n" + .string "stepped on.$" + +gUnknown_8454AF3:: @ 8454AF3 + .string "A mat that plays\n" + .string "an E note when\n" + .string "stepped on.$" + +gUnknown_8454B1F:: @ 8454B1F + .string "A mat that plays\n" + .string "an F note when\n" + .string "stepped on.$" + +gUnknown_8454B4B:: @ 8454B4B + .string "A mat that plays\n" + .string "a G note when\n" + .string "stepped on.$" + +gUnknown_8454B76:: @ 8454B76 + .string "A mat that plays\n" + .string "an A note when\n" + .string "stepped on.$" + +gUnknown_8454BA2:: @ 8454BA2 + .string "A mat that plays\n" + .string "a B note when\n" + .string "stepped on.$" + +gUnknown_8454BCD:: @ 8454BCD + .string "A mat that plays\n" + .string "a high C note when\n" + .string "stepped on.$" + +gUnknown_8454BFD:: @ 8454BFD + .string "A mat designed with\n" + .string "a SURF image.\n" + .string "Put items on top.$" + +gUnknown_8454C31:: @ 8454C31 + .string "A mat designed with\n" + .string "a THUNDER image.\n" + .string "Put items on top.$" + +gUnknown_8454C68:: @ 8454C68 + .string "A mat designed with\n" + .string "a FIRE BLAST image.\n" + .string "Put items on top.$" + +gUnknown_8454CA2:: @ 8454CA2 + .string "A mat with a POWDER\n" + .string "SNOW image design.\n" + .string "Put items on top.$" + +gUnknown_8454CDB:: @ 8454CDB + .string "A mat designed with\n" + .string "an ATTRACT image.\n" + .string "Put items on top.$" + +gUnknown_8454D13:: @ 8454D13 + .string "A mat designed with\n" + .string "a FISSURE image.\n" + .string "Put items on top.$" + +gUnknown_8454D4A:: @ 8454D4A + .string "A mat designed with\n" + .string "a SPIKES image.\n" + .string "Put items on top.$" + +gUnknown_8454D80:: @ 8454D80 + .string "A small poster\n" + .string "printed with POKé\n" + .string "BALLS.$" + +gUnknown_8454DA8:: @ 8454DA8 + .string "A small poster with\n" + .string "a TREECKO print.$" + +gUnknown_8454DCD:: @ 8454DCD + .string "A small poster with\n" + .string "a TORCHIC print.$" + +gUnknown_8454DF2:: @ 8454DF2 + .string "A small poster with\n" + .string "a MUDKIP print.$" + +gUnknown_8454E16:: @ 8454E16 + .string "A small poster with\n" + .string "an AZURILL print.$" + +gUnknown_8454E3C:: @ 8454E3C + .string "A large poster with\n" + .string "a PIKACHU and\n" + .string "PICHU print.$" + +gUnknown_8454E6B:: @ 8454E6B + .string "A large poster with\n" + .string "a SEVIPER print.$" + +gUnknown_8454E90:: @ 8454E90 + .string "A large poster with\n" + .string "a RELICANTH print.$" + +gUnknown_8454EB7:: @ 8454EB7 + .string "A large poster with\n" + .string "a WINGULL print.$" + +gUnknown_8454EDC:: @ 8454EDC + .string "A large poster with\n" + .string "a SMOOCHUM print.$" + +gUnknown_8454F02:: @ 8454F02 + .string "A PICHU doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8454F2D:: @ 8454F2D + .string "A PIKACHU doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8454F5A:: @ 8454F5A + .string "A MARILL doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8454F86:: @ 8454F86 + .string "A TOGEPI doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8454FB2:: @ 8454FB2 + .string "A CYNDAQUIL doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8454FE1:: @ 8454FE1 + .string "A CHIKORITA doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455010:: @ 8455010 + .string "A TOTODILE doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_845503E:: @ 845503E + .string "A JIGGLYPUFF doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_845506E:: @ 845506E + .string "A MEOWTH doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_845509A:: @ 845509A + .string "A CLEFAIRY doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84550C8:: @ 84550C8 + .string "A DITTO doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84550F3:: @ 84550F3 + .string "A SMOOCHUM doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455121:: @ 8455121 + .string "A TREECKO doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_845514E:: @ 845514E + .string "A TORCHIC doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_845517B:: @ 845517B + .string "A MUDKIP doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84551A7:: @ 84551A7 + .string "A DUSKULL doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84551D4:: @ 84551D4 + .string "A WYNAUT doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455200:: @ 8455200 + .string "A BALTOY doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_845522C:: @ 845522C + .string "A KECLEON doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455259:: @ 8455259 + .string "An AZURILL doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455287:: @ 8455287 + .string "A SKITTY doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84552B3:: @ 84552B3 + .string "A SWABLU doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84552DF:: @ 84552DF + .string "A GULPIN doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_845530B:: @ 845530B + .string "A LOTAD doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455336:: @ 8455336 + .string "A SEEDOT doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455362:: @ 8455362 + .string "A PIKACHU cushion.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455392:: @ 8455392 + .string "A MARILL cushion.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84553C1:: @ 84553C1 + .string "A SMOOCHUM\n" + .string "cushion. Place it on\n" + .string "a mat or a desk.$" + +gUnknown_84553F2:: @ 84553F2 + .string "A ZIGZAGOON\n" + .string "cushion. Place it on\n" + .string "a mat or a desk.$" + +gUnknown_8455424:: @ 8455424 + .string "A SPINDA cushion.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455453:: @ 8455453 + .string "A SABLEYE cushion.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455483:: @ 8455483 + .string "A BALL cushion.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84554B0:: @ 84554B0 + .string "A grass-mark\n" + .string "cushion. Place it on\n" + .string "a mat or a desk.$" + +gUnknown_84554E3:: @ 84554E3 + .string "A fire-mark\n" + .string "cushion. Place it on\n" + .string "a mat or a desk.$" + +gUnknown_8455515:: @ 8455515 + .string "A water-mark\n" + .string "cushion. Place it on\n" + .string "a mat or a desk.$" + +gUnknown_8455548:: @ 8455548 + .string "A large doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455573:: @ 8455573 + .string "A large doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_845559E:: @ 845559E + .string "A large doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84555C9:: @ 84555C9 + .string "A large doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84555F4:: @ 84555F4 + .string "A large doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_845561F:: @ 845561F + .string "A large doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_845564A:: @ 845564A + .string "A large doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_8455675:: @ 8455675 + .string "A large doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84556A0:: @ 84556A0 + .string "A large doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" + +gUnknown_84556CB:: @ 84556CB + .string "A large doll.\n" + .string "Place it on a mat\n" + .string "or a desk.$" diff --git a/include/global.h b/include/global.h index 9a398354d..55233a340 100644 --- a/include/global.h +++ b/include/global.h @@ -498,7 +498,8 @@ typedef union QuestLogScene QuestLogScene; #define BERRY_TREES_COUNT 128 #define FLAGS_COUNT 288 // 300 #define VARS_COUNT 256 -#define MAIL_COUNT 16 +#define MAIL_COUNT (PARTY_SIZE + 10) +#define PC_MAIL_NUM(i) (PARTY_SIZE + (i)) // Declare here so that it can be recursively referenced. union QuestLogMovement; diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 7b83c913b..a7555c505 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -30,7 +30,7 @@ void sub_80F6E9C(void); void DrawDialogueFrame(u8 windowId, bool8 transfer); void DrawStdWindowFrame(u8 windowId, bool8 copyNow); void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram); -void ClearStdWindowAndFrame(u8 taskId, bool8 copyNow); +void ClearStdWindowAndFrame(u8 windowId, bool8 copyNow); void sub_80F6C14(void); void sub_80F771C(bool8 copyToVram); void SetStdWindowBorderStyle(u8 windowId, bool8 copyToVram); diff --git a/include/player_pc.h b/include/player_pc.h index e14e5e9da..f527ec9f5 100644 --- a/include/player_pc.h +++ b/include/player_pc.h @@ -2,9 +2,20 @@ #define GUARD_PLAYER_PC_H #include "global.h" +#include "list_menu.h" // Exported type declarations +struct PlayerPC_Unk_203AAC4 +{ + u16 selectedRow; + u16 scrollOffset; + u8 unk_4; + u8 unk_5; + u8 filler_6[4]; + u8 unk_A; +}; + // Exported RAM declarations // Exported ROM declarations diff --git a/ld_script.txt b/ld_script.txt index 49531d76a..a65474cd5 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -232,7 +232,7 @@ SECTIONS { src/trainer_pokemon_sprites.o(.text); src/vs_seeker.o(.text); src/item_pc.o(.text); - asm/mailbox_pc.o(.text); + src/mailbox_pc.o(.text); src/menu.o(.text); src/quest_log.o(.text); asm/link_rfu_3.o(.text); @@ -451,7 +451,8 @@ SECTIONS { src/trainer_pokemon_sprites.o(.rodata); src/vs_seeker.o(.rodata); src/item_pc.o(.rodata); - data/data_83FECCC.o(.rodata.8453F6C); + src/mailbox_pc.o(.rodata); + data/decorations.o(.rodata); src/menu.o(.rodata); src/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); diff --git a/src/mailbox_pc.c b/src/mailbox_pc.c new file mode 100644 index 000000000..3c72b9b5a --- /dev/null +++ b/src/mailbox_pc.c @@ -0,0 +1,143 @@ +#include "global.h" +#include "malloc.h" +#include "window.h" +#include "menu.h" +#include "string_util.h" +#include "new_menu_helpers.h" +#include "list_menu.h" +#include "player_pc.h" +#include "strings.h" +#include "menu_indicators.h" +#include "sound.h" +#include "constants/songs.h" + +EWRAM_DATA u8 gUnknown_203ADDC[3] = {}; +EWRAM_DATA struct ListMenuItem * gUnknown_203ADE0 = NULL; + +void sub_810ED6C(s32 itemIndex, bool8 onInit, struct ListMenu * list); + +static const struct WindowTemplate gUnknown_8453FE8[] = { + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 10, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x008 + }, { + .bg = 0, + .tilemapLeft = 19, + .tilemapTop = 1, + .width = 10, + .height = 18, + .paletteNum = 15, + .baseBlock = 0x01c + }, { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 15, + .height = 8, + .paletteNum = 15, + .baseBlock = 0x01c + } +}; + +static const u8 gUnknown_8454000[3] = {1, 2, 3}; +static const u8 gUnknown_8454003[] = _(""); + +bool8 sub_810EB6C(u8 num) +{ + u8 i; + + gUnknown_203ADE0 = Alloc(sizeof(struct ListMenuItem) * (num + 1)); + if (gUnknown_203ADE0 == NULL) + return FALSE; + for (i = 0; i < NELEMS(gUnknown_203ADDC); i++) + gUnknown_203ADDC[i] = 0xFF; + return TRUE; +} + +u8 sub_810EBAC(u8 winIdx) +{ + if (gUnknown_203ADDC[winIdx] == 0xFF) + { + gUnknown_203ADDC[winIdx] = AddWindow(&gUnknown_8453FE8[winIdx]); + SetStdWindowBorderStyle(gUnknown_203ADDC[winIdx], 0); + } + return gUnknown_203ADDC[winIdx]; +} + +void sub_810EBE0(u8 winIdx) +{ + ClearStdWindowAndFrameToTransparent(gUnknown_203ADDC[winIdx], FALSE); + ClearWindowTilemap(gUnknown_203ADDC[winIdx]); + RemoveWindow(gUnknown_203ADDC[winIdx]); + gUnknown_203ADDC[winIdx] = 0xFF; +} + +u8 sub_810EC10(u8 winIdx) +{ + return gUnknown_203ADDC[winIdx]; +} + +void sub_810EC20(u8 windowId, s32 itemId, u8 y) +{ + u8 strbuf[30]; + if (itemId != -2) + { + StringCopy(strbuf, gSaveBlock1Ptr->mail[itemId + PARTY_SIZE].playerName); + if (StringLength(strbuf) <= 5) + ConvertInternationalString(strbuf, LANGUAGE_JAPANESE); + AddTextPrinterParameterized4(windowId, 2, 8, y, 0, 0, gUnknown_8454000, -1, strbuf); + } +} + +u8 sub_810EC98(struct PlayerPC_Unk_203AAC4 * playerPcStruct) +{ + u16 i; + for (i = 0; i < playerPcStruct->unk_5; i++) + { + gUnknown_203ADE0[i].label = gUnknown_8454003; + gUnknown_203ADE0[i].index = i; + } + gUnknown_203ADE0[i].label = gFameCheckerText_Cancel; + gUnknown_203ADE0[i].index = -2; + + gMultiuseListMenuTemplate.items = gUnknown_203ADE0; + gMultiuseListMenuTemplate.totalItems = playerPcStruct->unk_5 + 1; + gMultiuseListMenuTemplate.windowId = gUnknown_203ADDC[1]; + gMultiuseListMenuTemplate.header_X = 0; + gMultiuseListMenuTemplate.item_X = GetMenuCursorDimensionByFont(2, 0); + gMultiuseListMenuTemplate.cursor_X = 0; + gMultiuseListMenuTemplate.lettersSpacing = 0; + gMultiuseListMenuTemplate.itemVerticalPadding = 2; + gMultiuseListMenuTemplate.maxShowed = 8; + gMultiuseListMenuTemplate.fontId = 2; + gMultiuseListMenuTemplate.upText_Y = 10; + gMultiuseListMenuTemplate.cursorPal = 2; + gMultiuseListMenuTemplate.fillValue = 1; + gMultiuseListMenuTemplate.cursorShadowPal = 3; + gMultiuseListMenuTemplate.moveCursorFunc = sub_810ED6C; + gMultiuseListMenuTemplate.itemPrintFunc = sub_810EC20; + gMultiuseListMenuTemplate.cursorKind = 0; + gMultiuseListMenuTemplate.scrollMultiple = 0; + return ListMenuInit(&gMultiuseListMenuTemplate, playerPcStruct->scrollOffset, playerPcStruct->selectedRow); +} + +void sub_810ED6C(s32 itemIndex, bool8 onInit, struct ListMenu * list) +{ + if (onInit != TRUE) + PlaySE(SE_SELECT); +} + +void sub_810ED80(struct PlayerPC_Unk_203AAC4 * playerPcStruct) +{ + playerPcStruct->unk_A = AddScrollIndicatorArrowPairParameterized(2, 0xC2, 0xC, 0x94, playerPcStruct->unk_5 - playerPcStruct->unk_4 + 1, 110, 110, &playerPcStruct->scrollOffset); +} + +void sub_810EDB0(void) +{ + Free(gUnknown_203ADE0); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 9acd767d0..feeb0e404 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1169,15 +1169,15 @@ gSpecialVar_ItemId: @ 203AD30 .include "src/item_pc.o" .align 2 -gUnknown_203ADDC: @ 203ADDC - .space 0x4 - -gUnknown_203ADE0: @ 203ADE0 - .space 0x4 + .include "src/mailbox_pc.o" + .align 2 .include "src/menu.o" + + .align 2 .include "src/quest_log.o" + .align 2 gUnknown_203B04C: @ 203B04C .space 0xC |