diff options
| -rwxr-xr-x | data/union_room_chat.s | 169 | ||||
| -rw-r--r-- | include/global.h | 13 | ||||
| -rw-r--r-- | include/graphics.h | 1 | ||||
| -rw-r--r-- | include/strings.h | 16 | ||||
| -rwxr-xr-x | src/union_room_chat.c | 240 | 
5 files changed, 238 insertions, 201 deletions
| diff --git a/data/union_room_chat.s b/data/union_room_chat.s index 143678cd4..4f6b976b5 100755 --- a/data/union_room_chat.s +++ b/data/union_room_chat.s @@ -4,175 +4,6 @@  	.section .rodata  	.align 2 -gUnknown_082F2AA8:: @ 82F2AA8 -	.byte 0x00, 0x16, 0x17, 0x68, 0x19, 0x1a, 0x1b, 0x1c -	.byte 0x1d, 0x1e, 0x00, 0x20, 0x21, 0x22, 0x23, 0x24 -	.byte 0x25, 0x26, 0x27, 0x28, 0x29, 0x15, 0x01, 0x02 -	.byte 0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00 -	.byte 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12 -	.byte 0x13, 0x14, 0x2a, 0x2b, 0x2c, 0x2d, 0x00, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x36, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -	.byte 0x00, 0x00, 0x00, 0x53, 0x54, 0x55, 0x56, 0x00 -	.byte 0x00, 0x00, 0x6f, 0x5b, 0x5c, 0x5d, 0x00, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -	.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x84, 0x85, 0x86, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -	.byte 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7 -	.byte 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf -	.byte 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7 -	.byte 0xb8, 0xb9, 0xba, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9 -	.byte 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1 -	.byte 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9 -	.byte 0xea, 0xeb, 0xec, 0xed, 0xee, 0xbb, 0xbc, 0xbd -	.byte 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5 -	.byte 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd -	.byte 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xef -	.byte 0xf0, 0xf4, 0xf5, 0xf6, 0xf1, 0xf2, 0xf3, 0x00 -	.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -	.align 2 -gUnknown_082F2BA8:: @ 82F2BA8 -	.4byte gUnknown_0862B9F9, gUnknown_0862B9FF, gUnknown_0862BA05, gUnknown_0862BA0B, gUnknown_0862BA11, gUnknown_0862BA17, gUnknown_0862BA1D, gUnknown_0862BA23, gUnknown_0862BA29, gUnknown_0862BA2F -	.4byte gUnknown_0862BA35, gUnknown_0862BA3B, gUnknown_0862BA41, gUnknown_0862BA47, gUnknown_0862BA4D, gUnknown_0862BA53, gUnknown_0862BA59, gUnknown_0862BA5F, gUnknown_0862BA65, gUnknown_0862BA6B -	.4byte gUnknown_0862BA79, gUnknown_0862BA84, gUnknown_0862BA8F, gUnknown_0862BA9A, gUnknown_0862BAA3, gUnknown_0862BAAE, gUnknown_0862BAB9, gUnknown_0862BAC4, gUnknown_0862BACF, gUnknown_0862BADA - -	.align 2 -gUnknown_082F2C20:: @ 82F2C20 -	.incbin "graphics/interface/unk_palette1.gbapal" - -	.align 2 -gUnknown_082F2C40:: @ 82F2C40 -	.incbin "graphics/interface/unk_palette2.gbapal" - -	.align 2 -gUnknown_082F2C60:: @ 82F2C60 struct BgTemplate -	.4byte 0x00000070, 0x000011fd, 0x0000217a, 0x000070f7 - -	.align 2 -gUnknown_082F2C70:: @ 82F2C70 -	window_template 0x03, 0x08, 0x01, 0x15, 0x13, 0x0f, 0x0001 -	window_template 0x01, 0x09, 0x12, 0x0f, 0x02, 0x0c, 0x007a -	window_template 0x01, 0x00, 0x02, 0x06, 0x0f, 0x07, 0x0020 -	window_template 0x00, 0x01, 0x02, 0x07, 0x09, 0x0e, 0x0013 -	null_window_template - -	.align 2 -gUnknown_082F2C98:: @ 82F2C98 -	.4byte 0x00000000, sub_801F658 -	.4byte 0x00000003, sub_801F6F8 -	.4byte 0x00000004, sub_801F730 -	.4byte 0x00000005, sub_801F768 -	.4byte 0x00000001, sub_801F7D4 -	.4byte 0x00000006, sub_801F7E0 -	.4byte 0x00000007, sub_801F82C -	.4byte 0x00000008, sub_801F870 -	.4byte 0x00000009, sub_801F8DC -	.4byte 0x0000000a, sub_801F984 -	.4byte 0x0000000b, sub_801FA2C -	.4byte 0x0000000c, sub_801FA68 -	.4byte 0x00000002, sub_801FB44 -	.4byte 0x0000000d, sub_801FB70 -	.4byte 0x00000012, sub_801FBB4 -	.4byte 0x00000013, sub_801FBF8 -	.4byte 0x0000000e, sub_801FC4C -	.4byte 0x0000000f, sub_801FC9C -	.4byte 0x00000010, sub_801FCEC -	.4byte 0x00000011, sub_801FD30 -	.4byte 0x00000014, sub_801FD88 - -	.align 2 -gUnknown_082F2D40:: @ 82F2D40 -	.4byte gText_QuitChatting -	.byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - -	.4byte gText_RegisterTextWhere -	.byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - -	.4byte gText_RegisterTextHere -	.byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - -	.4byte gText_InputText -	.byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - -	.4byte gText_ExitingChat -	.byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - -	.4byte gText_LeaderLeftEndingChat -	.byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00 - -	.4byte gText_RegisteredTextChanged -	.byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 - -	.4byte gText_AlreadySavedFile_Unused -	.byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 - -	.4byte gText_SavingDontTurnOff_Unused -	.byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 - -	.4byte gText_PlayerSavedGame_Unused -	.byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00 - -	.4byte gText_IfLeaderLeavesChatEnds -	.byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 - -	.align 2 -gText_Ellipsis:: @ 82F2DC4 -	.string "…$" - -	.align 2 -gUnknown_082F2DC8:: @ 82F2DC8 -	.4byte gText_Upper, 0x00000000 -	.4byte gText_Lower, 0x00000000 -	.4byte gText_Symbols, 0x00000000 -	.4byte gText_Register2, 0x00000000 -	.4byte gText_Exit2, 0x00000000 - -	.align 2 -gUnknown_082F2DF0:: @ 82F2DF0 -	.incbin "graphics/interface/unk_palette3.gbapal" - -	.align 2 -gUnknown_082F2E10:: @ 82F2E10 -	.incbin "graphics/interface/unk_cursor.4bpp.lz" - -	.align 2 -gUnknown_082F3094:: @ 82F3094 -	.incbin "graphics/interface/unk_dash.4bpp.lz" - -	.align 2 -gUnknown_082F30B4:: @ 82F30B4 -	.incbin "graphics/interface/unk_cursor_arrow.4bpp.lz" - -	.align 2 -gUnknown_082F30E0:: @ 82F30E0 -	.incbin "graphics/interface/unk_rbutton.4bpp.lz" - -	.align 2 -gUnknown_082F3134:: @ 82F3134 -	.4byte gUnknown_082F2E10 -	.2byte 0x1000, 0x0000 - -	.4byte gUnknown_082F30B4 -	.2byte 0x0040, 0x0001 - -	.4byte gUnknown_082F3094 -	.2byte 0x0040, 0x0002 - -	.4byte gUnknown_082F30E0 -	.2byte 0x0080, 0x0003 - -	.4byte gUnknown_08DD4CF8 -	.2byte 0x0400, 0x0004 - -	.align 2  gUnknown_082F315C:: @ 82F315C struct SpritePalette  	.4byte gUnknown_082F2DF0  	.2byte 0x0000 diff --git a/include/global.h b/include/global.h index 7b570d72e..864a7fa55 100644 --- a/include/global.h +++ b/include/global.h @@ -18,12 +18,13 @@  #if defined (__APPLE__) || defined (__CYGWIN__) || defined (_MSC_VER)  #define _(x) x  #define __(x) x -#define INCBIN_U8 {0} -#define INCBIN_U16 {0} -#define INCBIN_U32 {0} -#define INCBIN_S8 {0} -#define INCBIN_S16 {0} -#define INCBIN_S32 {0} +// CLion is an idiot +#define INCBIN_U8(x) {0} +#define INCBIN_U16(x) {0} +#define INCBIN_U32(x) {0} +#define INCBIN_S8(x) {0} +#define INCBIN_S16(x) {0} +#define INCBIN_S32(x) {0}  #endif // IDE support  #define ARRAY_COUNT(array) (size_t)(sizeof(array) / sizeof((array)[0])) diff --git a/include/graphics.h b/include/graphics.h index 2584e713e..30ca2af82 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4921,6 +4921,7 @@ extern const u16 gUnknown_08DD4BB0[];  extern const u16 gUnknown_08DD4BD0[];  extern const u32 gUnknown_08DD4BF0[];  extern const u32 gUnknown_08DD4C4C[]; +extern const u32 gUnknown_08DD4CF8[];  extern const u16 gLinkMiscMenu_Pal[];  extern const u32 gLinkMiscMenu_Gfx[];  extern const u32 gLinkMiscMenu_Tilemap[]; diff --git a/include/strings.h b/include/strings.h index fc5724af3..cb54afb13 100644 --- a/include/strings.h +++ b/include/strings.h @@ -2682,5 +2682,21 @@ extern const u8 gText_PeopleCommunicating[];  extern const u8 gText_CommStandbyAwaitingOtherPlayer[];  extern const u8 gText_RefusedBattle[];  extern const u8 gText_BattleWasRefused[]; +extern const u8 gText_QuitChatting[]; +extern const u8 gText_RegisterTextWhere[]; +extern const u8 gText_RegisterTextHere[]; +extern const u8 gText_InputText[]; +extern const u8 gText_ExitingChat[]; +extern const u8 gText_LeaderLeftEndingChat[]; +extern const u8 gText_RegisteredTextChanged[]; +extern const u8 gText_AlreadySavedFile_Unused[]; +extern const u8 gText_SavingDontTurnOff_Unused[]; +extern const u8 gText_PlayerSavedGame_Unused[]; +extern const u8 gText_IfLeaderLeavesChatEnds[]; +extern const u8 gText_Upper[]; +extern const u8 gText_Lower[]; +extern const u8 gText_Symbols[]; +extern const u8 gText_Register2[]; +extern const u8 gText_Exit2[];  #endif // GUARD_STRINGS_H diff --git a/src/union_room_chat.c b/src/union_room_chat.c index 120252d36..1528cdd5f 100755 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -190,22 +190,33 @@ static void sub_80209E0(void);  static bool32 sub_8020A1C(void);  static void sub_80207C0(s16);  static void sub_8020818(s16); +static bool32 sub_801F658(u8 *state); +static bool32 sub_801F6F8(u8 *state); +static bool32 sub_801F730(u8 *state); +static bool32 sub_801F768(u8 *state); +static bool32 sub_801F7D4(u8 *state); +static bool32 sub_801F7E0(u8 *state); +static bool32 sub_801F82C(u8 *state); +static bool32 sub_801F870(u8 *state); +static bool32 sub_801F8DC(u8 *state); +static bool32 sub_801F984(u8 *state); +static bool32 sub_801FA2C(u8 *state); +static bool32 sub_801FA68(u8 *state); +static bool32 sub_801FB44(u8 *state); +static bool32 sub_801FB70(u8 *state); +static bool32 sub_801FBB4(u8 *state); +static bool32 sub_801FBF8(u8 *state); +static bool32 sub_801FC4C(u8 *state); +static bool32 sub_801FC9C(u8 *state); +static bool32 sub_801FCEC(u8 *state); +static bool32 sub_801FD30(u8 *state); +static bool32 sub_801FD88(u8 *state);  extern struct UnionRoomChat *gUnknown_02022C84;  extern struct UnionRoomChat2 *gUnknown_02022C88;  extern struct UnionRoomChat3 *gUnknown_02022C8C; - -extern const u8 *const gUnknown_082F2BA8[][10]; -extern const u8 gUnknown_082F2AA8[]; -extern const struct BgTemplate gUnknown_082F2C60[4]; -extern const struct WindowTemplate gUnknown_082F2C70[]; -extern const struct Unk82F2C98 gUnknown_082F2C98[]; -extern const struct Unk82F2D40 gUnknown_082F2D40[]; -extern const u8 gText_Ellipsis[]; -extern const struct MenuAction gUnknown_082F2DC8[];  extern const u16 gUnknown_082F2C20[];  extern const u16 gUnknown_082F2C40[]; -extern const struct CompressedSpriteSheet gUnknown_082F3134[];  extern const struct SpritePalette gUnknown_082F315C;  extern const struct SpriteTemplate gUnknown_082F319C;  extern const u16 gUnknown_082F2DF0[]; @@ -214,6 +225,199 @@ extern const struct SpriteTemplate gUnknown_082F31D4;  extern const struct SpriteTemplate gUnknown_082F322C;  extern const struct SpriteTemplate gUnknown_082F3244; +void (*const gUnknown_082F2A7C[])(void) = +    { +        sub_801DFAC, +        sub_801E030, +        sub_801E120, +        sub_801E240, +        sub_801E764, +        sub_801E838, +        sub_801E460, +        sub_801E5C4, +        sub_801E668, +        sub_801E978, +    }; + +static const u8 sUnknown_082F2AA4[] = {9, 9, 9, 9}; + +static const u8 gUnknown_082F2AA8[] = { +    CHAR_SPACE, 0x16, 0x17, 0x68, 0x19, 0x1A, 0x1B, 0x1C, +    0x1D, 0x1E, CHAR_SPACE, 0x20, 0x21, 0x22, 0x23, 0x24, +    0x25, 0x26, 0x27, 0x28, 0x29, 0x15, 0x01, 0x02, +    CHAR_SPACE, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, CHAR_SPACE, +    0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, +    0x13, 0x14, 0x2A, 0x2B, 0x2C, 0x2D, CHAR_SPACE, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x35, 0x36, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x53, 0x54, 0x55, 0x56, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, 0x6F, 0x5B, 0x5C, 0x5D, CHAR_SPACE, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, +    0x03, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x5A, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, 0x84, 0x85, 0x86, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, +    0xA0, CHAR_0, CHAR_1, CHAR_2, CHAR_3, CHAR_4, CHAR_5, CHAR_6, +    CHAR_7, CHAR_8, CHAR_9, CHAR_EXCL_MARK, CHAR_QUESTION_MARK, CHAR_PERIOD, CHAR_HYPHEN, 0xAF, +    CHAR_ELLIPSIS, CHAR_DBL_QUOT_LEFT, CHAR_DBL_QUOT_RIGHT, CHAR_SGL_QUOT_LEFT, CHAR_SGL_QUOT_RIGHT, CHAR_MALE, CHAR_FEMALE, CHAR_CURRENCY, +    CHAR_COMMA, CHAR_MULT_SIGN, CHAR_SLASH, CHAR_a, CHAR_b, CHAR_c, CHAR_d, CHAR_e, +    CHAR_f, CHAR_g, CHAR_h, CHAR_i, CHAR_j, CHAR_k, CHAR_l, CHAR_m, +    CHAR_n, CHAR_o, CHAR_p, CHAR_q, CHAR_r, CHAR_s, CHAR_t, CHAR_u, +    CHAR_v, CHAR_w, CHAR_x, CHAR_y, CHAR_z, CHAR_A, CHAR_B, CHAR_C, +    CHAR_D, CHAR_E, CHAR_F, CHAR_G, CHAR_H, CHAR_I, CHAR_J, CHAR_K, +    CHAR_L, CHAR_M, CHAR_N, CHAR_O, CHAR_P, CHAR_Q, CHAR_R, CHAR_S, +    CHAR_T, CHAR_U, CHAR_V, CHAR_W, CHAR_X, CHAR_Y, CHAR_Z, 0xEF, +    CHAR_COLON, 0xF4, 0xF5, 0xF6, 0xF1, 0xF2, 0xF3, CHAR_SPACE, +    CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE, CHAR_SPACE +}; + +const u8 *const gUnknown_082F2BA8[][10] = { +    {gUnknown_0862B9F9, gUnknown_0862B9FF, gUnknown_0862BA05, gUnknown_0862BA0B, gUnknown_0862BA11, gUnknown_0862BA17, gUnknown_0862BA1D, gUnknown_0862BA23, gUnknown_0862BA29, gUnknown_0862BA2F}, +    {gUnknown_0862BA35, gUnknown_0862BA3B, gUnknown_0862BA41, gUnknown_0862BA47, gUnknown_0862BA4D, gUnknown_0862BA53, gUnknown_0862BA59, gUnknown_0862BA5F, gUnknown_0862BA65, gUnknown_0862BA6B}, +    {gUnknown_0862BA79, gUnknown_0862BA84, gUnknown_0862BA8F, gUnknown_0862BA9A, gUnknown_0862BAA3, gUnknown_0862BAAE, gUnknown_0862BAB9, gUnknown_0862BAC4, gUnknown_0862BACF, gUnknown_0862BADA} +}; + +const u16 gUnknown_082F2C20[] = INCBIN_U16("graphics/interface/unk_palette1.gbapal"); +const u16 gUnknown_082F2C40[] = INCBIN_U16("graphics/interface/unk_palette2.gbapal"); + +const struct BgTemplate gUnknown_082F2C60[] = { +    { +        .bg = 0, +        .charBaseIndex = 0, +        .mapBaseIndex = 7, +        .screenSize = 0, +        .paletteMode = 0, +        .priority = 0, +        .baseTile = 0 +    }, { +        .bg = 1, +        .charBaseIndex = 3, +        .mapBaseIndex = 31, +        .screenSize = 0, +        .paletteMode = 0, +        .priority = 1, +        .baseTile = 0 +    }, { +        .bg = 2, +        .charBaseIndex = 2, +        .mapBaseIndex = 23, +        .screenSize = 0, +        .paletteMode = 0, +        .priority = 2, +        .baseTile = 0 +    }, { +        .bg = 3, +        .charBaseIndex = 1, +        .mapBaseIndex = 15, +        .screenSize = 0, +        .paletteMode = 0, +        .priority = 3, +        .baseTile = 1 +    } +}; + +const struct WindowTemplate gUnknown_082F2C70[] = { +    { +        .bg = 0x03, +        .tilemapLeft = 0x08, +        .tilemapTop = 0x01, +        .width = 0x15, +        .height = 0x13, +        .paletteNum = 0x0f, +        .baseBlock = 0x0001, +    }, { +        .bg = 0x01, +        .tilemapLeft = 0x09, +        .tilemapTop = 0x12, +        .width = 0x0f, +        .height = 0x02, +        .paletteNum = 0x0c, +        .baseBlock = 0x007a, +    }, { +        .bg = 0x01, +        .tilemapLeft = 0x00, +        .tilemapTop = 0x02, +        .width = 0x06, +        .height = 0x0f, +        .paletteNum = 0x07, +        .baseBlock = 0x0020, +    }, { +        .bg = 0x00, +        .tilemapLeft = 0x01, +        .tilemapTop = 0x02, +        .width = 0x07, +        .height = 0x09, +        .paletteNum = 0x0e, +        .baseBlock = 0x0013, +    }, { 0xFF } +}; + +const struct Unk82F2C98 gUnknown_082F2C98[] = { +    {0x00000000, sub_801F658}, +    {0x00000003, sub_801F6F8}, +    {0x00000004, sub_801F730}, +    {0x00000005, sub_801F768}, +    {0x00000001, sub_801F7D4}, +    {0x00000006, sub_801F7E0}, +    {0x00000007, sub_801F82C}, +    {0x00000008, sub_801F870}, +    {0x00000009, sub_801F8DC}, +    {0x0000000a, sub_801F984}, +    {0x0000000b, sub_801FA2C}, +    {0x0000000c, sub_801FA68}, +    {0x00000002, sub_801FB44}, +    {0x0000000d, sub_801FB70}, +    {0x00000012, sub_801FBB4}, +    {0x00000013, sub_801FBF8}, +    {0x0000000e, sub_801FC4C}, +    {0x0000000f, sub_801FC9C}, +    {0x00000010, sub_801FCEC}, +    {0x00000011, sub_801FD30}, +    {0x00000014, sub_801FD88} +}; + +const struct Unk82F2D40 gUnknown_082F2D40[] = { +    {gText_QuitChatting, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}, +    {gText_RegisterTextWhere, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}, +    {gText_RegisterTextHere, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}, +    {gText_InputText, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}, +    {gText_ExitingChat, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}, +    {gText_LeaderLeftEndingChat, 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00}, +    {gText_RegisteredTextChanged, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01}, +    {gText_AlreadySavedFile_Unused, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01}, +    {gText_SavingDontTurnOff_Unused, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01}, +    {gText_PlayerSavedGame_Unused, 0x02, 0x00, 0x01, 0x00, 0x00, 0x01, 0x01}, +    {gText_IfLeaderLeavesChatEnds, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01} +}; + +const u8 gText_Ellipsis[] = _("…"); + +const struct MenuAction gUnknown_082F2DC8[] = { +    {gText_Upper, NULL}, +    {gText_Lower, NULL}, +    {gText_Symbols, NULL}, +    {gText_Register2, NULL}, +    {gText_Exit2, NULL}, +}; + +const u16 gUnknown_082F2DF0[] = INCBIN_U16("graphics/interface/unk_palette3.gbapal"); +const u32 gUnknown_082F2E10[] = INCBIN_U32("graphics/interface/unk_cursor.4bpp.lz"); +const u32 gUnknown_082F3094[] = INCBIN_U32("graphics/interface/unk_dash.4bpp.lz"); +const u32 gUnknown_082F30B4[] = INCBIN_U32("graphics/interface/unk_cursor_arrow.4bpp.lz"); +const u32 gUnknown_082F30E0[] = INCBIN_U32("graphics/interface/unk_rbutton.4bpp.lz"); + +const struct CompressedSpriteSheet gUnknown_082F3134[] = { +    {gUnknown_082F2E10, 0x1000, 0x0000}, +    {gUnknown_082F30B4, 0x0040, 0x0001}, +    {gUnknown_082F3094, 0x0040, 0x0002}, +    {gUnknown_082F30E0, 0x0080, 0x0003}, +    {gUnknown_08DD4CF8, 0x0400, 0x0004} +};  void sub_801DD98(void)  { @@ -305,20 +509,6 @@ static void sub_801DF38(void)      UpdatePaletteFade();  } -void (*const gUnknown_082F2A7C[])(void) = -{ -    sub_801DFAC, -    sub_801E030, -    sub_801E120, -    sub_801E240, -    sub_801E764, -    sub_801E838, -    sub_801E460, -    sub_801E5C4, -    sub_801E668, -    sub_801E978, -}; -  static void sub_801DF54(u8 taskId)  {      switch (gUnknown_02022C84->unk17) @@ -939,8 +1129,6 @@ static void sub_801EBD4(u16 arg0)      gUnknown_02022C84->unk6 = 0;  } -static const u8 sUnknown_082F2AA4[] = {9, 9, 9, 9}; -  static bool32 sub_801EBE4(void)  {      if (!(gMain.newAndRepeatedKeys & DPAD_UP)) | 
