From 3949670f4fcbaf1c99914c84e3059080e11e6397 Mon Sep 17 00:00:00 2001 From: Zeta_Null Date: Wed, 16 Oct 2024 14:58:11 -0400 Subject: [PATCH] Begin work on the Kanto Safari Zone. Some maps are broken up or edited to allow for seamless transitions instead of needing several warps. (Area 1 is split vertically, Area 2 needs a horizontal split. The connection between area 1 and 2 also will have to be shifted up from where it is in RBY to prevent border blocks showing up where they shouldn't.) --- constants/map_constants.asm | 5 ++- constants/map_data_constants.asm | 1 + data/maps/attributes.asm | 11 ++++++ data/maps/blocks.asm | 9 +++++ data/maps/environment_colors.asm | 1 + data/maps/maps.asm | 11 +++--- data/maps/scripts.asm | 5 ++- data/tilesets/forest_kanto_attributes.bin | Bin 1248 -> 1872 bytes data/tilesets/forest_kanto_collision.asm | 41 +++++++++++++++++++++- data/tilesets/forest_kanto_metatiles.bin | Bin 1248 -> 1872 bytes engine/battle/battle_transition.asm | 2 ++ engine/events/overworld.asm | 4 +++ engine/gfx/sgb_layouts.asm | 2 ++ gfx/tilesets.asm | 24 ++++++------- gfx/tilesets/forest_kanto.png | Bin 5030 -> 2223 bytes home/map.asm | 2 ++ maps/DebugRoom.asm | 2 +- maps/KantoSafariZoneArea1North.ablk | 1 + maps/KantoSafariZoneArea1North.asm | 17 +++++++++ maps/KantoSafariZoneArea1South.ablk | 2 ++ maps/KantoSafariZoneArea1South.asm | 17 +++++++++ maps/KantoSafariZoneCenter.ablk | 4 +++ maps/KantoSafariZoneCenter.asm | 19 ++++++++++ 23 files changed, 160 insertions(+), 20 deletions(-) create mode 100644 maps/KantoSafariZoneArea1North.ablk create mode 100644 maps/KantoSafariZoneArea1North.asm create mode 100644 maps/KantoSafariZoneArea1South.ablk create mode 100644 maps/KantoSafariZoneArea1South.asm create mode 100644 maps/KantoSafariZoneCenter.ablk create mode 100644 maps/KantoSafariZoneCenter.asm diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 3657797..534edaa 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -373,7 +373,10 @@ ENDM map_const FUCHSIA_POKECENTER_2F_BETA, 8, 4 ; 11 map_const SAFARI_ZONE_WARDENS_HOME, 5, 4 ; 12 map_const ROUTE_15_FUCHSIA_GATE, 5, 4 ; 13 - map_const SUMMER_BEACH_HOUSE, 7, 4 ; 13 + map_const SUMMER_BEACH_HOUSE, 7, 4 ; 14 + map_const KANTO_SAFARI_ZONE_CENTER, 15, 15 ; 15 + map_const KANTO_SAFARI_ZONE_AREA1_SOUTH, 15, 9 ; 16 + map_const KANTO_SAFARI_ZONE_AREA1_NORTH, 15, 4 ; 16 endgroup newgroup LAVENDER ; 18 diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 188c16f..c681f45 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -27,6 +27,7 @@ DEF MAP_LENGTH EQU _RS const ENVIRONMENT_5 const GATE const DUNGEON + const FOREST DEF NUM_ENVIRONMENTS EQU const_value - 1 ; map palettes (wEnvironment) diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 24dc17b..d6294a1 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -865,6 +865,16 @@ ENDM map_attributes JackysHouse, JACKYS_HOUSE, $00, 0 map_attributes SummerBeachHouse, SUMMER_BEACH_HOUSE, $00, 0 + map_attributes KantoSafariZoneCenter, KANTO_SAFARI_ZONE_CENTER, $05, EAST + connection east, KantoSafariZoneArea1South, KANTO_SAFARI_ZONE_AREA1_SOUTH, -2 + + map_attributes KantoSafariZoneArea1South, KANTO_SAFARI_ZONE_AREA1_SOUTH, $05, NORTH | WEST + connection north, KantoSafariZoneArea1North, KANTO_SAFARI_ZONE_AREA1_NORTH, 0 + connection west, KantoSafariZoneCenter, KANTO_SAFARI_ZONE_CENTER, 2 + + map_attributes KantoSafariZoneArea1North, KANTO_SAFARI_ZONE_AREA1_NORTH, $05, SOUTH + connection south, KantoSafariZoneArea1South, KANTO_SAFARI_ZONE_AREA1_SOUTH, 0 + map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later. map_attributes WhiteCity, WHITE_CITY, $01, 0 ; this is on its own for now. add connections later. @@ -872,3 +882,4 @@ ENDM map_attributes SinjohRuinsExterior, SINJOH_RUINS_EXTERIOR, $00, 0 map_attributes SinjohRuinsInterior, SINJOH_RUINS_EXTERIOR, $00, 0 + \ No newline at end of file diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index 08ec49a..ab708cf 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -1292,3 +1292,12 @@ HauntedHouse1F_Blocks: HauntedHouse2F_Blocks: INCBIN "maps/HauntedHouse2F.ablk" +KantoSafariZoneCenter_Blocks: + INCBIN "maps/KantoSafariZoneCenter.ablk" + +KantoSafariZoneArea1South_Blocks: + INCBIN "maps/KantoSafariZoneArea1South.ablk" + +KantoSafariZoneArea1North_Blocks: + INCBIN "maps/KantoSafariZoneArea1North.ablk" + diff --git a/data/maps/environment_colors.asm b/data/maps/environment_colors.asm index 99e9be7..8163483 100644 --- a/data/maps/environment_colors.asm +++ b/data/maps/environment_colors.asm @@ -9,6 +9,7 @@ EnvironmentColorsPointers: dw .Env5Colors ; ENVIRONMENT_5 dw .IndoorColors ; GATE dw .DungeonColors ; DUNGEON + dw .OutdoorColors ; FOREST assert_table_length NUM_ENVIRONMENTS + 1 ; Valid indices: $00 - $29 (see gfx/tilesets/bg_tiles.pal) diff --git a/data/maps/maps.asm b/data/maps/maps.asm index b0a0309..85ffd35 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -1,7 +1,7 @@ MACRO map ;\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 +;\3: environment: TOWN, ROUTE, INDOOR, CAVE, ENVIRONMENT_5, GATE, DUNGEON or FOREST ;\4: location: a LANDMARK_* constant ;\5: music: a MUSIC_* constant ;\6: phone service flag: TRUE to prevent phone calls @@ -177,7 +177,7 @@ MapGroup_Dungeons: 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_KANTO_SAFARI_ZONE, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_SHORE + map SafariZoneBeta, TILESET_PARK, FOREST, LANDMARK_KANTO_SAFARI_ZONE, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_SHORE map VictoryRoad, TILESET_CAVE, CAVE, LANDMARK_VICTORY_ROAD, MUSIC_VICTORY_ROAD, TRUE, PALETTE_NITE, FISHGROUP_SHORE assert_table_length NUM_DUNGEONS_MAPS @@ -413,6 +413,9 @@ MapGroup_Fuchsia: 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 map SummerBeachHouse, TILESET_HOUSE, INDOOR, LANDMARK_FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE + map KantoSafariZoneCenter, TILESET_FOREST_KANTO, FOREST, LANDMARK_FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI + map KantoSafariZoneArea1South, TILESET_FOREST_KANTO, FOREST, LANDMARK_FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI + map KantoSafariZoneArea1North, TILESET_FOREST_KANTO, FOREST, LANDMARK_FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI assert_table_length NUM_FUCHSIA_MAPS MapGroup_Lavender: @@ -535,7 +538,7 @@ MapGroup_Viridian: 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 - map ViridianForest, TILESET_FOREST_KANTO, ROUTE, LANDMARK_VIRIDIAN_FOREST, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE ; MUSIC_ROUTE_2 is the viridian forest remix + map ViridianForest, TILESET_FOREST_KANTO, FOREST, LANDMARK_VIRIDIAN_FOREST, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE ; MUSIC_ROUTE_2 is the viridian forest remix map ViridianForestViridianGate, TILESET_GATE, GATE, LANDMARK_ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE map ViridianForestPewterGate, TILESET_GATE, GATE, LANDMARK_ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE assert_table_length NUM_VIRIDIAN_MAPS @@ -634,7 +637,7 @@ MapGroup_ThreeIsland: ; 30 map ThreeIslandPort, TILESET_SEVII, TOWN, LANDMARK_THREE_ISLAND, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE map ThreeIsland, TILESET_SEVII, TOWN, LANDMARK_THREE_ISLAND, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE map BondBridge, TILESET_SEVII, ROUTE, LANDMARK_THREE_ISLAND, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE - map BerryForest, TILESET_FOREST_KANTO, ROUTE, LANDMARK_THREE_ISLAND, MUSIC_ROUTE_3, TRUE, PALETTE_AUTO, FISHGROUP_POND + map BerryForest, TILESET_FOREST_KANTO, FOREST, LANDMARK_THREE_ISLAND, MUSIC_ROUTE_3, TRUE, PALETTE_AUTO, FISHGROUP_POND assert_table_length NUM_THREE_ISLAND_MAPS MapGroup_FourIsland: ; 31 diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index f516e83..db26449 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -626,4 +626,7 @@ INCLUDE "maps/CelesteHillCave.asm" INCLUDE "maps/ThreeIslandPort.asm" INCLUDE "maps/AlteringCave.asm" INCLUDE "maps/SinjohRuinsExterior.asm" -INCLUDE "maps/SinjohRuinsInterior.asm" \ No newline at end of file +INCLUDE "maps/SinjohRuinsInterior.asm" +INCLUDE "maps/KantoSafariZoneCenter.asm" +INCLUDE "maps/KantoSafariZoneArea1South.asm" +INCLUDE "maps/KantoSafariZoneArea1North.asm" \ No newline at end of file diff --git a/data/tilesets/forest_kanto_attributes.bin b/data/tilesets/forest_kanto_attributes.bin index c1c061be638c924ad6fd1b10cbf15019323c9e8e..bb5803f258217da3785b16657f2a1f08f696787b 100644 GIT binary patch literal 1872 zcmcIki*Ca(2wdD+imdYgzdIlJ!XvA^X&Wkm<7udq^UTx=JqpRBXwvYb9rLH^Ac>4I zxxp0}`6xgx?QW29lp$43HKCN3>i;|3du!m|5emHJp6gGTLKnUc0Pn{SiOI-CJ*GqN z&*v6v9D^NvTjO z+zzwOv4~iuzAk3*KEUTGVr_keRl0}BTe6ilATqCa^86X)auED8W>Vh0ca diff --git a/data/tilesets/forest_kanto_collision.asm b/data/tilesets/forest_kanto_collision.asm index e377f6d..10d2eba 100644 --- a/data/tilesets/forest_kanto_collision.asm +++ b/data/tilesets/forest_kanto_collision.asm @@ -70,9 +70,48 @@ tilecoll TALL_GRASS, HEADBUTT_TREE, TALL_GRASS, HEADBUTT_TREE ; 45 tilecoll WALL, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 46 tilecoll TALL_GRASS, TALL_GRASS, HEADBUTT_TREE, HEADBUTT_TREE ; 47 - tilecoll HEADBUTT_TREE, HEADBUTT_TREE, TALL_GRASS, TALL_GRASS ; 48 + tilecoll WALL, WALL, FLOOR, WALL ; 48 tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 49 tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 4a tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 4b tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 4c tilecoll WALL, WALL, WALL, WALL ; 4d + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4e + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4f + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 50 + tilecoll WALL, WALL, WALL, DOOR ; 51 + tilecoll WALL, WALL, WALL, WALL ; 52 + tilecoll WATER, WATER, WATER, WATER ; 53 + tilecoll WATER, WATER, WATER, WATER ; 54 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 55 + tilecoll FLOOR, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 56 + tilecoll TALL_GRASS, FLOOR, TALL_GRASS, TALL_GRASS ; 57 + tilecoll TALL_GRASS, TALL_GRASS, FLOOR, TALL_GRASS ; 58 + tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, FLOOR ; 59 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5a + tilecoll FLOOR, FLOOR, WALL, FLOOR ; 5b + tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 5c + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5d + tilecoll WALL, FLOOR, WALL, WALL ; 5e + tilecoll FLOOR, WATER, FLOOR, WATER ; 5f + tilecoll WALL, FLOOR, WALL, WALL ; 60 + tilecoll WALL, WALL, WALL, FLOOR ; 61 + tilecoll FLOOR, WATER, FLOOR, WATER ; 62 + tilecoll WALL, WALL, FLOOR, FLOOR ; 63 + tilecoll FLOOR, FLOOR, WALL, FLOOR ; 64 + tilecoll WALL, FLOOR, WALL, FLOOR ; 65 + tilecoll WALL, FLOOR, FLOOR, FLOOR ; 66 + tilecoll WALL, WALL, FLOOR, WALL ; 67 + tilecoll FLOOR, WALL, FLOOR, WALL ; 68 + tilecoll FLOOR, FLOOR, WALL, WALL ; 69 + tilecoll FLOOR, FLOOR, FLOOR, WALL ; 6a + tilecoll FLOOR, WALL, WALL, WALL ; 6b + tilecoll FLOOR, WALL, FLOOR, WALL ; 6c + tilecoll TALL_GRASS, TALL_GRASS, WALL, WALL ; 6d + tilecoll FLOOR, WALL, WALL, WALL ; 6e + tilecoll WALL, FLOOR, FLOOR, FLOOR ; 6f + tilecoll WALL, WALL, WALL, FLOOR ; 70 + tilecoll WALL, WALL, TALL_GRASS, TALL_GRASS ; 71 + tilecoll FLOOR, FLOOR, WALL, FLOOR ; 72 + tilecoll WALL, WALL, FLOOR, FLOOR ; 73 + tilecoll FLOOR, FLOOR, WALL, WALL ; 74 diff --git a/data/tilesets/forest_kanto_metatiles.bin b/data/tilesets/forest_kanto_metatiles.bin index 867b2346354c1caef8bba6ba0f007bd64648a1ad..6ce2a1958dfc754c2e98137abac73351e2bf3f68 100644 GIT binary patch literal 1872 zcma)6ZExB@49+Dnqr4Rspb!S-B@h}`N(u$qZ7u3HP1{5(?d2ow|Nj@WW6XsJq&>pt zdwhO;cRrETY9Ek5Ie`Kq9*WW}u<#d6yFIUeJ)PY=e*W_H*Y7`n0URf8dDJ(tfY`tv z`18elG4KKA3jpDA49OFZ((|}!9qY0DX?&e3N@ez3d3ZbUmv_ha)#qTn=5jKX0;p7_ zx zgkjk8Jg;Zl9tn|#NIj2v7wI*!KJtE)hotAdNl#~IHO)P5I-AW%CO}HOFNX9+C15Z& z6i*DxR>~=>oj25e#QblllxbF~JZh0;o2FAXP4Rlh5$=n034IDum1?EB^U&@9OhUbPQ}Y%f^3i89=APm@{Qc$l>f@*ThwU<~5gP>a`-k=V>3Oqxc_mI+PtWW1%j;%yR;$(g;c&QE z-rjwiegA>9fppYrEk7)m%b%C{aY^7R&c_6khGL0E06a77&TkmRI1=?j?kiE@%HRmq zI0Tg%k1JKZBKN2J6iYNRIN zn~mwDZZbQQc|>&sheqSDadG@qYqJox1=4 delta 28 icmcb>_keRl1B-x~x|+I~xtTd5BO?O?keEDyB>(_vo(25? diff --git a/engine/battle/battle_transition.asm b/engine/battle/battle_transition.asm index 185995a..c6e1721 100644 --- a/engine/battle/battle_transition.asm +++ b/engine/battle/battle_transition.asm @@ -230,6 +230,8 @@ StartTrainerBattle_DetermineWhichAnimation: jr z, .cave cp DUNGEON jr z, .cave + cp FOREST + jr z, .cave set TRANS_NO_CAVE_F, e .cave ld hl, .StartingPoints diff --git a/engine/events/overworld.asm b/engine/events/overworld.asm index a81d5dd..8dfab30 100644 --- a/engine/events/overworld.asm +++ b/engine/events/overworld.asm @@ -777,6 +777,8 @@ EscapeRopeOrDig: jr z, .incave cp DUNGEON jr z, .incave + cp FOREST + jr z, .incave .fail ld a, $2 ret @@ -1782,6 +1784,8 @@ BikeFunction: jr z, .ok cp GATE jr z, .ok + cp FOREST + jr z, .ok jr .nope .ok diff --git a/engine/gfx/sgb_layouts.asm b/engine/gfx/sgb_layouts.asm index 5a39216..fa9be24 100644 --- a/engine/gfx/sgb_layouts.asm +++ b/engine/gfx/sgb_layouts.asm @@ -539,6 +539,8 @@ endr jr z, .env5 cp GATE jr z, .gate + ;cp FOREST + ;jr z, .route ld a, [wMapGroup] ld e, a ld d, 0 diff --git a/gfx/tilesets.asm b/gfx/tilesets.asm index bca40cf..1600648 100644 --- a/gfx/tilesets.asm +++ b/gfx/tilesets.asm @@ -318,15 +318,6 @@ INCBIN "data/tilesets/nihon01_metatiles.bin" TilesetNihon1Coll:: INCLUDE "data/tilesets/nihon01_collision.asm" -TilesetForestKantoGFX:: -INCBIN "gfx/tilesets/forest_kanto.2bpp.lz" - -TilesetForestKantoMeta:: -INCBIN "data/tilesets/forest_kanto_metatiles.bin" - -TilesetForestKantoColl:: -INCLUDE "data/tilesets/forest_kanto_collision.asm" - TilesetMuseumGFX:: INCBIN "gfx/tilesets/museum.2bpp.lz" @@ -460,9 +451,6 @@ INCBIN "data/tilesets/aerodactyl_word_room_attributes.bin" TilesetNihon1Attr:: INCBIN "data/tilesets/nihon01_attributes.bin" -TilesetForestKantoAttr:: -INCBIN "data/tilesets/forest_kanto_attributes.bin" - SECTION "Tileset Data 12", ROMX TilesetMuseumAttr:: @@ -654,3 +642,15 @@ INCBIN "data/tilesets/lavendercrypt_metatiles.bin" TilesetLavenderCryptColl:: INCLUDE "data/tilesets/lavendercrypt_collision.asm" + +TilesetForestKantoGFX:: +INCBIN "gfx/tilesets/forest_kanto.2bpp.lz" + +TilesetForestKantoMeta:: +INCBIN "data/tilesets/forest_kanto_metatiles.bin" + +TilesetForestKantoColl:: +INCLUDE "data/tilesets/forest_kanto_collision.asm" + +TilesetForestKantoAttr:: +INCBIN "data/tilesets/forest_kanto_attributes.bin" \ No newline at end of file diff --git a/gfx/tilesets/forest_kanto.png b/gfx/tilesets/forest_kanto.png index 1d0536ec3e08f99869f9a9ee768b2a80204bb7dd..a0aa1853d21fa72e03f84246a2b31520f78ff9f2 100644 GIT binary patch literal 2223 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 literal 5030 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 diff --git a/home/map.asm b/home/map.asm index c8eba13..08a9767 100644 --- a/home/map.asm +++ b/home/map.asm @@ -386,6 +386,8 @@ CheckIndoorMap:: cp DUNGEON ret z cp GATE + ret z + cp FOREST ret LoadMapAttributes:: diff --git a/maps/DebugRoom.asm b/maps/DebugRoom.asm index b43d576..7eafb2d 100644 --- a/maps/DebugRoom.asm +++ b/maps/DebugRoom.asm @@ -403,7 +403,7 @@ DebugRoom_MapEvents: warp_event 5, 9, BLUE_FOREST, 1 ; right lab/league warp warp_event 35, 17, OLD_CITY, 1 ; east warp warp_event 5, 35, LAVENDER_TOWN, 1 ; southwest warp - warp_event 19, 34, SAFARI_ZONE_FUCHSIA_GATE_BETA, 3 ; southern warp + warp_event 19, 34, KANTO_SAFARI_ZONE_CENTER, 1 ; southern warp warp_event 33, 33, FOUR_ISLAND, 1 ; southeast warp warp_event 5, 3, HAUNTED_HOUSE_FOYER, 1 warp_event 34, 11, WINNERS_PATH, 3 diff --git a/maps/KantoSafariZoneArea1North.ablk b/maps/KantoSafariZoneArea1North.ablk new file mode 100644 index 0000000..e71e753 --- /dev/null +++ b/maps/KantoSafariZoneArea1North.ablk @@ -0,0 +1 @@ +s555qqqqqq5qqqHt??]]V)))+B]2acccgX)))+p5555`jirkXXYYA \ No newline at end of file diff --git a/maps/KantoSafariZoneArea1North.asm b/maps/KantoSafariZoneArea1North.asm new file mode 100644 index 0000000..1dae519 --- /dev/null +++ b/maps/KantoSafariZoneArea1North.asm @@ -0,0 +1,17 @@ + object_const_def + +KantoSafariZoneArea1North_MapScripts: + def_scene_scripts + + def_callbacks + +KantoSafariZoneArea1North_MapEvents: + db 0, 0 ; filler + + def_warp_events + + def_coord_events + + def_bg_events + + def_object_events \ No newline at end of file diff --git a/maps/KantoSafariZoneArea1South.ablk b/maps/KantoSafariZoneArea1South.ablk new file mode 100644 index 0000000..dfc4c17 --- /dev/null +++ b/maps/KantoSafariZoneArea1South.ablk @@ -0,0 +1,2 @@ +@VW]QRA*))_ ZUoA*))))) +acccg@XY_S`dljk^??]beh]A@]accccfhA555@`jiiijk)WAU]^????@X)))YA???????mmmmmm?n \ No newline at end of file diff --git a/maps/KantoSafariZoneArea1South.asm b/maps/KantoSafariZoneArea1South.asm new file mode 100644 index 0000000..58e758e --- /dev/null +++ b/maps/KantoSafariZoneArea1South.asm @@ -0,0 +1,17 @@ + object_const_def + +KantoSafariZoneArea1South_MapScripts: + def_scene_scripts + + def_callbacks + +KantoSafariZoneArea1South_MapEvents: + db 0, 0 ; filler + + def_warp_events + + def_coord_events + + def_bg_events + + def_object_events \ No newline at end of file diff --git a/maps/KantoSafariZoneCenter.ablk b/maps/KantoSafariZoneCenter.ablk new file mode 100644 index 0000000..e744523 --- /dev/null +++ b/maps/KantoSafariZoneCenter.ablk @@ -0,0 +1,4 @@ +55555U555555@]VWA]VWVWA@V))WAV))))W]A@X)YAX)YX)YA@YV ???ZU) + ZUZ + ]UZ@]X +TS )W@]??PONPOX)WA55]]))WA@V))W]QRV)YA@]X))Y[]2VYA@]X))Y\VY]APNPNOPNONOMMM!"#MMMMMMMMM%&'MMMMMM \ No newline at end of file diff --git a/maps/KantoSafariZoneCenter.asm b/maps/KantoSafariZoneCenter.asm new file mode 100644 index 0000000..5f051ad --- /dev/null +++ b/maps/KantoSafariZoneCenter.asm @@ -0,0 +1,19 @@ + object_const_def + +KantoSafariZoneCenter_MapScripts: + def_scene_scripts + + def_callbacks + +KantoSafariZoneCenter_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 14, 23, DEBUG_ROOM, 1 + warp_event 15, 23, DEBUG_ROOM, 1 + + def_coord_events + + def_bg_events + + def_object_events \ No newline at end of file