summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/functions.h32
-rwxr-xr-xinclude/main.h25
-rwxr-xr-xinclude/titlescreen.h2
-rw-r--r--include/variables.h8
4 files changed, 42 insertions, 25 deletions
diff --git a/include/functions.h b/include/functions.h
index 5846d0e..0606057 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -54,17 +54,17 @@ void sub_940(void);
void TitlescreenMain(void);
void LoadTitlescreenGraphics(void);
void sub_10AC0(void);
-void sub_10BB8(void);
-void sub_10CF0(void);
-void sub_10D84(void);
-void sub_10E00(void);
-void sub_10EF4(void);
-void sub_11020(void);
-void sub_110FC(void);
-void sub_11228(void);
-void sub_11320(void);
-void sub_11428(void);
-void sub_114B4(void);
+void TitleScreen1_WaitForStartButton(void);
+void TitleScreen2_Unknown(void);
+void TitleScreen9_Unknown(void);
+void TitleScreen3_Unknown(void);
+void TitleScreen4_MenuInputNoSavedGame(void);
+void TitleScreen7_Unknown(void);
+void TitleScreen5_MenuInputSavedGame(void);
+void TitleScreen8_Unknown(void);
+void TitleScreen6_AnimCloseMenu(void);
+void TitleScreen10_ExecMenuSelection(void);
+void TitleScreen11_Unknown(void);
// src/util.c
@@ -162,7 +162,7 @@ void SetMatrixScale(s16 xScale, s16 yScale, s16 matrixNum);
//extern ? sub_F434();
//extern ? sub_F4FC();
//extern ? sub_F670();
-//extern ? sub_F6E0();
+extern void sub_F6E0(void);
//extern ? sub_F74C();
//extern ? sub_F8B0();
//extern ? sub_FAE8();
@@ -171,12 +171,12 @@ extern void sub_FD5C(void (*func)(void));
extern void sub_FE04(void (*func)(void));
//extern ? sub_FEB8();
//extern ? sub_FF74();
-//extern ? sub_1001C();
+extern void sub_1001C(int);
//extern ? sub_10170();
//extern ? sub_102A8();
//extern ? sub_10424();
//extern ? sub_10480();
-//extern ? sub_1050C();
+extern void sub_1050C(void);
//extern ? sub_10528();
//extern ? sub_10544();
//extern ? sub_105A0();
@@ -384,12 +384,12 @@ extern void sub_FE04(void (*func)(void));
//extern ? sub_88E4();
//extern ? sub_8974();
//extern ? sub_8A78();
-//extern ? sub_8ABC();
+extern void sub_8ABC(void);
// asm/rom_1068C.s
//extern ? sub_1068C();
-extern void sub_10708(void*, void*, u16, s16);
+extern void sub_10708(void *volatile, void *volatile, s16, s16);
//extern ? sub_10750();
//extern ? sub_10798();
//extern ? sub_10860();
diff --git a/include/main.h b/include/main.h
index 02f0a5f..3e0c744 100755
--- a/include/main.h
+++ b/include/main.h
@@ -3,6 +3,20 @@
#include "global.h"
+// This is probably permanently saved data like pokedex and high scores.
+struct SaveData
+{
+ /*0x74*/ u8 pokedexFlags[204];
+ /*0x140*/ u8 filler140[1];
+ /*0x141*/ u8 unk141;
+ /*0x142*/ u8 unk142;
+ /*0x143*/ u8 unk143;
+ /*0x144*/ u8 filler144[0x2D8-0x144];
+ s8 signature[10];
+ u16 unk2E2;
+ u32 unk2E4;
+};
+
struct Main
{
/*0x00*/ u8 filler0[0x2];
@@ -12,7 +26,8 @@ struct Main
/*0x05*/ u8 filler5[0x2];
/*0x07*/ s8 unk7;
/*0x08*/ s8 unk8;
- /*0x09*/ u8 filler9[0x4];
+ /*0x09*/ u8 filler9[0x3];
+ /*0x0C*/ u8 unkC;
/*0x0D*/ u8 unkD;
/*0x0E*/ u8 fillerE[0x1];
/*0x0F*/ u8 unkF;
@@ -38,15 +53,14 @@ struct Main
/*0x38*/ volatile u16 blendControl;
/*0x3A*/ volatile u16 blendAlpha;
/*0x3C*/ volatile u16 blendBrightness;
- // may be a sub-struct. possibly save data?
- /*0x40*/ int unk40;
+ // may be a sub-struct. possibly for saved game?
+ /*0x40*/ int hasSavedGame;
/*0x44*/ u8 filler44[0x4];
/*0x48*/ int rngValue;
/*0x4C*/ int unk4C;
/*0x50*/ int unk50;
/*0x54*/ u8 filler54[0x20];
- /*0x74*/ u8 pokedexFlags[204];
- /*0x140*/ u8 filler140[0x1A8];
+ /*0x74*/ struct SaveData saveData;
/*0x2E8*/ struct MainUnk2E8 unk2E8[4];
/*0x2F8*/ struct SpriteGroup spriteGroups[NUM_SPRITE_GROUPS];
};
@@ -80,7 +94,6 @@ extern void (*gUnknown_02017BD0)(void);
extern void (*gUnknown_02017BD4)(void);
extern StateFunc gMainFuncs[];
extern struct OamData gOamBuffer[128];
-extern u16 gUnknown_03005C00[0x600];
void sub_24C(void);
void sub_2B4(void);
diff --git a/include/titlescreen.h b/include/titlescreen.h
index 6cd6965..d66e786 100755
--- a/include/titlescreen.h
+++ b/include/titlescreen.h
@@ -5,7 +5,7 @@ struct TitlescreenStruct
{
/*0x00*/ s8 menuCursorIndex;
/*0x02*/ s16 unk2;
- /*0x04*/ s16 unk4;
+ /*0x04*/ s16 animTimer;
/*0x06*/ s8 unk6;
/*0x07*/ u8 unk7;
/*0x08*/ s8 unk8;
diff --git a/include/variables.h b/include/variables.h
index d8efc57..590ae00 100644
--- a/include/variables.h
+++ b/include/variables.h
@@ -3,10 +3,14 @@
// Place all external variable declarations in this file
+extern u16 gUnknown_0201A520[];
+extern u16 gUnknown_0201AD20[];
+extern u32 gUnknown_0201A500[];
+extern u16 gUnknown_0201A920[];
extern u8 gUnknown_03000000[];
//extern ? gOamBuffer;
//extern ? IntrMain_Buffer;
-//extern ? gUnknown_03005C00;
+extern u16 gUnknown_03005C00[0x600];
//extern ? SoundMainRAM_Buffer;
extern u16 sGbPlayerCurKeys;
extern u16 sGbPlayerPrevKeys;
@@ -22,7 +26,7 @@ extern u8 gUnknown_02002808[];
//extern ? gUnknown_02002958;
//extern ? gIntrTable;
//extern ? gMain;
-//extern ? gUnknown_0200B134;
+//extern ? gMain+0x74;
//extern ? gUnknown_0200B3B8;
//extern ? gUnknown_0200FB98;
//extern ? gUnknown_0200FB9C;