diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 821f691..4322aa6 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -630,8 +630,9 @@ ENDM map_const CALS_HOUSE_2F, 5, 4 ; 12 map_const SINJOH_RUINS_EXTERIOR, 10, 10 ; 13 map_const SINJOH_RUINS_INTERIOR, 10, 10 ; 14 - map_const ROUTE_49_OLD_CITY_GATE, 5, 4 ; 15 - map_const BLUE_LAB, 12, 10 ; 16 + map_const ROUTE_49_OLD_CITY_GATE_1F, 5, 4 ; 15 + map_const ROUTE_49_OLD_CITY_GATE_2F, 4, 3 ; 16 + map_const BLUE_LAB, 12, 10 ; 17 endgroup newgroup BLUE_FOREST ; 36 diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm index 33874c9..4c97753 100644 --- a/constants/tileset_constants.asm +++ b/constants/tileset_constants.asm @@ -48,6 +48,7 @@ const TILESET_NIHON_WEST ; 2E const TILESET_LAVENDER_CRYPT ; 2F const TILESET_BLUE_LAB ; 30 + const TILESET_NIHON_GATE ; 31 DEF NUM_TILESETS EQU const_value - 1 ; wTileset struct size diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 24db325..a89762b 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -824,4 +824,5 @@ ENDM map_attributes CalsHouse2F, CALS_HOUSE_2F, $00, 0 map_attributes SinjohRuinsExterior, SINJOH_RUINS_EXTERIOR, $00, 0 map_attributes SinjohRuinsInterior, SINJOH_RUINS_EXTERIOR, $00, 0 - map_attributes Route49OldCityGate, ROUTE_49_OLD_CITY_GATE, $00, 0 + map_attributes Route49OldCityGate1F, ROUTE_49_OLD_CITY_GATE_1F, $00, 0 + map_attributes Route49OldCityGate2F, ROUTE_49_OLD_CITY_GATE_2F, $00, 0 diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index 5871435..e73efab 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -1210,3 +1210,12 @@ UnnumberedRoute_Blocks: BlueLab_Blocks: INCBIN "maps/BlueLab.ablk" + +Route49OldCityGate1F_Blocks: + INCBIN "maps/NihonGateNorthSouth.ablk" ; 5, 4 + +Route49OldCityGate2F_Blocks: + INCBIN "maps/NihonGate2F.ablk" ; 4, 3 + +;InsertGateNameHere_Blocks: +; INCBIN "maps/NihonGateWestEast.ablk" diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 1c59fa4..2150b71 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -687,7 +687,8 @@ MapGroup_SilentHills: map CalsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE map SinjohRuinsExterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_NONE map SinjohRuinsInterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_NONE - map Route49OldCityGate, TILESET_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_NONE + map Route49OldCityGate1F, TILESET_NIHON_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_NONE + map Route49OldCityGate2F, TILESET_NIHON_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_NONE map BlueLab, TILESET_BLUE_LAB, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_NONE assert_table_length NUM_SILENT_HILLS_MAPS diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index 7892d7c..9ab60d3 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -572,7 +572,8 @@ INCLUDE "maps/CanyonEntrance.asm" INCLUDE "maps/SevaultCanyon.asm" SECTION "Map Scripts 29", ROMX -INCLUDE "maps/Route49OldCityGate.asm" +INCLUDE "maps/Route49OldCityGate1F.asm" +INCLUDE "maps/Route49OldCityGate2F.asm" INCLUDE "maps/WinnersPath.asm" INCLUDE "maps/WinnersPathOutside.asm" INCLUDE "maps/UnnumberedRoute.asm" diff --git a/data/tilesets.asm b/data/tilesets.asm index 758e10d..b5984ed 100644 --- a/data/tilesets.asm +++ b/data/tilesets.asm @@ -60,4 +60,5 @@ Tilesets:: tileset TilesetNihonWest tileset TilesetLavenderCrypt tileset TilesetBlueLab + tileset TilesetNihonGate assert_table_length NUM_TILESETS + 1 diff --git a/data/tilesets/nihongate_attributes.bin b/data/tilesets/nihongate_attributes.bin new file mode 100644 index 0000000..33ade08 Binary files /dev/null and b/data/tilesets/nihongate_attributes.bin differ diff --git a/data/tilesets/nihongate_collision.asm b/data/tilesets/nihongate_collision.asm new file mode 100644 index 0000000..e952cb5 --- /dev/null +++ b/data/tilesets/nihongate_collision.asm @@ -0,0 +1,14 @@ + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 00 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01 + tilecoll WALL, WALL, FLOOR, FLOOR ; 02 + tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 03 + tilecoll DOOR, DOOR, FLOOR, FLOOR ; 04 + tilecoll WALL, WALL, FLOOR, FLOOR ; 05 + tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 06 + tilecoll WALL, WALL, FLOOR, FLOOR ; 07 + tilecoll COUNTER, COUNTER, COUNTER, FLOOR ; 08 + tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 09 + tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0a + tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 0b + tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 0c + tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 0d diff --git a/data/tilesets/nihongate_metatiles.bin b/data/tilesets/nihongate_metatiles.bin new file mode 100644 index 0000000..761aebe Binary files /dev/null and b/data/tilesets/nihongate_metatiles.bin differ diff --git a/engine/tilesets/tileset_anims.asm b/engine/tilesets/tileset_anims.asm index a74cf86..6ae1ed3 100644 --- a/engine/tilesets/tileset_anims.asm +++ b/engine/tilesets/tileset_anims.asm @@ -319,6 +319,7 @@ TilesetAerodactylWordRoomAnim: TilesetMuseumAnim: TilesetLavenderCryptAnim: TilesetBlueLabAnim: +TilesetNihonGateAnim: dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation diff --git a/gfx/tilesets.asm b/gfx/tilesets.asm index 09745a6..f939f1d 100644 --- a/gfx/tilesets.asm +++ b/gfx/tilesets.asm @@ -600,3 +600,15 @@ INCBIN "data/tilesets/bluelab_metatiles.bin" TilesetBlueLabColl:: INCLUDE "data/tilesets/bluelab_collision.asm" + +TilesetNihonGateAttr:: +INCBIN "data/tilesets/nihongate_attributes.bin" + +TilesetNihonGateGFX:: +INCBIN "gfx/tilesets/nihongate.2bpp.lz" + +TilesetNihonGateMeta:: +INCBIN "data/tilesets/nihongate_metatiles.bin" + +TilesetNihonGateColl:: +INCLUDE "data/tilesets/nihongate_collision.asm" diff --git a/gfx/tilesets/nihongate.png b/gfx/tilesets/nihongate.png new file mode 100644 index 0000000..b8a6623 Binary files /dev/null and b/gfx/tilesets/nihongate.png differ diff --git a/maps/NihonGate2F.ablk b/maps/NihonGate2F.ablk new file mode 100644 index 0000000..88c099b --- /dev/null +++ b/maps/NihonGate2F.ablk @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maps/NihonGateNorthSouth.ablk b/maps/NihonGateNorthSouth.ablk new file mode 100644 index 0000000..89ba665 --- /dev/null +++ b/maps/NihonGateNorthSouth.ablk @@ -0,0 +1,2 @@ +    + \ No newline at end of file diff --git a/maps/PewterMuseumOfScience2F.asm b/maps/PewterMuseumOfScience2F.asm index ee8afd8..06e5720 100644 --- a/maps/PewterMuseumOfScience2F.asm +++ b/maps/PewterMuseumOfScience2F.asm @@ -1,4 +1,9 @@ object_const_def + const MUSEUM2F_YOUNGSTER + const MUSEUM2F_GRAMPS + const MUSEUM2F_SCIENTIST + const MUSEUM2F_LASS + const MUSEUM2F_POKEFAN_M PewterMuseumOfScience2F_MapScripts: def_scene_scripts diff --git a/maps/Route49OldCityGate.asm b/maps/Route49OldCityGate.asm deleted file mode 100644 index 3792505..0000000 --- a/maps/Route49OldCityGate.asm +++ /dev/null @@ -1,42 +0,0 @@ - object_const_def - const ROUTE49OLDCITYGATE_OFFICER - -Route49OldCityGate_MapScripts: - def_scene_scripts - - def_callbacks - -Route49OldCityGateOfficerScript: - jumptextfaceplayer Route49OldCityOfficerText - -Route49OldCityOfficerText: - text "You're from JOHTO?" - - para "Haha, are you home" - line "sick? We like to" - cont "call this place a" - cont "'JOHTO TOWN'." - - para "Huh? What's with" - line "that glare?" - - para "It just looks like" - line "VIOLET CITY, that's" - cont "all!" - done - -Route49OldCityGate_MapEvents: - db 0, 0 ; filler - - def_warp_events - warp_event 4, 7, ROUTE_49_2, 3 - warp_event 5, 7, ROUTE_49_2, 4 - warp_event 4, 0, DEBUG_ROOM, 1 ; OLD_CITY - warp_event 5, 0, DEBUG_ROOM, 1 ; OLD_CITY - - def_coord_events - - def_bg_events - - def_object_events - object_event 0, 3, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route49OldCityGateOfficerScript, -1 diff --git a/maps/Route49OldCityGate1F.asm b/maps/Route49OldCityGate1F.asm new file mode 100644 index 0000000..24262dc --- /dev/null +++ b/maps/Route49OldCityGate1F.asm @@ -0,0 +1,71 @@ + object_const_def + const ROUTE49OLDCITYGATE1F_OFFICER + const ROUTE49OLDCITYGATE1F_YOUNGSTER + const ROUTE49OLDCITYGATE1F_COOLTRAINERM + +Route49OldCityGate1F_MapScripts: + def_scene_scripts + + def_callbacks + +Route49OldCityGateOfficerScript: + jumptextfaceplayer Route49OldCityOfficerText + +Route49OldCityOfficerText: + text "You're from JOHTO?" + + para "Haha, are you home" + line "sick? We like to" + cont "call this place a" + cont "'JOHTO TOWN'." + + para "Huh? What's with" + line "that glare?" + + para "It just looks like" + line "VIOLET CITY, that's" + cont "all!" + done + +Route49OldCityGateYoungsterScript: + jumptextfaceplayer Route49OldCityYoungsterText + +Route49OldCityYoungsterText: + text "OLD CITY is just" + line "on the other side" + cont "of this gate!" + done + +Route49OldCityGateCooltrainerFScript: + jumptextfaceplayer Route49OldCityCooltrainerFText + +Route49OldCityCooltrainerFText: + text "OLD CITY has a" + line "famous 5-STORY" + cont "PAGODA! We call it" + cont "GROWLITHE TOWER!" + + para "Have you ever" + line "been there? You" + cont "don't seem impres-" + cont "sessed." ; Since the player is from Johto, this is an everyday experience. + done + +Route49OldCityGate1F_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 4, 7, ROUTE_49_2, 3 + warp_event 5, 7, ROUTE_49_2, 4 + warp_event 4, 0, DEBUG_ROOM, 1 ; OLD_CITY + warp_event 5, 0, DEBUG_ROOM, 1 ; OLD_CITY + warp_event 1, 0, ROUTE_49_OLD_CITY_GATE_2F, 1 + + def_coord_events + + def_bg_events + + def_object_events + object_event 0, 3, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route49OldCityGateOfficerScript, -1 + object_event 6, 1, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route49OldCityGateYoungsterScript, -1 + object_event 2, 6, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route49OldCityGateCooltrainerFScript, -1 diff --git a/maps/Route49OldCityGate2F.asm b/maps/Route49OldCityGate2F.asm new file mode 100644 index 0000000..49002a9 --- /dev/null +++ b/maps/Route49OldCityGate2F.asm @@ -0,0 +1,77 @@ + object_const_def + const ROUTE49OLDCITYGATE2F_LASS + const ROUTE49OLDCITYGATE2F_TWIN + +Route49OldCityGate2F_MapScripts: + def_scene_scripts + + def_callbacks + +Route49OldCityGate2FLassScript: + jumptextfaceplayer Route49OldCityGate2FLassText + +Route49OldCityGate2FLassText: + text "JOHTO? That's where" + line "KURT is, right?" + + para "He visits here so-" + line "metimes to show us" + cont "his # BALL" + cont "craft." + + para "They say if you" + line "can get on his" + cont "good side, you'll" + cont "have made it as" + cont "a TRAINER!" + done + +Route49OldCityGate2FTwinScript: + jumptextfaceplayer Route49OldCityGate2FTwinText + +Route49OldCityGate2FTwinText: + text "You're a tourist?" + line "That's too bad." + + para "GROWLITHE TOWER" + line "isn't open to just" + cont "anyone." + done + +Route49OldCityGate2FTelescopeScript1: + jumptext Route49OldCityGate2FTelescopeText1 + +Route49OldCityGate2FTelescopeScript2: + jumptext Route49OldCityGate2FTelescopeText2 + +Route49OldCityGate2FTelescopeText1: + text " peeked" + line "into a telescope!" + + para "Whoa! There's a" + line "tall, tall tower!" + done + +Route49OldCityGate2FTelescopeText2: + text " peeked" + line "into a telescope!" + + para "Hm? There's a" + line "long, long river." + done + +Route49OldCityGate2F_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 5, 0, ROUTE_49_OLD_CITY_GATE_1F, 5 + + def_coord_events + + def_bg_events + bg_event 1, 0, BGEVENT_READ, Route49OldCityGate2FTelescopeScript1 + bg_event 3, 0, BGEVENT_READ, Route49OldCityGate2FTelescopeScript2 + + def_object_events + object_event 2, 2, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route49OldCityGate2FLassScript, -1 + object_event 5, 4, SPRITE_TWIN, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route49OldCityGate2FTwinScript, -1 diff --git a/maps/Route49_2.asm b/maps/Route49_2.asm index fe9d88b..18516dd 100644 --- a/maps/Route49_2.asm +++ b/maps/Route49_2.asm @@ -58,8 +58,8 @@ Route49_2_MapEvents: def_warp_events warp_event 8, 27, QUIET_CAVE, 3 warp_event 9, 27, QUIET_CAVE, 4 - warp_event 9, 5, ROUTE_49_OLD_CITY_GATE, 2 - warp_event 8, 5, ROUTE_49_OLD_CITY_GATE, 1 + warp_event 9, 5, ROUTE_49_OLD_CITY_GATE_1F, 2 + warp_event 8, 5, ROUTE_49_OLD_CITY_GATE_1F, 1 def_coord_events diff --git a/maps/SilentHills.asm b/maps/SilentHills.asm index b501fcd..90ca76a 100644 --- a/maps/SilentHills.asm +++ b/maps/SilentHills.asm @@ -17,6 +17,8 @@ SilentHillsNoopScene: end SilentHillsBlue1: + checkevent EVENT_GOT_POKEMON_FROM_BLUE + iftrue .end playmusic MUSIC_PROF_OAK opentext writetext BlueWaitText1 @@ -55,9 +57,12 @@ SilentHillsBlue1: warpfacing UP, BLUE_LAB, 4, 19 setevent EVENT_DRAGGED_BY_BLUE setevent EVENT_GOT_POKEMON_FROM_BLUE ; It's only for the moment, it gets reset once you're actually picking one. Just handles potentially stupid scenarios. +.end end SilentHillsBlue2: + checkevent EVENT_GOT_POKEMON_FROM_BLUE + iftrue .end playmusic MUSIC_PROF_OAK opentext writetext BlueWaitText1 @@ -94,6 +99,7 @@ SilentHillsBlue2: warpfacing UP, BLUE_LAB, 4, 19 setevent EVENT_DRAGGED_BY_BLUE setevent EVENT_GOT_POKEMON_FROM_BLUE ; It's only for the moment, it gets reset once you're actually picking one. Just handles potentially stupid scenarios. +.end end SilentHillsFlypointCallback: