#ifndef GUARD_EASY_CHAT_H #define GUARD_EASY_CHAT_H #include "global.h" #include "constants/easy_chat.h" struct EasyChatWordInfo { const u8 *text; int alphabeticalOrder; int enabled; }; typedef union { const u16 *valueList; const struct EasyChatWordInfo *words; } EasyChatGroupWordData; struct EasyChatGroup { EasyChatGroupWordData wordData; u16 numWords; u16 numEnabledWords; }; struct EasyChatWordsByLetter { const u16 *words; int numWords; }; u8 *CopyEasyChatWord(u8 *dest, u16 word); u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows); bool8 EC_DoesEasyChatStringFitOnLine(const u16 *easyChatWords, u8 columns, u8 rows, u16 maxLength); void EC_ResetMEventProfileMaybe(void); void InitEasyChatPhrases(void); void EnableRareWord(u8); bool8 InitEasyChatSelection(void); void DestroyEasyChatSelectionData(void); u8 GetSelectedGroupByIndex(u8); void GetUnlockedECWords(bool32 isAlphabetical, u16 groupId); u16 GetDisplayedWordByIndex(u16 index); u16 GetNumDisplayedWords(void); const u8 *GetEasyChatWordGroupName(u8); u8 *CopyEasyChatWordPadded(u8 *, u16, u16); void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback); u8 GetNumDisplayableGroups(void); bool8 InitEasyChatGraphicsWork(void); bool8 LoadEasyChatGraphics(void); void DestroyEasyChatGraphicsResources(void); void EasyChatInterfaceCommand_Setup(u16 id); bool8 EasyChatInterfaceCommand_Run(void); u8 GetEasyChatScreenFrameId(void); const u8 *GetTitleText(void); u16 *GetEasyChatWordBuffer(void); u8 GetNumRows(void); u8 GetNumColumns(void); u8 GetMainCursorColumn(void); u8 GetMainCursorRow(void); void GetEasyChatInstructionsText(const u8 **str1, const u8 **str2); void GetEasyChatConfirmText(const u8 **str1, const u8 **str2); void GetEasyChatConfirmCancelText(const u8 **str1, const u8 **str2); void GetEasyChatConfirmDeletionText(const u8 **str1, const u8 **str2); void GetECSelectGroupCursorCoords(u8 *Xp, u8 *Yp); bool8 IsEasyChatAlphaMode(void); u8 GetECSelectGroupRowsAbove(void); void GetECSelectWordCursorCoords(s8 *arg0, s8 *arg1); u8 GetECSelectWordRowsAbove(void); u8 GetECSelectWordNumRows(void); u8 unref_sub_80FFE60(void); bool32 ShouldDrawECUpArrow(void); bool32 ShouldDrawECDownArrow(void); #endif // GUARD_EASY_CHAT_H