From 61aeb76705ff7904d92b29c0331ed5a281c29d9e Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sun, 21 Jul 2024 16:32:20 +0100 Subject: [PATCH] Nihon Gate maps/tileset This adds the Nihon Gate tileset and gives Nihon its own gate style. Kanto can be done another time. --- constants/map_constants.asm | 5 +- constants/tileset_constants.asm | 1 + data/maps/attributes.asm | 3 +- data/maps/blocks.asm | 9 +++ data/maps/maps.asm | 3 +- data/maps/scripts.asm | 3 +- data/tilesets.asm | 1 + data/tilesets/nihongate_attributes.bin | Bin 0 -> 224 bytes data/tilesets/nihongate_collision.asm | 14 +++++ data/tilesets/nihongate_metatiles.bin | Bin 0 -> 224 bytes engine/tilesets/tileset_anims.asm | 1 + gfx/tilesets.asm | 12 ++++ gfx/tilesets/nihongate.png | Bin 0 -> 959 bytes maps/NihonGate2F.ablk | 1 + maps/NihonGateNorthSouth.ablk | 2 + maps/PewterMuseumOfScience2F.asm | 5 ++ maps/Route49OldCityGate.asm | 42 -------------- maps/Route49OldCityGate1F.asm | 71 +++++++++++++++++++++++ maps/Route49OldCityGate2F.asm | 77 +++++++++++++++++++++++++ maps/Route49_2.asm | 4 +- maps/SilentHills.asm | 6 ++ 21 files changed, 211 insertions(+), 49 deletions(-) create mode 100644 data/tilesets/nihongate_attributes.bin create mode 100644 data/tilesets/nihongate_collision.asm create mode 100644 data/tilesets/nihongate_metatiles.bin create mode 100644 gfx/tilesets/nihongate.png create mode 100644 maps/NihonGate2F.ablk create mode 100644 maps/NihonGateNorthSouth.ablk delete mode 100644 maps/Route49OldCityGate.asm create mode 100644 maps/Route49OldCityGate1F.asm create mode 100644 maps/Route49OldCityGate2F.asm 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 0000000000000000000000000000000000000000..33ade085eb4dc407fcfbb0df715cdf94d6e72078 GIT binary patch literal 224 zcmaKl0SW*x2m+n^|DVUmBWSRL2uV}=-RA literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..761aebe359626416e60c79c9982661b3e9d58f83 GIT binary patch literal 224 zcmZQzKn09wKmZD0!U6(3yaEC;vM@dqGZV9ru#hl}@8|E~DJbvd&B*BE3lb9$;Nlh# zkdj8o`}qsX3(CXz9GvXz5|S#a5|WIJAk5Cr!HM93L?D0#2t(VP)Y9WoM!D{Y%eV&4;y3nFc7ncsdS(ZH44V9A?z;qp8bCLU9-3s|A3vBdw)MZ zzwh~;bMEf~zoe?5Syk1)tiw5Gr#hyiG`Tif^#?l}_FVVoa zpNtcEo9#e;D*nj6g!uZ*uCxODCy+}#K!%HWu zc7=-N0ZTV@H!pyJcaNmoJ=m6Kcq$*amj&=zkLjh*rf9`r*YZjpb!8QZ@|*|E(u!KG zHGr&Rw(3K_MV<$ZlmgL419GNOi2(!E*9QSSc?@V8t75Yt0rY@=p(ua{M8$&i zu%;CL^$_*iP2?89qGm%1M2E;)QNWu@L8K6rnd>KIGMqCnGfTi|r4ZGasG%Bn7)?{P z*J!0c6XMBu61+eelV$t{-nf5r81}F@2YOOZ$`cx*ndLdeQ{UlFA7uOboL6r(Vgchh zpoUv)|8@+ukSXfUujgtH-{%A88>VLLyC$$zQvk7mY*Z6qt~+OmkDiyn-n&0+NB0Y0q%eS(Yi$b}03; zsh#ec4s1tb!UKR#ZnM<-1!v2iz|7I=kEZr^@NVz#dj?@awV;DV(Q_A^dzGtGUmVzp zm|FVa?LUcrfw!QOxdb1ICKm+Y%v0{`Au(Ao+vz4SjDHY)iienE0j?ptw49BJuSA=G zz*BqucpIQ6xsJ^AUS_wLfrfOwk*OIld{P2)3J?lh!At}tfNAbZu~0Zc^pU4fn_#wc z*_QE;UjWcSv;Yc_;THMI=W?tsUlG0;MqoG5b+DM@3J@`KMhYCB;Zi4q+{m!Vj_Ns@ z@NMoZx{L4h_3biTaW5n=$y|O03?`uWCF_;Xev72PGVBcnl$(qKLLu<)`}oVn?<47} zMn&8Ut_Hc5buuj=41T@m@}-4Hy2Dr%_kx2}b~3f>Gav!r^M%8S{)BI3bWPlghP`g^ zWSLvQ!5trj{2<3avSDw690-@C1;i#$bbTEmf2sM0c~W_-fLf*nj4_Y-627t7{A~VM hadi{;1@S)t{sCd^bm-lAsSf}E002ovPDHLkV1fcB&oBT0 literal 0 HcmV?d00001 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: