summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/battle.h2
-rw-r--r--include/constants/coins.h6
-rw-r--r--include/constants/easy_chat.h17
-rw-r--r--include/constants/field_effects.h2
-rw-r--r--include/constants/field_tasks.h13
-rw-r--r--include/constants/flags.h4
-rw-r--r--include/constants/global.h2
-rw-r--r--include/constants/layouts.h144
-rw-r--r--include/constants/map_groups.h40
-rw-r--r--include/constants/metatile_labels.h57
-rw-r--r--include/constants/party_menu.h1
-rw-r--r--include/constants/trainer_tower.h46
-rw-r--r--include/constants/union_room.h45
-rw-r--r--include/constants/weather.h2
14 files changed, 259 insertions, 122 deletions
diff --git a/include/constants/battle.h b/include/constants/battle.h
index 63be37936..a80038f2c 100644
--- a/include/constants/battle.h
+++ b/include/constants/battle.h
@@ -71,7 +71,7 @@
#define BATTLE_TYPE_x800000 0x800000
#define BATTLE_TYPE_RECORDED 0x1000000
#define BATTLE_TYPE_x2000000 0x2000000
-#define BATTLE_TYPE_TRAINER_HILL 0x4000000
+#define BATTLE_TYPE_x4000000 0x4000000
#define BATTLE_TYPE_SECRET_BASE 0x8000000
#define BATTLE_TYPE_GROUDON 0x10000000
#define BATTLE_TYPE_KYOGRE 0x20000000
diff --git a/include/constants/coins.h b/include/constants/coins.h
new file mode 100644
index 000000000..3ae3bb23f
--- /dev/null
+++ b/include/constants/coins.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_CONSTANTS_COINS_H
+#define GUARD_CONSTANTS_COINS_H
+
+#define MAX_COINS 9999
+
+#endif // GUARD_CONSTANTS_COINS_H
diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h
index 4ef90ed60..7261365c2 100644
--- a/include/constants/easy_chat.h
+++ b/include/constants/easy_chat.h
@@ -6,22 +6,7 @@
#define EASY_CHAT_TYPE_BATTLE_WON 2
#define EASY_CHAT_TYPE_BATTLE_LOST 3
#define EASY_CHAT_TYPE_MAIL 4
-#define EASY_CHAT_TYPE_INTERVIEW 5
-#define EASY_CHAT_TYPE_BARD_SONG 6
-#define EASY_CHAT_TYPE_FAN_CLUB 7
-#define EASY_CHAT_TYPE_UNK_8 8
-#define EASY_CHAT_TYPE_TRENDY_PHRASE 9
-#define EASY_CHAT_TYPE_GABBY_AND_TY 10
-#define EASY_CHAT_TYPE_CONTEST_INTERVIEW 11
-#define EASY_CHAT_TYPE_BATTLE_TOWER_INTERVIEW 12
-#define EASY_CHAT_TYPE_GOOD_SAYING 13
-#define EASY_CHAT_TYPE_FAN_QUESTION 14
-#define EASY_CHAT_TYPE_QUIZ_ANSWER 15
-#define EASY_CHAT_TYPE_QUIZ_QUESTION 16
-#define EASY_CHAT_TYPE_QUIZ_SET_QUESTION 17
-#define EASY_CHAT_TYPE_QUIZ_SET_ANSWER 18
-#define EASY_CHAT_TYPE_APPRENTICE 19
-#define EASY_CHAT_TYPE_QUESTIONNAIRE 20
+#define EASY_CHAT_TYPE_QUESTIONNAIRE 14
#define EC_GROUP_POKEMON_2 0x0
#define EC_GROUP_TRAINER 0x1
diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h
index 3ed7d8ce2..1fd6777f0 100644
--- a/include/constants/field_effects.h
+++ b/include/constants/field_effects.h
@@ -65,7 +65,7 @@
#define FLDEFF_PCTURN_ON 61
#define FLDEFF_HALL_OF_FAME_RECORD 62
#define FLDEFF_USE_TELEPORT 63
-#define FLDEFF_UNK_40 64
+#define FLDEFF_UNK_40 64 // TODO: game corner smile icon?
#define FLDEFF_UNK_41 65 // TODO: related to vs_seeker
#define FLDEFF_UNK_42 66 // TODO: related to trainer see
#define FLDEFF_UNK_43 67 // TODO: related to deoxys
diff --git a/include/constants/field_tasks.h b/include/constants/field_tasks.h
new file mode 100644
index 000000000..31edb6ffe
--- /dev/null
+++ b/include/constants/field_tasks.h
@@ -0,0 +1,13 @@
+#ifndef GUARD_CONSTANTS_FIELD_TASKS_H
+#define GUARD_CONSTANTS_FIELD_TASKS_H
+
+#define STEP_CB_DUMMY 0
+#define STEP_CB_ASH 1 // Unused
+#define STEP_CB_FORTREE_BRIDGE 2 // Unused, dummied
+#define STEP_CB_PACIFIDLOG_BRIDGE 3 // Unused, dummied
+#define STEP_CB_ICE 4
+#define STEP_CB_TRUCK 5 // Unused, dummied
+#define STEP_CB_SECRET_BASE 6 // Unused, dummied
+#define STEP_CB_CRACKED_FLOOR 7 // Unused
+
+#endif // GUARD_CONSTANTS_FIELD_TASKS_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 26ffa8a7c..7555f3c6b 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1046,7 +1046,7 @@
#define HIDDEN_ITEM_SAFARI_ZONE_WEST_REVIVE 23
#define HIDDEN_ITEM_SILPH_CO_5F_ELIXIR 24
#define HIDDEN_ITEM_SILPH_CO_9F_MAX_POTION 25
-#define HIDDEN_ITEM_SAFFRON_CITY_HOUSE1_2F_NUGGET 26
+#define HIDDEN_ITEM_SAFFRON_CITY_COPYCATS_HOUSE_2F_NUGGET 26
#define HIDDEN_ITEM_POWER_PLANT_MAX_ELIXIR 27
#define HIDDEN_ITEM_POWER_PLANT_THUNDER_STONE 28
#define HIDDEN_ITEM_SEAFOAM_ISLANDS_B3F_NUGGET 29
@@ -1415,7 +1415,7 @@
#define FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST (SYS_FLAGS + 0xB7)
#define FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE (SYS_FLAGS + 0xB8)
#define FLAG_WORLD_MAP_FIVE_ISLAND_ROCKET_WAREHOUSE (SYS_FLAGS + 0xB9)
-#define FLAG_WORLD_MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY (SYS_FLAGS + 0xBA)
+#define FLAG_WORLD_MAP_TRAINER_TOWER_LOBBY (SYS_FLAGS + 0xBA)
#define FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F (SYS_FLAGS + 0xBB)
#define FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE (SYS_FLAGS + 0xBC)
#define FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH (SYS_FLAGS + 0xBD)
diff --git a/include/constants/global.h b/include/constants/global.h
index 7f3c80bb4..ae9a0da3b 100644
--- a/include/constants/global.h
+++ b/include/constants/global.h
@@ -34,6 +34,8 @@
#define QUEST_LOG_SCENE_COUNT 4
+#define NUM_TOWER_CHALLENGE_TYPES 4
+
#define MALE 0
#define FEMALE 1
#define GENDER_COUNT 2
diff --git a/include/constants/layouts.h b/include/constants/layouts.h
index 657d531e8..431ca198a 100644
--- a/include/constants/layouts.h
+++ b/include/constants/layouts.h
@@ -4,7 +4,7 @@
#define LAYOUT_PALLET_TOWN_PLAYERS_HOUSE_1F 1
#define LAYOUT_PALLET_TOWN_PLAYERS_HOUSE_2F 2
#define LAYOUT_PALLET_TOWN_GARYS_HOUSE 3
-#define LAYOUT_UNUSED_LAYOUT_82D54D8 4
+#define LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_2F 4
#define LAYOUT_PALLET_TOWN_PROFESSOR_OAKS_LAB 5
#define LAYOUT_HOUSE1 6
#define LAYOUT_HOUSE2 7
@@ -14,53 +14,53 @@
#define LAYOUT_HOUSE3 11
#define LAYOUT_CERULEAN_CITY_GYM 12
#define LAYOUT_HOUSE4 13
-#define LAYOUT_UNUSED_LAYOUT_82D6144 14
+#define LAYOUT_LAVARIDGE_TOWN_HERB_SHOP 14
#define LAYOUT_CELADON_CITY_GYM 15
-#define LAYOUT_UNUSED_LAYOUT_82D6490 16
+#define LAYOUT_RS_POKEMON_CENTER_1F 16
#define LAYOUT_FIVE_ISLAND_RESORT_GORGEOUS_HOUSE 17
-#define LAYOUT_UNUSED_LAYOUT_82D6654 18
-#define LAYOUT_UNUSED_LAYOUT_82D672C 19
+#define LAYOUT_PACIFIDLOG_TOWN_HOUSE1 18
+#define LAYOUT_PACIFIDLOG_TOWN_HOUSE2 19
#define LAYOUT_FUCHSIA_CITY_GYM 20
#define LAYOUT_HOUSE5 21
-#define LAYOUT_UNUSED_LAYOUT_82D6C34 24
+#define LAYOUT_UNUSED1 24
#define LAYOUT_VERMILION_CITY_GYM 25
#define LAYOUT_CERULEAN_CITY_BIKE_SHOP 26
#define LAYOUT_CELADON_CITY_GAME_CORNER 27
#define LAYOUT_PEWTER_CITY_GYM 28
#define LAYOUT_FOUR_ISLAND_LORELEIS_HOUSE 30
#define LAYOUT_THREE_ISLAND_HOUSE1 31
-#define LAYOUT_UNUSED_LAYOUT_82D75F0 32
-#define LAYOUT_UNUSED_LAYOUT_82D7674 33
+#define LAYOUT_RUSTBORO_CITY_CUTTERS_HOUSE 32
+#define LAYOUT_FORTREE_CITY_HOUSE1 33
#define LAYOUT_SAFFRON_CITY_GYM 34
-#define LAYOUT_UNUSED_LAYOUT_82D7CC8 35
+#define LAYOUT_FORTREE_CITY_HOUSE2 35
#define LAYOUT_CINNABAR_ISLAND_GYM 36
#define LAYOUT_VIRIDIAN_CITY_GYM 37
-#define LAYOUT_UNUSED_LAYOUT_82D88C8 46
+#define LAYOUT_RS_SAFARI_ZONE_ENTRANCE 46
#define LAYOUT_BATTLE_COLOSSEUM_2P 47
#define LAYOUT_TRADE_CENTER 48
#define LAYOUT_RECORD_CENTER 49
#define LAYOUT_BATTLE_COLOSSEUM_4P 50
#define LAYOUT_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE 51
-#define LAYOUT_UNUSED_LAYOUT_82D9B24 52
-#define LAYOUT_UNUSED_LAYOUT_82DA7C8 53
-#define LAYOUT_UNUSED_LAYOUT_82DB46C 54
-#define LAYOUT_UNUSED_LAYOUT_82DB4F0 55
-#define LAYOUT_UNUSED_LAYOUT_82DBBE0 57
-#define LAYOUT_UNUSED_LAYOUT_82DBDD8 62
-#define LAYOUT_UNUSED_LAYOUT_82DBFB8 63
-#define LAYOUT_UNUSED_LAYOUT_82DC4EC 64
-#define LAYOUT_UNUSED_LAYOUT_82DC60C 65
-#define LAYOUT_UNUSED_LAYOUT_82DC72C 66
-#define LAYOUT_UNUSED_LAYOUT_82DC84C 67
-#define LAYOUT_UNUSED_LAYOUT_82DCA70 68
-#define LAYOUT_UNUSED_LAYOUT_82DCB44 69
-#define LAYOUT_UNUSED_LAYOUT_82DCC40 70
-#define LAYOUT_UNUSED_LAYOUT_82DCCD4 71
-#define LAYOUT_UNUSED_LAYOUT_82DCD68 72
-#define LAYOUT_UNUSED_LAYOUT_82DCDFC 73
-#define LAYOUT_UNUSED_LAYOUT_82DCF00 74
-#define LAYOUT_UNUSED_LAYOUT_82DD004 75
-#define LAYOUT_UNUSED_LAYOUT_82DD0DC 77
+#define LAYOUT_RS_SAFARI_ZONE_NORTHEAST 52
+#define LAYOUT_RS_SAFARI_ZONE_SOUTHWEST 53
+#define LAYOUT_RS_SAFARI_ZONE_SOUTHEAST 54
+#define LAYOUT_FORTREE_CITY_DECORATION_SHOP 55
+#define LAYOUT_RS_BATTLE_TOWER 57
+#define LAYOUT_SS_TIDAL_CORRIDOR 62
+#define LAYOUT_SS_TIDAL_LOWER_DECK 63
+#define LAYOUT_SS_TIDAL_ROOMS 64
+#define LAYOUT_RUSTBORO_CITY_FLAT2_1F 65
+#define LAYOUT_RUSTBORO_CITY_FLAT2_2F 66
+#define LAYOUT_RUSTBORO_CITY_FLAT2_3F 67
+#define LAYOUT_EVER_GRANDE_CITY_HALL_OF_FAME 68
+#define LAYOUT_MOSSDEEP_CITY_EREADER_TRAINER_HOUSE_1F 69
+#define LAYOUT_MOSSDEEP_CITY_EREADER_TRAINER_HOUSE_2F 70
+#define LAYOUT_SOOTOPOLIS_CITY_HOUSE1 71
+#define LAYOUT_SOOTOPOLIS_CITY_HOUSE2 72
+#define LAYOUT_SOOTOPOLIS_CITY_HOUSE3 73
+#define LAYOUT_RUSTBORO_CITY_FLAT1_1F 74
+#define LAYOUT_RUSTBORO_CITY_FLAT1_2F 75
+#define LAYOUT_RS_SAFARI_ZONE_REST_HOUSE 77
#define LAYOUT_PALLET_TOWN 78
#define LAYOUT_VIRIDIAN_CITY 79
#define LAYOUT_PEWTER_CITY 80
@@ -71,7 +71,7 @@
#define LAYOUT_FUCHSIA_CITY 85
#define LAYOUT_CINNABAR_ISLAND 86
#define LAYOUT_INDIGO_PLATEAU_EXTERIOR 87
-#define LAYOUT_SAFFRON_CITY_CLASSIC 88
+#define LAYOUT_SAFFRON_CITY_CONNECTION 88
#define LAYOUT_ROUTE1 89
#define LAYOUT_ROUTE2 90
#define LAYOUT_ROUTE3 91
@@ -208,8 +208,8 @@
#define LAYOUT_ROUTE16_NORTH_ENTRANCE_1F 223
#define LAYOUT_ENTRANCE_1F 224
#define LAYOUT_ROCKET_HIDEOUT_ELEVATOR 225
-#define LAYOUT_SAFFRON_CITY_HOUSE1_1F 226
-#define LAYOUT_SAFFRON_CITY_HOUSE1_2F 227
+#define LAYOUT_SAFFRON_CITY_COPYCATS_HOUSE_1F 226
+#define LAYOUT_SAFFRON_CITY_COPYCATS_HOUSE_2F 227
#define LAYOUT_SAFFRON_CITY_DOJO 228
#define LAYOUT_SILPH_CO_ELEVATOR 229
#define LAYOUT_ONE_ISLAND 230
@@ -224,10 +224,10 @@
#define LAYOUT_TWO_ISLAND_CAPE_BRINK 239
#define LAYOUT_THREE_ISLAND_BOND_BRIDGE 240
#define LAYOUT_THREE_ISLAND_PORT 241
-#define LAYOUT_UNKNOWN_MAP_03_50 242
-#define LAYOUT_UNKNOWN_MAP_03_51 243
-#define LAYOUT_UNKNOWN_MAP_03_52 244
-#define LAYOUT_UNKNOWN_MAP_03_53 245
+#define LAYOUT_PROTOTYPE_SEVII_ISLE_6 242
+#define LAYOUT_PROTOTYPE_SEVII_ISLE_7 243
+#define LAYOUT_PROTOTYPE_SEVII_ISLE_8 244
+#define LAYOUT_PROTOTYPE_SEVII_ISLE_9 245
#define LAYOUT_FIVE_ISLAND_RESORT_GORGEOUS 246
#define LAYOUT_FIVE_ISLAND_WATER_LABYRINTH 247
#define LAYOUT_FIVE_ISLAND_MEADOW 248
@@ -240,17 +240,17 @@
#define LAYOUT_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE 255
#define LAYOUT_SEVEN_ISLAND_SEVAULT_CANYON 256
#define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS 257
-#define LAYOUT_UNUSED_LAYOUT_833614C 258
-#define LAYOUT_UNUSED_LAYOUT_83377F0 259
-#define LAYOUT_UNUSED_LAYOUT_8338354 260
-#define LAYOUT_UNUSED_LAYOUT_8338738 261
+#define LAYOUT_PROTOTYPE_SEVII_ISLE_22 258
+#define LAYOUT_PROTOTYPE_SEVII_ISLE_23_EAST 259
+#define LAYOUT_PROTOTYPE_SEVII_ISLE_23_WEST 260
+#define LAYOUT_PROTOTYPE_SEVII_ISLE_24 261
#define LAYOUT_UNION_ROOM 262
#define LAYOUT_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB 263
-#define LAYOUT_UNUSED_LAYOUT_8338B4C 264
+#define LAYOUT_SEVEN_ISLAND_HOUSE_ROOM1_DOOR_OPEN 264
#define LAYOUT_SEVEN_ISLAND_HOUSE_ROOM2 265
#define LAYOUT_VIRIDIAN_CITY_HOUSE2 266
-#define LAYOUT_UNUSED_LAYOUT_8338E90 267
-#define LAYOUT_UNUSED_LAYOUT_833902C 268
+#define LAYOUT_CELADON_CITY_RESTAURANT_DUPLICATE 267
+#define LAYOUT_CELADON_CITY_HOTEL_DUPLICATE 268
#define LAYOUT_MT_EMBER_RUBY_PATH_B4F 269
#define LAYOUT_THREE_ISLAND_BERRY_FOREST 270
#define LAYOUT_ONE_ISLAND_POKEMON_CENTER_1F 271
@@ -279,17 +279,17 @@
#define LAYOUT_FOUR_ISLAND_ICEFALL_CAVE_1F 294
#define LAYOUT_FOUR_ISLAND_ICEFALL_CAVE_B1F 295
#define LAYOUT_FOUR_ISLAND_ICEFALL_CAVE_BACK 296
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_LOBBY 297
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_1F 298
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_2F 299
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_3F 300
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_4F 301
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_5F 302
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_6F 303
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_7F 304
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_8F 305
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ROOF 306
-#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR 307
+#define LAYOUT_TRAINER_TOWER_LOBBY 297
+#define LAYOUT_TRAINER_TOWER_1F 298
+#define LAYOUT_TRAINER_TOWER_2F 299
+#define LAYOUT_TRAINER_TOWER_3F 300
+#define LAYOUT_TRAINER_TOWER_4F 301
+#define LAYOUT_TRAINER_TOWER_5F 302
+#define LAYOUT_TRAINER_TOWER_6F 303
+#define LAYOUT_TRAINER_TOWER_7F 304
+#define LAYOUT_TRAINER_TOWER_8F 305
+#define LAYOUT_TRAINER_TOWER_ROOF 306
+#define LAYOUT_TRAINER_TOWER_ELEVATOR 307
#define LAYOUT_CERULEAN_CITY_HOUSE5 308
#define LAYOUT_SIX_ISLAND_DOTTED_HOLE_1F 309
#define LAYOUT_SIX_ISLAND_DOTTED_HOLE_B1F 310
@@ -301,7 +301,7 @@
#define LAYOUT_ONE_ISLAND_POKEMON_CENTER_2F 316
#define LAYOUT_SIX_ISLAND_PATTERN_BUSH 317
#define LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL 318
-#define LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL_2 319
+#define LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL_DUG_OUT 319
#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ENTRANCE 320
#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM1 321
#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM2 322
@@ -348,22 +348,22 @@
#define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_VIAPOIS_CHAMBER 363
#define LAYOUT_NAVEL_ROCK_B1F 364
#define LAYOUT_NAVEL_ROCK_FORK 365
-#define LAYOUT_UNUSED_LAYOUT_834BC2C 366
-#define LAYOUT_UNUSED_LAYOUT_834BEB4 367
-#define LAYOUT_UNUSED_LAYOUT_834C13C 368
-#define LAYOUT_UNUSED_LAYOUT_834C3C4 369
-#define LAYOUT_UNUSED_LAYOUT_834C64C 370
-#define LAYOUT_UNUSED_LAYOUT_834C8D4 371
-#define LAYOUT_UNUSED_LAYOUT_834CB5C 372
-#define LAYOUT_UNUSED_LAYOUT_834CDE4 373
-#define LAYOUT_UNUSED_LAYOUT_834D06C 374
-#define LAYOUT_UNUSED_LAYOUT_834D2F4 375
-#define LAYOUT_UNUSED_LAYOUT_834D57C 376
-#define LAYOUT_UNUSED_LAYOUT_834D804 377
-#define LAYOUT_UNUSED_LAYOUT_834DA8C 378
-#define LAYOUT_UNUSED_LAYOUT_834DD14 379
-#define LAYOUT_UNUSED_LAYOUT_834DF9C 380
-#define LAYOUT_UNUSED_LAYOUT_834E224 381
+#define LAYOUT_TRAINER_TOWER_1F_DOUBLES 366
+#define LAYOUT_TRAINER_TOWER_2F_DOUBLES 367
+#define LAYOUT_TRAINER_TOWER_3F_DOUBLES 368
+#define LAYOUT_TRAINER_TOWER_4F_DOUBLES 369
+#define LAYOUT_TRAINER_TOWER_5F_DOUBLES 370
+#define LAYOUT_TRAINER_TOWER_6F_DOUBLES 371
+#define LAYOUT_TRAINER_TOWER_7F_DOUBLES 372
+#define LAYOUT_TRAINER_TOWER_8F_DOUBLES 373
+#define LAYOUT_TRAINER_TOWER_1F_KNOCKOUT 374
+#define LAYOUT_TRAINER_TOWER_2F_KNOCKOUT 375
+#define LAYOUT_TRAINER_TOWER_3F_KNOCKOUT 376
+#define LAYOUT_TRAINER_TOWER_4F_KNOCKOUT 377
+#define LAYOUT_TRAINER_TOWER_5F_KNOCKOUT 378
+#define LAYOUT_TRAINER_TOWER_6F_KNOCKOUT 379
+#define LAYOUT_TRAINER_TOWER_7F_KNOCKOUT 380
+#define LAYOUT_TRAINER_TOWER_8F_KNOCKOUT 381
#define LAYOUT_SEVEN_ISLAND_HOUSE_ROOM1 382
#define LAYOUT_ONE_ISLAND_KINDLE_ROAD_EMBER_SPA 383
diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h
index 0cc1c27fb..27e74b337 100644
--- a/include/constants/map_groups.h
+++ b/include/constants/map_groups.h
@@ -135,17 +135,17 @@
// Map Group 2
#define MAP_NAVEL_ROCK_EXTERIOR (0 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_1F (1 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_2F (2 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_3F (3 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_4F (4 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_5F (5 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_6F (6 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_7F (7 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_8F (8 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_ROOF (9 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY (10 | (2 << 8))
-#define MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR (11 | (2 << 8))
+#define MAP_TRAINER_TOWER_1F (1 | (2 << 8))
+#define MAP_TRAINER_TOWER_2F (2 | (2 << 8))
+#define MAP_TRAINER_TOWER_3F (3 | (2 << 8))
+#define MAP_TRAINER_TOWER_4F (4 | (2 << 8))
+#define MAP_TRAINER_TOWER_5F (5 | (2 << 8))
+#define MAP_TRAINER_TOWER_6F (6 | (2 << 8))
+#define MAP_TRAINER_TOWER_7F (7 | (2 << 8))
+#define MAP_TRAINER_TOWER_8F (8 | (2 << 8))
+#define MAP_TRAINER_TOWER_ROOF (9 | (2 << 8))
+#define MAP_TRAINER_TOWER_LOBBY (10 | (2 << 8))
+#define MAP_TRAINER_TOWER_ELEVATOR (11 | (2 << 8))
#define MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE (12 | (2 << 8))
#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM1 (13 | (2 << 8))
#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM2 (14 | (2 << 8))
@@ -207,7 +207,7 @@
#define MAP_CINNABAR_ISLAND (8 | (3 << 8))
#define MAP_INDIGO_PLATEAU_EXTERIOR (9 | (3 << 8))
#define MAP_SAFFRON_CITY (10 | (3 << 8))
-#define MAP_SAFFRON_CITY_CLASSIC (11 | (3 << 8))
+#define MAP_SAFFRON_CITY_CONNECTION (11 | (3 << 8))
#define MAP_ONE_ISLAND (12 | (3 << 8))
#define MAP_TWO_ISLAND (13 | (3 << 8))
#define MAP_THREE_ISLAND (14 | (3 << 8))
@@ -246,10 +246,10 @@
#define MAP_TWO_ISLAND_CAPE_BRINK (47 | (3 << 8))
#define MAP_THREE_ISLAND_BOND_BRIDGE (48 | (3 << 8))
#define MAP_THREE_ISLAND_PORT (49 | (3 << 8))
-#define MAP_UNKNOWN_MAP_03_50 (50 | (3 << 8))
-#define MAP_UNKNOWN_MAP_03_51 (51 | (3 << 8))
-#define MAP_UNKNOWN_MAP_03_52 (52 | (3 << 8))
-#define MAP_UNKNOWN_MAP_03_53 (53 | (3 << 8))
+#define MAP_PROTOTYPE_SEVII_ISLE_6 (50 | (3 << 8))
+#define MAP_PROTOTYPE_SEVII_ISLE_7 (51 | (3 << 8))
+#define MAP_PROTOTYPE_SEVII_ISLE_8 (52 | (3 << 8))
+#define MAP_PROTOTYPE_SEVII_ISLE_9 (53 | (3 << 8))
#define MAP_FIVE_ISLAND_RESORT_GORGEOUS (54 | (3 << 8))
#define MAP_FIVE_ISLAND_WATER_LABYRINTH (55 | (3 << 8))
#define MAP_FIVE_ISLAND_MEADOW (56 | (3 << 8))
@@ -366,15 +366,15 @@
#define MAP_INDIGO_PLATEAU_POKEMON_CENTER_2F (1 | (13 << 8))
// Map Group 14
-#define MAP_SAFFRON_CITY_HOUSE1_1F (0 | (14 << 8))
-#define MAP_SAFFRON_CITY_HOUSE1_2F (1 | (14 << 8))
+#define MAP_SAFFRON_CITY_COPYCATS_HOUSE_1F (0 | (14 << 8))
+#define MAP_SAFFRON_CITY_COPYCATS_HOUSE_2F (1 | (14 << 8))
#define MAP_SAFFRON_CITY_DOJO (2 | (14 << 8))
#define MAP_SAFFRON_CITY_GYM (3 | (14 << 8))
-#define MAP_SAFFRON_CITY_HOUSE2 (4 | (14 << 8))
+#define MAP_SAFFRON_CITY_HOUSE (4 | (14 << 8))
#define MAP_SAFFRON_CITY_MART (5 | (14 << 8))
#define MAP_SAFFRON_CITY_POKEMON_CENTER_1F (6 | (14 << 8))
#define MAP_SAFFRON_CITY_POKEMON_CENTER_2F (7 | (14 << 8))
-#define MAP_SAFFRON_CITY_HOUSE3 (8 | (14 << 8))
+#define MAP_SAFFRON_CITY_MR_PSYCHICS_HOUSE (8 | (14 << 8))
#define MAP_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (14 << 8))
// Map Group 15
diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h
index 8726113f4..b71e7d08f 100644
--- a/include/constants/metatile_labels.h
+++ b/include/constants/metatile_labels.h
@@ -1,14 +1,14 @@
#ifndef GUARD_METATILE_LABELS_H
#define GUARD_METATILE_LABELS_H
-// General
+// gTileset_General
#define METATILE_General_CalmWater 0x12B
-// PokeMart
-#define METATILE_Shop_CounterMid_Top 0x2BF
-#define METATILE_Shop_CounterMid_Bottom 0x2C0
+// gTileset_Mart
+#define METATILE_Mart_CounterMid_Top 0x2BF
+#define METATILE_Mart_CounterMid_Bottom 0x2C0
-// Vermilion Gym
+// gTileset_VermilionGym
#define METATILE_VermilionGym_Floor 0x281
#define METATILE_VermilionGym_Beam_MidTop 0x285
#define METATILE_VermilionGym_Beam_MidBottom 0x28D
@@ -39,7 +39,16 @@
#define METATILE_VermilionGym_Beam_Node_BottomRight_Edge_HalfOn 0x2C6
#define METATILE_VermilionGym_Beam_Node_BottomRight_HalfOn 0x2C7
-// Pokemon Mansion
+// gTileset_GameCorner
+#define METATILE_GameCorner_Floor_ShadeFull 0x292
+#define METATILE_GameCorner_Floor_StairsTop 0x29D
+#define METATILE_GameCorner_StairsTop 0x29E
+#define METATILE_GameCorner_StairsBottom 0x29F
+#define METATILE_GameCorner_PurpleWall_Floor 0x2CF
+#define METATILE_GameCorner_PurpleWall_StairsTop 0x2A6
+#define METATILE_GameCorner_PurpleWall_stairsBottom 0x2A7
+
+// gTileset_PokemonMansion
#define METATILE_PokemonMansion_Floor 0x284
#define METATILE_PokemonMansion_Floor_ShadeFull 0x285
#define METATILE_PokemonMansion_BasementFloor 0x286
@@ -72,7 +81,19 @@
#define METATILE_PokemonMansion_Statue_RedEyes_Shade 0x34E
#define METATILE_PokemonMansion_Statue_RedEyes_Basement 0x34F
-// Cinnabar Gym
+// gTileset_SilphCo TODO: Bring below metatile labels in line with new tileset name
+#define METATILE_Hideout_Arrow_Up 0x2A0
+#define METATILE_Hideout_Arrow_Left 0x2A1
+#define METATILE_Hideout_Arrow_Down 0x2A8
+#define METATILE_Hideout_Arrow_RIght 0x2A9
+#define METATILE_Hideout_Barrier_TopLeft_Floor 0x2CE
+#define METATILE_Hideout_Barrier_TopRight_Floor 0x2CF
+#define METATILE_Hideout_Barrier_BottomLeft 0x2D6
+#define METATILE_Hideout_Barrier_BottomRight 0x2D7
+#define METATILE_Hideout_Floor 0x281
+#define METATILE_Hideout_Floor_ShadeFull 0x282
+
+// gTileset_CinnabarGym
#define METATILE_CinnabarGym_Floor 0x281
#define METATILE_CinnabarGym_Floor_ShadeDiagonal 0x282
#define METATILE_CinnabarGym_Floor_ShadeFull 0x289
@@ -82,8 +103,28 @@
#define METATILE_CinnabarGym_Floor_WallLeftEdge 0x2CF
#define METATILE_CinnabarGym_Wall_RetractedBarrier 0x2D1
-// gTileset_82D504C. Below metatile probably needs generic name
+// gTileset_PokemonLeague
+#define METATILE_PokemonLeague_Door_Top_Open 0x28E
+#define METATILE_PokemonLeague_Door_Mid_Open 0x296
+#define METATILE_PokemonLeague_Entry_TopLeft_Closed 0x29D
+#define METATILE_PokemonLeague_Entry_TopMid_Closed 0x29E
+#define METATILE_PokemonLeague_Entry_TopRight_Closed 0x29F
+#define METATILE_PokemonLeague_Entry_BottomLeft_Closed 0x2A5
+#define METATILE_PokemonLeague_Entry_BottomMid_Closed 0x2A6
+#define METATILE_PokemonLeague_Entry_BottomRight_Closed 0x2A7
+#define METATILE_PokemonLeague_Floor_ShadeFull_Lance 0x311
+
+// gTileset_MtEmber
#define METATILE_MtEmber_CaveEntrance 0x346
+// gTileset_Cave
+#define METATILE_Cave_Floor_Ledge_Top 0x2D1
+#define METATILE_Cave_Floor_Ledge_Bottom 0x2E1
+#define METATILE_Cave_RockBarrier_Top 0x307
+#define METATILE_Cave_RockBarrier_Bottom 0x317
+
+// gTileset_TrainerTower
+#define METATILE_TrainerTower_Floor_ShadeBottomLeft 0x287
+#define METATILE_TrainerTower_CounterBarrier 0x2B4
#endif // GUARD_METATILE_LABELS_H
diff --git a/include/constants/party_menu.h b/include/constants/party_menu.h
index 28ce39cd3..0c958ccc5 100644
--- a/include/constants/party_menu.h
+++ b/include/constants/party_menu.h
@@ -64,7 +64,6 @@
#define PARTY_MENU_TYPE_UNION_ROOM_TRADE 9 // trading board
#define PARTY_MENU_TYPE_SPIN_TRADE 10 // Unused beta for Gen IV's Spin Trade
#define PARTY_MENU_TYPE_MINIGAME 11
-#define PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS 12
#define PARTY_ACTION_CHOOSE_MON 0
#define PARTY_ACTION_SEND_OUT 1
diff --git a/include/constants/trainer_tower.h b/include/constants/trainer_tower.h
new file mode 100644
index 000000000..6372a30e8
--- /dev/null
+++ b/include/constants/trainer_tower.h
@@ -0,0 +1,46 @@
+#ifndef GUARD_CONSTANTS_TRAINER_TOWER_H
+#define GUARD_CONSTANTS_TRAINER_TOWER_H
+
+#define CHALLENGE_TYPE_SINGLE 0
+#define CHALLENGE_TYPE_DOUBLE 1
+#define CHALLENGE_TYPE_KNOCKOUT 2
+// Mixed challenges use one of the above 3 for each floor
+
+#define CHALLENGE_STATUS_LOST 0
+#define CHALLENGE_STATUS_UNK 1 // Never set, possibly e-Card related
+#define CHALLENGE_STATUS_NORMAL 2 // Not started or ongoing
+
+#define MAX_TRAINER_TOWER_FLOORS 8
+
+#define MAX_TRAINERS_PER_FLOOR 3
+
+#define TRAINER_TOWER_FUNC_INIT_FLOOR 0
+#define TRAINER_TOWER_FUNC_GET_SPEECH 1
+#define TRAINER_TOWER_FUNC_DO_BATTLE 2
+#define TRAINER_TOWER_FUNC_GET_CHALLENGE_TYPE 3
+#define TRAINER_TOWER_FUNC_CLEARED_FLOOR 4
+#define TRAINER_TOWER_FUNC_GET_FLOOR_CLEARED 5
+#define TRAINER_TOWER_FUNC_START_CHALLENGE 6
+#define TRAINER_TOWER_FUNC_GET_OWNER_STATE 7
+#define TRAINER_TOWER_FUNC_GIVE_PRIZE 8
+#define TRAINER_TOWER_FUNC_CHECK_FINAL_TIME 9
+#define TRAINER_TOWER_FUNC_RESUME_TIMER 10
+#define TRAINER_TOWER_FUNC_SET_LOST 11
+#define TRAINER_TOWER_FUNC_GET_CHALLENGE_STATUS 12
+#define TRAINER_TOWER_FUNC_GET_TIME 13
+#define TRAINER_TOWER_FUNC_SHOW_RESULTS 14
+#define TRAINER_TOWER_FUNC_CLOSE_RESULTS 15
+#define TRAINER_TOWER_FUNC_CHECK_DOUBLES 16
+#define TRAINER_TOWER_FUNC_GET_NUM_FLOORS 17
+#define TRAINER_TOWER_FUNC_SHOULD_WARP_TO_COUNTER 18
+#define TRAINER_TOWER_FUNC_ENCOUNTER_MUSIC 19
+#define TRAINER_TOWER_FUNC_GET_BEAT_CHALLENGE 20
+
+#define TRAINER_TOWER_TEXT_INTRO 2
+#define TRAINER_TOWER_TEXT_PLAYER_LOST 3
+#define TRAINER_TOWER_TEXT_PLAYER_WON 4
+#define TRAINER_TOWER_TEXT_AFTER 5
+
+#define TRAINER_TOWER_MAX_TIME 215999 // 60 * 60 * 60 - 1
+
+#endif //GUARD_CONSTANTS_TRAINER_TOWER_H
diff --git a/include/constants/union_room.h b/include/constants/union_room.h
index 021424773..b23860645 100644
--- a/include/constants/union_room.h
+++ b/include/constants/union_room.h
@@ -1,6 +1,48 @@
#ifndef GUARD_CONSTANTS_UNION_ROOM_H
#define GUARD_CONSTANTS_UNION_ROOM_H
+#define UNION_ROOM_SPAWN_NONE 0
+#define UNION_ROOM_SPAWN_IN 1
+#define UNION_ROOM_SPAWN_OUT 2
+
+#define ACTIVITY_NONE 0
+#define ACTIVITY_BATTLE 1
+#define ACTIVITY_DBLBATTLE 2
+#define ACTIVITY_MLTBATTLE 3
+#define ACTIVITY_TRADE 4
+#define ACTIVITY_CHAT 5
+#define ACTIVITY_WCARD 6
+#define ACTIVITY_WNEWS 7
+#define ACTIVITY_CARD 8
+#define ACTIVITY_PJUMP 9
+#define ACTIVITY_BCRUSH 10
+#define ACTIVITY_BPICK 11
+#define ACTIVITY_SEARCH 12
+#define ACTIVITY_SPINTRADE 13
+#define ACTIVITY_ITEMTRADE 14
+
+// Player response
+#define ACTIVITY_ACCEPT 17
+#define ACTIVITY_DECLINE 18
+
+#define ACTIVITY_NPCTALK 19
+#define ACTIVITY_PLYRTALK 20
+
+// Duplicate IDs?
+#define ACTIVITY_WCARD2 21
+#define ACTIVITY_WNEWS2 22
+
+#define IN_UNION_ROOM 0x40
+
+// Used in UR_AddTextPrinterParameterized
+#define UR_COLOR_DKE_WHT_LTE 0
+#define UR_COLOR_RED_WHT_LTR 1
+#define UR_COLOR_GRN_WHT_LTG 2
+#define UR_COLOR_WHT_WHT_LTE 3
+#define UR_COLOR_WHT_DKE_LTE 4
+#define UR_COLOR_GRN_DN6_LTB 5
+#define UR_COLOR_DN5_DN6_LTB 6
+
#define LINK_GROUP_SINGLE_BATTLE 0
#define LINK_GROUP_DOUBLE_BATTLE 1
#define LINK_GROUP_MULTI_BATTLE 2
@@ -12,4 +54,7 @@
#define LINK_GROUP_WONDER_NEWS 8
#define NUM_LINK_GROUP_TYPES 9
+#define LINK_GROUP_UNION_ROOM_RESUME 9
+#define LINK_GROUP_UNION_ROOM_INIT 10
+
#endif //GUARD_CONSTANTS_UNION_ROOM_H
diff --git a/include/constants/weather.h b/include/constants/weather.h
index a45d2e523..77be45c51 100644
--- a/include/constants/weather.h
+++ b/include/constants/weather.h
@@ -12,7 +12,7 @@
#define WEATHER_SANDSTORM 8 // unused
#define WEATHER_FOG_DIAGONAL 9 // unused
#define WEATHER_UNDERWATER 10 // unused
-#define WEATHER_CLOUDY 11
+#define WEATHER_SHADE 11
#define WEATHER_DROUGHT 12 // unused and broken in overworld
#define WEATHER_DOWNPOUR 13 // unused
#define WEATHER_UNDERWATER_BUBBLES 14 // unused