diff --git a/constants/map_constants.asm b/constants/map_constants.asm index a8a6ef0..ad13af7 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -524,6 +524,9 @@ ENDM map_const QUIET_CAVE, 27, 18 ; 4 map_const ROUTE_49_2, 10, 18 ; 5 map_const SILENT_HILLS_POKECENTER_1F, 10, 4 ; 6 + map_const SILVERS_HOUSE, 5, 5 ; 7 + map_const CALS_HOUSE_1F, 5, 4 ; 8 + map_const CALS_HOUSE_2F, 5, 4 ; 8 endgroup newgroup BLUE_FOREST ; 27 diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index adaca0d..fc6391b 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -375,7 +375,7 @@ ENDM connection north, Route10North, ROUTE_10_NORTH, 0 connection south, LavenderTown, LAVENDER_TOWN, 0 - map_attributes SilentHills, SILENT_HILLS, $00, WEST ; this is on its own for now. add connections to Prince later. + map_attributes SilentHills, SILENT_HILLS, $05, WEST ; Add Prince and east connections later connection west, Route49, ROUTE_49, 0 map_attributes Route49, ROUTE_49, $05, EAST | WEST @@ -725,3 +725,6 @@ ENDM map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later. map_attributes QuietCave, QUIET_CAVE, $76, 0 map_attributes SilentHillsPokecenter1F, SILENT_HILLS_POKECENTER_1F, $00, 0 + map_attributes SilversHouse, SILVERS_HOUSE, $00, 0 + map_attributes CalsHouse1F, CALS_HOUSE_1F, $00, 0 + map_attributes CalsHouse2F, CALS_HOUSE_2F, $00, 0 diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index 16fa97e..1624f57 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -268,6 +268,7 @@ Route43_Blocks: Route39_Blocks: INCBIN "maps/Route39.ablk" +CalsHouse1F_Blocks: ; Identical layout, so let's compress. PlayersHouse1F_Blocks: INCBIN "maps/PlayersHouse1F.ablk" @@ -1109,3 +1110,9 @@ CinnabarPokecenter1F_Blocks: KantoPokecenter2F_Blocks: INCBIN "maps/KantoPokecenter2F.ablk" + +SilversHouse_Blocks: + INCBIN "maps/SilversHouse.ablk" + +CalsHouse2F_Blocks: + INCBIN "maps/CalsHouse2F.ablk" diff --git a/data/maps/maps.asm b/data/maps/maps.asm index c6c6902..0697d4f 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -563,6 +563,9 @@ MapGroup_SilentHills: map QuietCave, TILESET_NIHON_01, ROUTE, LANDMARK_QUIET_CAVE, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND map Route49_2, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND map SilentHillsPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map SilversHouse, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CalsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_SHORE + map CalsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_SHORE assert_table_length NUM_SILENT_HILLS_MAPS MapGroup_BlueForest: diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index 5427253..f97b9c3 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -504,9 +504,12 @@ INCLUDE "maps/Route49.asm" INCLUDE "maps/BlueForest.asm" INCLUDE "maps/QuietCave.asm" INCLUDE "maps/Route49_2.asm" +INCLUDE "maps/SilversHouse.asm" SECTION "Map Scripts 26", ROMX INCLUDE "maps/SilentHillsPokecenter1F.asm" INCLUDE "maps/NihonPokecenter2F.asm" INCLUDE "maps/KantoPokecenter2F.asm" +INCLUDE "maps/CalsHouse1F.asm" +INCLUDE "maps/CalsHouse2F.asm" diff --git a/data/text/std_text.asm b/data/text/std_text.asm index 5415c48..c3c7404 100644 --- a/data/text/std_text.asm +++ b/data/text/std_text.asm @@ -133,6 +133,118 @@ MagazineBookshelfText: line "#MON GRAPH…" done +; From the SpaceWorld demo. +; Localisation uses these sources; +; TCRF https://tcrf.net/Proto:Pok%C3%A9mon_Gold_and_Silver/Spaceworld_1997_Demo/Text +; Minamitoku https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku +PCJournalText: + text "#MON JOURNAL" + line "HOME PAGE..." + + para "A new #MON has" + line "been discovered!" + + para "It has been" + line "named SKARMORY." + + para "SKARMORY's wings" + line "are strong, and" + cont "as hard as steel." + + para "It is not only a" + line "bird #MON, but" + cont "also part of the" + cont "new steel type!" + + para "Further research" + line "is underway." + done + +; Using TCRF's translation https://tcrf.net/Proto:Pok%C3%A9mon_Gold_and_Silver/Spaceworld_1997_Demo/Text +SilphPokegearText: + text "Introducing the" + line "#GEAR!" + + para "A cutting edge" + line "watch just for" + cont "#MON TRAINERs!" + + para "It tells the time" + line "and makes calls," + cont "but add a CARD" + cont "and it can even" + cont "show where you" + cont "are!" + + para "And to top it" + line "all off, you" + cont "can even listen" + cont "to the radio!" + + para "Order yours at..." + + para "It's SILPH CO.'s" + line "home page." + done + +; Using TCRF's translation https://tcrf.net/Proto:Pok%C3%A9mon_Gold_and_Silver/Spaceworld_1997_Demo/Text +AnimeTVText1: + text "PRIMAPE is on a" + line "rampage and ASH" + cont "is running away!" + + para "The #MON anime" + line "is on TV!" + done + +; Using Team Spaceworld's translation +; https://docs.google.com/spreadsheets/d/13UD3ULHk08eaCTM6_F8GbvQz1HBw-VAO87KoA4sBT5c/edit#gid=0 +AnimeTVText2: + text "BULBASAUR is" + line "pouting..." + + para "ASH is in a" + line "bind..." + + para "The #MON anime!" + done + +; Using Team Spaceworld's translation +; https://docs.google.com/spreadsheets/d/13UD3ULHk08eaCTM6_F8GbvQz1HBw-VAO87KoA4sBT5c/edit#gid=0 +AnimeTVText3: + text "PIKACHU is in" + line "a battle with" + cont "SPEAROW!" + + para "ASH is moved" + line "to tears..." + + para "The #MON anime!" + done + +GenericSinkText: + text "A spotless sink!" + line "What's on the menu" + cont "this evening?" + done + +GenericStoveText: + text "The fire in the" + line "stove is out," + cont "safety first!" + done + +GenericFridgeText: + text "The inside..." + para "Is almost empty." + done + +Nintendo64Text: ; Yeah, I thought there was generic text too. + text "It's a Nintendo" + line "64! The latest" + cont "game console!" + done + TeamRocketOathText: text "TEAM ROCKET OATH" diff --git a/engine/events/std_scripts.asm b/engine/events/std_scripts.asm index 5fa4ea9..1703429 100644 --- a/engine/events/std_scripts.asm +++ b/engine/events/std_scripts.asm @@ -56,6 +56,15 @@ StdScripts:: add_stdscript PCScript add_stdscript GameCornerCoinVendorScript add_stdscript HappinessCheckScript + add_stdscript PCJournalScript ; Added a bunch of Bookshelf-likes. + add_stdscript SilphPokegearScript ; These will aid in sprucing up the houses. + add_stdscript AnimeTVScript1 + add_stdscript AnimeTVScript2 + add_stdscript AnimeTVScript3 + add_stdscript GenericSinkScript + add_stdscript GenericStoveScript + add_stdscript GenericFridgeScript + add_stdscript Nintendo64Script PokecenterNurseScript: ; EVENT_WELCOMED_TO_POKECOM_CENTER is never set @@ -175,6 +184,35 @@ PictureBookshelfScript: MagazineBookshelfScript: farjumptext MagazineBookshelfText +; From the SW97 Demo +PCJournalScript: + farjumptext PCJournalText + +; From the SW97 Demo +SilphPokegearScript: + farjumptext SilphPokegearText + +AnimeTVScript1: + farjumptext AnimeTVText1 + +AnimeTVScript2: + farjumptext AnimeTVText2 + +AnimeTVScript3: + farjumptext AnimeTVText3 + +GenericSinkScript: + farjumptext GenericSinkText + +GenericStoveScript: + farjumptext GenericStoveText + +GenericFridgeScript: + farjumptext GenericFridgeText + +Nintendo64Script: + farjumptext Nintendo64Text + TeamRocketOathScript: farjumptext TeamRocketOathText diff --git a/maps/CalsHouse1F.asm b/maps/CalsHouse1F.asm new file mode 100644 index 0000000..67ccc03 --- /dev/null +++ b/maps/CalsHouse1F.asm @@ -0,0 +1,62 @@ +; Text in this area uses translations from Minamitoku. +; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku + +; Because there's no player here, we're taking the opportunity to expand on Cal. +; While usually a Trainer House stand-in in Viridian, he is characterised in some ways. +; For example, he says he's a traveling trainer in GSC. +; In Stadium 2, he is further characterised and even given a unique design. +; Everything just kind of falls into place, no? + + object_const_def + const CALSHOUSE_MOM + +CalsHouse1F_MapScripts: + def_scene_scripts + + def_callbacks + +CalsMom: + jumptextfaceplayer CalsMomText + +CalsMomText: + text "CAL? Oh, he's" + line "always traveling." + + para "I said I had" + line "nothing against" + cont "#MON, but..." + + para "Sometimes, I" + line "miss him." + done + +CalsHouseAnimeTV: + jumpstd AnimeTVScript2 + +CalsHouseStove: + jumpstd GenericStoveScript + +CalsHouseSink: + jumpstd GenericSinkScript + +CalsHouseFridge: + jumpstd GenericFridgeScript + +CalsHouse1F_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 6, 7, SILENT_HILLS, 2 + warp_event 7, 7, SILENT_HILLS, 2 + warp_event 9, 0, CALS_HOUSE_2F, 1 + + def_coord_events + + def_bg_events + bg_event 4, 1, BGEVENT_READ, CalsHouseAnimeTV + bg_event 1, 1, BGEVENT_READ, CalsHouseStove + bg_event 0, 1, BGEVENT_READ, CalsHouseSink + bg_event 2, 1, BGEVENT_READ, CalsHouseFridge + + def_object_events + object_event 7, 4, SPRITE_POKEFAN_F, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CalsMom, -1 diff --git a/maps/CalsHouse2F.ablk b/maps/CalsHouse2F.ablk new file mode 100644 index 0000000..883ef3d --- /dev/null +++ b/maps/CalsHouse2F.ablk @@ -0,0 +1 @@ +  \ No newline at end of file diff --git a/maps/CalsHouse2F.asm b/maps/CalsHouse2F.asm new file mode 100644 index 0000000..7512402 --- /dev/null +++ b/maps/CalsHouse2F.asm @@ -0,0 +1,108 @@ +; Text in this area uses translations from Minamitoku. +; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku + +; Because there's no player here, we're taking the opportunity to expand on Cal. +; While usually a Trainer House stand-in in Viridian, he is characterised in some ways. +; For example, he says he's a traveling trainer in GSC. +; In Stadium 2, he is further characterised and even given a unique design. +; Everything just kind of falls into place, no? + + object_const_def + const CALSHOUSE_KEN + +CalsHouse2F_MapScripts: + def_scene_scripts + + def_callbacks + +CalsHouseKen: + jumptextfaceplayer CalsHouseKenText + +CalsHouseKenText: + text "CAL? He's my" + line "brother!" + + para "He'd always go" + line "out to places" + cont "where strong" + cont "TRAINERs are." + + para "WHITE CITY..." + line "VIRIDIAN CITY..." + + para "Places like that!" + line "He's so cool!" + done + +; Usually, there's a thing about Skarmory here, but Silver's House details it, so let's use this unused quote instead. +CalsHousePCText: + jumpstd SilphPokegearScript + +CalsHouse2FAnimeTV: + jumpstd AnimeTVScript3 + +CalsHouseBookshelf1: + jumpstd PictureBookshelfScript + +CalsHouseBookshelf2: + jumpstd MagazineBookshelfScript + +CalsHouseN64: + jumpstd Nintendo64Script + +CalsHouseRadio: + jumptext CalsHouseRadioText + +; Using this translation +; https://tcrf.net/Proto:Pok%C3%A9mon_Gold_and_Silver/Spaceworld_1997_Demo/Text +; Could be a jumpstd but I don't see it being used in many places... +CalsHouseRadioText: + text "You're listening" + line "to JOPM, NIHON's" + cont "best-rated radio" + cont "station!" + + para "Now presenting the" + line "#MON News." + + para "...world-renowned" + line "PROFESSOR reported" + cont "missing in KANTO!" + + para "It's suspected" + line "that PROF. OAK" + cont "could have left" + cont "for a new LAB, but" + cont "we cannot disprove" + cont "that foul play" + cont "could be afoot." + + para "Even AIDEs are" + line "concerned." + + para "...that concludes" + line "today's news." + + para "Coming up, music" + line "with MARY!" + done + + +CalsHouse2F_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 9, 0, CALS_HOUSE_1F, 3 + + def_coord_events + + def_bg_events + bg_event 7, 1, BGEVENT_READ, CalsHouse2FAnimeTV + bg_event 5, 1, BGEVENT_READ, CalsHouseBookshelf1 + bg_event 1, 1, BGEVENT_READ, CalsHouseBookshelf1 + bg_event 3, 1, BGEVENT_READ, CalsHousePCText + bg_event 7, 2, BGEVENT_READ, CalsHouseN64 + bg_event 2, 1, BGEVENT_READ, CalsHouseRadio + + def_object_events + object_event 8, 1, SPRITE_ROCKER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, CalsHouseKen, -1 diff --git a/maps/DebugRoom.ablk b/maps/DebugRoom.ablk index 9ca59e5..c34c9fb 100644 --- a/maps/DebugRoom.ablk +++ b/maps/DebugRoom.ablk @@ -1,6 +1,6 @@  ! ! !WWE R  ! -ERETvUXYG~IJ +ERETnUXYG~IJ HEF|}BEJ~EJ@AAB -DBIIIIJHIBTvUDJX5YHIJ|}~EEE \ No newline at end of file +DBIIIIJHIBTnUDJX5YHIJ|}~EEE \ No newline at end of file diff --git a/maps/SilentHills.asm b/maps/SilentHills.asm index 7abe090..c18c7f9 100644 --- a/maps/SilentHills.asm +++ b/maps/SilentHills.asm @@ -26,14 +26,14 @@ SilentHillsSign2: SilentHillsSign2Text: text "SILENT HILLS" - line "The Silent Town" + line "Ever peaceful..." done SilentHillsSign3: jumptext SilentHillsSign3Text SilentHillsSign3Text: - text "TO LET" + text "TO LET" ; It technically says "HOUSE TO RENT" but this is more natural. done SilentHillsSign4: @@ -77,10 +77,10 @@ SilentHills_MapEvents: def_warp_events warp_event 13, 4, SILENT_HILLS_POKECENTER_1F, 1 ; Pokecenter - warp_event 5, 4, PLAYERS_HOUSE_1F, 1 ; Cal's House + warp_event 5, 4, CALS_HOUSE_1F, 1 ; Cal's House warp_event 14, 11, PLAYERS_HOUSE_1F, 1 ; Blue's Lab warp_event 15, 11, PLAYERS_HOUSE_1F, 1 ; Blue's Lab - warp_event 3, 12, PLAYERS_HOUSE_1F, 1 ; Silver's House + warp_event 3, 12, SILVERS_HOUSE, 1 ; Silver's House def_coord_events diff --git a/maps/SilversHouse.ablk b/maps/SilversHouse.ablk new file mode 100644 index 0000000..82d328b --- /dev/null +++ b/maps/SilversHouse.ablk @@ -0,0 +1 @@ +   \ No newline at end of file diff --git a/maps/SilversHouse.asm b/maps/SilversHouse.asm new file mode 100644 index 0000000..bd32b5f --- /dev/null +++ b/maps/SilversHouse.asm @@ -0,0 +1,49 @@ +; Text in this area uses translations from Minamitoku. +; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku + + object_const_def + const SILVERSHOUSE_MOM + +SilversHouse_MapScripts: + def_scene_scripts + + def_callbacks + +SilversMom: + jumptextfaceplayer SilversMomText + +SilversMomText: + text "The other day," + line "I saw a strangely-" + cont "colored PIDGEY!" + done + +SilversHousePCJournal: + jumpstd PCJournalScript + +SilversHouseAnimeTV: + jumpstd AnimeTVScript1 + +SilversHouseStove: + jumpstd GenericStoveScript + +SilversHouseSink: + jumpstd GenericSinkScript + +SilversHouse_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 4, 9, SILENT_HILLS, 5 + warp_event 5, 9, SILENT_HILLS, 5 + + def_coord_events + + def_bg_events + bg_event 0, 1, BGEVENT_READ, SilversHousePCJournal + bg_event 4, 1, BGEVENT_READ, SilversHouseAnimeTV + bg_event 9, 1, BGEVENT_READ, SilversHouseStove + bg_event 8, 1, BGEVENT_READ, SilversHouseSink + + def_object_events + object_event 5, 4, SPRITE_POKEFAN_F, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SilversMom, -1