diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/battle_tower.h | 2 | ||||
-rw-r--r-- | include/constants/battle_frontier.h | 41 | ||||
-rw-r--r-- | include/constants/battle_setup.h | 2 | ||||
-rw-r--r-- | include/constants/battle_tower.h | 21 | ||||
-rw-r--r-- | include/constants/field_specials.h | 13 | ||||
-rw-r--r-- | include/constants/flags.h | 10 | ||||
-rw-r--r-- | include/constants/items.h | 16 | ||||
-rwxr-xr-x | include/constants/layouts.h | 2 | ||||
-rwxr-xr-x | include/constants/map_groups.h | 178 | ||||
-rw-r--r-- | include/constants/metatile_labels.h | 4 | ||||
-rw-r--r-- | include/constants/trainer_hill.h | 49 | ||||
-rw-r--r-- | include/constants/vars.h | 6 | ||||
-rw-r--r-- | include/event_scripts.h | 10 | ||||
-rw-r--r-- | include/field_specials.h | 4 | ||||
-rw-r--r-- | include/global.h | 22 | ||||
-rw-r--r-- | include/strings.h | 234 | ||||
-rw-r--r-- | include/trainer_hill.h | 19 |
17 files changed, 344 insertions, 289 deletions
diff --git a/include/battle_tower.h b/include/battle_tower.h index 8bc6e6554..2366cac12 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -48,7 +48,7 @@ extern u16 gUnknown_03006298[]; extern const struct BattleFrontierTrainer *gFacilityTrainers; extern const struct FacilityMon *gFacilityTrainerMons; -void sub_8161F74(void); +void CallBattleTowerFunc(void); u16 sub_8162548(u8 challengeNum, u8 battleNum); void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId); void SetEReaderTrainerGfxId(void); diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h index b849686f5..54d50c18a 100644 --- a/include/constants/battle_frontier.h +++ b/include/constants/battle_frontier.h @@ -46,18 +46,30 @@ #define MAX_BATTLE_FRONTIER_POINTS 9999 -// Frontier Maniac -#define FRONTIER_MANIAC_BATTLE_TOWER_SINGLES 0 -#define FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES 1 -#define FRONTIER_MANIAC_BATTLE_TOWER_MULTIS 2 -#define FRONTIER_MANIAC_BATTLE_TOWER_LINK_MULTIS 3 -#define FRONTIER_MANIAC_BATTLE_DOME 4 -#define FRONTIER_MANIAC_BATTLE_FACTORY 5 -#define FRONTIER_MANIAC_BATTLE_PALACE 6 -#define FRONTIER_MANIAC_BATTLE_ARENA 7 -#define FRONTIER_MANIAC_BATTLE_PIKE 8 -#define FRONTIER_MANIAC_BATTLE_PYRAMID 9 -#define FRONTIER_MANIAC_FACILITY_COUNT 10 +// These sets of facility ids would be redunant if the order was consistent +// The order is important for this set so that all the non-link records can be continuous +#define RANKING_HALL_BATTLE_TOWER_SINGLES 0 +#define RANKING_HALL_BATTLE_TOWER_DOUBLES 1 +#define RANKING_HALL_BATTLE_TOWER_MULTIS 2 +#define RANKING_HALL_BATTLE_DOME 3 +#define RANKING_HALL_BATTLE_PALACE 4 +#define RANKING_HALL_BATTLE_ARENA 5 +#define RANKING_HALL_BATTLE_FACTORY 6 +#define RANKING_HALL_BATTLE_PIKE 7 +#define RANKING_HALL_BATTLE_PYRAMID 8 +#define RANKING_HALL_BATTLE_TOWER_LINK 9 + +#define FRONTIER_MANIAC_BATTLE_TOWER_SINGLES 0 +#define FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES 1 +#define FRONTIER_MANIAC_BATTLE_TOWER_MULTIS 2 +#define FRONTIER_MANIAC_BATTLE_TOWER_LINK 3 +#define FRONTIER_MANIAC_BATTLE_DOME 4 +#define FRONTIER_MANIAC_BATTLE_FACTORY 5 +#define FRONTIER_MANIAC_BATTLE_PALACE 6 +#define FRONTIER_MANIAC_BATTLE_ARENA 7 +#define FRONTIER_MANIAC_BATTLE_PIKE 8 +#define FRONTIER_MANIAC_BATTLE_PYRAMID 9 +#define FRONTIER_MANIAC_FACILITY_COUNT 10 #define FRONTIER_MANIAC_MESSAGE_COUNT 3 @@ -77,6 +89,11 @@ // For 'ShowFacilityResultsWindow' function which is a part of the 'CallFrontierUtilFunc' special. #define RESULTS_LINK_CONTEST 7 +#define EXCHANGE_CORNER_DECOR1_CLERK 0 +#define EXCHANGE_CORNER_DECOR2_CLERK 1 +#define EXCHANGE_CORNER_VITAMIN_CLERK 2 +#define EXCHANGE_CORNER_HOLD_ITEM_CLERK 3 + #define F_EV_SPREAD_HP (1 << 0) #define F_EV_SPREAD_ATTACK (1 << 1) #define F_EV_SPREAD_DEFENSE (1 << 2) 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/battle_tower.h b/include/constants/battle_tower.h new file mode 100644 index 000000000..508656fab --- /dev/null +++ b/include/constants/battle_tower.h @@ -0,0 +1,21 @@ +#ifndef GUARD_CONSTANTS_BATTLE_TOWER_H +#define GUARD_CONSTANTS_BATTLE_TOWER_H + +#define BATTLE_TOWER_FUNC_0 0 +#define BATTLE_TOWER_FUNC_1 1 +#define BATTLE_TOWER_FUNC_2 2 +#define BATTLE_TOWER_FUNC_CHOOSE_TRAINER 3 +#define BATTLE_TOWER_FUNC_4 4 +#define BATTLE_TOWER_FUNC_GIVE_RIBBONS 5 +#define BATTLE_TOWER_FUNC_SAVE 6 +#define BATTLE_TOWER_FUNC_7 7 +#define BATTLE_TOWER_FUNC_NOP 8 +#define BATTLE_TOWER_FUNC_NOP2 9 +#define BATTLE_TOWER_FUNC_10 10 +#define BATTLE_TOWER_FUNC_11 11 +#define BATTLE_TOWER_FUNC_12 12 +#define BATTLE_TOWER_FUNC_13 13 +#define BATTLE_TOWER_FUNC_14 14 +#define BATTLE_TOWER_FUNC_15 15 + +#endif //GUARD_CONSTANTS_BATTLE_TOWER_H diff --git a/include/constants/field_specials.h b/include/constants/field_specials.h index cbc5e96a3..81c173f75 100644 --- a/include/constants/field_specials.h +++ b/include/constants/field_specials.h @@ -13,6 +13,19 @@ #define SS_TIDAL_LOCATION_ROUTE124 3 #define SS_TIDAL_LOCATION_ROUTE131 4 +#define SS_TIDAL_BOARD_SLATEPORT 1 +#define SS_TIDAL_DEPART_SLATEPORT 2 +#define SS_TIDAL_HALFWAY_LILYCOVE 3 +#define SS_TIDAL_LAND_LILYCOVE 4 +#define SS_TIDAL_BOARD_LILYCOVE 5 +#define SS_TIDAL_DEPART_LILYCOVE 6 +#define SS_TIDAL_HALFWAY_SLATEPORT 7 +#define SS_TIDAL_LAND_SLATEPORT 8 +#define SS_TIDAL_EXIT_CURRENTS_RIGHT 9 +#define SS_TIDAL_EXIT_CURRENTS_LEFT 10 + +#define SS_TIDAL_MAX_STEPS 205 + // Scrollable Multichoice Menus #define SCROLL_MULTI_NONE 0 #define SCROLL_MULTI_GLASS_WORKSHOP_VENDOR 1 diff --git a/include/constants/flags.h b/include/constants/flags.h index 8a507e976..1eb8a0673 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -125,7 +125,7 @@ #define FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT 0x6F #define FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE 0x70 #define FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE 0x71 // Unused Flag. Used in R/S to indicate whether player defeated or caught Groudon/Kyogre in Cave of Origin. -#define FLAG_SCOTT_CALL_NATIONAL_DEX 0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal. +#define FLAG_SCOTT_CALL_BATTLE_FRONTIER 0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal. #define FLAG_RECEIVED_METEORITE 0x73 #define FLAG_ADVENTURE_STARTED 0x74 // RECEIVED Pokédex. #define FLAG_DEFEATED_MAGMA_SPACE_CENTER 0x75 // Set when Team Magma is defeated at Mossdeep's Space Center. @@ -151,7 +151,7 @@ #define FLAG_THANKED_FOR_PLAYING_WITH_WALLY 0x87 #define FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL 0x88 // Set after defeating Wally outside Mauville Gym. Will activate a call later to register Wally. #define FLAG_RECEIVED_HM01 0x89 -#define FLAG_REGISTER_WINONA_POKENAV 0x8A // Set after obtaining registering Winona, and cleared after Scott's call. +#define FLAG_SCOTT_CALL_FORTREE_GYM 0x8A // Triggers call from Scott after defeating Winona #define FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY 0x8B #define FLAG_RECEIVED_6_SODA_POP 0x8C #define FLAG_DEFEATED_SEASHORE_HOUSE 0x8D @@ -363,7 +363,7 @@ #define FLAG_MET_BATTLE_FRONTIER_MANIAC 0x154 #define FLAG_ENTERED_CONTEST 0x155 #define FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN 0x156 -#define FLAG_MET_BATTLE_FRONTIER_BETTOR 0x157 +#define FLAG_MET_BATTLE_FRONTIER_GAMBLER 0x157 #define FLAG_ENABLE_MR_STONE_POKENAV 0x158 #define FLAG_NURSE_MENTIONS_GOLD_CARD 0x159 #define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR 0x15A @@ -491,7 +491,7 @@ #define FLAG_MET_SCOTT_IN_EVERGRANDE 0x1CF #define FLAG_MET_SCOTT_ON_SS_TIDAL 0x1D0 #define FLAG_SCOTT_GIVES_BATTLE_POINTS 0x1D1 -#define FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT 0x1D2 +#define FLAG_COLLECTED_ALL_GOLD_SYMBOLS 0x1D2 #define FLAG_ENABLE_ROXANNE_MATCH_CALL 0x1D3 #define FLAG_ENABLE_BRAWLY_MATCH_CALL 0x1D4 #define FLAG_ENABLE_WATTSON_MATCH_CALL 0x1D5 @@ -934,7 +934,7 @@ #define FLAG_HIDE_ROUTE_116_MR_BRINEY 0x37B #define FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS 0x37C #define FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS 0x37D -#define FLAG_HIDE_ROUTE_116_TUNNELER 0x37E +#define FLAG_HIDE_ROUTE_116_WANDAS_BOYFRIEND 0x37E #define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2 0x37F #define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 0x380 #define FLAG_HIDE_ROUTE_101_BIRCH 0x381 diff --git a/include/constants/items.h b/include/constants/items.h index b4e4798fb..db3474a72 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -467,18 +467,24 @@ #define FIRST_BERRY_INDEX ITEM_CHERI_BERRY #define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY + +// Range of berries given out by various NPCS #define FIRST_BERRY_MASTER_BERRY ITEM_POMEG_BERRY #define LAST_BERRY_MASTER_BERRY ITEM_NOMEL_BERRY #define FIRST_BERRY_MASTER_WIFE_BERRY ITEM_CHERI_BERRY #define LAST_BERRY_MASTER_WIFE_BERRY ITEM_SITRUS_BERRY #define FIRST_KIRI_BERRY ITEM_POMEG_BERRY #define LAST_KIRI_BERRY ITEM_NOMEL_BERRY +#define FIRST_ROUTE_114_MAN_BERRY ITEM_RAZZ_BERRY +#define LAST_ROUTE_114_MAN_BERRY ITEM_PINAP_BERRY -#define NUM_BERRY_MASTER_BERRIES LAST_BERRY_MASTER_BERRY - FIRST_BERRY_MASTER_BERRY + 1 -#define NUM_BERRY_MASTER_BERRIES_SKIPPED FIRST_BERRY_MASTER_BERRY - FIRST_BERRY_INDEX -#define NUM_BERRY_MASTER_WIFE_BERRIES LAST_BERRY_MASTER_WIFE_BERRY - FIRST_BERRY_MASTER_WIFE_BERRY + 1 -#define NUM_KIRI_BERRIES LAST_KIRI_BERRY - FIRST_KIRI_BERRY + 1 -#define NUM_KIRI_BERRIES_SKIPPED FIRST_KIRI_BERRY - FIRST_BERRY_INDEX +#define NUM_BERRY_MASTER_BERRIES LAST_BERRY_MASTER_BERRY - FIRST_BERRY_MASTER_BERRY + 1 +#define NUM_BERRY_MASTER_BERRIES_SKIPPED FIRST_BERRY_MASTER_BERRY - FIRST_BERRY_INDEX +#define NUM_BERRY_MASTER_WIFE_BERRIES LAST_BERRY_MASTER_WIFE_BERRY - FIRST_BERRY_MASTER_WIFE_BERRY + 1 +#define NUM_KIRI_BERRIES LAST_KIRI_BERRY - FIRST_KIRI_BERRY + 1 +#define NUM_KIRI_BERRIES_SKIPPED FIRST_KIRI_BERRY - FIRST_BERRY_INDEX +#define NUM_ROUTE_114_MAN_BERRIES LAST_ROUTE_114_MAN_BERRY - FIRST_ROUTE_114_MAN_BERRY + 1 +#define NUM_ROUTE_114_MAN_BERRIES_SKIPPED FIRST_ROUTE_114_MAN_BERRY - FIRST_BERRY_INDEX #define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1)) diff --git a/include/constants/layouts.h b/include/constants/layouts.h index 5e134b119..fe905a2c6 100755 --- a/include/constants/layouts.h +++ b/include/constants/layouts.h @@ -398,7 +398,7 @@ #define LAYOUT_SAFARI_ZONE_SOUTHEAST 395 #define LAYOUT_BATTLE_FRONTIER_RANKING_HALL 396 #define LAYOUT_BATTLE_FRONTIER_LOUNGE1 397 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER 398 +#define LAYOUT_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER 398 #define LAYOUT_BATTLE_FRONTIER_RECEPTION_GATE 399 #define LAYOUT_ARTISAN_CAVE_B1F 400 #define LAYOUT_ARTISAN_CAVE_1F 401 diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h index 23a8f224f..bedaaca2a 100755 --- a/include/constants/map_groups.h +++ b/include/constants/map_groups.h @@ -461,95 +461,95 @@ #define MAP_UNION_ROOM (60 | (25 << 8)) // Map Group 26 -#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8)) -#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8)) -#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8)) -#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8)) -#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8)) -#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (15 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 (16 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2 (17 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE (26 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 (37 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2 (38 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 (39 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER (42 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8)) -#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8)) -#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8)) -#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8)) -#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8)) -#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8)) -#define MAP_TRAINER_HILL_1F (61 | (26 << 8)) -#define MAP_TRAINER_HILL_2F (62 | (26 << 8)) -#define MAP_TRAINER_HILL_3F (63 | (26 << 8)) -#define MAP_TRAINER_HILL_4F (64 | (26 << 8)) -#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8)) -#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8)) -#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8)) -#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8)) -#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8)) -#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8)) -#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8)) -#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8)) -#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8)) +#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8)) +#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8)) +#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (15 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 (16 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2 (17 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE (26 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 (37 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2 (38 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 (39 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER (42 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8)) +#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8)) +#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8)) +#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8)) +#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8)) +#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8)) +#define MAP_TRAINER_HILL_1F (61 | (26 << 8)) +#define MAP_TRAINER_HILL_2F (62 | (26 << 8)) +#define MAP_TRAINER_HILL_3F (63 | (26 << 8)) +#define MAP_TRAINER_HILL_4F (64 | (26 << 8)) +#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8)) +#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8)) +#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8)) +#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8)) +#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8)) +#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8)) +#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8)) +#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8)) +#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8)) // Map Group 27 #define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8)) diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index c3ec28406..58ac90eab 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -149,8 +149,8 @@ #define METATILE_Fortree_SecretBase_LongGrass_BottomLeft 0x281 #define METATILE_Fortree_SecretBase_LongGrass_BottomMid 0x282 #define METATILE_Fortree_SecretBase_LongGrass_BottomRight 0x283 -#define METATILE_Fortree_WoodBridge_Kecleon0 0x297 -#define METATILE_Fortree_WoodBridge_Kecleon1 0x29F +#define METATILE_Fortree_WoodBridge1_Top 0x297 +#define METATILE_Fortree_WoodBridge1_Bottom 0x29F // gTileset_Sootopolis #define METATILE_Sootopolis_Door_Closed 0x248 diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h index cab56a5ac..f7a270428 100644 --- a/include/constants/trainer_hill.h +++ b/include/constants/trainer_hill.h @@ -1,27 +1,46 @@ #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_FLOORS_JP 2 + +#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 NUM_TRAINER_HILL_TRAINERS (NUM_TRAINER_HILL_FLOORS * 2) +#define NUM_TRAINER_HILL_TRAINERS_JP (NUM_TRAINER_HILL_FLOORS_JP * 2) + +// 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/constants/vars.h b/include/constants/vars.h index 0d217b192..c2865a37a 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -194,7 +194,7 @@ #define VAR_TRICK_HOUSE_PUZZLE_7_STATE 0x40B1 #define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2 #define VAR_WEATHER_INSTITUTE_STATE 0x40B3 -#define VAR_PORTHOLE_STATE 0x40B4 +#define VAR_SS_TIDAL_STATE 0x40B4 #define VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR 0x40B5 #define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 // Leftover from RS, never set #define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7 @@ -257,9 +257,9 @@ #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_WALLY_CALL_STEP_COUNTER 0x40F2 -#define VAR_WINONA_CALL_STEP_COUNTER 0x40F3 +#define VAR_SCOTT_FORTREE_CALL_STEP_COUNTER 0x40F3 #define VAR_ROXANNE_CALL_STEP_COUNTER 0x40F4 -#define VAR_SCOTT_CALL_STEP_COUNTER 0x40F5 +#define VAR_SCOTT_BF_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 diff --git a/include/event_scripts.h b/include/event_scripts.h index 2d52b3d04..3e4251cf6 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -383,10 +383,6 @@ extern const u8 EventScript_FldEffRockSmash[]; extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC[]; extern const u8 LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC[]; -//contest_strings -extern const u8 gText_0827D507[]; -extern const u8 gText_0827D531[]; - //mauville_old_man extern const u8 gOtherText_Is[]; extern const u8 gOtherText_DontYouAgree[]; @@ -553,11 +549,11 @@ extern const u8 EventScript_EggHatch[]; extern const u8 UnusualWeather_EventScript_EndEventAndCleanup_1[]; extern const u8 IslandCave_EventScript_OpenRegiEntrance[]; extern const u8 MauvilleCity_EventScript_RegisterWallyCall[]; -extern const u8 Route119_EventScript_1F49EC[]; +extern const u8 Route119_EventScript_ScottWonAtFortreeGymCall[]; extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall[]; extern const u8 RustboroCity_Gym_EventScript_RegisterRoxanne[]; extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall[]; -extern const u8 SSTidalCorridor_EventScript_23C050[]; +extern const u8 SSTidalCorridor_EventScript_ReachedStepCount[]; extern const u8 EventScript_FallDownHoleMtPyre[]; // Secret Base @@ -586,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/field_specials.h b/include/field_specials.h index 952081e93..3529290a6 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -13,8 +13,8 @@ void IncrementBirthIslandRockStepCount(void); bool8 UnusualWeatherHasExpired(void); bool8 ShouldDoBrailleRegicePuzzle(void); bool32 ShouldDoWallyCall(void); -bool32 ShouldDoWinonaCall(void); -bool32 ShouldDoScottCall(void); +bool32 ShouldDoScottFortreeCall(void); +bool32 ShouldDoScottBattleFrontierCall(void); bool32 ShouldDoRoxanneCall(void); bool32 ShouldDoRivalRayquazaCall(void); bool32 CountSSTidalStep(u16 delta); diff --git a/include/global.h b/include/global.h index 9b98629cf..f067f5bbc 100644 --- a/include/global.h +++ b/include/global.h @@ -393,11 +393,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 unk_EF9:7; + /*0xEF9*/ u8 savedGame:1; /*0xEFA*/ u8 field_EFA; /*0xEFB*/ u8 field_EFB; /*0xEFC*/ struct FrontierMonData field_EFC[3]; @@ -808,15 +808,15 @@ struct SaveTrainerHill { /*0x3D64*/ u32 timer; /*0x3D68*/ u32 bestTime; - /*0x3D6C*/ u8 field_3D6C; + /*0x3D6C*/ u8 unk_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 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/strings.h b/include/strings.h index cdd02aa28..43b87e888 100644 --- a/include/strings.h +++ b/include/strings.h @@ -583,6 +583,8 @@ extern const u8 gText_BigGirl[]; extern const u8 gText_Son[]; extern const u8 gText_Daughter[]; +// Multichoice strings +extern const u8 gText_Exit[]; extern const u8 gText_1F[]; extern const u8 gText_2F[]; extern const u8 gText_3F[]; @@ -601,8 +603,6 @@ extern const u8 gText_B4F[]; extern const u8 gText_Rooftop[]; extern const u8 gText_ElevatorNowOn[]; -extern const u8 gText_Exit[]; - extern const u8 gText_BlueFlute[]; extern const u8 gText_YellowFlute[]; extern const u8 gText_RedFlute[]; @@ -610,7 +610,6 @@ extern const u8 gText_WhiteFlute[]; extern const u8 gText_BlackFlute[]; extern const u8 gText_PrettyChair[]; extern const u8 gText_PrettyDesk[]; -extern const u8 gText_Exit[]; extern const u8 gText_0Pts[]; extern const u8 gText_10Pts[]; @@ -635,14 +634,12 @@ extern const u8 gText_DittoDoll48BP[]; extern const u8 gText_CyndaquilDoll80BP[]; extern const u8 gText_ChikoritaDoll80BP[]; extern const u8 gText_TotodileDoll80BP[]; -extern const u8 gText_Exit[]; extern const u8 gText_LaprasDoll128BP[]; extern const u8 gText_SnorlaxDoll128BP[]; extern const u8 gText_VenusaurDoll256BP[]; extern const u8 gText_CharizardDoll256BP[]; extern const u8 gText_BlastoiseDoll256BP[]; -extern const u8 gText_Exit[]; extern const u8 gText_Protein1BP[]; extern const u8 gText_Calcium1BP[]; @@ -650,7 +647,6 @@ extern const u8 gText_Iron1BP[]; extern const u8 gText_Zinc1BP[]; extern const u8 gText_Carbos1BP[]; extern const u8 gText_HpUp1BP[]; -extern const u8 gText_Exit[]; extern const u8 gText_Leftovers48BP[]; extern const u8 gText_WhiteHerb48BP[]; @@ -661,7 +657,6 @@ extern const u8 gText_ChoiceBand64BP[]; extern const u8 gText_KingsRock64BP[]; extern const u8 gText_FocusBand64BP[]; extern const u8 gText_ScopeLens64BP[]; -extern const u8 gText_Exit[]; extern const u8 gText_EnergyPowder50[]; extern const u8 gText_EnergyRoot80[]; @@ -674,7 +669,6 @@ extern const u8 gText_Calcium1000[]; extern const u8 gText_Zinc1000[]; extern const u8 gText_HPUp1000[]; extern const u8 gText_PPUp3000[]; -extern const u8 gText_Exit[]; extern const u8 gText_BattleTower2[]; extern const u8 gText_BattleDome[]; @@ -685,8 +679,8 @@ extern const u8 gText_BattlePike[]; extern const u8 gText_BattlePyramid[]; extern const u8 gText_RankingHall[]; extern const u8 gText_ExchangeService[]; -extern const u8 gText_Exit[]; +// Battle Frontier Move Tutors extern const u8 gText_Softboiled16BP[]; extern const u8 gText_SeismicToss24BP[]; extern const u8 gText_DreamEater24BP[]; @@ -697,8 +691,6 @@ extern const u8 gText_RockSlide48BP[]; extern const u8 gText_Counter48BP[]; extern const u8 gText_ThunderWave48BP[]; extern const u8 gText_SwordsDance48BP[]; -extern const u8 gText_Exit[]; - extern const u8 gText_DefenseCurl16BP[]; extern const u8 gText_Snore24BP[]; extern const u8 gText_MudSlap24BP[]; @@ -709,7 +701,6 @@ extern const u8 gText_PsychUp48BP[]; extern const u8 gText_IcePunch48BP[]; extern const u8 gText_ThunderPunch48BP[]; extern const u8 gText_FirePunch48BP[]; -extern const u8 gText_Exit[]; extern const u8 gText_SlateportCity[]; extern const u8 gText_BattleFrontier[]; @@ -717,7 +708,6 @@ extern const u8 gText_SouthernIsland[]; extern const u8 gText_NavelRock[]; extern const u8 gText_BirthIsland[]; extern const u8 gText_FarawayIsland[]; -extern const u8 gText_Exit[]; extern const u8 gText_BattleTrainers[]; extern const u8 gText_BattleBasics[]; @@ -725,38 +715,34 @@ extern const u8 gText_PokemonNature[]; extern const u8 gText_PokemonMoves[]; extern const u8 gText_Underpowered[]; extern const u8 gText_WhenInDanger[]; -extern const u8 gText_Exit[]; -extern const u8 BattleFrontier_Lounge2_Text_260971[]; -extern const u8 BattleFrontier_Lounge2_Text_260A1E[]; -extern const u8 BattleFrontier_Lounge2_Text_260AE7[]; -extern const u8 BattleFrontier_Lounge2_Text_2619AC[]; -extern const u8 BattleFrontier_Lounge2_Text_261A91[]; -extern const u8 BattleFrontier_Lounge2_Text_261B0C[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_260BC4[]; -extern const u8 BattleFrontier_Lounge2_Text_260C6D[]; -extern const u8 BattleFrontier_Lounge2_Text_260D3A[]; -extern const u8 BattleFrontier_Lounge2_Text_260E1E[]; -extern const u8 BattleFrontier_Lounge2_Text_260EC7[]; -extern const u8 BattleFrontier_Lounge2_Text_260F74[]; -extern const u8 BattleFrontier_Lounge2_Text_2614E6[]; -extern const u8 BattleFrontier_Lounge2_Text_261591[]; -extern const u8 BattleFrontier_Lounge2_Text_26166F[]; -extern const u8 BattleFrontier_Lounge2_Text_261282[]; -extern const u8 BattleFrontier_Lounge2_Text_261329[]; -extern const u8 BattleFrontier_Lounge2_Text_261403[]; -extern const u8 BattleFrontier_Lounge2_Text_261026[]; -extern const u8 BattleFrontier_Lounge2_Text_2610CC[]; -extern const u8 BattleFrontier_Lounge2_Text_261194[]; -extern const u8 BattleFrontier_Lounge2_Text_26174D[]; -extern const u8 BattleFrontier_Lounge2_Text_2617F9[]; -extern const u8 BattleFrontier_Lounge2_Text_2618C4[]; +// Battle Frontier Maniac +extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice1[]; +extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice2[]; +extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice3[]; +extern const u8 BattleFrontier_Lounge2_Text_MultiBattleAdvice[]; +extern const u8 BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice[]; +extern const u8 BattleFrontier_Lounge2_Text_DomeAceIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_DomeAceSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_DomeAceGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PikeQueenIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_PikeQueenSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PikeQueenGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PyramidKingIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_PyramidKingSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PyramidKingGoldMons[]; // Battle Frontier Nature Girl extern const u8 BattleFrontier_Lounge5_Text_NatureGirlHardy[]; @@ -782,85 +768,83 @@ extern const u8 BattleFrontier_Lounge5_Text_NatureGirlGentle[]; extern const u8 BattleFrontier_Lounge5_Text_NatureGirlSassy[]; extern const u8 BattleFrontier_Lounge5_Text_NatureGirlCareful[]; -extern const u8 BattleFrontier_Lounge3_Text_262261[]; -extern const u8 BattleFrontier_Lounge3_Text_26230D[]; -extern const u8 BattleFrontier_Lounge3_Text_2623B9[]; -extern const u8 BattleFrontier_Lounge3_Text_262464[]; -extern const u8 BattleFrontier_Lounge3_Text_26250E[]; -extern const u8 BattleFrontier_Lounge3_Text_2625B8[]; -extern const u8 BattleFrontier_Lounge3_Text_26266A[]; -extern const u8 BattleFrontier_Lounge3_Text_26271C[]; -extern const u8 BattleFrontier_Lounge3_Text_2627C9[]; -extern const u8 BattleFrontier_Lounge3_Text_262876[]; -extern const u8 BattleFrontier_Lounge3_Text_26291A[]; -extern const u8 BattleFrontier_Lounge3_Text_2629BC[]; - -extern const u8 BattleFrontier_Lounge3_Text_262C04[]; -extern const u8 BattleFrontier_Lounge3_Text_262C90[]; -extern const u8 BattleFrontier_Lounge3_Text_262D1C[]; -extern const u8 BattleFrontier_Lounge3_Text_262DA7[]; -extern const u8 BattleFrontier_Lounge3_Text_262E34[]; -extern const u8 BattleFrontier_Lounge3_Text_262EC1[]; -extern const u8 BattleFrontier_Lounge3_Text_262F56[]; -extern const u8 BattleFrontier_Lounge3_Text_262FEB[]; -extern const u8 BattleFrontier_Lounge3_Text_263078[]; -extern const u8 BattleFrontier_Lounge3_Text_263105[]; -extern const u8 BattleFrontier_Lounge3_Text_26318C[]; -extern const u8 BattleFrontier_Lounge3_Text_263211[]; +// Battle Frontier Gambler +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerMulti[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleDomeSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleDomeDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleFactorySingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleFactoryDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePalaceSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePalaceDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleArena[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePike[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePyramid[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerMulti[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleDomeSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleDomeDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleFactorySingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleFactoryDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePalaceSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePalaceDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleArena[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePike[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePyramid[]; extern const u8 gText_BP[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260201[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260287[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E[]; - -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C[]; - -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260397[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260436[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C[]; - -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260542[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260575[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260613[]; - -extern const u8 BattleFrontier_Lounge7_Text_265E30[]; -extern const u8 BattleFrontier_Lounge7_Text_265E5B[]; -extern const u8 BattleFrontier_Lounge7_Text_265E8A[]; -extern const u8 BattleFrontier_Lounge7_Text_265EC0[]; -extern const u8 BattleFrontier_Lounge7_Text_265EED[]; -extern const u8 BattleFrontier_Lounge7_Text_265F1C[]; -extern const u8 BattleFrontier_Lounge7_Text_265F47[]; -extern const u8 BattleFrontier_Lounge7_Text_265F77[]; -extern const u8 BattleFrontier_Lounge7_Text_265FAA[]; -extern const u8 BattleFrontier_Lounge7_Text_265FDD[]; - -extern const u8 BattleFrontier_Lounge7_Text_26600A[]; -extern const u8 BattleFrontier_Lounge7_Text_26603E[]; -extern const u8 BattleFrontier_Lounge7_Text_266070[]; -extern const u8 BattleFrontier_Lounge7_Text_2660A6[]; -extern const u8 BattleFrontier_Lounge7_Text_2660D0[]; -extern const u8 BattleFrontier_Lounge7_Text_2660FF[]; -extern const u8 BattleFrontier_Lounge7_Text_26612D[]; -extern const u8 BattleFrontier_Lounge7_Text_26615F[]; -extern const u8 BattleFrontier_Lounge7_Text_266185[]; -extern const u8 BattleFrontier_Lounge7_Text_2661B5[]; +// Battle Frontier Exchange Corner +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KissPosterDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KissCushionDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_SmoochumDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_TogepiDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_MeowthDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ClefairyDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_DittoDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CyndaquilDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ChikoritaDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_TotodileDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ProteinDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CalciumDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_IronDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ZincDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CarbosDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_HPUpDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_LeftoversDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_WhiteHerbDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_QuickClawDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_MentalHerbDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_BrightpowderDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ChoiceBandDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KingsRockDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_FocusBandDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ScopeLensDesc[]; + +// Battle Frontier Move Tutors +extern const u8 BattleFrontier_Lounge7_Text_SoftboiledDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SeismicTossDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_DreamEaterDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_MegaPunchDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_MegaKickDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_BodySlamDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_RockSlideDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_CounterDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_ThunderWaveDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SwordsDanceDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_DefenseCurlDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SnoreDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_MudSlapDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SwiftDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_IcyWindDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_EndureDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_PsychUpDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_IcePunchDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_ThunderPunchDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_FirePunchDesc[]; extern const u8 gText_YourPartnerHasRetired[]; @@ -1328,11 +1312,11 @@ extern const u8 gText_Are2[]; extern const u8 gText_123Dot[][3]; // Frontier util. -extern const u8 gUnknown_085ED164[]; -extern const u8 gUnknown_085ED170[]; -extern const u8 gUnknown_085ED17C[]; -extern const u8 gUnknown_085ED188[]; -extern const u8 gUnknown_085ED190[]; +extern const u8 gText_FacilitySingle[]; +extern const u8 gText_FacilityDouble[]; +extern const u8 gText_FacilityMulti[]; +extern const u8 gText_FacilityLink[]; +extern const u8 gText_Facility[]; extern const u8 gText_RecordsLv50[]; extern const u8 gText_RecordsOpenLevel[]; diff --git a/include/trainer_hill.h b/include/trainer_hill.h index a592ef580..c07aeb6d7 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 numTrainers; 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); |