#ifndef GUARD_EASYCHAT_H #define GUARD_EASYCHAT_H struct Sprite; struct UnknownEasyChatStruct1 { u16 unk0; u16 unk2; u16 unk4; u16 unk6; void *unk8; }; struct Shared1000 { void (*unk0)(void); // main cb 2 u16 *unk4; u8 unk8; u8 unk9; u8 unkA; // length of contestant array u8 unkB; // reporter talked to (Gabby or Ty) u16 unkC[9]; void (*unk20)(void); u16 unk24; u8 unk26; u8 unk27; u16 unk28; u8 unk2A[11][2]; u8 unk40[4][14]; u8 unk78[5]; u8 unk7D; u8 unk7E[5]; s8 unk83; s8 unk84; s8 unk85; s8 unk86; bool8 unk87; u16 unk88; u16 unk8A; u8 unk8C[(0x96-0x8C)/2][2]; u8 unk96; u8 filler97; struct Sprite *unk98; struct Sprite *unk9C; struct Sprite *unkA0; struct Sprite *unkA4; struct Sprite *unkA8; struct Sprite *unkAC[2]; struct Sprite *unkB4[2]; u8 unkBC; u8 fillerBD; u16 unkBE; u8 fillerC0[2]; u16 unkC2; // length of unkC8 and unk148 arrays u16 unkC4; u8 fillerC6[2]; u16 unkC8[(0x148-0xC8)/16][8]; struct UnknownEasyChatStruct1 unk148[(0x1A8-0x148)/12]; s8 unk1A8; s8 unk1A9; s8 unk1AA[0xB5-0xAA]; s8 unk1B5; s8 unk1B6; s8 unk1B7; u8 unk1B8; u8 unk1B9; u16 unk1BA; u16 unk1BC; u8 unk1BE; s8 unk1BF; s8 unk1C0; u8 filler1C1[3]; void (*unk1C4)(void); u8 unk1C8[0x500]; u8 unk6C8[0xB78-0x6C8]; #if GERMAN u16 unkB78[27][270]; #else u16 unkB78[27][255]; #endif u16 unk4142[(0x78-0x42)/2]; //0x446C u16 unk4178[(0x41A4-0x4178)/2]; // unknown length const u8 *ecWordStrings[0x16][0x100]; //0x44CE in german s8 unk99A4; s8 unk99A5; s8 unk99A6[130]; s8 unk9A28; s8 unk9A29; u16 unk9A2A[(0x9C32-0x9A2A)/4][2]; // unknown length u8 unk9C32; u8 filler9C33; u16 unk9C34[3][9]; u8 filler9C6A[2]; s8 *unk9C6C; u8 unk9C70; s8 unk9C71; u8 filler9C72[2]; struct Sprite *unk9C74; u8 filler9C78[4]; u16 unk9C7C; // this is at 0x9FA8 in German s16 unk9C7E; u8 unk9C80[0xC9-0x80]; u8 unk9CC9[0xD12-0xCC9]; u8 unk9D12[0x5B-0x12]; u8 unk9D5B[0xA4-0x5B]; u8 unk9DA4[0xC9-0xA4]; u8 unk9DC9[0xE14 - 0xDC9]; u8 unk9E14[0xE41 - 0xE14]; u8 unk9E41[0x6E - 0x41]; u8 unk9E6E[0xEE - 0x6E]; u8 unk9EEE[0xF6E - 0xEEE]; u8 unk9F6E[0x8E - 0x6E]; // unknown length u8 unk9F8E[7]; // unknown length }; // const pointer to shared1000. easy_chat might be two separate files. extern struct Shared1000 *const gEasyChatStruct; void ShowEasyChatScreen(void); void sub_80E62A0(u8 arg0, u16 *arg1, void (*arg2)(void), u8 arg3); u16 sub_80EB72C(u16 group); void sub_80EB6FC(u16 *, u16); void InitEasyChatPhrases(void); u8 sub_80EAD7C(u8 group); u16 sub_80EAE88(u8); u8 sub_80EB37C(u16); u8* EasyChat_GetWordText(u8 *, u16); u8 *ConvertEasyChatWordsToString(u8 *dst, u16 *words, u16, u16); u16 sub_80EB784(u16 group); u8 sub_80EB868(u8); void sub_80EB890(u8); u8 sub_80EB8C0(void); u16 sub_80EB8EC(void); u8 *sub_80EB544(u8 *dst, u16 *words, u16 arg2, u16 arg3); #if GERMAN u32 de_sub_80EB748(s32, s32); #endif #endif // GUARD_EASYCHAT_H