summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/map_groups.h515
-rw-r--r--include/constants/maps.h585
-rw-r--r--include/constants/region_map.h308
-rw-r--r--include/constants/songs.h164
-rw-r--r--include/constants/species.h3
-rw-r--r--include/constants/vars.h2
-rw-r--r--include/decompress.h2
-rw-r--r--include/event_scripts.h67
-rw-r--r--include/field_specials.h1
-rw-r--r--include/graphics.h11
-rw-r--r--include/help_system.h1
-rw-r--r--include/item.h6
-rw-r--r--include/item_menu.h1
-rw-r--r--include/list_menu.h4
-rw-r--r--include/math_util.h6
-rw-r--r--include/menu.h12
-rw-r--r--include/menu_helpers.h7
-rw-r--r--include/money.h7
-rw-r--r--include/new_menu_helpers.h14
-rw-r--r--include/oak_speech.h6
-rw-r--r--include/overworld.h1
-rw-r--r--include/party_menu.h6
-rw-r--r--include/pokeball.h3
-rw-r--r--include/pokemon.h3
-rw-r--r--include/pokemon_3.h3
-rw-r--r--include/pokemon_storage_system.h1
-rw-r--r--include/scanline_effect.h46
-rw-r--r--include/shop.h1
-rw-r--r--include/strings.h23
-rw-r--r--include/teachy_tv.h7
-rw-r--r--include/text.h2
-rw-r--r--include/text_window.h2
-rw-r--r--include/tm_case.h8
-rw-r--r--include/unknown_task.h24
-rw-r--r--include/wild_encounter.h1
-rw-r--r--include/window.h2
36 files changed, 1048 insertions, 807 deletions
diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h
new file mode 100644
index 000000000..dd2ebf155
--- /dev/null
+++ b/include/constants/map_groups.h
@@ -0,0 +1,515 @@
+#ifndef GUARD_CONSTANTS_MAP_GROUPS_H
+#define GUARD_CONSTANTS_MAP_GROUPS_H
+
+// Map Group 0
+#define MAP_UNKNOWNMAP_00_00 (0 | (0 << 8))
+#define MAP_UNKNOWNMAP_00_01 (1 | (0 << 8))
+#define MAP_UNKNOWNMAP_00_02 (2 | (0 << 8))
+#define MAP_UNKNOWNMAP_00_03 (3 | (0 << 8))
+#define MAP_UNKNOWNMAP_00_04 (4 | (0 << 8))
+
+// Map Group 1
+#define MAP_VIRIDIANFOREST (0 | (1 << 8))
+#define MAP_MTMOON_1F (1 | (1 << 8))
+#define MAP_MTMOON_B1F (2 | (1 << 8))
+#define MAP_MTMOON_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_CAPTAINSOFFICE (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_UNDERGROUNDPATH_NORTHENTRANCE (30 | (1 << 8))
+#define MAP_UNDERGROUNDPATH_NORTHSOUTHTUNNEL (31 | (1 << 8))
+#define MAP_UNDERGROUNDPATH_SOUTHENTRANCE (32 | (1 << 8))
+#define MAP_UNDERGROUNDPATH_WESTENTRANCE (33 | (1 << 8))
+#define MAP_UNDERGROUNDPATH_EASTWESTTUNNEL (34 | (1 << 8))
+#define MAP_UNDERGROUNDPATH_EASTENTRANCE (35 | (1 << 8))
+#define MAP_DIGLETTSCAVE_NORTHENTRANCE (36 | (1 << 8))
+#define MAP_DIGLETTSCAVE_B1F (37 | (1 << 8))
+#define MAP_DIGLETTSCAVE_SOUTHENTRANCE (38 | (1 << 8))
+#define MAP_VICTORYROAD_1F (39 | (1 << 8))
+#define MAP_VICTORYROAD_2F (40 | (1 << 8))
+#define MAP_VICTORYROAD_3F (41 | (1 << 8))
+#define MAP_ROCKETHIDEOUT_B1F (42 | (1 << 8))
+#define MAP_ROCKETHIDEOUT_B2F (43 | (1 << 8))
+#define MAP_ROCKETHIDEOUT_B3F (44 | (1 << 8))
+#define MAP_ROCKETHIDEOUT_B4F (45 | (1 << 8))
+#define MAP_ROCKETHIDEOUT_ELEVATOR (46 | (1 << 8))
+#define MAP_SILPHCO_1F (47 | (1 << 8))
+#define MAP_SILPHCO_2F (48 | (1 << 8))
+#define MAP_SILPHCO_3F (49 | (1 << 8))
+#define MAP_SILPHCO_4F (50 | (1 << 8))
+#define MAP_SILPHCO_5F (51 | (1 << 8))
+#define MAP_SILPHCO_6F (52 | (1 << 8))
+#define MAP_SILPHCO_7F (53 | (1 << 8))
+#define MAP_SILPHCO_8F (54 | (1 << 8))
+#define MAP_SILPHCO_9F (55 | (1 << 8))
+#define MAP_SILPHCO_10F (56 | (1 << 8))
+#define MAP_SILPHCO_11F (57 | (1 << 8))
+#define MAP_SILPHCO_ELEVATOR (58 | (1 << 8))
+#define MAP_POKEMONMANSION_1F (59 | (1 << 8))
+#define MAP_POKEMONMANSION_2F (60 | (1 << 8))
+#define MAP_POKEMONMANSION_3F (61 | (1 << 8))
+#define MAP_POKEMONMANSION_B1F (62 | (1 << 8))
+#define MAP_SAFARIZONE_CENTER (63 | (1 << 8))
+#define MAP_SAFARIZONE_EAST (64 | (1 << 8))
+#define MAP_SAFARIZONE_NORTH (65 | (1 << 8))
+#define MAP_SAFARIZONE_WEST (66 | (1 << 8))
+#define MAP_SAFARIZONE_BUILDING1 (67 | (1 << 8))
+#define MAP_SAFARIZONE_BUILDING2 (68 | (1 << 8))
+#define MAP_SAFARIZONE_BUILDING3 (69 | (1 << 8))
+#define MAP_SAFARIZONE_BUILDING4 (70 | (1 << 8))
+#define MAP_SAFARIZONE_SECRETHOUSE (71 | (1 << 8))
+#define MAP_CERULEANCAVE_1F (72 | (1 << 8))
+#define MAP_CERULEANCAVE_2F (73 | (1 << 8))
+#define MAP_CERULEANCAVE_B1F (74 | (1 << 8))
+#define MAP_POKEMONLEAGUE_LORELEISROOM (75 | (1 << 8))
+#define MAP_POKEMONLEAGUE_BRUNOSROOM (76 | (1 << 8))
+#define MAP_POKEMONLEAGUE_AGATHASROOM (77 | (1 << 8))
+#define MAP_POKEMONLEAGUE_LANCESROOM (78 | (1 << 8))
+#define MAP_POKEMONLEAGUE_CHAMPIONSROOM (79 | (1 << 8))
+#define MAP_POKEMONLEAGUE_HALLOFFAME (80 | (1 << 8))
+#define MAP_ROCKTUNNEL_1F (81 | (1 << 8))
+#define MAP_ROCKTUNNEL_B1F (82 | (1 << 8))
+#define MAP_SEAFOAMISLANDS_1F (83 | (1 << 8))
+#define MAP_SEAFOAMISLANDS_B1F (84 | (1 << 8))
+#define MAP_SEAFOAMISLANDS_B2F (85 | (1 << 8))
+#define MAP_SEAFOAMISLANDS_B3F (86 | (1 << 8))
+#define MAP_SEAFOAMISLANDS_B4F (87 | (1 << 8))
+#define MAP_POKEMONTOWER_1F (88 | (1 << 8))
+#define MAP_POKEMONTOWER_2F (89 | (1 << 8))
+#define MAP_POKEMONTOWER_3F (90 | (1 << 8))
+#define MAP_POKEMONTOWER_4F (91 | (1 << 8))
+#define MAP_POKEMONTOWER_5F (92 | (1 << 8))
+#define MAP_POKEMONTOWER_6F (93 | (1 << 8))
+#define MAP_POKEMONTOWER_7F (94 | (1 << 8))
+#define MAP_POWERPLANT (95 | (1 << 8))
+#define MAP_MTEMBER_RUBYPATH_B4F (96 | (1 << 8))
+#define MAP_MTEMBER_EXTERIOR (97 | (1 << 8))
+#define MAP_MTEMBER_SUMMITPATH_1F (98 | (1 << 8))
+#define MAP_MTEMBER_SUMMITPATH_2F (99 | (1 << 8))
+#define MAP_MTEMBER_SUMMITPATH_3F (100 | (1 << 8))
+#define MAP_MTEMBER_SUMMIT (101 | (1 << 8))
+#define MAP_MTEMBER_RUBYPATH_B5F (102 | (1 << 8))
+#define MAP_MTEMBER_RUBYPATH_1F (103 | (1 << 8))
+#define MAP_MTEMBER_RUBYPATH_B1F (104 | (1 << 8))
+#define MAP_MTEMBER_RUBYPATH_B2F (105 | (1 << 8))
+#define MAP_MTEMBER_RUBYPATH_B3F (106 | (1 << 8))
+#define MAP_MTEMBER_RUBYPATH_B1F_STAIRS (107 | (1 << 8))
+#define MAP_MTEMBER_RUBYPATH_B2F_STAIRS (108 | (1 << 8))
+#define MAP_THREEISLAND_BERRYFOREST (109 | (1 << 8))
+#define MAP_FOURISLAND_ICEFALLCAVE_ENTRANCE (110 | (1 << 8))
+#define MAP_FOURISLAND_ICEFALLCAVE_1F (111 | (1 << 8))
+#define MAP_FOURISLAND_ICEFALLCAVE_B1F (112 | (1 << 8))
+#define MAP_FOURISLAND_ICEFALLCAVE_BACK (113 | (1 << 8))
+#define MAP_FIVEISLAND_ROCKETWAREHOUSE (114 | (1 << 8))
+#define MAP_SIXISLAND_DOTTEDHOLE_1F (115 | (1 << 8))
+#define MAP_SIXISLAND_DOTTEDHOLE_B1F (116 | (1 << 8))
+#define MAP_SIXISLAND_DOTTEDHOLE_B2F (117 | (1 << 8))
+#define MAP_SIXISLAND_DOTTEDHOLE_B3F (118 | (1 << 8))
+#define MAP_SIXISLAND_DOTTEDHOLE_B4F (119 | (1 << 8))
+#define MAP_SIXISLAND_DOTTEDHOLE_SAPPHIREROOM (120 | (1 << 8))
+#define MAP_SIXISLAND_PATTERNBUSH (121 | (1 << 8))
+#define MAP_SIXISLAND_ALTERINGCAVE (122 | (1 << 8))
+
+// Map Group 2
+#define MAP_NAVELROCK_EXTERIOR (0 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_1F (1 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_2F (2 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_3F (3 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_4F (4 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_5F (5 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_6F (6 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_7F (7 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_8F (8 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_ROOF (9 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_LOBBY (10 | (2 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER_ELEVATOR (11 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ENTRANCE (12 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM1 (13 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM2 (14 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM3 (15 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM4 (16 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM5 (17 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM6 (18 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM7 (19 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM8 (20 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM9 (21 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM10 (22 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM11 (23 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM12 (24 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM13 (25 | (2 << 8))
+#define MAP_FIVEISLAND_LOSTCAVE_ROOM14 (26 | (2 << 8))
+#define MAP_SEVENISLAND_TANOBYRUINS_MONEANCHAMBER (27 | (2 << 8))
+#define MAP_SEVENISLAND_TANOBYRUINS_LIPTOOCHAMBER (28 | (2 << 8))
+#define MAP_SEVENISLAND_TANOBYRUINS_WEEPTHCHAMBER (29 | (2 << 8))
+#define MAP_SEVENISLAND_TANOBYRUINS_DILFORDCHAMBER (30 | (2 << 8))
+#define MAP_SEVENISLAND_TANOBYRUINS_SCUFIBCHAMBER (31 | (2 << 8))
+#define MAP_SEVENISLAND_TANOBYRUINS_RIXYCHAMBER (32 | (2 << 8))
+#define MAP_SEVENISLAND_TANOBYRUINS_VIAPOISCHAMBER (33 | (2 << 8))
+#define MAP_THREEISLAND_DUNSPARCETUNNEL (34 | (2 << 8))
+#define MAP_SEVENISLAND_SEAVAULTCANYON_TANOBYKEY (35 | (2 << 8))
+#define MAP_NAVELROCK_1F (36 | (2 << 8))
+#define MAP_NAVELROCK_SUMMIT (37 | (2 << 8))
+#define MAP_NAVELROCK_BASE (38 | (2 << 8))
+#define MAP_NAVELROCK_SUMMITPATH_2F (39 | (2 << 8))
+#define MAP_NAVELROCK_SUMMITPATH_3F (40 | (2 << 8))
+#define MAP_NAVELROCK_SUMMITPATH_4F (41 | (2 << 8))
+#define MAP_NAVELROCK_SUMMITPATH_5F (42 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B1F (43 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B2F (44 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B3F (45 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B4F (46 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B5F (47 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B6F (48 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B7F (49 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B8F (50 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B9F (51 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B10F (52 | (2 << 8))
+#define MAP_NAVELROCK_BASEPATH_B11F (53 | (2 << 8))
+#define MAP_NAVELROCK_B1F (54 | (2 << 8))
+#define MAP_NAVELROCK_FORK (55 | (2 << 8))
+#define MAP_BIRTHISLAND_EXTERIOR (56 | (2 << 8))
+#define MAP_ONEISLAND_KINDLEROAD_EMBERSPA (57 | (2 << 8))
+#define MAP_BIRTHISLAND_HARBOR (58 | (2 << 8))
+#define MAP_NAVELROCK_HARBOR (59 | (2 << 8))
+
+// Map Group 3
+#define MAP_PALLETTOWN (0 | (3 << 8))
+#define MAP_VIRIDIANCITY (1 | (3 << 8))
+#define MAP_PEWTERCITY (2 | (3 << 8))
+#define MAP_CERULEANCITY (3 | (3 << 8))
+#define MAP_LAVENDERTOWN (4 | (3 << 8))
+#define MAP_VERMILIONCITY (5 | (3 << 8))
+#define MAP_CELADONCITY (6 | (3 << 8))
+#define MAP_FUCHSIACITY (7 | (3 << 8))
+#define MAP_CINNABARISLAND (8 | (3 << 8))
+#define MAP_INDIGOPLATEAU_EXTERIOR (9 | (3 << 8))
+#define MAP_SAFFRONCITY_DUPLICATE (10 | (3 << 8))
+#define MAP_SAFFRONCITY (11 | (3 << 8))
+#define MAP_ONEISLAND (12 | (3 << 8))
+#define MAP_TWOISLAND (13 | (3 << 8))
+#define MAP_THREEISLAND (14 | (3 << 8))
+#define MAP_FOURISLAND (15 | (3 << 8))
+#define MAP_FIVEISLAND (16 | (3 << 8))
+#define MAP_SEVENISLAND (17 | (3 << 8))
+#define MAP_SIXISLAND (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_ONEISLAND_KINDLEROAD (45 | (3 << 8))
+#define MAP_ONEISLAND_TREASUREBEACH (46 | (3 << 8))
+#define MAP_TWOISLAND_CAPEBRINK (47 | (3 << 8))
+#define MAP_THREEISLAND_BONDBRIDGE (48 | (3 << 8))
+#define MAP_THREEISLAND_PORT (49 | (3 << 8))
+#define MAP_UNKNOWNMAP_03_50 (50 | (3 << 8))
+#define MAP_UNKNOWNMAP_03_51 (51 | (3 << 8))
+#define MAP_UNKNOWNMAP_03_52 (52 | (3 << 8))
+#define MAP_UNKNOWNMAP_03_53 (53 | (3 << 8))
+#define MAP_FIVEISLAND_RESORTGORGEOUS (54 | (3 << 8))
+#define MAP_FIVEISLAND_WATERLABYRINTH (55 | (3 << 8))
+#define MAP_FIVEISLAND_MEADOW (56 | (3 << 8))
+#define MAP_FIVEISLAND_MEMORIALPILLAR (57 | (3 << 8))
+#define MAP_SIXISLAND_OUTCASTISLAND (58 | (3 << 8))
+#define MAP_SIXISLAND_GREENPATH (59 | (3 << 8))
+#define MAP_SIXISLAND_WATERPATH (60 | (3 << 8))
+#define MAP_SIXISLAND_RUINVALLEY (61 | (3 << 8))
+#define MAP_SEVENISLAND_TRAINERTOWER (62 | (3 << 8))
+#define MAP_SEVENISLAND_SEVAULTCANYON_ENTRANCE (63 | (3 << 8))
+#define MAP_SEVENISLAND_SEVAULTCANYON (64 | (3 << 8))
+#define MAP_SEVENISLAND_TANOBYRUINS (65 | (3 << 8))
+
+// Map Group 4
+#define MAP_PALLETTOWN_PLAYERSHOUSE_1F (0 | (4 << 8))
+#define MAP_PALLETTOWN_PLAYERSHOUSE_2F (1 | (4 << 8))
+#define MAP_PALLETTOWN_GARYSHOUSE (2 | (4 << 8))
+#define MAP_PALLETTOWN_PROFESSOROAKSLAB (3 | (4 << 8))
+
+// Map Group 5
+#define MAP_VIRIDIANCITY_HOUSE1 (0 | (5 << 8))
+#define MAP_VIRIDIANCITY_GYM (1 | (5 << 8))
+#define MAP_VIRIDIANCITY_HOUSE2 (2 | (5 << 8))
+#define MAP_VIRIDIANCITY_MART (3 | (5 << 8))
+#define MAP_VIRIDIANCITY_POKEMONCENTER_1F (4 | (5 << 8))
+#define MAP_VIRIDIANCITY_POKEMONCENTER_2F (5 | (5 << 8))
+
+// Map Group 6
+#define MAP_PEWTERCITY_MUSEUM_1F (0 | (6 << 8))
+#define MAP_PEWTERCITY_MUSEUM_2F (1 | (6 << 8))
+#define MAP_PEWTERCITY_GYM (2 | (6 << 8))
+#define MAP_PEWTERCITY_MART (3 | (6 << 8))
+#define MAP_PEWTERCITY_HOUSE1 (4 | (6 << 8))
+#define MAP_PEWTERCITY_POKEMONCENTER_1F (5 | (6 << 8))
+#define MAP_PEWTERCITY_POKEMONCENTER_2F (6 | (6 << 8))
+#define MAP_PEWTERCITY_HOUSE2 (7 | (6 << 8))
+
+// Map Group 7
+#define MAP_CERULEANCITY_HOUSE1 (0 | (7 << 8))
+#define MAP_CERULEANCITY_HOUSE2 (1 | (7 << 8))
+#define MAP_CERULEANCITY_HOUSE3 (2 | (7 << 8))
+#define MAP_CERULEANCITY_POKEMONCENTER_1F (3 | (7 << 8))
+#define MAP_CERULEANCITY_POKEMONCENTER_2F (4 | (7 << 8))
+#define MAP_CERULEANCITY_GYM (5 | (7 << 8))
+#define MAP_CERULEANCITY_BIKESHOP (6 | (7 << 8))
+#define MAP_CERULEANCITY_MART (7 | (7 << 8))
+#define MAP_CERULEANCITY_HOUSE4 (8 | (7 << 8))
+#define MAP_CERULEANCITY_HOUSE5 (9 | (7 << 8))
+
+// Map Group 8
+#define MAP_LAVENDERTOWN_POKEMONCENTER_1F (0 | (8 << 8))
+#define MAP_LAVENDERTOWN_POKEMONCENTER_2F (1 | (8 << 8))
+#define MAP_LAVENDERTOWN_VOLUNTEERPOKEMONHOUSE (2 | (8 << 8))
+#define MAP_LAVENDERTOWN_HOUSE1 (3 | (8 << 8))
+#define MAP_LAVENDERTOWN_HOUSE2 (4 | (8 << 8))
+#define MAP_LAVENDERTOWN_MART (5 | (8 << 8))
+
+// Map Group 9
+#define MAP_VERMILIONCITY_HOUSE1 (0 | (9 << 8))
+#define MAP_VERMILIONCITY_POKEMONCENTER_1F (1 | (9 << 8))
+#define MAP_VERMILIONCITY_POKEMONCENTER_2F (2 | (9 << 8))
+#define MAP_VERMILIONCITY_POKEMONFANCLUB (3 | (9 << 8))
+#define MAP_VERMILIONCITY_HOUSE2 (4 | (9 << 8))
+#define MAP_VERMILIONCITY_MART (5 | (9 << 8))
+#define MAP_VERMILIONCITY_GYM (6 | (9 << 8))
+#define MAP_VERMILIONCITY_HOUSE3 (7 | (9 << 8))
+
+// Map Group 10
+#define MAP_CELADONCITY_DEPARTMENTSTORE_1F (0 | (10 << 8))
+#define MAP_CELADONCITY_DEPARTMENTSTORE_2F (1 | (10 << 8))
+#define MAP_CELADONCITY_DEPARTMENTSTORE_3F (2 | (10 << 8))
+#define MAP_CELADONCITY_DEPARTMENTSTORE_4F (3 | (10 << 8))
+#define MAP_CELADONCITY_DEPARTMENTSTORE_5F (4 | (10 << 8))
+#define MAP_CELADONCITY_DEPARTMENTSTORE_ROOF (5 | (10 << 8))
+#define MAP_CELADONCITY_DEPARTMENTSTORE_ELEVATOR (6 | (10 << 8))
+#define MAP_CELADONCITY_CONDOMINIUMS_1F (7 | (10 << 8))
+#define MAP_CELADONCITY_CONDOMINIUMS_2F (8 | (10 << 8))
+#define MAP_CELADONCITY_CONDOMINIUMS_3F (9 | (10 << 8))
+#define MAP_CELADONCITY_CONDOMINIUMS_ROOF (10 | (10 << 8))
+#define MAP_CELADONCITY_CONDOMINIUMS_ROOFROOM (11 | (10 << 8))
+#define MAP_CELADONCITY_POKEMONCENTER_1F (12 | (10 << 8))
+#define MAP_CELADONCITY_POKEMONCENTER_2F (13 | (10 << 8))
+#define MAP_CELADONCITY_GAMECORNER (14 | (10 << 8))
+#define MAP_CELADONCITY_GAMECORNER_PRIZEROOM (15 | (10 << 8))
+#define MAP_CELADONCITY_GYM (16 | (10 << 8))
+#define MAP_CELADONCITY_RESTAURANT (17 | (10 << 8))
+#define MAP_CELADONCITY_HOUSE1 (18 | (10 << 8))
+#define MAP_CELADONCITY_HOTEL (19 | (10 << 8))
+
+// Map Group 11
+#define MAP_FUCHSIACITY_SAFARIZONE_ENTRANCE (0 | (11 << 8))
+#define MAP_FUCHSIACITY_MART (1 | (11 << 8))
+#define MAP_FUCHSIACITY_ZOOBUILDING (2 | (11 << 8))
+#define MAP_FUCHSIACITY_GYM (3 | (11 << 8))
+#define MAP_FUCHSIACITY_HOUSE1 (4 | (11 << 8))
+#define MAP_FUCHSIACITY_POKEMONCENTER_1F (5 | (11 << 8))
+#define MAP_FUCHSIACITY_POKEMONCENTER_2F (6 | (11 << 8))
+#define MAP_FUCHSIACITY_BUILDING1 (7 | (11 << 8))
+#define MAP_FUCHSIACITY_HOUSE2 (8 | (11 << 8))
+#define MAP_FUCHSIACITY_HOUSE3 (9 | (11 << 8))
+
+// Map Group 12
+#define MAP_CINNABARISLAND_GYM (0 | (12 << 8))
+#define MAP_CINNABARISLAND_POKEMONLAB_ENTRANCE (1 | (12 << 8))
+#define MAP_CINNABARISLAND_POKEMONLAB_LOUNGE (2 | (12 << 8))
+#define MAP_CINNABARISLAND_POKEMONLAB_RESEARCHROOM (3 | (12 << 8))
+#define MAP_CINNABARISLAND_POKEMONLAB_EXPERIMENTROOM (4 | (12 << 8))
+#define MAP_CINNABARISLAND_POKEMONCENTER_1F (5 | (12 << 8))
+#define MAP_CINNABARISLAND_POKEMONCENTER_2F (6 | (12 << 8))
+#define MAP_CINNABARISLAND_MART (7 | (12 << 8))
+
+// Map Group 13
+#define MAP_INDIGOPLATEAU_POKEMONCENTER_1F (0 | (13 << 8))
+#define MAP_INDIGOPLATEAU_POKEMONCENTER_2F (1 | (13 << 8))
+
+// Map Group 14
+#define MAP_SAFFRONCITY_HOUSE1_1F (0 | (14 << 8))
+#define MAP_SAFFRONCITY_HOUSE1_2F (1 | (14 << 8))
+#define MAP_SAFFRONCITY_DOJO (2 | (14 << 8))
+#define MAP_SAFFRONCITY_GYM (3 | (14 << 8))
+#define MAP_SAFFRONCITY_HOUSE2 (4 | (14 << 8))
+#define MAP_SAFFRONCITY_MART (5 | (14 << 8))
+#define MAP_SAFFRONCITY_POKEMONCENTER_1F (6 | (14 << 8))
+#define MAP_SAFFRONCITY_POKEMONCENTER_2F (7 | (14 << 8))
+#define MAP_SAFFRONCITY_HOUSE3 (8 | (14 << 8))
+#define MAP_SAFFRONCITY_POKEMONTRAINERFANCLUB (9 | (14 << 8))
+
+// Map Group 15
+#define MAP_ROUTE2_VIRIDIANFOREST_SOUTHENTRANCE (0 | (15 << 8))
+#define MAP_ROUTE2_HOUSE (1 | (15 << 8))
+#define MAP_ROUTE2_EASTBUILDING (2 | (15 << 8))
+#define MAP_ROUTE2_VIRIDIANFOREST_NORTHENTRANCE (3 | (15 << 8))
+
+// Map Group 16
+#define MAP_ROUTE4_POKEMONCENTER_1F (0 | (16 << 8))
+#define MAP_ROUTE4_POKEMONCENTER_2F (1 | (16 << 8))
+
+// Map Group 17
+#define MAP_ROUTE5_POKEMONDAYCARE (0 | (17 << 8))
+#define MAP_ROUTE5_SOUTHENTRANCE (1 | (17 << 8))
+
+// Map Group 18
+#define MAP_ROUTE6_NORTHENTRANCE (0 | (18 << 8))
+#define MAP_UNKNOWNMAP_18_01 (1 | (18 << 8))
+
+// Map Group 19
+#define MAP_ROUTE7_EASTENTRANCE (0 | (19 << 8))
+
+// Map Group 20
+#define MAP_ROUTE8_WESTENTRANCE (0 | (20 << 8))
+
+// Map Group 21
+#define MAP_ROUTE10_POKEMONCENTER_1F (0 | (21 << 8))
+#define MAP_ROUTE10_POKEMONCENTER_2F (1 | (21 << 8))
+
+// Map Group 22
+#define MAP_ROUTE11_EASTENTRANCE_1F (0 | (22 << 8))
+#define MAP_ROUTE11_EASTENTRANCE_2F (1 | (22 << 8))
+
+// Map Group 23
+#define MAP_ROUTE12_NORTHENTRANCE_1F (0 | (23 << 8))
+#define MAP_ROUTE12_NORTHENTRANCE_2F (1 | (23 << 8))
+#define MAP_ROUTE12_FISHINGHOUSE (2 | (23 << 8))
+
+// Map Group 24
+#define MAP_ROUTE15_WESTENTRANCE_1F (0 | (24 << 8))
+#define MAP_ROUTE15_WESTENTRANCE_2F (1 | (24 << 8))
+
+// Map Group 25
+#define MAP_ROUTE16_HOUSE (0 | (25 << 8))
+#define MAP_ROUTE16_NORTHENTRANCE_1F (1 | (25 << 8))
+#define MAP_ROUTE16_NORTHENTRANCE_2F (2 | (25 << 8))
+
+// Map Group 26
+#define MAP_ROUTE18_EASTENTRANCE_1F (0 | (26 << 8))
+#define MAP_ROUTE18_EASTENTRANCE_2F (1 | (26 << 8))
+
+// Map Group 27
+#define MAP_UNUSEDHOUSE_27_00 (0 | (27 << 8))
+
+// Map Group 28
+#define MAP_ROUTE22_NORTHENTRANCE (0 | (28 << 8))
+
+// Map Group 29
+#define MAP_UNUSEDHOUSE_29_00 (0 | (29 << 8))
+
+// Map Group 30
+#define MAP_ROUTE25_SEACOTTAGE (0 | (30 << 8))
+
+// Map Group 31
+#define MAP_SEVENISLAND_HOUSE_ROOM1 (0 | (31 << 8))
+#define MAP_SEVENISLAND_HOUSE_ROOM2 (1 | (31 << 8))
+#define MAP_SEVENISLAND_MART (2 | (31 << 8))
+#define MAP_SEVENISLAND_POKEMONCENTER_1F (3 | (31 << 8))
+#define MAP_SEVENISLAND_POKEMONCENTER_2F (4 | (31 << 8))
+#define MAP_UNUSEDHOUSE_31_05 (5 | (31 << 8))
+#define MAP_SEVENISLAND_HARBOR (6 | (31 << 8))
+
+// Map Group 32
+#define MAP_ONEISLAND_POKEMONCENTER_1F (0 | (32 << 8))
+#define MAP_ONEISLAND_POKEMONCENTER_2F (1 | (32 << 8))
+#define MAP_ONEISLAND_HOUSE1 (2 | (32 << 8))
+#define MAP_ONEISLAND_HOUSE2 (3 | (32 << 8))
+#define MAP_ONEISLAND_HARBOR (4 | (32 << 8))
+
+// Map Group 33
+#define MAP_TWOISLAND_JOYFULGAMECORNER (0 | (33 << 8))
+#define MAP_TWOISLAND_HOUSE (1 | (33 << 8))
+#define MAP_TWOISLAND_POKEMONCENTER_1F (2 | (33 << 8))
+#define MAP_TWOISLAND_POKEMONCENTER_2F (3 | (33 << 8))
+#define MAP_TWOISLAND_HARBOR (4 | (33 << 8))
+
+// Map Group 34
+#define MAP_THREEISLAND_HOUSE1 (0 | (34 << 8))
+#define MAP_THREEISLAND_POKEMONCENTER_1F (1 | (34 << 8))
+#define MAP_THREEISLAND_POKEMONCENTER_2F (2 | (34 << 8))
+#define MAP_THREEISLAND_MART (3 | (34 << 8))
+#define MAP_THREEISLAND_HOUSE2 (4 | (34 << 8))
+#define MAP_THREEISLAND_HOUSE3 (5 | (34 << 8))
+#define MAP_THREEISLAND_HOUSE4 (6 | (34 << 8))
+#define MAP_THREEISLAND_HOUSE5 (7 | (34 << 8))
+
+// Map Group 35
+#define MAP_FOURISLAND_POKEMONDAYCARE (0 | (35 << 8))
+#define MAP_FOURISLAND_POKEMONCENTER_1F (1 | (35 << 8))
+#define MAP_FOURISLAND_POKEMONCENTER_2F (2 | (35 << 8))
+#define MAP_FOURISLAND_HOUSE1 (3 | (35 << 8))
+#define MAP_FOURISLAND_LORELEISHOUSE (4 | (35 << 8))
+#define MAP_FOURISLAND_HARBOR (5 | (35 << 8))
+#define MAP_FOURISLAND_HOUSE2 (6 | (35 << 8))
+#define MAP_FOURISLAND_MART (7 | (35 << 8))
+
+// Map Group 36
+#define MAP_FIVEISLAND_POKEMONCENTER_1F (0 | (36 << 8))
+#define MAP_FIVEISLAND_POKEMONCENTER_2F (1 | (36 << 8))
+#define MAP_FIVEISLAND_HARBOR (2 | (36 << 8))
+#define MAP_FIVEISLAND_HOUSE1 (3 | (36 << 8))
+#define MAP_FIVEISLAND_HOUSE2 (4 | (36 << 8))
+
+// Map Group 37
+#define MAP_SIXISLAND_POKEMONCENTER_1F (0 | (37 << 8))
+#define MAP_SIXISLAND_POKEMONCENTER_2F (1 | (37 << 8))
+#define MAP_SIXISLAND_HARBOR (2 | (37 << 8))
+#define MAP_SIXISLAND_HOUSE (3 | (37 << 8))
+#define MAP_SIXISLAND_MART (4 | (37 << 8))
+
+// Map Group 38
+#define MAP_THREEISLAND_HARBOR (0 | (38 << 8))
+
+// Map Group 39
+#define MAP_FIVEISLAND_RESORTGORGEOUS_HOUSE (0 | (39 << 8))
+
+// Map Group 40
+#define MAP_TWOISLAND_CAPEBRINK_HOUSE (0 | (40 << 8))
+
+// Map Group 41
+#define MAP_SIXISLAND_WATERPATH_HOUSE1 (0 | (41 << 8))
+#define MAP_SIXISLAND_WATERPATH_HOUSE2 (1 | (41 << 8))
+
+// Map Group 42
+#define MAP_SEVENISLAND_SEVAULTCANYON_HOUSE (0 | (42 << 8))
+
+#endif // GUARD_CONSTANTS_MAP_GROUPS_H
diff --git a/include/constants/maps.h b/include/constants/maps.h
index 737edd7de..8a8a023a8 100644
--- a/include/constants/maps.h
+++ b/include/constants/maps.h
@@ -1,594 +1,11 @@
#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)
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..fc42af3fc 100644
--- a/include/constants/songs.h
+++ b/include/constants/songs.h
@@ -250,6 +250,94 @@
#define SE_W287B 245
#define SE_W114 246
#define SE_W063B 247
+#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 BGM_FRLG_SAFARI_ZONE 264
+#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 +473,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/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..2f817fb02 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -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
diff --git a/include/decompress.h b/include/decompress.h
index 36672dcfd..c2c4f0e1c 100644
--- a/include/decompress.h
+++ b/include/decompress.h
@@ -18,6 +18,8 @@ void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src);
void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer);
bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src);
+bool8 sub_800F078(const struct CompressedSpritePalette *src);
+
void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
diff --git a/include/event_scripts.h b/include/event_scripts.h
index b909566d0..1762faf8e 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -705,4 +705,71 @@ extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni3[];
extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni4[];
extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni5[];
+extern const u8 gOtherText_NewName[];
+extern const u8 gNameChoice_Green[];
+extern const u8 gNameChoice_Red[];
+extern const u8 gNameChoice_Red[];
+extern const u8 gNameChoice_Fire[];
+extern const u8 gNameChoice_Fire[];
+extern const u8 gNameChoice_Gary[];
+extern const u8 gNameChoice_Kaz[];
+extern const u8 gNameChoice_Toru[];
+extern const u8 gNameChoice_Ash[];
+extern const u8 gNameChoice_Kene[];
+extern const u8 gNameChoice_Geki[];
+extern const u8 gNameChoice_Jak[];
+extern const u8 gNameChoice_Janne[];
+extern const u8 gNameChoice_Jonn[];
+extern const u8 gNameChoice_Kamon[];
+extern const u8 gNameChoice_Karl[];
+extern const u8 gNameChoice_Taylor[];
+extern const u8 gNameChoice_Oscar[];
+extern const u8 gNameChoice_Hiro[];
+extern const u8 gNameChoice_Max[];
+extern const u8 gNameChoice_Jon[];
+extern const u8 gNameChoice_Ralph[];
+extern const u8 gNameChoice_Kay[];
+extern const u8 gNameChoice_Tosh[];
+extern const u8 gNameChoice_Roak[];
+extern const u8 gNameChoice_Omi[];
+extern const u8 gNameChoice_Jodi[];
+extern const u8 gNameChoice_Amanda[];
+extern const u8 gNameChoice_Hillary[];
+extern const u8 gNameChoice_Makey[];
+extern const u8 gNameChoice_Michi[];
+extern const u8 gNameChoice_Paula[];
+extern const u8 gNameChoice_June[];
+extern const u8 gNameChoice_Cassie[];
+extern const u8 gNameChoice_Rey[];
+extern const u8 gNameChoice_Seda[];
+extern const u8 gNameChoice_Kiko[];
+extern const u8 gNameChoice_Mina[];
+extern const u8 gNameChoice_Norie[];
+extern const u8 gNameChoice_Sai[];
+extern const u8 gNameChoice_Momo[];
+extern const u8 gNameChoice_Suzi[];
+extern const u8 gNewGame_HelpDocs1[];
+extern const u8 gNewGame_HelpDocs2[];
+extern const u8 gNewGame_HelpDocs3[];
+extern const u8 gNewGame_HelpDocs4[];
+extern const u8 gNewGame_HelpDocs5[];
+extern const u8 gNewGame_HelpDocs6[];
+extern const u8 gNewGame_HelpDocs7[];
+extern const u8 gOakText_AskPlayerGender[];
+extern const u8 gNewGameAdventureIntro1[];
+extern const u8 gNewGameAdventureIntro2[];
+extern const u8 gNewGameAdventureIntro3[];
+extern const u8 gOakText_WelcomeToTheWorld[];
+extern const u8 gOakText_WorldInhabited1[];
+extern const u8 gOakText_WorldInhabited2[];
+extern const u8 gOakText_PetsBattlingStudy[];
+extern const u8 gOakText_TellMeALittleAboutYourself[];
+extern const u8 gOakText_AskPlayerName[];
+extern const u8 gOakText_FinalizePlayerName[];
+extern const u8 gOakText_IntroduceRival[];
+extern const u8 gOakText_AskRivalName[];
+extern const u8 gOakText_ConfirmRivalName[];
+extern const u8 gOakText_RememberRivalName[];
+extern const u8 gOakText_LegendAboutToUnfold[];
+
#endif //GUARD_EVENT_SCRIPTS_H
diff --git a/include/field_specials.h b/include/field_specials.h
index 2d495fdd5..c1bc8e8c9 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -6,5 +6,6 @@
u8 GetLeadMonIndex(void);
u8 CountDigits(u16 number);
void TV_PrintIntToStringVar(u8, int);
+u16 ScrSpecial_GetStarter(void);
#endif // GUARD_FIELD_SPECIALS_H
diff --git a/include/graphics.h b/include/graphics.h
index d249ece10..83cc19bb3 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -150,4 +150,15 @@ extern const u16 gFameCheckerBgTiles[0xa50];
extern const u16 gFameCheckerBg3Tilemap[0x400];
extern const u16 gFameCheckerBg2Tilemap[0x400];
+// tm_case
+extern const u32 gUnknown_8E845D8[];
+extern const u32 gUnknown_8E84A24[];
+extern const u32 gUnknown_8E84B70[];
+extern const u32 gUnknown_8E84CB0[];
+extern const u32 gUnknown_8E84D20[];
+extern const u32 gTMCase_TMSpriteGfx[];
+extern const u32 gUnknown_8E84F20[];
+extern const u32 gUnknown_8E85068[];
+extern const u8 gUnknown_8E99118[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/help_system.h b/include/help_system.h
index 632788148..3ef5f53e4 100644
--- a/include/help_system.h
+++ b/include/help_system.h
@@ -6,5 +6,6 @@
extern bool8 gUnknown_3005ECC;
void sub_812B484(void);
+void HelpSystem_SetSomeVariable2(u8);
#endif //GUARD_HELP_SYSTEM_H
diff --git a/include/item.h b/include/item.h
index 25177cb6e..320b7ffec 100644
--- a/include/item.h
+++ b/include/item.h
@@ -66,4 +66,10 @@ void CopyItemName(u16, u8 *);
void sub_809A824(u16 itemId);
bool8 AddBagItem(u16 itemId, u16 amount);
+void sub_809A5E4(struct BagPocket *);
+u16 BagGetItemIdByPocketPosition(u8 a0, u16 a1);
+u16 BagGetQuantityByPocketPosition(u8 a0, u16 a1);
+bool8 itemid_is_unique(u16 itemId);
+void sub_809A584(struct ItemSlot * slots, u8 capacity);
+
#endif // ITEM_H
diff --git a/include/item_menu.h b/include/item_menu.h
index a6128b9fb..9ebe3918a 100644
--- a/include/item_menu.h
+++ b/include/item_menu.h
@@ -12,6 +12,7 @@ extern u16 gSpecialVar_ItemId;
// Exported ROM declarations
void sub_81AAC50(void);
void sub_81AAC70(void);
+void sub_8108CF0(void);
void UseFameCheckerFromMenu(void);
#endif //GUARD_ITEM_MENU_H
diff --git a/include/list_menu.h b/include/list_menu.h
index 8834e5215..3fd54d0d1 100644
--- a/include/list_menu.h
+++ b/include/list_menu.h
@@ -48,6 +48,7 @@ struct ListMenu {
};
extern struct ListMenuTemplate gUnknown_03006310;
+extern struct ListMenuTemplate gMultiuseListMenuTemplate;
// Exported ROM declarations
@@ -55,7 +56,8 @@ u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2);
s32 ListMenuHandleInput(u8 id);
void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2);
void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2);
-void sub_810713C(u8, u8, u8);
+void DestroyListMenu(u8, u16 *, u16 *);
u16 ListMenuGetYCoordForPrintingArrowCursor(u8);
+void sub_8107D38(u8, u8);
#endif //GUARD_LIST_MENU_H
diff --git a/include/math_util.h b/include/math_util.h
new file mode 100644
index 000000000..74dbbe98e
--- /dev/null
+++ b/include/math_util.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_MATH_UTIL_H
+#define GUARD_MATH_UTIL_H
+
+s16 sub_80D8B90(s16 y);
+
+#endif //GUARD_MATH_UTIL_H
diff --git a/include/menu.h b/include/menu.h
index b5078df5e..4a5bd8a2c 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -38,5 +38,17 @@ void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSp
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3);
void sub_810F4D8(u8 windowId, bool32 someBool);
void *sub_80F68F0(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
+void CreateWindow_SnapRight_StdPal(u8, u8, u8, u8, u16);
+void Menu_PrintHelpSystemUIHeader(const u8 *, const u8 *, u8, u32, u8);
+void PrintTextOnRightSnappedWindow(const u8 *, u32, u8);
+void sub_810F71C(void);
+void sub_810F740(void);
+u8 ProgramAndPlaceMenuCursorOnWindow(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPosition);
+void sub_810FF60(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8);
+
+void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority);
+bool8 IsBlendTaskActive(void);
+void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
+void sub_810F260(u8 windowId, u8 a1);
#endif // GUARD_MENU_H
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
index b193388e5..e27fb4e5d 100644
--- a/include/menu_helpers.h
+++ b/include/menu_helpers.h
@@ -18,6 +18,13 @@ void sub_812225C(u16 *, u16 *, u8, u8);
void sub_8122298(u16 *, u16 *, u8, u8, u8);
void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data);
bool8 sub_81221AC(void);
+bool8 sub_80BF72C(void);
bool8 sub_80BF708(void);
+void sub_80BF768(void);
+void sub_80BF7C8(void);
+u8 sub_80BF8E4(void);
+u8 sub_80BF848(s16 * a0, u16 a1);
+void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 arg2, u8 arg3, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc);
+void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate * unk1, u8 unk2, u8 unk3, u8 unk4, u8 unk5, u8 unk6, const struct YesNoFuncTable *ptrs);
#endif //GUARD_MENU_HELPERS_H
diff --git a/include/money.h b/include/money.h
index fa63e321c..5bcef18d4 100644
--- a/include/money.h
+++ b/include/money.h
@@ -10,13 +10,14 @@ void AddMoney(u32* moneyPtr, u32 toAdd);
void RemoveMoney(u32* moneyPtr, u32 toSub);
bool8 IsEnoughForCostInVar0x8005(void);
void SubtractMoneyFromVar0x8005(void);
-void PrintMoneyAmountInMoneyBoxInMoneyBox(u8 windowId, int amount, u8 speed);
-void PrintMoneyAmountInMoneyBox(u8 windowId, u8 x, u8 y, int amount, u8 speed);
-void PrintMoneyAmountInMoneyBoxInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount);
+void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed);
+void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed);
+void PrintMoneyAmountInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount);
void ChangeAmountInMoneyBox(int amount);
void DrawMoneyBox(int amount, u8 x, u8 y);
void HideMoneyBox(void);
void AddMoneyLabelObject(u16 x, u16 y);
void RemoveMoneyLabelObject(void);
+void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed);
#endif // GUARD_MONEY_H
diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h
index e22f89f44..b17326667 100644
--- a/include/new_menu_helpers.h
+++ b/include/new_menu_helpers.h
@@ -15,14 +15,20 @@ void sub_8197434(u8 a0, u8 a1);
void SetStandardWindowBorderStyle(u8 a0, u8 a1);
void sub_8197930(void);
u8 GetPlayerTextSpeed(void);
-void sub_80F6F54(u8, u8);
-u8 sub_80F78A8(void);
+void ClearDialogWindowAndFrame(u8, u8);
+u8 GetTextSpeedSetting(void);
void sub_80F6E9C(void);
-void sub_80F6EE4(u8 windowId, bool8 transfer);
+void DrawDialogueFrame(u8 windowId, bool8 transfer);
void sub_80F7974(const u8 *);
u8 GetStartMenuWindowId(void);
void sub_80F7998(void);
void sub_80F69E8(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
-void sub_80F6F1C(u8 windowId, bool8 copyNow);
+void DrawStdWindowFrame(u8 windowId, bool8 copyNow);
+void InitStandardTextBoxWindows(void);
+void ResetBg0(void);
+void Menu_LoadStdPalAt(u16);
+void * malloc_and_decompress(const void * src, u32 * size);
+u16 sub_80F796C(void);
+void sub_80F6B08(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
#endif // GUARD_NEW_MENU_HELPERS_H
diff --git a/include/oak_speech.h b/include/oak_speech.h
new file mode 100644
index 000000000..d5d94bc83
--- /dev/null
+++ b/include/oak_speech.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_OAK_SPEECH_H
+#define GUARD_OAK_SPEECH_H
+
+void StartNewGameScene(void);
+
+#endif //GUARD_OAK_SPEECH_H
diff --git a/include/overworld.h b/include/overworld.h
index b32d9cf48..8c32d3e06 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -99,5 +99,6 @@ extern u8 gUnknown_2036E28;
extern bool8 (* gUnknown_3005024)(void);
void SetLastHealLocationWarp(u8 healLocaionId);
void sub_8055864(u8 mapGroup, u8 mapNum);
+void CB2_NewGame(void);
#endif //GUARD_ROM4_H
diff --git a/include/party_menu.h b/include/party_menu.h
index 2e83c1496..5f7a3a68e 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -12,10 +12,16 @@ enum {
AILMENT_BRN
};
+extern void (*gUnknown_3005E98)(u8 taskId, TaskFunc func);
+
bool8 MonKnowsMove(struct Pokemon *, u16);
void sub_81B58A8(void);
void DoWallyTutorialBagMenu(void);
u8 pokemon_ailments_get_primary(u32 status);
u16 ItemIdToBattleMoveId(u16 itemId);
+void sub_8125B40(u8 taskId, TaskFunc func);
+void sub_8124C8C(void);
+void sub_8126EDC(void);
+void c2_8123744(void);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokeball.h b/include/pokeball.h
index 10a9529b9..5545f8870 100644
--- a/include/pokeball.h
+++ b/include/pokeball.h
@@ -24,7 +24,8 @@ enum
#define POKEBALL_OPPONENT_SENDOUT 0xFE
u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow);
-void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species);
+void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h);
+u8 sub_804BB98(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h);
u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h);
void sub_8076918(u8 bank);
void DoHitAnimHealthboxEffect(u8 bank);
diff --git a/include/pokemon.h b/include/pokemon.h
index f1f04c9eb..c84eb4c42 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -445,6 +445,8 @@ struct BattleMove
u8 flags;
};
+extern const struct BattleMove gBattleMoves[];
+
#define FLAG_MAKES_CONTACT 0x1
#define FLAG_PROTECT_AFFECTED 0x2
#define FLAG_MAGICCOAT_AFFECTED 0x4
@@ -673,5 +675,6 @@ void BattleAnimateBackSprite(struct Sprite* sprite, u16 species);
void PlayMapChosenOrBattleBGM(u16 songId);
u8 GetMonsStateToDoubles(void);
void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src);
+void sub_803F7D4(u16 trainerSpriteId, u8 battlerPosition);
#endif // GUARD_POKEMON_H
diff --git a/include/pokemon_3.h b/include/pokemon_3.h
index cffc9780b..e65bc85fc 100644
--- a/include/pokemon_3.h
+++ b/include/pokemon_3.h
@@ -5,5 +5,8 @@
const u8* GetTrainerClassNameFromId(u16 trainerId);
const u8* GetTrainerNameFromId(u16 trainerId);
+void * SetUpMonSpriteManagerMaybe(u8, u8);
+void sub_8044D80(void);
+void * sub_8044E00(u8 buffId);
#endif // GUARD_POKEMON_3_H
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index 897c5a42e..f2fbe85a7 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -13,5 +13,6 @@ void CompactPartySlots(void);
u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
void sub_808BCB4(u8 boxId, u8 monPosition);
u8 * GetBoxNamePtr(u8 boxId);
+void sub_808CE60(void);
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
diff --git a/include/scanline_effect.h b/include/scanline_effect.h
index d49f5b4d6..711ed7da8 100644
--- a/include/scanline_effect.h
+++ b/include/scanline_effect.h
@@ -1,6 +1,48 @@
#ifndef GUARD_SCANLINE_EFFECT_H
#define GUARD_SCANLINE_EFFECT_H
-void remove_some_task(void);
+// DMA control value to transfer a single 16-bit value at HBlank
+#define SCANLINE_EFFECT_DMACNT_16BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_16BIT | DMA_DEST_RELOAD) << 16) | 1)
+#define SCANLINE_EFFECT_DMACNT_32BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_32BIT | DMA_DEST_RELOAD) << 16) | 1)
-#endif //GUARD_SCANLINE_EFFECT_H
+#define SCANLINE_EFFECT_REG_BG0HOFS (REG_ADDR_BG0HOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG0VOFS (REG_ADDR_BG0VOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG1HOFS (REG_ADDR_BG1HOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG1VOFS (REG_ADDR_BG1VOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG2HOFS (REG_ADDR_BG2HOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG2VOFS (REG_ADDR_BG2VOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG3HOFS (REG_ADDR_BG3HOFS - REG_ADDR_BG0HOFS)
+#define SCANLINE_EFFECT_REG_BG3VOFS (REG_ADDR_BG3VOFS - REG_ADDR_BG0HOFS)
+
+struct ScanlineEffectParams
+{
+ volatile void *dmaDest;
+ u32 dmaControl;
+ u8 initState;
+ u8 unused9;
+};
+
+struct ScanlineEffect
+{
+ void *dmaSrcBuffers[2];
+ volatile void *dmaDest;
+ u32 dmaControl;
+ void (*setFirstScanlineReg)(void);
+ u8 srcBuffer;
+ u8 state;
+ u8 unused16;
+ u8 unused17;
+ u8 waveTaskId;
+};
+
+extern struct ScanlineEffect gScanlineEffect;
+
+extern u16 gScanlineEffectRegBuffers[2][0x3C0];
+
+void ScanlineEffect_Stop(void);
+void ScanlineEffect_Clear(void);
+void ScanlineEffect_SetParams(struct ScanlineEffectParams);
+void ScanlineEffect_InitHBlankDmaTransfer(void);
+u8 ScanlineEffect_InitWave(u8 startLine, u8 endLine, u8 frequency, u8 amplitude, u8 delayInterval, u8 regOffset, bool8 a7);
+
+#endif // GUARD_SCANLINE_EFFECT_H \ No newline at end of file
diff --git a/include/shop.h b/include/shop.h
index 1046a590a..05f5160e6 100644
--- a/include/shop.h
+++ b/include/shop.h
@@ -8,5 +8,6 @@ extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3];
void CreatePokemartMenu(const u16 *);
void CreateDecorationShop1Menu(const u16 *);
void CreateDecorationShop2Menu(const u16 *);
+void sub_809C09C(u16, u16, u8);
#endif // GUARD_SHOP_H
diff --git a/include/strings.h b/include/strings.h
index 40021a01d..6af1b0d69 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -92,4 +92,27 @@ extern const u8 gText_Coins[];
extern const u8 gText_EggNickname[];
extern const u8 gText_Pokemon[];
+extern const u8 gOtherText_Use[];
+extern const u8 gOtherText_Give[];
+extern const u8 gOtherText_Exit[];
+extern const u8 gText_ThreeHyphens[];
+extern const u8 gOtherText_UnkF9_08_Clear_01[];
+extern const u8 gFameCheckerText_ListMenuCursor[];
+extern const u8 gText_TimesStrVar1[];
+extern const u8 gText_IsSelected[];
+extern const u8 gText_ThereIsNoPokemon[];
+extern const u8 gText_ItemCantBeHeld[];
+extern const u8 gText_TMCase[];
+extern const u8 gText_Close[];
+extern const u8 gText_TMCaseWillBePutAway[];
+extern const u8 gText_FontSize0[];
+extern const u8 gText_FontSize2[];
+extern const u8 gText_OhNoICantBuyThat[];
+extern const u8 gText_HowManyWouldYouLikeToSell[];
+extern const u8 gText_ICanPayThisMuch_WouldThatBeOkay[];
+extern const u8 gText_TurnedOverItemsWorthYen[];
+extern const u8 gPokeDudeText_TMTypes[];
+extern const u8 gPokeDudeText_ReadTMDescription[];
+extern const u16 gTMCaseMainWindowPalette[];
+
#endif //GUARD_STRINGS_H
diff --git a/include/teachy_tv.h b/include/teachy_tv.h
new file mode 100644
index 000000000..374780c04
--- /dev/null
+++ b/include/teachy_tv.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_TEACHY_TV_H
+#define GUARD_TEACHY_TV_H
+
+void CB2_ReturnToTeachyTV(void);
+void sub_815AC20(void);
+
+#endif //GUARD_TEACHY_TV_H
diff --git a/include/text.h b/include/text.h
index e127f103a..d2c2ecf42 100644
--- a/include/text.h
+++ b/include/text.h
@@ -250,5 +250,7 @@ s32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese);
s32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese);
s32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese);
void sub_80062B0(struct Sprite *sprite);
+u8 CreateTextCursorSpriteForOakSpeech(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority);
+void sub_8006398(u8 spriteId);
#endif // GUARD_TEXT_H
diff --git a/include/text_window.h b/include/text_window.h
index 72ce50efc..8a4113c62 100644
--- a/include/text_window.h
+++ b/include/text_window.h
@@ -20,6 +20,8 @@ void rbox_fill_rectangle(u8 windowId);
const u16* stdpal_get(u8 id);
const u16* GetOverworldTextboxPalettePtr(void);
void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset);
+void sub_814FEAC(u8 windowId, u16 tileStart, u8 palette);
void sub_814FF2C(u8 windowId, u16 tileStart, u8 palette);
+void sub_815001C(u8 windowId, u16 tileStart, u8 palette);
#endif // GUARD_TEXT_WINDOW_H
diff --git a/include/tm_case.h b/include/tm_case.h
new file mode 100644
index 000000000..f77eae457
--- /dev/null
+++ b/include/tm_case.h
@@ -0,0 +1,8 @@
+#ifndef GUARD_TM_CASE_H
+#define GUARD_TM_CASE_H
+
+void InitTMCase(u8 a0, void (* a1)(void), u8 a2);
+void ResetTMCaseCursorPos(void);
+void PokeDude_InitTMCase(void);
+
+#endif //GUARD_TM_CASE_H
diff --git a/include/unknown_task.h b/include/unknown_task.h
deleted file mode 100644
index 429e58aad..000000000
--- a/include/unknown_task.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef GUARD_unknown_task_H
-#define GUARD_unknown_task_H
-
-#include "global.h"
-
-// Exported type declarations
-struct UnknownTaskStruct
-{
- volatile void *dest;
- u32 control;
- u8 unk8;
- u8 unk9;
-};
-
-extern struct UnknownTaskStruct gUnknown_0831AC70;
-
-// Exported RAM declarations
-
-// Exported ROM declarations
-void remove_some_task(void);
-void sub_80BA038(struct UnknownTaskStruct arg0);
-void sub_80BA0A8(void);
-
-#endif // GUARD_unknown_task_H
diff --git a/include/wild_encounter.h b/include/wild_encounter.h
index 2186e0b4f..b4c42116a 100644
--- a/include/wild_encounter.h
+++ b/include/wild_encounter.h
@@ -43,5 +43,6 @@ u16 GetLocalWildMon(bool8 *isWaterMon);
u16 GetLocalWaterMon(void);
bool8 UpdateRepelCounter(void);
void sub_8082740(u8);
+u8 GetUnownLetterByPersonality(u32 personality);
#endif // GUARD_WILD_ENCOUNTER_H
diff --git a/include/window.h b/include/window.h
index 2705a7895..8edaf73ae 100644
--- a/include/window.h
+++ b/include/window.h
@@ -56,7 +56,7 @@ void PutWindowTilemap(u8 windowId);
void PutWindowRectTilemapOverridePalette(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 palette);
void ClearWindowTilemap(u8 windowId);
void PutWindowRectTilemap(u8 windowId, u8 x, u8 y, u8 width, u8 height);
-void BlitBitmapToWindow(u8 windowId, u8 *pixels, u16 x, u16 y, u16 width, u16 height);
+void BlitBitmapToWindow(u8 windowId, const u8 *pixels, u16 x, u16 y, u16 width, u16 height);
void BlitBitmapRectToWindow(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight);
void FillWindowPixelRect(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height);
void CopyToWindowPixelBuffer(u8 windowId, const u8 *src, u16 size, u16 tileOffset);