diff options
author | GriffinR <griffin.richards@comcast.net> | 2019-11-13 16:10:05 -0500 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2019-11-16 13:02:35 -0600 |
commit | 5e01871f8b00d6b0ef4921a35e0b2bf18c7b4183 (patch) | |
tree | 1f13aaa2e3ca31bf6be17aef7bc2c3085d6fdb9f /include | |
parent | 2c3726a328e8a1a9dde36796c431d1cd3608bfef (diff) |
Document Trainer Hill
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/battle_setup.h | 2 | ||||
-rw-r--r-- | include/constants/trainer_hill.h | 48 | ||||
-rw-r--r-- | include/event_scripts.h | 2 | ||||
-rw-r--r-- | include/global.h | 22 | ||||
-rw-r--r-- | include/trainer_hill.h | 19 |
5 files changed, 55 insertions, 38 deletions
diff --git a/include/constants/battle_setup.h b/include/constants/battle_setup.h index d98e1762f..d825c88bc 100644 --- a/include/constants/battle_setup.h +++ b/include/constants/battle_setup.h @@ -13,6 +13,6 @@ #define TRAINER_BATTLE_PYRAMID 9 #define TRAINER_BATTLE_SET_TRAINER_A 10 #define TRAINER_BATTLE_SET_TRAINER_B 11 -#define TRAINER_BATTLE_12 12 +#define TRAINER_BATTLE_HILL 12 #endif // GUARD_CONSTANTS_BATTLE_SETUP_H diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h index cab56a5ac..09dad5212 100644 --- a/include/constants/trainer_hill.h +++ b/include/constants/trainer_hill.h @@ -1,27 +1,45 @@ #ifndef GUARD_CONSTANTS_TRAINER_HILL_H #define GUARD_CONSTANTS_TRAINER_HILL_H +#define TRAINER_HILL_1F 1 +#define TRAINER_HILL_2F 2 +#define TRAINER_HILL_3F 3 +#define TRAINER_HILL_4F 4 +#define TRAINER_HILL_ROOF 5 +#define TRAINER_HILL_ENTRANCE 6 + +#define NUM_TRAINER_HILL_FLOORS 4 + +#define NUM_TRAINER_HILL_PRIZE_LISTS 10 + #define TRAINER_HILL_FUNC_START 0 -#define TRAINER_HILL_FUNC_1 1 -#define TRAINER_HILL_FUNC_2 2 -#define TRAINER_HILL_FUNC_3 3 +#define TRAINER_HILL_FUNC_GET_OWNER_STATE 1 +#define TRAINER_HILL_FUNC_GIVE_PRIZE 2 +#define TRAINER_HILL_FUNC_CHECK_FINAL_TIME 3 #define TRAINER_HILL_FUNC_RESUME_TIMER 4 #define TRAINER_HILL_FUNC_SET_LOST 5 #define TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS 6 -#define TRAINER_HILL_FUNC_7 7 -#define TRAINER_HILL_FUNC_8 8 -#define TRAINER_HILL_FUNC_9 9 -#define TRAINER_HILL_FUNC_IS_IN 10 -#define TRAINER_HILL_FUNC_11 11 -#define TRAINER_HILL_FUNC_12 12 -#define TRAINER_HILL_FUNC_13 13 -#define TRAINER_HILL_FUNC_14 14 -#define TRAINER_HILL_FUNC_15 15 -#define TRAINER_HILL_FUNC_16 16 +#define TRAINER_HILL_FUNC_GET_CHALLENGE_TIME 7 +#define TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED 8 +#define TRAINER_HILL_FUNC_CLEAR_RESULT 9 +#define TRAINER_HILL_FUNC_IN_CHALLENGE 10 +#define TRAINER_HILL_FUNC_POST_BATTLE_TEXT 11 +#define TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS 12 +#define TRAINER_HILL_FUNC_GET_GAME_SAVED 13 +#define TRAINER_HILL_FUNC_SET_GAME_SAVED 14 +#define TRAINER_HILL_FUNC_CLEAR_GAME_SAVED 15 +#define TRAINER_HILL_FUNC_GET_WON 16 #define TRAINER_HILL_FUNC_SET_TAG 17 -// Values returned by the TrainerHillGetChallengeStatus -// function. +#define TRAINER_HILL_TEXT_INTRO 2 +#define TRAINER_HILL_TEXT_PLAYER_LOST 3 +#define TRAINER_HILL_TEXT_PLAYER_WON 4 +#define TRAINER_HILL_TEXT_AFTER 5 + +#define HILL_TRAINER_TYPE_EREADER 4 +#define HILL_TRAINER_TYPE_NPC 8 + +// Values returned by TrainerHillGetChallengeStatus #define TRAINER_HILL_PLAYER_STATUS_LOST 0 #define TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED 1 #define TRAINER_HILL_PLAYER_STATUS_NORMAL 2 diff --git a/include/event_scripts.h b/include/event_scripts.h index f79f0adcc..3e4251cf6 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -582,6 +582,6 @@ extern const u8 SecretBase_EventScript_TreeUseSecretPower[]; extern const u8 SecretBase_EventScript_ShrubUseSecretPower[]; // trainer hill -extern const u8 EventScript_2C83F0[]; +extern const u8 TrainerHill_EventScript_TrainerBattle[]; #endif // GUARD_EVENT_SCRIPTS_H diff --git a/include/global.h b/include/global.h index 94dfebc28..b976a247d 100644 --- a/include/global.h +++ b/include/global.h @@ -391,11 +391,11 @@ struct BattleFrontier /*0xEBA*/ u16 field_EBA; /*0xEBC*/ u32 battlesCount; /*0xEC0*/ u16 field_EC0[16]; - /*0xEE0*/ u8 field_EE0; + /*0xEE0*/ u8 trainerFlags; /*0xEE1*/ u8 opponentName[2][PLAYER_NAME_LENGTH + 1]; /*0xEF1*/ u8 field_EF1[2][4]; - /*0xEF9*/ u8 field_EF9_0:7; - /*0xEF9*/ u8 field_EF9_1:1; + /*0xEF9*/ u8 neverRead:7; + /*0xEF9*/ u8 savedGame:1; /*0xEFA*/ u8 field_EFA; /*0xEFB*/ u8 field_EFB; /*0xEFC*/ struct FrontierMonData field_EFC[3]; @@ -806,15 +806,15 @@ struct SaveTrainerHill { /*0x3D64*/ u32 timer; /*0x3D68*/ u32 bestTime; - /*0x3D6C*/ u8 field_3D6C; + /*0x3D6C*/ u8 neverRead; /*0x3D6D*/ u8 unused; - /*0x3D6E*/ u16 field_3D6E_0a:1; // 1 - /*0x3D6E*/ u16 field_3D6E_0b:1; // 2 - /*0x3D6E*/ u16 field_3D6E_0c:1; // 4 - /*0x3D6E*/ u16 hasLost:1; // 8 - /*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; // x10 - /*0x3D6E*/ u16 field_3D6E_0f:1; // x20 - /*0x3D6E*/ u16 tag:2; // x40, x80 = xC0 + /*0x3D6E*/ u16 receivedPrize:1; + /*0x3D6E*/ u16 checkedFinalTime:1; + /*0x3D6E*/ u16 spokeToOwner:1; + /*0x3D6E*/ u16 hasLost:1; + /*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; + /*0x3D6E*/ u16 field_3D6E_0f:1; + /*0x3D6E*/ u16 tag:2; }; struct MysteryEventStruct diff --git a/include/trainer_hill.h b/include/trainer_hill.h index a592ef580..dec38b2f3 100644 --- a/include/trainer_hill.h +++ b/include/trainer_hill.h @@ -32,15 +32,15 @@ struct TrHillDisplay struct TrHillFloor { - u8 unk0; - u8 unk1; + u8 trainerNum1; + u8 trainerNum2; struct TrainerHillTrainer trainers[2]; struct TrHillDisplay display; }; struct TrHillTag { - u8 unkField_0; + u8 trainerType; u8 unused1; u8 numFloors; u32 checksum; @@ -60,22 +60,21 @@ void CopyTrainerHillTrainerText(u8 which, u16 trainerId); bool8 InTrainerHillChallenge(void); void nullsub_129(void); void PrintOnTrainerHillRecordsWindow(void); -void sub_81D5DF8(void); -bool32 sub_81D5F48(void); -void sub_81D5FB4(u16 *mapArg); +void LoadTrainerHillEventObjectTemplates(void); +bool32 LoadTrainerHillFloorEventObjectScripts(void); +void GenerateTrainerHillFloorLayout(u16 *mapArg); bool32 InTrainerHill(void); u8 GetCurrentTrainerHillMapId(void); -const struct WarpEvent* sub_81D6120(void); -const struct WarpEvent* sub_81D6134(u8 warpEventId); +const struct WarpEvent* SetWarpDestinationTrainerHill4F(void); +const struct WarpEvent* SetWarpDestinationTrainerHillFinalFloor(u8 warpEventId); u16 LocalIdToHillTrainerId(u8 localId); bool8 GetHillTrainerFlag(u8 eventObjectId); void SetHillTrainerFlag(void); const u8 *GetTrainerHillTrainerScript(void); void FillHillTrainerParty(void); void FillHillTrainersParties(void); -u32 sub_81D63C4(void); u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId); -u8 sub_81D6490(void); +u8 GetNumFloorsInTrainerHillChallenge(void); void sub_81D64C0(void); bool32 sub_81D6534(void); |