Document and clean up string_template.c

This commit is contained in:
Rachel
2024-04-08 00:11:51 -07:00
parent 69ea0c0d56
commit ecd9ac0022
4 changed files with 544 additions and 762 deletions

View File

@@ -1,91 +1,116 @@
#ifndef POKEPLATINUM_STRING_TEMPLATE_H
#define POKEPLATINUM_STRING_TEMPLATE_H
#include "consts/generated/c/abilities.h"
#include "consts/generated/c/gender.h"
#include "consts/generated/c/moves.h"
#include "pokemon.h"
#include "savedata.h"
#include "strbuf.h"
#include "trainer_info.h"
#include "pokemon.h"
#include "struct_decls/struct_020797DC_decl.h"
#include "struct_defs/trainer_data.h"
#include "savedata.h"
#include "enums.h"
typedef struct StringTemplate StringTemplate;
#define STRING_TEMPLATE_DEFAULT_MAX_ARGS 8
#define STRING_TEMPLATE_DEFAULT_MAX_LENGTH 32
StringTemplate * StringTemplate_Default(u32 param0);
StringTemplate * StringTemplate_New(u32 param0, u32 param1, u32 param2);
void StringTemplate_Free(StringTemplate * param0);
void StringTemplate_SetStrbuf(StringTemplate * param0, u32 param1, const Strbuf *param2, u32 param3, BOOL param4, u32 param5);
void StringTemplate_SetPlayerName(StringTemplate * param0, u32 param1, const TrainerInfo * param2);
void StringTemplate_SetRivalName(StringTemplate * param0, u32 param1, const SaveData * param2);
void StringTemplate_SetCounterpartName(StringTemplate * param0, u32 param1, const SaveData * param2);
void StringTemplate_SetSpeciesName(StringTemplate * param0, u32 param1, BoxPokemon * param2);
void StringTemplate_SetSpeciesNameWithArticle(StringTemplate * param0, u32 param1, BoxPokemon * param2);
void StringTemplate_SetSpeciesNameWithArticleByID(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetNickname(StringTemplate * param0, u32 param1, BoxPokemon * param2);
void StringTemplate_SetOTName(StringTemplate * param0, u32 param1, BoxPokemon * param2);
void StringTemplate_SetNumber(StringTemplate * param0, u32 param1, s32 param2, u32 param3, int param4, int param5);
void StringTemplate_SetMoveName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetRibbonName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetAbilityName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetNatureName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetItemName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetItemNameWithArticle(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetItemNamePlural(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetBagPocketName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetPokemonTypeName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetPokemonStatName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetStatusConditionName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetFlavorName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetLocationName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetPoketchAppName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetTrainerClassName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetTrainerClassNameWithArticle(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetTrainerClassNameBattle(StringTemplate * param0, u32 param1, TrainerData * param2);
void StringTemplate_SetTrainerName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetFrontierTrainerName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetTrainerNameBattle(StringTemplate * param0, u32 param1, TrainerData * param2);
void StringTemplate_SetUndergroundItemName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetUndergroundItemNameWithArticle(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetUndergroundTrapName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetUndergroundTrapNameWithArticle(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetContestJudgeName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetContestRankName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetContestTypeName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetUndergroundQuestion(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetUndergroundAnswer(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetUndergroundGoodsName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetUndergroundGoodsNameWithArticle(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetGenderMarker(StringTemplate * param0, u32 param1, u8 param2);
void StringTemplate_SetPCBoxName(StringTemplate * param0, u32 param1, const PCBoxes * param2, u32 param3);
void StringTemplate_SetGymName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetTimeOfDay(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetCountryName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetCityName(StringTemplate * param0, u32 param1, u32 param2, u32 param3);
void StringTemplate_SetCustomMessageWord(StringTemplate * param0, u32 param1, u16 param2);
void StringTemplate_SetBallSealName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetBallSealNamePlural(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetMetLocationName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetPoffinName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetContestAccessoryName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetContestAccessoryNameWithArticle(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetContestBackdropName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetUnionGroupName(StringTemplate * param0, SaveData * param1, int param2, int param3, int param4);
void StringTemplate_SetPlazaMinigameName(StringTemplate * param0, u32 param1, enum PlazaMinigame param2);
void StringTemplate_SetPlazaEventName(StringTemplate * param0, u32 param1, int param2);
void StringTemplate_SetPlazaItemName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetJPGreeting(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetENGreeting(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetFRGreeting(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetITGreeting(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetDEGreeting(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetESGreeting(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetFurniture(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_SetMonthName(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_CapitalizeArgAtIndex(StringTemplate * param0, u32 param1);
void StringTemplate_SetDepartmentStoreFloor(StringTemplate * param0, u32 param1, u32 param2);
void StringTemplate_Format(const StringTemplate * param0, Strbuf *param1, const Strbuf *param2);
void StringTemplate_ClearArgs(StringTemplate * param0);
typedef struct StringTemplateArgHeader {
u8 unused_00;
u8 unused_01;
u8 unused_02;
u8 unused_03;
} StringTemplateArgHeader;
typedef struct StringTemplateArg {
StringTemplateArgHeader header;
Strbuf *strbuf;
} StringTemplateArg;
typedef struct StringTemplate {
u32 maxArgs;
u32 heapID;
StringTemplateArg *args;
Strbuf *templateBuf;
} StringTemplate;
StringTemplate *StringTemplate_Default(u32 heapID);
StringTemplate *StringTemplate_New(u32 maxArgs, u32 maxLen, u32 heapID);
void StringTemplate_Free(StringTemplate *template);
void StringTemplate_SetStrbuf(StringTemplate *template, u32 idx, const Strbuf *argVal, u32 unused3, BOOL unused4, u32 unused5);
void StringTemplate_SetPlayerName(StringTemplate *template, u32 idx, const TrainerInfo *playerInfo);
void StringTemplate_SetRivalName(StringTemplate *template, u32 idx, const SaveData *save);
void StringTemplate_SetCounterpartName(StringTemplate *template, u32 idx, const SaveData *save);
void StringTemplate_SetSpeciesName(StringTemplate *template, u32 idx, BoxPokemon *boxMon);
void StringTemplate_SetSpeciesNameWithArticle(StringTemplate *template, u32 idx, BoxPokemon *boxMon);
void StringTemplate_SetSpeciesNameWithArticleByID(StringTemplate *template, u32 idx, u32 species);
void StringTemplate_SetNickname(StringTemplate *template, u32 idx, BoxPokemon *boxMon);
void StringTemplate_SetOTName(StringTemplate *template, u32 idx, BoxPokemon *boxMon);
void StringTemplate_SetNumber(StringTemplate *template, u32 idx, int num, u32 maxDigits, enum PaddingMode paddingMode, enum CharsetMode charsetMode);
void StringTemplate_SetMoveName(StringTemplate *template, u32 idx, enum Move move);
void StringTemplate_SetRibbonName(StringTemplate *template, u32 idx, u32 ribbon);
void StringTemplate_SetAbilityName(StringTemplate *template, u32 idx, enum Ability ability);
void StringTemplate_SetNatureName(StringTemplate *template, u32 idx, u32 nature);
void StringTemplate_SetItemName(StringTemplate *template, u32 idx, u32 item);
void StringTemplate_SetItemNameWithArticle(StringTemplate *template, u32 idx, u32 item);
void StringTemplate_SetItemNamePlural(StringTemplate *template, u32 idx, u32 item);
void StringTemplate_SetBagPocketName(StringTemplate *template, u32 idx, u32 pocket);
void StringTemplate_SetPokemonTypeName(StringTemplate *template, u32 idx, u32 type);
void StringTemplate_SetPokemonStatName(StringTemplate *template, u32 idx, u32 stat);
void StringTemplate_SetStatusConditionName(StringTemplate *template, u32 idx, u32 status);
void StringTemplate_SetFlavorName(StringTemplate *template, u32 idx, u32 flavor);
void StringTemplate_SetLocationName(StringTemplate *template, u32 idx, u32 location);
void StringTemplate_SetPoketchAppName(StringTemplate *template, u32 idx, u32 app);
void StringTemplate_SetTrainerClassName(StringTemplate *template, u32 idx, u32 trainerClass);
void StringTemplate_SetTrainerClassNameWithArticle(StringTemplate *template, u32 idx, u32 trainerClass);
void StringTemplate_SetTrainerClassNameBattle(StringTemplate *template, u32 idx, TrainerData *trainerData);
void StringTemplate_SetTrainerName(StringTemplate *template, u32 idx, u32 trainerID);
void StringTemplate_SetFrontierTrainerName(StringTemplate *template, u32 idx, u32 trainerID);
void StringTemplate_SetTrainerNameBattle(StringTemplate *template, u32 idx, TrainerData *trainerData);
void StringTemplate_SetUndergroundItemName(StringTemplate *template, u32 idx, u32 item);
void StringTemplate_SetUndergroundItemNameWithArticle(StringTemplate *template, u32 idx, u32 item);
void StringTemplate_SetUndergroundTrapName(StringTemplate *template, u32 idx, u32 trap);
void StringTemplate_SetUndergroundTrapNameWithArticle(StringTemplate *template, u32 idx, u32 trap);
void StringTemplate_SetContestJudgeName(StringTemplate *template, u32 idx, u32 judge);
void StringTemplate_SetContestRankName(StringTemplate *template, u32 idx, u32 rank);
void StringTemplate_SetContestTypeName(StringTemplate *template, u32 idx, u32 type);
void StringTemplate_SetUndergroundQuestion(StringTemplate *template, u32 idx, u32 question);
void StringTemplate_SetUndergroundAnswer(StringTemplate *template, u32 idx, u32 answer);
void StringTemplate_SetUndergroundGoodsName(StringTemplate *template, u32 idx, u32 goods);
void StringTemplate_SetUndergroundGoodsNameWithArticle(StringTemplate *template, u32 idx, u32 goods);
void StringTemplate_SetGenderMarker(StringTemplate *template, u32 idx, enum Gender gender);
void StringTemplate_SetPCBoxName(StringTemplate *template, u32 idx, const PCBoxes *boxes, u32 boxIdx);
void StringTemplate_SetGymName(StringTemplate *template, u32 idx, u32 gym);
void StringTemplate_SetTimeOfDay(StringTemplate *template, u32 idx, u32 timeOfDay);
void StringTemplate_SetCountryName(StringTemplate *template, u32 idx, u32 country);
void StringTemplate_SetCityName(StringTemplate *template, u32 idx, u32 country, u32 city);
void StringTemplate_SetCustomMessageWord(StringTemplate *template, u32 idx, u16 customMessageWord);
void StringTemplate_SetBallSealName(StringTemplate *template, u32 idx, u32 ballSeal);
void StringTemplate_SetBallSealNamePlural(StringTemplate *template, u32 idx, u32 ballSeal);
void StringTemplate_SetMetLocationName(StringTemplate *template, u32 idx, u32 location);
void StringTemplate_SetPoffinName(StringTemplate *template, u32 idx, u32 poffin);
void StringTemplate_SetContestAccessoryName(StringTemplate *template, u32 idx, u32 accessory);
void StringTemplate_SetContestAccessoryNameWithArticle(StringTemplate *template, u32 idx, u32 accessory);
void StringTemplate_SetContestBackdropName(StringTemplate *template, u32 idx, u32 backdrop);
void StringTemplate_SetUnionGroupName(StringTemplate *template, SaveData *save, int groupID, int idx, int nameType);
void StringTemplate_SetPlazaMinigameName(StringTemplate *template, u32 idx, enum PlazaMinigame minigame);
void StringTemplate_SetPlazaEventName(StringTemplate *template, u32 idx, int event);
void StringTemplate_SetPlazaItemName(StringTemplate *template, u32 idx, u32 item);
void StringTemplate_SetJPGreeting(StringTemplate *template, u32 idx, u32 greeting);
void StringTemplate_SetENGreeting(StringTemplate *template, u32 idx, u32 greeting);
void StringTemplate_SetFRGreeting(StringTemplate *template, u32 idx, u32 greeting);
void StringTemplate_SetITGreeting(StringTemplate *template, u32 idx, u32 greeting);
void StringTemplate_SetDEGreeting(StringTemplate *template, u32 idx, u32 greeting);
void StringTemplate_SetESGreeting(StringTemplate *template, u32 idx, u32 greeting);
void StringTemplate_SetFurniture(StringTemplate *template, u32 idx, u32 furniture);
void StringTemplate_SetMonthName(StringTemplate *template, u32 idx, u32 month);
void StringTemplate_SetDepartmentStoreFloor(StringTemplate *template, u32 idx, u32 floor);
void StringTemplate_CapitalizeArgAtIndex(StringTemplate *template, u32 idx);
void StringTemplate_Format(const StringTemplate *template, Strbuf *dst, const Strbuf *fmtString);
void StringTemplate_ClearArgs(StringTemplate *template);
#endif // POKEPLATINUM_STRING_TEMPLATE_H