finish event data

This commit is contained in:
DizzyEggg
2017-09-02 22:31:37 +02:00
parent a4cc67008e
commit b5fea95a46
60 changed files with 1265 additions and 1587 deletions

View File

@@ -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

View File

@@ -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 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_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_UNKNOWN_880 CODE_FLAGS + 0x20
#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 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 FLAG_UNLOCK_BATTLE_TOWER 0x848
#define FLAG_UNLOCK_SOUTHERN_ISLAND 0x849
#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 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_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 0x854
#define SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54
#define SYS_TV_LATI 0x85D
#define SYS_TV_LATI CODE_FLAGS + 0x5D
#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 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)

View File

@@ -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