diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/global.h | 5 | ||||
-rw-r--r-- | include/data_8479668.h | 35 | ||||
-rw-r--r-- | include/global.h | 88 | ||||
-rw-r--r-- | include/graphics.h | 11 | ||||
-rw-r--r-- | include/help_system.h | 1 | ||||
-rw-r--r-- | include/link_rfu.h | 6 | ||||
-rw-r--r-- | include/main.h | 1 | ||||
-rw-r--r-- | include/strings.h | 49 | ||||
-rw-r--r-- | include/text.h | 14 | ||||
-rw-r--r-- | include/text_window.h | 1 | ||||
-rw-r--r-- | include/trade.h | 4 | ||||
-rw-r--r-- | include/trainer_card.h | 2 | ||||
-rw-r--r-- | include/union_room.h | 2 | ||||
-rw-r--r-- | include/union_room_chat.h | 28 | ||||
-rw-r--r-- | include/union_room_chat_display.h | 34 | ||||
-rw-r--r-- | include/union_room_chat_objects.h | 16 |
16 files changed, 255 insertions, 42 deletions
diff --git a/include/constants/global.h b/include/constants/global.h index 77ef6f203..7f3c80bb4 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -38,6 +38,10 @@ #define FEMALE 1 #define GENDER_COUNT 2 +#define BARD_SONG_LENGTH 6 +#define NUM_STORYTELLER_TALES 4 +#define NUM_TRADER_ITEMS 4 + #define OPTIONS_BUTTON_MODE_HELP 0 #define OPTIONS_BUTTON_MODE_LR 1 #define OPTIONS_BUTTON_MODE_L_EQUALS_A 2 @@ -62,6 +66,7 @@ #define MAX_MON_MOVES 4 +#define TRAINER_ID_LENGTH 4 #define PARTY_SIZE 6 #define MULTI_PARTY_SIZE (PARTY_SIZE / 2) diff --git a/include/data_8479668.h b/include/data_8479668.h new file mode 100644 index 000000000..1a1f44267 --- /dev/null +++ b/include/data_8479668.h @@ -0,0 +1,35 @@ +#ifndef GUARD_DATA_8479668_H +#define GUARD_DATA_8479668_H + +extern const u8 gText_UnionRoomChatKeyboard_ABCDE[]; +extern const u8 gText_UnionRoomChatKeyboard_FGHIJ[]; +extern const u8 gText_UnionRoomChatKeyboard_KLMNO[]; +extern const u8 gText_UnionRoomChatKeyboard_PQRST[]; +extern const u8 gText_UnionRoomChatKeyboard_UVWXY[]; +extern const u8 gText_UnionRoomChatKeyboard_Z[]; +extern const u8 gText_UnionRoomChatKeyboard_01234Upper[]; +extern const u8 gText_UnionRoomChatKeyboard_56789Upper[]; +extern const u8 gText_UnionRoomChatKeyboard_PunctuationUpper[]; +extern const u8 gText_UnionRoomChatKeyboard_SymbolsUpper[]; +extern const u8 gText_UnionRoomChatKeyboard_abcde[]; +extern const u8 gText_UnionRoomChatKeyboard_fghij[]; +extern const u8 gText_UnionRoomChatKeyboard_klmno[]; +extern const u8 gText_UnionRoomChatKeyboard_pqrst[]; +extern const u8 gText_UnionRoomChatKeyboard_uvwxy[]; +extern const u8 gText_UnionRoomChatKeyboard_z[]; +extern const u8 gText_UnionRoomChatKeyboard_01234Lower[]; +extern const u8 gText_UnionRoomChatKeyboard_56789Lower[]; +extern const u8 gText_UnionRoomChatKeyboard_PunctuationLower[]; +extern const u8 gText_UnionRoomChatKeyboard_SymbolsLower[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji1[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji2[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji3[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji4[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji5[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji6[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji7[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji8[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji9[]; +extern const u8 gText_UnionRoomChatKeyboard_Emoji10[]; + +#endif //GUARD_DATA_8479668_H diff --git a/include/global.h b/include/global.h index 180a1e0a3..2f87a0c29 100644 --- a/include/global.h +++ b/include/global.h @@ -182,13 +182,13 @@ struct BerryCrush u32 unk; }; -#define PLAYER_NAME_LENGTH 8 +#define PLAYER_NAME_LENGTH 7 #define LINK_B_RECORDS_COUNT 5 struct LinkBattleRecord { - u8 name[PLAYER_NAME_LENGTH]; + u8 name[PLAYER_NAME_LENGTH + 1]; u16 trainerId; u16 wins; u16 losses; @@ -261,7 +261,7 @@ struct BattleTowerData // Leftover from R/S struct SaveBlock2 { - /*0x000*/ u8 playerName[PLAYER_NAME_LENGTH]; + /*0x000*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x008*/ u8 playerGender; // MALE, FEMALE /*0x009*/ u8 specialSaveWarpFlags; /*0x00A*/ u8 playerTrainerId[4]; @@ -312,7 +312,7 @@ struct SecretBaseRecord /*0x1A9D*/ u8 gender:1; /*0x1A9D*/ u8 sbr_field_1_5:1; /*0x1A9D*/ u8 sbr_field_1_6:2; - /*0x1A9E*/ u8 trainerName[7]; // TODO: Change PLAYER_NAME_LENGTH to 7 + /*0x1A9E*/ u8 trainerName[PLAYER_NAME_LENGTH]; /*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class /*0x1AA9*/ u8 language; /*0x1AAA*/ u16 sbr_field_e; @@ -398,41 +398,68 @@ struct MailStruct /*0x20*/ u16 itemId; }; -struct UnkMauvilleOldManStruct +struct MauvilleManCommon { - u8 unk_2D94; - u8 unk_2D95; - /*0x2D96*/ u16 mauvilleOldMan_ecArray[6]; - /*0x2DA2*/ u16 mauvilleOldMan_ecArray2[6]; - /*0x2DAE*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; - /*0x2DB6*/ u8 filler_2DB6[0x3]; - /*0x2DB9*/ u8 playerTrainerId[4]; - u8 unk_2DBD; + u8 id; +}; + +struct MauvilleManBard +{ + /*0x00*/ u8 id; + /*0x02*/ u16 songLyrics[BARD_SONG_LENGTH]; + /*0x0E*/ u16 temporaryLyrics[BARD_SONG_LENGTH]; + /*0x1A*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; + /*0x22*/ u8 filler_2DB6[0x3]; + /*0x25*/ u8 playerTrainerId[TRAINER_ID_LENGTH]; + /*0x29*/ bool8 hasChangedSong; + /*0x2A*/ u8 language; }; /*size = 0x2C*/ -struct UnkMauvilleOldManStruct2 +struct MauvilleManStoryteller +{ + u8 id; + bool8 alreadyRecorded; + u8 filler2[2]; + u8 gameStatIDs[NUM_STORYTELLER_TALES]; + u8 trainerNames[NUM_STORYTELLER_TALES][PLAYER_NAME_LENGTH]; + u8 statValues[NUM_STORYTELLER_TALES][4]; + u8 language[NUM_STORYTELLER_TALES]; +}; + +struct MauvilleManGiddy { - u8 filler0; - u8 unk1; - u8 unk2; - u16 mauvilleOldMan_ecArray[10]; - u8 mauvilleOldMan_ecArray2[12]; - u8 fillerF[0x2]; + /*0x00*/ u8 id; + /*0x01*/ u8 taleCounter; + /*0x02*/ u8 questionNum; + /*0x04*/ u16 randomWords[10]; + /*0x18*/ u8 questionList[8]; + /*0x20*/ u8 language; }; /*size = 0x2C*/ +struct MauvilleManHipster +{ + u8 id; + bool8 alreadySpoken; + u8 language; +}; + struct MauvilleOldManTrader { - u8 unk0; - u8 unk1[4]; - u8 unk5[4][11]; - u8 unk31; + u8 id; + u8 decorIds[NUM_TRADER_ITEMS]; + u8 playerNames[NUM_TRADER_ITEMS][11]; + u8 alreadyTraded; + u8 language[NUM_TRADER_ITEMS]; }; typedef union OldMan { - struct UnkMauvilleOldManStruct oldMan1; - struct UnkMauvilleOldManStruct2 oldMan2; + struct MauvilleManCommon common; + struct MauvilleManBard bard; + struct MauvilleManGiddy giddy; + struct MauvilleManHipster hipster; struct MauvilleOldManTrader trader; + struct MauvilleManStoryteller storyteller; u8 filler[0x40]; } OldMan; @@ -715,9 +742,11 @@ struct TrainerRematchState struct TrainerNameRecord { u32 trainerId; - u8 trainerName[PLAYER_NAME_LENGTH]; + u8 trainerName[PLAYER_NAME_LENGTH + 1]; }; +#define UNION_ROOM_KB_ROW_COUNT 10 + struct SaveBlock1 { /*0x0000*/ struct Coords16 pos; @@ -770,9 +799,10 @@ struct SaveBlock1 /*0x361C*/ struct RamScript ramScript; /*0x3A08*/ u8 filler3A08[16]; /*0x3A18*/ u8 seen2[DEX_FLAGS_NO]; - /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH]; + /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH + 1]; /*0x3A54*/ struct FameCheckerSaveData fameChecker[NUM_FAMECHECKER_PERSONS]; - /*0x3A94*/ u8 filler3A94[0x114]; + /*0x3A94*/ u8 filler3A94[0x40]; + /*0x3AD4*/ u8 registeredTexts[UNION_ROOM_KB_ROW_COUNT][21]; /*0x3BA8*/ struct TrainerNameRecord trainerNameRecords[20]; /*0x3C98*/ struct DaycareMon route5DayCareMon; /*0x3D24*/ u8 filler3D24[0x10]; diff --git a/include/graphics.h b/include/graphics.h index e87acb556..467a1d461 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4864,4 +4864,15 @@ extern const u32 gUnknown_8E83444[]; extern const u32 gBagBgPalette[]; extern const u32 gBagBgPalette_FemaleOverride[]; +// union_room_chat_display +extern const u16 gUnionRoomChatPanelBgPal_7[]; +extern const u32 gUnionRoomChatPanelBgTiles[]; +extern const u32 gUnionRoomChatPanelBgMap[]; +extern const u16 gLinkMiscMenu_Pal[]; +extern const u32 gLinkMiscMenu_Gfx[]; +extern const u32 gLinkMiscMenu_Tilemap[]; + +// union_room_chat_objects +extern const u32 gUnionRoomChatIcons[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/help_system.h b/include/help_system.h index 273b5e119..59adec912 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -92,5 +92,6 @@ bool8 MoveCursor(u8 by, u8 dirn); void HelpSystem_BackupSomeVariable(void); void HelpSystem_RestoreSomeVariable(void); void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 width, u8 height); +void sub_812B4AC(void); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/link_rfu.h b/include/link_rfu.h index 790429870..81dd7fdf0 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -216,7 +216,7 @@ struct UnkRfuStruct_2 /* 0x99d */ u8 unk_ce5; /* 0x99e */ u8 unk_ce6; /* 0x99f */ u8 unk_ce7; - /* 0x9a0 */ u8 unk_ce8; + /* 0x9a0 */ bool8 unk_ce8; /* 0x9a1 */ u8 unk_ce9; /* 0x9a2 */ u8 unk_cea[RFU_CHILD_MAX]; /* 0x9a6 */ u8 unk_cee[RFU_CHILD_MAX]; @@ -325,6 +325,10 @@ void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2); bool32 PlayerHasMetTrainerBefore(u16 id, u8 *name); bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx); bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx); +bool32 GetRfuUnkCE8(void); +void sub_80FA4A8(void); +void sub_80FB9D0(void); +void sub_80FB030(u32 a0); #include "mevent_server.h" extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[]; diff --git a/include/main.h b/include/main.h index c962cf7bd..f89ffbd63 100644 --- a/include/main.h +++ b/include/main.h @@ -73,5 +73,6 @@ extern const char RomHeaderGameCode[4]; extern const char RomHeaderSoftwareVersion; extern u8 gLinkTransferringData; +extern u16 gKeyRepeatStartDelay; #endif // GUARD_MAIN_H diff --git a/include/strings.h b/include/strings.h index a57493a9b..7821825cf 100644 --- a/include/strings.h +++ b/include/strings.h @@ -40,7 +40,6 @@ extern const u8 gText_Second[]; extern const u8 gText_Third[]; extern const u8 gText_NoDecorations[]; extern const u8 gText_NoDecorationsInUse[]; -extern const u8 gText_Exit[]; extern const u8 gText_Cancel[]; extern const u8 gText_Color161Shadow161[]; extern const u8 gText_GoBackPrevMenu[]; @@ -288,7 +287,6 @@ extern const u8 gText_ThreePkmnAreNeeded[]; extern const u8 gText_TwoPokemonAreNeeded[]; extern const u8 gText_PokemonCantBeSame[]; extern const u8 gText_NoIdenticalHoldItems[]; -extern const u8 gString_Dummy[]; extern const u8 gText_DoWhatWithPokemon[]; extern const u8 gText_RestoreWhichMove[]; extern const u8 gText_BoostPp[]; @@ -327,13 +325,9 @@ extern const u8 gText_SendOut[]; extern const u8 gText_Enter[]; extern const u8 gText_NoEntry[]; extern const u8 gText_Store[]; -extern const u8 gText_Register[]; extern const u8 gText_Trade4[]; extern const u8 gText_NotPkmnOtherTrainerWants[]; extern const u8 gText_ThatIsntAnEgg[]; -extern const u8 gText_PkmnCantBeTradedNow[]; -extern const u8 gText_OtherTrainersPkmnCantBeTraded[]; -extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OtherTrainerCantAcceptPkmn[]; extern const u8 gText_CantTradeWithTrainer[]; extern const u8 gUnknown_84176CF[]; @@ -346,7 +340,6 @@ extern const u8 gText_PkmnCantParticipate[]; extern const u8 gText_CancelParticipation[]; extern const u8 gUnknown_8417494[]; extern const u8 gMenuText_Confirm[]; -extern const u8 gText_Lv[]; extern const u8 gText_MaleSymbol[]; extern const u8 gText_FemaleSymbol[]; extern const u8 gText_Slash[]; @@ -984,6 +977,16 @@ extern const u8 gUnknown_8415F6C[]; extern const u8 gUnknown_8415FFF[]; extern const u8 gUnknown_8416002[]; +// daycare +extern const u8 gText_Lv[]; +extern const u8 gDaycareText_GetAlongVeryWell[]; +extern const u8 gDaycareText_GetAlong[]; +extern const u8 gDaycareText_DontLikeOther[]; +extern const u8 gDaycareText_PlayOther[]; +extern const u8 gExpandedPlaceholder_Empty[]; +extern const u8 gText_HatchedFromEgg[]; +extern const u8 gText_NickHatchPrompt[]; + // trainer card extern const u8 gText_WaitingTrainerFinishReading[]; extern const u8 gText_TrainerCardName[]; @@ -1061,4 +1064,36 @@ extern const u8 gText_CommStandbyAwaitingOtherPlayer[]; extern const u8 gText_RefusedBattle[]; extern const u8 gText_BattleWasRefused[]; +// union_room_chat +extern const u8 gText_F700JoinedChat[]; +extern const u8 gText_F700LeftChat[]; +extern const u8 gText_Hello[]; +extern const u8 gText_Pokemon2[]; +extern const u8 gText_Trade[]; +extern const u8 gText_Battle[]; +extern const u8 gText_Lets[]; +extern const u8 gText_Ok[]; +extern const u8 gText_Sorry[]; +extern const u8 gText_YaySmileEmoji[]; +extern const u8 gText_ThankYou[]; +extern const u8 gText_ByeBye[]; + +// union_room_chat_display +extern const u8 gText_QuitChatting[]; +extern const u8 gText_RegisterTextWhere[]; +extern const u8 gText_RegisterTextHere[]; +extern const u8 gText_InputText[]; +extern const u8 gText_ExitingTheChat[]; +extern const u8 gText_LeaderHasLeftEndingChat[]; +extern const u8 gText_RegisteredTextChanged_OKtoSave[]; +extern const u8 gText_RegisteredTextChanged_AlreadySavedFile[]; +extern const u8 gText_RegisteredTextChanged_SavingDontTurnOff[]; +extern const u8 gText_RegisteredTextChanged_SavedTheGame[]; +extern const u8 gText_IfLeaderLeavesChatWillEnd[]; +extern const u8 gText_Upper[]; +extern const u8 gText_Lower[]; +extern const u8 gText_Symbols[]; +extern const u8 gText_Register2[]; +extern const u8 gText_Exit[]; + #endif //GUARD_STRINGS_H diff --git a/include/text.h b/include/text.h index cd059e0e5..ff8b033e9 100644 --- a/include/text.h +++ b/include/text.h @@ -5,10 +5,24 @@ #define CHAR_SPACE 0x00 #define CHAR_0 0xA1 +#define CHAR_1 0xA2 +#define CHAR_2 0xA3 +#define CHAR_3 0xA4 +#define CHAR_4 0xA5 +#define CHAR_5 0xA6 +#define CHAR_6 0xA7 +#define CHAR_7 0xA8 +#define CHAR_8 0xA9 +#define CHAR_9 0xAA +#define CHAR_EXCL_MARK 0xAB #define CHAR_QUESTION_MARK 0xAC #define CHAR_PERIOD 0xAD #define CHAR_HYPHEN 0xAE #define CHAR_ELLIPSIS 0xB0 +#define CHAR_DBL_QUOT_LEFT 0xB1 +#define CHAR_DBL_QUOT_RIGHT 0xB2 +#define CHAR_SGL_QUOT_LEFT 0xB3 +#define CHAR_SGL_QUOT_RIGHT 0xB4 #define CHAR_MALE 0xB5 #define CHAR_FEMALE 0xB6 #define CHAR_CURRENCY 0xB7 diff --git a/include/text_window.h b/include/text_window.h index 8e8466145..3796629b4 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -26,6 +26,7 @@ void TextWindow_SetUserSelectedFrame(u8 windowId, u16 tileStart, u8 palette); void LoadUserWindowBorderGfx(u8 windowId, u16 tileStart, u8 palette); void sub_814FDA0(u8 windowId, u16 tileStart, u8 palette); void DrawTextBorderOuter(u8 windowId, u16 tileStart, u8 palette); +void DrawTextBorderInner(u8 windowId, u16 tileNum, u8 palNum); void TextWindow_LoadTilesStdFrame1(u8 windowId, u16 destOffset); void sub_814FE6C(u8 windowId, u16 destOffset, u8 palIdx); void sub_814FEEC(u8 windowId, u16 destOffset, u8 palIdx); diff --git a/include/trade.h b/include/trade.h index d5106b172..f8e285e40 100644 --- a/include/trade.h +++ b/include/trade.h @@ -8,6 +8,10 @@ extern struct MailStruct gLinkPartnerMail[6]; extern u8 gSelectedTradeMonPositions[2]; +extern const u8 gText_MaleSymbol4[]; +extern const u8 gText_FemaleSymbol4[]; +extern const u8 gText_GenderlessSymbol[]; + extern const u16 gUnknown_826601C[]; void CB2_ReturnFromLinkTrade(void); s32 sub_804FB34(void); diff --git a/include/trainer_card.h b/include/trainer_card.h index 06844dc2e..ed3e803d5 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -24,7 +24,7 @@ struct TrainerCard /*0x20*/ u16 pokemonTrades; /*0x24*/ u32 money; /*0x28*/ u16 var_28[4]; - /*0x30*/ u8 playerName[PLAYER_NAME_LENGTH]; + /*0x30*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x38*/ u8 version; /*0x3A*/ u16 var_3A; /*0x3C*/ u32 berryCrushPoints; diff --git a/include/union_room.h b/include/union_room.h index 3cb8eb84a..7e48b3e6e 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -7,7 +7,7 @@ struct UnkStruct_Shared { struct GFtgtGname gname; - u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH]; + u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH + 1]; }; struct UnkStruct_x1C diff --git a/include/union_room_chat.h b/include/union_room_chat.h index 66daac376..3ce78b210 100644 --- a/include/union_room_chat.h +++ b/include/union_room_chat.h @@ -1,8 +1,30 @@ #ifndef GUARD_UNION_ROOM_CHAT_H #define GUARD_UNION_ROOM_CHAT_H -void sub_801DD98(void); -void sub_8128420(void); -void copy_strings_to_sav1(void); +enum +{ + UNION_ROOM_KB_PAGE_UPPER, + UNION_ROOM_KB_PAGE_LOWER, + UNION_ROOM_KB_PAGE_EMOJI, + UNION_ROOM_KB_PAGE_COUNT +}; + +extern const u8 *const gUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_ROOM_KB_ROW_COUNT]; + +void EnterUnionRoomChat(void); +u8 *UnionRoomChat_GetWorkRegisteredText(int arg0); +void UnionRoomChat_GetCursorColAndRow(u8 *colp, u8 *rowp); +u8 *UnionRoomChat_GetMessageEntryBuffer(void); +int UnionRoomChat_LenMessageEntryBuffer(void); +void UnionRoomChat_GetBufferSelectionRegion(u32 *startp, u32 *diffp); +u8 *UnionRoomChat_GetEndOfMessageEntryBuffer(void); +u16 UnionRoomChat_GetNumCharsInMessageEntryBuffer(void); +u8 *UnionRoomChat_GetLastReceivedMessage(void); +u16 UnionRoomChat_GetReceivedPlayerIndex(void); +int UnionRoomChat_GetMessageEntryCursorPosition(void); +int UnionRoomChat_GetWhetherShouldShowCaseToggleIcon(void); +u8 *UnionRoomChat_GetNameOfPlayerWhoDisbandedChat(void); +void UnionRoomChat_InitializeRegisteredTexts(void); +u8 GetCurrentKeyboardPage(void); #endif // GUARD_UNION_ROOM_CHAT_H diff --git a/include/union_room_chat_display.h b/include/union_room_chat_display.h new file mode 100644 index 000000000..f880eeecb --- /dev/null +++ b/include/union_room_chat_display.h @@ -0,0 +1,34 @@ +#ifndef GUARD_UNION_ROOM_CHAT_DISPLAY_H +#define GUARD_UNION_ROOM_CHAT_DISPLAY_H + +#define CHATDISPLAYROUTINE_LOADGFX 0 +#define CHATDISPLAYROUTINE_MOVEKBCURSOR 1 +#define CHATDISPLAYROUTINE_CURSORBLINK 2 +#define CHATDISPLAYROUTINE_SHOWKBSWAPMENU 3 +#define CHATDISPLAYROUTINE_HIDEKBSWAPMENU 4 +#define CHATDISPLAYROUTINE_SWITCHPAGES 5 +#define CHATDISPLAYROUTINE_SHOWQUITCHATTINGDIALOG 6 +#define CHATDISPLAYROUTINE_DESTROYSTDMSGANDYESNO 7 +#define CHATDISPLAYROUTINE_PRINTMSG 8 +#define CHATDISPLAYROUTINE_PRINTREGISTERWHERE 9 +#define CHATDISPLAYROUTINE_CANCELREGISTER 10 +#define CHATDISPLAYROUTINE_RETURNTOKB 11 +#define CHATDISPLAYROUTINE_SCROLLCHAT 12 +#define CHATDISPLAYROUTINE_PRINTINPUTTEXT 13 +#define CHATDISPLAYROUTINE_ASKSAVE 14 +#define CHATDISPLAYROUTINE_ASKOVERWRITESAVE 15 +#define CHATDISPLAYROUTINE_PRINTSAVING 16 +#define CHATDISPLAYROUTINE_PRINTSAVEDTHEGAME 17 +#define CHATDISPLAYROUTINE_PRINTEXITINGCHAT 18 +#define CHATDISPLAYROUTINE_PRINTLEADERLEFT 19 +#define CHATDISPLAYROUTINE_SHOWCONFIRMLEADERLEAVEDIALOG 20 + +bool8 UnionRoomChat_TryAllocGraphicsWork(void); +bool32 UnionRoomChat_RunDisplaySubtask0(void); +void UnionRoomChat_FreeGraphicsWork(void); +void UnionRoomChat_RunDisplaySubtasks(void); +void UnionRoomChat_StartDisplaySubtask(u16 a0, u8 a1); +u8 RunDisplaySubtask(u8 a0); +s8 UnionRoomChat_ProcessInput(void); + +#endif //GUARD_UNION_ROOM_CHAT_DISPLAY_H diff --git a/include/union_room_chat_objects.h b/include/union_room_chat_objects.h new file mode 100644 index 000000000..879f9f86b --- /dev/null +++ b/include/union_room_chat_objects.h @@ -0,0 +1,16 @@ +#ifndef GUARD_UNION_ROOM_CHAT_OBJECTS_H +#define GUARD_UNION_ROOM_CHAT_OBJECTS_H + +bool32 UnionRoomChat_TryAllocSpriteWork(void); +void UnionRoomChat_FreeSpriteWork(void); +void UnionRoomChat_CreateSelectorCursorObj(void); +void UnionRoomChat_ToggleSelectorCursorObjVisibility(bool32 invisible); +void UnionRoomChat_MoveSelectorCursorObj(void); +void UnionRoomChat_UpdateObjPalCycle(u32 idx); +void UnionRoomChat_SetSelectorCursorClosedImage(void); +bool32 UnionRoomChat_AnimateSelectorCursorReopen(void); +void UnionRoomChat_SpawnTextEntryPointerSprites(void); +void CreatePageSwitchUISprites(void); +void UpdateVisibleUnionRoomChatIcon(void); + +#endif //GUARD_UNION_ROOM_CHAT_OBJECTS_H |