diff options
author | entrpntr <entrpntr@gmail.com> | 2020-05-09 19:40:06 -0400 |
---|---|---|
committer | entrpntr <entrpntr@gmail.com> | 2020-05-09 19:40:06 -0400 |
commit | 14f623c65c3f80ade737ba9ace7f1ba132e71939 (patch) | |
tree | b76722a7e9c1443cb836d09020887c79b703d104 | |
parent | 566e2239d1544fbad2238e6d8550645b1b9d70c9 (diff) |
Add engine/pokegear/pokegear.asm.
-rw-r--r-- | constants/landmark_constants.asm | 194 | ||||
-rw-r--r-- | constants/map_data_constants.asm | 30 | ||||
-rw-r--r-- | constants/sprite_anim_constants.asm | 7 | ||||
-rw-r--r-- | data/maps/flypoints.asm | 30 | ||||
-rw-r--r-- | data/maps/maps.asm | 738 | ||||
-rw-r--r-- | engine/pokegear/pokegear.asm | 2878 | ||||
-rw-r--r-- | gfx/pokegear/clock.tilemap.rle | 1 | ||||
-rw-r--r-- | gfx/pokegear/dexmap_nest_icon.2bpp | 1 | ||||
-rw-r--r-- | gfx/pokegear/fast_ship.2bpp | bin | 0 -> 128 bytes | |||
-rw-r--r-- | gfx/pokegear/flymap_label_border.1bpp | bin | 0 -> 48 bytes | |||
-rw-r--r-- | gfx/pokegear/johto.bin | bin | 0 -> 361 bytes | |||
-rw-r--r-- | gfx/pokegear/kanto.bin | bin | 0 -> 361 bytes | |||
-rw-r--r-- | gfx/pokegear/phone.tilemap.rle | 4 | ||||
-rw-r--r-- | gfx/pokegear/pokegear_sprites.2bpp.lz | bin | 0 -> 48 bytes | |||
-rw-r--r-- | gfx/pokegear/radio.tilemap.rle | 5 | ||||
-rw-r--r-- | gfx/pokegear/town_map_palette_map.asm | 29 | ||||
-rwxr-xr-x | home/region.asm | 4 | ||||
-rw-r--r-- | main.asm | 38 | ||||
-rw-r--r-- | wram.asm | 40 |
19 files changed, 3508 insertions, 491 deletions
diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm index 5fba4387..a0746ec1 100644 --- a/constants/landmark_constants.asm +++ b/constants/landmark_constants.asm @@ -1,104 +1,104 @@ - +; Landmarks indexes (see data/maps/landmarks.asm) const_def - const SPECIAL_MAP ; 00 - const NEW_BARK_TOWN ; 01 - const ROUTE_29 ; 02 - const CHERRYGROVE_CITY ; 03 - const ROUTE_30 ; 04 - const ROUTE_31 ; 05 - const VIOLET_CITY ; 06 - const SPROUT_TOWER ; 07 - const ROUTE_32 ; 08 - const RUINS_OF_ALPH ; 09 - const UNION_CAVE ; 0a - const ROUTE_33 ; 0b - const AZALEA_TOWN ; 0c - const SLOWPOKE_WELL ; 0d - const ILEX_FOREST ; 0e - const ROUTE_34 ; 0f - const GOLDENROD_CITY ; 10 - const RADIO_TOWER ; 11 - const ROUTE_35 ; 12 - const NATIONAL_PARK ; 13 - const ROUTE_36 ; 14 - const ROUTE_37 ; 15 - const ECRUTEAK_CITY ; 16 - const TIN_TOWER ; 17 - const BURNED_TOWER ; 18 - const ROUTE_38 ; 19 - const ROUTE_39 ; 1a - const OLIVINE_CITY ; 1b - const LIGHTHOUSE ; 1c - const ROUTE_40 ; 1d - const WHIRL_ISLANDS ; 1e - const ROUTE_41 ; 1f - const CIANWOOD_CITY ; 20 - const ROUTE_42 ; 21 - const MT_MORTAR ; 22 - const MAHOGANY_TOWN ; 23 - const ROUTE_43 ; 24 - const LAKE_OF_RAGE ; 25 - const ROUTE_44 ; 26 - const ICE_PATH ; 27 - const BLACKTHORN_CITY ; 28 - const DRAGONS_DEN ; 29 - const ROUTE_45 ; 2a - const DARK_CAVE ; 2b - const ROUTE_46 ; 2c - const SILVER_CAVE ; 2d +; Johto landmarks + const LANDMARK_SPECIAL ; 00 + const LANDMARK_NEW_BARK_TOWN ; 01 + const LANDMARK_ROUTE_29 ; 02 + const LANDMARK_CHERRYGROVE_CITY ; 03 + const LANDMARK_ROUTE_30 ; 04 + const LANDMARK_ROUTE_31 ; 05 + const LANDMARK_VIOLET_CITY ; 06 + const LANDMARK_SPROUT_TOWER ; 07 + const LANDMARK_ROUTE_32 ; 08 + const LANDMARK_RUINS_OF_ALPH ; 09 + const LANDMARK_UNION_CAVE ; 0a + const LANDMARK_ROUTE_33 ; 0b + const LANDMARK_AZALEA_TOWN ; 0c + const LANDMARK_SLOWPOKE_WELL ; 0d + const LANDMARK_ILEX_FOREST ; 0e + const LANDMARK_ROUTE_34 ; 0f + const LANDMARK_GOLDENROD_CITY ; 10 + const LANDMARK_RADIO_TOWER ; 11 + const LANDMARK_ROUTE_35 ; 12 + const LANDMARK_NATIONAL_PARK ; 13 + const LANDMARK_ROUTE_36 ; 14 + const LANDMARK_ROUTE_37 ; 15 + const LANDMARK_ECRUTEAK_CITY ; 16 + const LANDMARK_TIN_TOWER ; 17 + const LANDMARK_BURNED_TOWER ; 18 + const LANDMARK_ROUTE_38 ; 19 + const LANDMARK_ROUTE_39 ; 1a + const LANDMARK_OLIVINE_CITY ; 1b + const LANDMARK_LIGHTHOUSE ; 1c + const LANDMARK_ROUTE_40 ; 1d + const LANDMARK_WHIRL_ISLANDS ; 1e + const LANDMARK_ROUTE_41 ; 1f + const LANDMARK_CIANWOOD_CITY ; 20 + const LANDMARK_ROUTE_42 ; 21 + const LANDMARK_MT_MORTAR ; 22 + const LANDMARK_MAHOGANY_TOWN ; 23 + const LANDMARK_ROUTE_43 ; 24 + const LANDMARK_LAKE_OF_RAGE ; 25 + const LANDMARK_ROUTE_44 ; 26 + const LANDMARK_ICE_PATH ; 27 + const LANDMARK_BLACKTHORN_CITY ; 28 + const LANDMARK_DRAGONS_DEN ; 29 + const LANDMARK_ROUTE_45 ; 2a + const LANDMARK_DARK_CAVE ; 2b + const LANDMARK_ROUTE_46 ; 2c + const LANDMARK_SILVER_CAVE ; 2d KANTO_LANDMARK EQU const_value - - const PALLET_TOWN ; 2e - const ROUTE_1 ; 2f - const VIRIDIAN_CITY ; 30 - const ROUTE_2 ; 31 - const PEWTER_CITY ; 32 - const ROUTE_3 ; 33 - const MT_MOON ; 34 - const ROUTE_4 ; 35 - const CERULEAN_CITY ; 36 - const ROUTE_24 ; 37 - const ROUTE_25 ; 38 - const ROUTE_5 ; 39 - const UNDERGROUND_PATH ; 3a - const ROUTE_6 ; 3b - const VERMILION_CITY ; 3c - const DIGLETTS_CAVE ; 3d - const ROUTE_7 ; 3e - const ROUTE_8 ; 3f - const ROUTE_9 ; 40 - const ROCK_TUNNEL ; 41 - const ROUTE_10 ; 42 - const POWER_PLANT ; 43 - const LAVENDER_TOWN ; 44 - const LAV_RADIO_TOWER ; 45 - const CELADON_CITY ; 46 - const SAFFRON_CITY ; 47 - const ROUTE_11 ; 48 - const ROUTE_12 ; 49 - const ROUTE_13 ; 4a - const ROUTE_14 ; 4b - const ROUTE_15 ; 4c - const ROUTE_16 ; 4d - const ROUTE_17 ; 4e - const ROUTE_18 ; 4f - const FUCHSIA_CITY ; 50 - const ROUTE_19 ; 51 - const ROUTE_20 ; 52 - const SEAFOAM_ISLANDS ; 53 - const CINNABAR_ISLAND ; 54 - const ROUTE_21 ; 55 - const ROUTE_22 ; 56 - const VICTORY_ROAD ; 57 - const ROUTE_23 ; 58 - const INDIGO_PLATEAU ; 59 - const ROUTE_26 ; 5a - const ROUTE_27 ; 5b - const TOHJO_FALLS ; 5c - const ROUTE_28 ; 5d - const FAST_SHIP ; 5e + const LANDMARK_PALLET_TOWN ; 2e + const LANDMARK_ROUTE_1 ; 2f + const LANDMARK_VIRIDIAN_CITY ; 30 + const LANDMARK_ROUTE_2 ; 31 + const LANDMARK_PEWTER_CITY ; 32 + const LANDMARK_ROUTE_3 ; 33 + const LANDMARK_MT_MOON ; 34 + const LANDMARK_ROUTE_4 ; 35 + const LANDMARK_CERULEAN_CITY ; 36 + const LANDMARK_ROUTE_24 ; 37 + const LANDMARK_ROUTE_25 ; 38 + const LANDMARK_ROUTE_5 ; 39 + const LANDMARK_UNDERGROUND_PATH ; 3a + const LANDMARK_ROUTE_6 ; 3b + const LANDMARK_VERMILION_CITY ; 3c + const LANDMARK_DIGLETTS_CAVE ; 3d + const LANDMARK_ROUTE_7 ; 3e + const LANDMARK_ROUTE_8 ; 3f + const LANDMARK_ROUTE_9 ; 40 + const LANDMARK_ROCK_TUNNEL ; 41 + const LANDMARK_ROUTE_10 ; 42 + const LANDMARK_POWER_PLANT ; 43 + const LANDMARK_LAVENDER_TOWN ; 44 + const LANDMARK_LAV_RADIO_TOWER ; 45 + const LANDMARK_CELADON_CITY ; 46 + const LANDMARK_SAFFRON_CITY ; 47 + const LANDMARK_ROUTE_11 ; 48 + const LANDMARK_ROUTE_12 ; 49 + const LANDMARK_ROUTE_13 ; 4a + const LANDMARK_ROUTE_14 ; 4b + const LANDMARK_ROUTE_15 ; 4c + const LANDMARK_ROUTE_16 ; 4d + const LANDMARK_ROUTE_17 ; 4e + const LANDMARK_ROUTE_18 ; 4f + const LANDMARK_FUCHSIA_CITY ; 50 + const LANDMARK_ROUTE_19 ; 51 + const LANDMARK_ROUTE_20 ; 52 + const LANDMARK_SEAFOAM_ISLANDS ; 53 + const LANDMARK_CINNABAR_ISLAND ; 54 + const LANDMARK_ROUTE_21 ; 55 + const LANDMARK_ROUTE_22 ; 56 + const LANDMARK_VICTORY_ROAD ; 57 + const LANDMARK_ROUTE_23 ; 58 + const LANDMARK_INDIGO_PLATEAU ; 59 + const LANDMARK_ROUTE_26 ; 5a + const LANDMARK_ROUTE_27 ; 5b + const LANDMARK_TOHJO_FALLS ; 5c + const LANDMARK_ROUTE_28 ; 5d + const LANDMARK_FAST_SHIP ; 5e ; Regions const_def diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 05322ffc..71fe803e 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -99,6 +99,36 @@ const_value = -1 const SPAWN_FAST_SHIP NUM_SPAWNS EQU const_value +; Flypoints indexes (see data/maps/flypoints.asm) + const_def +; johto + const FLY_NEW_BARK + const FLY_CHERRYGROVE + const FLY_VIOLET + const FLY_AZALEA + const FLY_GOLDENROD + const FLY_ECRUTEAK + const FLY_OLIVINE + const FLY_CIANWOOD + const FLY_MAHOGANY + const FLY_LAKE_OF_RAGE + const FLY_BLACKTHORN + const FLY_MT_SILVER +; kanto +KANTO_FLYPOINT EQU const_value + const FLY_PALLET + const FLY_VIRIDIAN + const FLY_PEWTER + const FLY_CERULEAN + const FLY_VERMILION + const FLY_ROCK_TUNNEL + const FLY_LAVENDER + const FLY_CELADON + const FLY_SAFFRON + const FLY_FUCHSIA + const FLY_CINNABAR + const FLY_INDIGO + ; outdoor sprite limits (see engine/overworld/overworld.asm) MAX_OUTDOOR_SPRITES EQU 11 SPRITE_GFX_LIST_CAPACITY EQU 12 diff --git a/constants/sprite_anim_constants.asm b/constants/sprite_anim_constants.asm index 173fb57d..727ab89a 100644 --- a/constants/sprite_anim_constants.asm +++ b/constants/sprite_anim_constants.asm @@ -20,14 +20,21 @@ SPRITEANIMSTRUCT_LENGTH EQU const_value NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs ; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm) +SPRITE_ANIM_INDEX_PARTY_MON EQU $00 +SPRITE_ANIM_INDEX_RED_WALK EQU $1c +SPRITE_ANIM_INDEX_POKEGEAR_ARROW EQU $1f SPRITE_ANIM_INDEX_TRADE_POKE_BALL EQU $20 SPRITE_ANIM_INDEX_TRADE_POOF EQU $21 SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE EQU $22 SPRITE_ANIM_INDEX_TRADEMON_ICON EQU $23 SPRITE_ANIM_INDEX_TRADEMON_BUBBLE EQU $24 +SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB EQU $26 SPRITE_ANIM_INDEX_EGG_CRACK EQU $2b SPRITE_ANIM_INDEX_EGG_HATCH EQU $2e +; DoAnimFrame.Jumptable indexes (see engine/gfx/sprite_anims.asm) +SPRITE_ANIM_SEQ_NULL EQU $00 + ; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm) const_def const SPRITE_ANIM_FRAMESET_00 ; 00 diff --git a/data/maps/flypoints.asm b/data/maps/flypoints.asm new file mode 100644 index 00000000..e3578daa --- /dev/null +++ b/data/maps/flypoints.asm @@ -0,0 +1,30 @@ +Flypoints: +; entries correspond to FLY_* constants +; Johto + ; landmark, spawn point + db LANDMARK_NEW_BARK_TOWN, SPAWN_NEW_BARK + db LANDMARK_CHERRYGROVE_CITY, SPAWN_CHERRYGROVE + db LANDMARK_VIOLET_CITY, SPAWN_VIOLET + db LANDMARK_AZALEA_TOWN, SPAWN_AZALEA + db LANDMARK_GOLDENROD_CITY, SPAWN_GOLDENROD + db LANDMARK_ECRUTEAK_CITY, SPAWN_ECRUTEAK + db LANDMARK_OLIVINE_CITY, SPAWN_OLIVINE + db LANDMARK_CIANWOOD_CITY, SPAWN_CIANWOOD + db LANDMARK_MAHOGANY_TOWN, SPAWN_MAHOGANY + db LANDMARK_LAKE_OF_RAGE, SPAWN_LAKE_OF_RAGE + db LANDMARK_BLACKTHORN_CITY, SPAWN_BLACKTHORN + db LANDMARK_SILVER_CAVE, SPAWN_MT_SILVER +; Kanto + db LANDMARK_PALLET_TOWN, SPAWN_PALLET + db LANDMARK_VIRIDIAN_CITY, SPAWN_VIRIDIAN + db LANDMARK_PEWTER_CITY, SPAWN_PEWTER + db LANDMARK_CERULEAN_CITY, SPAWN_CERULEAN + db LANDMARK_VERMILION_CITY, SPAWN_VERMILION + db LANDMARK_ROCK_TUNNEL, SPAWN_ROCK_TUNNEL + db LANDMARK_LAVENDER_TOWN, SPAWN_LAVENDER + db LANDMARK_CELADON_CITY, SPAWN_CELADON + db LANDMARK_SAFFRON_CITY, SPAWN_SAFFRON + db LANDMARK_FUCHSIA_CITY, SPAWN_FUCHSIA + db LANDMARK_CINNABAR_ISLAND, SPAWN_CINNABAR + db LANDMARK_INDIGO_PLATEAU, SPAWN_INDIGO + db -1 diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 339becec..46155310 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -2,7 +2,7 @@ map: MACRO ;\1: map name: for the MapAttributes pointer (see data/maps/attributes.asm) ;\2: tileset: a TILESET_* constant ;\3: environment: TOWN, ROUTE, INDOOR, CAVE, ENVIRONMENT_5, GATE, or DUNGEON -;\4: location: from constants/landmark_constants.asm +;\4: location: a LANDMARK_* constant ;\5: music: a MUSIC_* constant ;\6: phone service flag: TRUE to prevent phone calls ;\7: time of day: a PALETTE_* constant @@ -44,421 +44,421 @@ MapGroupPointers:: dw MapGroup_Cherrygrove ; 26 MapGroup_Olivine: - map OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineGym, TILESET_CHAMPIONS_ROOM, INDOOR, OLIVINE_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineTimsHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineHouseBeta, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivinePunishmentSpeechHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineGoodRodHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineCafe, TILESET_GAME_CORNER, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineMart, TILESET_MART, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route38EcruteakGate, TILESET_GATE, GATE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route39Barn, TILESET_TRADITIONAL_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route39Farmhouse, TILESET_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route38, TILESET_JOHTO, ROUTE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route39, TILESET_JOHTO, ROUTE, ROUTE_39, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map OlivineCity, TILESET_JOHTO, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineGym, TILESET_CHAMPIONS_ROOM, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineTimsHouse, TILESET_HOUSE, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineHouseBeta, TILESET_HOUSE, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivinePunishmentSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineGoodRodHouse, TILESET_HOUSE, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineCafe, TILESET_GAME_CORNER, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineMart, TILESET_MART, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route38EcruteakGate, TILESET_GATE, GATE, LANDMARK_ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route39Barn, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route39Farmhouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route38, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route39, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_39, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map OlivineCity, TILESET_JOHTO, TOWN, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE MapGroup_Mahogany: - map MahoganyRedGyaradosSpeechHouse, TILESET_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MahoganyGym, TILESET_ELITE_FOUR_ROOM, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map MahoganyPokecenter1F, TILESET_POKECENTER, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route42EcruteakGate, TILESET_GATE, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route42, TILESET_JOHTO, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map Route44, TILESET_JOHTO, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_REMORAID - map MahoganyTown, TILESET_JOHTO, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map MahoganyRedGyaradosSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MahoganyGym, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_MAHOGANY_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map MahoganyPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route42EcruteakGate, TILESET_GATE, GATE, LANDMARK_ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route42, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map Route44, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_44, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_REMORAID + map MahoganyTown, TILESET_JOHTO, TOWN, LANDMARK_MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE MapGroup_Dungeons: - map SproutTower1F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SproutTower2F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SproutTower3F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower1F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower2F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower3F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower4F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower5F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower6F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower7F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower8F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTower9F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BurnedTower1F, TILESET_TOWER, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BurnedTowerB1F, TILESET_CAVE, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map NationalPark, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map NationalParkBugContest, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphOutside, TILESET_JOHTO, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_AUTO, FISHGROUP_POND - map RuinsOfAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphOmanyteChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphAerodactylChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphInnerChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map RuinsOfAlphResearchCenter, TILESET_FACILITY, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map UnionCave1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map UnionCaveB1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map UnionCaveB2F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_SHORE - map SlowpokeWellB1F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map SlowpokeWellB2F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map OlivineLighthouse1F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineLighthouse2F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineLighthouse3F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineLighthouse4F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineLighthouse5F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivineLighthouse6F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MahoganyMart1F, TILESET_TRADITIONAL_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map TeamRocketBaseB1F, TILESET_UNDERGROUND, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map TeamRocketBaseB2F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map TeamRocketBaseB3F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map IlexForest, TILESET_FOREST, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, FALSE, PALETTE_NITE, FISHGROUP_POND - map GoldenrodUnderground, TILESET_GATE, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodUndergroundSwitchRoomEntrances, TILESET_ELITE_FOUR_ROOM, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodUndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map MountMortar1FOutside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map MountMortar1FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map MountMortar2FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map MountMortarB1F, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map IcePath1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map IcePathB1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map IcePathB2FMahoganySide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map IcePathB2FBlackthornSide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map IcePathB3F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map WhirlIslandNW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandNE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandSW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandCave, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandSE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandB1F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandB2F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map WhirlIslandLugiaChamber, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS - map SilverCaveRoom1, TILESET_DARK_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map SilverCaveRoom2, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map SilverCaveRoom3, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DAY, FISHGROUP_LAKE - map SilverCaveItemRooms, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map DarkCaveVioletEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map DarkCaveBlackthornEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE - map DragonsDen1F, TILESET_CAVE, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map DragonsDenB1F, TILESET_JOHTO, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI - map TohjoFalls, TILESET_CAVE, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE - map DiglettsCave, TILESET_CAVE, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE - map MountMoon, TILESET_CAVE, CAVE, MT_MOON, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE - map UndergroundPath, TILESET_UNDERGROUND, GATE, UNDERGROUND_PATH, MUSIC_MT_MOON, FALSE, PALETTE_NITE, FISHGROUP_SHORE - map RockTunnel1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE - map RockTunnelB1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE - map SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SafariZoneBeta, TILESET_PARK, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map VictoryRoad, TILESET_CAVE, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, TRUE, PALETTE_NITE, FISHGROUP_SHORE + map SproutTower1F, TILESET_TOWER, DUNGEON, LANDMARK_SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SproutTower2F, TILESET_TOWER, DUNGEON, LANDMARK_SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SproutTower3F, TILESET_TOWER, DUNGEON, LANDMARK_SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower1F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower2F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower3F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower4F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower5F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower6F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower7F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower8F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTower9F, TILESET_TOWER, DUNGEON, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BurnedTower1F, TILESET_TOWER, DUNGEON, LANDMARK_BURNED_TOWER, MUSIC_BURNED_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BurnedTowerB1F, TILESET_CAVE, CAVE, LANDMARK_BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map NationalPark, TILESET_PARK, ROUTE, LANDMARK_NATIONAL_PARK, MUSIC_NATIONAL_PARK, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map NationalParkBugContest, TILESET_PARK, ROUTE, LANDMARK_NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map RadioTower1F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RadioTower2F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RadioTower3F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RadioTower4F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RadioTower5F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphOutside, TILESET_JOHTO, ROUTE, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_AUTO, FISHGROUP_POND + map RuinsOfAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphOmanyteChamber, TILESET_RUINS_OF_ALPH, DUNGEON, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphAerodactylChamber, TILESET_RUINS_OF_ALPH, DUNGEON, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphInnerChamber, TILESET_RUINS_OF_ALPH, DUNGEON, LANDMARK_RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map RuinsOfAlphResearchCenter, TILESET_FACILITY, INDOOR, LANDMARK_RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map UnionCave1F, TILESET_CAVE, CAVE, LANDMARK_UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map UnionCaveB1F, TILESET_CAVE, CAVE, LANDMARK_UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map UnionCaveB2F, TILESET_CAVE, CAVE, LANDMARK_UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_SHORE + map SlowpokeWellB1F, TILESET_CAVE, CAVE, LANDMARK_SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map SlowpokeWellB2F, TILESET_CAVE, CAVE, LANDMARK_SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map OlivineLighthouse1F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineLighthouse2F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineLighthouse3F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineLighthouse4F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineLighthouse5F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivineLighthouse6F, TILESET_LIGHTHOUSE, DUNGEON, LANDMARK_LIGHTHOUSE, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MahoganyMart1F, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map TeamRocketBaseB1F, TILESET_UNDERGROUND, DUNGEON, LANDMARK_MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map TeamRocketBaseB2F, TILESET_FACILITY, DUNGEON, LANDMARK_MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map TeamRocketBaseB3F, TILESET_FACILITY, DUNGEON, LANDMARK_MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map IlexForest, TILESET_FOREST, CAVE, LANDMARK_ILEX_FOREST, MUSIC_UNION_CAVE, FALSE, PALETTE_NITE, FISHGROUP_POND + map GoldenrodUnderground, TILESET_GATE, DUNGEON, LANDMARK_GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodUndergroundSwitchRoomEntrances, TILESET_ELITE_FOUR_ROOM, DUNGEON, LANDMARK_GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodUndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, LANDMARK_GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map MountMortar1FOutside, TILESET_DARK_CAVE, CAVE, LANDMARK_MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map MountMortar1FInside, TILESET_DARK_CAVE, CAVE, LANDMARK_MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map MountMortar2FInside, TILESET_DARK_CAVE, CAVE, LANDMARK_MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map MountMortarB1F, TILESET_DARK_CAVE, CAVE, LANDMARK_MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map IcePath1F, TILESET_ICE_PATH, CAVE, LANDMARK_ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map IcePathB1F, TILESET_ICE_PATH, CAVE, LANDMARK_ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map IcePathB2FMahoganySide, TILESET_ICE_PATH, CAVE, LANDMARK_ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map IcePathB2FBlackthornSide, TILESET_ICE_PATH, CAVE, LANDMARK_ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map IcePathB3F, TILESET_ICE_PATH, CAVE, LANDMARK_ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map WhirlIslandNW, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandNE, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandSW, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandCave, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandSE, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandB1F, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandB2F, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map WhirlIslandLugiaChamber, TILESET_DARK_CAVE, CAVE, LANDMARK_WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS + map SilverCaveRoom1, TILESET_DARK_CAVE, CAVE, LANDMARK_SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map SilverCaveRoom2, TILESET_CAVE, CAVE, LANDMARK_SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map SilverCaveRoom3, TILESET_CAVE, CAVE, LANDMARK_SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DAY, FISHGROUP_LAKE + map SilverCaveItemRooms, TILESET_CAVE, CAVE, LANDMARK_SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map DarkCaveVioletEntrance, TILESET_DARK_CAVE, CAVE, LANDMARK_DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map DarkCaveBlackthornEntrance, TILESET_DARK_CAVE, CAVE, LANDMARK_DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE + map DragonsDen1F, TILESET_CAVE, CAVE, LANDMARK_DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map DragonsDenB1F, TILESET_JOHTO, CAVE, LANDMARK_DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI + map TohjoFalls, TILESET_CAVE, CAVE, LANDMARK_TOHJO_FALLS, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE + map DiglettsCave, TILESET_CAVE, CAVE, LANDMARK_DIGLETTS_CAVE, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE + map MountMoon, TILESET_CAVE, CAVE, LANDMARK_MT_MOON, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE + map UndergroundPath, TILESET_UNDERGROUND, GATE, LANDMARK_UNDERGROUND_PATH, MUSIC_MT_MOON, FALSE, PALETTE_NITE, FISHGROUP_SHORE + map RockTunnel1F, TILESET_DARK_CAVE, CAVE, LANDMARK_ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE + map RockTunnelB1F, TILESET_DARK_CAVE, CAVE, LANDMARK_ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE + map SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SafariZoneBeta, TILESET_PARK, CAVE, LANDMARK_FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map VictoryRoad, TILESET_CAVE, CAVE, LANDMARK_VICTORY_ROAD, MUSIC_VICTORY_ROAD, TRUE, PALETTE_NITE, FISHGROUP_SHORE MapGroup_Ecruteak: - map EcruteakTinTowerEntrance, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map WiseTriosRoom, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakPokecenter1F, TILESET_POKECENTER, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakLugiaSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map DanceTheatre, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakMart, TILESET_MART, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakGym, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakItemfinderHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map EcruteakCity, TILESET_JOHTO, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND + map EcruteakTinTowerEntrance, TILESET_TOWER, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map WiseTriosRoom, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakLugiaSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map DanceTheatre, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_DANCING_HALL, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakMart, TILESET_MART, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakGym, TILESET_TOWER, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakItemfinderHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map EcruteakCity, TILESET_JOHTO, TOWN, LANDMARK_ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND MapGroup_Blackthorn: - map BlackthornGym1F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map BlackthornGym2F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map BlackthornDragonSpeechHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BlackthornEmysHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BlackthornMart, TILESET_MART, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BlackthornPokecenter1F, TILESET_POKECENTER, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MoveDeletersHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route45, TILESET_JOHTO, ROUTE, ROUTE_45, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI_2 - map Route46, TILESET_JOHTO, ROUTE, ROUTE_46, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map BlackthornCity, TILESET_JOHTO, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_POND + map BlackthornGym1F, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map BlackthornGym2F, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map BlackthornDragonSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BlackthornEmysHouse, TILESET_HOUSE, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BlackthornMart, TILESET_MART, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BlackthornPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MoveDeletersHouse, TILESET_HOUSE, INDOOR, LANDMARK_BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route45, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_45, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI_2 + map Route46, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_46, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map BlackthornCity, TILESET_JOHTO, TOWN, LANDMARK_BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_POND MapGroup_Cinnabar: - map CinnabarPokecenter1F, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CinnabarPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route19FuchsiaGate, TILESET_GATE, GATE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SeafoamGym, TILESET_CAVE, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map Route19, TILESET_KANTO, ROUTE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route20, TILESET_KANTO, ROUTE, ROUTE_20, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map Route21, TILESET_KANTO, ROUTE, ROUTE_21, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map CinnabarIsland, TILESET_KANTO, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map CinnabarPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CinnabarPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route19FuchsiaGate, TILESET_GATE, GATE, LANDMARK_ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SeafoamGym, TILESET_CAVE, INDOOR, LANDMARK_SEAFOAM_ISLANDS, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Route19, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route20, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_20, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map Route21, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_21, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map CinnabarIsland, TILESET_KANTO, TOWN, LANDMARK_CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN MapGroup_Cerulean: - map CeruleanGymBadgeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanPoliceStation, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanTradeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanPokecenter1F, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanGym, TILESET_PORT, INDOOR, CERULEAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map CeruleanMart, TILESET_MART, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route10Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route10Pokecenter2FBeta, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PowerPlant, TILESET_FACILITY, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BillsHouse, TILESET_HOUSE, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route4, TILESET_KANTO, ROUTE, ROUTE_4, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map Route9, TILESET_KANTO, ROUTE, ROUTE_9, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map Route10North, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map Route24, TILESET_KANTO, ROUTE, ROUTE_24, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map Route25, TILESET_KANTO, ROUTE, ROUTE_25, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map CeruleanCity, TILESET_KANTO, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map CeruleanGymBadgeSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanPoliceStation, TILESET_HOUSE, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanTradeSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanGym, TILESET_PORT, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map CeruleanMart, TILESET_MART, INDOOR, LANDMARK_CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route10Pokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route10Pokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PowerPlant, TILESET_FACILITY, INDOOR, LANDMARK_POWER_PLANT, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BillsHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_25, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route4, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_4, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map Route9, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_9, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map Route10North, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map Route24, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_24, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map Route25, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_25, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map CeruleanCity, TILESET_KANTO, TOWN, LANDMARK_CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_LAKE MapGroup_Azalea: - map AzaleaPokecenter1F, TILESET_POKECENTER, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CharcoalKiln, TILESET_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map AzaleaMart, TILESET_MART, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map KurtsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map AzaleaGym, TILESET_ELITE_FOUR_ROOM, INDOOR, AZALEA_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map Route33, TILESET_JOHTO_MODERN, ROUTE, ROUTE_33, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map AzaleaTown, TILESET_JOHTO_MODERN, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map AzaleaPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_AZALEA_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CharcoalKiln, TILESET_HOUSE, INDOOR, LANDMARK_AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map AzaleaMart, TILESET_MART, INDOOR, LANDMARK_AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map KurtsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map AzaleaGym, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_AZALEA_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Route33, TILESET_JOHTO_MODERN, ROUTE, LANDMARK_ROUTE_33, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map AzaleaTown, TILESET_JOHTO_MODERN, TOWN, LANDMARK_AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE MapGroup_LakeOfRage: - map LakeOfRageHiddenPowerHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LakeOfRageMagikarpHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route43MahoganyGate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route43Gate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route43, TILESET_JOHTO, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND - map LakeOfRage, TILESET_JOHTO, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS + map LakeOfRageHiddenPowerHouse, TILESET_HOUSE, INDOOR, LANDMARK_LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LakeOfRageMagikarpHouse, TILESET_HOUSE, INDOOR, LANDMARK_LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route43MahoganyGate, TILESET_GATE, GATE, LANDMARK_ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route43Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route43, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND + map LakeOfRage, TILESET_JOHTO, TOWN, LANDMARK_LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS MapGroup_Violet: - map Route32, TILESET_JOHTO, ROUTE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH - map Route35, TILESET_JOHTO, ROUTE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_POND - map Route36, TILESET_JOHTO, ROUTE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route37, TILESET_JOHTO, ROUTE, ROUTE_37, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map VioletCity, TILESET_JOHTO, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND - map VioletMart, TILESET_MART, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VioletGym, TILESET_ELITE_FOUR_ROOM, INDOOR, VIOLET_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map EarlsPokemonAcademy, TILESET_LAB, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VioletNicknameSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VioletPokecenter1F, TILESET_POKECENTER, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VioletKylesHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route32RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route32Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route35GoldenrodGate, TILESET_GATE, GATE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route35NationalParkGate, TILESET_GATE, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route36RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route36NationalParkGate, TILESET_GATE, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route32, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH + map Route35, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_POND + map Route36, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route37, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_37, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map VioletCity, TILESET_JOHTO, TOWN, LANDMARK_VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND + map VioletMart, TILESET_MART, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VioletGym, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map EarlsPokemonAcademy, TILESET_LAB, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VioletNicknameSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VioletPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VioletKylesHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route32RuinsOfAlphGate, TILESET_GATE, GATE, LANDMARK_ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route32Pokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_ROUTE_32, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route35GoldenrodGate, TILESET_GATE, GATE, LANDMARK_ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route35NationalParkGate, TILESET_GATE, INDOOR, LANDMARK_ROUTE_35, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route36RuinsOfAlphGate, TILESET_GATE, GATE, LANDMARK_ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route36NationalParkGate, TILESET_GATE, INDOOR, LANDMARK_ROUTE_36, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Goldenrod: - map Route34, TILESET_JOHTO_MODERN, ROUTE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map GoldenrodCity, TILESET_JOHTO_MODERN, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map GoldenrodGym, TILESET_ELITE_FOUR_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodBikeShop, TILESET_CHAMPIONS_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodHappinessRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BillsFamilysHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodFlowerShop, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodPokecenter1F, TILESET_POKECENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodPPSpeechHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodNameRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore1F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore2F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore3F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore4F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore5F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStore6F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodDeptStoreElevator, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GoldenrodGameCorner, TILESET_GAME_CORNER, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map IlexForestAzaleaGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route34IlexForestGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map DayCare, TILESET_HOUSE, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route34, TILESET_JOHTO_MODERN, ROUTE, LANDMARK_ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map GoldenrodCity, TILESET_JOHTO_MODERN, TOWN, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map GoldenrodGym, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodBikeShop, TILESET_CHAMPIONS_ROOM, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodHappinessRater, TILESET_HOUSE, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BillsFamilysHouse, TILESET_HOUSE, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodFlowerShop, TILESET_HOUSE, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodPPSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodNameRater, TILESET_HOUSE, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore1F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore2F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore3F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore4F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore5F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStore6F, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodDeptStoreElevator, TILESET_MART, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GoldenrodGameCorner, TILESET_GAME_CORNER, INDOOR, LANDMARK_GOLDENROD_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map IlexForestAzaleaGate, TILESET_GATE, GATE, LANDMARK_ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route34IlexForestGate, TILESET_GATE, GATE, LANDMARK_ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map DayCare, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_34, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Vermilion: - map Route6, TILESET_KANTO, ROUTE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND - map Route11, TILESET_KANTO, ROUTE, ROUTE_11, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map VermilionCity, TILESET_KANTO, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map VermilionFishingSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionPokecenter1F, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PokemonFanClub, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionMagnetTrainSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionMart, TILESET_MART, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionDiglettsCaveSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionGym, TILESET_GAME_CORNER, INDOOR, VERMILION_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map Route6SaffronGate, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route6UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route6, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND + map Route11, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_11, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map VermilionCity, TILESET_KANTO, TOWN, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map VermilionFishingSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PokemonFanClub, TILESET_HOUSE, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionMagnetTrainSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionMart, TILESET_MART, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionDiglettsCaveSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionGym, TILESET_GAME_CORNER, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Route6SaffronGate, TILESET_GATE, GATE, LANDMARK_ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route6UndergroundPathEntrance, TILESET_GATE, GATE, LANDMARK_ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Pallet: - map Route1, TILESET_KANTO, ROUTE, ROUTE_1, MUSIC_ROUTE_1, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map PalletTown, TILESET_KANTO, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map RedsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map RedsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map BluesHouse, TILESET_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OaksLab, TILESET_LAB, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route1, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_1, MUSIC_ROUTE_1, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map PalletTown, TILESET_KANTO, TOWN, LANDMARK_PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map RedsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map RedsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map BluesHouse, TILESET_HOUSE, INDOOR, LANDMARK_PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OaksLab, TILESET_LAB, INDOOR, LANDMARK_PALLET_TOWN, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Pewter: - map Route3, TILESET_KANTO, ROUTE, ROUTE_3, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map PewterCity, TILESET_KANTO, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map PewterNidoranSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PewterGym, TILESET_TOWER, INDOOR, PEWTER_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map PewterMart, TILESET_MART, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PewterPokecenter1F, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PewterPokecenter2FBeta, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PewterSnoozeSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route3, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_3, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map PewterCity, TILESET_KANTO, TOWN, LANDMARK_PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map PewterNidoranSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PewterGym, TILESET_TOWER, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map PewterMart, TILESET_MART, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PewterPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PewterPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PewterSnoozeSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_FastShip: - map OlivinePort, TILESET_PORT, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map VermilionPort, TILESET_PORT, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map FastShip1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FastShipCabins_NNW_NNE_NE, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FastShipCabins_SW_SSW_NW, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FastShipCabins_SE_SSE_CaptainsCabin, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FastShipB1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map OlivinePortPassage, TILESET_UNDERGROUND, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VermilionPortPassage, TILESET_UNDERGROUND, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MountMoonSquare, TILESET_KANTO, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map MountMoonGiftShop, TILESET_TRADITIONAL_HOUSE, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TinTowerRoof, TILESET_TOWER, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map OlivinePort, TILESET_PORT, ROUTE, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map VermilionPort, TILESET_PORT, ROUTE, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map FastShip1F, TILESET_LIGHTHOUSE, INDOOR, LANDMARK_FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FastShipCabins_NNW_NNE_NE, TILESET_LIGHTHOUSE, INDOOR, LANDMARK_FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FastShipCabins_SW_SSW_NW, TILESET_LIGHTHOUSE, INDOOR, LANDMARK_FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FastShipCabins_SE_SSE_CaptainsCabin, TILESET_LIGHTHOUSE, INDOOR, LANDMARK_FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FastShipB1F, TILESET_LIGHTHOUSE, INDOOR, LANDMARK_FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map OlivinePortPassage, TILESET_UNDERGROUND, INDOOR, LANDMARK_OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VermilionPortPassage, TILESET_UNDERGROUND, INDOOR, LANDMARK_VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MountMoonSquare, TILESET_KANTO, ROUTE, LANDMARK_MT_MOON, MUSIC_MT_MOON_SQUARE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map MountMoonGiftShop, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_MT_MOON, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TinTowerRoof, TILESET_TOWER, ROUTE, LANDMARK_TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_AUTO, FISHGROUP_SHORE MapGroup_Indigo: - map Route23, TILESET_KANTO, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map IndigoPlateauPokecenter1F, TILESET_POKECENTER, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map WillsRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map KogasRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map BrunosRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map KarensRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map LancesRoom, TILESET_CHAMPIONS_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map HallOfFame, TILESET_ICE_PATH, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Route23, TILESET_KANTO, TOWN, LANDMARK_ROUTE_23, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map IndigoPlateauPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map WillsRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map KogasRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map BrunosRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map KarensRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map LancesRoom, TILESET_CHAMPIONS_ROOM, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map HallOfFame, TILESET_ICE_PATH, INDOOR, LANDMARK_INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, TRUE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Fuchsia: - map Route13, TILESET_KANTO, ROUTE, ROUTE_13, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM - map Route14, TILESET_KANTO, ROUTE, ROUTE_14, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route15, TILESET_KANTO, ROUTE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route18, TILESET_KANTO, ROUTE, ROUTE_18, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map FuchsiaCity, TILESET_KANTO, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS - map FuchsiaMart, TILESET_MART, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SafariZoneMainOffice, TILESET_GAME_CORNER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FuchsiaGym, TILESET_LAB, INDOOR, FUCHSIA_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map BillsBrothersHouse, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FuchsiaPokecenter1F, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SafariZoneWardensHome, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route15FuchsiaGate, TILESET_GATE, GATE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route13, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_13, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM + map Route14, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_14, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route15, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route18, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_18, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map FuchsiaCity, TILESET_KANTO, TOWN, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS + map FuchsiaMart, TILESET_MART, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SafariZoneMainOffice, TILESET_GAME_CORNER, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FuchsiaGym, TILESET_LAB, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map BillsBrothersHouse, TILESET_HOUSE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FuchsiaPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SafariZoneWardensHome, TILESET_HOUSE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route15FuchsiaGate, TILESET_GATE, GATE, LANDMARK_ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Lavender: - map Route8, TILESET_KANTO, ROUTE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route12, TILESET_KANTO, ROUTE, ROUTE_12, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM - map Route10South, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE - map LavenderTown, TILESET_KANTO, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map LavenderPokecenter1F, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LavenderPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MrFujisHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LavenderSpeechHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LavenderNameRater, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LavenderMart, TILESET_MART, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SoulHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route8SaffronGate, TILESET_GATE, GATE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route12SuperRodHouse, TILESET_HOUSE, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route8, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route12, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_12, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM + map Route10South, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE + map LavenderTown, TILESET_KANTO, TOWN, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map LavenderPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LavenderPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MrFujisHouse, TILESET_HOUSE, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LavenderSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LavenderNameRater, TILESET_HOUSE, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LavenderMart, TILESET_MART, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SoulHouse, TILESET_HOUSE, INDOOR, LANDMARK_LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LANDMARK_LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route8SaffronGate, TILESET_GATE, GATE, LANDMARK_ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route12SuperRodHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_12, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Silver: - map Route28, TILESET_KANTO, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND - map SilverCaveOutside, TILESET_KANTO, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND - map SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route28SteelWingHouse, TILESET_HOUSE, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route28, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_28, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND + map SilverCaveOutside, TILESET_KANTO, TOWN, LANDMARK_SILVER_CAVE, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND + map SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SILVER_CAVE, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route28SteelWingHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_28, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_CableClub: - map Pokecenter2F, TILESET_POKECENTER, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map TradeCenter, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map Colosseum, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map TimeCapsule, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Pokecenter2F, TILESET_POKECENTER, INDOOR, LANDMARK_SPECIAL, MUSIC_POKEMON_CENTER, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map TradeCenter, TILESET_GATE, INDOOR, LANDMARK_SPECIAL, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map Colosseum, TILESET_GATE, INDOOR, LANDMARK_SPECIAL, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map TimeCapsule, TILESET_GATE, INDOOR, LANDMARK_SPECIAL, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Celadon: - map Route7, TILESET_KANTO, ROUTE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route16, TILESET_KANTO, ROUTE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route17, TILESET_KANTO, ROUTE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE - map CeladonCity, TILESET_KANTO, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE - map CeladonDeptStore1F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStore2F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStore3F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStore4F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStore5F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStore6F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonDeptStoreElevator, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonMansion1F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonMansion2F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonMansion3F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonMansionRoof, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonMansionRoofHouse, TILESET_HOUSE, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonPokecenter1F, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonGameCorner, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonGameCornerPrizeRoom, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonGym, TILESET_TRAIN_STATION, INDOOR, CELADON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map CeladonCafe, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route16FuchsiaSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route16Gate, TILESET_GATE, GATE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route7SaffronGate, TILESET_GATE, GATE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route17Route18Gate, TILESET_GATE, GATE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route7, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route16, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route17, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE + map CeladonCity, TILESET_KANTO, TOWN, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE + map CeladonDeptStore1F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStore2F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStore3F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStore4F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStore5F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStore6F, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonDeptStoreElevator, TILESET_MART, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonMansion1F, TILESET_MANSION, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonMansion2F, TILESET_MANSION, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonMansion3F, TILESET_MANSION, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonMansionRoof, TILESET_MANSION, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonMansionRoofHouse, TILESET_HOUSE, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_CELADON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonGameCorner, TILESET_GAME_CORNER, INDOOR, LANDMARK_CELADON_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonGameCornerPrizeRoom, TILESET_GAME_CORNER, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonGym, TILESET_TRAIN_STATION, INDOOR, LANDMARK_CELADON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map CeladonCafe, TILESET_GAME_CORNER, INDOOR, LANDMARK_CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route16FuchsiaSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_16, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route16Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route7SaffronGate, TILESET_GATE, GATE, LANDMARK_ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route17Route18Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Cianwood: - map Route40, TILESET_JOHTO, ROUTE, ROUTE_40, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route41, TILESET_JOHTO, ROUTE, ROUTE_41, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map CianwoodCity, TILESET_JOHTO, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map ManiasHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CianwoodGym, TILESET_TOWER, INDOOR, CIANWOOD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map CianwoodPokecenter1F, TILESET_POKECENTER, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CianwoodPharmacy, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CianwoodPhotoStudio, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CianwoodLugiaSpeechHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route40, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_40, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route41, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_41, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map CianwoodCity, TILESET_JOHTO, TOWN, LANDMARK_CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map ManiasHouse, TILESET_HOUSE, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CianwoodGym, TILESET_TOWER, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map CianwoodPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CianwoodPharmacy, TILESET_HOUSE, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CianwoodPhotoStudio, TILESET_HOUSE, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CianwoodLugiaSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Viridian: - map Route2, TILESET_KANTO, ROUTE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map Route22, TILESET_KANTO, ROUTE, ROUTE_22, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND - map ViridianCity, TILESET_KANTO, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND - map ViridianGym, TILESET_TRAIN_STATION, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map ViridianNicknameSpeechHouse, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TrainerHouse1F, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map TrainerHouseB1F, TILESET_FACILITY, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map ViridianMart, TILESET_MART, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map ViridianPokecenter1F, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map ViridianPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route2NuggetHouse, TILESET_HOUSE, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route2Gate, TILESET_GATE, GATE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map VictoryRoadGate, TILESET_GATE, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route2, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map Route22, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_22, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND + map ViridianCity, TILESET_KANTO, TOWN, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND + map ViridianGym, TILESET_TRAIN_STATION, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map ViridianNicknameSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TrainerHouse1F, TILESET_HOUSE, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map TrainerHouseB1F, TILESET_FACILITY, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map ViridianMart, TILESET_MART, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map ViridianPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map ViridianPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route2NuggetHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_2, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route2Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map VictoryRoadGate, TILESET_GATE, GATE, LANDMARK_ROUTE_26, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_NewBark: - map Route26, TILESET_JOHTO, ROUTE, ROUTE_26, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map Route27, TILESET_JOHTO, ROUTE, ROUTE_27, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map Route29, TILESET_JOHTO, ROUTE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map NewBarkTown, TILESET_JOHTO, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map ElmsLab, TILESET_LAB, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PlayersHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PlayersHouse2F, TILESET_PLAYERS_ROOM, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map PlayersNeighborsHouse, TILESET_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map ElmsHouse, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route26HealHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map DayOfWeekSiblingsHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route27SandstormHouse, TILESET_HOUSE, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route29Route46Gate, TILESET_GATE, GATE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route26, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_26, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map Route27, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_27, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map Route29, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map NewBarkTown, TILESET_JOHTO, TOWN, LANDMARK_NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN + map ElmsLab, TILESET_LAB, INDOOR, LANDMARK_NEW_BARK_TOWN, MUSIC_PROF_ELM, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PlayersHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PlayersHouse2F, TILESET_PLAYERS_ROOM, INDOOR, LANDMARK_NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map PlayersNeighborsHouse, TILESET_HOUSE, INDOOR, LANDMARK_NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map ElmsHouse, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route26HealHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map DayOfWeekSiblingsHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route27SandstormHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_27, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route29Route46Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Saffron: - map Route5, TILESET_KANTO, ROUTE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map SaffronCity, TILESET_KANTO, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map FightingDojo, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SaffronGym, TILESET_UNDERGROUND, INDOOR, SAFFRON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE - map SaffronMart, TILESET_MART, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SaffronPokecenter1F, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SaffronPokecenter2FBeta, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MrPsychicsHouse, TILESET_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SaffronMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map SilphCo1F, TILESET_FACILITY, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CopycatsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CopycatsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route5UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route5SaffronGate, TILESET_GATE, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route5CleanseTagHouse, TILESET_HOUSE, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route5, TILESET_KANTO, ROUTE, LANDMARK_ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map SaffronCity, TILESET_KANTO, TOWN, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map FightingDojo, TILESET_TRAIN_STATION, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SaffronGym, TILESET_UNDERGROUND, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE + map SaffronMart, TILESET_MART, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SaffronPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SaffronPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MrPsychicsHouse, TILESET_HOUSE, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SaffronMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SilphCo1F, TILESET_FACILITY, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CopycatsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CopycatsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route5UndergroundPathEntrance, TILESET_GATE, GATE, LANDMARK_ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route5SaffronGate, TILESET_GATE, GATE, LANDMARK_ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route5CleanseTagHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE MapGroup_Cherrygrove: - map Route30, TILESET_JOHTO, ROUTE, ROUTE_30, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND - map Route31, TILESET_JOHTO, ROUTE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND - map CherrygroveCity, TILESET_JOHTO, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map CherrygroveMart, TILESET_MART, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CherrygrovePokecenter1F, TILESET_POKECENTER, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CherrygroveGymSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map GuideGentsHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map CherrygroveEvolutionSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route30BerryHouse, TILESET_HOUSE, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map MrPokemonsHouse, TILESET_FACILITY, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map Route31VioletGate, TILESET_GATE, GATE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route30, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_30, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND + map Route31, TILESET_JOHTO, ROUTE, LANDMARK_ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND + map CherrygroveCity, TILESET_JOHTO, TOWN, LANDMARK_CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map CherrygroveMart, TILESET_MART, INDOOR, LANDMARK_CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CherrygrovePokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CherrygroveGymSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map GuideGentsHouse, TILESET_HOUSE, INDOOR, LANDMARK_CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CherrygroveEvolutionSpeechHouse, TILESET_HOUSE, INDOOR, LANDMARK_CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route30BerryHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map MrPokemonsHouse, TILESET_FACILITY, INDOOR, LANDMARK_ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map Route31VioletGate, TILESET_GATE, GATE, LANDMARK_ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE diff --git a/engine/pokegear/pokegear.asm b/engine/pokegear/pokegear.asm new file mode 100644 index 00000000..00eb4e92 --- /dev/null +++ b/engine/pokegear/pokegear.asm @@ -0,0 +1,2878 @@ +; Pokégear cards + const_def + const POKEGEARCARD_CLOCK ; 0 + const POKEGEARCARD_MAP ; 1 + const POKEGEARCARD_PHONE ; 2 + const POKEGEARCARD_RADIO ; 3 +NUM_POKEGEAR_CARDS EQU const_value + +PHONE_DISPLAY_HEIGHT EQU 4 + +; PokegearJumptable.Jumptable indexes + const_def + const POKEGEARSTATE_CLOCKINIT ; 0 + const POKEGEARSTATE_CLOCKJOYPAD ; 1 + const POKEGEARSTATE_MAPCHECKREGION ; 2 + const POKEGEARSTATE_JOHTOMAPINIT ; 3 + const POKEGEARSTATE_JOHTOMAPJOYPAD ; 4 + const POKEGEARSTATE_KANTOMAPINIT ; 5 + const POKEGEARSTATE_KANTOMAPJOYPAD ; 6 + const POKEGEARSTATE_PHONEINIT ; 7 + const POKEGEARSTATE_PHONEJOYPAD ; 8 + const POKEGEARSTATE_MAKEPHONECALL ; 9 + const POKEGEARSTATE_FINISHPHONECALL ; a + const POKEGEARSTATE_RADIOINIT ; b + const POKEGEARSTATE_RADIOJOYPAD ; c + +PokeGear: + ld hl, wOptions + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + ldh a, [hInMenu] + push af + ld a, $1 + ldh [hInMenu], a + ld a, [wVramState] + push af + xor a + ld [wVramState], a + call .InitTilemap + call DelayFrame +.loop + call UpdateTime + call JoyTextDelay + ld a, [wJumptableIndex] + bit 7, a + jr nz, .done + call PokegearJumptable + farcall PlaySpriteAnimations + call DelayFrame + jr .loop + +.done + ld de, SFX_READ_TEXT_2 + call PlaySFX + call WaitSFX + pop af + ld [wVramState], a + pop af + ldh [hInMenu], a + pop af + ld [wOptions], a + call ClearBGPalettes + xor a ; LOW(vBGMap0) + ldh [hBGMapAddress], a + ld a, HIGH(vBGMap0) + ldh [hBGMapAddress + 1], a + ld a, $90 + ldh [hWY], a + call ExitPokegearRadio_HandleMusic + ret + +.InitTilemap: + call ClearBGPalettes + call ClearTilemap + call ClearSprites + call DisableLCD + xor a + ldh [hSCY], a + ldh [hSCX], a + ld a, $7 + ldh [hWX], a + call Pokegear_LoadGFX + farcall ClearSpriteAnims + call InitPokegearModeIndicatorArrow + ld a, 8 + call SkipMusic + ld a, LCDC_DEFAULT + ldh [rLCDC], a + call TownMap_InitCursorAndPlayerIconPositions + xor a + ld [wJumptableIndex], a ; POKEGEARSTATE_CLOCKINIT + ld [wPokegearCard], a ; POKEGEARCARD_CLOCK + ld [wPokegearMapRegion], a ; JOHTO_REGION + ld [wPokegearCE66], a + ld [wPokegearPhoneScrollPosition], a + ld [wPokegearPhoneCursorPosition], a + ld [wPokegearPhoneSelectedPerson], a + ld [wPokegearRadioChannelBank], a + ld [wPokegearRadioChannelAddr], a + ld [wPokegearRadioChannelAddr + 1], a + call Pokegear_InitJumptableIndices + call InitPokegearTilemap + ld b, SCGB_POKEGEAR_PALS + call GetSGBLayout + call SetPalettes + ldh a, [hCGB] + and a + ret z + ld a, %11100100 + call DmgToCgbObjPal0 + ret + +Pokegear_LoadGFX: + call ClearVBank1 + ld hl, TownMapGFX + ld de, vTiles2 + ld a, BANK(TownMapGFX) + call FarDecompress + ld hl, PokegearGFX + ld de, vTiles2 tile $30 + ld a, BANK(PokegearGFX) + call FarDecompress + ld hl, PokegearSpritesGFX + ld de, vTiles0 + ld a, BANK(PokegearSpritesGFX) + call Decompress + ld a, [wMapGroup] + ld b, a + ld a, [wMapNumber] + ld c, a + call GetWorldMapLocation + cp LANDMARK_FAST_SHIP + jr z, .ssaqua + ld hl, ChrisSpriteGFX + ld de, vTiles0 tile $10 + ld bc, 4 tiles + ld a, BANK(ChrisSpriteGFX) + call FarCopyBytes + ld hl, ChrisSpriteGFX + 12 tiles + ld de, vTiles0 tile $14 + ld bc, 4 tiles + ld a, BANK(ChrisSpriteGFX) + call FarCopyBytes + ret + +.ssaqua + ld hl, FastShipGFX + ld de, vTiles0 tile $10 + ld bc, 8 tiles + call CopyBytes + ret + +FastShipGFX: +INCBIN "gfx/pokegear/fast_ship.2bpp" + +InitPokegearModeIndicatorArrow: + depixel 4, 2, 4, 0 + ld a, SPRITE_ANIM_INDEX_POKEGEAR_ARROW + call InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $0 + ret + +AnimatePokegearModeIndicatorArrow: + ld hl, wPokegearCard + ld e, [hl] + ld d, 0 + ld hl, .XCoords + add hl, de + ld a, [hl] + ld hl, SPRITEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ret + +.XCoords: + db $00 ; POKEGEARCARD_CLOCK + db $10 ; POKEGEARCARD_MAP + db $20 ; POKEGEARCARD_PHONE + db $30 ; POKEGEARCARD_RADIO + +TownMap_GetCurrentLandmark: + ld a, [wMapGroup] + ld b, a + ld a, [wMapNumber] + ld c, a + call GetWorldMapLocation + cp LANDMARK_SPECIAL + ret nz + ld a, [wBackupMapGroup] + ld b, a + ld a, [wBackupMapNumber] + ld c, a + call GetWorldMapLocation + ret + +TownMap_InitCursorAndPlayerIconPositions: + ld a, [wMapGroup] + ld b, a + ld a, [wMapNumber] + ld c, a + call GetWorldMapLocation + cp LANDMARK_FAST_SHIP + jr z, .FastShip + cp LANDMARK_SPECIAL + jr nz, .LoadLandmark + ld a, [wBackupMapGroup] + ld b, a + ld a, [wBackupMapNumber] + ld c, a + call GetWorldMapLocation +.LoadLandmark: + ld [wPokegearMapPlayerIconLandmark], a + ld [wPokegearMapCursorLandmark], a + ret + +.FastShip: + ld [wPokegearMapPlayerIconLandmark], a + ld a, LANDMARK_NEW_BARK_TOWN + ld [wPokegearMapCursorLandmark], a + ret + +Pokegear_InitJumptableIndices: + ld a, POKEGEARSTATE_CLOCKINIT + ld [wJumptableIndex], a + xor a ; POKEGEARCARD_CLOCK + ld [wPokegearCard], a + ret + +InitPokegearTilemap: + xor a + ldh [hBGMapMode], a + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, $4f + call ByteFill + ld a, [wPokegearCard] + maskbits NUM_POKEGEAR_CARDS + add a + ld e, a + ld d, 0 + ld hl, .Jumptable + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, .return_from_jumptable + push de + jp hl + +.return_from_jumptable + call Pokegear_FinishTilemap + farcall TownMapPals + ld a, [wPokegearMapRegion] + and a + jr nz, .kanto_0 + xor a ; LOW(vBGMap0) + ldh [hBGMapAddress], a + ld a, HIGH(vBGMap0) + ldh [hBGMapAddress + 1], a + call .UpdateBGMap + ld a, $90 + jr .finish + +.kanto_0 + xor a ; LOW(vBGMap1) + ldh [hBGMapAddress], a + ld a, HIGH(vBGMap1) + ldh [hBGMapAddress + 1], a + call .UpdateBGMap + xor a +.finish + ldh [hWY], a + ; swap region maps + ld a, [wPokegearMapRegion] + maskbits NUM_REGIONS + xor 1 + ld [wPokegearMapRegion], a + ret + +.UpdateBGMap: + ldh a, [hCGB] + and a + jr z, .dmg + ld a, $2 + ldh [hBGMapMode], a + ld c, 3 + call DelayFrames +.dmg + call WaitBGMap + ret + +.Jumptable: +; entries correspond to POKEGEARCARD_* constants + dw .Clock + dw .Map + dw .Phone + dw .Radio + +.Clock: + ld de, ClockTilemapRLE + call Pokegear_LoadTilemapRLE + hlcoord 13, 1 + ld de, .switch + call PlaceString + hlcoord 0, 12 + lb bc, 4, 18 + call Textbox + call Pokegear_UpdateClock + ret + +.switch + db "SWITCH▶@" + +.Map: + ld a, [wPokegearMapPlayerIconLandmark] + cp LANDMARK_FAST_SHIP + jr z, .johto + cp KANTO_LANDMARK + jr nc, .kanto +.johto + ld e, 0 + jr .ok + +.kanto + ld e, 1 +.ok + farcall PokegearMap + ld a, $07 + ld bc, SCREEN_WIDTH - 2 + hlcoord 1, 2 + call ByteFill + hlcoord 0, 2 + ld [hl], $06 + hlcoord 19, 2 + ld [hl], $17 + ld a, [wPokegearMapCursorLandmark] + call PokegearMap_UpdateLandmarkName + ret + +.Radio: + ld de, RadioTilemapRLE + call Pokegear_LoadTilemapRLE + hlcoord 0, 12 + lb bc, 4, 18 + call Textbox + ret + +.Phone: + ld de, PhoneTilemapRLE + call Pokegear_LoadTilemapRLE + hlcoord 0, 12 + lb bc, 4, 18 + call Textbox + call .PlacePhoneBars + call PokegearPhone_UpdateDisplayList + ret + +.PlacePhoneBars: + hlcoord 17, 1 + ld a, $3c + ld [hli], a + inc a + ld [hl], a + hlcoord 17, 2 + inc a + ld [hli], a + call GetMapPhoneService + and a + ret nz + hlcoord 18, 2 + ld [hl], $3f + ret + +Pokegear_FinishTilemap: + hlcoord 0, 0 + ld bc, $8 + ld a, $4f + call ByteFill + hlcoord 0, 1 + ld bc, $8 + ld a, $4f + call ByteFill + ld de, wPokegearFlags + ld a, [de] + bit POKEGEAR_MAP_CARD_F, a + call nz, .PlaceMapIcon + ld a, [de] + bit POKEGEAR_PHONE_CARD_F, a + call nz, .PlacePhoneIcon + ld a, [de] + bit POKEGEAR_RADIO_CARD_F, a + call nz, .PlaceRadioIcon + hlcoord 0, 0 + ld a, $46 + call .PlacePokegearCardIcon + ret + +.PlaceMapIcon: + hlcoord 2, 0 + ld a, $40 + jr .PlacePokegearCardIcon + +.PlacePhoneIcon: + hlcoord 4, 0 + ld a, $44 + jr .PlacePokegearCardIcon + +.PlaceRadioIcon: + hlcoord 6, 0 + ld a, $42 +.PlacePokegearCardIcon: + ld [hli], a + inc a + ld [hld], a + ld bc, $14 + add hl, bc + add $f + ld [hli], a + inc a + ld [hld], a + ret + +PokegearJumptable: + ld a, [wJumptableIndex] + ld e, a + ld d, 0 + ld hl, .Jumptable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +.Jumptable: +; entries correspond to POKEGEARSTATE_* constants + dw PokegearClock_Init + dw PokegearClock_Joypad + dw PokegearMap_CheckRegion + dw PokegearMap_Init + dw PokegearMap_JohtoMap + dw PokegearMap_Init + dw PokegearMap_KantoMap + dw PokegearPhone_Init + dw PokegearPhone_Joypad + dw PokegearPhone_MakePhoneCall + dw PokegearPhone_FinishPhoneCall + dw PokegearRadio_Init + dw PokegearRadio_Joypad + +PokegearClock_Init: + call InitPokegearTilemap + ld hl, PokegearPressButtonText + call PrintText + ld hl, wJumptableIndex + inc [hl] + call ExitPokegearRadio_HandleMusic + ret + +PokegearClock_Joypad: + call .UpdateClock + ld hl, hJoyLast + ld a, [hl] + and A_BUTTON | B_BUTTON | START | SELECT + jr nz, .quit + ld a, [hl] + and D_RIGHT + ret z + ld a, [wPokegearFlags] + bit POKEGEAR_MAP_CARD_F, a + jr z, .no_map_card + ld c, POKEGEARSTATE_MAPCHECKREGION + ld b, POKEGEARCARD_MAP + jr .done + +.no_map_card + ld a, [wPokegearFlags] + bit POKEGEAR_PHONE_CARD_F, a + jr z, .no_phone_card + ld c, POKEGEARSTATE_PHONEINIT + ld b, POKEGEARCARD_PHONE + jr .done + +.no_phone_card + ld a, [wPokegearFlags] + bit POKEGEAR_RADIO_CARD_F, a + ret z + ld c, POKEGEARSTATE_RADIOINIT + ld b, POKEGEARCARD_RADIO +.done + call Pokegear_SwitchPage + ret + +.quit + ld hl, wJumptableIndex + set 7, [hl] + ret + +.UpdateClock: + xor a + ldh [hBGMapMode], a + call Pokegear_UpdateClock + ld a, $1 + ldh [hBGMapMode], a + ret + +Pokegear_UpdateClock: + hlcoord 3, 5 + lb bc, 5, 14 + call ClearBox + ldh a, [hHours] + ld b, a + ldh a, [hMinutes] + ld c, a + decoord 6, 8 + farcall PrintHoursMins + ld hl, .GearTodayText + bccoord 6, 6 + call PlaceHLTextAtBC + ret + + db "ごぜん@" + db "ごご@" + +.GearTodayText: + text_far _GearTodayText + text_end + +PokegearMap_CheckRegion: + ld a, [wPokegearMapPlayerIconLandmark] + cp LANDMARK_FAST_SHIP + jr z, .johto + cp KANTO_LANDMARK + jr nc, .kanto +.johto + ld a, POKEGEARSTATE_JOHTOMAPINIT + jr .done + ret + +.kanto + ld a, POKEGEARSTATE_KANTOMAPINIT +.done + ld [wJumptableIndex], a + call ExitPokegearRadio_HandleMusic + ret + +PokegearMap_Init: + call InitPokegearTilemap + ld a, [wPokegearMapPlayerIconLandmark] + call PokegearMap_InitPlayerIcon + ld a, [wPokegearMapCursorLandmark] + call PokegearMap_InitCursor + ld a, c + ld [wPokegearMapCursorObjectPointer], a + ld a, b + ld [wPokegearMapCursorObjectPointer + 1], a + ld hl, wJumptableIndex + inc [hl] + ret + +PokegearMap_KantoMap: + call TownMap_GetKantoLandmarkLimits + jr PokegearMap_ContinueMap + +PokegearMap_JohtoMap: + ld d, LANDMARK_SILVER_CAVE + ld e, LANDMARK_NEW_BARK_TOWN +PokegearMap_ContinueMap: + ld hl, hJoyLast + ld a, [hl] + and B_BUTTON + jr nz, .cancel + ld a, [hl] + and D_RIGHT + jr nz, .right + ld a, [hl] + and D_LEFT + jr nz, .left + call .DPad + ret + +.right + ld a, [wPokegearFlags] + bit POKEGEAR_PHONE_CARD_F, a + jr z, .no_phone + ld c, POKEGEARSTATE_PHONEINIT + ld b, POKEGEARCARD_PHONE + jr .done + +.no_phone + ld a, [wPokegearFlags] + bit POKEGEAR_RADIO_CARD_F, a + ret z + ld c, POKEGEARSTATE_RADIOINIT + ld b, POKEGEARCARD_RADIO + jr .done + +.left + ld c, POKEGEARSTATE_CLOCKINIT + ld b, POKEGEARCARD_CLOCK +.done + call Pokegear_SwitchPage + ret + +.cancel + ld hl, wJumptableIndex + set 7, [hl] + ret + +.DPad: + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, .up + ld a, [hl] + and D_DOWN + jr nz, .down + ret + +.up + ld hl, wPokegearMapCursorLandmark + ld a, [hl] + cp d + jr c, .wrap_around_up + ld a, e + dec a + ld [hl], a +.wrap_around_up + inc [hl] + jr .done_dpad + +.down + ld hl, wPokegearMapCursorLandmark + ld a, [hl] + cp e + jr nz, .wrap_around_down + ld a, d + inc a + ld [hl], a +.wrap_around_down + dec [hl] +.done_dpad + ld a, [wPokegearMapCursorLandmark] + call PokegearMap_UpdateLandmarkName + ld a, [wPokegearMapCursorObjectPointer] + ld c, a + ld a, [wPokegearMapCursorObjectPointer + 1] + ld b, a + ld a, [wPokegearMapCursorLandmark] + call PokegearMap_UpdateCursorPosition + ret + +PokegearMap_InitPlayerIcon: + push af + depixel 0, 0 + ld a, SPRITE_ANIM_INDEX_RED_WALK + call InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $10 + pop af + ld e, a + push bc + farcall GetLandmarkCoords + pop bc + ld hl, SPRITEANIMSTRUCT_XCOORD + add hl, bc + ld [hl], e + ld hl, SPRITEANIMSTRUCT_YCOORD + add hl, bc + ld [hl], d + ret + +PokegearMap_InitCursor: + push af + depixel 0, 0 + ld a, SPRITE_ANIM_INDEX_POKEGEAR_ARROW + call InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $04 + ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID + add hl, bc + ld [hl], SPRITE_ANIM_SEQ_NULL + pop af + push bc + call PokegearMap_UpdateCursorPosition + pop bc + ret + +PokegearMap_UpdateLandmarkName: + push af + hlcoord 8, 0 + lb bc, 2, 12 + call ClearBox + pop af + ld e, a + push de + farcall GetLandmarkName + pop de + farcall TownMap_ConvertLineBreakCharacters + hlcoord 8, 0 + ld [hl], $34 + ret + +PokegearMap_UpdateCursorPosition: + push bc + ld e, a + farcall GetLandmarkCoords + pop bc + ld hl, SPRITEANIMSTRUCT_XCOORD + add hl, bc + ld [hl], e + ld hl, SPRITEANIMSTRUCT_YCOORD + add hl, bc + ld [hl], d + ret + +TownMap_GetKantoLandmarkLimits: + ld a, [wStatusFlags] + bit STATUSFLAGS_HALL_OF_FAME_F, a + jr z, .not_hof + ld d, LANDMARK_ROUTE_28 + ld e, LANDMARK_PALLET_TOWN + ret + +.not_hof + ld d, LANDMARK_ROUTE_28 + ld e, LANDMARK_VICTORY_ROAD + ret + +PokegearRadio_Init: + call InitPokegearTilemap + depixel 4, 10, 4, 4 + ld a, SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB + call InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $08 + call _UpdateRadioStation + ld hl, wJumptableIndex + inc [hl] + ret + +PokegearRadio_Joypad: + ld hl, hJoyLast + ld a, [hl] + and B_BUTTON + jr nz, .cancel + ld a, [hl] + and D_LEFT + jr nz, .left + ld a, [wPokegearRadioChannelAddr] + ld l, a + ld a, [wPokegearRadioChannelAddr + 1] + ld h, a + ld a, [wPokegearRadioChannelBank] + and a + ret z + rst FarCall + ret + +.left + ld a, [wPokegearFlags] + bit POKEGEAR_PHONE_CARD_F, a + jr z, .no_phone + ld c, POKEGEARSTATE_PHONEINIT + ld b, POKEGEARCARD_PHONE + jr .switch_page + +.no_phone + ld a, [wPokegearFlags] + bit POKEGEAR_MAP_CARD_F, a + jr z, .no_map + ld c, POKEGEARSTATE_MAPCHECKREGION + ld b, POKEGEARCARD_MAP + jr .switch_page + +.no_map + ld c, POKEGEARSTATE_CLOCKINIT + ld b, POKEGEARCARD_CLOCK +.switch_page + call Pokegear_SwitchPage + ret + +.cancel + ld hl, wJumptableIndex + set 7, [hl] + ret + +PokegearPhone_Init: + ld hl, wJumptableIndex + inc [hl] + xor a + ld [wPokegearPhoneScrollPosition], a + ld [wPokegearPhoneCursorPosition], a + ld [wPokegearPhoneSelectedPerson], a + call InitPokegearTilemap + call ExitPokegearRadio_HandleMusic + ld hl, PokegearAskWhoCallText + call PrintText + ret + +PokegearPhone_Joypad: + ld hl, hJoyPressed + ld a, [hl] + and B_BUTTON + jr nz, .b + ld a, [hl] + and A_BUTTON + jr nz, .a + ld hl, hJoyLast + ld a, [hl] + and D_LEFT + jr nz, .left + ld a, [hl] + and D_RIGHT + jr nz, .right + call PokegearPhone_GetDPad + ret + +.left + ld a, [wPokegearFlags] + bit POKEGEAR_MAP_CARD_F, a + jr z, .no_map + ld c, POKEGEARSTATE_MAPCHECKREGION + ld b, POKEGEARCARD_MAP + jr .switch_page + +.no_map + ld c, POKEGEARSTATE_CLOCKINIT + ld b, POKEGEARCARD_CLOCK + jr .switch_page + +.right + ld a, [wPokegearFlags] + bit POKEGEAR_RADIO_CARD_F, a + ret z + ld c, POKEGEARSTATE_RADIOINIT + ld b, POKEGEARCARD_RADIO +.switch_page + call Pokegear_SwitchPage + ret + +.b + ld hl, wJumptableIndex + set 7, [hl] + ret + +.a + ld hl, wPhoneList + ld a, [wPokegearPhoneScrollPosition] + ld e, a + ld d, 0 + add hl, de + ld a, [wPokegearPhoneCursorPosition] + ld e, a + ld d, 0 + add hl, de + ld a, [hl] + and a + ret z + ld [wPokegearPhoneSelectedPerson], a + hlcoord 1, 4 + ld a, [wPokegearPhoneCursorPosition] + ld bc, SCREEN_WIDTH * 2 + call AddNTimes + ld [hl], "▷" + call PokegearPhoneContactSubmenu + jr c, .quit_submenu + ld hl, wJumptableIndex + inc [hl] + ret + +.quit_submenu + ld a, POKEGEARSTATE_PHONEJOYPAD + ld [wJumptableIndex], a + ret + +PokegearPhone_MakePhoneCall: + call GetMapPhoneService + and a + jr nz, .no_service + ld hl, wOptions + res NO_TEXT_SCROLL, [hl] + xor a + ldh [hInMenu], a + ld de, SFX_CALL + call PlaySFX + ld hl, .GearEllipseText + call PrintText + call WaitSFX + ld de, SFX_CALL + call PlaySFX + ld hl, .GearEllipseText + call PrintText + call WaitSFX + ld a, [wPokegearPhoneSelectedPerson] + ld b, a + call Function90199 + ld c, 10 + call DelayFrames + ld hl, wOptions + set NO_TEXT_SCROLL, [hl] + ld a, $1 + ldh [hInMenu], a + call PokegearPhone_UpdateCursor + ld hl, wJumptableIndex + inc [hl] + ret + +.no_service + farcall Phone_NoSignal + ld hl, .GearOutOfServiceText + call PrintText + ld a, POKEGEARSTATE_PHONEJOYPAD + ld [wJumptableIndex], a + ld hl, PokegearAskWhoCallText + call PrintText + ret + +.GearEllipseText: + text_far _GearEllipseText + text_end + +.GearOutOfServiceText: + text_far _GearOutOfServiceText + text_end + +PokegearPhone_FinishPhoneCall: + ldh a, [hJoyPressed] + and A_BUTTON | B_BUTTON + ret z + farcall HangUp + ld a, POKEGEARSTATE_PHONEJOYPAD + ld [wJumptableIndex], a + ld hl, PokegearAskWhoCallText + call PrintText + ret + +PokegearPhone_GetDPad: + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, .up + ld a, [hl] + and D_DOWN + jr nz, .down + ret + +.up + ld hl, wPokegearPhoneCursorPosition + ld a, [hl] + and a + jr z, .scroll_page_up + dec [hl] + jr .done_joypad_same_page + +.scroll_page_up + ld hl, wPokegearPhoneScrollPosition + ld a, [hl] + and a + ret z + dec [hl] + jr .done_joypad_update_page + +.down + ld hl, wPokegearPhoneCursorPosition + ld a, [hl] + cp PHONE_DISPLAY_HEIGHT - 1 + jr nc, .scroll_page_down + inc [hl] + jr .done_joypad_same_page + +.scroll_page_down + ld hl, wPokegearPhoneScrollPosition + ld a, [hl] + cp CONTACT_LIST_SIZE - PHONE_DISPLAY_HEIGHT + ret nc + inc [hl] + jr .done_joypad_update_page + +.done_joypad_same_page + xor a + ldh [hBGMapMode], a + call PokegearPhone_UpdateCursor + call WaitBGMap + ret + +.done_joypad_update_page + xor a + ldh [hBGMapMode], a + call PokegearPhone_UpdateDisplayList + call WaitBGMap + ret + +PokegearPhone_UpdateCursor: + ld a, " " +x = 4 +rept PHONE_DISPLAY_HEIGHT + hlcoord 1, x + ld [hl], a +x = x + 2 +endr + hlcoord 1, 4 + ld a, [wPokegearPhoneCursorPosition] + ld bc, 2 * SCREEN_WIDTH + call AddNTimes + ld [hl], "▶" + ret + +PokegearPhone_UpdateDisplayList: + hlcoord 1, 3 + ld b, PHONE_DISPLAY_HEIGHT * 2 + 1 + ld a, " " +.row + ld c, SCREEN_WIDTH - 2 +.col + ld [hli], a + dec c + jr nz, .col + inc hl + inc hl + dec b + jr nz, .row + ld a, [wPokegearPhoneScrollPosition] + ld e, a + ld d, 0 + ld hl, wPhoneList + add hl, de + xor a + ld [wPokegearPhoneLoadNameBuffer], a +.loop + ld a, [hli] + push hl + push af + hlcoord 2, 4 + ld a, [wPokegearPhoneLoadNameBuffer] + ld bc, 2 * SCREEN_WIDTH + call AddNTimes + ld d, h + ld e, l + pop af + ld b, a + call Function90380 + pop hl + ld a, [wPokegearPhoneLoadNameBuffer] + inc a + ld [wPokegearPhoneLoadNameBuffer], a + cp PHONE_DISPLAY_HEIGHT + jr c, .loop + call PokegearPhone_UpdateCursor + ret + +PokegearPhone_DeletePhoneNumber: + ld hl, wPhoneList + ld a, [wPokegearPhoneScrollPosition] + ld e, a + ld d, 0 + add hl, de + ld a, [wPokegearPhoneCursorPosition] + ld e, a + ld d, 0 + add hl, de + ld [hl], 0 + ld hl, wPhoneList + ld c, CONTACT_LIST_SIZE +.loop + ld a, [hli] + and a + jr nz, .skip + ld a, [hld] + ld [hli], a + ld [hl], 0 +.skip + dec c + jr nz, .loop + ret + +PokegearPhoneContactSubmenu: + ld hl, wPhoneList + ld a, [wPokegearPhoneScrollPosition] + ld e, a + ld d, 0 + add hl, de + ld a, [wPokegearPhoneCursorPosition] + ld e, a + ld d, 0 + add hl, de + ld c, [hl] + farcall CheckCanDeletePhoneNumber + ld a, c + and a + jr z, .cant_delete + ld hl, .CallDeleteCancelJumptable + ld de, .CallDeleteCancelStrings + jr .got_menu_data + +.cant_delete + ld hl, .CallCancelJumptable + ld de, .CallCancelStrings +.got_menu_data + xor a + ldh [hBGMapMode], a + push hl + push de + ld a, [de] + ld l, a + inc de + ld a, [de] + ld h, a + inc de + push hl + bccoord -1, -2, 0 + add hl, bc + ld a, [de] + inc de + sla a + ld b, a + ld c, 8 + push de + call Textbox + pop de + pop hl + inc hl + call PlaceString + pop de + xor a + ld [wPokegearPhoneSubmenuCursor], a + call .UpdateCursor + call WaitBGMap +.loop + push de + call JoyTextDelay + pop de + ld hl, hJoyPressed + ld a, [hl] + and D_UP + jr nz, .d_up + ld a, [hl] + and D_DOWN + jr nz, .d_down + ld a, [hl] + and A_BUTTON | B_BUTTON + jr nz, .a_b + call DelayFrame + jr .loop + +.d_up + ld hl, wPokegearPhoneSubmenuCursor + ld a, [hl] + and a + jr z, .loop + dec [hl] + call .UpdateCursor + jr .loop + +.d_down + ld hl, 2 + add hl, de + ld a, [wPokegearPhoneSubmenuCursor] + inc a + cp [hl] + jr nc, .loop + ld [wPokegearPhoneSubmenuCursor], a + call .UpdateCursor + jr .loop + +.a_b + xor a + ldh [hBGMapMode], a + call PokegearPhone_UpdateDisplayList + ld a, $1 + ldh [hBGMapMode], a + pop hl + ldh a, [hJoyPressed] + and B_BUTTON + jr nz, .Cancel + ld a, [wPokegearPhoneSubmenuCursor] + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +.Cancel: + ld hl, PokegearAskWhoCallText + call PrintText + scf + ret + +.Delete: + ld hl, PokegearAskDeleteText + call MenuTextbox + call YesNoBox + call ExitMenu + jr c, .CancelDelete + call PokegearPhone_DeletePhoneNumber + xor a + ldh [hBGMapMode], a + call PokegearPhone_UpdateDisplayList + ld hl, PokegearAskWhoCallText + call PrintText + call WaitBGMap +.CancelDelete: + scf + ret + +.Call: + and a + ret + +.UpdateCursor: + push de + ld a, [de] + inc de + ld l, a + ld a, [de] + inc de + ld h, a + ld a, [de] + ld c, a + push hl + ld a, " " + ld de, SCREEN_WIDTH * 2 +.clear_column + ld [hl], a + add hl, de + dec c + jr nz, .clear_column + pop hl + ld a, [wPokegearPhoneSubmenuCursor] + ld bc, SCREEN_WIDTH * 2 + call AddNTimes + ld [hl], "▶" + pop de + ret + +.CallDeleteCancelStrings: + dwcoord 10, 6 + db 3 + db "CALL" + next "DELETE" + next "CANCEL" + db "@" + +.CallDeleteCancelJumptable: + dw .Call + dw .Delete + dw .Cancel + +.CallCancelStrings: + dwcoord 10, 8 + db 2 + db "CALL" + next "CANCEL" + db "@" + +.CallCancelJumptable: + dw .Call + dw .Cancel + +; unused + ldh a, [hHours] + cp 12 + jr c, .am + sub 12 + ld [wTempByteValue], a + scf + ret + +.am + ld [wTempByteValue], a + and a + ret + +Pokegear_SwitchPage: + ld de, SFX_READ_TEXT_2 + call PlaySFX + ld a, c + ld [wJumptableIndex], a + ld a, b + ld [wPokegearCard], a + call DeleteSpriteAnimStruct2ToEnd + ret + +ExitPokegearRadio_HandleMusic: + ld a, [wPokegearRadioMusicPlaying] + cp RESTART_MAP_MUSIC + jr z, .restart_map_music + cp ENTER_MAP_MUSIC + call z, PlayMapMusicBike + xor a + ld [wPokegearRadioMusicPlaying], a + ret + +.restart_map_music + call RestartMapMusic + xor a + ld [wPokegearRadioMusicPlaying], a + ret + +DeleteSpriteAnimStruct2ToEnd: + ld hl, wSpriteAnim2 + ld bc, wSpriteAnimationStructsEnd - wSpriteAnim2 + xor a + call ByteFill + ld a, 2 + ld [wSpriteAnimCount], a + ret + +Pokegear_LoadTilemapRLE: + ; Format: repeat count, tile ID + ; Terminated with -1 + hlcoord 0, 0 +.loop + ld a, [de] + cp -1 + ret z + ld b, a + inc de + ld a, [de] + ld c, a + inc de + ld a, b +.load + ld [hli], a + dec c + jr nz, .load + jr .loop + +PokegearAskWhoCallText: + text_far _PokegearAskWhoCallText + text_end + +PokegearPressButtonText: + text_far _PokegearPressButtonText + text_end + +PokegearAskDeleteText: + text_far _PokegearAskDeleteText + text_end + +PokegearSpritesGFX: +INCBIN "gfx/pokegear/pokegear_sprites.2bpp.lz" + +RadioTilemapRLE: +INCBIN "gfx/pokegear/radio.tilemap.rle" +PhoneTilemapRLE: +INCBIN "gfx/pokegear/phone.tilemap.rle" +ClockTilemapRLE: +INCBIN "gfx/pokegear/clock.tilemap.rle" + +_UpdateRadioStation: + jr UpdateRadioStation + +; called from engine/sprite_anims.asm + +AnimateTuningKnob: + push bc + call .TuningKnob + pop bc + ld a, [wRadioTuningKnob] + ld hl, SPRITEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ret + +.TuningKnob: + ld hl, hJoyLast + ld a, [hl] + and D_DOWN + jr nz, .down + ld a, [hl] + and D_UP + jr nz, .up + ret + +.down + ld hl, wRadioTuningKnob + ld a, [hl] + and a + ret z + dec [hl] + dec [hl] + jr .update + +.up + ld hl, wRadioTuningKnob + ld a, [hl] + cp 80 + ret nc + inc [hl] + inc [hl] +.update +UpdateRadioStation: + ld hl, wRadioTuningKnob + ld d, [hl] + ld hl, RadioChannels +.loop + ld a, [hli] + cp -1 + jr z, .nostation + cp d + jr z, .foundstation + inc hl + inc hl + jr .loop + +.nostation + call NoRadioStation + ret + +.foundstation + ld a, [hli] + ld h, [hl] + ld l, a + ld de, .returnafterstation + push de + jp hl + +.returnafterstation + ld a, [wPokegearRadioChannelBank] + and a + ret z + xor a + ldh [hBGMapMode], a + hlcoord 2, 9 + call PlaceString + ld a, $1 + ldh [hBGMapMode], a + ret + +; unused + ld [wPokegearRadioChannelBank], a + ld a, [hli] + ld [wPokegearRadioChannelAddr], a + ld a, [hli] + ld [wPokegearRadioChannelAddr + 1], a + ret + +RadioChannels: +; entries correspond to constants/radio_constants.asm + +; frequency value given here = 4 × ingame_frequency − 2 + dbw 16, .PKMNTalkAndPokedexShow ; 04.5 + dbw 28, .PokemonMusic ; 07.5 + dbw 32, .LuckyChannel ; 08.5 + dbw 52, .RuinsOfAlphRadio ; 13.5 + dbw 64, .PlacesAndPeople ; 16.5 + dbw 72, .LetsAllSing ; 18.5 + dbw 78, .PokeFluteRadio ; 20.0 + dbw 80, .EvolutionRadio ; 20.5 + db -1 + +.PKMNTalkAndPokedexShow: +; Pokédex Show in the morning + +; Oak's Pokémon Talk in the afternoon and evening + call .InJohto + jr nc, .NoSignal + ld a, [wTimeOfDay] + and a + jp z, LoadStation_PokedexShow + jp LoadStation_OaksPokemonTalk + +.PokemonMusic: + call .InJohto + jr nc, .NoSignal + jp LoadStation_PokemonMusic + +.LuckyChannel: + call .InJohto + jr nc, .NoSignal + jp LoadStation_LuckyChannel + +.RuinsOfAlphRadio: + ld a, [wPokegearMapPlayerIconLandmark] + cp LANDMARK_RUINS_OF_ALPH + jr nz, .NoSignal + jp LoadStation_UnownRadio + +.PlacesAndPeople: + call .InJohto + jr c, .NoSignal + jp LoadStation_PlacesAndPeople + +.LetsAllSing: + call .InJohto + jr c, .NoSignal + jp LoadStation_LetsAllSing + +.PokeFluteRadio: + call .InJohto + jr c, .NoSignal + ld a, [wPokegearFlags] + bit POKEGEAR_EXPN_CARD_F, a + jr z, .NoSignal + jp LoadStation_PokeFluteRadio + +.EvolutionRadio: +; This station airs in the Lake of Rage area when Team Rocket is still in Mahogany. + ld a, [wStatusFlags] + bit STATUSFLAGS_ROCKET_SIGNAL_F, a + jr z, .NoSignal + ld a, [wPokegearMapPlayerIconLandmark] + cp LANDMARK_MAHOGANY_TOWN + jr z, .ok + cp LANDMARK_ROUTE_43 + jr z, .ok + cp LANDMARK_LAKE_OF_RAGE + jr nz, .NoSignal +.ok + jp LoadStation_EvolutionRadio + +.NoSignal: + call NoRadioStation + ret + +.InJohto: +; if in Johto or on the S.S. Aqua, set carry + +; otherwise clear carry + ld a, [wPokegearMapPlayerIconLandmark] + cp LANDMARK_FAST_SHIP + jr z, .johto + cp KANTO_LANDMARK + jr c, .johto +.kanto + and a + ret + +.johto + scf + ret + +LoadStation_OaksPokemonTalk: + xor a ; OAKS_POKEMON_TALK + ld [wCurRadioLine], a + ld [wNumRadioLinesPrinted], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, OaksPKMNTalkName + ret + +LoadStation_PokedexShow: + ld a, POKEDEX_SHOW + ld [wCurRadioLine], a + xor a + ld [wNumRadioLinesPrinted], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, PokedexShowName + ret + +LoadStation_PokemonMusic: + ld a, POKEMON_MUSIC + ld [wCurRadioLine], a + xor a + ld [wNumRadioLinesPrinted], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, PokemonMusicName + ret + +LoadStation_LuckyChannel: + ld a, LUCKY_CHANNEL + ld [wCurRadioLine], a + xor a + ld [wNumRadioLinesPrinted], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, LuckyChannelName + ret + +LoadStation_UnownRadio: + ld a, UNOWN_RADIO + ld [wCurRadioLine], a + xor a + ld [wNumRadioLinesPrinted], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, UnownStationName + ret + +LoadStation_PlacesAndPeople: + ld a, PLACES_AND_PEOPLE + ld [wCurRadioLine], a + xor a + ld [wNumRadioLinesPrinted], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, PlacesAndPeopleName + ret + +LoadStation_LetsAllSing: + ld a, LETS_ALL_SING + ld [wCurRadioLine], a + xor a + ld [wNumRadioLinesPrinted], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, LetsAllSingName + ret + +LoadStation_RocketRadio: + ld a, ROCKET_RADIO + ld [wCurRadioLine], a + xor a + ld [wNumRadioLinesPrinted], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, LetsAllSingName + ret + +LoadStation_PokeFluteRadio: + ld a, POKE_FLUTE_RADIO + ld [wCurRadioLine], a + xor a + ld [wNumRadioLinesPrinted], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, PokeFluteStationName + ret + +LoadStation_EvolutionRadio: + ld a, EVOLUTION_RADIO + ld [wCurRadioLine], a + xor a + ld [wNumRadioLinesPrinted], a + ld a, BANK(PlayRadioShow) + ld hl, PlayRadioShow + call Radio_BackUpFarCallParams + ld de, UnownStationName + ret + +Unreferenced_LoadStation: + ret + +RadioMusicRestartDE: + push de + ld a, e + ld [wPokegearRadioMusicPlaying], a + ld de, MUSIC_NONE + call PlayMusic + pop de + ld a, e + ld [wMapMusic], a + call PlayMusic + ret + +RadioMusicRestartPokemonChannel: + push de + ld a, RESTART_MAP_MUSIC + ld [wPokegearRadioMusicPlaying], a + ld de, MUSIC_NONE + call PlayMusic + pop de + ld de, MUSIC_POKEMON_CHANNEL + call PlayMusic + ret + +Radio_BackUpFarCallParams: + ld [wPokegearRadioChannelBank], a + ld a, l + ld [wPokegearRadioChannelAddr], a + ld a, h + ld [wPokegearRadioChannelAddr + 1], a + ret + +NoRadioStation: +; no radio music + ld de, MUSIC_NONE + call PlayMusic + ld a, ENTER_MAP_MUSIC + ld [wPokegearRadioMusicPlaying], a +; no radio name + xor a + ldh [hBGMapMode], a + hlcoord 1, 8 + lb bc, 3, 18 + call ClearBox + hlcoord 0, 12 + lb bc, 4, 18 + call Textbox +; no radio channel + xor a + ld [wPokegearRadioChannelBank], a + ld [wPokegearRadioChannelAddr], a + ld [wPokegearRadioChannelAddr + 1], a + ld a, $1 + ldh [hBGMapMode], a + ret + +OaksPKMNTalkName: db "OAK's <PK><MN> Talk@" +PokedexShowName: db "#DEX Show@" +PokemonMusicName: db "#MON Music@" +LuckyChannelName: db "Lucky Channel@" +UnownStationName: db "?????@" + +PlacesAndPeopleName: db "Places & People@" +LetsAllSingName: db "Let's All Sing!@" +PokeFluteStationName: db "# FLUTE@" + +_TownMap: + ld hl, wOptions + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + + ldh a, [hInMenu] + push af + ld a, $1 + ldh [hInMenu], a + + ld a, [wVramState] + push af + xor a + ld [wVramState], a + + call ClearBGPalettes + call ClearTilemap + call ClearSprites + call DisableLCD + call Pokegear_LoadGFX + farcall ClearSpriteAnims + ld a, 8 + call SkipMusic + ld a, LCDC_DEFAULT + ldh [rLCDC], a + call TownMap_GetCurrentLandmark + ld [wTownMapPlayerIconLandmark], a + ld [wTownMapCursorLandmark], a + xor a + ldh [hBGMapMode], a + call .InitTilemap + call WaitBGMap2 + ld a, [wTownMapPlayerIconLandmark] + call PokegearMap_InitPlayerIcon + ld a, [wTownMapCursorLandmark] + call PokegearMap_InitCursor + ld a, c + ld [wTownMapCursorObjectPointer], a + ld a, b + ld [wTownMapCursorObjectPointer + 1], a + ld b, SCGB_POKEGEAR_PALS + call GetSGBLayout + call SetPalettes + ldh a, [hCGB] + and a + jr z, .dmg + ld a, %11100100 + call DmgToCgbObjPal0 + call DelayFrame + +.dmg + ld a, [wTownMapPlayerIconLandmark] + cp KANTO_LANDMARK + jr nc, .kanto + ld d, KANTO_LANDMARK - 1 + ld e, 1 + call .loop + jr .resume + +.kanto + call TownMap_GetKantoLandmarkLimits + call .loop + +.resume + pop af + ld [wVramState], a + pop af + ldh [hInMenu], a + pop af + ld [wOptions], a + call ClearBGPalettes + ret + +.loop + call JoyTextDelay + ld hl, hJoyPressed + ld a, [hl] + and B_BUTTON + ret nz + + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, .pressed_up + + ld a, [hl] + and D_DOWN + jr nz, .pressed_down +.loop2 + push de + farcall PlaySpriteAnimations + pop de + call DelayFrame + jr .loop + +.pressed_up + ld hl, wTownMapCursorLandmark + ld a, [hl] + cp d + jr c, .okay + ld a, e + dec a + ld [hl], a + +.okay + inc [hl] + jr .next + +.pressed_down + ld hl, wTownMapCursorLandmark + ld a, [hl] + cp e + jr nz, .okay2 + ld a, d + inc a + ld [hl], a + +.okay2 + dec [hl] + +.next + push de + ld a, [wTownMapCursorLandmark] + call PokegearMap_UpdateLandmarkName + ld a, [wTownMapCursorObjectPointer] + ld c, a + ld a, [wTownMapCursorObjectPointer + 1] + ld b, a + ld a, [wTownMapCursorLandmark] + call PokegearMap_UpdateCursorPosition + pop de + jr .loop2 + +.InitTilemap: + ld a, [wTownMapPlayerIconLandmark] + cp KANTO_LANDMARK + jr nc, .kanto2 + ld e, JOHTO_REGION + jr .okay_tilemap + +.kanto2 + ld e, KANTO_REGION +.okay_tilemap + farcall PokegearMap + ld a, $07 + ld bc, 6 + hlcoord 1, 0 + call ByteFill + hlcoord 0, 0 + ld [hl], $06 + hlcoord 7, 0 + ld [hl], $17 + hlcoord 7, 1 + ld [hl], $16 + hlcoord 7, 2 + ld [hl], $26 + ld a, $07 + ld bc, NAME_LENGTH + hlcoord 8, 2 + call ByteFill + hlcoord 19, 2 + ld [hl], $17 + ld a, [wTownMapCursorLandmark] + call PokegearMap_UpdateLandmarkName + farcall TownMapPals + ret + +PlayRadio: + ld hl, wOptions + ld a, [hl] + push af + set NO_TEXT_SCROLL, [hl] + call .PlayStation + ld c, 100 + call DelayFrames +.loop + call JoyTextDelay + ldh a, [hJoyPressed] + and A_BUTTON | B_BUTTON + jr nz, .stop + ld a, [wPokegearRadioChannelAddr] + ld l, a + ld a, [wPokegearRadioChannelAddr + 1] + ld h, a + ld a, [wPokegearRadioChannelBank] + and a + jr z, .zero + rst FarCall +.zero + call DelayFrame + jr .loop + +.stop + pop af + ld [wOptions], a + call ExitPokegearRadio_HandleMusic + ret + +.PlayStation: + ld a, ENTER_MAP_MUSIC + ld [wPokegearRadioMusicPlaying], a + ld hl, .StationPointers + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, .jump_return + push de + jp hl + +.jump_return + push de + hlcoord 0, 12 + lb bc, 4, 18 + call Textbox + hlcoord 1, 14 + ld [hl], "“" + pop de + hlcoord 2, 14 + call PlaceString + ld h, b + ld l, c + ld [hl], "”" + call WaitBGMap + ret + +.StationPointers: +; entries correspond to MAPRADIO_* constants + dw .OakOrPnP + dw LoadStation_OaksPokemonTalk + dw LoadStation_PokedexShow + dw LoadStation_PokemonMusic + dw LoadStation_LuckyChannel + dw LoadStation_UnownRadio + dw LoadStation_PlacesAndPeople + dw LoadStation_LetsAllSing + dw LoadStation_RocketRadio + +.OakOrPnP: + call IsInJohto + and a + jr nz, .kanto + call UpdateTime + ld a, [wTimeOfDay] + and a + jp z, LoadStation_PokedexShow + jp LoadStation_OaksPokemonTalk + +.kanto + jp LoadStation_PlacesAndPeople + +PokegearMap: + ld a, e + and a + jr nz, .kanto + call LoadTownMapGFX + call FillJohtoMap + ret + +.kanto + call LoadTownMapGFX + call FillKantoMap + ret + +_FlyMap: + call ClearBGPalettes + call ClearTilemap + call ClearSprites + ld hl, hInMenu + ld a, [hl] + push af + ld [hl], $1 + xor a + ldh [hBGMapMode], a + farcall ClearSpriteAnims + call LoadTownMapGFX + ld de, FlyMapLabelBorderGFX + ld hl, vTiles2 tile $30 + lb bc, BANK(FlyMapLabelBorderGFX), 6 + call Request1bpp + call FlyMap + call ret_91c8f + ld b, SCGB_POKEGEAR_PALS + call GetSGBLayout + call SetPalettes +.loop + call JoyTextDelay + ld hl, hJoyPressed + ld a, [hl] + and B_BUTTON + jr nz, .pressedB + ld a, [hl] + and A_BUTTON + jr nz, .pressedA + call FlyMapScroll + call GetMapCursorCoordinates + farcall PlaySpriteAnimations + call DelayFrame + jr .loop + +.pressedB + ld a, -1 + jr .exit + +.pressedA + ld a, [wTownMapPlayerIconLandmark] + ld l, a + ld h, 0 + add hl, hl + ld de, Flypoints + 1 + add hl, de + ld a, [hl] +.exit + ld [wTownMapPlayerIconLandmark], a + pop af + ldh [hInMenu], a + call ClearBGPalettes + ld a, $90 + ldh [hWY], a + xor a ; LOW(vBGMap0) + ldh [hBGMapAddress], a + ld a, HIGH(vBGMap0) + ldh [hBGMapAddress + 1], a + ld a, [wTownMapPlayerIconLandmark] + ld e, a + ret + +FlyMapScroll: + ld a, [wStartFlypoint] + ld e, a + ld a, [wEndFlypoint] + ld d, a + ld hl, hJoyLast + ld a, [hl] + and D_UP + jr nz, .ScrollNext + ld a, [hl] + and D_DOWN + jr nz, .ScrollPrev + ret + +.ScrollNext: + ld hl, wTownMapPlayerIconLandmark + ld a, [hl] + cp d + jr nz, .NotAtEndYet + ld a, e + dec a + ld [hl], a +.NotAtEndYet: + inc [hl] + call CheckIfVisitedFlypoint + jr z, .ScrollNext + jr .Finally + +.ScrollPrev: + ld hl, wTownMapPlayerIconLandmark + ld a, [hl] + cp e + jr nz, .NotAtStartYet + ld a, d + inc a + ld [hl], a +.NotAtStartYet: + dec [hl] + call CheckIfVisitedFlypoint + jr z, .ScrollPrev +.Finally: + call TownMapBubble + call WaitBGMap + xor a + ldh [hBGMapMode], a + ret + +TownMapBubble: +; Draw the bubble containing the location text in the town map HUD + +; Top-left corner + hlcoord 1, 0 + ld a, $30 + ld [hli], a +; Top row + ld bc, 16 + ld a, " " + call ByteFill +; Top-right corner + ld a, $31 + ld [hl], a + hlcoord 1, 1 + +; Middle row + ld bc, SCREEN_WIDTH - 2 + ld a, " " + call ByteFill + +; Bottom-left corner + hlcoord 1, 2 + ld a, $32 + ld [hli], a +; Bottom row + ld bc, 16 + ld a, " " + call ByteFill +; Bottom-right corner + ld a, $33 + ld [hl], a + +; Print "Where?" + hlcoord 2, 0 + ld de, .Where + call PlaceString +; Print the name of the default flypoint + call .Name +; Up/down arrows + hlcoord 18, 1 + ld [hl], $34 + ret + +.Where: + db "Where?@" + +.Name: +; We need the map location of the default flypoint + ld a, [wTownMapPlayerIconLandmark] + ld l, a + ld h, 0 + add hl, hl ; two bytes per flypoint + ld de, Flypoints + add hl, de + ld e, [hl] + farcall GetLandmarkName + hlcoord 2, 1 + ld de, wStringBuffer1 + call PlaceString + ret + +GetMapCursorCoordinates: + ld a, [wTownMapPlayerIconLandmark] + ld l, a + ld h, 0 + add hl, hl + ld de, Flypoints + add hl, de + ld e, [hl] + farcall GetLandmarkCoords + ld a, [wTownMapCursorCoordinates] + ld c, a + ld a, [wTownMapCursorCoordinates + 1] + ld b, a + ld hl, 4 + add hl, bc + ld [hl], e + ld hl, 5 + add hl, bc + ld [hl], d + ret + +CheckIfVisitedFlypoint: +; Check if the flypoint loaded in [hl] has been visited yet. + push bc + push de + push hl + ld l, [hl] + ld h, 0 + add hl, hl + ld de, Flypoints + 1 + add hl, de + ld c, [hl] + call HasVisitedSpawn + pop hl + pop de + pop bc + and a + ret + +HasVisitedSpawn: +; Check if spawn point c has been visited. + ld hl, wVisitedSpawns + ld b, CHECK_FLAG + ld d, 0 + predef SmallFarFlagAction + ld a, c + ret + +INCLUDE "data/maps/flypoints.asm" + +ret_91c8f: + ret + +FlyMap: + ld a, [wMapGroup] + ld b, a + ld a, [wMapNumber] + ld c, a + call GetWorldMapLocation +; If we're not in a valid location, i.e. Pokecenter floor 2F, +; the backup map information is used. + cp LANDMARK_SPECIAL + jr nz, .CheckRegion + ld a, [wBackupMapGroup] + ld b, a + ld a, [wBackupMapNumber] + ld c, a + call GetWorldMapLocation +.CheckRegion: +; The first 46 locations are part of Johto. The rest are in Kanto. + cp KANTO_LANDMARK + jr nc, .KantoFlyMap +.JohtoFlyMap: +; Note that .NoKanto should be modified in tandem with this branch + push af +; Start from New Bark Town + ld a, FLY_NEW_BARK + ld [wTownMapPlayerIconLandmark], a +; Flypoints begin at New Bark Town... + ld [wStartFlypoint], a +; ..and end at Silver Cave. + ld a, FLY_MT_SILVER + ld [wEndFlypoint], a +; Fill out the map + call FillJohtoMap + call .MapHud + pop af + call TownMapPlayerIcon + ret + +.KantoFlyMap: +; The event that there are no flypoints enabled in a map is not +; accounted for. As a result, if you attempt to select a flypoint +; when there are none enabled, the game will crash. Additionally, +; the flypoint selection has a default starting point that +; can be flown to even if none are enabled. +; To prevent both of these things from happening when the player +; enters Kanto, fly access is restricted until Indigo Plateau is +; visited and its flypoint enabled. + push af + ld c, SPAWN_INDIGO + call HasVisitedSpawn + and a + jr z, .NoKanto +; Kanto's map is only loaded if we've visited Indigo Plateau + +; Flypoints begin at Pallet Town... + ld a, FLY_PALLET + ld [wStartFlypoint], a +; ...and end at Indigo Plateau + ld a, FLY_INDIGO + ld [wEndFlypoint], a +; Because Indigo Plateau is the first flypoint the player +; visits, it's made the default flypoint. + ld [wTownMapPlayerIconLandmark], a +; Fill out the map + call FillKantoMap + call .MapHud + pop af + call TownMapPlayerIcon + ret + +.NoKanto: +; If Indigo Plateau hasn't been visited, we use Johto's map instead + +; Start from New Bark Town + ld a, FLY_NEW_BARK + ld [wTownMapPlayerIconLandmark], a +; Flypoints begin at New Bark Town... + ld [wStartFlypoint], a +; ..and end at Silver Cave + ld a, FLY_MT_SILVER + ld [wEndFlypoint], a + call FillJohtoMap + pop af +.MapHud: + call TownMapBubble + call TownMapPals + hlbgcoord 0, 0 ; BG Map 0 + call TownMapBGUpdate + call TownMapMon + ld a, c + ld [wTownMapCursorCoordinates], a + ld a, b + ld [wTownMapCursorCoordinates + 1], a + ret + +Pokedex_GetArea: +; e: Current landmark + ld a, [wTownMapPlayerIconLandmark] + push af + ld a, [wTownMapCursorLandmark] + push af + ld a, e + ld [wTownMapPlayerIconLandmark], a + call ClearSprites + xor a + ldh [hBGMapMode], a + ld a, $1 + ldh [hInMenu], a + ld de, PokedexNestIconGFX + ld hl, vTiles0 tile $7f + lb bc, BANK(PokedexNestIconGFX), 1 + call Request2bpp + call .GetPlayerOrFastShipIcon + ld hl, vTiles0 tile $78 + ld c, 4 + call Request2bpp + call LoadTownMapGFX + call FillKantoMap + call .PlaceString_MonsNest + call TownMapPals + hlbgcoord 0, 0, vBGMap1 + call TownMapBGUpdate + call FillJohtoMap + call .PlaceString_MonsNest + call TownMapPals + hlbgcoord 0, 0 + call TownMapBGUpdate + ld b, SCGB_POKEGEAR_PALS + call GetSGBLayout + call SetPalettes + xor a + ldh [hBGMapMode], a + xor a ; JOHTO_REGION + call .GetAndPlaceNest +.loop + call JoyTextDelay + ld hl, hJoyPressed + ld a, [hl] + and A_BUTTON | B_BUTTON + jr nz, .a_b + ldh a, [hJoypadDown] + and SELECT + jr nz, .select + call .LeftRightInput + call .BlinkNestIcons + jr .next + +.select + call .HideNestsShowPlayer +.next + call DelayFrame + jr .loop + +.a_b + call ClearSprites + pop af + ld [wTownMapCursorLandmark], a + pop af + ld [wTownMapPlayerIconLandmark], a + ret + +.LeftRightInput: + ld a, [hl] + and D_LEFT + jr nz, .left + ld a, [hl] + and D_RIGHT + jr nz, .right + ret + +.left + ldh a, [hWY] + cp $90 + ret z + call ClearSprites + ld a, $90 + ldh [hWY], a + xor a ; JOHTO_REGION + call .GetAndPlaceNest + ret + +.right + ld a, [wStatusFlags] + bit STATUSFLAGS_HALL_OF_FAME_F, a + ret z + ldh a, [hWY] + and a + ret z + call ClearSprites + xor a + ldh [hWY], a + ld a, KANTO_REGION + call .GetAndPlaceNest + ret + +.BlinkNestIcons: + ldh a, [hVBlankCounter] + ld e, a + and $f + ret nz + ld a, e + and $10 + jr nz, .copy_sprites + call ClearSprites + ret + +.copy_sprites + hlcoord 0, 0 + ld de, wVirtualOAM + ld bc, wVirtualOAMEnd - wVirtualOAM + call CopyBytes + ret + +.PlaceString_MonsNest: + hlcoord 0, 0 + ld bc, SCREEN_WIDTH + ld a, " " + call ByteFill + hlcoord 0, 1 + ld a, $06 + ld [hli], a + ld bc, SCREEN_WIDTH - 2 + ld a, $07 + call ByteFill + ld [hl], $17 + call GetPokemonName + hlcoord 2, 0 + call PlaceString + ld h, b + ld l, c + ld de, .String_SNest + call PlaceString + ret + +.String_SNest: + db "'S NEST@" + +.GetAndPlaceNest: + ld [wTownMapCursorLandmark], a + ld e, a + farcall FindNest ; load nest landmarks into wTilemap[0,0] + decoord 0, 0 + ld hl, wVirtualOAMSprite00 +.nestloop + ld a, [de] + and a + jr z, .done_nest + push de + ld e, a + push hl + farcall GetLandmarkCoords + pop hl + ; load into OAM + ld a, d + sub 4 + ld [hli], a ; y + ld a, e + sub 4 + ld [hli], a ; x + ld a, $7f ; nest icon + ld [hli], a ; tile id + xor a + ld [hli], a ; attributes + ; next + pop de + inc de + jr .nestloop + +.done_nest + ld hl, wVirtualOAM + decoord 0, 0 + ld bc, wVirtualOAMEnd - wVirtualOAM + call CopyBytes + ret + +.HideNestsShowPlayer: + call .CheckPlayerLocation + ret c + ld a, [wTownMapPlayerIconLandmark] + ld e, a + farcall GetLandmarkCoords + ld c, e + ld b, d + ld de, .PlayerOAM + ld hl, wVirtualOAMSprite00 +.ShowPlayerLoop: + ld a, [de] + cp $80 + jr z, .clear_oam + add b + ld [hli], a ; y + inc de + ld a, [de] + add c + ld [hli], a ; x + inc de + ld a, [de] + add $78 ; where the player's sprite is loaded + ld [hli], a ; tile id + inc de + xor a ; PAL_OW_RED + ld [hli], a ; attributes + jr .ShowPlayerLoop + +.clear_oam + ld hl, wVirtualOAMSprite04 + ld bc, wVirtualOAMEnd - wVirtualOAMSprite04 + xor a + call ByteFill + ret + +.PlayerOAM: + ; y pxl, x pxl, tile offset + db -1 * 8, -1 * 8, 0 ; top left + db -1 * 8, 0 * 8, 1 ; top right + db 0 * 8, -1 * 8, 2 ; bottom left + db 0 * 8, 0 * 8, 3 ; bottom right + db $80 ; terminator + +.CheckPlayerLocation: +; Don't show the player's sprite if you're +; not in the same region as what's currently +; on the screen. + ld a, [wTownMapPlayerIconLandmark] + cp LANDMARK_FAST_SHIP + jr z, .johto + cp KANTO_LANDMARK + jr c, .johto +.kanto + ld a, [wTownMapCursorLandmark] + and a + jr z, .clear + jr .ok + +.johto + ld a, [wTownMapCursorLandmark] + and a + jr nz, .clear +.ok + and a + ret + +.clear + ld hl, wVirtualOAM + ld bc, wVirtualOAMEnd - wVirtualOAM + xor a + call ByteFill + scf + ret + +.GetPlayerOrFastShipIcon: + ld a, [wTownMapPlayerIconLandmark] + cp LANDMARK_FAST_SHIP + jr z, .FastShip + ld de, ChrisSpriteGFX + ld b, BANK(ChrisSpriteGFX) + ret + +.FastShip: + ld de, FastShipGFX + ld b, BANK(FastShipGFX) + ret + +TownMapBGUpdate: +; Update BG Map tiles and attributes + +; BG Map address + ld a, l + ldh [hBGMapAddress], a + ld a, h + ldh [hBGMapAddress + 1], a +; Only update palettes on CGB + ldh a, [hCGB] + and a + jr z, .tiles +; BG Map mode 2 (palettes) + ld a, 2 + ldh [hBGMapMode], a +; The BG Map is updated in thirds, so we wait + +; 3 frames to update the whole screen's palettes. + ld c, 3 + call DelayFrames +.tiles +; Update BG Map tiles + call WaitBGMap +; Turn off BG Map update + xor a + ldh [hBGMapMode], a + ret + +FillJohtoMap: + ld de, JohtoMap + jr FillTownMap + +FillKantoMap: + ld de, KantoMap +FillTownMap: + hlcoord 0, 0 +.loop + ld a, [de] + cp -1 + ret z + ld a, [de] + ld [hli], a + inc de + jr .loop + +TownMapPals: +; Assign palettes based on tile ids + hlcoord 0, 0 + decoord 0, 0, wAttrmap + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT +.loop +; Current tile + ld a, [hli] + push hl +; The palette map covers tiles $00 to $5f; $60 and above use palette 0 + cp $60 + jr nc, .pal0 + +; The palette data is condensed to nybbles, least-significant first. + ld hl, .PalMap + srl a + jr c, .odd +; Even-numbered tile ids take the bottom nybble... + add l + ld l, a + ld a, h + adc 0 + ld h, a + ld a, [hl] + and PALETTE_MASK + jr .update + +.odd +; ...and odd ids take the top. + add l + ld l, a + ld a, h + adc 0 + ld h, a + ld a, [hl] + swap a + and PALETTE_MASK + jr .update + +.pal0 + xor a +.update + pop hl + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .loop + ret + +.PalMap: +INCLUDE "gfx/pokegear/town_map_palette_map.asm" + +TownMapMon: +; Draw the FlyMon icon at town map location + +; Get FlyMon species + ld a, [wCurPartyMon] + ld hl, wPartySpecies + ld e, a + ld d, $0 + add hl, de + ld a, [hl] + ld [wTempIconSpecies], a +; Get FlyMon icon + ld e, $08 ; starting tile in VRAM + farcall GetSpeciesIcon +; Animation/palette + depixel 0, 0 + ld a, SPRITE_ANIM_INDEX_PARTY_MON + call InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $08 + ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID + add hl, bc + ld [hl], SPRITE_ANIM_SEQ_NULL + ret + +TownMapPlayerIcon: +; Draw the player icon at town map location in a + push af + ld de, ChrisSpriteGFX +; Standing icon + ld hl, vTiles0 tile $10 + lb bc, BANK(ChrisSpriteGFX), 4 + call Request2bpp +; Walking icon + ld de, ChrisSpriteGFX + 12 tiles + ld hl, vTiles0 tile $14 + lb bc, BANK(ChrisSpriteGFX), 4 + ld a, BANK(ChrisSpriteGFX) ; does nothing + call Request2bpp +; Animation/palette + depixel 0, 0 + ld a, SPRITE_ANIM_INDEX_RED_WALK + call InitSpriteAnimStruct + ld hl, SPRITEANIMSTRUCT_TILE_ID + add hl, bc + ld [hl], $10 + pop af + ld e, a + push bc + farcall GetLandmarkCoords + pop bc + ld hl, SPRITEANIMSTRUCT_XCOORD + add hl, bc + ld [hl], e + ld hl, SPRITEANIMSTRUCT_YCOORD + add hl, bc + ld [hl], d + ret + +LoadTownMapGFX: + ld hl, TownMapGFX + ld de, vTiles2 + lb bc, BANK(TownMapGFX), 48 + call DecompressRequest2bpp + ret + +JohtoMap: +INCBIN "gfx/pokegear/johto.bin" + +KantoMap: +INCBIN "gfx/pokegear/kanto.bin" + +PokedexNestIconGFX: +INCBIN "gfx/pokegear/dexmap_nest_icon.2bpp" +FlyMapLabelBorderGFX: +INCBIN "gfx/pokegear/flymap_label_border.1bpp" + +Unreferenced_Function92311: + xor a + ld [wTownMapPlayerIconLandmark], a + call ClearBGPalettes + call ClearTilemap + call ClearSprites + ld hl, hInMenu + ld a, [hl] + push af + ld [hl], $1 + xor a + ldh [hBGMapMode], a + farcall ClearSpriteAnims + call LoadTownMapGFX + ld de, FlyMapLabelBorderGFX + ld hl, vTiles2 tile $30 + lb bc, BANK(FlyMapLabelBorderGFX), 6 + call Request1bpp + call FillKantoMap + call TownMapBubble + call TownMapPals + hlbgcoord 0, 0, vBGMap1 + call TownMapBGUpdate + call FillJohtoMap + call TownMapBubble + call TownMapPals + hlbgcoord 0, 0 + call TownMapBGUpdate + call TownMapMon + ld a, c + ld [wTownMapCursorCoordinates], a + ld a, b + ld [wTownMapCursorCoordinates + 1], a + ld b, SCGB_POKEGEAR_PALS + call GetSGBLayout + call SetPalettes +.loop + call JoyTextDelay + ld hl, hJoyPressed + ld a, [hl] + and B_BUTTON + jr nz, .pressedB + ld a, [hl] + and A_BUTTON + jr nz, .pressedA + call .HandleDPad + call GetMapCursorCoordinates + farcall PlaySpriteAnimations + call DelayFrame + jr .loop + +.pressedB + ld a, -1 + jr .finished_a_b + +.pressedA + ld a, [wTownMapPlayerIconLandmark] + ld l, a + ld h, 0 + add hl, hl + ld de, Flypoints + 1 + add hl, de + ld a, [hl] +.finished_a_b + ld [wTownMapPlayerIconLandmark], a + pop af + ldh [hInMenu], a + call ClearBGPalettes + ld a, $90 + ldh [hWY], a + xor a ; LOW(vBGMap0) + ldh [hBGMapAddress], a + ld a, HIGH(vBGMap0) + ldh [hBGMapAddress + 1], a + ld a, [wTownMapPlayerIconLandmark] + ld e, a + ret + +.HandleDPad: + ld hl, hJoyLast + ld a, [hl] + and D_DOWN | D_RIGHT + jr nz, .down_right + ld a, [hl] + and D_UP | D_LEFT + jr nz, .up_left + ret + +.down_right + ld hl, wTownMapPlayerIconLandmark + ld a, [hl] + cp FLY_INDIGO + jr c, .okay_dr + ld [hl], -1 +.okay_dr + inc [hl] + jr .continue + +.up_left + ld hl, wTownMapPlayerIconLandmark + ld a, [hl] + and a + jr nz, .okay_ul + ld [hl], FLY_INDIGO + 1 +.okay_ul + dec [hl] +.continue + ld a, [wTownMapPlayerIconLandmark] + cp KANTO_FLYPOINT + jr c, .johto + call FillKantoMap + xor a + ld b, $9c + jr .finish + +.johto + call FillJohtoMap + ld a, $90 + ld b, $98 +.finish + ldh [hWY], a + ld a, b + ldh [hBGMapAddress + 1], a + call TownMapBubble + call WaitBGMap + xor a + ldh [hBGMapMode], a + ret diff --git a/gfx/pokegear/clock.tilemap.rle b/gfx/pokegear/clock.tilemap.rle new file mode 100644 index 00000000..ff8a50fa --- /dev/null +++ b/gfx/pokegear/clock.tilemap.rle @@ -0,0 +1 @@ +OO01OOO23OOOOOOOOOOOOOO&'OO
\ No newline at end of file diff --git a/gfx/pokegear/dexmap_nest_icon.2bpp b/gfx/pokegear/dexmap_nest_icon.2bpp new file mode 100644 index 00000000..48a4938e --- /dev/null +++ b/gfx/pokegear/dexmap_nest_icon.2bpp @@ -0,0 +1 @@ +BBffZZ$$
\ No newline at end of file diff --git a/gfx/pokegear/fast_ship.2bpp b/gfx/pokegear/fast_ship.2bpp Binary files differnew file mode 100644 index 00000000..e4a5525b --- /dev/null +++ b/gfx/pokegear/fast_ship.2bpp diff --git a/gfx/pokegear/flymap_label_border.1bpp b/gfx/pokegear/flymap_label_border.1bpp Binary files differnew file mode 100644 index 00000000..671aab1d --- /dev/null +++ b/gfx/pokegear/flymap_label_border.1bpp diff --git a/gfx/pokegear/johto.bin b/gfx/pokegear/johto.bin Binary files differnew file mode 100644 index 00000000..faa5efe7 --- /dev/null +++ b/gfx/pokegear/johto.bin diff --git a/gfx/pokegear/kanto.bin b/gfx/pokegear/kanto.bin Binary files differnew file mode 100644 index 00000000..8a08cd82 --- /dev/null +++ b/gfx/pokegear/kanto.bin diff --git a/gfx/pokegear/phone.tilemap.rle b/gfx/pokegear/phone.tilemap.rle new file mode 100644 index 00000000..4dffbc4c --- /dev/null +++ b/gfx/pokegear/phone.tilemap.rle @@ -0,0 +1,4 @@ +O +OO +'O +
\ No newline at end of file diff --git a/gfx/pokegear/pokegear_sprites.2bpp.lz b/gfx/pokegear/pokegear_sprites.2bpp.lz Binary files differnew file mode 100644 index 00000000..b5af62d2 --- /dev/null +++ b/gfx/pokegear/pokegear_sprites.2bpp.lz diff --git a/gfx/pokegear/radio.tilemap.rle b/gfx/pokegear/radio.tilemap.rle new file mode 100644 index 00000000..b181ed75 --- /dev/null +++ b/gfx/pokegear/radio.tilemap.rle @@ -0,0 +1,5 @@ +O +OO7O89O:OHJ; +LNO +LN6XYZ[\]5LN& +'LNMLNMLMLMLMLNM
\ No newline at end of file diff --git a/gfx/pokegear/town_map_palette_map.asm b/gfx/pokegear/town_map_palette_map.asm new file mode 100644 index 00000000..3224ec35 --- /dev/null +++ b/gfx/pokegear/town_map_palette_map.asm @@ -0,0 +1,29 @@ + const_def + const PAL_TOWNMAP_BORDER ; 0 + const PAL_TOWNMAP_EARTH ; 1 + const PAL_TOWNMAP_MOUNTAIN ; 2 + const PAL_TOWNMAP_CITY ; 3 + const PAL_TOWNMAP_POI ; 4 + const PAL_TOWNMAP_POI_MTN ; 5 + +townmappals: MACRO +rept _NARG / 2 + dn PAL_TOWNMAP_\2, PAL_TOWNMAP_\1 + shift 2 +endr +ENDM + +; gfx/pokegear/town_map.png + townmappals EARTH, EARTH, EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN, BORDER, BORDER + townmappals EARTH, EARTH, CITY, EARTH, POI, POI_MTN, POI, POI_MTN + townmappals EARTH, EARTH, EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN, BORDER, BORDER + townmappals EARTH, EARTH, BORDER, EARTH, EARTH, BORDER, BORDER, BORDER + townmappals EARTH, EARTH, EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN, BORDER, BORDER + townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER +; gfx/pokegear/pokegear.png + townmappals BORDER, BORDER, BORDER, BORDER, POI, POI, POI, BORDER + townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER + townmappals CITY, CITY, CITY, CITY, CITY, CITY, CITY, CITY + townmappals CITY, CITY, CITY, CITY, CITY, CITY, CITY, BORDER + townmappals CITY, CITY, CITY, CITY, CITY, CITY, CITY, CITY + townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER diff --git a/home/region.asm b/home/region.asm index 71c19662..ee781759 100755 --- a/home/region.asm +++ b/home/region.asm @@ -7,10 +7,10 @@ IsInJohto:: ld c, a call GetWorldMapLocation - cp FAST_SHIP + cp LANDMARK_FAST_SHIP jr z, .Johto - cp SPECIAL_MAP + cp LANDMARK_SPECIAL jr nz, .CheckRegion ld a, [wBackupMapGroup] @@ -557,7 +557,9 @@ ClearSpriteAnims2:: LoadOverworldMonIcon:: dr $8e78b, $8e79f LoadMenuMonIcon:: - dr $8e79f, $8e8fb + dr $8e79f, $8e88f +GetSpeciesIcon:: + dr $8e88f, $8e8fb FreezeMonIcons:: dr $8e8fb, $8e922 UnfreezeMonIcons:: @@ -574,7 +576,9 @@ ClearSpriteAnims2:: LoadOverworldMonIcon:: dr $8e771, $8e785 LoadMenuMonIcon:: - dr $8e785, $8e8e1 + dr $8e785, $8e875 +GetSpeciesIcon:: + dr $8e875, $8e8e1 FreezeMonIcons:: dr $8e8e1, $8e908 UnfreezeMonIcons:: @@ -588,24 +592,10 @@ SECTION "bank24", ROMX INCLUDE "engine/phone/phone.asm" INCLUDE "engine/rtc/timeset.asm" -PokeGear:: - dr $90b5e, $917ca - -RadioMusicRestartDE:: - dr $917ca, $917de -RadioMusicRestartPokemonChannel:: - dr $917de, $9188a -_TownMap:: - dr $9188a, $919c1 -PlayRadio:: - dr $919c1, $91a4f -PokegearMap:: - dr $91a4f, $91a61 -_FlyMap:: - dr $91a61, $91c7f -Pokedex_GetArea:: - dr $91c7f, $92364 +INCLUDE "engine/pokegear/pokegear.asm" +GetLandmarkCoords:: + dr $92355, $92364 GetLandmarkName:: dr $92364, $9297a Fish:: @@ -800,7 +790,9 @@ EnemyHPBarBorderGFX:: HPExpBarBorderGFX:: dr $f8bd2, $f8c02 ExpBarGFX:: - dr $f8c02, $fb4be + dr $f8c02, $f8c92 +TownMapGFX:: + dr $f8c92, $fb4be TileCollisionTable:: dr $fb4be, $fb5be @@ -1082,7 +1074,11 @@ _DudeAutoInput_A:: _DudeAutoInput_RightA:: dr $1c0dee, $1c0df3 _DudeAutoInput_DownA:: - dr $1c0df3, $1c168b + dr $1c0df3, $1c0e24 +TownMap_ConvertLineBreakCharacters:: + dr $1c0e24, $1c0e43 +PokegearGFX:: + dr $1c0e43, $1c168b IF DEF(_SILVER) dr $1c168b, $1c168c @@ -315,7 +315,7 @@ wSpriteAnim9:: sprite_anim_struct wSpriteAnim9 wSpriteAnim10:: sprite_anim_struct wSpriteAnim10 wSpriteAnimationStructsEnd:: -wAnimatedObjectStructCount:: ds 1 ; c5bc +wSpriteAnimCount:: ds 1 ; c5bc wCurrSpriteOAMAddr:: ds 1 ; c5bd wCurIcon:: ; c5be @@ -343,6 +343,7 @@ wc5cd:: ds 1 ; c5cd wc5ce:: ds 1 ; c5ce wc5cf:: ds 1 ; c5cf +UNION ; c5d0 ; naming screen wNamingScreenDestinationPointer:: dw ; c5d0 wNamingScreenCurNameLength:: db ; c5d2 @@ -352,7 +353,23 @@ wNamingScreenCursorObjectPointer:: dw ; c5d5 wNamingScreenLastCharacter:: db ; c5d7 wNamingScreenStringEntryCoord:: dw ; c5d8 - ds 40 +NEXTU ; c5d0 +; pokegear +wPokegearPhoneLoadNameBuffer:: db ; c5d0 +wPokegearPhoneCursorPosition:: db ; c5d1 +wPokegearPhoneScrollPosition:: db ; c5d2 +wPokegearPhoneSelectedPerson:: db ; cd3 +wPokegearPhoneSubmenuCursor:: db ; c5d4 +wPokegearMapCursorObjectPointer:: dw ; c5d5 +wPokegearMapCursorLandmark:: db ; c5d7 +wPokegearMapPlayerIconLandmark:: db ; c5d8 +wPokegearRadioChannelBank:: db ; c5d9 +wPokegearRadioChannelAddr:: dw ; c5da +wPokegearRadioMusicPlaying:: db ; c5dc + +ENDU ; c5dc + + ds 37 ; engine/gfx/color.asm ? wc602:: ds 1 ; c602 @@ -1051,6 +1068,12 @@ wPrevDexEntryBackup:: wPokedexStatus:: db NEXTU ; ce64 +; pokegear +wPokegearCard:: db +wPokegearMapRegion:: db +wPokegearCE66:: db + +NEXTU ; ce64 ; pack wPackJumptableIndex:: db wCurPocket:: db @@ -1272,6 +1295,16 @@ wMartItem9BCD:: ds 3 wMartItem10BCD:: ds 3 NEXTU ; ceed +; town map data +wTownMapPlayerIconLandmark:: db +UNION +wTownMapCursorLandmark:: db +wTownMapCursorObjectPointer:: dw +NEXTU +wTownMapCursorCoordinates:: dw +ENDU + +NEXTU ; ceed ; phone call data wPhoneScriptBank:: db wPhoneCaller:: dw @@ -1308,6 +1341,9 @@ wEarthquakeMovementDataBuffer:: ds 5 NEXTU ; ceed ; miscellaneous wTempDayOfWeek:: db + ds 2 +wStartFlypoint:: db +wEndFlypoint:: db NEXTU ; ceed ; unidentified |