diff --git a/constants/map_constants.asm b/constants/map_constants.asm index d9a7b86..13f78fc 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -636,7 +636,7 @@ ENDM map_const SILENT_HILLS, 10, 10 ; 4 map_const DEBUG_ROOM, 20, 20 ; 5 map_const ROUTE_49, 15, 9 ; 6 - map_const QUIET_CAVE, 27, 18 ; 7 + map_const QUIET_CAVE, 25, 18 ; 7 map_const ROUTE_49_2, 10, 19 ; 8 map_const SILENT_HILLS_POKECENTER_1F, 10, 4 ; 9 map_const SILVERS_HOUSE, 5, 5 ; 10 diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm index af23d86..dc89852 100644 --- a/constants/tileset_constants.asm +++ b/constants/tileset_constants.asm @@ -52,6 +52,7 @@ const TILESET_NIHON_MART ; 32 const TILESET_NIHON_WHITECITY ; 33 const TILESET_SEVII ; 34 + const TILESET_LUSHCAVE ; 35 DEF NUM_TILESETS EQU const_value - 1 ; wTileset struct size diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 2035990..51cf634 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -834,7 +834,7 @@ ENDM connection south, WinnersPathOutside, WINNERS_PATH_OUTSIDE, 0 connection west, SilentHills, SILENT_HILLS, 0 - map_attributes QuietCave, QUIET_CAVE, $76, 0 + map_attributes QuietCave, QUIET_CAVE, $01, 0 map_attributes BlueLab, BLUE_LAB, $00, 0 map_attributes SilentHillsPokecenter1F, SILENT_HILLS_POKECENTER_1F, $00, 0 map_attributes SilversHouse, SILVERS_HOUSE, $00, 0 diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 36d532d..95ec5a5 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -695,7 +695,7 @@ MapGroup_SilentHills: map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, TRUE, PALETTE_AUTO, FISHGROUP_NONE map DebugRoom, TILESET_NIHON_01, TOWN, LANDMARK_DEBUG_ROOM, MUSIC_SINJOH_RUINS, TRUE, PALETTE_AUTO, FISHGROUP_SHORE map Route49, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_NIHONTIME, TRUE, PALETTE_AUTO, FISHGROUP_POND - map QuietCave, TILESET_NIHON_01, ROUTE, LANDMARK_QUIET_CAVE, MUSIC_NIHONTIME, TRUE, PALETTE_AUTO, FISHGROUP_POND + map QuietCave, TILESET_LUSHCAVE, FOREST, LANDMARK_QUIET_CAVE, MUSIC_NIHONTIME, TRUE, PALETTE_NITE, FISHGROUP_POND map Route49_2, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_NIHONTIME, TRUE, PALETTE_AUTO, FISHGROUP_POND map SilentHillsPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_NONE map SilversHouse, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE diff --git a/data/tilesets.asm b/data/tilesets.asm index 5ac4b37..76b6733 100644 --- a/data/tilesets.asm +++ b/data/tilesets.asm @@ -64,4 +64,5 @@ Tilesets:: tileset TilesetNihonMart tileset TilesetNihonWhiteCity tileset TilesetSevii + tileset TilesetLushCave assert_table_length NUM_TILESETS + 1 diff --git a/data/tilesets/lushcave_attributes.bin b/data/tilesets/lushcave_attributes.bin new file mode 100644 index 0000000..e38fe53 Binary files /dev/null and b/data/tilesets/lushcave_attributes.bin differ diff --git a/data/tilesets/lushcave_collision.asm b/data/tilesets/lushcave_collision.asm new file mode 100644 index 0000000..b47fa90 --- /dev/null +++ b/data/tilesets/lushcave_collision.asm @@ -0,0 +1,84 @@ + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 00 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01 + tilecoll FLOOR, WALL, FLOOR, FLOOR ; 02 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06 + tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 07 + tilecoll WALL, WALL, WALL, WALL ; 08 + tilecoll WALL, WALL, WALL, WALL ; 09 + tilecoll WALL, WALL, WALL, WALL ; 0a + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b + tilecoll WALL, WALL, WALL, WALL ; 0c + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d + tilecoll WALL, WALL, WALL, WALL ; 0e + tilecoll WALL, WALL, WALL, WALL ; 0f + tilecoll WALL, WALL, WALL, WALL ; 10 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11 + tilecoll WALL, WALL, WALL, WALL ; 12 + tilecoll WALL, WALL, WALL, DOOR ; 13 + tilecoll WALL, WALL, WALL, FLOOR ; 14 + tilecoll WALL, WALL, FLOOR, FLOOR ; 15 + tilecoll WALL, WALL, FLOOR, WALL ; 16 + tilecoll WALL, WALL, WALL, WALL ; 17 + tilecoll WALL, FLOOR, FLOOR, FLOOR ; 18 + tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 19 + tilecoll FLOOR, WALL, FLOOR, FLOOR ; 1a + tilecoll WALL, WALL, WALL, WALL ; 1b + tilecoll WALL, FLOOR, WALL, FLOOR ; 1c + tilecoll FLOOR, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 1d + tilecoll FLOOR, WALL, FLOOR, WALL ; 1e + tilecoll FLOOR, FLOOR, FLOOR, WALL ; 1f + tilecoll WALL, FLOOR, WALL, WALL ; 20 + tilecoll FLOOR, FLOOR, WALL, WALL ; 21 + tilecoll FLOOR, WALL, WALL, WALL ; 22 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23 + tilecoll WALL, WALL, WALL, FLOOR ; 24 + tilecoll WALL, HEADBUTT_TREE, WALL, FLOOR ; 25 + tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 26 + tilecoll HEADBUTT_TREE, WALL, FLOOR, WALL ; 27 + tilecoll WALL, WALL, FLOOR, FLOOR ; 28 + tilecoll WALL, WALL, FLOOR, FLOOR ; 29 + tilecoll WALL, WALL, FLOOR, FLOOR ; 2a + tilecoll FLOOR, WALL, WALL, WALL ; 2b + tilecoll FLOOR, WALL, FLOOR, WALL ; 2c + tilecoll FLOOR, FLOOR, WALL, WALL ; 2d + tilecoll WALL, FLOOR, WALL, FLOOR ; 2e + tilecoll WALL, FLOOR, WALL, WALL ; 2f + tilecoll WALL, FLOOR, WALL, WALL ; 30 + tilecoll FLOOR, FLOOR, WALL, WALL ; 31 + tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 32 + tilecoll FLOOR, WALL, WALL, WALL ; 33 + tilecoll WALL, WALL, WALL, FLOOR ; 34 + tilecoll WALL, WALL, FLOOR, FLOOR ; 35 + tilecoll WALL, WALL, WALL, WALL ; 36 + tilecoll FLOOR, FLOOR, FLOOR, WALL ; 37 + tilecoll WALL, FLOOR, FLOOR, FLOOR ; 38 + tilecoll FLOOR, FLOOR, WALL, WALL ; 39 + tilecoll WALL, WALL, WALL, WALL ; 3a + tilecoll FLOOR, FLOOR, WALL, FLOOR ; 3b + tilecoll WALL, FLOOR, WALL, FLOOR ; 3c + tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3d + tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3e + tilecoll FLOOR, FLOOR, WALL, FLOOR ; 3f + tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 40 + tilecoll FLOOR, WALL, WALL, WALL ; 41 + tilecoll FLOOR, FLOOR, WALL, WALL ; 42 + tilecoll FLOOR, FLOOR, FLOOR, WALL ; 43 + tilecoll FLOOR, WALL, FLOOR, WALL ; 44 + tilecoll FLOOR, WALL, FLOOR, WALL ; 45 + tilecoll WALL, FLOOR, WALL, HEADBUTT_TREE ; 46 + tilecoll FLOOR, WALL, HEADBUTT_TREE, WALL ; 47 + tilecoll WALL, FLOOR, WALL, FLOOR ; 48 + tilecoll FLOOR, WALL, FLOOR, WALL ; 49 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4a + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4b + tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 4c + tilecoll WATER, WATER, WATER, WATER ; 4d + tilecoll WATER, WATER, WATER, WATER ; 4e + tilecoll WATER, WATER, WATER, WATER ; 4f + tilecoll WATER, WATER, WATER, WATER ; 50 + tilecoll WATER, WATER, WATER, WATER ; 51 + tilecoll WATER, WATER, WATER, WATER ; 52 + tilecoll WATER, WATER, WATER, WATER ; 53 diff --git a/data/tilesets/lushcave_metatiles.bin b/data/tilesets/lushcave_metatiles.bin new file mode 100644 index 0000000..29883bd Binary files /dev/null and b/data/tilesets/lushcave_metatiles.bin differ diff --git a/data/tilesets/nihon01_metatiles.bin b/data/tilesets/nihon01_metatiles.bin index 722eba4..d0c81f6 100644 Binary files a/data/tilesets/nihon01_metatiles.bin and b/data/tilesets/nihon01_metatiles.bin differ diff --git a/engine/tilesets/tileset_anims.asm b/engine/tilesets/tileset_anims.asm index bf97101..2965b44 100644 --- a/engine/tilesets/tileset_anims.asm +++ b/engine/tilesets/tileset_anims.asm @@ -308,6 +308,19 @@ TilesetSeviiAnim: dw NULL, StandingTileFrame8 dw NULL, DoneTileAnimation +TilesetLushCaveAnim: + dw vTiles2 tile $14, ReadTileToAnimBuffer + dw NULL, AnimateFlowerTile + dw wTileAnimBuffer, ScrollTileRightLeft + dw vTiles2 tile $14, WriteTileFromAnimBuffer + dw NULL, AnimateWaterPalette + dw vTiles2 tile $40, ReadTileToAnimBuffer + dw wTileAnimBuffer, ScrollTileDown + dw wTileAnimBuffer, ScrollTileDown + dw wTileAnimBuffer, ScrollTileDown + dw vTiles2 tile $40, WriteTileFromAnimBuffer + dw NULL, DoneTileAnimation + TilesetBattleTowerOutsideAnim: TilesetHouseAnim: TilesetPlayersHouseAnim: diff --git a/gfx/tilesets.asm b/gfx/tilesets.asm index 1600648..db8aecc 100644 --- a/gfx/tilesets.asm +++ b/gfx/tilesets.asm @@ -627,6 +627,18 @@ INCLUDE "data/tilesets/sevii_collision.asm" TilesetSeviiAttr:: INCBIN "data/tilesets/sevii_attributes.bin" +TilesetLushCaveGFX:: +INCBIN "gfx/tilesets/lushcave.2bpp.lz" + +TilesetLushCaveMeta:: +INCBIN "data/tilesets/lushcave_metatiles.bin" + +TilesetLushCaveColl:: +INCLUDE "data/tilesets/lushcave_collision.asm" + +TilesetLushCaveAttr:: +INCBIN "data/tilesets/lushcave_attributes.bin" + ; there should be space here, lavender crypt's set is just big SECTION "Tileset Data 16", ROMX diff --git a/gfx/tilesets/lushcave.png b/gfx/tilesets/lushcave.png new file mode 100644 index 0000000..4071404 Binary files /dev/null and b/gfx/tilesets/lushcave.png differ diff --git a/gfx/tilesets/sevii.png b/gfx/tilesets/sevii.png index e6cc1b4..56331fb 100644 Binary files a/gfx/tilesets/sevii.png and b/gfx/tilesets/sevii.png differ diff --git a/maps/QuietCave.ablk b/maps/QuietCave.ablk index 72ee82b..c44bd7e 100644 --- a/maps/QuietCave.ablk +++ b/maps/QuietCave.ablk @@ -1 +1,2 @@ -i82822222221 $$$$g82;C62221 ;8222?"266[==_28a2?"2c==<6[=_8a2222222266822aa8[====<21 7 6822aa;8226668?28822669268?2[===_ 7 7 2622268?282222aa262948?2 7 Z4268?2817 268?282a6"268228a26"1 7  7 Z?2866$$->8;4226$$$h;8222264822822226226 \ No newline at end of file +  +=99999B  $)/11--11-+C9A  %&. #&&&'  #  H I  . #E  H 2.C973 # % ID #4558H D@&I  H< !!"D #   079;22D#&@' #%&&&&&&&'  J >!" I  HH 2J  !?2 >!!" #K. II#     .F@@@@G  L %&&<D&&'6: \ No newline at end of file diff --git a/maps/QuietCave.asm b/maps/QuietCave.asm index 4f83eb7..a909ad6 100644 --- a/maps/QuietCave.asm +++ b/maps/QuietCave.asm @@ -206,21 +206,21 @@ QuietCave_MapEvents: db 0, 0 ; filler def_warp_events - warp_event 53, 29, ROUTE_49, 1 - warp_event 53, 30, ROUTE_49, 2 - warp_event 8, 0, ROUTE_49_2, 1 - warp_event 9, 0, ROUTE_49_2, 2 + warp_event 47, 30, ROUTE_49, 1 + warp_event 47, 31, ROUTE_49, 2 + warp_event 7, 1, ROUTE_49_2, 1 + warp_event 7, 1, ROUTE_49_2, 2 def_coord_events def_bg_events - bg_event 50, 28, BGEVENT_READ, Route49Sign1 - bg_event 13, 2, BGEVENT_READ, Route49Sign2 + bg_event 47, 28, BGEVENT_READ, Route49Sign1 + bg_event 9, 2, BGEVENT_READ, Route49Sign2 def_object_events - object_event 45, 28, SPRITE_ROCKER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, QuietCaveBoy1, -1 - object_event 45, 19, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerBugCatcherSioned, -1 - object_event 33, 26, SPRITE_POKEFAN_F, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerBeautyJulie, -1 - object_event 31, 6, SPRITE_FISHER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerFirebreatherDick, -1 - object_event 11, 27, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerBugCatcherElwyn, -1 - object_event 11, 6, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 6, TrainerSchoolboyPero, -1 + object_event 41, 28, SPRITE_ROCKER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, QuietCaveBoy1, -1 + object_event 41, 19, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 3, TrainerBugCatcherSioned, -1 + object_event 29, 26, SPRITE_POKEFAN_F, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 2, TrainerBeautyJulie, -1 + object_event 28, 6, SPRITE_FISHER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerFirebreatherDick, -1 + object_event 9, 25, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerBugCatcherElwyn, -1 + object_event 9, 6, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 6, TrainerSchoolboyPero, -1