summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-09-02 22:31:37 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2017-09-02 22:31:37 +0200
commitb5fea95a460d97a2b3660fcc013bf88f99b3269c (patch)
tree6f9480bc40b582776a716ca150cf4c67247eadd3 /include
parenta4cc67008e29b9a54c67c89f12b0cdd014cf31a7 (diff)
finish event data
Diffstat (limited to 'include')
-rw-r--r--include/event_data.h8
-rw-r--r--include/flags.h150
-rw-r--r--include/global.h21
3 files changed, 104 insertions, 75 deletions
diff --git a/include/event_data.h b/include/event_data.h
index 98e4a6da3..a2a501283 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -10,9 +10,14 @@ void ClearUpperFlags(void);
void DisableNationalPokedex(void);
void EnableNationalPokedex(void);
bool32 IsNationalPokedexEnabled(void);
+void DisableMysteryEvent(void);
+void EnableMysteryEvent(void);
+bool32 IsMysteryEventEnabled(void);
void DisableMysteryGift(void);
void EnableMysteryGift(void);
bool32 IsMysteryGiftEnabled(void);
+void sub_809D4D8(void);
+void sub_809D570(void);
void DisableResetRTC(void);
void EnableResetRTC(void);
bool32 CanResetRTC(void);
@@ -40,5 +45,8 @@ extern u16 gSpecialVar_0x800B;
extern u16 gScriptResult;
extern u16 gScriptLastTalked;
extern u16 gScriptFacing;
+extern u16 gSpecialVar_0x8012;
+extern u16 gSpecialVar_0x8013;
+extern u16 gSpecialVar_0x8014;
#endif // GUARD_EVENT_DATA_H
diff --git a/include/flags.h b/include/flags.h
index 2b3eb47dc..56e87b895 100644
--- a/include/flags.h
+++ b/include/flags.h
@@ -1,86 +1,90 @@
#ifndef GUARD_FLAGS_H
#define GUARD_FLAGS_H
-#define TRAINER_FLAG_START 0x500
+#define TRAINER_FLAG_START 0x500
+#define TRAINERS_FLAG_NO 0x360
+#define CODE_FLAGS (TRAINER_FLAG_START + TRAINERS_FLAG_NO)
// SYSTEM FLAGS
-#define SYS_POKEMON_GET 0x800
-#define SYS_POKEDEX_GET 0x801
-#define SYS_POKENAV_GET 0x802
-#define SYS_GAME_CLEAR 0x804
-#define SYS_CHAT_USED 0x805
-#define SYS_HIPSTER_MEET 0x806
+#define SYS_POKEMON_GET CODE_FLAGS + 0
+#define SYS_POKEDEX_GET CODE_FLAGS + 1
+#define SYS_POKENAV_GET CODE_FLAGS + 2
+// third one appears unused
+#define SYS_GAME_CLEAR CODE_FLAGS + 4
+#define SYS_CHAT_USED CODE_FLAGS + 5
+#define SYS_HIPSTER_MEET CODE_FLAGS + 6
// badges
-#define BADGE01_GET 0x807
-#define BADGE02_GET 0x808
-#define BADGE03_GET 0x809
-#define BADGE04_GET 0x80A
-#define BADGE05_GET 0x80B
-#define BADGE06_GET 0x80C
-#define BADGE07_GET 0x80D
-#define BADGE08_GET 0x80E
+#define BADGE01_GET CODE_FLAGS + 7
+#define BADGE02_GET CODE_FLAGS + 8
+#define BADGE03_GET CODE_FLAGS + 9
+#define BADGE04_GET CODE_FLAGS + 0xA
+#define BADGE05_GET CODE_FLAGS + 0xB
+#define BADGE06_GET CODE_FLAGS + 0xC
+#define BADGE07_GET CODE_FLAGS + 0xD
+#define BADGE08_GET CODE_FLAGS + 0xE
// cities and towns
-#define FLAG_VISITED_LITTLEROOT_TOWN 0x80F
-#define FLAG_VISITED_OLDALE_TOWN 0x810
-#define FLAG_VISITED_DEWFORD_TOWN 0x811
-#define FLAG_VISITED_LAVARIDGE_TOWN 0x812
-#define FLAG_VISITED_FALLARBOR_TOWN 0x813
-#define FLAG_VISITED_VERDANTURF_TOWN 0x814
-#define FLAG_VISITED_PACIFIDLOG_TOWN 0x815
-#define FLAG_VISITED_PETALBURG_CITY 0x816
-#define FLAG_VISITED_SLATEPORT_CITY 0x817
-#define FLAG_VISITED_MAUVILLE_CITY 0x818
-#define FLAG_VISITED_RUSTBORO_CITY 0x819
-#define FLAG_VISITED_FORTREE_CITY 0x81A
-#define FLAG_VISITED_LILYCOVE_CITY 0x81B
-#define FLAG_VISITED_MOSSDEEP_CITY 0x81C
-#define FLAG_VISITED_SOOTOPOLIS_CITY 0x81D
-#define FLAG_VISITED_EVER_GRANDE_CITY 0x81E
-
-#define SYS_USE_FLASH 0x828
-#define SYS_USE_STRENGTH 0x829
-#define SYS_WEATHER_CTRL 0x82A
-#define SYS_CYCLING_ROAD 0x82B
-#define SYS_SAFARI_MODE 0x82C
-#define SYS_CRUISE_MODE 0x82D
-
-#define SYS_TV_HOME 0x830
-#define SYS_TV_WATCH 0x831
-#define SYS_TV_START 0x832
-#define SYS_POPWORD_INPUT 0x833
-#define SYS_MIX_RECORD 0x834
-#define SYS_CLOCK_SET 0x835
-#define SYS_NATIONAL_DEX 0x836
-#define SYS_CAVE_SHIP 0x837
-#define SYS_CAVE_WONDER 0x838
-#define SYS_CAVE_BATTLE 0x839
-#define SYS_SHOAL_TIDE 0x83A
-#define SYS_RIBBON_GET 0x83B
-
-#define FLAG_UNLOCK_BATTLE_TOWER 0x848
-#define FLAG_UNLOCK_SOUTHERN_ISLAND 0x849
-
-#define SYS_PC_LANETTE 0x84B
-#define SYS_EXDATA_ENABLE 0x84C
-#define SYS_ENC_UP_ITEM 0x84D
-#define SYS_ENC_DOWN_ITEM 0x84E
-#define SYS_BRAILLE_DIG 0x84F
-#define SYS_BRAILLE_STRENGTH 0x850
-#define SYS_BRAILLE_WAIT 0x851
-#define SYS_BRAILLE_FLY 0x852
-#define SYS_HAS_EON_TICKET 0x853
-
-#define SYS_POKEMON_LEAGUE_FLY 0x854
-
-#define SYS_TV_LATI 0x85D
-
-#define SYS_SHOAL_ITEM 0x85F
-#define SYS_B_DASH 0x860 // got Running Shoes
-#define SYS_CTRL_OBJ_DELETE 0x861
-#define SYS_RESET_RTC_ENABLE 0x862
+#define FLAG_VISITED_LITTLEROOT_TOWN CODE_FLAGS + 0xF
+#define FLAG_VISITED_OLDALE_TOWN CODE_FLAGS + 0x10
+#define FLAG_VISITED_DEWFORD_TOWN CODE_FLAGS + 0x11
+#define FLAG_VISITED_LAVARIDGE_TOWN CODE_FLAGS + 0x12
+#define FLAG_VISITED_FALLARBOR_TOWN CODE_FLAGS + 0x13
+#define FLAG_VISITED_VERDANTURF_TOWN CODE_FLAGS + 0x14
+#define FLAG_VISITED_PACIFIDLOG_TOWN CODE_FLAGS + 0x15
+#define FLAG_VISITED_PETALBURG_CITY CODE_FLAGS + 0x16
+#define FLAG_VISITED_SLATEPORT_CITY CODE_FLAGS + 0x17
+#define FLAG_VISITED_MAUVILLE_CITY CODE_FLAGS + 0x18
+#define FLAG_VISITED_RUSTBORO_CITY CODE_FLAGS + 0x19
+#define FLAG_VISITED_FORTREE_CITY CODE_FLAGS + 0x1A
+#define FLAG_VISITED_LILYCOVE_CITY CODE_FLAGS + 0x1B
+#define FLAG_VISITED_MOSSDEEP_CITY CODE_FLAGS + 0x1C
+#define FLAG_VISITED_SOOTOPOLIS_CITY CODE_FLAGS + 0x1D
+#define FLAG_VISITED_EVER_GRANDE_CITY CODE_FLAGS + 0x1E
+
+#define SYS_UNKNOWN_880 CODE_FLAGS + 0x20
+
+#define SYS_USE_FLASH CODE_FLAGS + 0x28
+#define SYS_USE_STRENGTH CODE_FLAGS + 0x29
+#define SYS_WEATHER_CTRL CODE_FLAGS + 0x2A
+#define SYS_CYCLING_ROAD CODE_FLAGS + 0x2B
+#define SYS_SAFARI_MODE CODE_FLAGS + 0x2C
+#define SYS_CRUISE_MODE CODE_FLAGS + 0x2D
+
+#define SYS_TV_HOME CODE_FLAGS + 0x30
+#define SYS_TV_WATCH CODE_FLAGS + 0x31
+#define SYS_TV_START CODE_FLAGS + 0x32
+#define SYS_POPWORD_INPUT CODE_FLAGS + 0x33
+#define SYS_MIX_RECORD CODE_FLAGS + 0x34
+#define SYS_CLOCK_SET CODE_FLAGS + 0x35
+#define SYS_NATIONAL_DEX CODE_FLAGS + 0x36
+#define SYS_CAVE_SHIP CODE_FLAGS + 0x37
+#define SYS_CAVE_WONDER CODE_FLAGS + 0x38
+#define SYS_CAVE_BATTLE CODE_FLAGS + 0x39
+#define SYS_SHOAL_TIDE CODE_FLAGS + 0x3A
+#define SYS_RIBBON_GET CODE_FLAGS + 0x3B
+
+#define SYS_PC_LANETTE CODE_FLAGS + 0x4B
+#define SYS_MYSTERY_EVENT_ENABLE CODE_FLAGS + 0x4C
+#define SYS_ENC_UP_ITEM CODE_FLAGS + 0x4D
+#define SYS_ENC_DOWN_ITEM CODE_FLAGS + 0x4E
+#define SYS_BRAILLE_DIG CODE_FLAGS + 0x4F
+#define SYS_BRAILLE_STRENGTH CODE_FLAGS + 0x50
+#define SYS_BRAILLE_WAIT CODE_FLAGS + 0x51
+#define SYS_BRAILLE_FLY CODE_FLAGS + 0x52
+#define SYS_HAS_EON_TICKET CODE_FLAGS + 0x53
+
+#define SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54
+
+#define SYS_TV_LATI CODE_FLAGS + 0x5D
+
+#define SYS_SHOAL_ITEM CODE_FLAGS + 0x5F
+#define SYS_B_DASH CODE_FLAGS + 0x60 // got Running Shoes
+#define SYS_CTRL_OBJ_DELETE CODE_FLAGS + 0x61
+#define SYS_RESET_RTC_ENABLE CODE_FLAGS + 0x62
+
+#define SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B
// SPECIAL FLAGS (unknown purpose)
diff --git a/include/global.h b/include/global.h
index f862d0bb1..25fe47635 100644
--- a/include/global.h
+++ b/include/global.h
@@ -87,6 +87,19 @@ struct UCoords16
u16 y;
};
+struct Pokedex
+{
+ /*0x00*/ u8 order;
+ /*0x01*/ u8 unknown1;
+ /*0x02*/ u8 nationalMagic; // must equal 0xDA in order to have National mode
+ /*0x03*/ u8 unknown2;
+ /*0x04*/ u32 unownPersonality; // set when you first see Unown
+ /*0x08*/ u32 spindaPersonality; // set when you first see Spinda
+ /*0x0C*/ u32 unknown3;
+ /*0x10*/ u8 owned[52];
+ /*0x44*/ u8 seen[52];
+};
+
struct SaveBlock2
{
/*0x00*/ u8 playerName[8];
@@ -104,6 +117,7 @@ struct SaveBlock2
u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET]
u16 optionsBattleSceneOff:1; // whether battle animations are disabled
u16 regionMapZoom:1; // whether the map is zoomed in
+ /*0x18*/ struct Pokedex pokedex;
};
extern struct SaveBlock2 *gSaveBlock2Ptr;
@@ -552,6 +566,9 @@ struct RecordMixingGift
struct RecordMixingGiftData data;
};
+#define FLAGS_NUMBER 300
+#define VARS_NUMBER 256
+
struct SaveBlock1
{
/*0x00*/ struct Coords16 pos;
@@ -585,8 +602,8 @@ struct SaveBlock1
/*0x9CA*/ u8 trainerRematches[100];
/*0xA30*/ struct MapObject mapObjects[16];
/*0xC70*/ struct MapObjectTemplate mapObjectTemplates[64];
- /*0x1270*/ u8 flags[300];
- /*0x139C*/ u16 vars[256];
+ /*0x1270*/ u8 flags[FLAGS_NUMBER];
+ /*0x139C*/ u16 vars[VARS_NUMBER];
// TODO: FIX BELOW