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.)
This commit is contained in:
Zeta_Null 2024-10-16 14:58:11 -04:00
parent bb65f6a796
commit 3949670f4f
23 changed files with 160 additions and 20 deletions

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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"

View file

@ -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)

View file

@ -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

View file

@ -627,3 +627,6 @@ INCLUDE "maps/ThreeIslandPort.asm"
INCLUDE "maps/AlteringCave.asm"
INCLUDE "maps/SinjohRuinsExterior.asm"
INCLUDE "maps/SinjohRuinsInterior.asm"
INCLUDE "maps/KantoSafariZoneCenter.asm"
INCLUDE "maps/KantoSafariZoneArea1South.asm"
INCLUDE "maps/KantoSafariZoneArea1North.asm"

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -386,6 +386,8 @@ CheckIndoorMap::
cp DUNGEON
ret z
cp GATE
ret z
cp FOREST
ret
LoadMapAttributes::

View file

@ -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

View file

@ -0,0 +1 @@
s555qqqqqq5qqqHt??]]V)))+B]2acccgX)))+p5555`jirkXXYYA

View file

@ -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

View file

@ -0,0 +1,2 @@
@VW]QRA*))_ ZUoA*)))))
acccg@XY_S`dljk^??]beh]A@]accccfhA555@`jiiijk)WAU]^????@X)))YA???????mmmmmm?n

View file

@ -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

View file

@ -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

View file

@ -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