diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-05-16 13:51:22 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-05-16 13:51:22 -0400 |
commit | 247608c3b33ba0865d8504e69e0139ba52c2f82b (patch) | |
tree | 310aa0eb23f5fe377c42e0d3ea13cf57f2c69239 | |
parent | 94e4334d950914392e9a98e34a1b259a066756ea (diff) |
Disassemble spawn points array
-rw-r--r-- | asm/heal_location.s | 12 | ||||
-rw-r--r-- | constants/constants.inc | 1 | ||||
-rw-r--r-- | constants/map_constants.inc | 518 | ||||
-rw-r--r-- | data/data_835B488.s | 37 | ||||
-rw-r--r-- | data/event_scripts.s | 1 | ||||
-rw-r--r-- | include/constants/spawn_points.h | 26 |
6 files changed, 584 insertions, 11 deletions
diff --git a/asm/heal_location.s b/asm/heal_location.s index 34eb1461b..bdf12aa5d 100644 --- a/asm/heal_location.s +++ b/asm/heal_location.s @@ -13,7 +13,7 @@ GetHealLocationIndexFromMapGroupAndNum: @ 80BFC50 lsls r1, 16 lsrs r1, 16 movs r3, 0 - ldr r2, _080BFC74 @ =gUnknown_83EEBF8 + ldr r2, _080BFC74 @ =sSpawnPoints _080BFC5E: movs r0, 0 ldrsb r0, [r2, r0] @@ -26,7 +26,7 @@ _080BFC5E: adds r0, r3, 0x1 b _080BFC82 .align 2, 0 -_080BFC74: .4byte gUnknown_83EEBF8 +_080BFC74: .4byte sSpawnPoints _080BFC78: adds r2, 0x8 adds r3, 0x1 @@ -50,11 +50,11 @@ GetHealLocationPointerFromMapGroupAndNum: @ 80BFC88 cmp r0, 0 beq _080BFCA8 lsls r0, 3 - ldr r1, _080BFCA4 @ =gUnknown_83EEBF0 + ldr r1, _080BFCA4 @ =sSpawnPoints - 8 adds r0, r1 b _080BFCAA .align 2, 0 -_080BFCA4: .4byte gUnknown_83EEBF0 +_080BFCA4: .4byte sSpawnPoints - 8 _080BFCA8: movs r0, 0 _080BFCAA: @@ -70,11 +70,11 @@ GetHealLocationPointer: @ 80BFCB0 cmp r0, 0x14 bhi _080BFCC8 lsls r0, 3 - ldr r1, _080BFCC4 @ =gUnknown_83EEBF0 + ldr r1, _080BFCC4 @ =sSpawnPoints - 8 adds r0, r1 b _080BFCCA .align 2, 0 -_080BFCC4: .4byte gUnknown_83EEBF0 +_080BFCC4: .4byte sSpawnPoints - 8 _080BFCC8: movs r0, 0 _080BFCCA: diff --git a/constants/constants.inc b/constants/constants.inc index 4365e90e1..814dc580b 100644 --- a/constants/constants.inc +++ b/constants/constants.inc @@ -10,3 +10,4 @@ .include "constants/battle.inc" .include "constants/battle_text.inc" .include "constants/contest_move_effects.inc" + .include "constants/map_constants.inc" diff --git a/constants/map_constants.inc b/constants/map_constants.inc new file mode 100644 index 000000000..7d41ee472 --- /dev/null +++ b/constants/map_constants.inc @@ -0,0 +1,518 @@ + .ifndef GUARD_CONSTANTS_MAP_GROUPS_H + .set GUARD_CONSTANTS_MAP_GROUPS_H, 1 + + +@ Map Group 0 + .set MAP_UNKNOWN_MAP_00_00, (0 | (0 << 8)) + .set MAP_UNKNOWN_MAP_00_01, (1 | (0 << 8)) + .set MAP_UNKNOWN_MAP_00_02, (2 | (0 << 8)) + .set MAP_UNKNOWN_MAP_00_03, (3 | (0 << 8)) + .set MAP_UNKNOWN_MAP_00_04, (4 | (0 << 8)) + +@ Map Group 1 + .set MAP_VIRIDIAN_FOREST, (0 | (1 << 8)) + .set MAP_MT_MOON_1F, (1 | (1 << 8)) + .set MAP_MT_MOON_B1F, (2 | (1 << 8)) + .set MAP_MT_MOON_B2F, (3 | (1 << 8)) + .set MAP_SSANNE_EXTERIOR, (4 | (1 << 8)) + .set MAP_SSANNE_1F_CORRIDOR, (5 | (1 << 8)) + .set MAP_SSANNE_2F_CORRIDOR, (6 | (1 << 8)) + .set MAP_SSANNE_3F_CORRIDOR, (7 | (1 << 8)) + .set MAP_SSANNE_B1F_CORRIDOR, (8 | (1 << 8)) + .set MAP_SSANNE_DECK, (9 | (1 << 8)) + .set MAP_SSANNE_KITCHEN, (10 | (1 << 8)) + .set MAP_SSANNE_CAPTAINS_OFFICE, (11 | (1 << 8)) + .set MAP_SSANNE_1F_ROOM1, (12 | (1 << 8)) + .set MAP_SSANNE_1F_ROOM2, (13 | (1 << 8)) + .set MAP_SSANNE_1F_ROOM3, (14 | (1 << 8)) + .set MAP_SSANNE_1F_ROOM4, (15 | (1 << 8)) + .set MAP_SSANNE_1F_ROOM5, (16 | (1 << 8)) + .set MAP_SSANNE_1F_ROOM7, (17 | (1 << 8)) + .set MAP_SSANNE_2F_ROOM1, (18 | (1 << 8)) + .set MAP_SSANNE_2F_ROOM2, (19 | (1 << 8)) + .set MAP_SSANNE_2F_ROOM3, (20 | (1 << 8)) + .set MAP_SSANNE_2F_ROOM4, (21 | (1 << 8)) + .set MAP_SSANNE_2F_ROOM5, (22 | (1 << 8)) + .set MAP_SSANNE_2F_ROOM6, (23 | (1 << 8)) + .set MAP_SSANNE_B1F_ROOM1, (24 | (1 << 8)) + .set MAP_SSANNE_B1F_ROOM2, (25 | (1 << 8)) + .set MAP_SSANNE_B1F_ROOM3, (26 | (1 << 8)) + .set MAP_SSANNE_B1F_ROOM4, (27 | (1 << 8)) + .set MAP_SSANNE_B1F_ROOM5, (28 | (1 << 8)) + .set MAP_SSANNE_1F_ROOM6, (29 | (1 << 8)) + .set MAP_UNDERGROUND_PATH_NORTH_ENTRANCE, (30 | (1 << 8)) + .set MAP_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL, (31 | (1 << 8)) + .set MAP_UNDERGROUND_PATH_SOUTH_ENTRANCE, (32 | (1 << 8)) + .set MAP_UNDERGROUND_PATH_WEST_ENTRANCE, (33 | (1 << 8)) + .set MAP_UNDERGROUND_PATH_EAST_WEST_TUNNEL, (34 | (1 << 8)) + .set MAP_UNDERGROUND_PATH_EAST_ENTRANCE, (35 | (1 << 8)) + .set MAP_DIGLETTS_CAVE_NORTH_ENTRANCE, (36 | (1 << 8)) + .set MAP_DIGLETTS_CAVE_B1F, (37 | (1 << 8)) + .set MAP_DIGLETTS_CAVE_SOUTH_ENTRANCE, (38 | (1 << 8)) + .set MAP_VICTORY_ROAD_1F, (39 | (1 << 8)) + .set MAP_VICTORY_ROAD_2F, (40 | (1 << 8)) + .set MAP_VICTORY_ROAD_3F, (41 | (1 << 8)) + .set MAP_ROCKET_HIDEOUT_B1F, (42 | (1 << 8)) + .set MAP_ROCKET_HIDEOUT_B2F, (43 | (1 << 8)) + .set MAP_ROCKET_HIDEOUT_B3F, (44 | (1 << 8)) + .set MAP_ROCKET_HIDEOUT_B4F, (45 | (1 << 8)) + .set MAP_ROCKET_HIDEOUT_ELEVATOR, (46 | (1 << 8)) + .set MAP_SILPH_CO_1F, (47 | (1 << 8)) + .set MAP_SILPH_CO_2F, (48 | (1 << 8)) + .set MAP_SILPH_CO_3F, (49 | (1 << 8)) + .set MAP_SILPH_CO_4F, (50 | (1 << 8)) + .set MAP_SILPH_CO_5F, (51 | (1 << 8)) + .set MAP_SILPH_CO_6F, (52 | (1 << 8)) + .set MAP_SILPH_CO_7F, (53 | (1 << 8)) + .set MAP_SILPH_CO_8F, (54 | (1 << 8)) + .set MAP_SILPH_CO_9F, (55 | (1 << 8)) + .set MAP_SILPH_CO_10F, (56 | (1 << 8)) + .set MAP_SILPH_CO_11F, (57 | (1 << 8)) + .set MAP_SILPH_CO_ELEVATOR, (58 | (1 << 8)) + .set MAP_POKEMON_MANSION_1F, (59 | (1 << 8)) + .set MAP_POKEMON_MANSION_2F, (60 | (1 << 8)) + .set MAP_POKEMON_MANSION_3F, (61 | (1 << 8)) + .set MAP_POKEMON_MANSION_B1F, (62 | (1 << 8)) + .set MAP_SAFARI_ZONE_CENTER, (63 | (1 << 8)) + .set MAP_SAFARI_ZONE_EAST, (64 | (1 << 8)) + .set MAP_SAFARI_ZONE_NORTH, (65 | (1 << 8)) + .set MAP_SAFARI_ZONE_WEST, (66 | (1 << 8)) + .set MAP_SAFARI_ZONE_BUILDING1, (67 | (1 << 8)) + .set MAP_SAFARI_ZONE_BUILDING2, (68 | (1 << 8)) + .set MAP_SAFARI_ZONE_BUILDING3, (69 | (1 << 8)) + .set MAP_SAFARI_ZONE_BUILDING4, (70 | (1 << 8)) + .set MAP_SAFARI_ZONE_SECRET_HOUSE, (71 | (1 << 8)) + .set MAP_CERULEAN_CAVE_1F, (72 | (1 << 8)) + .set MAP_CERULEAN_CAVE_2F, (73 | (1 << 8)) + .set MAP_CERULEAN_CAVE_B1F, (74 | (1 << 8)) + .set MAP_POKEMON_LEAGUE_LORELEIS_ROOM, (75 | (1 << 8)) + .set MAP_POKEMON_LEAGUE_BRUNOS_ROOM, (76 | (1 << 8)) + .set MAP_POKEMON_LEAGUE_AGATHAS_ROOM, (77 | (1 << 8)) + .set MAP_POKEMON_LEAGUE_LANCES_ROOM, (78 | (1 << 8)) + .set MAP_POKEMON_LEAGUE_CHAMPIONS_ROOM, (79 | (1 << 8)) + .set MAP_POKEMON_LEAGUE_HALL_OF_FAME, (80 | (1 << 8)) + .set MAP_ROCK_TUNNEL_1F, (81 | (1 << 8)) + .set MAP_ROCK_TUNNEL_B1F, (82 | (1 << 8)) + .set MAP_SEAFOAM_ISLANDS_1F, (83 | (1 << 8)) + .set MAP_SEAFOAM_ISLANDS_B1F, (84 | (1 << 8)) + .set MAP_SEAFOAM_ISLANDS_B2F, (85 | (1 << 8)) + .set MAP_SEAFOAM_ISLANDS_B3F, (86 | (1 << 8)) + .set MAP_SEAFOAM_ISLANDS_B4F, (87 | (1 << 8)) + .set MAP_POKEMON_TOWER_1F, (88 | (1 << 8)) + .set MAP_POKEMON_TOWER_2F, (89 | (1 << 8)) + .set MAP_POKEMON_TOWER_3F, (90 | (1 << 8)) + .set MAP_POKEMON_TOWER_4F, (91 | (1 << 8)) + .set MAP_POKEMON_TOWER_5F, (92 | (1 << 8)) + .set MAP_POKEMON_TOWER_6F, (93 | (1 << 8)) + .set MAP_POKEMON_TOWER_7F, (94 | (1 << 8)) + .set MAP_POWER_PLANT, (95 | (1 << 8)) + .set MAP_MT_EMBER_RUBY_PATH_B4F, (96 | (1 << 8)) + .set MAP_MT_EMBER_EXTERIOR, (97 | (1 << 8)) + .set MAP_MT_EMBER_SUMMIT_PATH_1F, (98 | (1 << 8)) + .set MAP_MT_EMBER_SUMMIT_PATH_2F, (99 | (1 << 8)) + .set MAP_MT_EMBER_SUMMIT_PATH_3F, (100 | (1 << 8)) + .set MAP_MT_EMBER_SUMMIT, (101 | (1 << 8)) + .set MAP_MT_EMBER_RUBY_PATH_B5F, (102 | (1 << 8)) + .set MAP_MT_EMBER_RUBY_PATH_1F, (103 | (1 << 8)) + .set MAP_MT_EMBER_RUBY_PATH_B1F, (104 | (1 << 8)) + .set MAP_MT_EMBER_RUBY_PATH_B2F, (105 | (1 << 8)) + .set MAP_MT_EMBER_RUBY_PATH_B3F, (106 | (1 << 8)) + .set MAP_MT_EMBER_RUBY_PATH_B1F_STAIRS, (107 | (1 << 8)) + .set MAP_MT_EMBER_RUBY_PATH_B2F_STAIRS, (108 | (1 << 8)) + .set MAP_THREE_ISLAND_BERRY_FOREST, (109 | (1 << 8)) + .set MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE, (110 | (1 << 8)) + .set MAP_FOUR_ISLAND_ICEFALL_CAVE_1F, (111 | (1 << 8)) + .set MAP_FOUR_ISLAND_ICEFALL_CAVE_B1F, (112 | (1 << 8)) + .set MAP_FOUR_ISLAND_ICEFALL_CAVE_BACK, (113 | (1 << 8)) + .set MAP_FIVE_ISLAND_ROCKET_WAREHOUSE, (114 | (1 << 8)) + .set MAP_SIX_ISLAND_DOTTED_HOLE_1F, (115 | (1 << 8)) + .set MAP_SIX_ISLAND_DOTTED_HOLE_B1F, (116 | (1 << 8)) + .set MAP_SIX_ISLAND_DOTTED_HOLE_B2F, (117 | (1 << 8)) + .set MAP_SIX_ISLAND_DOTTED_HOLE_B3F, (118 | (1 << 8)) + .set MAP_SIX_ISLAND_DOTTED_HOLE_B4F, (119 | (1 << 8)) + .set MAP_SIX_ISLAND_DOTTED_HOLE_SAPPHIRE_ROOM, (120 | (1 << 8)) + .set MAP_SIX_ISLAND_PATTERN_BUSH, (121 | (1 << 8)) + .set MAP_SIX_ISLAND_ALTERING_CAVE, (122 | (1 << 8)) + +@ Map Group 2 + .set MAP_NAVEL_ROCK_EXTERIOR, (0 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_1F, (1 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_2F, (2 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_3F, (3 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_4F, (4 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_5F, (5 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_6F, (6 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_7F, (7 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_8F, (8 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_ROOF, (9 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_LOBBY, (10 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER_ELEVATOR, (11 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ENTRANCE, (12 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM1, (13 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM2, (14 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM3, (15 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM4, (16 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM5, (17 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM6, (18 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM7, (19 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM8, (20 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM9, (21 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM10, (22 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM11, (23 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM12, (24 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM13, (25 | (2 << 8)) + .set MAP_FIVE_ISLAND_LOST_CAVE_ROOM14, (26 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER, (27 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TANOBY_RUINS_LIPTOO_CHAMBER, (28 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TANOBY_RUINS_WEEPTH_CHAMBER, (29 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TANOBY_RUINS_DILFORD_CHAMBER, (30 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TANOBY_RUINS_SCUFIB_CHAMBER, (31 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TANOBY_RUINS_RIXY_CHAMBER, (32 | (2 << 8)) + .set MAP_SEVEN_ISLAND_TANOBY_RUINS_VIAPOIS_CHAMBER, (33 | (2 << 8)) + .set MAP_THREE_ISLAND_DUNSPARCE_TUNNEL, (34 | (2 << 8)) + .set MAP_SEVEN_ISLAND_SEAVAULT_CANYON_TANOBY_KEY, (35 | (2 << 8)) + .set MAP_NAVEL_ROCK_1F, (36 | (2 << 8)) + .set MAP_NAVEL_ROCK_SUMMIT, (37 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE, (38 | (2 << 8)) + .set MAP_NAVEL_ROCK_SUMMIT_PATH_2F, (39 | (2 << 8)) + .set MAP_NAVEL_ROCK_SUMMIT_PATH_3F, (40 | (2 << 8)) + .set MAP_NAVEL_ROCK_SUMMIT_PATH_4F, (41 | (2 << 8)) + .set MAP_NAVEL_ROCK_SUMMIT_PATH_5F, (42 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B1F, (43 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B2F, (44 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B3F, (45 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B4F, (46 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B5F, (47 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B6F, (48 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B7F, (49 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B8F, (50 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B9F, (51 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B10F, (52 | (2 << 8)) + .set MAP_NAVEL_ROCK_BASE_PATH_B11F, (53 | (2 << 8)) + .set MAP_NAVEL_ROCK_B1F, (54 | (2 << 8)) + .set MAP_NAVEL_ROCK_FORK, (55 | (2 << 8)) + .set MAP_BIRTH_ISLAND_EXTERIOR, (56 | (2 << 8)) + .set MAP_ONE_ISLAND_KINDLE_ROAD_EMBER_SPA, (57 | (2 << 8)) + .set MAP_BIRTH_ISLAND_HARBOR, (58 | (2 << 8)) + .set MAP_NAVEL_ROCK_HARBOR, (59 | (2 << 8)) + +@ Map Group 3 + .set MAP_PALLET_TOWN, (0 | (3 << 8)) + .set MAP_VIRIDIAN_CITY, (1 | (3 << 8)) + .set MAP_PEWTER_CITY, (2 | (3 << 8)) + .set MAP_CERULEAN_CITY, (3 | (3 << 8)) + .set MAP_LAVENDER_TOWN, (4 | (3 << 8)) + .set MAP_VERMILION_CITY, (5 | (3 << 8)) + .set MAP_CELADON_CITY, (6 | (3 << 8)) + .set MAP_FUCHSIA_CITY, (7 | (3 << 8)) + .set MAP_CINNABAR_ISLAND, (8 | (3 << 8)) + .set MAP_INDIGO_PLATEAU_EXTERIOR, (9 | (3 << 8)) + .set MAP_SAFFRON_CITY_DUPLICATE, (10 | (3 << 8)) + .set MAP_SAFFRON_CITY, (11 | (3 << 8)) + .set MAP_ONE_ISLAND, (12 | (3 << 8)) + .set MAP_TWO_ISLAND, (13 | (3 << 8)) + .set MAP_THREE_ISLAND, (14 | (3 << 8)) + .set MAP_FOUR_ISLAND, (15 | (3 << 8)) + .set MAP_FIVE_ISLAND, (16 | (3 << 8)) + .set MAP_SEVEN_ISLAND, (17 | (3 << 8)) + .set MAP_SIX_ISLAND, (18 | (3 << 8)) + .set MAP_ROUTE1, (19 | (3 << 8)) + .set MAP_ROUTE2, (20 | (3 << 8)) + .set MAP_ROUTE3, (21 | (3 << 8)) + .set MAP_ROUTE4, (22 | (3 << 8)) + .set MAP_ROUTE5, (23 | (3 << 8)) + .set MAP_ROUTE6, (24 | (3 << 8)) + .set MAP_ROUTE7, (25 | (3 << 8)) + .set MAP_ROUTE8, (26 | (3 << 8)) + .set MAP_ROUTE9, (27 | (3 << 8)) + .set MAP_ROUTE10, (28 | (3 << 8)) + .set MAP_ROUTE11, (29 | (3 << 8)) + .set MAP_ROUTE12, (30 | (3 << 8)) + .set MAP_ROUTE13, (31 | (3 << 8)) + .set MAP_ROUTE14, (32 | (3 << 8)) + .set MAP_ROUTE15, (33 | (3 << 8)) + .set MAP_ROUTE16, (34 | (3 << 8)) + .set MAP_ROUTE17, (35 | (3 << 8)) + .set MAP_ROUTE18, (36 | (3 << 8)) + .set MAP_ROUTE19, (37 | (3 << 8)) + .set MAP_ROUTE20, (38 | (3 << 8)) + .set MAP_ROUTE21_NORTH, (39 | (3 << 8)) + .set MAP_ROUTE21_SOUTH, (40 | (3 << 8)) + .set MAP_ROUTE22, (41 | (3 << 8)) + .set MAP_ROUTE23, (42 | (3 << 8)) + .set MAP_ROUTE24, (43 | (3 << 8)) + .set MAP_ROUTE25, (44 | (3 << 8)) + .set MAP_ONE_ISLAND_KINDLE_ROAD, (45 | (3 << 8)) + .set MAP_ONE_ISLAND_TREASURE_BEACH, (46 | (3 << 8)) + .set MAP_TWO_ISLAND_CAPE_BRINK, (47 | (3 << 8)) + .set MAP_THREE_ISLAND_BOND_BRIDGE, (48 | (3 << 8)) + .set MAP_THREE_ISLAND_PORT, (49 | (3 << 8)) + .set MAP_UNKNOWN_MAP_03_50, (50 | (3 << 8)) + .set MAP_UNKNOWN_MAP_03_51, (51 | (3 << 8)) + .set MAP_UNKNOWN_MAP_03_52, (52 | (3 << 8)) + .set MAP_UNKNOWN_MAP_03_53, (53 | (3 << 8)) + .set MAP_FIVE_ISLAND_RESORT_GORGEOUS, (54 | (3 << 8)) + .set MAP_FIVE_ISLAND_WATER_LABYRINTH, (55 | (3 << 8)) + .set MAP_FIVE_ISLAND_MEADOW, (56 | (3 << 8)) + .set MAP_FIVE_ISLAND_MEMORIAL_PILLAR, (57 | (3 << 8)) + .set MAP_SIX_ISLAND_OUTCAST_ISLAND, (58 | (3 << 8)) + .set MAP_SIX_ISLAND_GREEN_PATH, (59 | (3 << 8)) + .set MAP_SIX_ISLAND_WATER_PATH, (60 | (3 << 8)) + .set MAP_SIX_ISLAND_RUIN_VALLEY, (61 | (3 << 8)) + .set MAP_SEVEN_ISLAND_TRAINER_TOWER, (62 | (3 << 8)) + .set MAP_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE, (63 | (3 << 8)) + .set MAP_SEVEN_ISLAND_SEVAULT_CANYON, (64 | (3 << 8)) + .set MAP_SEVEN_ISLAND_TANOBY_RUINS, (65 | (3 << 8)) + +@ Map Group 4 + .set MAP_PALLET_TOWN_PLAYERS_HOUSE_1F, (0 | (4 << 8)) + .set MAP_PALLET_TOWN_PLAYERS_HOUSE_2F, (1 | (4 << 8)) + .set MAP_PALLET_TOWN_GARYS_HOUSE, (2 | (4 << 8)) + .set MAP_PALLET_TOWN_PROFESSOR_OAKS_LAB, (3 | (4 << 8)) + +@ Map Group 5 + .set MAP_VIRIDIAN_CITY_HOUSE1, (0 | (5 << 8)) + .set MAP_VIRIDIAN_CITY_GYM, (1 | (5 << 8)) + .set MAP_VIRIDIAN_CITY_HOUSE2, (2 | (5 << 8)) + .set MAP_VIRIDIAN_CITY_MART, (3 | (5 << 8)) + .set MAP_VIRIDIAN_CITY_POKEMON_CENTER_1F, (4 | (5 << 8)) + .set MAP_VIRIDIAN_CITY_POKEMON_CENTER_2F, (5 | (5 << 8)) + +@ Map Group 6 + .set MAP_PEWTER_CITY_MUSEUM_1F, (0 | (6 << 8)) + .set MAP_PEWTER_CITY_MUSEUM_2F, (1 | (6 << 8)) + .set MAP_PEWTER_CITY_GYM, (2 | (6 << 8)) + .set MAP_PEWTER_CITY_MART, (3 | (6 << 8)) + .set MAP_PEWTER_CITY_HOUSE1, (4 | (6 << 8)) + .set MAP_PEWTER_CITY_POKEMON_CENTER_1F, (5 | (6 << 8)) + .set MAP_PEWTER_CITY_POKEMON_CENTER_2F, (6 | (6 << 8)) + .set MAP_PEWTER_CITY_HOUSE2, (7 | (6 << 8)) + +@ Map Group 7 + .set MAP_CERULEAN_CITY_HOUSE1, (0 | (7 << 8)) + .set MAP_CERULEAN_CITY_HOUSE2, (1 | (7 << 8)) + .set MAP_CERULEAN_CITY_HOUSE3, (2 | (7 << 8)) + .set MAP_CERULEAN_CITY_POKEMON_CENTER_1F, (3 | (7 << 8)) + .set MAP_CERULEAN_CITY_POKEMON_CENTER_2F, (4 | (7 << 8)) + .set MAP_CERULEAN_CITY_GYM, (5 | (7 << 8)) + .set MAP_CERULEAN_CITY_BIKE_SHOP, (6 | (7 << 8)) + .set MAP_CERULEAN_CITY_MART, (7 | (7 << 8)) + .set MAP_CERULEAN_CITY_HOUSE4, (8 | (7 << 8)) + .set MAP_CERULEAN_CITY_HOUSE5, (9 | (7 << 8)) + +@ Map Group 8 + .set MAP_LAVENDER_TOWN_POKEMON_CENTER_1F, (0 | (8 << 8)) + .set MAP_LAVENDER_TOWN_POKEMON_CENTER_2F, (1 | (8 << 8)) + .set MAP_LAVENDER_TOWN_VOLUNTEER_POKEMON_HOUSE, (2 | (8 << 8)) + .set MAP_LAVENDER_TOWN_HOUSE1, (3 | (8 << 8)) + .set MAP_LAVENDER_TOWN_HOUSE2, (4 | (8 << 8)) + .set MAP_LAVENDER_TOWN_MART, (5 | (8 << 8)) + +@ Map Group 9 + .set MAP_VERMILION_CITY_HOUSE1, (0 | (9 << 8)) + .set MAP_VERMILION_CITY_POKEMON_CENTER_1F, (1 | (9 << 8)) + .set MAP_VERMILION_CITY_POKEMON_CENTER_2F, (2 | (9 << 8)) + .set MAP_VERMILION_CITY_POKEMON_FAN_CLUB, (3 | (9 << 8)) + .set MAP_VERMILION_CITY_HOUSE2, (4 | (9 << 8)) + .set MAP_VERMILION_CITY_MART, (5 | (9 << 8)) + .set MAP_VERMILION_CITY_GYM, (6 | (9 << 8)) + .set MAP_VERMILION_CITY_HOUSE3, (7 | (9 << 8)) + +@ Map Group 10 + .set MAP_CELADON_CITY_DEPARTMENT_STORE_1F, (0 | (10 << 8)) + .set MAP_CELADON_CITY_DEPARTMENT_STORE_2F, (1 | (10 << 8)) + .set MAP_CELADON_CITY_DEPARTMENT_STORE_3F, (2 | (10 << 8)) + .set MAP_CELADON_CITY_DEPARTMENT_STORE_4F, (3 | (10 << 8)) + .set MAP_CELADON_CITY_DEPARTMENT_STORE_5F, (4 | (10 << 8)) + .set MAP_CELADON_CITY_DEPARTMENT_STORE_ROOF, (5 | (10 << 8)) + .set MAP_CELADON_CITY_DEPARTMENT_STORE_ELEVATOR, (6 | (10 << 8)) + .set MAP_CELADON_CITY_CONDOMINIUMS_1F, (7 | (10 << 8)) + .set MAP_CELADON_CITY_CONDOMINIUMS_2F, (8 | (10 << 8)) + .set MAP_CELADON_CITY_CONDOMINIUMS_3F, (9 | (10 << 8)) + .set MAP_CELADON_CITY_CONDOMINIUMS_ROOF, (10 | (10 << 8)) + .set MAP_CELADON_CITY_CONDOMINIUMS_ROOF_ROOM, (11 | (10 << 8)) + .set MAP_CELADON_CITY_POKEMON_CENTER_1F, (12 | (10 << 8)) + .set MAP_CELADON_CITY_POKEMON_CENTER_2F, (13 | (10 << 8)) + .set MAP_CELADON_CITY_GAME_CORNER, (14 | (10 << 8)) + .set MAP_CELADON_CITY_GAME_CORNER_PRIZE_ROOM, (15 | (10 << 8)) + .set MAP_CELADON_CITY_GYM, (16 | (10 << 8)) + .set MAP_CELADON_CITY_RESTAURANT, (17 | (10 << 8)) + .set MAP_CELADON_CITY_HOUSE1, (18 | (10 << 8)) + .set MAP_CELADON_CITY_HOTEL, (19 | (10 << 8)) + +@ Map Group 11 + .set MAP_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, (0 | (11 << 8)) + .set MAP_FUCHSIA_CITY_MART, (1 | (11 << 8)) + .set MAP_FUCHSIA_CITY_ZOO_BUILDING, (2 | (11 << 8)) + .set MAP_FUCHSIA_CITY_GYM, (3 | (11 << 8)) + .set MAP_FUCHSIA_CITY_HOUSE1, (4 | (11 << 8)) + .set MAP_FUCHSIA_CITY_POKEMON_CENTER_1F, (5 | (11 << 8)) + .set MAP_FUCHSIA_CITY_POKEMON_CENTER_2F, (6 | (11 << 8)) + .set MAP_FUCHSIA_CITY_BUILDING1, (7 | (11 << 8)) + .set MAP_FUCHSIA_CITY_HOUSE2, (8 | (11 << 8)) + .set MAP_FUCHSIA_CITY_HOUSE3, (9 | (11 << 8)) + +@ Map Group 12 + .set MAP_CINNABAR_ISLAND_GYM, (0 | (12 << 8)) + .set MAP_CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE, (1 | (12 << 8)) + .set MAP_CINNABAR_ISLAND_POKEMON_LAB_LOUNGE, (2 | (12 << 8)) + .set MAP_CINNABAR_ISLAND_POKEMON_LAB_RESEARCH_ROOM, (3 | (12 << 8)) + .set MAP_CINNABAR_ISLAND_POKEMON_LAB_EXPERIMENT_ROOM, (4 | (12 << 8)) + .set MAP_CINNABAR_ISLAND_POKEMON_CENTER_1F, (5 | (12 << 8)) + .set MAP_CINNABAR_ISLAND_POKEMON_CENTER_2F, (6 | (12 << 8)) + .set MAP_CINNABAR_ISLAND_MART, (7 | (12 << 8)) + +@ Map Group 13 + .set MAP_INDIGO_PLATEAU_POKEMON_CENTER_1F, (0 | (13 << 8)) + .set MAP_INDIGO_PLATEAU_POKEMON_CENTER_2F, (1 | (13 << 8)) + +@ Map Group 14 + .set MAP_SAFFRON_CITY_HOUSE1_1F, (0 | (14 << 8)) + .set MAP_SAFFRON_CITY_HOUSE1_2F, (1 | (14 << 8)) + .set MAP_SAFFRON_CITY_DOJO, (2 | (14 << 8)) + .set MAP_SAFFRON_CITY_GYM, (3 | (14 << 8)) + .set MAP_SAFFRON_CITY_HOUSE2, (4 | (14 << 8)) + .set MAP_SAFFRON_CITY_MART, (5 | (14 << 8)) + .set MAP_SAFFRON_CITY_POKEMON_CENTER_1F, (6 | (14 << 8)) + .set MAP_SAFFRON_CITY_POKEMON_CENTER_2F, (7 | (14 << 8)) + .set MAP_SAFFRON_CITY_HOUSE3, (8 | (14 << 8)) + .set MAP_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB, (9 | (14 << 8)) + +@ Map Group 15 + .set MAP_ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE, (0 | (15 << 8)) + .set MAP_ROUTE2_HOUSE, (1 | (15 << 8)) + .set MAP_ROUTE2_EAST_BUILDING, (2 | (15 << 8)) + .set MAP_ROUTE2_VIRIDIAN_FOREST_NORTH_ENTRANCE, (3 | (15 << 8)) + +@ Map Group 16 + .set MAP_ROUTE4_POKEMON_CENTER_1F, (0 | (16 << 8)) + .set MAP_ROUTE4_POKEMON_CENTER_2F, (1 | (16 << 8)) + +@ Map Group 17 + .set MAP_ROUTE5_POKEMON_DAY_CARE, (0 | (17 << 8)) + .set MAP_ROUTE5_SOUTH_ENTRANCE, (1 | (17 << 8)) + +@ Map Group 18 + .set MAP_ROUTE6_NORTH_ENTRANCE, (0 | (18 << 8)) + .set MAP_UNKNOWN_MAP_18_01, (1 | (18 << 8)) + +@ Map Group 19 + .set MAP_ROUTE7_EAST_ENTRANCE, (0 | (19 << 8)) + +@ Map Group 20 + .set MAP_ROUTE8_WEST_ENTRANCE, (0 | (20 << 8)) + +@ Map Group 21 + .set MAP_ROUTE10_POKEMON_CENTER_1F, (0 | (21 << 8)) + .set MAP_ROUTE10_POKEMON_CENTER_2F, (1 | (21 << 8)) + +@ Map Group 22 + .set MAP_ROUTE11_EAST_ENTRANCE_1F, (0 | (22 << 8)) + .set MAP_ROUTE11_EAST_ENTRANCE_2F, (1 | (22 << 8)) + +@ Map Group 23 + .set MAP_ROUTE12_NORTH_ENTRANCE_1F, (0 | (23 << 8)) + .set MAP_ROUTE12_NORTH_ENTRANCE_2F, (1 | (23 << 8)) + .set MAP_ROUTE12_FISHING_HOUSE, (2 | (23 << 8)) + +@ Map Group 24 + .set MAP_ROUTE15_WEST_ENTRANCE_1F, (0 | (24 << 8)) + .set MAP_ROUTE15_WEST_ENTRANCE_2F, (1 | (24 << 8)) + +@ Map Group 25 + .set MAP_ROUTE16_HOUSE, (0 | (25 << 8)) + .set MAP_ROUTE16_NORTH_ENTRANCE_1F, (1 | (25 << 8)) + .set MAP_ROUTE16_NORTH_ENTRANCE_2F, (2 | (25 << 8)) + +@ Map Group 26 + .set MAP_ROUTE18_EAST_ENTRANCE_1F, (0 | (26 << 8)) + .set MAP_ROUTE18_EAST_ENTRANCE_2F, (1 | (26 << 8)) + +@ Map Group 27 + .set MAP_UNUSED_HOUSE_27_00, (0 | (27 << 8)) + +@ Map Group 28 + .set MAP_ROUTE22_NORTH_ENTRANCE, (0 | (28 << 8)) + +@ Map Group 29 + .set MAP_UNUSED_HOUSE_29_00, (0 | (29 << 8)) + +@ Map Group 30 + .set MAP_ROUTE25_SEA_COTTAGE, (0 | (30 << 8)) + +@ Map Group 31 + .set MAP_SEVEN_ISLAND_HOUSE_ROOM1, (0 | (31 << 8)) + .set MAP_SEVEN_ISLAND_HOUSE_ROOM2, (1 | (31 << 8)) + .set MAP_SEVEN_ISLAND_MART, (2 | (31 << 8)) + .set MAP_SEVEN_ISLAND_POKEMON_CENTER_1F, (3 | (31 << 8)) + .set MAP_SEVEN_ISLAND_POKEMON_CENTER_2F, (4 | (31 << 8)) + .set MAP_UNUSED_HOUSE_31_05, (5 | (31 << 8)) + .set MAP_SEVEN_ISLAND_HARBOR, (6 | (31 << 8)) + +@ Map Group 32 + .set MAP_ONE_ISLAND_POKEMON_CENTER_1F, (0 | (32 << 8)) + .set MAP_ONE_ISLAND_POKEMON_CENTER_2F, (1 | (32 << 8)) + .set MAP_ONE_ISLAND_HOUSE1, (2 | (32 << 8)) + .set MAP_ONE_ISLAND_HOUSE2, (3 | (32 << 8)) + .set MAP_ONE_ISLAND_HARBOR, (4 | (32 << 8)) + +@ Map Group 33 + .set MAP_TWO_ISLAND_JOYFUL_GAME_CORNER, (0 | (33 << 8)) + .set MAP_TWO_ISLAND_HOUSE, (1 | (33 << 8)) + .set MAP_TWO_ISLAND_POKEMON_CENTER_1F, (2 | (33 << 8)) + .set MAP_TWO_ISLAND_POKEMON_CENTER_2F, (3 | (33 << 8)) + .set MAP_TWO_ISLAND_HARBOR, (4 | (33 << 8)) + +@ Map Group 34 + .set MAP_THREE_ISLAND_HOUSE1, (0 | (34 << 8)) + .set MAP_THREE_ISLAND_POKEMON_CENTER_1F, (1 | (34 << 8)) + .set MAP_THREE_ISLAND_POKEMON_CENTER_2F, (2 | (34 << 8)) + .set MAP_THREE_ISLAND_MART, (3 | (34 << 8)) + .set MAP_THREE_ISLAND_HOUSE2, (4 | (34 << 8)) + .set MAP_THREE_ISLAND_HOUSE3, (5 | (34 << 8)) + .set MAP_THREE_ISLAND_HOUSE4, (6 | (34 << 8)) + .set MAP_THREE_ISLAND_HOUSE5, (7 | (34 << 8)) + +@ Map Group 35 + .set MAP_FOUR_ISLAND_POKEMON_DAY_CARE, (0 | (35 << 8)) + .set MAP_FOUR_ISLAND_POKEMON_CENTER_1F, (1 | (35 << 8)) + .set MAP_FOUR_ISLAND_POKEMON_CENTER_2F, (2 | (35 << 8)) + .set MAP_FOUR_ISLAND_HOUSE1, (3 | (35 << 8)) + .set MAP_FOUR_ISLAND_LORELEIS_HOUSE, (4 | (35 << 8)) + .set MAP_FOUR_ISLAND_HARBOR, (5 | (35 << 8)) + .set MAP_FOUR_ISLAND_HOUSE2, (6 | (35 << 8)) + .set MAP_FOUR_ISLAND_MART, (7 | (35 << 8)) + +@ Map Group 36 + .set MAP_FIVE_ISLAND_POKEMON_CENTER_1F, (0 | (36 << 8)) + .set MAP_FIVE_ISLAND_POKEMON_CENTER_2F, (1 | (36 << 8)) + .set MAP_FIVE_ISLAND_HARBOR, (2 | (36 << 8)) + .set MAP_FIVE_ISLAND_HOUSE1, (3 | (36 << 8)) + .set MAP_FIVE_ISLAND_HOUSE2, (4 | (36 << 8)) + +@ Map Group 37 + .set MAP_SIX_ISLAND_POKEMON_CENTER_1F, (0 | (37 << 8)) + .set MAP_SIX_ISLAND_POKEMON_CENTER_2F, (1 | (37 << 8)) + .set MAP_SIX_ISLAND_HARBOR, (2 | (37 << 8)) + .set MAP_SIX_ISLAND_HOUSE, (3 | (37 << 8)) + .set MAP_SIX_ISLAND_MART, (4 | (37 << 8)) + +@ Map Group 38 + .set MAP_THREE_ISLAND_HARBOR, (0 | (38 << 8)) + +@ Map Group 39 + .set MAP_FIVE_ISLAND_RESORT_GORGEOUS_HOUSE, (0 | (39 << 8)) + +@ Map Group 40 + .set MAP_TWO_ISLAND_CAPE_BRINK_HOUSE, (0 | (40 << 8)) + +@ Map Group 41 + .set MAP_SIX_ISLAND_WATER_PATH_HOUSE1, (0 | (41 << 8)) + .set MAP_SIX_ISLAND_WATER_PATH_HOUSE2, (1 | (41 << 8)) + +@ Map Group 42 + .set MAP_SEVEN_ISLAND_SEVAULT_CANYON_HOUSE, (0 | (42 << 8)) + + .set MAP_GROUPS_COUNT, 43 + + .endif @GUARD_CONSTANTS_MAP_GROUPS_H diff --git a/data/data_835B488.s b/data/data_835B488.s index 2c8a853a8..e0212c964 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -1,3 +1,6 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + .section .rodata .align 2 @@ -1046,14 +1049,38 @@ gUnknown_83EEAC4:: @ 83EEAC4 .incbin "baserom.gba", 0x3EEAC4, 0xA4 gUnknown_83EEB68:: @ 83EEB68 - .incbin "baserom.gba", 0x3EEB68, 0x88 + .incbin "baserom.gba", 0x3EEB68, 0x90 -gUnknown_83EEBF0:: @ 83EEBF0 - .incbin "baserom.gba", 0x3EEBF0, 0x8 + .macro spawn_point map_id, x, y + map \map_id + .2byte \x, \y + .align 2 + .endm -gUnknown_83EEBF8:: @ 83EEBF8 - .incbin "baserom.gba", 0x3EEBF8, 0xA0 + .align 2 +sSpawnPoints:: @ 83EEBF8 + spawn_point MAP_PALLET_TOWN, 0x06, 0x08 + spawn_point MAP_VIRIDIAN_CITY, 0x1a, 0x1b + spawn_point MAP_PEWTER_CITY, 0x11, 0x1a + spawn_point MAP_CERULEAN_CITY, 0x16, 0x14 + spawn_point MAP_LAVENDER_TOWN, 0x06, 0x06 + spawn_point MAP_VERMILION_CITY, 0x0f, 0x07 + spawn_point MAP_CELADON_CITY, 0x30, 0x0c + spawn_point MAP_FUCHSIA_CITY, 0x19, 0x20 + spawn_point MAP_CINNABAR_ISLAND, 0x0e, 0x0c + spawn_point MAP_INDIGO_PLATEAU_EXTERIOR, 0x0b, 0x07 + spawn_point MAP_SAFFRON_CITY_DUPLICATE, 0x18, 0x27 + spawn_point MAP_ROUTE4, 0x0c, 0x06 + spawn_point MAP_ROUTE10, 0x0d, 0x15 + spawn_point MAP_ONE_ISLAND, 0x0e, 0x06 + spawn_point MAP_TWO_ISLAND, 0x15, 0x08 + spawn_point MAP_THREE_ISLAND, 0x0e, 0x1c + spawn_point MAP_FOUR_ISLAND, 0x12, 0x15 + spawn_point MAP_FIVE_ISLAND, 0x12, 0x07 + spawn_point MAP_SEVEN_ISLAND, 0x0c, 0x04 + spawn_point MAP_SIX_ISLAND, 0x0b, 0x0c + .align 2 gUnknown_83EEC98:: @ 83EEC98 .incbin "baserom.gba", 0x3EEC98, 0x50 diff --git a/data/event_scripts.s b/data/event_scripts.s index cff61440b..7f03adfc2 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -9,6 +9,7 @@ #include "constants/trainer_classes.h" #include "constants/vars.h" #include "constants/battle.h" +#include "constants/spawn_points.h" .include "asm/macros.inc" .include "asm/macros/event.inc" @ .include "constants/constants.inc" diff --git a/include/constants/spawn_points.h b/include/constants/spawn_points.h new file mode 100644 index 000000000..9ab89f26d --- /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 0 +#define SPAWN_VIRIDIAN_CITY 1 +#define SPAWN_PEWTER_CITY 2 +#define SPAWN_CERULEAN_CITY 3 +#define SPAWN_LAVENDER_TOWN 4 +#define SPAWN_VERMILION_CITY 5 +#define SPAWN_CELADON_CITY 6 +#define SPAWN_FUCHSIA_CITY 7 +#define SPAWN_CINNABAR_ISLAND 8 +#define SPAWN_INDIGO_PLATEAU 9 +#define SPAWN_SAFFRON_CITY 10 +#define SPAWN_ROUTE4 11 +#define SPAWN_ROUTE10 12 +#define SPAWN_ONE_ISLAND 13 +#define SPAWN_TWO_ISLAND 14 +#define SPAWN_THREE_ISLAND 15 +#define SPAWN_FOUR_ISLAND 16 +#define SPAWN_FIVE_ISLAND 17 +#define SPAWN_SEVEN_ISLAND 18 +#define SPAWN_SIX_ISLAND 19 +#define NUM_SPAWN_POINTS 20 + +#endif //GUARD_CONSTANTS_SPAWN_POINTS_H |