diff options
author | huderlem <huderlem@gmail.com> | 2019-03-02 08:24:46 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-02 08:24:46 -0600 |
commit | ee9694d9ba4b4a16048cd8abf7401075c06c880c (patch) | |
tree | 8e02045dea75a5da9a75439797b34938187bc0c4 /include | |
parent | 3b04cfa437b093a21cdc5021843b5f52a124861e (diff) | |
parent | 25050b99444538535a67ba51b7aaf3d0bf90c50e (diff) |
Merge pull request #587 from Phlosioneer/document-all-event-vars
Document all event vars
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/flags.h | 2 | ||||
-rwxr-xr-x | include/constants/map_types.h | 6 | ||||
-rw-r--r-- | include/constants/trainer_hill.h | 29 | ||||
-rw-r--r-- | include/constants/vars.h | 250 | ||||
-rw-r--r-- | include/constants/weather.h | 26 | ||||
-rw-r--r-- | include/event_data.h | 2 | ||||
-rw-r--r-- | include/event_scripts.h | 2 | ||||
-rw-r--r-- | include/field_specials.h | 12 | ||||
-rw-r--r-- | include/global.h | 8 | ||||
-rw-r--r-- | include/main.h | 4 | ||||
-rw-r--r-- | include/overworld.h | 4 | ||||
-rw-r--r-- | include/trainer_hill.h | 2 |
12 files changed, 201 insertions, 146 deletions
diff --git a/include/constants/flags.h b/include/constants/flags.h index b440ba78b..f0759389f 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -236,7 +236,7 @@ #define FLAG_MET_WAILMER_TRAINER 0xDA #define FLAG_EVIL_LEADER_PLEASE_STOP 0xDB -#define FLAG_UNUSED_0x0DC 0xDC // Unused Flag +#define FLAG_NEVER_SET_0x0DC 0xDC // This flag is read, but never written to #define FLAG_RECEIVED_GO_GOGGLES 0xDD #define FLAG_WINGULL_SENT_ON_ERRAND 0xDE diff --git a/include/constants/map_types.h b/include/constants/map_types.h index 504575859..8d071fd41 100755 --- a/include/constants/map_types.h +++ b/include/constants/map_types.h @@ -1,14 +1,14 @@ #ifndef GUARD_CONSTANTS_MAP_TYPES_H #define GUARD_CONSTANTS_MAP_TYPES_H -#define MAP_TYPE_0 0 +#define MAP_TYPE_UNUSED_1 0 #define MAP_TYPE_TOWN 1 #define MAP_TYPE_CITY 2 #define MAP_TYPE_ROUTE 3 #define MAP_TYPE_UNDERGROUND 4 #define MAP_TYPE_UNDERWATER 5 -#define MAP_TYPE_6 6 -#define MAP_TYPE_7 7 +#define MAP_TYPE_OCEAN_ROUTE 6 +#define MAP_TYPE_UNUSED_2 7 #define MAP_TYPE_INDOOR 8 #define MAP_TYPE_SECRET_BASE 9 diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h new file mode 100644 index 000000000..e231a6043 --- /dev/null +++ b/include/constants/trainer_hill.h @@ -0,0 +1,29 @@ +#ifndef GUARD_CONSTANTS_TRAINER_HILL_H +#define GUARD_CONSTANTS_TRAINER_HILL_H + +#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_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_10 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_SET_TAG 17 + +// Values returned by the TrainerHillGetChallengeStatus +// function. +#define TRAINER_HILL_PLAYER_STATUS_LOST 0 +#define TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED 1 +#define TRAINER_HILL_PLAYER_STATUS_NORMAL 2 + +#endif
\ No newline at end of file diff --git a/include/constants/vars.h b/include/constants/vars.h index fc3b3263d..c025d62fc 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONSTANTS_VARS_H #define GUARD_CONSTANTS_VARS_H -#define VAR_0x3F20 0x3F20 +#define UNKNOWN_VAR_OFFSET_3F20 0x3F20 #define VARS_START 0x4000 @@ -60,7 +60,7 @@ #define VAR_POISON_STEP_COUNTER 0x402B #define VAR_RESET_RTC_ENABLE 0x402C #define VAR_ENIGMA_BERRY_AVAILABLE 0x402D -#define VAR_0x402E 0x402E // Seems to be unused. +#define VAR_UNUSED_0x402E 0x402E // Unused Var #define VAR_FRONTIER_MANIAC_FACILITY 0x402F #define VAR_FRONTIER_GAMBLER_FACILITY 0x4030 @@ -71,21 +71,21 @@ #define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034 #define VAR_DEOXYS_ROCK_LEVEL 0x4035 #define VAR_STORAGE_UNKNOWN 0x4036 -#define VAR_0x4037 0x4037 -#define VAR_0x4038 0x4038 -#define VAR_0x4039 0x4039 -#define VAR_0x403A 0x403A +#define VAR_UNUSUAL_WEATHER_LOCATION 0x4037 +#define VAR_UNUSUAL_WEATHER_STEP_COUNTER 0x4038 +#define VAR_SHOULD_END_UNUSUAL_WEATHER 0x4039 +#define VAR_NEVER_READ_0x403A 0x403A // Var is written to, but never checked #define VAR_REGICE_STEPS_1 0x403B #define VAR_REGICE_STEPS_2 0x403C #define VAR_REGICE_STEPS_3 0x403D #define VAR_ALTERING_CAVE_WILD_SET 0x403E -#define VAR_0x403F 0x403F +#define VAR_ALWAYS_ZERO_0x403F 0x403F // This var is read and written, but is always zero. #define VAR_DAYS 0x4040 #define VAR_FANCLUB_UNKNOWN_1 0x4041 #define VAR_FANCLUB_UNKNOWN_2 0x4042 #define VAR_DEPT_STORE_FLOOR 0x4043 #define VAR_0x4044 0x4044 -#define VAR_POKELOT_PRIZE 0x4045 +#define VAR_POKELOT_PRIZE_ITEM 0x4045 #define VAR_NATIONAL_DEX 0x4046 #define VAR_SEEDOT_SIZE_RECORD 0x4047 #define VAR_ASH_GATHER_COUNT 0x4048 @@ -93,98 +93,98 @@ #define VAR_CRUISE_STEP_COUNT 0x404A #define VAR_POKELOT_RND1 0x404B #define VAR_POKELOT_RND2 0x404C -#define VAR_0x404D 0x404D -#define VAR_0x404E 0x404E +#define VAR_POKELOT_PRIZE_PLACE 0x404D +#define VAR_UNUSED_0x404E 0x404E // Unused Var #define VAR_LOTAD_SIZE_RECORD 0x404F #define VAR_0x4050 0x4050 #define VAR_ROUTE102_ACCESSIBLE 0x4051 -#define VAR_0x4052 0x4052 +#define VAR_UNUSED_0x4052 0x4052 // Unused Var #define VAR_LAVARIDGE_RIVAL_STATE 0x4053 #define VAR_CURRENT_SECRET_BASE 0x4054 -#define VAR_0x4055 0x4055 -#define VAR_0x4056 0x4056 +#define VAR_UNUSED_0x4055 0x4055 // Unused Var +#define VAR_UNUSED_0x4056 0x4056 // Unused Var #define VAR_PETALBURG_STATE 0x4057 #define VAR_SLATEPORT_STATE 0x4058 -#define VAR_0x4059 0x4059 +#define VAR_UNUSED_0x4059 0x4059 // Unused Var #define VAR_RUSTBORO_STATE 0x405A -#define VAR_0x405B 0x405B -#define VAR_0x405C 0x405C -#define VAR_0x405D 0x405D -#define VAR_0x405E 0x405E -#define VAR_0x405F 0x405F +#define VAR_UNUSED_0x405B 0x405B // Unused Var +#define VAR_UNUSED_0x405C 0x405C // Unused Var +#define VAR_MOSSDEEP_STATE 0x405D +#define VAR_RAYQUAZA_STATE 0x405E +#define VAR_UNUSED_0x405F 0x405F // Unused Var #define VAR_ROUTE101_STATE 0x4060 -#define VAR_0x4061 0x4061 -#define VAR_0x4062 0x4062 +#define VAR_UNUSED_0x4061 0x4061 // Unused Var +#define VAR_UNUSED_0x4062 0x4062 // Unused Var #define VAR_0x4063 0x4063 -#define VAR_0x4064 0x4064 -#define VAR_0x4065 0x4065 -#define VAR_0x4066 0x4066 -#define VAR_0x4067 0x4067 -#define VAR_0x4068 0x4068 +#define VAR_UNUSED_0x4064 0x4064 // Unused Var +#define VAR_UNUSED_0x4065 0x4065 // Unused Var +#define VAR_UNUSED_0x4066 0x4066 // Unused Var +#define VAR_UNUSED_0x4067 0x4067 // Unused Var +#define VAR_UNUSED_0x4068 0x4068 // Unused Var #define VAR_ROUTE110_STATE 0x4069 -#define VAR_0x406A 0x406A -#define VAR_0x406B 0x406B -#define VAR_0x406C 0x406C -#define VAR_0x406D 0x406D -#define VAR_0x406E 0x406E +#define VAR_UNUSED_0x406A 0x406A // Unused Var +#define VAR_UNUSED_0x406B 0x406B // Unused Var +#define VAR_UNUSED_0x406C 0x406C // Unused Var +#define VAR_UNUSED_0x406D 0x406D // Unused Var +#define VAR_UNUSED_0x406E 0x406E // Unused Var #define VAR_ROUTE116_STATE 0x406F -#define VAR_0x4070 0x4070 +#define VAR_UNUSED_0x4070 0x4070 // Unused Var #define VAR_ROUTE118_STATE 0x4071 #define VAR_ROUTE119_STATE 0x4072 -#define VAR_0x4073 0x4073 +#define VAR_UNUSED_0x4073 0x4073 // Unused Var #define VAR_ROUTE121_STATE 0x4074 -#define VAR_0x4075 0x4075 -#define VAR_0x4076 0x4076 -#define VAR_0x4077 0x4077 -#define VAR_0x4078 0x4078 -#define VAR_0x4079 0x4079 -#define VAR_0x407A 0x407A +#define VAR_UNUSED_0x4075 0x4075 // Unused Var +#define VAR_UNUSED_0x4076 0x4076 // Unused Var +#define VAR_UNUSED_0x4077 0x4077 // Unused Var +#define VAR_UNUSED_0x4078 0x4078 // Unused Var +#define VAR_UNUSED_0x4079 0x4079 // Unused Var +#define VAR_UNUSED_0x407A 0x407A // Unused Var #define VAR_ROUTE128_STATE 0x407B -#define VAR_0x407C 0x407C -#define VAR_0x407D 0x407D -#define VAR_0x407E 0x407E -#define VAR_0x407F 0x407F -#define VAR_0x4080 0x4080 -#define VAR_0x4081 0x4081 +#define VAR_UNUSED_0x407C 0x407C // Unused Var +#define VAR_UNUSED_0x407D 0x407D // Unused Var +#define VAR_UNUSED_0x407E 0x407E // Unused Var +#define VAR_UNUSED_0x407F 0x407F // Unused Var +#define VAR_UNUSED_0x4080 0x4080 // Unused Var +#define VAR_UNUSED_0x4081 0x4081 // Unused Var #define VAR_LITTLEROOT_HOUSES_STATE 0x4082 -#define VAR_0x4083 0x4083 +#define VAR_UNUSED_0x4083 0x4083 // Unused Var #define VAR_BIRCH_LAB_STATE 0x4084 #define VAR_PETALBURG_GYM_STATE 0x4085 #define VAR_LINK_CONTEST_ROOM_STATE 0x4086 #define VAR_CABLE_CLUB_STATE 0x4087 #define VAR_CONTEST_LOCATION 0x4088 -#define VAR_0x4089 0x4089 +#define VAR_SECRET_BASE_INITIALIZED 0x4089 #define VAR_CONTEST_PRIZE_PICKUP 0x408A -#define VAR_0x408B 0x408B +#define VAR_UNUSED_0x408B 0x408B // Unused Var #define VAR_LITTLEROOT_HOUSES_STATE_2 0x408C #define VAR_LITTLEROOT_RIVAL_STATE 0x408D #define VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE 0x408E #define VAR_DEVON_CORP_3F_STATE 0x408F #define VAR_BRINEY_HOUSE_STATE 0x4090 -#define VAR_0x4091 0x4091 +#define VAR_UNUSED_0x4091 0x4091 // Unused Var #define VAR_LITTLEROOT_INTRO_STATE 0x4092 #define VAR_MAUVILLE_GYM_STATE 0x4093 #define VAR_LILYCOVE_MUSEUM_2F_STATE 0x4094 #define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095 #define VAR_BRINEY_LOCATION 0x4096 -#define VAR_0x4097 0x4097 +#define VAR_INIT_SECRET_BASE 0x4097 #define VAR_PETALBURG_WOODS_STATE 0x4098 #define VAR_LILYCOVE_CONTEST_LOBBY_STATE 0x4099 #define VAR_RUSTURF_TUNNEL_STATE 0x409A -#define VAR_0x409B 0x409B +#define VAR_UNUSED_0x409B 0x409B // Unused Var #define VAR_ELITE_4_STATE 0x409C -#define VAR_0x409D 0x409D -#define VAR_0x409E 0x409E -#define VAR_0x409F 0x409F +#define VAR_UNUSED_0x409D 0x409D // Unused Var +#define VAR_MOSSDEEP_SPACE_CENTER_STATE_1 0x409E +#define VAR_MOSSDEEP_SPACE_CENTER_STATE_2 0x409F #define VAR_SLATEPORT_HARBOR_STATE 0x40A0 -#define VAR_0x40A1 0x40A1 +#define VAR_UNUSED_0x40A1 0x40A1 // Unused var #define VAR_SEAFLOOR_CAVERN_STATE 0x40A2 #define VAR_CABLE_CAR_STATION_STATE 0x40A3 #define VAR_SAFARI_ZONE_STATE 0x40A4 #define VAR_TRICK_HOUSE_ENTRANCE_STATE_1 0x40A5 #define VAR_TRICK_HOUSE_ENTRANCE_STATE_2 0x40A6 #define VAR_TRICK_HOUSE_ENTRANCE_STATE_3 0x40A7 -#define VAR_0x40A8 0x40A8 +#define VAR_UNUSED_0x40A8 0x40A8 // Unused Var #define VAR_CYCLING_CHALLENGE_STATE 0x40A9 #define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA #define VAR_TRICK_HOUSE_PUZZLE_1_STATE 0x40AB @@ -197,13 +197,13 @@ #define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2 #define VAR_WEATHER_INSTITUTE_STATE 0x40B3 #define VAR_PORTHOLE_STATE 0x40B4 -#define VAR_TRICK_HOUSE_STATE 0x40B5 // TODO: needs some further investigation +#define VAR_TRICK_HOUSE_STATE 0x40B5 // TODO: needs some further investigation #define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 #define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7 -#define VAR_0x40B8 0x40B8 +#define VAR_UNUSED_0x40B8 0x40B8 // Unused Var #define VAR_MT_PYRE_STATE 0x40B9 #define VAR_NEW_MAUVILLE_STATE 0x40BA -#define VAR_0x40BB 0x40BB +#define VAR_UNUSED_0x40BB 0x40BB // Unused Var #define VAR_BRAVO_TRAINER_BATTLE_TOWER_ON 0x40BC #define VAR_JAGGED_PASS_ASH_WEATHER 0x40BD #define VAR_GLASS_WORKSHOP_STATE 0x40BE @@ -216,87 +216,87 @@ #define VAR_WHICH_FOSSIL_REVIVED 0x40C5 #define VAR_STEVENS_HOUSE_STATE 0x40C6 #define VAR_OLDALE_STATE 0x40C7 -#define VAR_0x40C8 0x40C8 -#define VAR_0x40C9 0x40C9 -#define VAR_0x40CA 0x40CA -#define VAR_0x40CB 0x40CB -#define VAR_0x40CC 0x40CC -#define VAR_0x40CD 0x40CD +#define VAR_JAGGED_PASS_STATE 0x40C8 +#define VAR_SCOTT_PETALBURG_ENCOUNTER 0x40C9 +#define VAR_SKY_PILLAR_STATE 0x40CA +#define VAR_ROUTE_111_STATE 0x40CB +#define VAR_FOSSIL_MANIAC_STATE 0x40CC +#define VAR_CABLE_CLUB_TUTORIAL_STATE 0x40CD #define VAR_FRONTIER_BATTLE_MODE 0x40CE #define VAR_FRONTIER_FACILITY 0x40CF -#define VAR_0x40D0 0x40D0 -#define VAR_0x40D1 0x40D1 -#define VAR_0x40D2 0x40D2 +#define VAR_HAS_ENTERED_BATTLE_FRONTIER 0x40D0 // Var is used like a flag. +#define VAR_SCOTT_STATE 0x40D1 +#define VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE 0x40D2 #define VAR_0x40D3 0x40D3 -#define VAR_0x40D4 0x40D4 -#define VAR_0x40D5 0x40D5 -#define VAR_0x40D6 0x40D6 -#define VAR_0x40D7 0x40D7 -#define VAR_0x40D8 0x40D8 -#define VAR_0x40D9 0x40D9 +#define VAR_SS_TIDAL_SCOTT_STATE 0x40D4 // Always equal to FLAG_MET_SCOTT_ON_SS_TIDAL +#define VAR_ROAMER_POKEMON 0x40D5 // 0 = Latias, 1 = Latios +#define VAR_TRAINER_HILL_IS_ACTIVE 0x40D6 +#define VAR_SKY_PILLAR_RAQUAZA_CRY_DONE 0x40D7 +#define VAR_SOOTOPOLIS_STATE 0x40D8 +#define VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT 0x40D9 #define VAR_0x40DA 0x40DA -#define VAR_0x40DB 0x40DB -#define VAR_0x40DC 0x40DC +#define VAR_UNUSED_0x40DB 0x40DB // Unused Var +#define VAR_UNUSED_0x40DC 0x40DC // Unused Var #define VAR_EVENT_PICHU_SLOT 0x40DD -#define VAR_0x40DE 0x40DE -#define VAR_0x40DF 0x40DF -#define VAR_0x40E0 0x40E0 -#define VAR_0x40E1 0x40E1 -#define VAR_0x40E2 0x40E2 -#define VAR_0x40E3 0x40E3 -#define VAR_0x40E4 0x40E4 -#define VAR_0x40E5 0x40E5 +#define VAR_NEVER_READ_0x40DE 0x40DE // Var is written to, but never read +#define VAR_NEVER_READ_0x40DF 0x40DF // Var is written to, but never read +#define VAR_NEVER_READ_0x40E0 0x40E0 // Var is written to, but never read +#define VAR_NEVER_READ_0x40E1 0x40E1 // Var is written to, but never read +#define VAR_NEVER_READ_0x40E2 0x40E2 // Var is written to, but never read +#define VAR_NEVER_READ_0x40E3 0x40E3 // Var is written to, but never read +#define VAR_NEVER_READ_0x40E4 0x40E4 // var is written to, but never read +#define VAR_UNUSED_0x40E5 0x40E5 // Unused Var #define VAR_DAILY_SLOTS 0x40E6 #define VAR_DAILY_WILDS 0x40E7 #define VAR_DAILY_BLENDER 0x40E8 #define VAR_DAILY_PLANTED_BERRIES 0x40E9 #define VAR_DAILY_PICKED_BERRIES 0x40EA #define VAR_DAILY_ROULETTE 0x40EB -#define VAR_0x40EC 0x40EC -#define VAR_0x40ED 0x40ED -#define VAR_0x40EE 0x40EE -#define VAR_0x40EF 0x40EF -#define VAR_0x40F0 0x40F0 +#define VAR_SECRET_BASE_STEP_COUNTER 0x40EC // Used by Secret Base TV programs +#define VAR_SECRET_BASE_LAST_ITEM_USED 0x40ED // Used by Secret Base TV programs +#define VAR_SECRET_BASE_LOW_TV_FLAGS 0x40EE // Used by Secret Base TV programs +#define VAR_SECRET_BASE_HIGH_TV_FLAGS 0x40EF // Used by Secret Base TV programs +#define VAR_SECRET_BASE_IS_NOT_LOCAL 0x40F0 // Set to TRUE while in another player's secret base. #define VAR_DAILY_BP 0x40F1 -#define VAR_0x40F2 0x40F2 -#define VAR_0x40F3 0x40F3 -#define VAR_0x40F4 0x40F4 -#define VAR_0x40F5 0x40F5 -#define VAR_0x40F6 0x40F6 -#define VAR_0x40F7 0x40F7 -#define VAR_0x40F8 0x40F8 -#define VAR_0x40F9 0x40F9 -#define VAR_0x40FA 0x40FA -#define VAR_0x40FB 0x40FB -#define VAR_0x40FC 0x40FC -#define VAR_0x40FD 0x40FD -#define VAR_0x40FE 0x40FE -#define VAR_0x40FF 0x40FF +#define VAR_WALLY_CALL_STEP_COUNTER 0x40F2 +#define VAR_WINONA_CALL_STEP_COUNTER 0x40F3 +#define VAR_ROXANNE_CALL_STEP_COUNTER 0x40F4 +#define VAR_SCOTT_CALL_STEP_COUNTER 0x40F5 +#define VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER 0x40F6 +#define VAR_UNUSED_0x40F7 0x40F7 // Unused Var +#define VAR_UNUSED_0x40F8 0x40F8 // Unused Var +#define VAR_UNUSED_0x40F9 0x40F9 // Unused Var +#define VAR_UNUSED_0x40FA 0x40FA // Unused Var +#define VAR_UNUSED_0x40FB 0x40FB // Unused Var +#define VAR_UNUSED_0x40FC 0x40FC // Unused Var +#define VAR_UNUSED_0x40FD 0x40FD // Unused Var +#define VAR_UNUSED_0x40FE 0x40FE // Unused Var +#define VAR_UNUSED_0x40FF 0x40FF // Unused Var #define SPECIAL_VARS_START 0x8000 // special vars // They are commonly used as parameters to commands, or return values from commands. -#define VAR_0x8000 0x8000 -#define VAR_0x8001 0x8001 -#define VAR_0x8002 0x8002 -#define VAR_0x8003 0x8003 -#define VAR_0x8004 0x8004 -#define VAR_0x8005 0x8005 -#define VAR_0x8006 0x8006 -#define VAR_0x8007 0x8007 -#define VAR_0x8008 0x8008 -#define VAR_0x8009 0x8009 -#define VAR_0x800A 0x800A -#define VAR_0x800B 0x800B -#define VAR_FACING 0x800C -#define VAR_RESULT 0x800D -#define VAR_ITEM_ID 0x800E -#define VAR_LAST_TALKED 0x800F -#define VAR_CONTEST_RANK 0x8010 -#define VAR_CONTEST_CATEGORY 0x8011 -#define VAR_MON_BOX_ID 0x8012 -#define VAR_MON_BOX_POS 0x8013 -#define VAR_0x8014 0x8014 -#define VAR_0x8015 0x8015 +#define VAR_0x8000 0x8000 +#define VAR_0x8001 0x8001 +#define VAR_0x8002 0x8002 +#define VAR_0x8003 0x8003 +#define VAR_0x8004 0x8004 +#define VAR_0x8005 0x8005 +#define VAR_0x8006 0x8006 +#define VAR_0x8007 0x8007 +#define VAR_0x8008 0x8008 +#define VAR_0x8009 0x8009 +#define VAR_0x800A 0x800A +#define VAR_0x800B 0x800B +#define VAR_FACING 0x800C +#define VAR_RESULT 0x800D +#define VAR_ITEM_ID 0x800E +#define VAR_LAST_TALKED 0x800F +#define VAR_CONTEST_RANK 0x8010 +#define VAR_CONTEST_CATEGORY 0x8011 +#define VAR_MON_BOX_ID 0x8012 +#define VAR_MON_BOX_POS 0x8013 +#define VAR_UNUSED_0x8014 0x8014 +#define VAR_TRAINER_BATTLE_OPPONENT_A 0x8015 // Alias of gTrainerBattleOpponent_A #endif // GUARD_CONSTANTS_VARS_H diff --git a/include/constants/weather.h b/include/constants/weather.h index d62e07474..b01cfb390 100644 --- a/include/constants/weather.h +++ b/include/constants/weather.h @@ -37,4 +37,30 @@ #define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20 #define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21 +// These are the "unusual weather events" that are used +// to find Kyogre and Groudon. +#define UNUSUAL_WEATHER_COUNT_PER_LEGENDARY 8 +#define UNUSUAL_WEATHER_GROUDON_LOCATIONS_START 1 +#define UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START 1 + UNUSUAL_WEATHER_COUNT_PER_LEGENDARY + +#define UNUSUAL_WEATHER_NONE 0 +// Groudon locations +#define UNUSUAL_WEATHER_ROUTE_114_NORTH 1 +#define UNUSUAL_WEATHER_ROUTE_114_SOUTH 2 +#define UNUSUAL_WEATHER_ROUTE_115_WEST 3 +#define UNUSUAL_WEATHER_ROUTE_115_EAST 4 +#define UNUSUAL_WEATHER_ROUTE_116_NORTH 5 +#define UNUSUAL_WEATHER_ROUTE_116_SOUTH 6 +#define UNUSUAL_WEATHER_ROUTE_118_EAST 7 +#define UNUSUAL_WEATHER_ROUTE_118_WEST 8 +// Kyogre locations +#define UNUSUAL_WEATHER_ROUTE_105_NORTH 9 +#define UNUSUAL_WEATHER_ROUTE_105_SOUTH 10 +#define UNUSUAL_WEATHER_ROUTE_125_WEST 11 +#define UNUSUAL_WEATHER_ROUTE_125_EAST 12 +#define UNUSUAL_WEATHER_ROUTE_127_NORTH 13 +#define UNUSUAL_WEATHER_ROUTE_127_SOUTH 14 +#define UNUSUAL_WEATHER_ROUTE_129_WEST 15 +#define UNUSUAL_WEATHER_ROUTE_129_EAST 16 + #endif // GUARD_CONSTANTS_WEATHER_H diff --git a/include/event_data.h b/include/event_data.h index 3b8e2701f..11289c1ab 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -47,6 +47,6 @@ extern u16 gSpecialVar_LastTalked; extern u16 gSpecialVar_Facing; extern u16 gSpecialVar_MonBoxId; extern u16 gSpecialVar_MonBoxPos; -extern u16 gSpecialVar_0x8014; +extern u16 gSpecialVar_Unused_0x8014; #endif // GUARD_EVENT_DATA_H diff --git a/include/event_scripts.h b/include/event_scripts.h index 65e2c74b7..e3ec8afb4 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -564,7 +564,7 @@ extern const u8 EventScript_FallDownHole[]; extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8[]; extern const u8 EventScript_Poison[]; extern const u8 EventScript_EggHatch[]; -extern const u8 gUnknown_08273D1F[]; +extern const u8 UnusualWeather_EventScript_EndEventAndCleanup_1[]; extern const u8 IslandCave_EventScript_238EAF[]; extern const u8 MauvilleCity_EventScript_1DF7BA[]; extern const u8 Route119_EventScript_1F49EC[]; diff --git a/include/field_specials.h b/include/field_specials.h index bff04a739..28e47fead 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -7,13 +7,13 @@ u16 get_unknown_box_id(void); bool8 InMultiBattleRoom(void); void sub_813BF10(void); void IncrementBirthIslandRockStepCount(void); -bool8 sub_813B3B0(void); +bool8 UnusualWeatherHasExpired(void); bool8 ShouldDoBrailleRegicePuzzle(void); -bool32 is_tile_that_overrides_player_control(void); -bool32 sub_8138120(void); -bool32 sub_8138168(void); -bool32 sub_81381B0(void); -bool32 sub_81381F8(void); +bool32 ShouldDoWallyCall(void); +bool32 ShouldDoWinonaCall(void); +bool32 ShouldDoScottCall(void); +bool32 ShouldDoRoxanneCall(void); +bool32 ShouldDoRivalRayquazaCall(void); bool32 CountSSTidalStep(u16 delta); u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y); void sub_813A128(void); diff --git a/include/global.h b/include/global.h index 8737c6388..1f9ac5185 100644 --- a/include/global.h +++ b/include/global.h @@ -795,15 +795,15 @@ struct TrainerNameRecord struct SaveTrainerHill { - /*0x3D64*/ u32 field_3D64; - /*0x3D68*/ u32 field_3D68; + /*0x3D64*/ u32 timer; + /*0x3D68*/ u32 bestTime; /*0x3D6C*/ u8 field_3D6C; /*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 field_3D6E_0d:1; // 8 - /*0x3D6E*/ u16 field_3D6E_0e:1; // x10 + /*0x3D6E*/ u16 hasLost:1; // 8 + /*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; // x10 /*0x3D6E*/ u16 field_3D6E_0f:1; // x20 /*0x3D6E*/ u16 tag:2; // x40, x80 = xC0 }; diff --git a/include/main.h b/include/main.h index 728064288..2c241bf97 100644 --- a/include/main.h +++ b/include/main.h @@ -61,8 +61,8 @@ void SetHBlankCallback(IntrCallback callback); void SetVCountCallback(IntrCallback callback); void SetSerialCallback(IntrCallback callback); void InitFlashTimer(void); -void sub_80008DC(u32 *var); -void sub_80008E8(void); +void SetTrainerHillVBlankCounter(u32 *var); +void ClearTrainerHillVBlankCounter(void); void DoSoftReset(void); void ClearPokemonCrySongs(void); void RestoreSerialTimer3IntrHandlers(void); diff --git a/include/overworld.h b/include/overworld.h index 203084ae3..b86067701 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -119,9 +119,9 @@ u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); u8 GetMapTypeByWarpData(struct WarpData *warp); u8 GetCurrentMapType(void); u8 GetLastUsedWarpMapType(void); -bool8 is_map_type_1_2_3_5_or_6(u8 mapType); +bool8 IsMapTypeOutdoors(u8 mapType); bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); -bool8 Overworld_MapTypeIsIndoors(u8 mapType); +bool8 IsMapTypeIndoors(u8 mapType); u8 GetSavedWarpRegionMapSectionId(void); u8 GetCurrentRegionMapSectionId(void); u8 GetCurrentMapBattleScene(void); diff --git a/include/trainer_hill.h b/include/trainer_hill.h index bbc4f45c5..ad2713316 100644 --- a/include/trainer_hill.h +++ b/include/trainer_hill.h @@ -1,7 +1,7 @@ #ifndef GUARD_TRAINER_HILL_H #define GUARD_TRAINER_HILL_H -extern u32 *gUnknown_0203CF5C; +extern u32 *gTrainerHillVBlankCounter; void CallTrainerHillFunction(void); void ResetTrainerHillResults(void); |