diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/MWC_string.h | 2 | ||||
-rw-r--r-- | include/game_init.h | 34 | ||||
-rw-r--r-- | include/main.h | 65 | ||||
-rw-r--r-- | include/player_data.h | 2 | ||||
-rw-r--r-- | include/save_block_2.h | 1 | ||||
-rw-r--r-- | include/script_buffers.h | 113 | ||||
-rw-r--r-- | include/unk_0201B4E8.h | 7 | ||||
-rw-r--r-- | include/unk_020286F8.h | 35 |
8 files changed, 233 insertions, 26 deletions
diff --git a/include/MWC_string.h b/include/MWC_string.h index 79639239..8e30b47e 100644 --- a/include/MWC_string.h +++ b/include/MWC_string.h @@ -5,5 +5,7 @@ void * memset(void *, int, u32); void * memcpy(void *, const void *, u32); +u32 strlen(const s8 *); +void strcpy(s8 * dest, const s8 * src); #endif //GUARD_MWC_STRING_H diff --git a/include/game_init.h b/include/game_init.h new file mode 100644 index 00000000..7a6e34fb --- /dev/null +++ b/include/game_init.h @@ -0,0 +1,34 @@ +#ifndef POKEDIAMOND_GAME_INIT_H +#define POKEDIAMOND_GAME_INIT_H + +#include "main.h" + +void FUN_02015EA0(void); +void FUN_02015ED4(void); +void FUN_02015EF4(void); +void Main_SetVBlankIntrCB(void (*a0)(void *), void * a1); +void FUN_02015F1C(void); +BOOL FUN_02015F34(void (*a0)(void *), void * a1); +void FUN_02015F6C(void); +void Main_HBlankIntr(BOOL a0); +void FUN_02015FC8(void); +void InitSystemForTheGame(void); +void InitGraphicMemory(void); +void * FUN_020161A4(u32 heap_id, const char * path); +void FUN_020161F8(const char * path, void ** ptr); +u32 FUN_02016230(const s8 * str); +int FUN_020162A0(u32 a0); +int FUN_020162C8(void * a0, u32 a1); +void FUN_020162FC(void); +void * FUN_02016324(const s8 * str, u32 heap_id); +void FUN_020163BC(void); +void FUN_02016438(u8 a0); +void FUN_02016444(u8 a0); +void FUN_02016454(u8 a0); +void FUN_02016464(void); +void FUN_02016568(void); +void FUN_0201669C(int x, int y); +void FUN_020166A8(u8 a0); +void FUN_020166B8(u8 a0); + +#endif //POKEDIAMOND_GAME_INIT_H diff --git a/include/main.h b/include/main.h index fa31953c..499861a8 100644 --- a/include/main.h +++ b/include/main.h @@ -54,29 +54,6 @@ struct Unk21C4828 u32 unk8; }; -struct Unk21C48B8 -{ - void (*unk0)(s32); - s32 unk4; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; - s32 unk18; - s32 unk1C; - s32 unk20; - s32 unk24; - s32 unk28; - u32 unk2C; - s32 unk30; - s32 unk34; - s32 unk38; - u8 filler3C[0xC]; - s32 unk48; - u8 filler4C[0x20]; - s32 unk6C; -}; - struct UnkStruct_021C4918 { s32 unk0; u8 unk4; @@ -87,14 +64,52 @@ struct UnkStruct_021C4918 { u8 padding[3]; }; -extern struct UnkStruct_021C4918 gUnk021C4918; +struct Main +{ + void (*vBlankIntr)(void *); + void * vBlankIntrArg; + void (*hBlankIntr)(void *); + void * hBlankIntrArg; + s32 unk10; + s32 unk14; + void * unk18; + void * unk1C; + void * unk20; + void * unk24; + s32 unk28; + u32 unk2C; + s32 unk30; + u32 unk34; + u32 unk38; + u32 unk3C; + u32 unk40; + u32 unk44; + u32 unk48; + u32 unk4C; + s32 unk50; + s32 unk54; + s32 unk58; + u16 unk5C; + u16 unk5E; + u16 unk60; + u16 unk62; + u8 unk64; + u8 unk65; + u8 unk66; + u8 unk67; + u8 unk68; + u8 padding_69[3]; + s32 unk6C; +}; + +//extern struct UnkStruct_021C4918 gMain + 0x60; extern struct Unk2106FA0 gBacklightTop; extern struct Unk2106FA0 gBacklightTop_2; // same as the first one, it's referenced twice in the constant pool... void NitroMain(void); -extern struct Unk21C48B8 gMain; +extern struct Main gMain; void FUN_02000DF4(void); void Main_RunOverlayManager(void); diff --git a/include/player_data.h b/include/player_data.h index b4c7ce41..3c78de8f 100644 --- a/include/player_data.h +++ b/include/player_data.h @@ -38,5 +38,7 @@ u32 PlayerProfile_GetTrainerID(struct PlayerData *); u32 PlayerProfile_GetTrainerGender(struct PlayerData *); u32 Sav2_PlayerData_sizeof(void); void Sav2_PlayerData_init(struct PlayerDataSav *); +u16 * PlayerProfile_GetNamePtr(struct PlayerData * data); +struct PlayerData * Sav2_PlayerData_GetProfileAddr(struct SaveBlock2 * sav2); #endif //POKEDIAMOND_PLAYER_DATA_H diff --git a/include/save_block_2.h b/include/save_block_2.h index f54e556e..a4514c96 100644 --- a/include/save_block_2.h +++ b/include/save_block_2.h @@ -78,7 +78,6 @@ struct SaveBlock2 /* 0x2047C */ struct UnkSavSub_2047C unk_2047C; /* 0x204A0 */ u32 unk_204A0; /* 0x204A4 */ u32 unk_204A4; - // TODO: finish this struct }; // size: 0x204A8 typedef u32 (*SAVSIZEFN)(void); diff --git a/include/script_buffers.h b/include/script_buffers.h new file mode 100644 index 00000000..76d4eb71 --- /dev/null +++ b/include/script_buffers.h @@ -0,0 +1,113 @@ +#ifndef POKEDIAMOND_SCRIPT_BUFFERS_H +#define POKEDIAMOND_SCRIPT_BUFFERS_H + +struct UnkStruct_0200AA80_sub_sub +{ + u8 data[4]; +}; + +struct UnkStruct_0200AA80_sub +{ + struct UnkStruct_0200AA80_sub_sub attrs; + struct String * msg; +}; + +struct ScrStrBufs +{ + u32 count; + u32 heap_id; + struct UnkStruct_0200AA80_sub * array; + struct String * tmpbuf; +}; + +struct Trainer +{ + u8 unk0; + u8 unk1; +}; + +struct UnkStruct_0200B870_sub +{ + u8 filler_00[16]; + u32 unk_10; + u8 * unk_14; +}; + +struct UnkStruct_0200B870 +{ + void * unk_0; + struct UnkStruct_0200B870_sub * unk_4; + u16 data[16]; + u32 unk_28; +}; + +struct ScrStrBufs * ScrStrBufs_new(u32 heap_id); +struct ScrStrBufs * ScrStrBufs_new_custom(u32 nstr, u32 strlen, u32 heap_id); +void ScrStrBufs_delete(struct ScrStrBufs * ptr); +void ScrStrBufs_InitSub(struct UnkStruct_0200AA80_sub * sub); +void SetStringAsPlaceholder(struct ScrStrBufs * mgr, u32 idx, struct String * str, struct UnkStruct_0200AA80_sub_sub * a3); +void BufferString(struct ScrStrBufs * mgr, u32 idx, struct String * str, u32 a3, u32 a4, u32 a5); +void BufferPlayersName(struct ScrStrBufs * mgr, u32 idx, struct PlayerData * data); +void BufferRivalsName(struct ScrStrBufs * mgr, u32 idx, struct SaveBlock2 * sav2); +void BufferFriendsName(struct ScrStrBufs * mgr, u32 idx, struct SaveBlock2 * sav2); +void BufferBoxMonSpeciesName(struct ScrStrBufs * mgr, u32 idx, struct BoxPokemon * mon); +void BufferBoxMonSpeciesNameWithArticle(struct ScrStrBufs * mgr, u32 idx, struct BoxPokemon * mon); +void BufferSpeciesNameWithArticle(struct ScrStrBufs * mgr, u32 idx, u32 species); +void BufferBoxMonNickname(struct ScrStrBufs * mgr, u32 idx, struct BoxPokemon * mon); +void BufferBoxMonOTName(struct ScrStrBufs * mgr, u32 idx, struct BoxPokemon * mon); +void BufferIntegerAsString(struct ScrStrBufs * mgr, u32 idx, int num, u32 ndigits, int strConvMode, BOOL whichCharset); +void BufferMoveName(struct ScrStrBufs * mgr, u32 idx, u32 move); +void BufferRibbonNameOrDesc(struct ScrStrBufs * mgr, u32 idx, u32 ribbon); +void BufferAbilityName(struct ScrStrBufs * mgr, u32 idx, u32 ability); +void BufferNatureName(struct ScrStrBufs * mgr, u32 idx, u32 nature); +void BufferItemName(struct ScrStrBufs * mgr, u32 idx, u32 item); +void BufferItemNameWithIndefArticle(struct ScrStrBufs * mgr, u32 idx, u32 item); +void BufferItemNamePlural(struct ScrStrBufs * mgr, u32 idx, u32 item); +void BufferPocketName(struct ScrStrBufs * mgr, u32 idx, u32 pocket); +void BufferTypeName(struct ScrStrBufs * mgr, u32 idx, u32 type); +void BufferStatName(struct ScrStrBufs * mgr, u32 idx, u32 stat); +void BufferStatusName(struct ScrStrBufs * mgr, u32 idx, u32 status); +void BufferFlavorDislikeText(struct ScrStrBufs * mgr, u32 idx, u32 flavor); +void BufferLandmarkName(struct ScrStrBufs * mgr, u32 idx, u32 landmark); +void BufferPoketchAppName(struct ScrStrBufs * mgr, u32 idx, u32 app); +void BufferTrainerClassName(struct ScrStrBufs * mgr, u32 idx, u32 trclass); +void BufferTrainerClassNameWithArticle(struct ScrStrBufs * mgr, u32 idx, u32 trclass); +void BufferTrainerClassName2(struct ScrStrBufs * mgr, u32 idx, struct Trainer * tr); +void FUN_0200B10C(struct ScrStrBufs * mgr, u32 idx, u32 msgno); +void FUN_0200B144(struct ScrStrBufs * mgr, u32 idx, void * unk_struct); +void BufferUndergroundItemName(struct ScrStrBufs * mgr, u32 idx, u32 item); +void BufferUndergroundItemNameWithArticle(struct ScrStrBufs * mgr, u32 idx, u32 item); +void BufferUndergroundTrapName(struct ScrStrBufs * mgr, u32 idx, u32 trap); +void BufferUndergroundTrapNameWithArticle(struct ScrStrBufs * mgr, u32 idx, u32 trap); +void BufferContestJudgeName(struct ScrStrBufs * mgr, u32 idx, u32 judge); +void BufferContestMessage(struct ScrStrBufs * mgr, u32 idx, u32 msg); +void BufferContestMessage2(struct ScrStrBufs * mgr, u32 idx, u32 msg); +void BufferInterviewQuestion(struct ScrStrBufs * mgr, u32 idx, u32 question); +void BufferInterviewAnswer(struct ScrStrBufs * mgr, u32 idx, u32 answer); +void BufferDecorationName(struct ScrStrBufs * mgr, u32 idx, u32 decor); +void BufferDecorationNameWithArticle(struct ScrStrBufs * mgr, u32 idx, u32 decor); +void BufferGenderSymbol(struct ScrStrBufs * mgr, u32 idx, u32 gender); +void BufferBoxName(struct ScrStrBufs * mgr, u32 idx, struct PCStorage * pc, int boxno); +void BufferGymName(struct ScrStrBufs * mgr, u32 idx, u32 gym); +void BufferTimeOfDayName(struct ScrStrBufs * mgr, u32 idx, u32 time); +void BufferCountryName(struct ScrStrBufs * mgr, u32 idx, u32 country); +void BufferCityName(struct ScrStrBufs * mgr, u32 idx, u32 a2, u32 a3); +void FUN_0200B518(struct ScrStrBufs * mgr, u32 idx, u32 a2); +void BufferSealName(struct ScrStrBufs * mgr, u32 idx, u32 seal); +void BufferSealNamePlural(struct ScrStrBufs * mgr, u32 idx, u32 seal); +void BufferLocationName(struct ScrStrBufs * mgr, u32 idx, u16 a2); +void BufferPoffinName(struct ScrStrBufs * mgr, u32 idx, u32 poffin); +void BufferFashionName(struct ScrStrBufs * mgr, u32 idx, u32 fashion); +void BufferFashionNameWithArticle(struct ScrStrBufs * mgr, u32 idx, u32 fashion); +void BufferContestBackgroundName(struct ScrStrBufs * mgr, u32 idx, u32 bg); +void FUN_0200B708(struct ScrStrBufs * mgr, struct SaveBlock2 * sav2, u32 r5, u32 idx, u32 sp28); +void BufferMonthNameAbbr(struct ScrStrBufs * mgr, u32 idx, u32 month); +void FUN_0200B7A8(struct ScrStrBufs * mgr, u32 idx); +void StringExpandPlaceholders(struct ScrStrBufs * mgr, struct String * dest, struct String * src); +void FUN_0200B84C(struct ScrStrBufs * mgr); +struct UnkStruct_0200B870 * FUN_0200B870(u32 r5, u32 r6, u32 sp4, u32 r4); +void FUN_0200B990(struct UnkStruct_0200B870 * a0); +void FUN_0200B9A8(struct UnkStruct_0200B870 * a0, int a1, int a2, int a3, int a4); +void FUN_0200B9EC(struct UnkStruct_0200B870 * string, u32 value, u32 n, enum PrintingMode mode, int sp30, int r5, int r7); + +#endif //POKEDIAMOND_SCRIPT_BUFFERS_H diff --git a/include/unk_0201B4E8.h b/include/unk_0201B4E8.h new file mode 100644 index 00000000..d29b198c --- /dev/null +++ b/include/unk_0201B4E8.h @@ -0,0 +1,7 @@ +#ifndef POKEDIAMOND_UNK_0201B4E8_H +#define POKEDIAMOND_UNK_0201B4E8_H + +void * FUN_0201B580(u32, void *); +u32 FUN_0201B578(u32); + +#endif //POKEDIAMOND_UNK_0201B4E8_H diff --git a/include/unk_020286F8.h b/include/unk_020286F8.h new file mode 100644 index 00000000..3d81753a --- /dev/null +++ b/include/unk_020286F8.h @@ -0,0 +1,35 @@ +#ifndef POKEDIAMOND_UNK_020286F8_H +#define POKEDIAMOND_UNK_020286F8_H + +struct UnkSaveStruct_020286F8 +{ + u16 unk_0[8]; + u16 unk_10[8]; + u8 unk_20; + u8 unk_21; + u8 filler_22[2]; + u32 unk_24; + u32 unk_28; +}; + +u32 FUN_020286F8(void); +void FUN_02028700(struct UnkSaveStruct_020286F8 * ptr, int a, int b); +void FUN_02028724(struct UnkSaveStruct_020286F8 * ptr); +void FUN_02028754(struct UnkSaveStruct_020286F8 * ptr, u32 n); +u32 FUN_0202877C(struct UnkSaveStruct_020286F8 * ptr, u32 i); +void FUN_02028788(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j); +u32 FUN_020287A4(struct UnkSaveStruct_020286F8 * ptr); +u16 * FUN_020287A8(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j); +void FUN_020287C0(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j, struct String * k); +void FUN_020287EC(struct UnkSaveStruct_020286F8 * ptr, u32 i, u8 j); +u8 FUN_020287F8(struct UnkSaveStruct_020286F8 * ptr, u32 i); +u8 FUN_02028804(struct UnkSaveStruct_020286F8 * ptr, u32 i); +void FUN_02028810(struct UnkSaveStruct_020286F8 * ptr, u32 i, u8 j); +struct UnkSaveStruct_020286F8 * FUN_0202881C(struct SaveBlock2 * sav2); +BOOL FUN_02028828(struct UnkSaveStruct_020286F8 * ptr, u32 i); +BOOL FUN_02028840(struct UnkSaveStruct_020286F8 * ptr, int i); +BOOL FUN_02028854(struct UnkSaveStruct_020286F8 * ptr, const u16 * str); +BOOL FUN_0202888C(struct UnkSaveStruct_020286F8 * ptr); +BOOL FUN_020288AC(struct UnkSaveStruct_020286F8 * ptr, struct UnkSaveStruct_020286F8 * ptr2); + +#endif //POKEDIAMOND_UNK_020286F8_H |