Nihon Pokemon Centre for Silent Hills

This adds the Pokemon Centre infrastructure for Nihon and Silent Hills's one.

For all future Nihon Pokemon Centres, they must refer to the 2F one for the warp, and the map blocks for 1Fs should use the Nihon variant.

Kanto will follow suit (eventually). The aim is to make a more immersive region structure.
This commit is contained in:
Llinos Evans 2023-11-04 04:40:36 +00:00
parent ebab1da7b4
commit c3065bd046
19 changed files with 1291 additions and 21 deletions

View file

@ -397,6 +397,7 @@ ENDM
map_const TIME_CAPSULE, 5, 4 ; 4
map_const MOBILE_TRADE_ROOM, 5, 4 ; 5
map_const MOBILE_BATTLE_ROOM, 5, 4 ; 6
map_const NIHON_POKECENTER_2F, 8, 4 ; 7
endgroup
newgroup CELADON ; 21
@ -521,6 +522,7 @@ ENDM
map_const ROUTE_49, 15, 9 ; 3
map_const QUIET_CAVE, 27, 18 ; 4
map_const ROUTE_49_2, 10, 18 ; 5
map_const SILENT_HILLS_POKECENTER_1F, 10, 4 ; 6
endgroup
newgroup BLUE_FOREST ; 27

View file

@ -634,6 +634,7 @@ ENDM
map_attributes TimeCapsule, TIME_CAPSULE, $00, 0
map_attributes MobileTradeRoom, MOBILE_TRADE_ROOM, $00, 0
map_attributes MobileBattleRoom, MOBILE_BATTLE_ROOM, $00, 0
map_attributes NihonPokecenter2F, NIHON_POKECENTER_2F, $00, 0
map_attributes CeladonDeptStore1F, CELADON_DEPT_STORE_1F, $00, 0
map_attributes CeladonDeptStore2F, CELADON_DEPT_STORE_2F, $00, 0
map_attributes CeladonDeptStore3F, CELADON_DEPT_STORE_3F, $00, 0
@ -722,3 +723,4 @@ ENDM
map_attributes CliffCave, CLIFF_CAVE, $00, 0
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

View file

@ -1095,3 +1095,10 @@ QuietCave_Blocks:
Route49_2_Blocks:
INCBIN "maps/Route49_2.ablk"
; All Nihon Pokecenter1Fs go here.
SilentHillsPokecenter1F_Blocks:
INCBIN "maps/NihonPokecenter1F.ablk"
NihonPokecenter2F_Blocks:
INCBIN "maps/NihonPokecenter2F.ablk"

View file

@ -429,6 +429,7 @@ MapGroup_CableClub:
map TimeCapsule, TILESET_GATE, INDOOR, LANDMARK_SPECIAL, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
map MobileTradeRoom, TILESET_MANSION, INDOOR, LANDMARK_SPECIAL, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
map MobileBattleRoom, TILESET_MANSION, INDOOR, LANDMARK_SPECIAL, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
map NihonPokecenter2F, TILESET_POKECENTER, INDOOR, LANDMARK_SPECIAL, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
assert_table_length NUM_CABLE_CLUB_MAPS
MapGroup_Celadon:
@ -560,6 +561,7 @@ MapGroup_SilentHills:
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
map SilentHillsPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
assert_table_length NUM_SILENT_HILLS_MAPS
MapGroup_BlueForest:

View file

@ -693,7 +693,7 @@ SilentHillsGroupSprites:
; 9 walking sprites
db SPRITE_COOLTRAINER_M
db SPRITE_YOUNGSTER
db SPRITE_MONSTER
db SPRITE_POKEFAN_F
db SPRITE_BEAUTY
db SPRITE_BUG_CATCHER
db SPRITE_ROCKER

View file

@ -504,3 +504,8 @@ INCLUDE "maps/Route49.asm"
INCLUDE "maps/BlueForest.asm"
INCLUDE "maps/QuietCave.asm"
INCLUDE "maps/Route49_2.asm"
SECTION "Map Scripts 26", ROMX
INCLUDE "maps/SilentHillsPokecenter1F.asm"
INCLUDE "maps/NihonPokecenter2F.asm"

View file

@ -56,9 +56,48 @@
tilecoll DOOR, WALL, FLOOR, WALL ; 37
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 38
tilecoll WALL, WALL, FLOOR, WALL ; 39
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3a
tilecoll FLOOR, WARP_PANEL, FLOOR, FLOOR ; 3a
tilecoll WALL, WALL, FLOOR, WALL ; 3b
tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 3c
tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 3d
tilecoll WARP_PANEL, WARP_PANEL, FLOOR, FLOOR ; 3e
tilecoll FLOOR, WARP_PANEL, FLOOR, FLOOR ; 3f
tilecoll WALL, WALL, FLOOR, WALL ; 3c
tilecoll WALL, WALL, FLOOR, WALL ; 3d
tilecoll WALL, DOOR, FLOOR, FLOOR ; 3e
tilecoll WALL, WALL, WALL, WALL ; 3f
tilecoll PC, WALL, FLOOR, WALL ; 40
tilecoll WALL, WALL, FLOOR, WALL ; 41
tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 42
tilecoll WALL, WALL, FLOOR, FLOOR ; 43
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 44
tilecoll WALL, WALL, FLOOR, WALL ; 45
tilecoll COUNTER, WALL, FLOOR, FLOOR ; 46
tilecoll WALL, COUNTER, FLOOR, FLOOR ; 47
tilecoll WALL, WALL, WALL, FLOOR ; 48
tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 49
tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 4a
tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 4b
tilecoll FLOOR, WALL, FLOOR, WALL ; 4c
tilecoll WALL, WALL, FLOOR, WALL ; 4d
tilecoll WALL, WALL, FLOOR, PC ; 4e
tilecoll WALL, WALL, FLOOR, FLOOR ; 4f
tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 50
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 51
tilecoll FLOOR, WALL, FLOOR, WALL ; 52
tilecoll WALL, WALL, FLOOR, WALL ; 53
tilecoll WALL, WALL, FLOOR, PC ; 54
tilecoll WALL, WALL, FLOOR, WALL ; 55
tilecoll COUNTER, WALL, FLOOR, FLOOR ; 56
tilecoll WALL, WALL, FLOOR, FLOOR ; 57
tilecoll WALL, COUNTER, FLOOR, FLOOR ; 58
tilecoll WALL, WALL, WALL, FLOOR ; 59
tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 5a
tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 5b
tilecoll WALL, WALL, FLOOR, FLOOR ; 5c
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 5d
tilecoll WALL, WALL, FLOOR, FLOOR ; 5e
tilecoll WALL, WALL, FLOOR, WALL ; 5f
tilecoll PC, WALL, FLOOR, WALL ; 60
tilecoll WALL, WALL, FLOOR, WALL ; 61
tilecoll WALL, WALL, WALL, WALL ; 62
tilecoll WALL, WALL, FLOOR, WALL ; 63
tilecoll WALL, DOOR, FLOOR, FLOOR ; 64
tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 65
tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 66

View file

@ -48,15 +48,6 @@ INCLUDE "data/tilesets/players_room_collision.asm"
SECTION "Tileset Data 2", ROMX
TilesetPokecenterGFX::
INCBIN "gfx/tilesets/pokecenter.2bpp.lz"
TilesetPokecenterMeta::
INCBIN "data/tilesets/pokecenter_metatiles.bin"
TilesetPokecenterColl::
INCLUDE "data/tilesets/pokecenter_collision.asm"
TilesetPortGFX::
INCBIN "gfx/tilesets/port.2bpp.lz"
@ -573,4 +564,15 @@ TilesetNihonSouthAttr::
INCBIN "data/tilesets/nihon_south_attributes.bin"
TilesetNihonWestAttr::
INCBIN "data/tilesets/nihon_west_attributes.bin"
INCBIN "data/tilesets/nihon_west_attributes.bin"
SECTION "Tileset Data 14", ROMX
TilesetPokecenterGFX::
INCBIN "gfx/tilesets/pokecenter.2bpp.lz"
TilesetPokecenterMeta::
INCBIN "data/tilesets/pokecenter_metatiles.bin"
TilesetPokecenterColl::
INCLUDE "data/tilesets/pokecenter_collision.asm"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View file

@ -0,0 +1 @@
YOUOOSTSWWXWVQQRQRQQQ\]QQQQQPZ[\]QQQQQ

View file

@ -0,0 +1 @@
O_^b^bW`:a3adcQQQQQQQQeQQ\]\]Q

1050
maps/NihonPokecenter2F.asm Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -220,7 +220,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, 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 33, 26, SPRITE_POKEFAN_F, 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
object_event 11, 6, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 6, TrainerSchoolboyPero, -1

View file

@ -1,2 +1,2 @@
IJHF|}+BF~E/JIJ
 !A|}G~E$AAAAAATvvvvUX5555Y
 !A|}G~E$AAAAAATnnnnUX5555Y

View file

@ -1,3 +1,6 @@
; Text in this area uses translations from Minamitoku.
; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku
object_const_def
;const GLOBALTERMINALOUTSIDE_ROCKET
@ -11,15 +14,85 @@ SilentHillsFlypointCallback:
setflag ENGINE_FLYPOINT_SILENT_HILLS
endcallback
SilentHillsSign1:
jumptext SilentHillsSign1Text
SilentHillsSign1Text:
text "CAL's House"
done
SilentHillsSign2:
jumptext SilentHillsSign2Text
SilentHillsSign2Text:
text "SILENT HILLS"
line "The Silent Town"
done
SilentHillsSign3:
jumptext SilentHillsSign3Text
SilentHillsSign3Text:
text "TO LET"
done
SilentHillsSign4:
jumptext SilentHillsSign4Text
SilentHillsSign4Text:
text "Huh? The door is"
line "closed..."
done
SilentHillsSign5:
jumptext SilentHillsSign5Text
SilentHillsSign5Text:
text "<RIVAL>'s House"
done
SilentHillsPokecenterSign:
jumpstd PokecenterSignScript
SilentHillPokefanF:
jumptextfaceplayer SilentHillPokefanFText
SilentHillPokefanFText:
text "Your PACK is so"
line "cool! Where did"
cont "you get it?"
done
SilentHillYoungster:
jumptextfaceplayer SilentHillManText
SilentHillManText:
text "Are there people"
line "who hate #MON"
cont "at night?"
done
SilentHills_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 13, 4, PLAYERS_HOUSE_1F, 1
warp_event 13, 4, SILENT_HILLS_POKECENTER_1F, 1 ; Pokecenter
warp_event 5, 4, PLAYERS_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
def_coord_events
def_bg_events
bg_event 8, 4, BGEVENT_READ, SilentHillsSign1
bg_event 16, 5, BGEVENT_READ, SilentHillsSign2
bg_event 10, 11, BGEVENT_READ, SilentHillsSign3
bg_event 15, 11, BGEVENT_READ, SilentHillsSign4
bg_event 14, 11, BGEVENT_READ, SilentHillsSign4
bg_event 6, 12, BGEVENT_READ, SilentHillsSign5
bg_event 14, 4, BGEVENT_READ, SilentHillsPokecenterSign
def_object_events
;object_event 24, 16, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodCityRocketScoutScript, EVENT_GOLDENROD_CITY_ROCKET_SCOUT
object_event 8, 7, SPRITE_POKEFAN_F, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SilentHillPokefanF, -1
object_event 9, 13, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SilentHillYoungster, -1

View file

@ -0,0 +1,86 @@
; Text in this area uses translations from Minamitoku.
; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku
object_const_def
const SILENTHILLSPOKECENTER1F_NURSE
const SILENTHILLSPOKECENTER1F_GENTLEMAN
const SILENTHILLSPOKECENTER1F_YOUNGSTER
const SILENTHILLSPOKECENTER1F_COOLTRAINER_M
const SILENTHILLSPOKECENTER1F_HOUNDOOM
SilentHillsPokecenter1F_MapScripts:
def_scene_scripts
def_callbacks
SilentHillsPokecenter1FNurseScript:
jumpstd PokecenterNurseScript
SilentHillsPokecenter1FCoolTrainerMScript:
jumptextfaceplayer SilentHillsPokecenter1FCoolTrainerMText
SilentHillsPokecenter1FCoolTrainerMText:
text "Wow! Apparently,"
line "BILL made a"
cont "machine that lets"
cont "you trade through"
cont "time!"
para "Is that true?"
done
SilentHillsPokecenter1FYoungsterScript:
jumptextfaceplayer SilentHillsPokecenter1FYoungsterText
SilentHillsPokecenter1FYoungsterText:
text "This is a"
line "HOUNDOOM."
para "It's a dark type"
line "#MON. We didn't"
cont "know it existed!"
done
SilentHillsPokecenter1FHoundoomScript:
faceplayer
opentext
writetext SilentHillsPokecenter1FHoundoomText
cry HOUNDOOM
waitbutton
closetext
end
SilentHillsPokecenter1FHoundoomText:
text "Bark! Bark!"
done
SilentHillsPokecenter1FGentlemanScript:
jumptextfaceplayer SilentHillsPokecenter1FGentlemanText
SilentHillsPokecenter1FGentlemanText:
text "If you are a"
line "TRAINER, you can"
cont "use that PC for"
cont "free!"
done
SilentHillsPokecenter1F_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 3, 7, SILENT_HILLS, 1
warp_event 4, 7, SILENT_HILLS, 1
warp_event 0, 7, NIHON_POKECENTER_2F, 1
def_coord_events
def_bg_events
def_object_events
object_event 5, 1, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SilentHillsPokecenter1FNurseScript, -1
object_event 18, 6, SPRITE_GENTLEMAN, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SilentHillsPokecenter1FGentlemanScript, -1
object_event 12, 1, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SilentHillsPokecenter1FYoungsterScript, -1
object_event 1, 4, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_WANDER, 1, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SilentHillsPokecenter1FCoolTrainerMScript, -1
object_event 13, 1, SPRITE_TAUROS, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, SilentHillsPokecenter1FHoundoomScript, -1