diff options
author | Diegoisawesome <Diegoisawesome@users.noreply.github.com> | 2017-11-20 10:10:27 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-20 10:10:27 -0600 |
commit | 1e4f12e6fa9e3b22d4f1a60ca69313b5dec0ca38 (patch) | |
tree | 4b0e58280d62a4babd7e35de5f796e960e069d81 /include | |
parent | 5dc8beb034e70b4e1eba61cca4009d5e06356605 (diff) | |
parent | 4e25ef10f2883ef228b7d6c26162d2b00dc3c291 (diff) |
Merge pull request #115 from DizzyEggg/decompile_wild_encounter
Decompile wild encounter
Diffstat (limited to 'include')
-rw-r--r-- | include/battle_setup.h | 3 | ||||
-rw-r--r-- | include/flags.h | 3 | ||||
-rw-r--r-- | include/global.h | 4 | ||||
-rw-r--r-- | include/link.h | 1 | ||||
-rw-r--r-- | include/pokeblock.h | 2 | ||||
-rw-r--r-- | include/tv.h | 1 | ||||
-rw-r--r-- | include/vars.h | 1 | ||||
-rw-r--r-- | include/wild_encounter.h | 44 |
8 files changed, 56 insertions, 3 deletions
diff --git a/include/battle_setup.h b/include/battle_setup.h index e4acd8601..0168022cc 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -4,6 +4,9 @@ void BattleSetup_StartScriptedWildBattle(void); u8 BattleSetup_GetTerrainId(void); u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data); +void BattleSetup_StartBattlePikeWildBattle(void); +void BattleSetup_StartWildBattle(void); +void BattleSetup_StartRoamerBattle(void); u8 HasTrainerAlreadyBeenFought(u16); void trainer_flag_set(u16); diff --git a/include/flags.h b/include/flags.h index a891cc13f..30c28c0c2 100644 --- a/include/flags.h +++ b/include/flags.h @@ -1,7 +1,8 @@ #ifndef GUARD_FLAGS_H #define GUARD_FLAGS_H -#define FLAG_PENDING_DAYCARE_EGG 0x86 +#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53 +#define FLAG_PENDING_DAYCARE_EGG 0x86 #define FLAG_TRAINER_FLAG_START 0x500 diff --git a/include/global.h b/include/global.h index 62f946c6d..f3ec9ce33 100644 --- a/include/global.h +++ b/include/global.h @@ -238,7 +238,9 @@ struct SaveBlock2 /*0xCA9*/ u8 field_CA9_d : 1; // 0x20 /*0xCA9*/ u8 field_CA9_e : 1; // 0x40 /*0xCA9*/ u8 field_CA9_f : 1; // 0x80 - /*0xCAA*/ u16 field_CAA[0x2e]; + /*0xCAA*/ u16 field_CAA[4]; + /*0xCB2*/ u16 battlePyramidWildHeaderId; + /*0xCB4*/ u8 field_CB4[82]; /*0xD06*/ u8 field_D06; /*0xD07*/ u8 field_D07; /*0xD08*/ u8 filler_D08[0x112]; diff --git a/include/link.h b/include/link.h index ef8370d0e..ccde9818c 100644 --- a/include/link.h +++ b/include/link.h @@ -179,6 +179,7 @@ void LinkVSync(void); void Timer3Intr(void); void SerialCB(void); u8 GetLinkPlayerCount(void); +bool32 InUnionRoom(void); void sub_800E0E8(void); bool8 sub_800A520(void); diff --git a/include/pokeblock.h b/include/pokeblock.h index 5d52f8e55..b0e93f0e5 100644 --- a/include/pokeblock.h +++ b/include/pokeblock.h @@ -23,6 +23,7 @@ enum }; void ClearPokeblocks(void); +s16 PokeblockGetGain(u8, const struct Pokeblock *); /* void sub_810B96C(void); @@ -32,7 +33,6 @@ s16 GetPokeblockData(const struct Pokeblock *, u8); u8 sub_810C9E8(struct Pokeblock *); void sub_810BA7C(u8); bool8 PokeblockClearIfExists(u8); -s16 PokeblockGetGain(u8, const struct Pokeblock *); u8 sub_810CB68(u8, u8*); void PokeblockCopyName(struct Pokeblock *pokeblock, u8 *dest); void CB2_PreparePokeblockFeedScene(void); diff --git a/include/tv.h b/include/tv.h index 43f36d69f..3f48af569 100644 --- a/include/tv.h +++ b/include/tv.h @@ -13,5 +13,6 @@ void sub_80EE184(void); void sub_80EEA70(void); void sub_80F14F8(TVShow *shows); size_t sub_80EF370(int value); +void SetPokemonAnglerSpecies(u16 species); #endif //GUARD_TV_H diff --git a/include/vars.h b/include/vars.h index f8057d4b5..763b7379d 100644 --- a/include/vars.h +++ b/include/vars.h @@ -30,6 +30,7 @@ #define VAR_RESET_RTC_ENABLE 0x402C #define VAR_0x4037 0x4037 +#define VAR_ALTERING_CAVE_WILD_SET 0x403E #define VAR_DAYS 0x4040 #define VAR_DEPT_STORE_FLOOR 0x4043 diff --git a/include/wild_encounter.h b/include/wild_encounter.h new file mode 100644 index 000000000..55bbaa7dd --- /dev/null +++ b/include/wild_encounter.h @@ -0,0 +1,44 @@ +#ifndef GUARD_WILD_ENCOUNTER_H +#define GUARD_WILD_ENCOUNTER_H + +#define LAND_WILD_COUNT 12 +#define WATER_WILD_COUNT 5 +#define ROCK_WILD_COUNT 5 +#define FISH_WILD_COUNT 10 + +struct WildPokemon +{ + u8 minLevel; + u8 maxLevel; + u16 species; +}; + +struct WildPokemonInfo +{ + u8 encounterRate; + const struct WildPokemon *wildPokemon; +}; + +struct WildPokemonHeader +{ + u8 mapGroup; + u8 mapNum; + const struct WildPokemonInfo *landMonsInfo; + const struct WildPokemonInfo *waterMonsInfo; + const struct WildPokemonInfo *rockSmashMonsInfo; + const struct WildPokemonInfo *fishingMonsInfo; +}; + +extern const struct WildPokemonHeader gWildMonHeaders[]; + +void DisableWildEncounters(bool8 disabled); +bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior); +void ScrSpecial_RockSmashWildEncounter(void); +bool8 SweetScentWildEncounter(void); +bool8 DoesCurrentMapHaveFishingMons(void); +void FishingWildEncounter(u8 rod); +u16 GetLocalWildMon(bool8 *isWaterMon); +u16 GetLocalWaterMon(void); +bool8 UpdateRepelCounter(void); + +#endif // GUARD_WILD_ENCOUNTER_H |