pokediamond/include/message_format.h
2024-09-30 18:18:30 +01:00

102 lines
6.1 KiB
C

#ifndef POKEDIAMOND_MESSAGE_FORMAT_H
#define POKEDIAMOND_MESSAGE_FORMAT_H
#include "bg_window.h"
#include "pokemon.h"
#include "pokemon_storage_system.h"
#include "trainer_data.h"
typedef struct MessageFormatAttrs {
u8 data[4];
} MessageFormatAttrs;
typedef struct MessageFormatFields {
MessageFormatAttrs attrs;
struct String *msg;
} MessageFormatFields;
typedef struct MessageFormat {
u32 count;
HeapID heapId;
MessageFormatFields *fields;
struct String *buffer;
} MessageFormat;
struct UnkStruct_0200B870 {
void *unk_0;
struct NNSG2dCharacterData *unk_4;
u16 data[16];
u32 unk_28;
};
MessageFormat *MessageFormat_New(HeapID heapId);
MessageFormat *MessageFormat_New_Custom(u32 nstr, u32 strlen, HeapID heapId);
void MessageFormat_Delete(MessageFormat *messageFormat);
void MessageFormat_InitFields(MessageFormatFields *fields);
void SetStringAsPlaceholder(MessageFormat *messageFormat, u32 idx, struct String *str, MessageFormatAttrs *attrs);
void BufferString(MessageFormat *messageFormat, u32 idx, struct String *str, u32 a3, u32 a4, u32 a5);
void BufferPlayersName(MessageFormat *messageFormat, u32 idx, PlayerProfile *data);
void BufferRivalsName(MessageFormat *messageFormat, u32 idx, struct SaveData *save);
void BufferFriendsName(MessageFormat *messageFormat, u32 idx, struct SaveData *save);
void BufferBoxMonSpeciesName(MessageFormat *messageFormat, u32 idx, struct BoxPokemon *mon);
void BufferBoxMonSpeciesNameWithArticle(MessageFormat *messageFormat, u32 idx, struct BoxPokemon *mon);
void BufferSpeciesNameWithArticle(MessageFormat *messageFormat, u32 idx, u32 species);
void BufferBoxMonNickname(MessageFormat *messageFormat, u32 idx, struct BoxPokemon *mon);
void BufferBoxMonOTName(MessageFormat *messageFormat, u32 idx, struct BoxPokemon *mon);
void BufferIntegerAsString(MessageFormat *messageFormat, u32 idx, s32 num, u32 ndigits, enum PrintingMode printingMode, BOOL whichCharset);
void BufferMoveName(MessageFormat *messageFormat, u32 idx, u32 move);
void BufferRibbonNameOrDesc(MessageFormat *messageFormat, u32 idx, u32 ribbon);
void BufferAbilityName(MessageFormat *messageFormat, u32 idx, u32 ability);
void BufferNatureName(MessageFormat *messageFormat, u32 idx, u32 nature);
void BufferItemName(MessageFormat *messageFormat, u32 idx, u32 item);
void BufferItemNameWithIndefArticle(MessageFormat *messageFormat, u32 idx, u32 item);
void BufferItemNamePlural(MessageFormat *messageFormat, u32 idx, u32 item);
void BufferPocketName(MessageFormat *messageFormat, u32 idx, u32 pocket);
void BufferTypeName(MessageFormat *messageFormat, u32 idx, u32 type);
void BufferStatName(MessageFormat *messageFormat, u32 idx, u32 stat);
void BufferStatusName(MessageFormat *messageFormat, u32 idx, u32 status);
void BufferFlavorDislikeText(MessageFormat *messageFormat, u32 idx, u32 flavor);
void BufferLandmarkName(MessageFormat *messageFormat, u32 idx, u32 landmark);
void BufferPoketchAppName(MessageFormat *messageFormat, u32 idx, u32 app);
void BufferTrainerClassName(MessageFormat *messageFormat, u32 idx, u32 trclass);
void BufferTrainerClassNameWithArticle(MessageFormat *messageFormat, u32 idx, u32 trclass);
void BufferTrainerClassNameFromDataStruct(MessageFormat *messageFormat, u32 idx, Trainer *tr);
void BufferTrainerName(MessageFormat *messageFormat, u32 idx, u32 msgno);
void BufferTrainerNameFromDataStruct(MessageFormat *messageFormat, u32 idx, Trainer *trdata);
void BufferUndergroundItemName(MessageFormat *messageFormat, u32 idx, u32 item);
void BufferUndergroundItemNameWithArticle(MessageFormat *messageFormat, u32 idx, u32 item);
void BufferUndergroundTrapName(MessageFormat *messageFormat, u32 idx, u32 trap);
void BufferUndergroundTrapNameWithArticle(MessageFormat *messageFormat, u32 idx, u32 trap);
void BufferContestJudgeName(MessageFormat *messageFormat, u32 idx, u32 judge);
void BufferContestMessage(MessageFormat *messageFormat, u32 idx, u32 msg);
void BufferContestMessage2(MessageFormat *messageFormat, u32 idx, u32 msg);
void BufferInterviewQuestion(MessageFormat *messageFormat, u32 idx, u32 question);
void BufferInterviewAnswer(MessageFormat *messageFormat, u32 idx, u32 answer);
void BufferDecorationName(MessageFormat *messageFormat, u32 idx, u32 decor);
void BufferDecorationNameWithArticle(MessageFormat *messageFormat, u32 idx, u32 decor);
void BufferGenderSymbol(MessageFormat *messageFormat, u32 idx, u32 gender);
void BufferBoxName(MessageFormat *messageFormat, u32 idx, struct PCStorage *pc, s32 boxno);
void BufferGymName(MessageFormat *messageFormat, u32 idx, u32 gym);
void BufferTimeOfDayName(MessageFormat *messageFormat, u32 idx, u32 time);
void BufferCountryName(MessageFormat *messageFormat, u32 idx, u32 country);
void BufferCityName(MessageFormat *messageFormat, u32 idx, u32 a2, u32 a3);
void BufferECWord(MessageFormat *messageFormat, u32 idx, u32 a2);
void BufferSealName(MessageFormat *messageFormat, u32 idx, u32 seal);
void BufferSealNamePlural(MessageFormat *messageFormat, u32 idx, u32 seal);
void BufferLocationName(MessageFormat *messageFormat, u32 idx, u16 location);
void BufferPoffinName(MessageFormat *messageFormat, u32 idx, u32 poffin);
void BufferFashionName(MessageFormat *messageFormat, u32 idx, u32 fashion);
void BufferFashionNameWithArticle(MessageFormat *messageFormat, u32 idx, u32 fashion);
void BufferContestBackgroundName(MessageFormat *messageFormat, u32 idx, u32 bg);
void BufferGroupName(MessageFormat *messageFormat, struct SaveData *save, u32 r5, u32 idx, u32 sp28);
void BufferMonthNameAbbr(MessageFormat *messageFormat, u32 idx, u32 month);
void MessageFormat_UpperFirstChar(MessageFormat *messageFormat, u32 idx);
void StringExpandPlaceholders(MessageFormat *messageFormat, struct String *dest, struct String *src);
void MessageFormat_ResetBuffers(MessageFormat *messageFormat);
struct UnkStruct_0200B870 *MessagePrinter_New(u32 color1, u32 color2, u32 color3, HeapID heapId);
void MessagePrinter_Delete(struct UnkStruct_0200B870 *a0);
void sub_0200B9A8(struct UnkStruct_0200B870 *a0, int a1, struct Window *a2, int a3, int a4);
void sub_0200B9EC(struct UnkStruct_0200B870 *string, u32 value, u32 n, enum PrintingMode mode, struct Window *window, int x, int y);
#endif // POKEDIAMOND_MESSAGE_FORMAT_H