summaryrefslogtreecommitdiff
path: root/include/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/main.h')
-rwxr-xr-xinclude/main.h34
1 files changed, 19 insertions, 15 deletions
diff --git a/include/main.h b/include/main.h
index 3e0c744..f37dd24 100755
--- a/include/main.h
+++ b/include/main.h
@@ -9,11 +9,11 @@ struct SaveData
/*0x74*/ u8 pokedexFlags[204];
/*0x140*/ u8 filler140[1];
/*0x141*/ u8 unk141;
- /*0x142*/ u8 unk142;
+ /*0x142*/ u8 ballSpeed;
/*0x143*/ u8 unk143;
- /*0x144*/ u8 filler144[0x2D8-0x144];
- s8 signature[10];
- u16 unk2E2;
+ /*0x144*/ u16 unk144[0x65][2];
+ /*0x2D8*/ s8 signature[10];
+ u16 checksum;
u32 unk2E4;
};
@@ -23,7 +23,8 @@ struct Main
/*0x02*/ u8 mainState;
/*0x03*/ u8 subState;
/*0x04*/ u8 unk4;
- /*0x05*/ u8 filler5[0x2];
+ /*0x05*/ u8 unk5;
+ /*0x06*/ u8 unk6;
/*0x07*/ s8 unk7;
/*0x08*/ s8 unk8;
/*0x09*/ u8 filler9[0x3];
@@ -57,22 +58,25 @@ struct Main
/*0x40*/ int hasSavedGame;
/*0x44*/ u8 filler44[0x4];
/*0x48*/ int rngValue;
- /*0x4C*/ int unk4C;
+ /*0x4C*/ int frameCount;
/*0x50*/ int unk50;
/*0x54*/ u8 filler54[0x20];
+
+ // This field must be accessed using the following macro to produce matching code.
+#define gMain_saveData (*(struct SaveData *)(&gMain.saveData))
/*0x74*/ struct SaveData saveData;
+
/*0x2E8*/ struct MainUnk2E8 unk2E8[4];
/*0x2F8*/ struct SpriteGroup spriteGroups[NUM_SPRITE_GROUPS];
};
extern struct Main gMain;
-extern u8 gUnknown_0200B134[];
extern struct SpriteGroup gUnknown_0200B3B8[];
extern u32 IntrMain_Buffer[0x200];
extern u32 IntrMain[];
-extern IntrFunc *gUnknown_0200FB98;
-extern IntrFunc *gUnknown_02019BE0;
+extern IntrFunc *gVBlankIntrFuncPtr;
+extern IntrFunc *gVCountIntrFuncPtr;
extern int gUnknown_02019BE4;
extern int gUnknown_02019BE8;
extern int gUnknown_02019BEC;
@@ -88,7 +92,7 @@ extern u8 gUnknown_02019C10;
extern u8 gUnknown_02002008[];
#define INTR_COUNT 14
extern IntrFunc gIntrTable[14];
-extern void (*gUnknown_0200FB9C)(void);
+extern void (*gMainCallback)(void);
extern void (*gUnknown_0200FBA0)(void);
extern void (*gUnknown_02017BD0)(void);
extern void (*gUnknown_02017BD4)(void);
@@ -97,18 +101,18 @@ extern struct OamData gOamBuffer[128];
void sub_24C(void);
void sub_2B4(void);
-void sub_490(void);
+void ClearGraphicsMemory(void);
void sub_518(void);
-void sub_578(void);
+void ClearSprites(void);
u32 Random(void);
-void HBlankIntr(void);
+void VBlankIntr(void);
void VCountIntr(void);
void SerialIntr(void);
void Timer3Intr(void);
void sub_CBC(void);
void sub_D10(void);
-void sub_D74(void);
-void sub_DC4(void);
+void MainLoopIter(void);
+void DefaultMainCallback(void);
#endif // GUARD_MAIN_H