summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/battle.h8
-rw-r--r--include/constants/battle_ai.h6
-rw-r--r--include/constants/fanfares.h22
-rw-r--r--include/constants/flags.h90
-rw-r--r--include/constants/global.h81
-rw-r--r--include/constants/items.h9
-rw-r--r--include/constants/layouts.h370
-rw-r--r--include/constants/map_groups.h517
-rw-r--r--include/constants/maps.h616
-rw-r--r--include/constants/region_map.h308
-rw-r--r--include/constants/songs.h173
-rw-r--r--include/constants/spawn_points.h26
-rw-r--r--include/constants/species.h3
-rw-r--r--include/constants/vars.h46
-rw-r--r--include/constants/weather.h20
15 files changed, 1486 insertions, 809 deletions
diff --git a/include/constants/battle.h b/include/constants/battle.h
index 25544ba3d..074c0d0cd 100644
--- a/include/constants/battle.h
+++ b/include/constants/battle.h
@@ -207,12 +207,12 @@
#define WEATHER_SANDSTORM_TEMPORARY (1 << 3)
#define WEATHER_SANDSTORM_PERMANENT (1 << 4)
#define WEATHER_SANDSTORM_ANY (WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT)
-#define WEATHER_SUN_TEMPORARY (1 << 5)
-#define WEATHER_SUN_PERMANENT (1 << 6)
-#define WEATHER_SUN_ANY (WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT)
+#define WEATHER_SUNNY_TEMPORARY (1 << 5)
+#define WEATHER_SUNNY_PERMANENT (1 << 6)
+#define WEATHER_SUNNY_ANY (WEATHER_SUNNY_TEMPORARY | WEATHER_SUNNY_PERMANENT)
#define WEATHER_HAIL (1 << 7)
#define WEATHER_HAIL_ANY (WEATHER_HAIL)
-#define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)
+#define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUNNY_ANY | WEATHER_HAIL_ANY)
// Move Effects
#define MOVE_EFFECT_SLEEP 0x1
diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h
index 4c3a45dc6..f55661b91 100644
--- a/include/constants/battle_ai.h
+++ b/include/constants/battle_ai.h
@@ -23,10 +23,10 @@
#define AI_EFFECTIVENESS_x0 0
// ai weather
-#define AI_WEATHER_SUN 0
-#define AI_WEATHER_RAIN 1
+#define AI_WEATHER_SUNNY 0
+#define AI_WEATHER_RAIN 1
#define AI_WEATHER_SANDSTORM 2
-#define AI_WEATHER_HAIL 3
+#define AI_WEATHER_HAIL 3
// get_how_powerful_move_is
#define MOVE_POWER_DISCOURAGED 0
diff --git a/include/constants/fanfares.h b/include/constants/fanfares.h
new file mode 100644
index 000000000..21d3af79c
--- /dev/null
+++ b/include/constants/fanfares.h
@@ -0,0 +1,22 @@
+#ifndef GUARD_CONSTANTS_FANFARES_H
+#define GUARD_CONSTANTS_FANFARES_H
+
+enum Fanfares
+{
+ FANFARE_00,
+ FANFARE_01,
+ FANFARE_02,
+ FANFARE_03,
+ FANFARE_04,
+ FANFARE_05,
+ FANFARE_06,
+ FANFARE_07,
+ FANFARE_08,
+ FANFARE_09,
+ FANFARE_10,
+ FANFARE_POKEFLUTE,
+ FANFARE_KEY_ITEM,
+ FANFARE_DEX_EVAL
+};
+
+#endif //GUARD_CONSTANTS_FANFARES_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
index daa8b3132..209e68aee 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1,6 +1,92 @@
#ifndef GUARD_CONSTANTS_FLAGS_H
#define GUARD_CONSTANTS_FLAGS_H
+// Sys Flags Maybe
+#define FLAG_WHITE_FLUTE_ACTIVE 0x803
+#define FLAG_BLACK_FLUTE_ACTIVE 0x804
+
+// World Map Flags
+#define FLAG_WORLD_MAP_PALLET_TOWN 0x890
+#define FLAG_WORLD_MAP_VIRIDIAN_CITY 0x891
+#define FLAG_WORLD_MAP_PEWTER_CITY 0x892
+#define FLAG_WORLD_MAP_CERULEAN_CITY 0x893
+#define FLAG_WORLD_MAP_LAVENDER_TOWN 0x894
+#define FLAG_WORLD_MAP_VERMILION_CITY 0x895
+#define FLAG_WORLD_MAP_CELADON_CITY 0x896
+#define FLAG_WORLD_MAP_FUCHSIA_CITY 0x897
+#define FLAG_WORLD_MAP_CINNABAR_ISLAND 0x898
+#define FLAG_WORLD_MAP_INDIGO_PLATEAU_EXTERIOR 0x899
+#define FLAG_WORLD_MAP_SAFFRON_CITY_DUPLICATE 0x89a
+#define FLAG_WORLD_MAP_ONE_ISLAND 0x89b
+#define FLAG_WORLD_MAP_TWO_ISLAND 0x89c
+#define FLAG_WORLD_MAP_THREE_ISLAND 0x89d
+#define FLAG_WORLD_MAP_FOUR_ISLAND 0x89e
+#define FLAG_WORLD_MAP_FIVE_ISLAND 0x89f
+#define FLAG_WORLD_MAP_SEVEN_ISLAND 0x8a0
+#define FLAG_WORLD_MAP_SIX_ISLAND 0x8a1
+#define FLAG_WORLD_MAP_ROUTE4_POKEMON_CENTER_1F 0x8a2
+#define FLAG_WORLD_MAP_ROUTE10_POKEMON_CENTER_1F 0x8a3
+#define FLAG_WORLD_MAP_VIRIDIAN_FOREST 0x8a4
+#define FLAG_WORLD_MAP_MT_MOON_1F 0x8a5
+#define FLAG_WORLD_MAP_SSANNE_EXTERIOR 0x8a6
+#define FLAG_WORLD_MAP_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL 0x8a7
+#define FLAG_WORLD_MAP_UNDERGROUND_PATH_EAST_WEST_TUNNEL 0x8a8
+#define FLAG_WORLD_MAP_DIGLETTS_CAVE_B1F 0x8a9
+#define FLAG_WORLD_MAP_VICTORY_ROAD_1F 0x8aa
+#define FLAG_WORLD_MAP_ROCKET_HIDEOUT_B1F 0x8ab
+#define FLAG_WORLD_MAP_SILPH_CO_1F 0x8ac
+#define FLAG_WORLD_MAP_POKEMON_MANSION_1F 0x8ad
+#define FLAG_WORLD_MAP_SAFARI_ZONE_CENTER 0x8ae
+#define FLAG_WORLD_MAP_POKEMON_LEAGUE_LORELEIS_ROOM 0x8af
+#define FLAG_WORLD_MAP_ROCK_TUNNEL_1F 0x8b0
+#define FLAG_WORLD_MAP_SEAFOAM_ISLANDS_1F 0x8b1
+#define FLAG_WORLD_MAP_POKEMON_TOWER_1F 0x8b2
+#define FLAG_WORLD_MAP_CERULEAN_CAVE_1F 0x8b3
+#define FLAG_WORLD_MAP_POWER_PLANT 0x8b4
+#define FLAG_WORLD_MAP_NAVEL_ROCK_EXTERIOR 0x8b5
+#define FLAG_WORLD_MAP_MT_EMBER_EXTERIOR 0x8b6
+#define FLAG_WORLD_MAP_THREE_ISLAND_BERRY_FOREST 0x8b7
+#define FLAG_WORLD_MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE 0x8b8
+#define FLAG_WORLD_MAP_FIVE_ISLAND_ROCKET_WAREHOUSE 0x8b9
+#define FLAG_WORLD_MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY 0x8ba
+#define FLAG_WORLD_MAP_SIX_ISLAND_DOTTED_HOLE_1F 0x8bb
+#define FLAG_WORLD_MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE 0x8bc
+#define FLAG_WORLD_MAP_SIX_ISLAND_PATTERN_BUSH 0x8bd
+#define FLAG_WORLD_MAP_SIX_ISLAND_ALTERING_CAVE 0x8be
+#define FLAG_WORLD_MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER 0x8bf
+#define FLAG_WORLD_MAP_THREE_ISLAND_DUNSPARCE_TUNNEL 0x8c0
+#define FLAG_WORLD_MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY 0x8c1
+#define FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR 0x8c2
+
+// Unknown
+
+#define FLAG_0x807 0x807
+#define FLAG_0x821 0x821
+#define FLAG_0x822 0x822
+#define FLAG_0x823 0x823
+#define FLAG_0x825 0x825
+#define FLAG_0x827 0x827
+#define FLAG_0x828 0x828
+#define FLAG_0x829 0x829
+#define FLAG_0x82C 0x82C
+#define FLAG_0x82F 0x82F
+#define FLAG_0x830 0x830
+#define FLAG_SYS_NOT_SOMEONES_PC 0x834
+#define FLAG_0x83C 0x83C
+#define FLAG_0x83E 0x83E
+#define FLAG_0x841 0x841
+#define FLAG_0x844 0x844
+#define FLAG_0x845 0x845
+#define FLAG_0x846 0x846
+#define FLAG_0x847 0x847
+#define FLAG_0x848 0x848
+#define FLAG_0x849 0x849
+#define FLAG_0x84A 0x84A
+#define FLAG_0x84B 0x84B
+
+
+// Emerald Flags
+
// TODO: Get correct names and numbers
#define FLAG_0x001 0x1
@@ -136,7 +222,7 @@
#define FLAG_0x083 0x83
#define FLAG_0x084 0x84
#define FLAG_0x085 0x85
-#define FLAG_PENDING_DAYCARE_EGG 0x86
+#define FLAG_0x086 0x86
#define FLAG_0x087 0x87
#define FLAG_0x088 0x88
#define FLAG_0x089 0x89
@@ -616,7 +702,7 @@
#define FLAG_0x263 0x263
#define FLAG_0x264 0x264
#define FLAG_0x265 0x265
-#define FLAG_0x266 0x266
+#define FLAG_PENDING_DAYCARE_EGG 0x266
#define FLAG_0x267 0x267
#define FLAG_0x268 0x268
#define FLAG_0x269 0x269
diff --git a/include/constants/global.h b/include/constants/global.h
new file mode 100644
index 000000000..b1c8fed3e
--- /dev/null
+++ b/include/constants/global.h
@@ -0,0 +1,81 @@
+#ifndef GUARD_CONSTANTS_GLOBAL_H
+#define GUARD_CONSTANTS_GLOBAL_H
+
+#define POKEMON_SLOTS_NUMBER 412
+
+#define ITEM_NAME_LENGTH 14
+#define POKEMON_NAME_LENGTH 10
+#define OT_NAME_LENGTH 7
+
+enum
+{
+ VERSION_SAPPHIRE = 1,
+ VERSION_RUBY = 2,
+ VERSION_EMERALD = 3,
+ VERSION_FIRE_RED = 4,
+ VERSION_LEAF_GREEN = 5,
+};
+
+enum LanguageId {
+ LANGUAGE_JAPANESE = 1,
+ LANGUAGE_ENGLISH = 2,
+ LANGUAGE_FRENCH = 3,
+ LANGUAGE_ITALIAN = 4,
+ LANGUAGE_GERMAN = 5,
+ // 6 goes unused but the theory is it was meant to be Korean
+ LANGUAGE_SPANISH = 7,
+};
+
+#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
+
+#define PC_ITEMS_COUNT 30
+#define BAG_ITEMS_COUNT 42
+#define BAG_KEYITEMS_COUNT 30
+#define BAG_POKEBALLS_COUNT 13
+#define BAG_TMHM_COUNT 58
+#define BAG_BERRIES_COUNT 43
+
+enum
+{
+ MALE,
+ FEMALE
+};
+
+enum
+{
+ OPTIONS_BUTTON_MODE_NORMAL,
+ OPTIONS_BUTTON_MODE_LR,
+ OPTIONS_BUTTON_MODE_L_EQUALS_A
+};
+
+enum
+{
+ OPTIONS_TEXT_SPEED_SLOW,
+ OPTIONS_TEXT_SPEED_MID,
+ OPTIONS_TEXT_SPEED_FAST
+};
+
+enum
+{
+ OPTIONS_SOUND_MONO,
+ OPTIONS_SOUND_STEREO
+};
+
+enum
+{
+ OPTIONS_BATTLE_STYLE_SHIFT,
+ OPTIONS_BATTLE_STYLE_SET
+};
+
+enum
+{
+ POCKET_ITEMS = 1,
+ POCKET_KEY_ITEMS,
+ POCKET_POKE_BALLS,
+ POCKET_TM_CASE,
+ POCKET_BERRY_POUCH,
+};
+
+#define NUM_BAG_POCKETS 5
+
+#endif //GUARD_CONSTANTS_GLOBAL_H
diff --git a/include/constants/items.h b/include/constants/items.h
index 64fed0e4c..6959ad358 100644
--- a/include/constants/items.h
+++ b/include/constants/items.h
@@ -379,6 +379,8 @@
#define ITEM_RUBY 373
#define ITEM_SAPPHIRE 374
+#define ITEM_N_A 375
+
// Emerald
#define ITEM_MAGMA_EMBLEM 375
#define ITEM_OLD_SEA_MAP 376
@@ -393,11 +395,4 @@
// Check if the item is one that can be used on a Pokemon.
#define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2)
-// POCKETS
-#define POCKET_ITEMS 1
-#define POCKET_KEY_ITEMS 2
-#define POCKET_POKE_BALLS 3
-#define POCKET_TM_CASE 4
-#define POCKET_BERRY_POUCH 5
-
#endif // GUARD_CONSTANTS_ITEMS_H
diff --git a/include/constants/layouts.h b/include/constants/layouts.h
new file mode 100644
index 000000000..b97ef69cb
--- /dev/null
+++ b/include/constants/layouts.h
@@ -0,0 +1,370 @@
+#ifndef GUARD_CONSTANTS_LAYOUTS_H
+#define GUARD_CONSTANTS_LAYOUTS_H
+
+#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_PALLET_TOWN_PROFESSOR_OAKS_LAB 5
+#define LAYOUT_HOUSE1 6
+#define LAYOUT_HOUSE2 7
+#define LAYOUT_POKEMON_CENTER_1F 8
+#define LAYOUT_POKEMON_CENTER_2F 9
+#define LAYOUT_MART 10
+#define LAYOUT_HOUSE3 11
+#define LAYOUT_CERULEAN_CITY_GYM 12
+#define LAYOUT_HOUSE4 13
+#define LAYOUT_UNUSED_LAYOUT_82D6144 14
+#define LAYOUT_CELADON_CITY_GYM 15
+#define LAYOUT_UNUSED_LAYOUT_82D6490 16
+#define LAYOUT_FIVE_ISLAND_RESORT_GORGEOUS_HOUSE 17
+#define LAYOUT_UNUSED_LAYOUT_82D6654 18
+#define LAYOUT_UNUSED_LAYOUT_82D672C 19
+#define LAYOUT_FUCHSIA_CITY_GYM 20
+#define LAYOUT_HOUSE5 21
+#define LAYOUT_UNUSED_LAYOUT_82D6C34 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_SAFFRON_CITY_GYM 34
+#define LAYOUT_UNUSED_LAYOUT_82D7CC8 35
+#define LAYOUT_CINNABAR_ISLAND_GYM 36
+#define LAYOUT_VIRIDIAN_CITY_GYM 37
+#define LAYOUT_UNUSED_LAYOUT_82D88C8 46
+#define LAYOUT_UNKNOWN_MAP_00_00 47
+#define LAYOUT_UNKNOWN_MAP_00_01 48
+#define LAYOUT_UNKNOWN_MAP_00_02 49
+#define LAYOUT_UNKNOWN_MAP_00_03 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_PALLET_TOWN 78
+#define LAYOUT_VIRIDIAN_CITY 79
+#define LAYOUT_PEWTER_CITY 80
+#define LAYOUT_CERULEAN_CITY 81
+#define LAYOUT_LAVENDER_TOWN 82
+#define LAYOUT_VERMILION_CITY 83
+#define LAYOUT_CELADON_CITY 84
+#define LAYOUT_FUCHSIA_CITY 85
+#define LAYOUT_CINNABAR_ISLAND 86
+#define LAYOUT_INDIGO_PLATEAU_EXTERIOR 87
+#define LAYOUT_SAFFRON_CITY 88
+#define LAYOUT_ROUTE1 89
+#define LAYOUT_ROUTE2 90
+#define LAYOUT_ROUTE3 91
+#define LAYOUT_ROUTE4 92
+#define LAYOUT_ROUTE5 93
+#define LAYOUT_ROUTE6 94
+#define LAYOUT_ROUTE7 95
+#define LAYOUT_ROUTE8 96
+#define LAYOUT_ROUTE9 97
+#define LAYOUT_ROUTE10 98
+#define LAYOUT_ROUTE11 99
+#define LAYOUT_ROUTE12 100
+#define LAYOUT_ROUTE13 101
+#define LAYOUT_ROUTE14 102
+#define LAYOUT_ROUTE15 103
+#define LAYOUT_ROUTE16 104
+#define LAYOUT_ROUTE17 105
+#define LAYOUT_ROUTE18 106
+#define LAYOUT_ROUTE19 107
+#define LAYOUT_ROUTE20 108
+#define LAYOUT_ROUTE21_NORTH 109
+#define LAYOUT_ROUTE22 110
+#define LAYOUT_ROUTE23 111
+#define LAYOUT_ROUTE24 112
+#define LAYOUT_ROUTE25 113
+#define LAYOUT_MT_MOON_1F 114
+#define LAYOUT_MT_MOON_B1F 115
+#define LAYOUT_MT_MOON_B2F 116
+#define LAYOUT_VIRIDIAN_FOREST 117
+#define LAYOUT_SSANNE_EXTERIOR 118
+#define LAYOUT_SSANNE_1F_CORRIDOR 119
+#define LAYOUT_SSANNE_2F_CORRIDOR 120
+#define LAYOUT_SSANNE_3F_CORRIDOR 121
+#define LAYOUT_SSANNE_B1F_CORRIDOR 122
+#define LAYOUT_SSANNE_DECK 123
+#define LAYOUT_DIGLETTS_CAVE_B1F 124
+#define LAYOUT_VICTORY_ROAD_1F 125
+#define LAYOUT_VICTORY_ROAD_2F 126
+#define LAYOUT_VICTORY_ROAD_3F 127
+#define LAYOUT_ROCKET_HIDEOUT_B1F 128
+#define LAYOUT_ROCKET_HIDEOUT_B2F 129
+#define LAYOUT_ROCKET_HIDEOUT_B3F 130
+#define LAYOUT_ROCKET_HIDEOUT_B4F 131
+#define LAYOUT_SILPH_CO_1F 132
+#define LAYOUT_SILPH_CO_2F 133
+#define LAYOUT_SILPH_CO_3F 134
+#define LAYOUT_SILPH_CO_4F 135
+#define LAYOUT_SILPH_CO_5F 136
+#define LAYOUT_SILPH_CO_6F 137
+#define LAYOUT_SILPH_CO_7F 138
+#define LAYOUT_SILPH_CO_8F 139
+#define LAYOUT_SILPH_CO_9F 140
+#define LAYOUT_SILPH_CO_10F 141
+#define LAYOUT_SILPH_CO_11F 142
+#define LAYOUT_POKEMON_MANSION_1F 143
+#define LAYOUT_POKEMON_MANSION_2F 144
+#define LAYOUT_POKEMON_MANSION_3F 145
+#define LAYOUT_POKEMON_MANSION_B1F 146
+#define LAYOUT_SAFARI_ZONE_CENTER 147
+#define LAYOUT_SAFARI_ZONE_EAST 148
+#define LAYOUT_SAFARI_ZONE_NORTH 149
+#define LAYOUT_SAFARI_ZONE_WEST 150
+#define LAYOUT_CERULEAN_CAVE_1F 151
+#define LAYOUT_CERULEAN_CAVE_2F 152
+#define LAYOUT_CERULEAN_CAVE_B1F 153
+#define LAYOUT_ROCK_TUNNEL_1F 154
+#define LAYOUT_ROCK_TUNNEL_B1F 155
+#define LAYOUT_SEAFOAM_ISLANDS_1F 156
+#define LAYOUT_SEAFOAM_ISLANDS_B1F 157
+#define LAYOUT_SEAFOAM_ISLANDS_B2F 158
+#define LAYOUT_SEAFOAM_ISLANDS_B3F 159
+#define LAYOUT_SEAFOAM_ISLANDS_B4F 160
+#define LAYOUT_POKEMON_TOWER_1F 161
+#define LAYOUT_POKEMON_TOWER_2F 162
+#define LAYOUT_POKEMON_TOWER_3F 163
+#define LAYOUT_POKEMON_TOWER_4F 164
+#define LAYOUT_POKEMON_TOWER_5F 165
+#define LAYOUT_POKEMON_TOWER_6F 166
+#define LAYOUT_POKEMON_TOWER_7F 167
+#define LAYOUT_POWER_PLANT 168
+#define LAYOUT_ROUTE25_SEA_COTTAGE 169
+#define LAYOUT_SSANNE_KITCHEN 170
+#define LAYOUT_SSANNE_CAPTAINS_OFFICE 171
+#define LAYOUT_UNDERGROUND_PATH_ENTRANCE 172
+#define LAYOUT_UNDERGROUND_PATH_EAST_WEST_TUNNEL 173
+#define LAYOUT_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL 174
+#define LAYOUT_ROUTE12_NORTH_ENTRANCE_1F 176
+#define LAYOUT_SSANNE_ROOM1 177
+#define LAYOUT_SSANNE_ROOM2 178
+#define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_ELEVATOR 179
+#define LAYOUT_PEWTER_CITY_MUSEUM_1F 180
+#define LAYOUT_PEWTER_CITY_MUSEUM_2F 181
+#define LAYOUT_CERULEAN_CITY_HOUSE2 182
+#define LAYOUT_CERULEAN_CITY_HOUSE1 183
+#define LAYOUT_CELADON_CITY_CONDOMINIUMS_1F 184
+#define LAYOUT_CELADON_CITY_CONDOMINIUMS_2F 185
+#define LAYOUT_CELADON_CITY_CONDOMINIUMS_3F 186
+#define LAYOUT_CELADON_CITY_CONDOMINIUMS_ROOF 187
+#define LAYOUT_CELADON_CITY_CONDOMINIUMS_ROOF_ROOM 188
+#define LAYOUT_CELADON_CITY_GAME_CORNER_PRIZE_ROOM 189
+#define LAYOUT_CELADON_CITY_RESTAURANT 190
+#define LAYOUT_CELADON_CITY_HOTEL 191
+#define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_1F 192
+#define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_2F 193
+#define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_3F 194
+#define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_4F 195
+#define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_5F 196
+#define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_ROOF 197
+#define LAYOUT_SAFARI_ZONE_BUILDING 198
+#define LAYOUT_SAFARI_ZONE_SECRET_HOUSE 199
+#define LAYOUT_FUCHSIA_CITY_ZOO_BUILDING 200
+#define LAYOUT_FUCHSIA_CITY_BUILDING1 201
+#define LAYOUT_FUCHSIA_CITY_HOUSE2 202
+#define LAYOUT_CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE 203
+#define LAYOUT_CINNABAR_ISLAND_POKEMON_LAB_LOUNGE 204
+#define LAYOUT_CINNABAR_ISLAND_POKEMON_LAB_RESEARCH_ROOM 205
+#define LAYOUT_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM 206
+#define LAYOUT_SAFFRON_CITY_DUPLICATE 207
+#define LAYOUT_SAFFRON_CITY_NORTH_SOUTH_ENTRANCE 208
+#define LAYOUT_SAFFRON_CITY_EAST_WEST_ENTRANCE 209
+#define LAYOUT_DIGLETTS_CAVE_NORTH_ENTRANCE 210
+#define LAYOUT_DIGLETTS_CAVE_SOUTH_ENTRANCE 211
+#define LAYOUT_INDIGO_PLATEAU_POKEMON_CENTER_1F 212
+#define LAYOUT_POKEMON_LEAGUE_LORELEIS_ROOM 213
+#define LAYOUT_POKEMON_LEAGUE_BRUNOS_ROOM 214
+#define LAYOUT_POKEMON_LEAGUE_AGATHAS_ROOM 215
+#define LAYOUT_POKEMON_LEAGUE_LANCES_ROOM 216
+#define LAYOUT_POKEMON_LEAGUE_CHAMPIONS_ROOM 217
+#define LAYOUT_POKEMON_LEAGUE_HALL_OF_FAME 218
+#define LAYOUT_ROUTE21_SOUTH 219
+#define LAYOUT_ENTRANCE_2F 220
+#define LAYOUT_ROUTE2_ENTRANCE 221
+#define LAYOUT_ROUTE22_NORTH_ENTRANCE 222
+#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_DOJO 228
+#define LAYOUT_SILPH_CO_ELEVATOR 229
+#define LAYOUT_ONE_ISLAND 230
+#define LAYOUT_TWO_ISLAND 231
+#define LAYOUT_THREE_ISLAND 232
+#define LAYOUT_FOUR_ISLAND 233
+#define LAYOUT_FIVE_ISLAND 234
+#define LAYOUT_SEVEN_ISLAND 235
+#define LAYOUT_SIX_ISLAND 236
+#define LAYOUT_ONE_ISLAND_KINDLE_ROAD 237
+#define LAYOUT_ONE_ISLAND_TREASURE_BEACH 238
+#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_FIVE_ISLAND_RESORT_GORGEOUS 246
+#define LAYOUT_FIVE_ISLAND_WATER_LABYRINTH 247
+#define LAYOUT_FIVE_ISLAND_MEADOW 248
+#define LAYOUT_FIVE_ISLAND_MEMORIAL_PILLAR 249
+#define LAYOUT_SIX_ISLAND_OUTCAST_ISLAND 250
+#define LAYOUT_SIX_ISLAND_GREEN_PATH 251
+#define LAYOUT_SIX_ISLAND_WATER_PATH 252
+#define LAYOUT_SIX_ISLAND_RUIN_VALLEY 253
+#define LAYOUT_SEVEN_ISLAND_TRAINER_TOWER 254
+#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_UNKNOWN_MAP_00_04 262
+#define LAYOUT_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB 263
+#define LAYOUT_UNUSED_LAYOUT_8338B4C 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_MT_EMBER_RUBY_PATH_B4F 269
+#define LAYOUT_THREE_ISLAND_BERRY_FOREST 270
+#define LAYOUT_ONE_ISLAND_POKEMON_CENTER_1F 271
+#define LAYOUT_TWO_ISLAND_JOYFUL_GAME_CORNER 272
+#define LAYOUT_VERMILION_CITY_POKEMON_FAN_CLUB 273
+#define LAYOUT_LAVENDER_TOWN_VOLUNTEER_POKEMON_HOUSE 274
+#define LAYOUT_ROUTE5_POKEMON_DAY_CARE 275
+#define LAYOUT_VIRIDIAN_CITY_HOUSE1 276
+#define LAYOUT_FOUR_ISLAND_POKEMON_DAY_CARE 277
+#define LAYOUT_UNUSED_LAYOUT_833B6EC 278
+#define LAYOUT_UNUSED_LAYOUT_833BE30 279
+#define LAYOUT_MT_EMBER_EXTERIOR 280
+#define LAYOUT_MT_EMBER_SUMMIT 281
+#define LAYOUT_MT_EMBER_SUMMIT_PATH_1F 282
+#define LAYOUT_MT_EMBER_SUMMIT_PATH_2F 283
+#define LAYOUT_MT_EMBER_SUMMIT_PATH_3F 284
+#define LAYOUT_MT_EMBER_RUBY_PATH_1F 285
+#define LAYOUT_MT_EMBER_RUBY_PATH_B1F 286
+#define LAYOUT_MT_EMBER_RUBY_PATH_B2F 287
+#define LAYOUT_MT_EMBER_RUBY_PATH_B3F 288
+#define LAYOUT_MT_EMBER_RUBY_PATH_B1F_STAIRS 289
+#define LAYOUT_MT_EMBER_RUBY_PATH_B2F_STAIRS 290
+#define LAYOUT_MT_EMBER_RUBY_PATH_B5F 291
+#define LAYOUT_FIVE_ISLAND_ROCKET_WAREHOUSE 292
+#define LAYOUT_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE 293
+#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_CERULEAN_CITY_HOUSE5 308
+#define LAYOUT_SIX_ISLAND_DOTTED_HOLE_1F 309
+#define LAYOUT_SIX_ISLAND_DOTTED_HOLE_B1F 310
+#define LAYOUT_SIX_ISLAND_DOTTED_HOLE_B2F 311
+#define LAYOUT_SIX_ISLAND_DOTTED_HOLE_B3F 312
+#define LAYOUT_SIX_ISLAND_DOTTED_HOLE_B4F 313
+#define LAYOUT_SIX_ISLAND_DOTTED_HOLE_SAPPHIRE_ROOM 314
+#define LAYOUT_ISLAND_HARBOR 315
+#define LAYOUT_ONE_ISLAND_POKEMON_CENTER_2F 316
+#define LAYOUT_SIX_ISLAND_PATTERN_BUSH 317
+#define LAYOUT_THREE_ISLAND_DUNSPARCE_TUNNEL 318
+#define LAYOUT_UNUSED_LAYOUT_83453C0 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
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM3 323
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM4 324
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM5 325
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM6 326
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM7 327
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM8 328
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM9 329
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM10 330
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM11 331
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM12 332
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM13 333
+#define LAYOUT_FIVE_ISLAND_LOST_CAVE_ROOM14 334
+#define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER 335
+#define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_LIPTOO_CHAMBER 336
+#define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_WEEPTH_CHAMBER 337
+#define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_DILFORD_CHAMBER 338
+#define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_SCUFIB_CHAMBER 339
+#define LAYOUT_SIX_ISLAND_ALTERING_CAVE 340
+#define LAYOUT_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY 341
+#define LAYOUT_BIRTH_ISLAND_EXTERIOR 342
+#define LAYOUT_NAVEL_ROCK_EXTERIOR 343
+#define LAYOUT_NAVEL_ROCK_1F 344
+#define LAYOUT_NAVEL_ROCK_SUMMIT 345
+#define LAYOUT_NAVEL_ROCK_BASE 346
+#define LAYOUT_NAVEL_ROCK_SUMMIT_PATH_2F 347
+#define LAYOUT_NAVEL_ROCK_SUMMIT_PATH_3F 348
+#define LAYOUT_NAVEL_ROCK_SUMMIT_PATH_4F 349
+#define LAYOUT_NAVEL_ROCK_SUMMIT_PATH_5F 350
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B1F 351
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B2F 352
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B3F 353
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B4F 354
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B5F 355
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B6F 356
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B7F 357
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B8F 358
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B9F 359
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B10F 360
+#define LAYOUT_NAVEL_ROCK_BASE_PATH_B11F 361
+#define LAYOUT_SEVEN_ISLAND_TANOBY_RUINS_RIXY_CHAMBER 362
+#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_SEVEN_ISLAND_HOUSE_ROOM1 382
+#define LAYOUT_ONE_ISLAND_KINDLE_ROAD_EMBER_SPA 383
+
+#endif // GUARD_CONSTANTS_LAYOUTS_H
diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h
new file mode 100644
index 000000000..d769520ca
--- /dev/null
+++ b/include/constants/map_groups.h
@@ -0,0 +1,517 @@
+#ifndef GUARD_CONSTANTS_MAP_GROUPS_H
+#define GUARD_CONSTANTS_MAP_GROUPS_H
+
+// Map Group 0
+#define MAP_UNKNOWN_MAP_00_00 (0 | (0 << 8))
+#define MAP_UNKNOWN_MAP_00_01 (1 | (0 << 8))
+#define MAP_UNKNOWN_MAP_00_02 (2 | (0 << 8))
+#define MAP_UNKNOWN_MAP_00_03 (3 | (0 << 8))
+#define MAP_UNKNOWN_MAP_00_04 (4 | (0 << 8))
+
+// Map Group 1
+#define MAP_VIRIDIAN_FOREST (0 | (1 << 8))
+#define MAP_MT_MOON_1F (1 | (1 << 8))
+#define MAP_MT_MOON_B1F (2 | (1 << 8))
+#define MAP_MT_MOON_B2F (3 | (1 << 8))
+#define MAP_SSANNE_EXTERIOR (4 | (1 << 8))
+#define MAP_SSANNE_1F_CORRIDOR (5 | (1 << 8))
+#define MAP_SSANNE_2F_CORRIDOR (6 | (1 << 8))
+#define MAP_SSANNE_3F_CORRIDOR (7 | (1 << 8))
+#define MAP_SSANNE_B1F_CORRIDOR (8 | (1 << 8))
+#define MAP_SSANNE_DECK (9 | (1 << 8))
+#define MAP_SSANNE_KITCHEN (10 | (1 << 8))
+#define MAP_SSANNE_CAPTAINS_OFFICE (11 | (1 << 8))
+#define MAP_SSANNE_1F_ROOM1 (12 | (1 << 8))
+#define MAP_SSANNE_1F_ROOM2 (13 | (1 << 8))
+#define MAP_SSANNE_1F_ROOM3 (14 | (1 << 8))
+#define MAP_SSANNE_1F_ROOM4 (15 | (1 << 8))
+#define MAP_SSANNE_1F_ROOM5 (16 | (1 << 8))
+#define MAP_SSANNE_1F_ROOM7 (17 | (1 << 8))
+#define MAP_SSANNE_2F_ROOM1 (18 | (1 << 8))
+#define MAP_SSANNE_2F_ROOM2 (19 | (1 << 8))
+#define MAP_SSANNE_2F_ROOM3 (20 | (1 << 8))
+#define MAP_SSANNE_2F_ROOM4 (21 | (1 << 8))
+#define MAP_SSANNE_2F_ROOM5 (22 | (1 << 8))
+#define MAP_SSANNE_2F_ROOM6 (23 | (1 << 8))
+#define MAP_SSANNE_B1F_ROOM1 (24 | (1 << 8))
+#define MAP_SSANNE_B1F_ROOM2 (25 | (1 << 8))
+#define MAP_SSANNE_B1F_ROOM3 (26 | (1 << 8))
+#define MAP_SSANNE_B1F_ROOM4 (27 | (1 << 8))
+#define MAP_SSANNE_B1F_ROOM5 (28 | (1 << 8))
+#define MAP_SSANNE_1F_ROOM6 (29 | (1 << 8))
+#define MAP_UNDERGROUND_PATH_NORTH_ENTRANCE (30 | (1 << 8))
+#define MAP_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL (31 | (1 << 8))
+#define MAP_UNDERGROUND_PATH_SOUTH_ENTRANCE (32 | (1 << 8))
+#define MAP_UNDERGROUND_PATH_WEST_ENTRANCE (33 | (1 << 8))
+#define MAP_UNDERGROUND_PATH_EAST_WEST_TUNNEL (34 | (1 << 8))
+#define MAP_UNDERGROUND_PATH_EAST_ENTRANCE (35 | (1 << 8))
+#define MAP_DIGLETTS_CAVE_NORTH_ENTRANCE (36 | (1 << 8))
+#define MAP_DIGLETTS_CAVE_B1F (37 | (1 << 8))
+#define MAP_DIGLETTS_CAVE_SOUTH_ENTRANCE (38 | (1 << 8))
+#define MAP_VICTORY_ROAD_1F (39 | (1 << 8))
+#define MAP_VICTORY_ROAD_2F (40 | (1 << 8))
+#define MAP_VICTORY_ROAD_3F (41 | (1 << 8))
+#define MAP_ROCKET_HIDEOUT_B1F (42 | (1 << 8))
+#define MAP_ROCKET_HIDEOUT_B2F (43 | (1 << 8))
+#define MAP_ROCKET_HIDEOUT_B3F (44 | (1 << 8))
+#define MAP_ROCKET_HIDEOUT_B4F (45 | (1 << 8))
+#define MAP_ROCKET_HIDEOUT_ELEVATOR (46 | (1 << 8))
+#define MAP_SILPH_CO_1F (47 | (1 << 8))
+#define MAP_SILPH_CO_2F (48 | (1 << 8))
+#define MAP_SILPH_CO_3F (49 | (1 << 8))
+#define MAP_SILPH_CO_4F (50 | (1 << 8))
+#define MAP_SILPH_CO_5F (51 | (1 << 8))
+#define MAP_SILPH_CO_6F (52 | (1 << 8))
+#define MAP_SILPH_CO_7F (53 | (1 << 8))
+#define MAP_SILPH_CO_8F (54 | (1 << 8))
+#define MAP_SILPH_CO_9F (55 | (1 << 8))
+#define MAP_SILPH_CO_10F (56 | (1 << 8))
+#define MAP_SILPH_CO_11F (57 | (1 << 8))
+#define MAP_SILPH_CO_ELEVATOR (58 | (1 << 8))
+#define MAP_POKEMON_MANSION_1F (59 | (1 << 8))
+#define MAP_POKEMON_MANSION_2F (60 | (1 << 8))
+#define MAP_POKEMON_MANSION_3F (61 | (1 << 8))
+#define MAP_POKEMON_MANSION_B1F (62 | (1 << 8))
+#define MAP_SAFARI_ZONE_CENTER (63 | (1 << 8))
+#define MAP_SAFARI_ZONE_EAST (64 | (1 << 8))
+#define MAP_SAFARI_ZONE_NORTH (65 | (1 << 8))
+#define MAP_SAFARI_ZONE_WEST (66 | (1 << 8))
+#define MAP_SAFARI_ZONE_BUILDING1 (67 | (1 << 8))
+#define MAP_SAFARI_ZONE_BUILDING2 (68 | (1 << 8))
+#define MAP_SAFARI_ZONE_BUILDING3 (69 | (1 << 8))
+#define MAP_SAFARI_ZONE_BUILDING4 (70 | (1 << 8))
+#define MAP_SAFARI_ZONE_SECRET_HOUSE (71 | (1 << 8))
+#define MAP_CERULEAN_CAVE_1F (72 | (1 << 8))
+#define MAP_CERULEAN_CAVE_2F (73 | (1 << 8))
+#define MAP_CERULEAN_CAVE_B1F (74 | (1 << 8))
+#define MAP_POKEMON_LEAGUE_LORELEIS_ROOM (75 | (1 << 8))
+#define MAP_POKEMON_LEAGUE_BRUNOS_ROOM (76 | (1 << 8))
+#define MAP_POKEMON_LEAGUE_AGATHAS_ROOM (77 | (1 << 8))
+#define MAP_POKEMON_LEAGUE_LANCES_ROOM (78 | (1 << 8))
+#define MAP_POKEMON_LEAGUE_CHAMPIONS_ROOM (79 | (1 << 8))
+#define MAP_POKEMON_LEAGUE_HALL_OF_FAME (80 | (1 << 8))
+#define MAP_ROCK_TUNNEL_1F (81 | (1 << 8))
+#define MAP_ROCK_TUNNEL_B1F (82 | (1 << 8))
+#define MAP_SEAFOAM_ISLANDS_1F (83 | (1 << 8))
+#define MAP_SEAFOAM_ISLANDS_B1F (84 | (1 << 8))
+#define MAP_SEAFOAM_ISLANDS_B2F (85 | (1 << 8))
+#define MAP_SEAFOAM_ISLANDS_B3F (86 | (1 << 8))
+#define MAP_SEAFOAM_ISLANDS_B4F (87 | (1 << 8))
+#define MAP_POKEMON_TOWER_1F (88 | (1 << 8))
+#define MAP_POKEMON_TOWER_2F (89 | (1 << 8))
+#define MAP_POKEMON_TOWER_3F (90 | (1 << 8))
+#define MAP_POKEMON_TOWER_4F (91 | (1 << 8))
+#define MAP_POKEMON_TOWER_5F (92 | (1 << 8))
+#define MAP_POKEMON_TOWER_6F (93 | (1 << 8))
+#define MAP_POKEMON_TOWER_7F (94 | (1 << 8))
+#define MAP_POWER_PLANT (95 | (1 << 8))
+#define MAP_MT_EMBER_RUBY_PATH_B4F (96 | (1 << 8))
+#define MAP_MT_EMBER_EXTERIOR (97 | (1 << 8))
+#define MAP_MT_EMBER_SUMMIT_PATH_1F (98 | (1 << 8))
+#define MAP_MT_EMBER_SUMMIT_PATH_2F (99 | (1 << 8))
+#define MAP_MT_EMBER_SUMMIT_PATH_3F (100 | (1 << 8))
+#define MAP_MT_EMBER_SUMMIT (101 | (1 << 8))
+#define MAP_MT_EMBER_RUBY_PATH_B5F (102 | (1 << 8))
+#define MAP_MT_EMBER_RUBY_PATH_1F (103 | (1 << 8))
+#define MAP_MT_EMBER_RUBY_PATH_B1F (104 | (1 << 8))
+#define MAP_MT_EMBER_RUBY_PATH_B2F (105 | (1 << 8))
+#define MAP_MT_EMBER_RUBY_PATH_B3F (106 | (1 << 8))
+#define MAP_MT_EMBER_RUBY_PATH_B1F_STAIRS (107 | (1 << 8))
+#define MAP_MT_EMBER_RUBY_PATH_B2F_STAIRS (108 | (1 << 8))
+#define MAP_THREE_ISLAND_BERRY_FOREST (109 | (1 << 8))
+#define MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE (110 | (1 << 8))
+#define MAP_FOUR_ISLAND_ICEFALL_CAVE_1F (111 | (1 << 8))
+#define MAP_FOUR_ISLAND_ICEFALL_CAVE_B1F (112 | (1 << 8))
+#define MAP_FOUR_ISLAND_ICEFALL_CAVE_BACK (113 | (1 << 8))
+#define MAP_FIVE_ISLAND_ROCKET_WAREHOUSE (114 | (1 << 8))
+#define MAP_SIX_ISLAND_DOTTED_HOLE_1F (115 | (1 << 8))
+#define MAP_SIX_ISLAND_DOTTED_HOLE_B1F (116 | (1 << 8))
+#define MAP_SIX_ISLAND_DOTTED_HOLE_B2F (117 | (1 << 8))
+#define MAP_SIX_ISLAND_DOTTED_HOLE_B3F (118 | (1 << 8))
+#define MAP_SIX_ISLAND_DOTTED_HOLE_B4F (119 | (1 << 8))
+#define MAP_SIX_ISLAND_DOTTED_HOLE_SAPPHIRE_ROOM (120 | (1 << 8))
+#define MAP_SIX_ISLAND_PATTERN_BUSH (121 | (1 << 8))
+#define MAP_SIX_ISLAND_ALTERING_CAVE (122 | (1 << 8))
+
+// 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_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))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM3 (15 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM4 (16 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM5 (17 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM6 (18 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM7 (19 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM8 (20 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM9 (21 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM10 (22 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM11 (23 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM12 (24 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM13 (25 | (2 << 8))
+#define MAP_FIVE_ISLAND_LOST_CAVE_ROOM14 (26 | (2 << 8))
+#define MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER (27 | (2 << 8))
+#define MAP_SEVEN_ISLAND_TANOBY_RUINS_LIPTOO_CHAMBER (28 | (2 << 8))
+#define MAP_SEVEN_ISLAND_TANOBY_RUINS_WEEPTH_CHAMBER (29 | (2 << 8))
+#define MAP_SEVEN_ISLAND_TANOBY_RUINS_DILFORD_CHAMBER (30 | (2 << 8))
+#define MAP_SEVEN_ISLAND_TANOBY_RUINS_SCUFIB_CHAMBER (31 | (2 << 8))
+#define MAP_SEVEN_ISLAND_TANOBY_RUINS_RIXY_CHAMBER (32 | (2 << 8))
+#define MAP_SEVEN_ISLAND_TANOBY_RUINS_VIAPOIS_CHAMBER (33 | (2 << 8))
+#define MAP_THREE_ISLAND_DUNSPARCE_TUNNEL (34 | (2 << 8))
+#define MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY (35 | (2 << 8))
+#define MAP_NAVEL_ROCK_1F (36 | (2 << 8))
+#define MAP_NAVEL_ROCK_SUMMIT (37 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE (38 | (2 << 8))
+#define MAP_NAVEL_ROCK_SUMMIT_PATH_2F (39 | (2 << 8))
+#define MAP_NAVEL_ROCK_SUMMIT_PATH_3F (40 | (2 << 8))
+#define MAP_NAVEL_ROCK_SUMMIT_PATH_4F (41 | (2 << 8))
+#define MAP_NAVEL_ROCK_SUMMIT_PATH_5F (42 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B1F (43 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B2F (44 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B3F (45 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B4F (46 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B5F (47 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B6F (48 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B7F (49 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B8F (50 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B9F (51 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B10F (52 | (2 << 8))
+#define MAP_NAVEL_ROCK_BASE_PATH_B11F (53 | (2 << 8))
+#define MAP_NAVEL_ROCK_B1F (54 | (2 << 8))
+#define MAP_NAVEL_ROCK_FORK (55 | (2 << 8))
+#define MAP_BIRTH_ISLAND_EXTERIOR (56 | (2 << 8))
+#define MAP_ONE_ISLAND_KINDLE_ROAD_EMBER_SPA (57 | (2 << 8))
+#define MAP_BIRTH_ISLAND_HARBOR (58 | (2 << 8))
+#define MAP_NAVEL_ROCK_HARBOR (59 | (2 << 8))
+
+// Map Group 3
+#define MAP_PALLET_TOWN (0 | (3 << 8))
+#define MAP_VIRIDIAN_CITY (1 | (3 << 8))
+#define MAP_PEWTER_CITY (2 | (3 << 8))
+#define MAP_CERULEAN_CITY (3 | (3 << 8))
+#define MAP_LAVENDER_TOWN (4 | (3 << 8))
+#define MAP_VERMILION_CITY (5 | (3 << 8))
+#define MAP_CELADON_CITY (6 | (3 << 8))
+#define MAP_FUCHSIA_CITY (7 | (3 << 8))
+#define MAP_CINNABAR_ISLAND (8 | (3 << 8))
+#define MAP_INDIGO_PLATEAU_EXTERIOR (9 | (3 << 8))
+#define MAP_SAFFRON_CITY_DUPLICATE (10 | (3 << 8))
+#define MAP_SAFFRON_CITY (11 | (3 << 8))
+#define MAP_ONE_ISLAND (12 | (3 << 8))
+#define MAP_TWO_ISLAND (13 | (3 << 8))
+#define MAP_THREE_ISLAND (14 | (3 << 8))
+#define MAP_FOUR_ISLAND (15 | (3 << 8))
+#define MAP_FIVE_ISLAND (16 | (3 << 8))
+#define MAP_SEVEN_ISLAND (17 | (3 << 8))
+#define MAP_SIX_ISLAND (18 | (3 << 8))
+#define MAP_ROUTE1 (19 | (3 << 8))
+#define MAP_ROUTE2 (20 | (3 << 8))
+#define MAP_ROUTE3 (21 | (3 << 8))
+#define MAP_ROUTE4 (22 | (3 << 8))
+#define MAP_ROUTE5 (23 | (3 << 8))
+#define MAP_ROUTE6 (24 | (3 << 8))
+#define MAP_ROUTE7 (25 | (3 << 8))
+#define MAP_ROUTE8 (26 | (3 << 8))
+#define MAP_ROUTE9 (27 | (3 << 8))
+#define MAP_ROUTE10 (28 | (3 << 8))
+#define MAP_ROUTE11 (29 | (3 << 8))
+#define MAP_ROUTE12 (30 | (3 << 8))
+#define MAP_ROUTE13 (31 | (3 << 8))
+#define MAP_ROUTE14 (32 | (3 << 8))
+#define MAP_ROUTE15 (33 | (3 << 8))
+#define MAP_ROUTE16 (34 | (3 << 8))
+#define MAP_ROUTE17 (35 | (3 << 8))
+#define MAP_ROUTE18 (36 | (3 << 8))
+#define MAP_ROUTE19 (37 | (3 << 8))
+#define MAP_ROUTE20 (38 | (3 << 8))
+#define MAP_ROUTE21_NORTH (39 | (3 << 8))
+#define MAP_ROUTE21_SOUTH (40 | (3 << 8))
+#define MAP_ROUTE22 (41 | (3 << 8))
+#define MAP_ROUTE23 (42 | (3 << 8))
+#define MAP_ROUTE24 (43 | (3 << 8))
+#define MAP_ROUTE25 (44 | (3 << 8))
+#define MAP_ONE_ISLAND_KINDLE_ROAD (45 | (3 << 8))
+#define MAP_ONE_ISLAND_TREASURE_BEACH (46 | (3 << 8))
+#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_FIVE_ISLAND_RESORT_GORGEOUS (54 | (3 << 8))
+#define MAP_FIVE_ISLAND_WATER_LABYRINTH (55 | (3 << 8))
+#define MAP_FIVE_ISLAND_MEADOW (56 | (3 << 8))
+#define MAP_FIVE_ISLAND_MEMORIAL_PILLAR (57 | (3 << 8))
+#define MAP_SIX_ISLAND_OUTCAST_ISLAND (58 | (3 << 8))
+#define MAP_SIX_ISLAND_GREEN_PATH (59 | (3 << 8))
+#define MAP_SIX_ISLAND_WATER_PATH (60 | (3 << 8))
+#define MAP_SIX_ISLAND_RUIN_VALLEY (61 | (3 << 8))
+#define MAP_SEVEN_ISLAND_TRAINER_TOWER (62 | (3 << 8))
+#define MAP_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE (63 | (3 << 8))
+#define MAP_SEVEN_ISLAND_SEVAULT_CANYON (64 | (3 << 8))
+#define MAP_SEVEN_ISLAND_TANOBY_RUINS (65 | (3 << 8))
+
+// Map Group 4
+#define MAP_PALLET_TOWN_PLAYERS_HOUSE_1F (0 | (4 << 8))
+#define MAP_PALLET_TOWN_PLAYERS_HOUSE_2F (1 | (4 << 8))
+#define MAP_PALLET_TOWN_GARYS_HOUSE (2 | (4 << 8))
+#define MAP_PALLET_TOWN_PROFESSOR_OAKS_LAB (3 | (4 << 8))
+
+// Map Group 5
+#define MAP_VIRIDIAN_CITY_HOUSE1 (0 | (5 << 8))
+#define MAP_VIRIDIAN_CITY_GYM (1 | (5 << 8))
+#define MAP_VIRIDIAN_CITY_HOUSE2 (2 | (5 << 8))
+#define MAP_VIRIDIAN_CITY_MART (3 | (5 << 8))
+#define MAP_VIRIDIAN_CITY_POKEMON_CENTER_1F (4 | (5 << 8))
+#define MAP_VIRIDIAN_CITY_POKEMON_CENTER_2F (5 | (5 << 8))
+
+// Map Group 6
+#define MAP_PEWTER_CITY_MUSEUM_1F (0 | (6 << 8))
+#define MAP_PEWTER_CITY_MUSEUM_2F (1 | (6 << 8))
+#define MAP_PEWTER_CITY_GYM (2 | (6 << 8))
+#define MAP_PEWTER_CITY_MART (3 | (6 << 8))
+#define MAP_PEWTER_CITY_HOUSE1 (4 | (6 << 8))
+#define MAP_PEWTER_CITY_POKEMON_CENTER_1F (5 | (6 << 8))
+#define MAP_PEWTER_CITY_POKEMON_CENTER_2F (6 | (6 << 8))
+#define MAP_PEWTER_CITY_HOUSE2 (7 | (6 << 8))
+
+// Map Group 7
+#define MAP_CERULEAN_CITY_HOUSE1 (0 | (7 << 8))
+#define MAP_CERULEAN_CITY_HOUSE2 (1 | (7 << 8))
+#define MAP_CERULEAN_CITY_HOUSE3 (2 | (7 << 8))
+#define MAP_CERULEAN_CITY_POKEMON_CENTER_1F (3 | (7 << 8))
+#define MAP_CERULEAN_CITY_POKEMON_CENTER_2F (4 | (7 << 8))
+#define MAP_CERULEAN_CITY_GYM (5 | (7 << 8))
+#define MAP_CERULEAN_CITY_BIKE_SHOP (6 | (7 << 8))
+#define MAP_CERULEAN_CITY_MART (7 | (7 << 8))
+#define MAP_CERULEAN_CITY_HOUSE4 (8 | (7 << 8))
+#define MAP_CERULEAN_CITY_HOUSE5 (9 | (7 << 8))
+
+// Map Group 8
+#define MAP_LAVENDER_TOWN_POKEMON_CENTER_1F (0 | (8 << 8))
+#define MAP_LAVENDER_TOWN_POKEMON_CENTER_2F (1 | (8 << 8))
+#define MAP_LAVENDER_TOWN_VOLUNTEER_POKEMON_HOUSE (2 | (8 << 8))
+#define MAP_LAVENDER_TOWN_HOUSE1 (3 | (8 << 8))
+#define MAP_LAVENDER_TOWN_HOUSE2 (4 | (8 << 8))
+#define MAP_LAVENDER_TOWN_MART (5 | (8 << 8))
+
+// Map Group 9
+#define MAP_VERMILION_CITY_HOUSE1 (0 | (9 << 8))
+#define MAP_VERMILION_CITY_POKEMON_CENTER_1F (1 | (9 << 8))
+#define MAP_VERMILION_CITY_POKEMON_CENTER_2F (2 | (9 << 8))
+#define MAP_VERMILION_CITY_POKEMON_FAN_CLUB (3 | (9 << 8))
+#define MAP_VERMILION_CITY_HOUSE2 (4 | (9 << 8))
+#define MAP_VERMILION_CITY_MART (5 | (9 << 8))
+#define MAP_VERMILION_CITY_GYM (6 | (9 << 8))
+#define MAP_VERMILION_CITY_HOUSE3 (7 | (9 << 8))
+
+// Map Group 10
+#define MAP_CELADON_CITY_DEPARTMENT_STORE_1F (0 | (10 << 8))
+#define MAP_CELADON_CITY_DEPARTMENT_STORE_2F (1 | (10 << 8))
+#define MAP_CELADON_CITY_DEPARTMENT_STORE_3F (2 | (10 << 8))
+#define MAP_CELADON_CITY_DEPARTMENT_STORE_4F (3 | (10 << 8))
+#define MAP_CELADON_CITY_DEPARTMENT_STORE_5F (4 | (10 << 8))
+#define MAP_CELADON_CITY_DEPARTMENT_STORE_ROOF (5 | (10 << 8))
+#define MAP_CELADON_CITY_DEPARTMENT_STORE_ELEVATOR (6 | (10 << 8))
+#define MAP_CELADON_CITY_CONDOMINIUMS_1F (7 | (10 << 8))
+#define MAP_CELADON_CITY_CONDOMINIUMS_2F (8 | (10 << 8))
+#define MAP_CELADON_CITY_CONDOMINIUMS_3F (9 | (10 << 8))
+#define MAP_CELADON_CITY_CONDOMINIUMS_ROOF (10 | (10 << 8))
+#define MAP_CELADON_CITY_CONDOMINIUMS_ROOF_ROOM (11 | (10 << 8))
+#define MAP_CELADON_CITY_POKEMON_CENTER_1F (12 | (10 << 8))
+#define MAP_CELADON_CITY_POKEMON_CENTER_2F (13 | (10 << 8))
+#define MAP_CELADON_CITY_GAME_CORNER (14 | (10 << 8))
+#define MAP_CELADON_CITY_GAME_CORNER_PRIZE_ROOM (15 | (10 << 8))
+#define MAP_CELADON_CITY_GYM (16 | (10 << 8))
+#define MAP_CELADON_CITY_RESTAURANT (17 | (10 << 8))
+#define MAP_CELADON_CITY_HOUSE1 (18 | (10 << 8))
+#define MAP_CELADON_CITY_HOTEL (19 | (10 << 8))
+
+// Map Group 11
+#define MAP_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE (0 | (11 << 8))
+#define MAP_FUCHSIA_CITY_MART (1 | (11 << 8))
+#define MAP_FUCHSIA_CITY_ZOO_BUILDING (2 | (11 << 8))
+#define MAP_FUCHSIA_CITY_GYM (3 | (11 << 8))
+#define MAP_FUCHSIA_CITY_HOUSE1 (4 | (11 << 8))
+#define MAP_FUCHSIA_CITY_POKEMON_CENTER_1F (5 | (11 << 8))
+#define MAP_FUCHSIA_CITY_POKEMON_CENTER_2F (6 | (11 << 8))
+#define MAP_FUCHSIA_CITY_BUILDING1 (7 | (11 << 8))
+#define MAP_FUCHSIA_CITY_HOUSE2 (8 | (11 << 8))
+#define MAP_FUCHSIA_CITY_HOUSE3 (9 | (11 << 8))
+
+// Map Group 12
+#define MAP_CINNABAR_ISLAND_GYM (0 | (12 << 8))
+#define MAP_CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE (1 | (12 << 8))
+#define MAP_CINNABAR_ISLAND_POKEMON_LAB_LOUNGE (2 | (12 << 8))
+#define MAP_CINNABAR_ISLAND_POKEMON_LAB_RESEARCH_ROOM (3 | (12 << 8))
+#define MAP_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM (4 | (12 << 8))
+#define MAP_CINNABAR_ISLAND_POKEMON_CENTER_1F (5 | (12 << 8))
+#define MAP_CINNABAR_ISLAND_POKEMON_CENTER_2F (6 | (12 << 8))
+#define MAP_CINNABAR_ISLAND_MART (7 | (12 << 8))
+
+// Map Group 13
+#define MAP_INDIGO_PLATEAU_POKEMON_CENTER_1F (0 | (13 << 8))
+#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_DOJO (2 | (14 << 8))
+#define MAP_SAFFRON_CITY_GYM (3 | (14 << 8))
+#define MAP_SAFFRON_CITY_HOUSE2 (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_POKEMON_TRAINER_FAN_CLUB (9 | (14 << 8))
+
+// Map Group 15
+#define MAP_ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE (0 | (15 << 8))
+#define MAP_ROUTE2_HOUSE (1 | (15 << 8))
+#define MAP_ROUTE2_EAST_BUILDING (2 | (15 << 8))
+#define MAP_ROUTE2_VIRIDIAN_FOREST_NORTH_ENTRANCE (3 | (15 << 8))
+
+// Map Group 16
+#define MAP_ROUTE4_POKEMON_CENTER_1F (0 | (16 << 8))
+#define MAP_ROUTE4_POKEMON_CENTER_2F (1 | (16 << 8))
+
+// Map Group 17
+#define MAP_ROUTE5_POKEMON_DAY_CARE (0 | (17 << 8))
+#define MAP_ROUTE5_SOUTH_ENTRANCE (1 | (17 << 8))
+
+// Map Group 18
+#define MAP_ROUTE6_NORTH_ENTRANCE (0 | (18 << 8))
+#define MAP_UNKNOWN_MAP_18_01 (1 | (18 << 8))
+
+// Map Group 19
+#define MAP_ROUTE7_EAST_ENTRANCE (0 | (19 << 8))
+
+// Map Group 20
+#define MAP_ROUTE8_WEST_ENTRANCE (0 | (20 << 8))
+
+// Map Group 21
+#define MAP_ROUTE10_POKEMON_CENTER_1F (0 | (21 << 8))
+#define MAP_ROUTE10_POKEMON_CENTER_2F (1 | (21 << 8))
+
+// Map Group 22
+#define MAP_ROUTE11_EAST_ENTRANCE_1F (0 | (22 << 8))
+#define MAP_ROUTE11_EAST_ENTRANCE_2F (1 | (22 << 8))
+
+// Map Group 23
+#define MAP_ROUTE12_NORTH_ENTRANCE_1F (0 | (23 << 8))
+#define MAP_ROUTE12_NORTH_ENTRANCE_2F (1 | (23 << 8))
+#define MAP_ROUTE12_FISHING_HOUSE (2 | (23 << 8))
+
+// Map Group 24
+#define MAP_ROUTE15_WEST_ENTRANCE_1F (0 | (24 << 8))
+#define MAP_ROUTE15_WEST_ENTRANCE_2F (1 | (24 << 8))
+
+// Map Group 25
+#define MAP_ROUTE16_HOUSE (0 | (25 << 8))
+#define MAP_ROUTE16_NORTH_ENTRANCE_1F (1 | (25 << 8))
+#define MAP_ROUTE16_NORTH_ENTRANCE_2F (2 | (25 << 8))
+
+// Map Group 26
+#define MAP_ROUTE18_EAST_ENTRANCE_1F (0 | (26 << 8))
+#define MAP_ROUTE18_EAST_ENTRANCE_2F (1 | (26 << 8))
+
+// Map Group 27
+#define MAP_UNUSED_HOUSE_27_00 (0 | (27 << 8))
+
+// Map Group 28
+#define MAP_ROUTE22_NORTH_ENTRANCE (0 | (28 << 8))
+
+// Map Group 29
+#define MAP_UNUSED_HOUSE_29_00 (0 | (29 << 8))
+
+// Map Group 30
+#define MAP_ROUTE25_SEA_COTTAGE (0 | (30 << 8))
+
+// Map Group 31
+#define MAP_SEVEN_ISLAND_HOUSE_ROOM1 (0 | (31 << 8))
+#define MAP_SEVEN_ISLAND_HOUSE_ROOM2 (1 | (31 << 8))
+#define MAP_SEVEN_ISLAND_MART (2 | (31 << 8))
+#define MAP_SEVEN_ISLAND_POKEMON_CENTER_1F (3 | (31 << 8))
+#define MAP_SEVEN_ISLAND_POKEMON_CENTER_2F (4 | (31 << 8))
+#define MAP_UNUSED_HOUSE_31_05 (5 | (31 << 8))
+#define MAP_SEVEN_ISLAND_HARBOR (6 | (31 << 8))
+
+// Map Group 32
+#define MAP_ONE_ISLAND_POKEMON_CENTER_1F (0 | (32 << 8))
+#define MAP_ONE_ISLAND_POKEMON_CENTER_2F (1 | (32 << 8))
+#define MAP_ONE_ISLAND_HOUSE1 (2 | (32 << 8))
+#define MAP_ONE_ISLAND_HOUSE2 (3 | (32 << 8))
+#define MAP_ONE_ISLAND_HARBOR (4 | (32 << 8))
+
+// Map Group 33
+#define MAP_TWO_ISLAND_JOYFUL_GAME_CORNER (0 | (33 << 8))
+#define MAP_TWO_ISLAND_HOUSE (1 | (33 << 8))
+#define MAP_TWO_ISLAND_POKEMON_CENTER_1F (2 | (33 << 8))
+#define MAP_TWO_ISLAND_POKEMON_CENTER_2F (3 | (33 << 8))
+#define MAP_TWO_ISLAND_HARBOR (4 | (33 << 8))
+
+// Map Group 34
+#define MAP_THREE_ISLAND_HOUSE1 (0 | (34 << 8))
+#define MAP_THREE_ISLAND_POKEMON_CENTER_1F (1 | (34 << 8))
+#define MAP_THREE_ISLAND_POKEMON_CENTER_2F (2 | (34 << 8))
+#define MAP_THREE_ISLAND_MART (3 | (34 << 8))
+#define MAP_THREE_ISLAND_HOUSE2 (4 | (34 << 8))
+#define MAP_THREE_ISLAND_HOUSE3 (5 | (34 << 8))
+#define MAP_THREE_ISLAND_HOUSE4 (6 | (34 << 8))
+#define MAP_THREE_ISLAND_HOUSE5 (7 | (34 << 8))
+
+// Map Group 35
+#define MAP_FOUR_ISLAND_POKEMON_DAY_CARE (0 | (35 << 8))
+#define MAP_FOUR_ISLAND_POKEMON_CENTER_1F (1 | (35 << 8))
+#define MAP_FOUR_ISLAND_POKEMON_CENTER_2F (2 | (35 << 8))
+#define MAP_FOUR_ISLAND_HOUSE1 (3 | (35 << 8))
+#define MAP_FOUR_ISLAND_LORELEIS_HOUSE (4 | (35 << 8))
+#define MAP_FOUR_ISLAND_HARBOR (5 | (35 << 8))
+#define MAP_FOUR_ISLAND_HOUSE2 (6 | (35 << 8))
+#define MAP_FOUR_ISLAND_MART (7 | (35 << 8))
+
+// Map Group 36
+#define MAP_FIVE_ISLAND_POKEMON_CENTER_1F (0 | (36 << 8))
+#define MAP_FIVE_ISLAND_POKEMON_CENTER_2F (1 | (36 << 8))
+#define MAP_FIVE_ISLAND_HARBOR (2 | (36 << 8))
+#define MAP_FIVE_ISLAND_HOUSE1 (3 | (36 << 8))
+#define MAP_FIVE_ISLAND_HOUSE2 (4 | (36 << 8))
+
+// Map Group 37
+#define MAP_SIX_ISLAND_POKEMON_CENTER_1F (0 | (37 << 8))
+#define MAP_SIX_ISLAND_POKEMON_CENTER_2F (1 | (37 << 8))
+#define MAP_SIX_ISLAND_HARBOR (2 | (37 << 8))
+#define MAP_SIX_ISLAND_HOUSE (3 | (37 << 8))
+#define MAP_SIX_ISLAND_MART (4 | (37 << 8))
+
+// Map Group 38
+#define MAP_THREE_ISLAND_HARBOR (0 | (38 << 8))
+
+// Map Group 39
+#define MAP_FIVE_ISLAND_RESORT_GORGEOUS_HOUSE (0 | (39 << 8))
+
+// Map Group 40
+#define MAP_TWO_ISLAND_CAPE_BRINK_HOUSE (0 | (40 << 8))
+
+// Map Group 41
+#define MAP_SIX_ISLAND_WATER_PATH_HOUSE1 (0 | (41 << 8))
+#define MAP_SIX_ISLAND_WATER_PATH_HOUSE2 (1 | (41 << 8))
+
+// Map Group 42
+#define MAP_SEVEN_ISLAND_SEVAULT_CANYON_HOUSE (0 | (42 << 8))
+
+#define MAP_GROUPS_COUNT 43
+
+#endif // GUARD_CONSTANTS_MAP_GROUPS_H
diff --git a/include/constants/maps.h b/include/constants/maps.h
index 737edd7de..db8ee451c 100644
--- a/include/constants/maps.h
+++ b/include/constants/maps.h
@@ -1,595 +1,43 @@
#ifndef GUARD_CONSTANTS_MAPS_H
#define GUARD_CONSTANTS_MAPS_H
-// Map Group 0
-#define MAP_PETALBURG_CITY (0 | (0 << 8))
-#define MAP_SLATEPORT_CITY (1 | (0 << 8))
-#define MAP_MAUVILLE_CITY (2 | (0 << 8))
-#define MAP_RUSTBORO_CITY (3 | (0 << 8))
-#define MAP_FORTREE_CITY (4 | (0 << 8))
-#define MAP_LILYCOVE_CITY (5 | (0 << 8))
-#define MAP_MOSSDEEP_CITY (6 | (0 << 8))
-#define MAP_SOOTOPOLIS_CITY (7 | (0 << 8))
-#define MAP_EVER_GRANDE_CITY (8 | (0 << 8))
-#define MAP_LITTLEROOT_TOWN (9 | (0 << 8))
-#define MAP_OLDALE_TOWN (10 | (0 << 8))
-#define MAP_DEWFORD_TOWN (11 | (0 << 8))
-#define MAP_LAVARIDGE_TOWN (12 | (0 << 8))
-#define MAP_FALLARBOR_TOWN (13 | (0 << 8))
-#define MAP_VERDANTURF_TOWN (14 | (0 << 8))
-#define MAP_PACIFIDLOG_TOWN (15 | (0 << 8))
-#define MAP_ROUTE101 (16 | (0 << 8))
-#define MAP_ROUTE102 (17 | (0 << 8))
-#define MAP_ROUTE103 (18 | (0 << 8))
-#define MAP_ROUTE104 (19 | (0 << 8))
-#define MAP_ROUTE105 (20 | (0 << 8))
-#define MAP_ROUTE106 (21 | (0 << 8))
-#define MAP_ROUTE107 (22 | (0 << 8))
-#define MAP_ROUTE108 (23 | (0 << 8))
-#define MAP_ROUTE109 (24 | (0 << 8))
-#define MAP_ROUTE110 (25 | (0 << 8))
-#define MAP_ROUTE111 (26 | (0 << 8))
-#define MAP_ROUTE112 (27 | (0 << 8))
-#define MAP_ROUTE113 (28 | (0 << 8))
-#define MAP_ROUTE114 (29 | (0 << 8))
-#define MAP_ROUTE115 (30 | (0 << 8))
-#define MAP_ROUTE116 (31 | (0 << 8))
-#define MAP_ROUTE117 (32 | (0 << 8))
-#define MAP_ROUTE118 (33 | (0 << 8))
-#define MAP_ROUTE119 (34 | (0 << 8))
-#define MAP_ROUTE120 (35 | (0 << 8))
-#define MAP_ROUTE121 (36 | (0 << 8))
-#define MAP_ROUTE122 (37 | (0 << 8))
-#define MAP_ROUTE123 (38 | (0 << 8))
-#define MAP_ROUTE124 (39 | (0 << 8))
-#define MAP_ROUTE125 (40 | (0 << 8))
-#define MAP_ROUTE126 (41 | (0 << 8))
-#define MAP_ROUTE127 (42 | (0 << 8))
-#define MAP_ROUTE128 (43 | (0 << 8))
-#define MAP_ROUTE129 (44 | (0 << 8))
-#define MAP_ROUTE130 (45 | (0 << 8))
-#define MAP_ROUTE131 (46 | (0 << 8))
-#define MAP_ROUTE132 (47 | (0 << 8))
-#define MAP_ROUTE133 (48 | (0 << 8))
-#define MAP_ROUTE134 (49 | (0 << 8))
-#define MAP_UNDERWATER1 (50 | (0 << 8))
-#define MAP_UNDERWATER2 (51 | (0 << 8))
-#define MAP_UNDERWATER3 (52 | (0 << 8))
-#define MAP_UNDERWATER4 (53 | (0 << 8))
-
-// Map Group 1
-#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F (0 | (1 << 8))
-#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F (1 | (1 << 8))
-#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F (2 | (1 << 8))
-#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F (3 | (1 << 8))
-#define MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB (4 | (1 << 8))
-
-// Map Group 2
-#define MAP_OLDALE_TOWN_HOUSE1 (0 | (2 << 8))
-#define MAP_OLDALE_TOWN_HOUSE2 (1 | (2 << 8))
-#define MAP_OLDALE_TOWN_POKEMON_CENTER_1F (2 | (2 << 8))
-#define MAP_OLDALE_TOWN_POKEMON_CENTER_2F (3 | (2 << 8))
-#define MAP_OLDALE_TOWN_MART (4 | (2 << 8))
-
-// Map Group 3
-#define MAP_DEWFORD_TOWN_HOUSE1 (0 | (3 << 8))
-#define MAP_DEWFORD_TOWN_POKEMON_CENTER_1F (1 | (3 << 8))
-#define MAP_DEWFORD_TOWN_POKEMON_CENTER_2F (2 | (3 << 8))
-#define MAP_DEWFORD_TOWN_GYM (3 | (3 << 8))
-#define MAP_DEWFORD_TOWN_HALL (4 | (3 << 8))
-#define MAP_DEWFORD_TOWN_HOUSE2 (5 | (3 << 8))
-
-// Map Group 4
-#define MAP_LAVARIDGE_TOWN_HERB_SHOP (0 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_GYM_1F (1 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_GYM_B1F (2 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_HOUSE (3 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_MART (4 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F (5 | (4 << 8))
-#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F (6 | (4 << 8))
-
-// Map Group 5
-#define MAP_FALLARBOR_TOWN_MART (0 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY (1 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR (2 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM (3 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (4 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (5 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_HOUSE1 (6 | (5 << 8))
-#define MAP_FALLARBOR_TOWN_HOUSE2 (7 | (5 << 8))
-
-// Map Group 6
-#define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR (1 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM (2 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_MART (3 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F (4 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F (5 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_WANDAS_HOUSE (6 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE (7 | (6 << 8))
-#define MAP_VERDANTURF_TOWN_HOUSE (8 | (6 << 8))
-
-// Map Group 7
-#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F (0 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F (1 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_HOUSE1 (2 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_HOUSE2 (3 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_HOUSE3 (4 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_HOUSE4 (5 | (7 << 8))
-#define MAP_PACIFIDLOG_TOWN_HOUSE5 (6 | (7 << 8))
-
-// Map Group 8
-#define MAP_PETALBURG_CITY_WALLYS_HOUSE (0 | (8 << 8))
-#define MAP_PETALBURG_CITY_GYM (1 | (8 << 8))
-#define MAP_PETALBURG_CITY_HOUSE1 (2 | (8 << 8))
-#define MAP_PETALBURG_CITY_HOUSE2 (3 | (8 << 8))
-#define MAP_PETALBURG_CITY_POKEMON_CENTER_1F (4 | (8 << 8))
-#define MAP_PETALBURG_CITY_POKEMON_CENTER_2F (5 | (8 << 8))
-#define MAP_PETALBURG_CITY_MART (6 | (8 << 8))
-
-// Map Group 9
-#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F (0 | (9 << 8))
-#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F (1 | (9 << 8))
-#define MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY (2 | (9 << 8))
-#define MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR (3 | (9 << 8))
-#define MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM (4 | (9 << 8))
-#define MAP_SLATEPORT_CITY_HOUSE1 (5 | (9 << 8))
-#define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB (6 | (9 << 8))
-#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F (7 | (9 << 8))
-#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F (8 | (9 << 8))
-#define MAP_SLATEPORT_CITY_HARBOR (9 | (9 << 8))
-#define MAP_SLATEPORT_CITY_HOUSE2 (10 | (9 << 8))
-#define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F (11 | (9 << 8))
-#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (12 | (9 << 8))
-#define MAP_SLATEPORT_CITY_MART (13 | (9 << 8))
-
-// Map Group 10
-#define MAP_MAUVILLE_CITY_GYM (0 | (10 << 8))
-#define MAP_MAUVILLE_CITY_BIKE_SHOP (1 | (10 << 8))
-#define MAP_MAUVILLE_CITY_HOUSE1 (2 | (10 << 8))
-#define MAP_MAUVILLE_CITY_GAME_CORNER (3 | (10 << 8))
-#define MAP_MAUVILLE_CITY_HOUSE2 (4 | (10 << 8))
-#define MAP_MAUVILLE_CITY_POKEMON_CENTER_1F (5 | (10 << 8))
-#define MAP_MAUVILLE_CITY_POKEMON_CENTER_2F (6 | (10 << 8))
-#define MAP_MAUVILLE_CITY_MART (7 | (10 << 8))
-
-// Map Group 11
-#define MAP_RUSTBORO_CITY_DEVON_CORP_1F (0 | (11 << 8))
-#define MAP_RUSTBORO_CITY_DEVON_CORP_2F (1 | (11 << 8))
-#define MAP_RUSTBORO_CITY_DEVON_CORP_3F (2 | (11 << 8))
-#define MAP_RUSTBORO_CITY_GYM (3 | (11 << 8))
-#define MAP_RUSTBORO_CITY_POKEMON_SCHOOL (4 | (11 << 8))
-#define MAP_RUSTBORO_CITY_POKEMON_CENTER_1F (5 | (11 << 8))
-#define MAP_RUSTBORO_CITY_POKEMON_CENTER_2F (6 | (11 << 8))
-#define MAP_RUSTBORO_CITY_MART (7 | (11 << 8))
-#define MAP_RUSTBORO_CITY_FLAT1_1F (8 | (11 << 8))
-#define MAP_RUSTBORO_CITY_FLAT1_2F (9 | (11 << 8))
-#define MAP_RUSTBORO_CITY_HOUSE1 (10 | (11 << 8))
-#define MAP_RUSTBORO_CITY_CUTTERS_HOUSE (11 | (11 << 8))
-#define MAP_RUSTBORO_CITY_HOUSE2 (12 | (11 << 8))
-#define MAP_RUSTBORO_CITY_FLAT2_1F (13 | (11 << 8))
-#define MAP_RUSTBORO_CITY_FLAT2_2F (14 | (11 << 8))
-#define MAP_RUSTBORO_CITY_FLAT2_3F (15 | (11 << 8))
-#define MAP_RUSTBORO_CITY_HOUSE3 (16 | (11 << 8))
-
-// Map Group 12
-#define MAP_FORTREE_CITY_HOUSE1 (0 | (12 << 8))
-#define MAP_FORTREE_CITY_GYM (1 | (12 << 8))
-#define MAP_FORTREE_CITY_POKEMON_CENTER_1F (2 | (12 << 8))
-#define MAP_FORTREE_CITY_POKEMON_CENTER_2F (3 | (12 << 8))
-#define MAP_FORTREE_CITY_MART (4 | (12 << 8))
-#define MAP_FORTREE_CITY_HOUSE2 (5 | (12 << 8))
-#define MAP_FORTREE_CITY_HOUSE3 (6 | (12 << 8))
-#define MAP_FORTREE_CITY_HOUSE4 (7 | (12 << 8))
-#define MAP_FORTREE_CITY_HOUSE5 (8 | (12 << 8))
-#define MAP_FORTREE_CITY_DECORATION_SHOP (9 | (12 << 8))
-
-// Map Group 13
-#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F (0 | (13 << 8))
-#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F (1 | (13 << 8))
-#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F (2 | (13 << 8))
-#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F (3 | (13 << 8))
-#define MAP_LILYCOVE_CITY_CONTEST_LOBBY (4 | (13 << 8))
-#define MAP_LILYCOVE_CITY_CONTEST_HALL (5 | (13 << 8))
-#define MAP_LILYCOVE_CITY_POKEMON_CENTER_1F (6 | (13 << 8))
-#define MAP_LILYCOVE_CITY_POKEMON_CENTER_2F (7 | (13 << 8))
-#define MAP_LILYCOVE_CITY_UNUSED_MART (8 | (13 << 8))
-#define MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (13 << 8))
-#define MAP_LILYCOVE_CITY_HARBOR (10 | (13 << 8))
-#define MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE (11 | (13 << 8))
-#define MAP_LILYCOVE_CITY_HOUSE1 (12 | (13 << 8))
-#define MAP_LILYCOVE_CITY_HOUSE2 (13 | (13 << 8))
-#define MAP_LILYCOVE_CITY_HOUSE3 (14 | (13 << 8))
-#define MAP_LILYCOVE_CITY_HOUSE4 (15 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F (16 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F (17 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F (18 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F (19 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F (20 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP (21 | (13 << 8))
-#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR (22 | (13 << 8))
-
-// Map Group 14
-#define MAP_MOSSDEEP_CITY_GYM (0 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_HOUSE1 (1 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_HOUSE2 (2 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F (3 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F (4 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_MART (5 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_HOUSE3 (6 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_STEVENS_HOUSE (7 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_HOUSE4 (8 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_SPACE_CENTER_1F (9 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_SPACE_CENTER_2F (10 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_GAME_CORNER_1F (11 | (14 << 8))
-#define MAP_MOSSDEEP_CITY_GAME_CORNER_B1F (12 | (14 << 8))
-
-// Map Group 15
-#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE8 (12 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE9_1F (13 | (15 << 8))
-#define MAP_SOOTOPOLIS_CITY_HOUSE9_B1F (14 | (15 << 8))
-
-// Map Group 16
-#define MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM (0 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_PHOEBES_ROOM (1 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_GLACIAS_ROOM (2 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_DRAKES_ROOM (3 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM (4 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CORRIDOR1 (5 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CORRIDOR2 (6 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CORRIDOR3 (7 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CORRIDOR4 (8 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_CORRIDOR5 (9 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F (10 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_HALL_OF_FAME (11 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F (12 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F (13 | (16 << 8))
-#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F (14 | (16 << 8))
-
-// Map Group 17
-#define MAP_ROUTE104_MR_BRINEYS_HOUSE (0 | (17 << 8))
-#define MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP (1 | (17 << 8))
-
-// Map Group 18
-#define MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE (0 | (18 << 8))
-#define MAP_ROUTE111_OLD_LADYS_REST_STOP (1 | (18 << 8))
-
-// Map Group 19
-#define MAP_ROUTE112_CABLE_CAR_STATION (0 | (19 << 8))
-#define MAP_MT_CHIMNEY_CABLE_CAR_STATION (1 | (19 << 8))
-
-// Map Group 20
-#define MAP_ROUTE114_FOSSIL_MANIACS_HOUSE (0 | (20 << 8))
-#define MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL (1 | (20 << 8))
-#define MAP_ROUTE114_LANETTES_HOUSE (2 | (20 << 8))
-
-// Map Group 21
-#define MAP_ROUTE116_TUNNELERS_REST_HOUSE (0 | (21 << 8))
-
-// Map Group 22
-#define MAP_ROUTE117_POKEMON_DAY_CARE (0 | (22 << 8))
-
-// Map Group 23
-#define MAP_ROUTE121_SAFARI_ZONE_ENTRANCE (0 | (23 << 8))
-
-// Map Group 24
-#define MAP_METEOR_FALLS_1F_1R (0 | (24 << 8))
-#define MAP_METEOR_FALLS_1F_2R (1 | (24 << 8))
-#define MAP_METEOR_FALLS_B1F_1R (2 | (24 << 8))
-#define MAP_METEOR_FALLS_B1F_2R (3 | (24 << 8))
-#define MAP_RUSTURF_TUNNEL (4 | (24 << 8))
-#define MAP_UNDERWATER_SOOTOPOLIS_CITY (5 | (24 << 8))
-#define MAP_DESERT_RUINS (6 | (24 << 8))
-#define MAP_GRANITE_CAVE_1F (7 | (24 << 8))
-#define MAP_GRANITE_CAVE_B1F (8 | (24 << 8))
-#define MAP_GRANITE_CAVE_B2F (9 | (24 << 8))
-#define MAP_GRANITE_CAVE_STEVENS_ROOM (10 | (24 << 8))
-#define MAP_PETALBURG_WOODS (11 | (24 << 8))
-#define MAP_MT_CHIMNEY (12 | (24 << 8))
-#define MAP_JAGGED_PASS (13 | (24 << 8))
-#define MAP_FIERY_PATH (14 | (24 << 8))
-#define MAP_MT_PYRE_1F (15 | (24 << 8))
-#define MAP_MT_PYRE_2F (16 | (24 << 8))
-#define MAP_MT_PYRE_3F (17 | (24 << 8))
-#define MAP_MT_PYRE_4F (18 | (24 << 8))
-#define MAP_MT_PYRE_5F (19 | (24 << 8))
-#define MAP_MT_PYRE_6F (20 | (24 << 8))
-#define MAP_MT_PYRE_EXTERIOR (21 | (24 << 8))
-#define MAP_MT_PYRE_SUMMIT (22 | (24 << 8))
-#define MAP_AQUA_HIDEOUT_1F (23 | (24 << 8))
-#define MAP_AQUA_HIDEOUT_B1F (24 | (24 << 8))
-#define MAP_AQUA_HIDEOUT_B2F (25 | (24 << 8))
-#define MAP_UNDERWATER_SEAFLOOR_CAVERN (26 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ENTRANCE (27 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM1 (28 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM2 (29 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM3 (30 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM4 (31 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM5 (32 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM6 (33 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM7 (34 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM8 (35 | (24 << 8))
-#define MAP_SEAFLOOR_CAVERN_ROOM9 (36 | (24 << 8))
-#define MAP_CAVE_OF_ORIGIN_ENTRANCE (37 | (24 << 8))
-#define MAP_CAVE_OF_ORIGIN_1F (38 | (24 << 8))
-#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B1F (39 | (24 << 8)) //
-#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B2F (40 | (24 << 8)) // Ruby/Sapphire leftovers
-#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B3F (41 | (24 << 8)) //
-#define MAP_CAVE_OF_ORIGIN_B1F (42 | (24 << 8))
-#define MAP_VICTORY_ROAD_1F (43 | (24 << 8))
-#define MAP_VICTORY_ROAD_B1F (44 | (24 << 8))
-#define MAP_VICTORY_ROAD_B2F (45 | (24 << 8))
-#define MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM (46 | (24 << 8))
-#define MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM (47 | (24 << 8))
-#define MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM (48 | (24 << 8))
-#define MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM (49 | (24 << 8))
-#define MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM (50 | (24 << 8))
-#define MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM (51 | (24 << 8))
-#define MAP_NEW_MAUVILLE_ENTRANCE (52 | (24 << 8))
-#define MAP_NEW_MAUVILLE_INSIDE (53 | (24 << 8))
-#define MAP_ABANDONED_SHIP_DECK (54 | (24 << 8))
-#define MAP_ABANDONED_SHIP_CORRIDORS_1F (55 | (24 << 8))
-#define MAP_ABANDONED_SHIP_ROOMS_1F (56 | (24 << 8))
-#define MAP_ABANDONED_SHIP_CORRIDORS_B1F (57 | (24 << 8))
-#define MAP_ABANDONED_SHIP_ROOMS_B1F (58 | (24 << 8))
-#define MAP_ABANDONED_SHIP_ROOMS2_B1F (59 | (24 << 8))
-#define MAP_ABANDONED_SHIP_UNDERWATER1 (60 | (24 << 8))
-#define MAP_ABANDONED_SHIP_ROOM_B1F (61 | (24 << 8))
-#define MAP_ABANDONED_SHIP_ROOMS2_1F (62 | (24 << 8))
-#define MAP_ABANDONED_SHIP_CAPTAINS_OFFICE (63 | (24 << 8))
-#define MAP_ABANDONED_SHIP_UNDERWATER2 (64 | (24 << 8))
-#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS (65 | (24 << 8))
-#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS (66 | (24 << 8))
-#define MAP_ISLAND_CAVE (67 | (24 << 8))
-#define MAP_ANCIENT_TOMB (68 | (24 << 8))
-#define MAP_UNDERWATER_ROUTE134 (69 | (24 << 8))
-#define MAP_UNDERWATER_SEALED_CHAMBER (70 | (24 << 8))
-#define MAP_SEALED_CHAMBER_OUTER_ROOM (71 | (24 << 8))
-#define MAP_SEALED_CHAMBER_INNER_ROOM (72 | (24 << 8))
-#define MAP_SCORCHED_SLAB (73 | (24 << 8))
-#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_1F (74 | (24 << 8)) //
-#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_B1F (75 | (24 << 8)) // Ruby/Sapphire leftovers
-#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_B2F (76 | (24 << 8)) //
-#define MAP_SKY_PILLAR_ENTRANCE (77 | (24 << 8))
-#define MAP_SKY_PILLAR_OUTSIDE (78 | (24 << 8))
-#define MAP_SKY_PILLAR_1F (79 | (24 << 8))
-#define MAP_SKY_PILLAR_2F (80 | (24 << 8))
-#define MAP_SKY_PILLAR_3F (81 | (24 << 8))
-#define MAP_SKY_PILLAR_4F (82 | (24 << 8))
-#define MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM (83 | (24 << 8))
-#define MAP_SKY_PILLAR_5F (84 | (24 << 8))
-#define MAP_SKY_PILLAR_TOP (85 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_1F (86 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_2F_1R (87 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_2F_2R (88 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_3F_1R (89 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_3F_2R (90 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_4F (91 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_3F_3R (92 | (24 << 8))
-#define MAP_MAGMA_HIDEOUT_2F_3R (93 | (24 << 8))
-#define MAP_MIRAGE_TOWER_1F (94 | (24 << 8))
-#define MAP_MIRAGE_TOWER_2F (95 | (24 << 8))
-#define MAP_MIRAGE_TOWER_3F (96 | (24 << 8))
-#define MAP_MIRAGE_TOWER_4F (97 | (24 << 8))
-#define MAP_DESERT_UNDERPASS (98 | (24 << 8))
-#define MAP_ARTISAN_CAVE_B1F (99 | (24 << 8))
-#define MAP_ARTISAN_CAVE_1F (100 | (24 << 8))
-#define MAP_UNDERWATER_MARINE_CAVE (101 | (24 << 8))
-#define MAP_MARINE_CAVE_ENTRANCE (102 | (24 << 8))
-#define MAP_MARINE_CAVE_END (103 | (24 << 8))
-#define MAP_TERRA_CAVE_ENTRANCE (104 | (24 << 8))
-#define MAP_TERRA_CAVE_END (105 | (24 << 8))
-#define MAP_ALTERING_CAVE (106 | (24 << 8))
-#define MAP_METEOR_FALLS_STEVENS_CAVE (107 | (24 << 8))
-
-// Map Group 25
-#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8))
-#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8))
-#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8))
-#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8))
-#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8))
-#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8))
-#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8))
-#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8))
-#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8))
-#define MAP_TRADE_CENTER (25 | (25 << 8))
-#define MAP_RECORD_CORNER (26 | (25 << 8))
-#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_29 (29 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_30 (30 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_31 (31 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_32 (32 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_33 (33 | (25 << 8))
-#define MAP_UNKNOWN_MAP_25_34 (34 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8))
-#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8))
-#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8))
-#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
-#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
-#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_01 (44 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_02 (45 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_03 (46 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_04 (47 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_05 (48 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_06 (49 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_07 (50 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_08 (51 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_09 (52 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_10 (53 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_11 (54 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_12 (55 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_13 (56 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_14 (57 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_15 (58 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE_16 (59 | (25 << 8))
-#define MAP_UNION_ROOM (60 | (25 << 8))
-
-// Map Group 26
-#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
-#define MAP_SAFARI_ZONE_NORTHEAST (1 | (26 << 8))
-#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8))
-#define MAP_SAFARI_ZONE_SOUTHEAST (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_EM_1 (12 | (26 << 8))
-#define MAP_SAFARI_ZONE_EM_2 (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_CORRIDOR_2 (16 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2 (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_ROOM_1 (37 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_2 (38 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_3 (39 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE_1 (41 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER (42 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE_2 (43 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE_3 (44 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE_4 (45 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE_5 (47 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE_6 (48 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE_7 (49 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE_8 (51 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE_9 (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_UP_1 (71 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP_2 (72 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP_3 (73 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP_4 (74 | (26 << 8))
-#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_01 (76 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_02 (77 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_03 (78 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_04 (79 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_05 (80 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_06 (81 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_07 (82 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_08 (83 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_09 (84 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_10 (85 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN_11 (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))
-#define MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP (1 | (27 << 8))
-
-// Map Group 28
-#define MAP_ROUTE109_SEASHORE_HOUSE (0 | (28 << 8))
-
-// Map Group 29
-#define MAP_ROUTE110_TRICK_HOUSE_ENTRANCE (0 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_END (1 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_CORRIDOR (2 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE1 (3 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE2 (4 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE3 (5 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE4 (6 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE5 (7 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE6 (8 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE7 (9 | (29 << 8))
-#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE8 (10 | (29 << 8))
-#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (11 | (29 << 8))
-#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (12 | (29 << 8))
-
-// Map Group 30
-#define MAP_ROUTE113_GLASS_WORKSHOP (0 | (30 << 8))
-
-// Map Group 31
-#define MAP_ROUTE123_BERRY_MASTERS_HOUSE (0 | (31 << 8))
-
-// Map Group 32
-#define MAP_ROUTE119_WEATHER_INSTITUTE_1F (0 | (32 << 8))
-#define MAP_ROUTE119_WEATHER_INSTITUTE_2F (1 | (32 << 8))
-#define MAP_ROUTE119_HOUSE (2 | (32 << 8))
-
-// Map Group 33
-#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8))
-
+#include "constants/map_groups.h"
#define MAP_NONE (0x7F | (0x7F << 8))
#define MAP_UNDEFINED (0xFF | (0xFF << 8))
-
#define MAP_GROUP(map) (MAP_##map >> 8)
#define MAP_NUM(map) (MAP_##map & 0xFF)
+#define MAP(map) MAP_GROUP(map), MAP_NUM(map)
+
+// temporary map constants
+#define BATTLE_SCENE_0 0
+#define BATTLE_SCENE_1 1
+#define BATTLE_SCENE_2 2
+#define BATTLE_SCENE_3 3
+#define BATTLE_SCENE_4 4
+#define BATTLE_SCENE_5 5
+#define BATTLE_SCENE_6 6
+#define BATTLE_SCENE_7 7
+#define BATTLE_SCENE_8 8
+#define BATTLE_SCENE_9 9
+#define BATTLE_SCENE_10 10
+#define BATTLE_SCENE_11 11
+#define BATTLE_SCENE_12 12
+#define BATTLE_SCENE_13 13
+#define BATTLE_SCENE_14 14
+#define BATTLE_SCENE_15 15
+
+#define MAP_TYPE_0 0
+#define MAP_TYPE_1 1
+#define MAP_TYPE_2 2
+#define MAP_TYPE_3 3
+#define MAP_TYPE_4 4
+#define MAP_TYPE_5 5
+#define MAP_TYPE_6 6
+#define MAP_TYPE_7 7
+#define MAP_TYPE_8 8
+#define MAP_TYPE_9 9
+
#endif // GUARD_CONSTANTS_MAPS_H
diff --git a/include/constants/region_map.h b/include/constants/region_map.h
index 87203f538..527acf2c9 100644
--- a/include/constants/region_map.h
+++ b/include/constants/region_map.h
@@ -1,115 +1,203 @@
#ifndef GUARD_CONSTANTS_REGION_MAP_H
#define GUARD_CONSTANTS_REGION_MAP_H
-#define MAPSEC_PALLET_TOWN 0x0
-#define MAPSEC_VIRIDIAN_CITY 0x1
-#define MAPSEC_PEWTER_CITY 0x2
-#define MAPSEC_CERULEAN_CITY 0x3
-#define MAPSEC_LAVENDER_TOWN 0x4
-#define MAPSEC_VERMILION_CITY 0x5
-#define MAPSEC_CELADON_CITY 0x6
-#define MAPSEC_FUCHSIA_CITY 0x7
-#define MAPSEC_CINNABAR_ISLAND 0x8
-#define MAPSEC_INDIGO_PLATEAU 0x9
-#define MAPSEC_SAFFRON_CITY 0xA
-#define MAPSEC_ROUTE_4 0xB
-#define MAPSEC_ROUTE_10 0xC
-#define MAPSEC_ROUTE_1 0xD
-#define MAPSEC_ROUTE_2 0xE
-#define MAPSEC_ROUTE_3 0xF
-#define MAPSEC_ROUTE_4_2 0x10
-#define MAPSEC_ROUTE_5 0x11
-#define MAPSEC_ROUTE_6 0x12
-#define MAPSEC_ROUTE_7 0x13
-#define MAPSEC_ROUTE_8 0x14
-#define MAPSEC_ROUTE_9 0x15
-#define MAPSEC_ROUTE_10_2 0x16
-#define MAPSEC_ROUTE_11 0x17
-#define MAPSEC_ROUTE_12 0x18
-#define MAPSEC_ROUTE_13 0x19
-#define MAPSEC_ROUTE_14 0x1A
-#define MAPSEC_ROUTE_15 0x1B
-#define MAPSEC_ROUTE_16 0x1C
-#define MAPSEC_ROUTE_17 0x1D
-#define MAPSEC_ROUTE_18 0x1E
-#define MAPSEC_ROUTE_19 0x1F
-#define MAPSEC_ROUTE_20 0x20
-#define MAPSEC_ROUTE_21 0x21
-#define MAPSEC_ROUTE_22 0x22
-#define MAPSEC_ROUTE_23 0x23
-#define MAPSEC_ROUTE_24 0x24
-#define MAPSEC_ROUTE_25 0x25
-#define MAPSEC_VIRIDIAN_FOREST 0x26
-#define MAPSEC_MT_MOON 0x27
-#define MAPSEC_S_S_ANNE 0x28
-#define MAPSEC_UNDERGROUND_PATH 0x29
-#define MAPSEC_UNDERGROUND_PATH_2 0x2A
-#define MAPSEC_DIGLETTS_CAVE 0x2B
-#define MAPSEC_KANTO_VICTORY_ROAD 0x2C
-#define MAPSEC_ROCKET_HIDEOUT 0x2D
-#define MAPSEC_SILPH_CO 0x2E
-#define MAPSEC_POKEMON_MANSION 0x2F
-#define MAPSEC_KANTO_SAFARI_ZONE 0x30
-#define MAPSEC_POKEMON_LEAGUE 0x31
-#define MAPSEC_ROCK_TUNNEL 0x32
-#define MAPSEC_SEAFOAM_ISLANDS 0x33
-#define MAPSEC_POKEMON_TOWER 0x34
-#define MAPSEC_CERULEAN_CAVE 0x35
-#define MAPSEC_POWER_PLANT 0x36
-#define MAPSEC_ONE_ISLAND 0x37
-#define MAPSEC_TWO_ISLAND 0x38
-#define MAPSEC_THREE_ISLAND 0x39
-#define MAPSEC_FOUR_ISLAND 0x3A
-#define MAPSEC_FIVE_ISLAND 0x3B
-#define MAPSEC_SEVEN_ISLAND 0x3C
-#define MAPSEC_SIX_ISLAND 0x3D
-#define MAPSEC_KINDLE_ROAD 0x3E
-#define MAPSEC_TREASURE_BEACH 0x3F
-#define MAPSEC_CAPE_BRINK 0x40
-#define MAPSEC_BOND_BRIDGE 0x41
-#define MAPSEC_THREE_ISLE_PORT 0x42
-#define MAPSEC_SEVII_ISLE_6 0x43
-#define MAPSEC_SEVII_ISLE_7 0x44
-#define MAPSEC_SEVII_ISLE_8 0x45
-#define MAPSEC_SEVII_ISLE_9 0x46
-#define MAPSEC_RESORT_GORGEOUS 0x47
-#define MAPSEC_WATER_LABYRINTH 0x48
-#define MAPSEC_FIVE_ISLE_MEADOW 0x49
-#define MAPSEC_MEMORIAL_PILLAR 0x4A
-#define MAPSEC_OUTCAST_ISLAND 0x4B
-#define MAPSEC_GREEN_PATH 0x4C
-#define MAPSEC_WATER_PATH 0x4D
-#define MAPSEC_RUIN_VALLEY 0x4E
-#define MAPSEC_TRAINER_TOWER 0x4F
-#define MAPSEC_CANYON_ENTRANCE 0x50
-#define MAPSEC_SEVAULT_CANYON 0x51
-#define MAPSEC_TANOBY_RUINS 0x52
-#define MAPSEC_SEVII_ISLE_22 0x53
-#define MAPSEC_SEVII_ISLE_23 0x54
-#define MAPSEC_SEVII_ISLE_24 0x55
-#define MAPSEC_NAVEL_ROCK 0x56
-#define MAPSEC_MT_EMBER 0x57
-#define MAPSEC_BERRY_FOREST 0x58
-#define MAPSEC_ICEFALL_CAVE 0x59
-#define MAPSEC_ROCKET_WAREHOUSE 0x5A
-#define MAPSEC_TRAINER_TOWER_2 0x5B
-#define MAPSEC_DOTTED_HOLE 0x5C
-#define MAPSEC_LOST_CAVE 0x5D
-#define MAPSEC_PATTERN_BUSH 0x5E
-#define MAPSEC_ALTERING_CAVE 0x5F
-#define MAPSEC_TANOBY_CHAMBERS 0x60
-#define MAPSEC_THREE_ISLE_PATH 0x61
-#define MAPSEC_TANOBY_KEY 0x62
-#define MAPSEC_BIRTH_ISLAND 0x63
-#define MAPSEC_MONEAN_CHAMBER 0x64
-#define MAPSEC_LIPTOO_CHAMBER 0x65
-#define MAPSEC_WEEPTH_CHAMBER 0x66
-#define MAPSEC_DILFORD_CHAMBER 0x67
-#define MAPSEC_SCUFIB_CHAMBER 0x68
-#define MAPSEC_RIXY_CHAMBER 0x69
-#define MAPSEC_VIAPOIS_CHAMBER 0x6A
-#define MAPSEC_EMBER_SPA 0x6B
-#define MAPSEC_CELADON_DEPT 0x6C
-#define MAPSEC_NONE 0x6D
+#define MAPSEC_LITTLEROOT_TOWN 0x00
+#define MAPSEC_OLDALE_TOWN 0x01
+#define MAPSEC_DEWFORD_TOWN 0x02
+#define MAPSEC_LAVARIDGE_TOWN 0x03
+#define MAPSEC_FALLARBOR_TOWN 0x04
+#define MAPSEC_VERDANTURF_TOWN 0x05
+#define MAPSEC_PACIFIDLOG_TOWN 0x06
+#define MAPSEC_PETALBURG_CITY 0x07
+#define MAPSEC_SLATEPORT_CITY 0x08
+#define MAPSEC_MAUVILLE_CITY 0x09
+#define MAPSEC_RUSTBORO_CITY 0x0A
+#define MAPSEC_FORTREE_CITY 0x0B
+#define MAPSEC_LILYCOVE_CITY 0x0C
+#define MAPSEC_MOSSDEEP_CITY 0x0D
+#define MAPSEC_SOOTOPOLIS_CITY 0x0E
+#define MAPSEC_EVER_GRANDE_CITY 0x0F
+#define MAPSEC_ROUTE_101 0x10
+#define MAPSEC_ROUTE_102 0x11
+#define MAPSEC_ROUTE_103 0x12
+#define MAPSEC_ROUTE_104 0x13
+#define MAPSEC_ROUTE_105 0x14
+#define MAPSEC_ROUTE_106 0x15
+#define MAPSEC_ROUTE_107 0x16
+#define MAPSEC_ROUTE_108 0x17
+#define MAPSEC_ROUTE_109 0x18
+#define MAPSEC_ROUTE_110 0x19
+#define MAPSEC_ROUTE_111 0x1A
+#define MAPSEC_ROUTE_112 0x1B
+#define MAPSEC_ROUTE_113 0x1C
+#define MAPSEC_ROUTE_114 0x1D
+#define MAPSEC_ROUTE_115 0x1E
+#define MAPSEC_ROUTE_116 0x1F
+#define MAPSEC_ROUTE_117 0x20
+#define MAPSEC_ROUTE_118 0x21
+#define MAPSEC_ROUTE_119 0x22
+#define MAPSEC_ROUTE_120 0x23
+#define MAPSEC_ROUTE_121 0x24
+#define MAPSEC_ROUTE_122 0x25
+#define MAPSEC_ROUTE_123 0x26
+#define MAPSEC_ROUTE_124 0x27
+#define MAPSEC_ROUTE_125 0x28
+#define MAPSEC_ROUTE_126 0x29
+#define MAPSEC_ROUTE_127 0x2A
+#define MAPSEC_ROUTE_128 0x2B
+#define MAPSEC_ROUTE_129 0x2C
+#define MAPSEC_ROUTE_130 0x2D
+#define MAPSEC_ROUTE_131 0x2E
+#define MAPSEC_ROUTE_132 0x2F
+#define MAPSEC_ROUTE_133 0x30
+#define MAPSEC_ROUTE_134 0x31
+#define MAPSEC_UNDERWATER_124 0x32
+#define MAPSEC_UNDERWATER_125 0x33
+#define MAPSEC_UNDERWATER_126 0x34
+#define MAPSEC_UNDERWATER_127 0x35
+#define MAPSEC_UNDERWATER_SOOTOPOLIS 0x36
+#define MAPSEC_GRANITE_CAVE 0x37
+#define MAPSEC_MT_CHIMNEY 0x38
+#define MAPSEC_SAFARI_ZONE 0x39
+#define MAPSEC_BATTLE_FRONTIER 0x3A
+#define MAPSEC_PETALBURG_WOODS 0x3B
+#define MAPSEC_RUSTURF_TUNNEL 0x3C
+#define MAPSEC_ABANDONED_SHIP 0x3D
+#define MAPSEC_NEW_MAUVILLE 0x3E
+#define MAPSEC_METEOR_FALLS 0x3F
+#define MAPSEC_METEOR_FALLS2 0x40
+#define MAPSEC_MT_PYRE 0x41
+#define MAPSEC_AQUA_HIDEOUT_OLD 0x42
+#define MAPSEC_SHOAL_CAVE 0x43
+#define MAPSEC_SEAFLOOR_CAVERN 0x44
+#define MAPSEC_UNDERWATER_128 0x45
+#define MAPSEC_VICTORY_ROAD 0x46
+#define MAPSEC_MIRAGE_ISLAND 0x47
+#define MAPSEC_CAVE_OF_ORIGIN 0x48
+#define MAPSEC_SOUTHERN_ISLAND 0x49
+#define MAPSEC_FIERY_PATH 0x4A
+#define MAPSEC_FIERY_PATH2 0x4B
+#define MAPSEC_JAGGED_PASS 0x4C
+#define MAPSEC_JAGGED_PASS2 0x4D
+#define MAPSEC_SEALED_CHAMBER 0x4E
+#define MAPSEC_UNDERWATER_SEALED_CHAMBER 0x4F
+#define MAPSEC_SCORCHED_SLAB 0x50
+#define MAPSEC_ISLAND_CAVE 0x51
+#define MAPSEC_DESERT_RUINS 0x52
+#define MAPSEC_ANCIENT_TOMB 0x53
+#define MAPSEC_INSIDE_OF_TRUCK 0x54
+#define MAPSEC_SKY_PILLAR 0x55
+#define MAPSEC_SECRET_BASE 0x56
+#define MAPSEC_DYNAMIC 0x57
+#define MAPSEC_PALLET_TOWN 0x58
+#define MAPSEC_VIRIDIAN_CITY 0x59
+#define MAPSEC_PEWTER_CITY 0x5A
+#define MAPSEC_CERULEAN_CITY 0x5B
+#define MAPSEC_LAVENDER_TOWN 0x5C
+#define MAPSEC_VERMILION_CITY 0x5D
+#define MAPSEC_CELADON_CITY 0x5E
+#define MAPSEC_FUCHSIA_CITY 0x5F
+#define MAPSEC_CINNABAR_ISLAND 0x60
+#define MAPSEC_INDIGO_PLATEAU 0x61
+#define MAPSEC_SAFFRON_CITY 0x62
+#define MAPSEC_ROUTE_4_FLYDUP 0x63
+#define MAPSEC_ROUTE_10_FLYDUP 0x64
+#define MAPSEC_ROUTE_1 0x65
+#define MAPSEC_ROUTE_2 0x66
+#define MAPSEC_ROUTE_3 0x67
+#define MAPSEC_ROUTE_4 0x68
+#define MAPSEC_ROUTE_5 0x69
+#define MAPSEC_ROUTE_6 0x6A
+#define MAPSEC_ROUTE_7 0x6B
+#define MAPSEC_ROUTE_8 0x6C
+#define MAPSEC_ROUTE_9 0x6D
+#define MAPSEC_ROUTE_10 0x6E
+#define MAPSEC_ROUTE_11 0x6F
+#define MAPSEC_ROUTE_12 0x70
+#define MAPSEC_ROUTE_13 0x71
+#define MAPSEC_ROUTE_14 0x72
+#define MAPSEC_ROUTE_15 0x73
+#define MAPSEC_ROUTE_16 0x74
+#define MAPSEC_ROUTE_17 0x75
+#define MAPSEC_ROUTE_18 0x76
+#define MAPSEC_ROUTE_19 0x77
+#define MAPSEC_ROUTE_20 0x78
+#define MAPSEC_ROUTE_21 0x79
+#define MAPSEC_ROUTE_22 0x7A
+#define MAPSEC_ROUTE_23 0x7B
+#define MAPSEC_ROUTE_24 0x7C
+#define MAPSEC_ROUTE_25 0x7D
+#define MAPSEC_VIRIDIAN_FOREST 0x7E
+#define MAPSEC_MT_MOON 0x7F
+#define MAPSEC_S_S_ANNE 0x80
+#define MAPSEC_UNDERGROUND_PATH 0x81
+#define MAPSEC_UNDERGROUND_PATH_2 0x82
+#define MAPSEC_DIGLETTS_CAVE 0x83
+#define MAPSEC_KANTO_VICTORY_ROAD 0x84
+#define MAPSEC_ROCKET_HIDEOUT 0x85
+#define MAPSEC_SILPH_CO 0x86
+#define MAPSEC_POKEMON_MANSION 0x87
+#define MAPSEC_KANTO_SAFARI_ZONE 0x88
+#define MAPSEC_POKEMON_LEAGUE 0x89
+#define MAPSEC_ROCK_TUNNEL 0x8A
+#define MAPSEC_SEAFOAM_ISLANDS 0x8B
+#define MAPSEC_POKEMON_TOWER 0x8C
+#define MAPSEC_CERULEAN_CAVE 0x8D
+#define MAPSEC_POWER_PLANT 0x8E
+#define MAPSEC_ONE_ISLAND 0x8F
+#define MAPSEC_TWO_ISLAND 0x90
+#define MAPSEC_THREE_ISLAND 0x91
+#define MAPSEC_FOUR_ISLAND 0x92
+#define MAPSEC_FIVE_ISLAND 0x93
+#define MAPSEC_SEVEN_ISLAND 0x94
+#define MAPSEC_SIX_ISLAND 0x95
+#define MAPSEC_KINDLE_ROAD 0x96
+#define MAPSEC_TREASURE_BEACH 0x97
+#define MAPSEC_CAPE_BRINK 0x98
+#define MAPSEC_BOND_BRIDGE 0x99
+#define MAPSEC_THREE_ISLE_PORT 0x9A
+#define MAPSEC_SEVII_ISLE_6 0x9B
+#define MAPSEC_SEVII_ISLE_7 0x9C
+#define MAPSEC_SEVII_ISLE_8 0x9D
+#define MAPSEC_SEVII_ISLE_9 0x9E
+#define MAPSEC_RESORT_GORGEOUS 0x9F
+#define MAPSEC_WATER_LABYRINTH 0xA0
+#define MAPSEC_FIVE_ISLE_MEADOW 0xA1
+#define MAPSEC_MEMORIAL_PILLAR 0xA2
+#define MAPSEC_OUTCAST_ISLAND 0xA3
+#define MAPSEC_GREEN_PATH 0xA4
+#define MAPSEC_WATER_PATH 0xA5
+#define MAPSEC_RUIN_VALLEY 0xA6
+#define MAPSEC_TRAINER_TOWER 0xA7
+#define MAPSEC_CANYON_ENTRANCE 0xA8
+#define MAPSEC_SEVAULT_CANYON 0xA9
+#define MAPSEC_TANOBY_RUINS 0xAA
+#define MAPSEC_SEVII_ISLE_22 0xAB
+#define MAPSEC_SEVII_ISLE_23 0xAC
+#define MAPSEC_SEVII_ISLE_24 0xAD
+#define MAPSEC_NAVEL_ROCK 0xAE
+#define MAPSEC_MT_EMBER 0xAF
+#define MAPSEC_BERRY_FOREST 0xB0
+#define MAPSEC_ICEFALL_CAVE 0xB1
+#define MAPSEC_ROCKET_WAREHOUSE 0xB2
+#define MAPSEC_TRAINER_TOWER_2 0xB3
+#define MAPSEC_DOTTED_HOLE 0xB4
+#define MAPSEC_LOST_CAVE 0xB5
+#define MAPSEC_PATTERN_BUSH 0xB6
+#define MAPSEC_ALTERING_CAVE 0xB7
+#define MAPSEC_TANOBY_CHAMBERS 0xB8
+#define MAPSEC_THREE_ISLE_PATH 0xB9
+#define MAPSEC_TANOBY_KEY 0xBA
+#define MAPSEC_BIRTH_ISLAND 0xBB
+#define MAPSEC_MONEAN_CHAMBER 0xBC
+#define MAPSEC_LIPTOO_CHAMBER 0xBD
+#define MAPSEC_WEEPTH_CHAMBER 0xBE
+#define MAPSEC_DILFORD_CHAMBER 0xBF
+#define MAPSEC_SCUFIB_CHAMBER 0xC0
+#define MAPSEC_RIXY_CHAMBER 0xC1
+#define MAPSEC_VIAPOIS_CHAMBER 0xC2
+#define MAPSEC_EMBER_SPA 0xC3
+#define MAPSEC_SPECIAL_AREA 0xC4
+#define MAPSEC_NONE 0xC5
#endif //GUARD_CONSTANTS_REGION_MAP_H
diff --git a/include/constants/songs.h b/include/constants/songs.h
index e31a38fdc..193a57756 100644
--- a/include/constants/songs.h
+++ b/include/constants/songs.h
@@ -250,6 +250,103 @@
#define SE_W287B 245
#define SE_W114 246
#define SE_W063B 247
+#define SE_CASHIER 248
+#define SE_SHIP_HORN 249
+#define SE_HELP_OPEN 250
+#define SE_HELP_CLOSE 251
+#define SE_HELP_PAGE 252
+
+#define MUS_ME_ASA 256
+#define MUS_FANFA1 257
+#define MUS_FANFA4 258
+#define MUS_FANFA5 259
+#define MUS_ME_BACHI 260
+#define MUS_ME_WAZA 261
+#define MUS_ME_KINOMI 262
+#define MUS_ME_SHINKA 263
+#define BGM_FRLG_SAFARI_ZONE 264
+#define MUS_SHINKA BGM_FRLG_SAFARI_ZONE
+#define BGM_FRLG_CHANSEY_DANCE 267
+#define MUS_ME_B_BIG 268
+#define MUS_ME_B_SMALL 269
+#define MUS_ME_WASURE 270
+#define MUS_ME_ZANNEN 271
+#define BGM_FRLG_FOLLOW_ME 272
+#define BGM_FRLG_GAMECORNER 273
+#define BGM_FRLG_ROCKET_HIDEOUT 274
+#define BGM_FRLG_GYM 275
+#define BGM_FRLG_JIGGLYPUFF 276
+#define BGM_FRLG_OPENING 277
+#define BGM_FRLG_TITLE 278
+#define BGM_FRLG_CINNABAR_ISLAND 279
+#define BGM_FRLG_LAVENDER_TOWN 280
+#define BGM_FRLG_HEALING_TEST 281
+#define BGM_FRLG_BICYCLE 282
+#define BGM_FRLG_SUSPICIOUS_EYE 283
+#define BGM_FRLG_GIRL_EYE 284
+#define BGM_FRLG_BOY_EYE 285
+#define BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME 286
+#define BGM_FRLG_VIRIDIAN_FOREST 287
+#define BGM_FRLG_MT_MOON 288
+#define BGM_FRLG_POKEMON_MANSION 289
+#define BGM_FRLG_CREDITS 290
+#define BGM_FRLG_ROUTE_1 291
+#define BGM_FRLG_ROUTE_24 292
+#define BGM_FRLG_ROUTE_3 293
+#define BGM_FRLG_ROUTE_11 294
+#define BGM_FRLG_INDIGO_PLATEAU 295
+#define BGM_FRLG_BATTLE_LEADER 296
+#define BGM_FRLG_BATTLE_TRAINER 297
+#define BGM_FRLG_BATTLE_WILD_POKEMON 298
+#define BGM_FRLG_BATTLE_CHAMPION 299
+#define BGM_FRLG_PALLET_TOWN 300
+#define BGM_FRLG_OAK_LAB 301
+#define BGM_FRLG_PROF_OAK 302
+#define BGM_FRLG_POKEMON_CENTER 303
+#define BGM_FRLG_SS_ANNE 304
+#define BGM_FRLG_SURF 305
+#define BGM_FRLG_POKEMON_TOWER 306
+#define BGM_FRLG_SILPH 307
+#define BGM_FRLG_CERULEAN_CITY 308
+#define BGM_FRLG_CELADON_CITY 309
+#define BGM_FRLG_KACHI_TRAINER 310
+#define BGM_FRLG_KACHI_WILD_POKEMON 311
+#define BGM_FRLG_KACHI_LEADER 312
+#define BGM_FRLG_VERMILION_CITY 313
+#define BGM_FRLG_VIRIDIAN_CITY 314
+#define BGM_FRLG_RIVAL 315
+#define BGM_FRLG_RIVAL_POSTBATTLE 316
+#define BGM_FRLG_ME_POKEDEX_EVAL 317
+#define BGM_FRLG_ME_KEYITEM 318
+#define BGM_FRLG_FANFA_POKEMON_CAUGHT 319
+#define BGM_FRLG_FANFA_TRAINERCARD_PHOTO 320
+#define BGM_FRLG_GAMEFREAK_LOGO 321
+#define BGM_FRLG_CAUGHT_POKEMON 322
+#define BGM_FRLG_GAME_EXPLANATION_START 323
+#define BGM_FRLG_GAME_EXPLANATION_MIDDLE 324
+#define BGM_FRLG_GAME_EXPLANATION_END 325
+#define BGM_FRLG_POKEMON_JUMP 326
+#define BGM_FRLG_UNION_ROOM 327
+#define BGM_FRLG_POKEMON_NETWORK_CENTER 328
+#define BGM_FRLG_MYSTERY_GIFT 329
+#define BGM_FRLG_DODRIO_BERRY_PICK 330
+#define BGM_FRLG_MT_EMBER 331
+#define BGM_FRLG_TEACHY_TV_EPISODE 332
+#define BGM_FRLG_SEVII_ISLANDS 333
+#define BGM_FRLG_TANOBY_RUINS 334
+#define BGM_FRLG_ISLAND_ONE 335
+#define BGM_FRLG_ISLAND_FOUR 336
+#define BGM_FRLG_ISLAND_SIX 337
+#define BGM_FRLG_FLUTE 338
+#define BGM_FRLG_BATTLE_DEOXYS 339
+#define BGM_FRLG_BATTLE_MEWTWO 340
+#define BGM_FRLG_BATTLE_LEGENDARY 341
+#define BGM_FRLG_LEADER_EYE 342
+#define BGM_FRLG_DEOXYS_EYE 343
+#define BGM_FRLG_TRAINER_TOWER 344
+#define BGM_FRLG_HALL_OF_FAME_PALLET_TOWN 345
+#define BGM_FRLG_TEACHY_TV 346
+
#define BGM_STOP 349
#define BGM_TETSUJI 350
#define BGM_FIELD13 351
@@ -385,82 +482,6 @@
#define BGM_BATTLE35 481
#define BGM_BATTLE38 482
#define BGM_BATTLE30 483
-#define BGM_FRLG_FOLLOW_ME 484
-#define BGM_FRLG_GAMECORNER 485
-#define BGM_FRLG_ROCKET_HIDEOUT 486
-#define BGM_FRLG_GYM 487
-#define BGM_FRLG_JIGGLYPUFF 488
-#define BGM_FRLG_OPENING 489
-#define BGM_FRLG_TITLE 490
-#define BGM_FRLG_CINNABAR_ISLAND 491
-#define BGM_FRLG_LAVENDER_TOWN 492
-#define BGM_FRLG_HEALING_TEST 493
-#define BGM_FRLG_BICYCLE 494
-#define BGM_FRLG_SUSPICIOUS_EYE 495
-#define BGM_FRLG_GIRL_EYE 496
-#define BGM_FRLG_BOY_EYE 497
-#define BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME 498
-#define BGM_FRLG_VIRIDIAN_FOREST 499
-#define BGM_FRLG_MT_MOON 500
-#define BGM_FRLG_POKEMON_MANSION 501
-#define BGM_FRLG_CREDITS 502
-#define BGM_FRLG_ROUTE_1 503
-#define BGM_FRLG_ROUTE_24 504
-#define BGM_FRLG_ROUTE_3 505
-#define BGM_FRLG_ROUTE_11 506
-#define BGM_FRLG_INDIGO_PLATEAU 507
-#define BGM_FRLG_BATTLE_LEADER 508
-#define BGM_FRLG_BATTLE_TRAINER 509
-#define BGM_FRLG_BATTLE_WILD_POKEMON 510
-#define BGM_FRLG_BATTLE_CHAMPION 511
-#define BGM_FRLG_PALLET_TOWN 512
-#define BGM_FRLG_OAK_LAB 513
-#define BGM_FRLG_PROF_OAK 514
-#define BGM_FRLG_POKEMON_CENTER 515
-#define BGM_FRLG_SS_ANNE 516
-#define BGM_FRLG_SURF 517
-#define BGM_FRLG_POKEMON_TOWER 518
-#define BGM_FRLG_SILPH 519
-#define BGM_FRLG_CERULEAN_CITY 520
-#define BGM_FRLG_CELADON_CITY 521
-#define BGM_FRLG_KACHI_TRAINER 522
-#define BGM_FRLG_KACHI_WILD_POKEMON 523
-#define BGM_FRLG_KACHI_LEADER 524
-#define BGM_FRLG_VERMILION_CITY 525
-#define BGM_FRLG_VIRIDIAN_CITY 526
-#define BGM_FRLG_RIVAL 527
-#define BGM_FRLG_RIVAL_POSTBATTLE 528
-#define BGM_FRLG_ME_POKEDEX_EVAL 529
-#define BGM_FRLG_ME_KEYITEM 530
-#define BGM_FRLG_FANFA_POKEMON_CAUGHT 531
-#define BGM_FRLG_FANFA_TRAINERCARD_PHOTO 532
-#define BGM_FRLG_GAMEFREAK_LOGO 533
-#define BGM_FRLG_CAUGHT_POKEMON 534
-#define BGM_FRLG_GAME_EXPLANATION_START 535
-#define BGM_FRLG_GAME_EXPLANATION_MIDDLE 536
-#define BGM_FRLG_GAME_EXPLANATION_END 537
-#define BGM_FRLG_POKEMON_JUMP 538
-#define BGM_FRLG_UNION_ROOM 539
-#define BGM_FRLG_POKEMON_NETWORK_CENTER 540
-#define BGM_FRLG_MYSTERY_GIFT 541
-#define BGM_FRLG_DODRIO_BERRY_PICK 542
-#define BGM_FRLG_MT_EMBER 543
-#define BGM_FRLG_TEACHY_TV_EPISODE 544
-#define BGM_FRLG_SEVII_ISLANDS 545
-#define BGM_FRLG_TANOBY_RUINS 546
-#define BGM_FRLG_ISLAND_ONE 547
-#define BGM_FRLG_ISLAND_FOUR 548
-#define BGM_FRLG_ISLAND_SIX 549
-#define BGM_FRLG_FLUTE 550
-#define BGM_FRLG_BATTLE_DEOXYS 551
-#define BGM_FRLG_BATTLE_MEWTWO 552
-#define BGM_FRLG_BATTLE_LEGENDARY 553
-#define BGM_FRLG_LEADER_EYE 554
-#define BGM_FRLG_DEOXYS_EYE 555
-#define BGM_FRLG_TRAINER_TOWER 556
-#define BGM_FRLG_HALL_OF_FAME_PALLET_TOWN 557
-#define BGM_FRLG_TEACHY_TV 558
-
#define BGM_ROUTE_118 0x7FFF // What is this for?
#endif // GUARD_CONSTANTS_SONGS_H
diff --git a/include/constants/spawn_points.h b/include/constants/spawn_points.h
new file mode 100644
index 000000000..eea133bd1
--- /dev/null
+++ b/include/constants/spawn_points.h
@@ -0,0 +1,26 @@
+#ifndef GUARD_CONSTANTS_SPAWN_POINTS_H
+#define GUARD_CONSTANTS_SPAWN_POINTS_H
+
+#define SPAWN_PALLET_TOWN 1
+#define SPAWN_VIRIDIAN_CITY 2
+#define SPAWN_PEWTER_CITY 3
+#define SPAWN_CERULEAN_CITY 4
+#define SPAWN_LAVENDER_TOWN 5
+#define SPAWN_VERMILION_CITY 6
+#define SPAWN_CELADON_CITY 7
+#define SPAWN_FUCHSIA_CITY 8
+#define SPAWN_CINNABAR_ISLAND 9
+#define SPAWN_INDIGO_PLATEAU 10
+#define SPAWN_SAFFRON_CITY 11
+#define SPAWN_ROUTE4 12
+#define SPAWN_ROUTE10 13
+#define SPAWN_ONE_ISLAND 14
+#define SPAWN_TWO_ISLAND 15
+#define SPAWN_THREE_ISLAND 16
+#define SPAWN_FOUR_ISLAND 17
+#define SPAWN_FIVE_ISLAND 18
+#define SPAWN_SEVEN_ISLAND 19
+#define SPAWN_SIX_ISLAND 20
+#define NUM_SPAWN_POINTS 20
+
+#endif //GUARD_CONSTANTS_SPAWN_POINTS_H
diff --git a/include/constants/species.h b/include/constants/species.h
index f698ada14..9cb239799 100644
--- a/include/constants/species.h
+++ b/include/constants/species.h
@@ -445,6 +445,9 @@
#define SPECIES_UNOWN_EMARK 438
#define SPECIES_UNOWN_QMARK 439
+#define SPECIES_OLD_UNOWN_EMARK 412
+#define SPECIES_OLD_UNOWN_QMARK 413
+
#define NUM_SPECIES SPECIES_EGG
#endif // GUARD_CONSTANTS_SPECIES_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
index 886bae93c..989b27387 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -35,8 +35,8 @@
#define VAR_0x401D 0x401D
#define VAR_0x401E 0x401E
#define VAR_0x401F 0x401F
-#define VAR_RECYCLE_GOODS 0x4020
-#define VAR_REPEL_STEP_COUNT 0x4021
+#define VAR_REPEL_STEP_COUNT 0x4020
+#define VAR_0x4021 0x4021
#define VAR_ICE_STEP_COUNT 0x4022
#define VAR_0x4023 0x4023
#define VAR_MIRAGE_RND_H 0x4024
@@ -54,7 +54,7 @@
#define VAR_0x402F 0x402F
#define VAR_0x4030 0x4030
-#define VAR_0x4031 0x4031
+#define VAR_STARTER_MON 0x4031
#define VAR_0x4032 0x4032
#define VAR_ENIGMA_BERRY_AVAILABLE 0x4033
@@ -86,26 +86,26 @@
#define VAR_0x404D 0x404D
#define VAR_0x404E 0x404E
#define VAR_LOTAD_SIZE_RECORD 0x404F
-#define VAR_0x4050 0x4050
+#define VAR_MAP_SCENE_PALLET_TOWN 0x4050
#define VAR_0x4051 0x4051
#define VAR_0x4052 0x4052
-#define VAR_0x4053 0x4053
+#define VAR_VERMILION_CITY_TICKET_CHECK_TRIGGER 0x4053
#define VAR_0x4054 0x4054
-#define VAR_0x4055 0x4055
-#define VAR_0x4056 0x4056
-#define VAR_0x4057 0x4057
+#define VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB 0x4055
+#define VAR_MAP_SCENE_PALLET_TOWN_PLAYERS_HOUSE_2F 0x4056
+#define VAR_MAP_SCENE_VIRIDIAN_CITY_MART 0x4057
#define VAR_0x4058 0x4058
#define VAR_0x4059 0x4059
#define VAR_0x405A 0x405A
#define VAR_0x405B 0x405B
#define VAR_0x405C 0x405C
#define VAR_0x405D 0x405D
-#define VAR_0x405E 0x405E
+#define VAR_MAP_SCENE_ROUTE16 0x405E
#define VAR_0x405F 0x405F
#define VAR_0x4060 0x4060
#define VAR_0x4061 0x4061
#define VAR_0x4062 0x4062
-#define VAR_0x4063 0x4063
+#define VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F 0x4063
#define VAR_0x4064 0x4064
#define VAR_0x4065 0x4065
#define VAR_0x4066 0x4066
@@ -116,35 +116,35 @@
#define VAR_0x406B 0x406B
#define VAR_0x406C 0x406C
#define VAR_0x406D 0x406D
-#define VAR_0x406E 0x406E
+#define VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE 0x406E
#define VAR_0x406F 0x406F
#define VAR_0x4070 0x4070
#define VAR_0x4071 0x4071
#define VAR_0x4072 0x4072
-#define VAR_0x4073 0x4073
-#define VAR_0x4074 0x4074
-#define VAR_0x4075 0x4075
-#define VAR_0x4076 0x4076
+#define VAR_MAP_SCENE_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB 0x4073
+#define VAR_MAP_SCENE_SEVEN_ISLAND_HOUSE_ROOM1 0x4074
+#define VAR_MAP_SCENE_ONE_ISLAND_HARBOR 0x4075
+#define VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F 0x4076
#define VAR_0x4077 0x4077
#define VAR_0x4078 0x4078
-#define VAR_0x4079 0x4079
+#define VAR_MAP_SCENE_TWO_ISLAND_JOYFUL_GAME_CORNER 0x4079
#define VAR_0x407A 0x407A
#define VAR_0x407B 0x407B
#define VAR_0x407C 0x407C
#define VAR_0x407D 0x407D
-#define VAR_0x407E 0x407E
+#define VAR_MAP_SCENE_VERMILION_CITY 0x407E
#define VAR_0x407F 0x407F
#define VAR_0x4080 0x4080
#define VAR_0x4081 0x4081
#define VAR_0x4082 0x4082
-#define VAR_0x4083 0x4083
-#define VAR_0x4084 0x4084
-#define VAR_0x4085 0x4085
-#define VAR_0x4086 0x4086
+#define VAR_MAP_SCENE_FIVE_ISLAND_LOST_CAVE_ROOM10 0x4083
+#define VAR_MAP_SCENE_FIVE_ISLAND_RESORT_GORGEOUS 0x4084
+#define VAR_MAP_SCENE_INDIGO_PLATEAU_EXTERIOR 0x4085
+#define VAR_MAP_SCENE_FOUR_ISLAND 0x4086
#define VAR_0x4087 0x4087
#define VAR_0x4088 0x4088
-#define VAR_0x4089 0x4089
-#define VAR_0x408A 0x408A
+#define VAR_MAP_SCENE_SIX_ISLAND_POKEMON_CENTER_1F 0x4089
+#define VAR_MAP_SCENE_CINNABAR_ISLAND 0x408A
#define VAR_0x408B 0x408B
#define VAR_0x408C 0x408C
#define VAR_0x408D 0x408D
diff --git a/include/constants/weather.h b/include/constants/weather.h
new file mode 100644
index 000000000..a45d2e523
--- /dev/null
+++ b/include/constants/weather.h
@@ -0,0 +1,20 @@
+#ifndef GUARD_CONSTANTS_WEATHER_H
+#define GUARD_CONSTANTS_WEATHER_H
+
+#define WEATHER_NONE 0
+#define WEATHER_SUNNY_CLOUDS 1 // unused
+#define WEATHER_SUNNY 2
+#define WEATHER_RAIN 3 // unused
+#define WEATHER_SNOW 4 // unused
+#define WEATHER_RAIN_THUNDERSTORM 5 // unused
+#define WEATHER_FOG_HORIZONTAL 6
+#define WEATHER_VOLCANIC_ASH 7 // unused
+#define WEATHER_SANDSTORM 8 // unused
+#define WEATHER_FOG_DIAGONAL 9 // unused
+#define WEATHER_UNDERWATER 10 // unused
+#define WEATHER_CLOUDY 11
+#define WEATHER_DROUGHT 12 // unused and broken in overworld
+#define WEATHER_DOWNPOUR 13 // unused
+#define WEATHER_UNDERWATER_BUBBLES 14 // unused
+
+#endif // GUARD_CONSTANTS_WEATHER_H