summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sav_system_info.h2
-rw-r--r--include/scrcmd.h130
-rw-r--r--include/script.h7
-rw-r--r--include/unk_020286F8.h4
-rw-r--r--include/unk_02029FB0.h2
-rw-r--r--include/unk_0202D858.h10
-rw-r--r--include/unk_0202E29C.h137
-rw-r--r--include/unk_0202F150.h186
-rw-r--r--include/unk_02031480.h30
-rw-r--r--include/unk_02031734.h215
-rw-r--r--include/unk_0204639C.h12
-rw-r--r--include/unk_0204B0A0.h25
-rw-r--r--include/unk_0205FA2C.h121
-rw-r--r--include/unk_0206015C.h30
-rw-r--r--include/unk_0206BB28.h4
-rw-r--r--include/unk_0208890C.h25
16 files changed, 925 insertions, 15 deletions
diff --git a/include/sav_system_info.h b/include/sav_system_info.h
index 696cfe07..bded91f7 100644
--- a/include/sav_system_info.h
+++ b/include/sav_system_info.h
@@ -3,6 +3,8 @@
#include "RTC_api.h"
+struct SaveBlock2;
+
struct UnkSaveStruct_0202376C_sub
{
/* 0x00 */ u32 field_00;
diff --git a/include/scrcmd.h b/include/scrcmd.h
index dd43e586..86bb4f51 100644
--- a/include/scrcmd.h
+++ b/include/scrcmd.h
@@ -106,6 +106,70 @@ BOOL ScrCmd_Unk0048(struct ScriptContext *ctx);
BOOL ScrCmd_Unk02CF(struct ScriptContext *ctx);
BOOL ScrCmd_Unk02D0(struct ScriptContext *ctx);
+//scrcmd_4.c
+BOOL ScrCmd_GetPlayerName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetRivalName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetFriendName(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk00D0(struct ScriptContext* ctx);
+BOOL ScrCmd_GetItemName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetPocketName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetTMHMMoveName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetMoveName(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk00D5(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0280(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk00D6(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0251(struct ScriptContext* ctx);
+BOOL ScrCmd_GetPoketchAppName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetTrainerClassName(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk00D9(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk00DA(struct ScriptContext* ctx);
+struct String* FUN_02040AE4(u32 msg_no, u32 heap_id);
+BOOL ScrCmd_Unk00DB(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk00DC(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk00DD(struct ScriptContext* ctx);
+BOOL ScrCmd_GetDecorationName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetUndergroundTrapName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetUndergroundItemName(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk00E2(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk017B(struct ScriptContext* ctx);
+BOOL ScrCmd_GetNatureName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetFashionName(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0272(struct ScriptContext* ctx);
+BOOL ScrCmd_GetPokemonMoveName(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0232(struct ScriptContext* ctx);
+BOOL ScrCmd_GetSealName(struct ScriptContext* ctx);
+BOOL ScrCmd_GetItemNameWithIndefArticle(struct ScriptContext* ctx);
+BOOL ScrCmd_GetItemNamePlural(struct ScriptContext* ctx);
+BOOL ScrCmd_GetDecorationNameWithArticle(struct ScriptContext* ctx);
+BOOL ScrCmd_GetUndergroundTrapNameWithArticle(struct ScriptContext* ctx);
+BOOL ScrCmd_GetUndergroundItemNameWithArticle(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk02C9(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk02CA(struct ScriptContext* ctx);
+BOOL ScrCmd_GetFashionNameWithArticle(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk02CC(struct ScriptContext* ctx);
+BOOL ScrCmd_GetSealNamePlural(struct ScriptContext* ctx);
+BOOL ScrCmd_CapitalizeFirstChar(struct ScriptContext* ctx);
+
+//scrcmd_8.c
+BOOL ScrCmd_Unk021D(struct ScriptContext* ctx);
+
+//scrcmd_11.c
+BOOL ScrCmd_Unk017D(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk017E(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk017F(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0180(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0181(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0182(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0183(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0184(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0185(struct ScriptContext* ctx);
+
+//scrcmd_13.c
+BOOL ScrCmd_Unk0253(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0254(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0255(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0256(struct ScriptContext* ctx);
+
//scrcmd_coins.c
BOOL ScrCmd_Unk0075(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0076(struct ScriptContext* ctx);
@@ -128,6 +192,24 @@ BOOL ScrCmd_Unk0072(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0073(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0074(struct ScriptContext* ctx);
+//scrcmd_daycare.c
+BOOL ScrCmd_Unk016D(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk016E(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01A8(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01A9(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01A4(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01AA(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01AE(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01AF(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01B0(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01BC(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01BE(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01BF(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01A5(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01A6(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01A7(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01AD(struct ScriptContext* ctx);
+
//scrcmd_18.c
BOOL ScrCmd_GiveMon(struct ScriptContext* ctx);
@@ -141,6 +223,28 @@ BOOL ScrCmd_Unk01F3(struct ScriptContext* ctx);
//scrcmd_20.c
BOOL ScrCmd_Unk02A6(struct ScriptContext* ctx);
+//scrcmd_flags.c
+BOOL ScrCmd_HasSinnohDex(struct ScriptContext* ctx);
+BOOL ScrCmd_GiveSinnohDex(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0159(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk015A(struct ScriptContext* ctx);
+BOOL ScrCmd_HasBadge(struct ScriptContext* ctx);
+BOOL ScrCmd_GiveBadge(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk015E(struct ScriptContext* ctx);
+BOOL ScrCmd_GetTotalEarnedBadges(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk015F(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0160(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0161(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0162(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0163(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0164(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0165(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0166(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0167(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01CF(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01D0(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk01D1(struct ScriptContext* ctx);
+
//scrcmd_items.c
BOOL ScrCmd_GiveItem(struct ScriptContext* ctx);
BOOL ScrCmd_TakeItem(struct ScriptContext* ctx);
@@ -151,10 +255,28 @@ BOOL ScrCmd_GetItemPocketId(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0081(struct ScriptContext* ctx);
BOOL ScrCmd_Unk0082(struct ScriptContext* ctx);
+//scrcmd_23.c
+BOOL ScrCmd_Unk0083(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0084(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0085(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0086(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0087(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0088(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0089(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk008A(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk008B(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk008C(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk008D(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk008E(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk008F(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0090(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0091(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0092(struct ScriptContext* ctx);
+
//scrcmd_25.c
-BOOL ScrCmd_Unk02EF(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk02F0(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk02F1(struct ScriptContext* ctx);
-BOOL ScrCmd_Unk02F2(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk023F(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0240(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0241(struct ScriptContext* ctx);
+BOOL ScrCmd_Unk0242(struct ScriptContext* ctx);
#endif //POKEDIAMOND_SCRCMD_H
diff --git a/include/script.h b/include/script.h
index 9a7270c2..cb41889d 100644
--- a/include/script.h
+++ b/include/script.h
@@ -28,7 +28,8 @@ struct UnkSavStruct80
u8 padding[0x8];
u32 unk08;
struct SaveBlock2 *saveBlock2; //0xC
- u8 padding2[0xC];
+ struct UnkStruct_0204639C *unk10;
+ u8 padding2[0x8];
u32 *mapId; //0x1C
u8 padding3[0x18];
u32 unk38;
@@ -36,7 +37,9 @@ struct UnkSavStruct80
u32 unk60;
u8 padding5[0x14];
u32 unk78;
- u8 padding6[0x2C];
+ u8 padding6[0x1C];
+ void *unk98;
+ u8 padding7[0xC];
struct UnkStruct_02046444 * unkA8;
};
diff --git a/include/unk_020286F8.h b/include/unk_020286F8.h
index 3d81753a..99ecd982 100644
--- a/include/unk_020286F8.h
+++ b/include/unk_020286F8.h
@@ -21,10 +21,10 @@ 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);
+void FUN_020287EC(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 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);
+void FUN_02028810(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 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);
diff --git a/include/unk_02029FB0.h b/include/unk_02029FB0.h
index 0185bff4..9ce6451d 100644
--- a/include/unk_02029FB0.h
+++ b/include/unk_02029FB0.h
@@ -1,6 +1,8 @@
#ifndef POKEDIAMOND_UNK_02029FB0_H
#define POKEDIAMOND_UNK_02029FB0_H
+struct Pokedex;
+
struct UnkStruct_02029FB0
{
u8 unk[0x14C];
diff --git a/include/unk_0202D858.h b/include/unk_0202D858.h
new file mode 100644
index 00000000..210821d0
--- /dev/null
+++ b/include/unk_0202D858.h
@@ -0,0 +1,10 @@
+#ifndef POKEDIAMOND_UNK_0202D858_H
+#define POKEDIAMOND_UNK_0202D858_H
+
+#include "global.h"
+
+THUMB_FUNC u8 FUN_0202D858(u16 param0);
+THUMB_FUNC u8 FUN_0202D884(u16 param0);
+THUMB_FUNC u32 FUN_0202D8B0(int param0);
+
+#endif // POKEDIAMOND_UNK_0202D858_H
diff --git a/include/unk_0202E29C.h b/include/unk_0202E29C.h
new file mode 100644
index 00000000..d4316336
--- /dev/null
+++ b/include/unk_0202E29C.h
@@ -0,0 +1,137 @@
+#ifndef POKEDIAMOND_UNK_0202E29C_H
+#define POKEDIAMOND_UNK_0202E29C_H
+
+#include "global.h"
+#include "mail_message.h"
+#include "player_data.h"
+
+struct UnkStruct_0202E29C_sub4
+{
+ u32 unk00;
+ u8 unk04;
+ u8 unk05;
+ u8 unk06;
+ u8 unk07;
+ u8 unk08[8];
+ struct PlayerData unk10;
+ u8 unk30[0x40];
+};
+
+struct UnkStruct_0202E29C_sub
+{
+ u32 unk00;
+ u8 unk04[6];
+ u8 unk0A[0x2C];
+ u16 unk36;
+ u8 unk38[0x18];
+ struct UnkStruct_0202E29C_sub4 unk50;
+};
+
+struct UnkStruct_0202E29C_sub3
+{
+ struct MailMessage unk00;
+ struct PlayerData unk08;
+ u8 unk28[0x20];
+ u8 unk48[0x4];
+ u8 unk4C;
+ u8 unk4D[7];
+};
+
+struct UnkStruct_0202E29C_sub2
+{
+ u32 unk00;
+ u8 unk04;
+ u8 unk05;
+ u8 unk06;
+ struct UnkStruct_0202E29C_sub3 unk08;
+};
+
+struct UnkStruct_0202E29C
+{
+ struct UnkStruct_0202E29C_sub3 unk000;
+ struct UnkStruct_0202E29C_sub unk054[16];
+ u8 unkC54[8][6];
+ u16 unkC84[16];
+ void *unkCA4;
+ struct MailMessage unkCA8;
+ u32 unkCB0;
+ u8 unkCB4;
+ struct PlayerData *unkCB8;
+ void *unkCBC;
+ u32 unkCC0;
+ struct UnkStruct_0202E29C_sub2 unkCC4;
+ u8 unkD20[0x84];
+ u16 unkDA4;
+ u16 unkDA6;
+ u8 unkDA8;
+ u8 unkDA9;
+ u8 unkDAA;
+ u8 unkDAB;
+ u8 unkDAC;
+ u8 unkDAD;
+ u8 unkDAE[0x2];
+};
+
+void FUN_0202E29C(struct PlayerData *player_data);
+BOOL FUN_0202E344();
+BOOL FUN_0202E358(u8 *param0, u8 *param1, s32 param2);
+void FUN_0202E380(struct UnkStruct_0202E29C_sub *param0, u32 param1);
+void FUN_0202E470(u32 param0, u32 param1);
+void FUN_0202E488();
+void FUN_0202E49C();
+BOOL FUN_0202E4C8();
+BOOL FUN_0202E4DC();
+void FUN_0202E4F0();
+void FUN_0202E500();
+void FUN_0202E538();
+void FUN_0202E56C(u32 param0);
+void FUN_0202E594();
+BOOL FUN_0202E5F8(u32 param0, u32 param1, u32 param2);
+u32 FUN_0202E66C(u32 param0, u32 param1);
+u32 FUN_0202E6F0();
+BOOL FUN_0202E784();
+void FUN_0202E7B0(u32 param0);
+void FUN_0202E7D8();
+u32 FUN_0202E810();
+s32 FUN_0202E844(u32 param0);
+u8 FUN_0202E878();
+void FUN_0202E88C();
+s32 FUN_0202E8A0(s32 param0);
+s32 FUN_0202E8D0(s32 param0);
+s32 FUN_0202E8F4();
+s32 FUN_0202E950();
+void FUN_0202E9AC(u32 param0, struct PlayerData *player_data);
+u32 FUN_0202E9E8(u32 param0);
+void FUN_0202EA54();
+void FUN_0202EA9C();
+void FUN_0202EB7C();
+void FUN_0202EBD0(u16 param0);
+void FUN_0202ED70(u16 param0);
+u32 FUN_0202ED84(u16 param0);
+u32 FUN_0202EDB8();
+BOOL FUN_0202EDD8();
+BOOL FUN_0202EDF8();
+u32 FUN_0202EE0C();
+u32 FUN_0202EE24();
+BOOL FUN_0202EE44();
+BOOL FUN_0202EE60();
+void FUN_0202EE84(u32 param0);
+void FUN_0202EEB0(u32 param0);
+u32 FUN_0202EEE8(u16 param0);
+struct UnkStruct_0202E29C_sub *FUN_0202EF18(u32 param0);
+struct UnkStruct_0202E29C_sub4 *FUN_0202EF44(s32 param0);
+struct PlayerData *FUN_0202EF70();
+struct PlayerData *FUN_0202EF84(int param0);
+void FUN_0202EFAC(u8 *param0, s32 param1);
+BOOL FUN_0202EFE4(u8 *param0);
+u32 FUN_0202F03C();
+void FUN_0202F05C();
+void FUN_0202F078(struct MailMessage *mail_message);
+void FUN_0202F094(void *param0);
+void FUN_0202F0B8();
+u32 FUN_0202F0DC(u8 param0);
+BOOL FUN_0202F104();
+void FUN_0202F10C(struct UnkStruct_0202E29C_sub3 *param0);
+u8 *FUN_0202F124(u32 param0);
+
+#endif // POKEDIAMOND_UNK_0202E29C_H
diff --git a/include/unk_0202F150.h b/include/unk_0202F150.h
new file mode 100644
index 00000000..ea0846c6
--- /dev/null
+++ b/include/unk_0202F150.h
@@ -0,0 +1,186 @@
+#ifndef POKEDIAMOND_UNK_0202F150_H
+#define POKEDIAMOND_UNK_0202F150_H
+
+#include "global.h"
+#include "MI_memory.h"
+#include "RTC_api.h"
+#include "heap.h"
+#include "main.h"
+#include "unk_0202D858.h"
+#include "unk_02031480.h"
+
+struct UnkStruct0202F150_sub1
+{
+ u32 unk00;
+ s16 unk04;
+ s16 unk06;
+ u32 unk08;
+};
+
+struct UnkStruct0202F150_sub2
+{
+ u32 unk00;
+ void *unk04;
+ u16 unk08;
+ u8 unk0a;
+};
+
+struct UnkStruct0202F150
+{
+ u8 unk000[2][38];
+ u8 unk04c[264];
+ u8 unk154[2][192];
+ u8 unk2D4[384];
+ void *unk454;
+ void *unk458;
+ void *unk45C;
+ void *unk460;
+ struct UnkStruct0202F150_sub1 unk464;
+ struct UnkStruct0202F150_sub1 unk470;
+ struct UnkStruct0202F150_sub1 unk47C[8];
+ struct UnkStruct0202F150_sub1 unk4DC;
+ struct UnkStruct0202F150_sub1 unk4E8[8];
+ u32 unk548;
+ u8 unk54C[32];
+ u8 unk56C[32];
+ struct UnkStruct0202F150_sub2 unk58C[8];
+ u32 unk5EC;
+ u32 unk5F0;
+ u16 unk5F4;
+ u8 unk5F6;
+ u8 unk5F7;
+ s64 unk5F8[3];
+ u16 unk610[8];
+ u8 unk620[0x8];
+ u16 unk628;
+ u8 unk62A;
+ u8 unk62B;
+ u8 unk62C;
+ s8 unk62D;
+ u16 unk62E;
+ u32 unk630;
+ u32 unk634;
+ u32 unk638[8];
+ u32 unk658;
+ u16 unk65C;
+ u8 unk65E;
+ u8 unk65F[8];
+ u8 unk667[8];
+ u8 unk66F[8];
+ u8 unk677[4];
+ u8 unk67B;
+ u8 unk67C;
+ u8 unk67D;
+ u8 unk67E;
+ u8 unk67F;
+ u8 unk680;
+ u8 unk681;
+ u8 unk682;
+ u8 unk683;
+ u8 unk684;
+ u8 unk685;
+ u8 unk686;
+ u8 unk687;
+ u8 unk688;
+ u8 unk689;
+ u8 unk68A;
+ u8 unk68B;
+};
+
+THUMB_FUNC u32 FUN_0202F150(u32 param0, u32 param1);
+THUMB_FUNC void FUN_0202F2F0();
+THUMB_FUNC void FUN_0202F5A4();
+THUMB_FUNC void FUN_0202F820(int param0);
+THUMB_FUNC void FUN_0202F8D4();
+THUMB_FUNC void FUN_0202F910(int param0);
+THUMB_FUNC u32 FUN_0202F918(u32 param0, u32 param1, u32 param2, u32 param3);
+THUMB_FUNC u32 FUN_0202F950(u32 param0, u32 param1, u32 param2);
+THUMB_FUNC void FUN_0202F984();
+THUMB_FUNC void FUN_0202F9E0(u32 param0);
+THUMB_FUNC void FUN_0202FA10();
+THUMB_FUNC void FUN_0202FA1C();
+THUMB_FUNC u8 FUN_0202FA28();
+THUMB_FUNC u32 FUN_0202FA48();
+THUMB_FUNC void FUN_0202FA5C();
+THUMB_FUNC u32 FUN_0202FB18(u32 param0);
+THUMB_FUNC void FUN_0202FB20();
+THUMB_FUNC void FUN_0202FB58();
+THUMB_FUNC BOOL FUN_0202FB80();
+THUMB_FUNC void FUN_0202FC60();
+THUMB_FUNC void FUN_0202FC80();
+THUMB_FUNC void FUN_0202FCA8();
+THUMB_FUNC void FUN_0202FCCC();
+THUMB_FUNC u32 FUN_0202FE2C(int param0);
+THUMB_FUNC void FUN_0202FEEC();
+THUMB_FUNC void FUN_02030074();
+THUMB_FUNC void FUN_02030238(u32 param0, u8 *param1, u32 param2);
+THUMB_FUNC void FUN_0203026C(u32 param0, u8 *param1, u32 param2);
+THUMB_FUNC void FUN_020303BC(u32 param0, u8 *param1, u32 param2);
+THUMB_FUNC void FUN_020303F4(u32 param0, u8 *param1, u32 param2);
+THUMB_FUNC void FUN_020304D4(u32 param0);
+THUMB_FUNC void FUN_020304F0(u32 param0);
+THUMB_FUNC void FUN_0203050C();
+THUMB_FUNC void FUN_02030674();
+THUMB_FUNC void FUN_020307A8();
+THUMB_FUNC void FUN_020307BC();
+THUMB_FUNC void FUN_020307D0();
+THUMB_FUNC u32 FUN_020307E4(u8 *param0, u32 param1);
+THUMB_FUNC void FUN_0203086C();
+THUMB_FUNC u32 FUN_02030870(u8 *param0);
+THUMB_FUNC u32 FUN_02030930(u8 *param0);
+THUMB_FUNC void FUN_02030A00(u8 *param0);
+THUMB_FUNC u32 FUN_02030A78(u32 param0, u8 *param1, u32 param2);
+THUMB_FUNC u32 FUN_02030ADC(u32 param0, u8 *param1, u32 param2);
+THUMB_FUNC u32 FUN_02030B3C(u32 param0, u8 *param1, u32 param2);
+THUMB_FUNC u32 FUN_02030BC4(u32 param0, u8 *param1, u32 param2);
+THUMB_FUNC u32 FUN_02030C4C(u32 param0, u8 *param1);
+THUMB_FUNC int FUN_02030C58();
+THUMB_FUNC void FUN_02030C70(
+ u32 param0, u32 param1, u32 param2, void *param3, struct UnkStruct0202F150_sub2 *param4);
+THUMB_FUNC void FUN_02030C8C(struct UnkStruct0202F150_sub1 *param0,
+ u32 param1,
+ void *param2,
+ u32 param3,
+ struct UnkStruct0202F150_sub2 *param4);
+THUMB_FUNC void FUN_02030DA4();
+THUMB_FUNC void FUN_02030DFC();
+THUMB_FUNC u32 FUN_02030E7C(u16 param0);
+THUMB_FUNC s32 FUN_02030F20();
+THUMB_FUNC BOOL FUN_02030F40();
+THUMB_FUNC void FUN_02030F60(u8 param0);
+THUMB_FUNC u8 FUN_02030F74(u32 param0);
+THUMB_FUNC u32 FUN_02030F88(u32 param0);
+THUMB_FUNC void FUN_02030FA8();
+THUMB_FUNC void FUN_02030FC8();
+THUMB_FUNC u32 FUN_02030FE0();
+THUMB_FUNC void FUN_02031000(u32 param0, u8 *param1, u32 param2);
+THUMB_FUNC void FUN_0203105C(u32 param0, u8 *param1, u32 param2);
+THUMB_FUNC void FUN_02031088();
+THUMB_FUNC void FUN_0203110C(u32 param0, u32 param1, u8 *param2);
+THUMB_FUNC void FUN_02031134(u32 param0, u32 param1, u8 *param2);
+THUMB_FUNC void FUN_0203115C(u32 param0, u32 param1, u8 *param2);
+THUMB_FUNC u16 FUN_02031190();
+THUMB_FUNC u32 FUN_020311D0(u32 param0, u8 *param1);
+THUMB_FUNC u32 FUN_020311DC(u32 param0);
+THUMB_FUNC u32 FUN_020311E8();
+THUMB_FUNC BOOL FUN_020311F0();
+THUMB_FUNC int FUN_02031228(u16 param0);
+THUMB_FUNC int FUN_02031248(u32 param0);
+THUMB_FUNC int FUN_02031258(u32 param0);
+THUMB_FUNC void FUN_02031268(u8 param0);
+THUMB_FUNC u8 FUN_02031280();
+THUMB_FUNC void FUN_0203129C();
+THUMB_FUNC void FUN_020312BC(s64 *param0);
+THUMB_FUNC void FUN_02031354(u32 param0);
+THUMB_FUNC u32 FUN_02031370();
+THUMB_FUNC u32 FUN_02031388();
+THUMB_FUNC void FUN_020313A0(u8 param0);
+THUMB_FUNC void FUN_020313B4(u8 param0, u32 param1);
+THUMB_FUNC u32 FUN_020313CC(u32 param0);
+THUMB_FUNC u32 FUN_020313EC();
+THUMB_FUNC void FUN_02031400(u32 param0);
+THUMB_FUNC u32 FUN_02031438();
+THUMB_FUNC void FUN_02031454();
+THUMB_FUNC void FUN_02031468();
+
+#endif // POKEDIAMOND_UNK_0202F150_H
diff --git a/include/unk_02031480.h b/include/unk_02031480.h
new file mode 100644
index 00000000..975f0796
--- /dev/null
+++ b/include/unk_02031480.h
@@ -0,0 +1,30 @@
+#ifndef POKEDIAMOND_UNK_02031480_H
+#define POKEDIAMOND_UNK_02031480_H
+
+#include "global.h"
+#include "MI_memory.h"
+#include "heap.h"
+#include "unk_0202F150.h"
+
+THUMB_FUNC void FUN_02031480(u32 heap_id);
+THUMB_FUNC void FUN_020314D0();
+THUMB_FUNC BOOL FUN_020314E8();
+THUMB_FUNC void FUN_020314FC(u8 param0, u32 param1, u8 *param2);
+THUMB_FUNC void FUN_02031560(u32 param0, u32 param1, u8 *param2);
+THUMB_FUNC void FUN_02031574(u32 param0, u32 param1, u8 *param2);
+THUMB_FUNC void FUN_02031588(u8 param0);
+THUMB_FUNC void FUN_020315A4();
+THUMB_FUNC BOOL FUN_020315D8(u8 param0);
+THUMB_FUNC u8 FUN_020315FC(u8 index);
+THUMB_FUNC void FUN_0203160C(u32 param0, u32 param1, u8 *param2);
+THUMB_FUNC u32 FUN_02031628();
+THUMB_FUNC void FUN_0203162C(u8 param0, u8 param1);
+THUMB_FUNC int FUN_02031640(u32 param0, u8 param1);
+THUMB_FUNC void FUN_02031668();
+THUMB_FUNC void FUN_0203168C();
+THUMB_FUNC BOOL FUN_020316AC(u32 param0, void *param1);
+THUMB_FUNC u8 *FUN_020316E0(int param0);
+THUMB_FUNC void FUN_02031704(u32 param0, u32 param1, void *param2);
+THUMB_FUNC u32 FUN_02031730();
+
+#endif // POKEDIAMOND_UNK_02031480_H
diff --git a/include/unk_02031734.h b/include/unk_02031734.h
new file mode 100644
index 00000000..baf3901f
--- /dev/null
+++ b/include/unk_02031734.h
@@ -0,0 +1,215 @@
+#ifndef POKEDIAMOND_UNK_02031734_H
+#define POKEDIAMOND_UNK_02031734_H
+
+#include "global.h"
+
+struct UnkStruct_02031734_const1
+{
+ u32 unk00[3];
+};
+
+struct UnkStruct_02031734_const2
+{
+ u32 unk00[2];
+};
+
+struct UnkStruct_02031734
+{
+ void *unk00;
+ u8 unk04[6];
+ s64 unk0C[3];
+ void (*unk24)();
+ struct SaveBlock2 *unk28;
+ struct PlayerData *unk2C;
+ u32 unk30;
+ u32 unk34;
+ u16 unk38;
+ u16 unk3A;
+ u8 unk3C;
+ u8 unk3D;
+ u8 unk3E;
+ u8 unk3F;
+ u8 unk40;
+ u8 unk41;
+ u8 unk42;
+ u8 unk43;
+ u8 unk44;
+ u8 unk45;
+ u8 unk46;
+ u8 unk47;
+ u8 unk48;
+ u8 unk49;
+ u8 unk4A;
+ u8 unk4B;
+ u8 unk4C;
+ u8 unk4D;
+ u8 unk4E;
+ u8 unk4F;
+};
+
+inline u32 compute(s64 *param0, u32 param1)
+{
+ param0[0] = param0[1] * param0[0] + param0[2];
+
+ return (u32)(((s64)((u64)(param0[0]) >> 32) * param1) >> 32);
+}
+
+void FUN_02031734(struct SaveBlock2 *sav2, u8 param1);
+void FUN_020317C0();
+BOOL FUN_02031810();
+void FUN_02031824(struct SaveBlock2 *sav2);
+void FUN_02031860();
+void FUN_02031880();
+void FUN_020318A4(u8 param0);
+void FUN_020318B4();
+BOOL FUN_020318C4();
+void FUN_02031914();
+void FUN_02031924();
+void FUN_02031934();
+void FUN_02031948(struct SaveBlock2 *sav2, u8 param1, u8 param2, u32 param3);
+void FUN_02031990(struct SaveBlock2 *sav2, u8 param1, u8 param2, u32 param3);
+void FUN_020319D8(u8 param0);
+void FUN_020319F4();
+void FUN_02031A08();
+void FUN_02031A24();
+BOOL FUN_02031A2C();
+void FUN_02031A7C(struct SaveBlock2 *sav2);
+void FUN_02031AC8(u8 param0);
+s32 FUN_02031AF4();
+BOOL FUN_02031B2C();
+void FUN_02031B50();
+u32 FUN_02031BD0();
+void FUN_02031BF4();
+void FUN_02031C10();
+void FUN_02031C2C();
+void FUN_02031C54();
+void FUN_02031C64();
+void FUN_02031C74(struct SaveBlock2 *sav2, u8 param1);
+void FUN_02031CA8(struct SaveBlock2 *sav2, u8 param1);
+void FUN_02031CDC();
+void FUN_02031D20(void (*param0)(), u32 param1);
+void FUN_02031D30();
+void FUN_02031E08();
+void FUN_02031E8C();
+void FUN_02031EE0();
+void FUN_02031F60();
+void FUN_02031FC8();
+void FUN_02032028();
+void FUN_02032040();
+void FUN_02032058();
+void FUN_020320C4();
+void FUN_02032118();
+void FUN_02032138();
+void FUN_0203213C();
+void FUN_02032140();
+void FUN_02032178();
+void FUN_02032194();
+void FUN_020321B8();
+void FUN_020321D0();
+void FUN_02032218();
+void FUN_02032234();
+void FUN_0203224C();
+void FUN_02032290();
+void FUN_02032298();
+void FUN_020322C0();
+void FUN_020322F8();
+void FUN_0203230C();
+void FUN_0203234C();
+void FUN_02032364();
+void FUN_02032378();
+void FUN_020323B8();
+void FUN_020323BC();
+void FUN_020323CC();
+void FUN_020323DC();
+void FUN_02032424();
+void FUN_02032440();
+void FUN_02032478();
+void FUN_020324C8();
+void FUN_020324F8();
+void FUN_02032510();
+void FUN_02032578();
+void FUN_020325D0();
+void FUN_02032628();
+void FUN_02032640();
+void FUN_0203266C();
+void FUN_020326D0();
+void FUN_02032738();
+void FUN_0203279C();
+void FUN_020327B4();
+void FUN_020327B8();
+void FUN_020327FC();
+void FUN_02032850();
+void FUN_02032888();
+void FUN_020328C0(u8 param0);
+void FUN_020328E4();
+void FUN_020328F4(u8 param0);
+void FUN_02032924();
+void FUN_0203293C();
+void FUN_02032978();
+void FUN_020329F4();
+void FUN_02032A8C(u8 param0, u32 param1, u8 *param2);
+void FUN_02032AEC(u32 param0, u32 param1, u8 *param2);
+u32 FUN_02032B68();
+void FUN_02032B6C(u8 param0);
+void FUN_02032B84();
+void FUN_02032B8C();
+void FUN_02032BD0(struct SaveBlock2 *sav2);
+void FUN_02032C0C();
+u32 FUN_02032C28();
+void FUN_02032C6C(u32 param0, u32 param1);
+void FUN_02032CF4();
+void FUN_02032D44(struct SaveBlock2 *sav2);
+void FUN_02032D80();
+u8 FUN_02032D9C();
+BOOL FUN_02032DAC();
+void FUN_02032E00();
+void FUN_02032E48();
+void FUN_02032E8C();
+void FUN_02032E90();
+void FUN_02032EA8();
+void FUN_02032EAC();
+void FUN_02032EB0();
+void FUN_02032F20(u32 param0);
+void FUN_02032F34();
+void FUN_02032F98();
+u32 FUN_02032FDC(u8 param0);
+u32 FUN_0203300C();
+void FUN_02033060();
+void FUN_020330A0();
+void FUN_020330E4();
+u8 FUN_02033128();
+u32 FUN_02033138();
+u32 FUN_02033154();
+u32 FUN_02033180();
+void FUN_0203318C();
+void FUN_020331C4();
+void FUN_020331E8();
+void FUN_02033208();
+void FUN_0203323C();
+u32 FUN_02033250();
+void FUN_02033288(struct SaveBlock2 *sav2);
+void FUN_020332DC();
+void FUN_02033310(struct SaveBlock2 *sav2);
+void FUN_02033364();
+u32 FUN_02033398();
+void FUN_020333F0();
+void FUN_0203341C();
+void *FUN_0203346C(struct SaveBlock2 *sav2, u32 param1);
+void *FUN_020334DC();
+void FUN_020334E8(u8 param0, u8 param1);
+u8 FUN_02033510();
+s32 FUN_02033534();
+u8 FUN_0203354C();
+void FUN_02033564(void *src);
+void FUN_02033578(void *dst);
+u32 FUN_02033590();
+void FUN_020335A4(u8 param0);
+u8 FUN_020335B8();
+void FUN_020335D0(s32 param0);
+void FUN_020335E0();
+void FUN_020335F0();
+void FUN_020335F4();
+BOOL FUN_02033678();
+u32 FUN_020336A0(u8 param0);
+
+#endif // POKEDIAMOND_UNK_0202F150_H
diff --git a/include/unk_0204639C.h b/include/unk_0204639C.h
index cff2241f..cebe192d 100644
--- a/include/unk_0204639C.h
+++ b/include/unk_0204639C.h
@@ -1,6 +1,8 @@
#ifndef GUARD_UNK_0204639C_H
#define GUARD_UNK_0204639C_H
+#include "script.h"
+
struct UnkStruct_0204639C;
typedef BOOL (*UnkStruct_0204639C_cb)(struct UnkStruct_0204639C * );
@@ -13,18 +15,18 @@ struct UnkStruct_0204639C
u32 * unkC;
struct UnkStruct_0204639C * unk10;
void * unk14;
- struct UnkStruct_0204639C * unk18;
+ struct UnkSavStruct80 * unk18;
u32 * unk1C;
};
extern void LoadOverlay_MODULE_05(void *);
-extern void FUN_020373D4(struct UnkStruct_0204639C *, u32, u32);
+extern void FUN_020373D4(struct UnkSavStruct80 *, u32, u32);
extern BOOL FUN_020373AC(void *);
extern BOOL FUN_0203739C(void *);
extern BOOL FUN_020373C4(void *);
-struct UnkStruct_0204639C * FUN_0204639C(struct UnkStruct_0204639C * r5, UnkStruct_0204639C_cb r6, u32 * r7);
-void FUN_020463CC(struct UnkStruct_0204639C * r5, UnkStruct_0204639C_cb r4, u32 * r6);
+struct UnkStruct_0204639C * FUN_0204639C(struct UnkSavStruct80 * r5, UnkStruct_0204639C_cb r6, u32 * r7);
+void FUN_020463CC(struct UnkSavStruct80 * r5, UnkStruct_0204639C_cb r4, u32 * r6);
void FUN_020463EC(struct UnkStruct_0204639C * r4, UnkStruct_0204639C_cb r1, u32 * r2);
void FUN_0204640C(struct UnkStruct_0204639C * r4, UnkStruct_0204639C_cb r1, u32 * r2);
BOOL FUN_02046420(struct UnkStruct_0204639C * r5);
@@ -37,6 +39,6 @@ void FUN_02046500(struct UnkStruct_0204639C * r6, u32 r5, u32 r4);
u32 * FUN_0204652C(struct UnkStruct_0204639C * r0);
u32 * FUN_02046530(struct UnkStruct_0204639C * r0);
u32 FUN_02046534(struct UnkStruct_0204639C * r0);
-struct UnkStruct_0204639C * FUN_02046528(struct UnkStruct_0204639C *);
+struct UnkSavStruct80 * FUN_02046528(struct UnkStruct_0204639C *);
#endif //GUARD_UNK_0204639C_H
diff --git a/include/unk_0204B0A0.h b/include/unk_0204B0A0.h
new file mode 100644
index 00000000..8d37e354
--- /dev/null
+++ b/include/unk_0204B0A0.h
@@ -0,0 +1,25 @@
+#ifndef POKEDIAMOND_UNK_0204B0A0_H
+#define POKEDIAMOND_UNK_0204B0A0_H
+
+#include "RTC_api.h"
+#include "RTC_convert.h"
+#include "sav_system_info.h"
+#include "script.h"
+
+void FUN_0204B0F8(struct UnkSavStruct80* unk);
+void FUN_0204B130(struct UnkSavStruct80* unk, struct UnkSaveStruct_0202376C_sub* rtc_info, struct RTCDate* date);
+void FUN_0204B158(struct UnkSavStruct80* unk, struct UnkSaveStruct_0202376C_sub* rtc_info, struct RTCDate* date, struct RTCTime* time);
+void FUN_0204B1DC(struct UnkSavStruct80* unk, s32 a1);
+void FUN_0204B270(struct UnkSavStruct80* unk, s32 a1, struct RTCTime* time);
+u32 Script_GetTimeOfDay(struct UnkSavStruct80* unk);
+u32 Script_GetMonth(struct UnkSavStruct80* unk);
+u32 Script_GetDay(struct UnkSavStruct80* unk);
+RTCWeek Script_GetWeekday(struct UnkSavStruct80* unk);
+u32 Script_GetHour(struct UnkSavStruct80* unk);
+u32 Script_GetMinute(struct UnkSavStruct80* unk);
+void Script_SavRTC_x24toDateTime(struct UnkSavStruct80* unk, struct RTCDate* date, struct RTCTime* time);
+void Script_SavRTC_x2CtoDateTime(struct UnkSavStruct80* unk, struct RTCDate* date, struct RTCTime* time);
+void Script_SavRTC_DateTimeTox2C(struct UnkSavStruct80* unk);
+BOOL FUN_0204B33C(struct UnkSavStruct80* unk);
+
+#endif
diff --git a/include/unk_0205FA2C.h b/include/unk_0205FA2C.h
new file mode 100644
index 00000000..19279a6c
--- /dev/null
+++ b/include/unk_0205FA2C.h
@@ -0,0 +1,121 @@
+#ifndef POKEDIAMOND_UNK_0205FA2C_H
+#define POKEDIAMOND_UNK_0205FA2C_H
+
+#include "global.h"
+#include "MI_memory.h"
+#include "bag.h"
+#include "heap.h"
+#include "party.h"
+#include "player_data.h"
+#include "script.h"
+#include "unk_020286F8.h"
+#include "unk_02029FB0.h"
+#include "unk_0202A8F4.h"
+#include "unk_0204639C.h"
+#include "unk_0206BB28.h"
+#include "unk_02031480.h"
+
+struct UnkPlayerStruct1_0205FA2C
+{
+ /* 0x00 */ struct PlayerParty *player_party;
+ /* 0x04 */ struct Bag *bag;
+ u32 unk08;
+ /* 0x0c */ struct Options *options;
+ u32 unk10[4];
+ u8 unk20;
+ u8 unk21;
+ u8 unk22;
+ u8 unk23;
+ u32 unk24[2];
+ u8 unk2c[6];
+ u8 unk32 : 4;
+ u8 unk322 : 4;
+ u8 unk33;
+ u32 unk34[3];
+};
+
+struct UnkPlayerStruct2_0205FA2C
+{
+ /* 0x00 */ struct PlayerParty *player_party;
+ /* 0x04 */ struct Options *options;
+ u32 unk08;
+ u32 unk0c;
+ u8 unk10;
+ u8 unk11;
+ u8 unk12;
+ /* 0x04 */ u8 party_count;
+ u8 unk14;
+ u8 unk15[3];
+ u16 unk18;
+ u16 unk1a;
+ /* 0x1c */ BOOL IsNatDex;
+ void *unk20;
+ u32 unk24;
+ u32 unk28;
+ u32 unk2c;
+};
+
+struct UnkCallbackStruct1_0205FA2C
+{
+ u32 unk00;
+ u32 unk04;
+ u8 unk08;
+ u8 unk09;
+ u8 unk0a;
+ u8 unk0b;
+ u8 unk0c;
+ u8 unk0d;
+ u8 unk0e[6];
+ void **unk14;
+};
+
+struct UnkCallbackStruct2_0205FA2C
+{
+ u32 unk00;
+ u32 unk04;
+ u32 *unk08;
+ u32 unk0c;
+ u16 unk10;
+ u16 unk12;
+ u16 unk14;
+};
+
+THUMB_FUNC u32 FUN_0205FA2C(
+ struct UnkCallbackStruct1_0205FA2C *param0, struct UnkSavStruct80 *param1, u32 heap_id);
+THUMB_FUNC u32 FUN_0205FAD8(
+ struct UnkCallbackStruct1_0205FA2C *param0, struct UnkSavStruct80 *param1);
+THUMB_FUNC u32 FUN_0205FB34(
+ struct UnkCallbackStruct1_0205FA2C *param0, struct UnkSavStruct80 *param1, u32 heap_id);
+THUMB_FUNC u32 FUN_0205FBC0(
+ struct UnkCallbackStruct1_0205FA2C *param0, struct UnkSavStruct80 *param1);
+THUMB_FUNC int FUN_0205FBE8(struct UnkStruct_0204639C *param0);
+THUMB_FUNC void FUN_0205FC50(struct UnkStruct_0204639C *param0,
+ void **param1,
+ u8 param2,
+ u8 param3,
+ u8 param4,
+ u8 param5,
+ u8 param6,
+ u8 param7);
+
+THUMB_FUNC u32 FUN_0205FC9C(
+ struct UnkCallbackStruct2_0205FA2C *param0, struct UnkSavStruct80 *param1);
+THUMB_FUNC u32 FUN_0205FCC4(
+ struct UnkCallbackStruct2_0205FA2C *param0, struct UnkSavStruct80 *param1);
+THUMB_FUNC int FUN_0205FCE8(struct UnkStruct_0204639C *param0);
+THUMB_FUNC void FUN_0205FD38(struct UnkStruct_0204639C *param0, u16 param1, u16 param2, u16 param3);
+
+THUMB_FUNC int FUN_0205FD70(struct UnkStruct_0204639C *param0);
+THUMB_FUNC void FUN_0205FDDC(struct UnkStruct_0204639C *param0, u16 param1, u16 param2);
+
+THUMB_FUNC u32 FUN_0205FE10(struct SaveBlock2 *sav2);
+THUMB_FUNC u32 FUN_0205FF5C(struct SaveBlock2 *sav2);
+THUMB_FUNC void FUN_02060044(u16 **param0, u32 *param1);
+THUMB_FUNC u32 FUN_02060064(u32 param0);
+THUMB_FUNC u32 FUN_02060070(u32 param0);
+THUMB_FUNC u32 FUN_0206007C(struct SaveBlock2 *sav2);
+THUMB_FUNC u32 FUN_020600A0(struct SaveBlock2 *sav2);
+THUMB_FUNC u32 FUN_020600DC(struct SaveBlock2 *sav2);
+THUMB_FUNC BOOL FUN_02060144(u32 **param0);
+
+#endif // POKEDIAMOND_UNK_0205FA2C_H
diff --git a/include/unk_0206015C.h b/include/unk_0206015C.h
new file mode 100644
index 00000000..e8a312c2
--- /dev/null
+++ b/include/unk_0206015C.h
@@ -0,0 +1,30 @@
+#ifndef UNK_0206015C_H_GUARD
+#define UNK_0206015C_H_GUARD
+
+#include "global.h"
+#include "script.h"
+#include "unk_0204639C.h"
+
+struct UnkStruct_0206015C
+{
+ u32 unk0;
+ u32 unk4;
+ u32 unk8;
+ u8 unkC;
+ u8 unkD;
+};
+
+struct UnkStruct_0204652C
+{
+ void* unk0;
+ u32 unk4;
+ u32 unk8;
+ u8 action;
+ u8 unkD; // some kind of counter?
+ u8 unkE; // some kind of counter?
+};
+
+THUMB_FUNC void FUN_0206015C(struct UnkSavStruct80* savStruct);
+THUMB_FUNC BOOL FUN_02060194(struct UnkStruct_0204639C * unkStruct0);
+
+#endif //UNK_0206015C_H_GUARD
diff --git a/include/unk_0206BB28.h b/include/unk_0206BB28.h
index ff60e220..44997e73 100644
--- a/include/unk_0206BB28.h
+++ b/include/unk_0206BB28.h
@@ -5,8 +5,8 @@
#include "pokedex.h"
#include "pokemon.h"
-BOOL FUN_0206BB28(struct SaveBlock2 * sav2);
-BOOL FUN_0206BB34(struct Pokedex * pokedex);
+BOOL SavArray_IsNatDexEnabled(struct SaveBlock2 * sav2);
+BOOL Pokedex_IsNatDexEnabled(struct Pokedex * pokedex);
u32 FUN_0206BB48(BOOL isNationalDex, u32 species);
#endif //POKEDIAMOND_UNK_0206BB28_H
diff --git a/include/unk_0208890C.h b/include/unk_0208890C.h
new file mode 100644
index 00000000..9ec040a1
--- /dev/null
+++ b/include/unk_0208890C.h
@@ -0,0 +1,25 @@
+#ifndef POKEDIAMOND_UNK_0208890C_H
+#define POKEDIAMOND_UNK_0208890C_H
+
+struct Bag;
+struct Options;
+struct PlayerData;
+struct SaveBlock2;
+
+struct UnkStruct_0208890C
+{
+ u8 padding[0x4];
+ void* unk4;
+ void* unk8;
+ struct SaveBlock2* sav2;
+ struct PlayerData* player;
+ struct Bag* bag;
+ struct Options* options;
+ void* unk1C;
+};
+
+struct UnkStruct_0208890C* FUN_0208890C(void*, struct SaveBlock2* sav2, u32 heap_id, void*);
+void FUN_02088950(struct UnkSavStruct80*, struct UnkStruct_0208890C*);
+struct UnkStruct_0208890C* FUN_02088960(struct UnkSavStruct80*, void*, u32 heap_id);
+
+#endif