mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-08-13 20:49:45 -05:00
87 lines
3.9 KiB
C
87 lines
3.9 KiB
C
#ifndef POKEPLATINUM_EASY_CHAT_WORDS_H
|
|
#define POKEPLATINUM_EASY_CHAT_WORDS_H
|
|
|
|
#include "message.h"
|
|
#include "savedata.h"
|
|
#include "string_gf.h"
|
|
|
|
#include "res/text/bank/ability_names_uppercase.h"
|
|
#include "res/text/bank/feelings.h"
|
|
#include "res/text/bank/greetings.h"
|
|
#include "res/text/bank/lifestyle_words.h"
|
|
#include "res/text/bank/move_names_uppercase.h"
|
|
#include "res/text/bank/people_words.h"
|
|
#include "res/text/bank/pokemon_type_names.h"
|
|
#include "res/text/bank/species_name.h"
|
|
#include "res/text/bank/tough_words.h"
|
|
#include "res/text/bank/trainer_words.h"
|
|
#include "res/text/bank/union_words.h"
|
|
|
|
#define MOVE_WORD(move) (TEXT_BANK_SPECIES_NAME_ENTRY_COUNT + move)
|
|
#define TYPE_WORD(type) (MOVE_WORD(TEXT_BANK_MOVE_NAMES_UPPERCASE_ENTRY_COUNT) + type)
|
|
#define ABILITY_WORD(ability) (TYPE_WORD(TEXT_BANK_POKEMON_TYPE_NAMES_ENTRY_COUNT) + ability)
|
|
#define TRAINER_WORD(bankEntry) (ABILITY_WORD(TEXT_BANK_ABILITY_NAMES_UPPERCASE_ENTRY_COUNT) + bankEntry)
|
|
#define PEOPLE_WORD(bankEntry) (TRAINER_WORD(TEXT_BANK_TRAINER_WORDS_ENTRY_COUNT) + bankEntry)
|
|
#define GREETING_WORD(bankEntry) (PEOPLE_WORD(TEXT_BANK_PEOPLE_WORDS_ENTRY_COUNT) + bankEntry)
|
|
#define LIFESTYLE_WORD(bankEntry) (GREETING_WORD(TEXT_BANK_GREETINGS_ENTRY_COUNT) + bankEntry)
|
|
#define FEELINGS_WORD(bankEntry) (LIFESTYLE_WORD(TEXT_BANK_LIFESTYLE_WORDS_ENTRY_COUNT) + bankEntry)
|
|
#define TOUGH_WORD(bankEntry) (FEELINGS_WORD(TEXT_BANK_FEELINGS_ENTRY_COUNT) + bankEntry)
|
|
#define UNION_WORD(bankEntry) (TOUGH_WORD(TEXT_BANK_TOUGH_WORDS_ENTRY_COUNT) + bankEntry)
|
|
|
|
#define EASY_CHAT_WORD_COUNT UNION_WORD(TEXT_BANK_UNION_WORDS_ENTRY_COUNT)
|
|
|
|
#define WORD_NONE 0xFFFF
|
|
|
|
enum EasyChatWordTextBank {
|
|
EASY_CHAT_WORD_TEXT_BANK_SPECIES_NAME = 0,
|
|
EASY_CHAT_WORD_TEXT_BANK_MOVE_NAMES_UPPERCASE,
|
|
EASY_CHAT_WORD_TEXT_BANK_POKEMON_TYPE_NAMES,
|
|
EASY_CHAT_WORD_TEXT_BANK_ABILITY_NAMES_UPPERCASE,
|
|
EASY_CHAT_WORD_TEXT_BANK_TRAINER_WORDS,
|
|
EASY_CHAT_WORD_TEXT_BANK_PEOPLE_WORDS,
|
|
EASY_CHAT_WORD_TEXT_BANK_GREETINGS,
|
|
EASY_CHAT_WORD_TEXT_BANK_LIFESTYLE_WORDS,
|
|
EASY_CHAT_WORD_TEXT_BANK_FEELINGS,
|
|
EASY_CHAT_WORD_TEXT_BANK_TOUGH_WORDS,
|
|
EASY_CHAT_WORD_TEXT_BANK_UNION_WORDS,
|
|
EASY_CHAT_WORD_TEXT_BANK_COUNT,
|
|
};
|
|
|
|
typedef struct UnlockedEasyChatWords {
|
|
u32 unlockedGreetingBits;
|
|
u32 unlockedToughWordBits;
|
|
} UnlockedEasyChatWords;
|
|
|
|
typedef struct EasyChatWordLoader {
|
|
enum HeapID heapID;
|
|
MessageLoader *loaders[EASY_CHAT_WORD_TEXT_BANK_COUNT];
|
|
} EasyChatWordLoader;
|
|
|
|
typedef struct UnkStruct_02014FB0 {
|
|
u32 unk_00;
|
|
u32 *unk_04;
|
|
} UnkStruct_02014FB0;
|
|
|
|
EasyChatWordLoader *EasyChatWordLoader_New(enum HeapID heapID);
|
|
void EasyChatWordLoader_Free(EasyChatWordLoader *wordLoader);
|
|
void EasyChatWordLoader_GetString(EasyChatWordLoader *wordLoader, u16 word, String *out);
|
|
void EasyChatWord_ToString(u16 word, String *out);
|
|
u16 EasyChatWord_FromBankAndEntry(u32 bankID, u32 bankEntry);
|
|
BOOL EasyChatWord_GetLoaderIndexAndEntry(u16 word, u32 *outLoaderIndex, u32 *outBankEntry);
|
|
u32 UnlockedEasyChatWords_SaveSize(void);
|
|
void UnlockedEasyChatWords_Init(UnlockedEasyChatWords *unlockedWords);
|
|
UnlockedEasyChatWords *SaveData_GetUnlockedEasyChatWords(SaveData *saveData);
|
|
BOOL EasyChatWords_IsToughWordUnlocked(const UnlockedEasyChatWords *unlockedWords, u32 bankEntry);
|
|
u32 EasyChatWords_TryUnlockRandomToughWord(UnlockedEasyChatWords *unlockedWords);
|
|
BOOL EasyChatWords_AreAllToughWordsUnlocked(UnlockedEasyChatWords *unlockedWords);
|
|
u16 EasyChatWords_GetToughWordFromBankEntry(u32 bankEntry);
|
|
BOOL EasyChatWords_IsGreetingUnlocked(const UnlockedEasyChatWords *unlockedWords, int bankEntry);
|
|
void EasyChatWords_UnlockGreeting(UnlockedEasyChatWords *unlockedWords, int bankEntry);
|
|
UnkStruct_02014FB0 *sub_02014FB0(enum HeapID heapID);
|
|
void sub_02014FF0(UnkStruct_02014FB0 *param0);
|
|
u32 sub_02015004(const UnkStruct_02014FB0 *param0);
|
|
u16 sub_02015008(const UnkStruct_02014FB0 *param0, u32 param1);
|
|
s16 sub_02015030(const UnkStruct_02014FB0 *param0, u16 param1);
|
|
|
|
#endif // POKEPLATINUM_EASY_CHAT_WORDS_H
|