summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/MWC_string.h2
-rw-r--r--include/game_init.h34
-rw-r--r--include/main.h65
-rw-r--r--include/player_data.h2
-rw-r--r--include/save_block_2.h1
-rw-r--r--include/script_buffers.h113
-rw-r--r--include/unk_0201B4E8.h7
-rw-r--r--include/unk_020286F8.h35
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