From ebab1da7b49c57a241cbe1cdbe2844d4f22ccc43 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sat, 4 Nov 2023 02:54:06 +0000 Subject: [PATCH] Route 49_2 This completes the SW97 demo content, featuring translated text! --- README.md | 1 + constants/map_constants.asm | 1 + data/maps/attributes.asm | 12 +++-- data/maps/blocks.asm | 3 ++ data/maps/maps.asm | 1 + data/maps/outdoor_sprites.asm | 1 - data/maps/scripts.asm | 1 + data/tilesets/nihon01_attributes.bin | Bin 2048 -> 2048 bytes data/tilesets/nihon01_collision.asm | 34 +++++++------- data/tilesets/nihon01_metatiles.bin | Bin 2048 -> 2048 bytes data/trainers/parties.asm | 6 ++- data/wild/nihon_grass.asm | 28 +++++++++++ data/wild/nihon_water.asm | 29 ++++++++++++ maps/QuietCave.asm | 18 +++---- maps/Route49.asm | 6 +-- maps/Route49_2.ablk | 1 + maps/Route49_2.asm | 68 +++++++++++++++++++++++++++ 17 files changed, 175 insertions(+), 35 deletions(-) create mode 100644 maps/Route49_2.ablk create mode 100644 maps/Route49_2.asm diff --git a/README.md b/README.md index 0c47a98..6e30776 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ In general, there have been many wild encounter tweaks. View this document for d - Wiz (Nihon Pokemon names) - Rezzo (GSC-specific advice) - Old Dance Jacket (GSC-specific advice) +- Minamitoku (SW97 demo translation commentary [here](https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku)) # Sprite Credits - Zeta_Null: Topaz sprites, numerous tileset bits, Omegadge, diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 0a2c9d6..d3dbce9 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -520,6 +520,7 @@ ENDM map_const DEBUG_ROOM, 20, 20 ; 2 map_const ROUTE_49, 15, 9 ; 3 map_const QUIET_CAVE, 27, 18 ; 4 + map_const ROUTE_49_2, 10, 18 ; 5 endgroup newgroup BLUE_FOREST ; 27 diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 5044064..72a1dea 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -375,8 +375,15 @@ 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 mt. silver later. + map_attributes SilentHills, SILENT_HILLS, $00, WEST ; this is on its own for now. add connections to Prince later. connection west, Route49, ROUTE_49, 0 + + map_attributes Route49, ROUTE_49, $05, EAST | WEST + connection east, SilentHills, SILENT_HILLS, $05, 0 + connection west, Route49_2, ROUTE_49_2, $05, 0 + + map_attributes Route49_2, ROUTE_49_2, $05, 0, EAST + connection east, Route49, ROUTE_49, $05, 0 map_attributes Route23, ROUTE_23, $0f, 0 map_attributes SproutTower1F, SPROUT_TOWER_1F, $00, 0 @@ -713,6 +720,5 @@ ENDM map_attributes CeruleanCaveB1F, CERULEAN_CAVE_B1F, $00, 0 map_attributes DebugRoom, DEBUG_ROOM, $05, 0 ; Debug Room :V map_attributes CliffCave, CLIFF_CAVE, $00, 0 - map_attributes Route49, ROUTE_49, $00, 0 map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later. - map_attributes QuietCave, QUIET_CAVE, $00, 0 + map_attributes QuietCave, QUIET_CAVE, $76, 0 diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index 68424fe..6612eb6 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -1092,3 +1092,6 @@ Route49_Blocks: QuietCave_Blocks: INCBIN "maps/QuietCave.ablk" + +Route49_2_Blocks: + INCBIN "maps/Route49_2.ablk" diff --git a/data/maps/maps.asm b/data/maps/maps.asm index c69b86b..b0c5ae1 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -559,6 +559,7 @@ MapGroup_SilentHills: map DebugRoom, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_MORN, FISHGROUP_SHORE map Route49, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND 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 assert_table_length NUM_SILENT_HILLS_MAPS MapGroup_BlueForest: diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm index defa993..7e4c45c 100644 --- a/data/maps/outdoor_sprites.asm +++ b/data/maps/outdoor_sprites.asm @@ -309,7 +309,6 @@ IndigoGroupSprites: db SPRITE_POKE_BALL db SPRITE_BOULDER -SilentHillsGroupSprites: ; Will have its own thing eventually BlueForestGroupSprites: ; Will have its own thing eventually NewBarkGroupSprites: db SPRITE_SUICUNE diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index 6942f4e..324b317 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -503,3 +503,4 @@ INCLUDE "maps/CliffCave.asm" INCLUDE "maps/Route49.asm" INCLUDE "maps/BlueForest.asm" INCLUDE "maps/QuietCave.asm" +INCLUDE "maps/Route49_2.asm" diff --git a/data/tilesets/nihon01_attributes.bin b/data/tilesets/nihon01_attributes.bin index f981c7c3fb524e133ad6116a90a76d02ca1e71c1..ea6b5f379421f5fba87d76231ae0f1db1b80682a 100644 GIT binary patch delta 122 zcmZn=Xb{*igKZKE$K*gJgGr16lNYeD@Gv8R$sZY2Y*-l>SXqF86$sdX07SC_ML;Bs d58*-hATb!2EWjec!2kt7)ASkHCNE%5006-G4Q2oU delta 125 zcmZn=Xb{*igKeS#$K(fWEEDI5O-^760Alla1_lOJR$g8p1p}-gfXrb=0$@oX!NLMz R!PLQMRwT6`=HvzJ2>=)H3s(RD diff --git a/data/tilesets/nihon01_collision.asm b/data/tilesets/nihon01_collision.asm index b527333..b6a9a8a 100644 --- a/data/tilesets/nihon01_collision.asm +++ b/data/tilesets/nihon01_collision.asm @@ -11,7 +11,7 @@ tilecoll WALL, WALL, WALL, WALL ; 0a tilecoll WALL, FLOOR, WALL, WALL ; 0b tilecoll FLOOR, WALL, WALL, WALL ; 0c - tilecoll FLOOR, WALL, WALL, WALL ; 0d + tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0d tilecoll WALL, WALL, DOOR, WALL ; 0e tilecoll WALL, WALL, WALL, WALL ; 0f tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 10 @@ -104,22 +104,22 @@ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 67 tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, FLOOR ; 68 tilecoll WARP_CARPET_UP, WARP_CARPET_UP, FLOOR, FLOOR ; 69 - tilecoll WALL, UP_WALL, WALL, FLOOR ; 6a - tilecoll UP_WALL, WALL, FLOOR, WALL ; 6b - tilecoll WALL, FLOOR, WALL, WALL ; 6c - tilecoll FLOOR, WALL, WALL, WALL ; 6d - tilecoll FLOOR, FLOOR, WALL, FLOOR ; 6e - tilecoll FLOOR, FLOOR, FLOOR, WALL ; 6f - tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 70 - tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 71 - tilecoll FLOOR, FLOOR, WALL, WALL ; 72 - tilecoll FLOOR, FLOOR, CAVE, WALL ; 73 - tilecoll WALL, FLOOR, FLOOR, FLOOR ; 74 - tilecoll WALL, WALL, FLOOR, FLOOR ; 75 - tilecoll WATER, WATER, WATER, WATER ; 76 - tilecoll WALL, WALL, DOOR, WALL ; 77 - tilecoll FLOOR, FLOOR, FLOOR, WALL ; 78 - tilecoll WATER, WATER, WATER, WATER ; 79 + tilecoll WALL, FLOOR, WALL, WALL ; 6a + tilecoll WALL, WALL, FLOOR, WALL ; 6b + tilecoll WALL, FLOOR, WALL, FLOOR ; 6c + tilecoll HEADBUTT_TREE, CUT_TREE, FLOOR, FLOOR ; 6d + tilecoll WATER, WATER, WATER, WATER ; 6e + tilecoll WALL, WALL, WALL, WALL ; 6f + tilecoll WALL, WALL, WALL, WALL ; 70 + tilecoll WALL, WALL, DOOR, DOOR ; 71 + tilecoll WALL, WALL, WALL, WALL ; 72 + tilecoll WALL, WALL, WALL, WALL ; 73 + tilecoll WALL, WALL, WALL, WALL ; 74 + tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 75 + tilecoll WALL, WALL, WALL, WALL ; 76 + tilecoll WALL, WALL, WALL, WALL ; 77 + tilecoll WALL, WALL, WALL, WALL ; 78 + tilecoll WALL, WALL, WALL, WALL ; 79 tilecoll WATER, WATER, WATER, WATER ; 7a tilecoll WALL, WALL, WALL, WALL ; 7b tilecoll WALL, WALL, WALL, WALL ; 7c diff --git a/data/tilesets/nihon01_metatiles.bin b/data/tilesets/nihon01_metatiles.bin index b645c2375e50d9d1586df5c01dc656dfc1428287..271c9be6e6864e2cad537397c5c93735c5d50a14 100644 GIT binary patch delta 304 zcmZn=Xb_liiAhCe* z#RU|Q(w3H%(pFSt)Ma7;7qBM)06R(~fB*mh delta 304 zcmZn=Xb_lii77B}aUvoWNqiR1f3YXzS=`Tie)JL$QvIu8ob2Es(Ia z1!0)DwYQHC5c$BweSCavfm~mpVlV*7_yEm70I*sg9Uwr6!CCci7K{Nj3=Cj=H+LVO zuy7wAYoJTLeWavd4hGU-i(z~dAP_+U(okS-AuVlb#l!?t$HwO8&&C!P?+aGTh0rm1 H0eb=f=lDAK diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 44168cc..0e4f73d 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -1822,8 +1822,10 @@ BeautyGroup: next_list_item ; BEAUTY (15) db "THERESA@", TRAINERTYPE_NORMAL - db 15 - dw SENTRET + db 45 + dw FURRET ; MIMEAR + db 48 + dw CLEFABLE db -1 ; end next_list_item ; BEAUTY (16) diff --git a/data/wild/nihon_grass.asm b/data/wild/nihon_grass.asm index 0836c7b..d534170 100644 --- a/data/wild/nihon_grass.asm +++ b/data/wild/nihon_grass.asm @@ -56,4 +56,32 @@ NihonGrassWildMons: dbw 35, SKARMORY end_grass_wildmons + def_grass_wildmons ROUTE_49_2 + db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + ; morn + dbw 30, RATTATA + dbw 31, PIDGEY + dbw 30, PIKACHU + dbw 31, MARILL + dbw 32, HOPPIP + dbw 32, EKANS + dbw 35, SUNFLORA + ; day + dbw 30, RATTATA + dbw 31, PIDGEY + dbw 30, PIKACHU + dbw 31, MARILL + dbw 32, HOPPIP + dbw 32, EKANS + dbw 35, GIRAFARIG + ; nite + dbw 30, RATTATA + dbw 31, PIDGEY + dbw 30, PIKACHU + dbw 31, MARILL + dbw 32, HOOTHOOT + dbw 32, EKANS + dbw 35, SKARMORY + end_grass_wildmons + db -1 ; end diff --git a/data/wild/nihon_water.asm b/data/wild/nihon_water.asm index a5a43ed..6cf9f25 100644 --- a/data/wild/nihon_water.asm +++ b/data/wild/nihon_water.asm @@ -1,3 +1,32 @@ NihonWaterWildMons: + ; Placeholder + def_grass_wildmons ROUTE_49_2 + db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + ; morn + dbw 30, MAGIKARP + dbw 31, MAGIKARP + dbw 30, MAGIKARP + dbw 31, MAGIKARP + dbw 32, MAGIKARP + dbw 32, MAGIKARP + dbw 35, MAGIKARP + ; day + dbw 30, MAGIKARP + dbw 31, MAGIKARP + dbw 30, MAGIKARP + dbw 31, MAGIKARP + dbw 32, MAGIKARP + dbw 32, MAGIKARP + dbw 35, MAGIKARP + ; nite + dbw 30, MAGIKARP + dbw 31, MAGIKARP + dbw 30, MAGIKARP + dbw 31, MAGIKARP + dbw 32, MAGIKARP + dbw 32, MAGIKARP + dbw 35, MAGIKARP + end_grass_wildmons + db -1 ; end diff --git a/maps/QuietCave.asm b/maps/QuietCave.asm index 0cf1ccc..d91184b 100644 --- a/maps/QuietCave.asm +++ b/maps/QuietCave.asm @@ -10,7 +10,7 @@ QuietCave_MapScripts: def_callbacks QuietCaveSign1: - jumptext QuietCaveSign1Text + jumptext QuietCaveSign2Text ; swapped because im lazy and misplaced the signs QuietCaveSign1Text: text "SILENT HILLS" @@ -18,7 +18,7 @@ QuietCaveSign1Text: done QuietCaveSign2: - jumptext Route49Sign2Text + jumptext QuietCaveSign1Text QuietCaveSign2Text: text "OLD CITY" @@ -30,9 +30,9 @@ QuietCaveBoy1: QuietCaveBoy1Text: text "The wild #MON" - line "here are weak," - cont "so my friends" - cont "train here!" + line "are weak, so my" + cont "friends come" + cont "here to train!" para "Test your strength" line "against them!" @@ -139,7 +139,7 @@ TrainerBugCatcherElwyn: .Script: endifjustbattled opentext - writetext BugCatcherElwynBeatenText + writetext BugCatcherElwynAfterText waitbutton closetext end @@ -208,8 +208,8 @@ QuietCave_MapEvents: 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 8, 0, ROUTE_49_2, 1 + warp_event 9, 0, ROUTE_49_2, 2 def_coord_events @@ -219,7 +219,7 @@ QuietCave_MapEvents: 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, 2, TrainerBugCatcherSioned, -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_BEAUTY, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 5, 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 diff --git a/maps/Route49.asm b/maps/Route49.asm index 2505dae..7111597 100644 --- a/maps/Route49.asm +++ b/maps/Route49.asm @@ -35,9 +35,9 @@ Route49Boy1: ; Minamitoku stated that the school the boy went to here is used to prepare for exams and the like, so this seems to be the best localisation. Route49Boy1Text: text "I saw a strange" - line "#MON when I came" - cont "back from prep" - cont "school!" + line "#MON when I was" + cont "coming back from" + cont "prep school!" done Route49Boy2: diff --git a/maps/Route49_2.ablk b/maps/Route49_2.ablk new file mode 100644 index 0000000..ceb8f10 --- /dev/null +++ b/maps/Route49_2.ablk @@ -0,0 +1 @@ +ptowxyrqs$$$$$$e$$$ennU`$bTnnn55Y`$bX55555Y`$bX555b]$$$^$b$Ek))b$lk)bm$k)*l*bul**l*bk **j'bj'''''b$]]]]]]]] \ No newline at end of file diff --git a/maps/Route49_2.asm b/maps/Route49_2.asm new file mode 100644 index 0000000..23d9568 --- /dev/null +++ b/maps/Route49_2.asm @@ -0,0 +1,68 @@ +; Text on this route uses translations from Minamitoku. +; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku + + object_const_def + const ROUTE_49_2_BEAUTY + +Route49_2_MapScripts: + def_scene_scripts + + def_callbacks + +Route49Sign1_2: + jumptext Route49Sign1_2Text + +Route49Sign1_2Text: + text "ROUTE 49" ; Originally Route 1, but since Johto exists now, we use Route 49. + line "OLD CITY -" ; Localisation TBD + cont "SILENT HILLS" + done + +; Reusing previously unused Beauty here. +TrainerBeautyTheresa: + trainer BEAUTY, THERESA, EVENT_BEAT_BEAUTY_THERESA, BeautyTheresaSeenText, BeautyTheresaBeatenText, 0, .Script + +.Script: + endifjustbattled + opentext + writetext BeautyTheresaAfterText + waitbutton + closetext + end + +; Minamitoku didn't translate the text outside of the spotted text here too. +BeautyTheresaSeenText: + text "Oh! Such a cute" + line "TRAINER!" + para "Would you battle" + line "me?" + done + +BeautyTheresaBeatenText: + text "Awhhh..." + done + +BeautyTheresaAfterText: + text "Hm? The cave?" + + para "I try to avoid" + line "it. The boys in" + cont "there are too" + cont "immature!" + + done + +Route49_2_MapEvents: + db 0, 0 ; filler + + def_warp_events + warp_event 8, 27, QUIET_CAVE, 3 + warp_event 9, 27, QUIET_CAVE, 4 + + def_coord_events + + def_bg_events + bg_event 10, 20, BGEVENT_READ, Route49Sign1_2 + + def_object_events + object_event 7, 15, SPRITE_BEAUTY, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerBeautyTheresa, -1