mirror of
https://github.com/thornAvery/jep-hack.git
synced 2025-10-15 19:54:28 +13:00
Nihon + Silent Hills Groundwork
Currently doesn't build due to a weird error ``` rgbasm -hL -Q8 -P includes.asm -Weverything -Wnumeric-string=2 -Wtruncation=1 -o data/maps/map_data.o data/maps/map_data.asm error: data/maps/map_data.asm(3) -> data/maps/maps.asm(544) -> macros/asserts.as m::assert_table_length(14): Expected constant expression: 'NUM_SILENT_HILLS_MAP' is not constant at asse mbly time error: data/maps/map_data.asm(3) -> data/maps/maps.asm(544) -> macros/asserts.as m::assert_table_length(16): Assertion failed: MapGroup_SilentHills: expected 0 entries, each 9 bytes error: Assembly aborted (2 errors)! make: *** [Makefile:119: data/maps/map_data.o] Error 1 ```
This commit is contained in:
parent
26bb9fbc7b
commit
a8546f60c9
|
@ -89,6 +89,7 @@
|
|||
const ENGINE_FLYPOINT_LAKE_OF_RAGE
|
||||
const ENGINE_FLYPOINT_BLACKTHORN
|
||||
const ENGINE_FLYPOINT_SILVER_CAVE
|
||||
const ENGINE_FLYPOINT_SILENT_HILLS
|
||||
const ENGINE_FLYPOINT_UNUSED
|
||||
; wLuckyNumberShowFlag
|
||||
const ENGINE_LUCKY_NUMBER_SHOW
|
||||
|
|
|
@ -98,6 +98,8 @@ DEF KANTO_LANDMARK EQU const_value
|
|||
const LANDMARK_TOHJO_FALLS ; 5d
|
||||
const LANDMARK_ROUTE_28 ; 5e
|
||||
const LANDMARK_FAST_SHIP ; 5f
|
||||
DEF NIHON_LANDMARK EQU const_value
|
||||
const LANDMARK_SILENT_HILLS
|
||||
DEF NUM_LANDMARKS EQU const_value
|
||||
|
||||
; used in CaughtData
|
||||
|
@ -109,4 +111,5 @@ DEF NUM_LANDMARKS EQU const_value
|
|||
const_def
|
||||
const JOHTO_REGION ; 0
|
||||
const KANTO_REGION ; 1
|
||||
const NIHON_REGION ; 2
|
||||
DEF NUM_REGIONS EQU const_value
|
||||
|
|
|
@ -500,5 +500,9 @@ ENDM
|
|||
map_const MR_POKEMONS_HOUSE, 4, 4 ; 10
|
||||
map_const ROUTE_31_VIOLET_GATE, 5, 4 ; 11
|
||||
endgroup
|
||||
|
||||
DEF NUM_MAP_GROUPS EQU const_value ; 26
|
||||
|
||||
newgroup SILENT_HILLS ; 27
|
||||
map_const SILENT_HILLS, 10, 10 ; 1
|
||||
endgroup
|
||||
|
||||
DEF NUM_MAP_GROUPS EQU const_value ; 27
|
||||
|
|
|
@ -102,6 +102,8 @@ DEF NUM_FISHGROUPS EQU const_value - 1
|
|||
const SPAWN_BLACKTHORN
|
||||
const SPAWN_MT_SILVER
|
||||
const SPAWN_FAST_SHIP
|
||||
; nihon
|
||||
const SPAWN_SILENT_HILLS
|
||||
DEF NUM_SPAWNS EQU const_value
|
||||
|
||||
DEF SPAWN_N_A EQU -1
|
||||
|
@ -136,6 +138,8 @@ DEF KANTO_FLYPOINT EQU const_value
|
|||
const FLY_FUCHSIA
|
||||
const FLY_CINNABAR
|
||||
const FLY_INDIGO
|
||||
DEF NIHON_FLYPOINT EQU const_value
|
||||
const FLY_SILENT_HILLS
|
||||
DEF NUM_FLYPOINTS EQU const_value
|
||||
|
||||
DEF MAX_OUTDOOR_SPRITES EQU 23 ; see engine/overworld/overworld.asm
|
||||
|
|
|
@ -99,6 +99,7 @@ EngineFlags:
|
|||
engine_flag wVisitedSpawns, SPAWN_LAKE_OF_RAGE
|
||||
engine_flag wVisitedSpawns, SPAWN_BLACKTHORN
|
||||
engine_flag wVisitedSpawns, SPAWN_MT_SILVER
|
||||
engine_flag wVisitedSpawns, SPAWN_SILENT_HILLS
|
||||
engine_flag wVisitedSpawns, NUM_SPAWNS ; unused
|
||||
|
||||
engine_flag wLuckyNumberShowFlag, LUCKYNUMBERSHOW_GAME_OVER_F
|
||||
|
|
|
@ -695,3 +695,4 @@ ENDM
|
|||
map_attributes Route30BerryHouse, ROUTE_30_BERRY_HOUSE, $00, 0
|
||||
map_attributes MrPokemonsHouse, MR_POKEMONS_HOUSE, $00, 0
|
||||
map_attributes Route31VioletGate, ROUTE_31_VIOLET_GATE, $00, 0
|
||||
map_attributes SilentHills, SILENT_HILLS, $00, 0 ; this is on its own for now. add connections to mt. silver later.
|
||||
|
|
|
@ -1045,3 +1045,6 @@ BetaBlank_Blocks: ; unreferenced
|
|||
|
||||
GoldenrodDeptStoreRoof_Blocks:
|
||||
INCBIN "maps/GoldenrodDeptStoreRoof.ablk"
|
||||
|
||||
SilentHills_Blocks:
|
||||
INCBIN "maps/SilentHills.ablk"
|
||||
|
|
|
@ -27,4 +27,6 @@ Flypoints:
|
|||
db LANDMARK_FUCHSIA_CITY, SPAWN_FUCHSIA
|
||||
db LANDMARK_CINNABAR_ISLAND, SPAWN_CINNABAR
|
||||
db LANDMARK_INDIGO_PLATEAU, SPAWN_INDIGO
|
||||
; Nihon
|
||||
db LANDMARK_SILENT_HILLS, SPAWN_SILENT_HILLS
|
||||
db -1 ; end
|
||||
|
|
|
@ -104,6 +104,8 @@ Landmarks:
|
|||
landmark 12, 100, TohjoFallsName
|
||||
landmark 20, 68, Route28Name
|
||||
landmark 140, 116, FastShipName
|
||||
assert_table_length NIHON_LANDMARK
|
||||
landmark 100, 116, SilentHillsName
|
||||
assert_table_length NUM_LANDMARKS
|
||||
|
||||
NewBarkTownName: db "NEW BARK¯TOWN@"
|
||||
|
@ -208,3 +210,4 @@ TohjoFallsName: db "TOHJO FALLS@"
|
|||
UndergroundName: db "UNDERGROUND@"
|
||||
BattleTowerName: db "BATTLE¯TOWER@"
|
||||
SpecialMapName: db "SPECIAL@"
|
||||
SilentHillsName: db "SILENT HILLS@"
|
||||
|
|
|
@ -43,6 +43,7 @@ MapGroupPointers::
|
|||
dw MapGroup_NewBark ; 24
|
||||
dw MapGroup_Saffron ; 25
|
||||
dw MapGroup_Cherrygrove ; 26
|
||||
dw MapGroup_SilentHills ; 27
|
||||
assert_table_length NUM_MAP_GROUPS
|
||||
|
||||
MapGroup_Olivine:
|
||||
|
@ -536,3 +537,8 @@ MapGroup_Cherrygrove:
|
|||
map MrPokemonsHouse, TILESET_FACILITY, INDOOR, LANDMARK_ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
|
||||
map Route31VioletGate, TILESET_GATE, GATE, LANDMARK_ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE
|
||||
assert_table_length NUM_CHERRYGROVE_MAPS
|
||||
|
||||
MapGroup_SilentHills:
|
||||
table_width MAP_LENGTH, MapGroup_SilentHills
|
||||
map SilentHills, TILESET_JOHTO, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NEW_BARK_TOWN, TRUE, PALETTE_AUTO, FISHGROUP_SHORE
|
||||
assert_table_length NUM_SILENT_HILLS_MAP
|
||||
|
|
|
@ -30,6 +30,7 @@ OutdoorSprites:
|
|||
dw NewBarkGroupSprites
|
||||
dw SaffronGroupSprites
|
||||
dw CherrygroveGroupSprites
|
||||
dw SilentHillsGroupSprites
|
||||
assert_table_length NUM_MAP_GROUPS
|
||||
|
||||
PalletGroupSprites:
|
||||
|
@ -307,6 +308,7 @@ IndigoGroupSprites:
|
|||
db SPRITE_POKE_BALL
|
||||
db SPRITE_BOULDER
|
||||
|
||||
SilentHillsGroupSprites: ; Will have its own thing eventually
|
||||
NewBarkGroupSprites:
|
||||
db SPRITE_SUICUNE
|
||||
db SPRITE_SILVER_TROPHY
|
||||
|
|
|
@ -38,6 +38,7 @@ MapGroupRoofs:
|
|||
db ROOF_NEW_BARK ; 24 (New Bark)
|
||||
db -1 ; 25
|
||||
db ROOF_NEW_BARK ; 26 (Cherrygrove)
|
||||
db ROOF_NEW_BARK ; 27 (Silent Hills)
|
||||
assert_table_length NUM_MAP_GROUPS + 1
|
||||
|
||||
Roofs:
|
||||
|
|
|
@ -484,3 +484,4 @@ SECTION "Map Scripts 25", ROMX
|
|||
|
||||
INCLUDE "maps/SilverCaveOutside.asm"
|
||||
INCLUDE "maps/Route10North.asm"
|
||||
INCLUDE "maps/SilentHills.asm"
|
||||
|
|
|
@ -30,4 +30,5 @@ MapGroupRoofSGBPalInds:
|
|||
db PREDEFPAL_NEW_BARK
|
||||
db PREDEFPAL_SAFFRON
|
||||
db PREDEFPAL_CHERRYGROVE
|
||||
db PREDEFPAL_SILENT_HILLS
|
||||
assert_table_length NUM_MAP_GROUPS + 1
|
||||
|
|
|
@ -38,7 +38,9 @@ SpawnPoints:
|
|||
spawn BLACKTHORN_CITY, 21, 30
|
||||
spawn SILVER_CAVE_OUTSIDE, 23, 20
|
||||
spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2
|
||||
|
||||
|
||||
spawn SILENT_HILLS, 10, 10
|
||||
|
||||
spawn N_A, -1, -1
|
||||
|
||||
assert_table_length NUM_SPAWNS + 1
|
||||
|
|
|
@ -67,6 +67,8 @@ RegionCheck:
|
|||
call GetWorldMapLocation
|
||||
|
||||
.checkagain
|
||||
cp NIHON_LANDMARK
|
||||
jr z, .nihon
|
||||
cp KANTO_LANDMARK
|
||||
jr c, .johto
|
||||
|
||||
|
@ -80,3 +82,6 @@ RegionCheck:
|
|||
.kanto
|
||||
ld e, KANTO_REGION
|
||||
ret
|
||||
.nihon
|
||||
ld e, NIHON_REGION
|
||||
ret
|
|
@ -17,6 +17,8 @@ DEF PHONE_DISPLAY_HEIGHT EQU 4
|
|||
const POKEGEARSTATE_JOHTOMAPJOYPAD ; 4
|
||||
const POKEGEARSTATE_KANTOMAPINIT ; 5
|
||||
const POKEGEARSTATE_KANTOMAPJOYPAD ; 6
|
||||
const POKEGEARSTATE_NIHONMAPINIT ; 5
|
||||
const POKEGEARSTATE_NIHONMAPJOYPAD ; 6
|
||||
const POKEGEARSTATE_PHONEINIT ; 7
|
||||
const POKEGEARSTATE_PHONEJOYPAD ; 8
|
||||
const POKEGEARSTATE_MAKEPHONECALL ; 9
|
||||
|
@ -324,6 +326,8 @@ InitPokegearTilemap:
|
|||
|
||||
.Map:
|
||||
ld a, [wPokegearMapPlayerIconLandmark]
|
||||
cp NIHON_LANDMARK
|
||||
jr z, .nihon
|
||||
cp LANDMARK_FAST_SHIP
|
||||
jr z, .johto
|
||||
cp KANTO_LANDMARK
|
||||
|
@ -334,6 +338,10 @@ InitPokegearTilemap:
|
|||
|
||||
.kanto
|
||||
ld e, 1
|
||||
jr .ok
|
||||
|
||||
.nihon
|
||||
ld e, 2
|
||||
.ok
|
||||
farcall PokegearMap
|
||||
ld a, $07
|
||||
|
@ -443,6 +451,8 @@ PokegearJumptable:
|
|||
dw PokegearMap_JohtoMap
|
||||
dw PokegearMap_Init
|
||||
dw PokegearMap_KantoMap
|
||||
dw PokegearMap_Init
|
||||
dw PokegearMap_NihonMap
|
||||
dw PokegearPhone_Init
|
||||
dw PokegearPhone_Joypad
|
||||
dw PokegearPhone_MakePhoneCall
|
||||
|
@ -530,6 +540,8 @@ Pokegear_UpdateClock:
|
|||
|
||||
PokegearMap_CheckRegion:
|
||||
ld a, [wPokegearMapPlayerIconLandmark]
|
||||
cp NIHON_LANDMARK
|
||||
jr z, .nihon
|
||||
cp LANDMARK_FAST_SHIP
|
||||
jr z, .johto
|
||||
cp KANTO_LANDMARK
|
||||
|
@ -541,6 +553,11 @@ PokegearMap_CheckRegion:
|
|||
|
||||
.kanto
|
||||
ld a, POKEGEARSTATE_KANTOMAPINIT
|
||||
jr .done
|
||||
ret
|
||||
|
||||
.nihon
|
||||
ld a, POKEGEARSTATE_NIHONMAPINIT
|
||||
.done
|
||||
ld [wJumptableIndex], a
|
||||
call ExitPokegearRadio_HandleMusic
|
||||
|
@ -564,6 +581,10 @@ PokegearMap_KantoMap:
|
|||
call TownMap_GetKantoLandmarkLimits
|
||||
jr PokegearMap_ContinueMap
|
||||
|
||||
PokegearMap_NihonMap:
|
||||
call TownMap_GetNihonLandmarkLimits
|
||||
jr PokegearMap_ContinueMap
|
||||
|
||||
PokegearMap_JohtoMap:
|
||||
ld d, LANDMARK_SILVER_CAVE
|
||||
ld e, LANDMARK_NEW_BARK_TOWN
|
||||
|
@ -740,6 +761,12 @@ TownMap_GetKantoLandmarkLimits:
|
|||
ld e, LANDMARK_VICTORY_ROAD
|
||||
ret
|
||||
|
||||
TownMap_GetNihonLandmarkLimits:
|
||||
ld a, [wStatusFlags]
|
||||
ld d, LANDMARK_SILENT_HILLS
|
||||
ld e, LANDMARK_SILENT_HILLS ; Gonna need another map.
|
||||
ret
|
||||
|
||||
PokegearRadio_Init:
|
||||
call InitPokegearTilemap
|
||||
depixel 4, 10, 4, 4
|
||||
|
@ -1547,7 +1574,7 @@ RadioChannels:
|
|||
jr z, .johto
|
||||
cp KANTO_LANDMARK
|
||||
jr c, .johto
|
||||
; kanto
|
||||
; kanto or nihon
|
||||
and a
|
||||
ret
|
||||
|
||||
|
@ -1809,6 +1836,8 @@ _TownMap:
|
|||
|
||||
.dmg
|
||||
ld a, [wTownMapPlayerIconLandmark]
|
||||
cp NIHON_LANDMARK
|
||||
jr nc, .nihon
|
||||
cp KANTO_LANDMARK
|
||||
jr nc, .kanto
|
||||
ld d, KANTO_LANDMARK - 1
|
||||
|
@ -1820,6 +1849,10 @@ _TownMap:
|
|||
call TownMap_GetKantoLandmarkLimits
|
||||
call .loop
|
||||
|
||||
.nihon
|
||||
call TownMap_GetNihonLandmarkLimits
|
||||
call .loop
|
||||
|
||||
.resume
|
||||
pop af
|
||||
ld [wVramState], a
|
||||
|
@ -1892,6 +1925,8 @@ _TownMap:
|
|||
|
||||
.InitTilemap:
|
||||
ld a, [wTownMapPlayerIconLandmark]
|
||||
cp NIHON_LANDMARK
|
||||
jr nc, .nihon2
|
||||
cp KANTO_LANDMARK
|
||||
jr nc, .kanto2
|
||||
ld e, JOHTO_REGION
|
||||
|
@ -1899,6 +1934,9 @@ _TownMap:
|
|||
|
||||
.kanto2
|
||||
ld e, KANTO_REGION
|
||||
jr .okay_tilemap
|
||||
.nihon2
|
||||
ld e, NIHON_REGION
|
||||
.okay_tilemap
|
||||
farcall PokegearMap
|
||||
ld a, $07
|
||||
|
@ -2269,6 +2307,8 @@ FlyMap:
|
|||
; The first 46 locations are part of Johto. The rest are in Kanto.
|
||||
cp KANTO_LANDMARK
|
||||
jr nc, .KantoFlyMap
|
||||
cp NIHON_LANDMARK
|
||||
jr nc, .NihonFlyMap
|
||||
; Johto fly map
|
||||
; Note that .NoKanto should be modified in tandem with this branch
|
||||
push af
|
||||
|
@ -2311,6 +2351,33 @@ FlyMap:
|
|||
call TownMapPlayerIcon
|
||||
ret
|
||||
|
||||
.NihonFlyMap:
|
||||
; The event that there are no flypoints enabled in a map is not
|
||||
; accounted for. As a result, if you attempt to select a flypoint
|
||||
; when there are none enabled, the game will crash. Additionally,
|
||||
; the flypoint selection has a default starting point that
|
||||
; can be flown to even if none are enabled.
|
||||
; To prevent both of these things from happening when the player
|
||||
; enters Kanto, fly access is restricted until Indigo Plateau is
|
||||
; visited and its flypoint enabled.
|
||||
push af
|
||||
ld c, SPAWN_SILENT_HILLS
|
||||
call HasVisitedSpawn
|
||||
and a
|
||||
jr z, .NoKanto
|
||||
; Kanto's map is only loaded if we've visited Indigo Plateau
|
||||
ld a, NIHON_FLYPOINT ; first Kanto flypoint
|
||||
ld [wStartFlypoint], a
|
||||
ld a, NUM_FLYPOINTS - 1 ; last Kanto flypoint
|
||||
ld [wEndFlypoint], a
|
||||
ld [wTownMapPlayerIconLandmark], a ; last one is default (Indigo Plateau)
|
||||
; Fill out the map
|
||||
call FillNihonMap
|
||||
call .MapHud
|
||||
pop af
|
||||
call TownMapPlayerIcon
|
||||
ret
|
||||
|
||||
.NoKanto:
|
||||
; If Indigo Plateau hasn't been visited, we use Johto's map instead
|
||||
ld a, JOHTO_FLYPOINT ; first Johto flypoint
|
||||
|
@ -2644,6 +2711,10 @@ FillJohtoMap:
|
|||
|
||||
FillKantoMap:
|
||||
ld de, KantoMap
|
||||
jr FillTownMap
|
||||
|
||||
FillNihonMap:
|
||||
ld de, NihonMap
|
||||
FillTownMap:
|
||||
hlcoord 0, 0
|
||||
.loop
|
||||
|
@ -2794,6 +2865,9 @@ INCBIN "gfx/pokegear/johto.bin"
|
|||
KantoMap:
|
||||
INCBIN "gfx/pokegear/kanto.bin"
|
||||
|
||||
NihonMap:
|
||||
INCBIN "gfx/pokegear/nihon.bin"
|
||||
|
||||
PokedexNestIconGFX:
|
||||
INCBIN "gfx/pokegear/dexmap_nest_icon.2bpp"
|
||||
FlyMapLabelBorderGFX:
|
||||
|
|
BIN
gfx/pokegear/nihon.bin
Normal file
BIN
gfx/pokegear/nihon.bin
Normal file
Binary file not shown.
|
@ -105,3 +105,7 @@
|
|||
; group 26 (Cherrygrove)
|
||||
RGB 31,14,28, 31,05,21 ; morn/day
|
||||
RGB 14,07,17, 13,00,08 ; nite
|
||||
|
||||
; group 27 (Silent Hills)
|
||||
RGB 20,31,14, 11,23,05 ; morn/day
|
||||
RGB 09,13,08, 06,09,04 ; nite
|
||||
|
|
|
@ -20,6 +20,8 @@ IsInJohto::
|
|||
call GetWorldMapLocation
|
||||
|
||||
.CheckRegion:
|
||||
cp NIHON_LANDMARK
|
||||
jr z, .Nihon
|
||||
cp KANTO_LANDMARK
|
||||
jr nc, .Kanto
|
||||
|
||||
|
@ -30,3 +32,7 @@ IsInJohto::
|
|||
.Kanto:
|
||||
ld a, KANTO_REGION
|
||||
ret
|
||||
|
||||
.Nihon:
|
||||
ld a, NIHON_REGION
|
||||
ret
|
||||
|
|
2
maps/SilentHills.ablk
Normal file
2
maps/SilentHills.ablk
Normal file
|
@ -0,0 +1,2 @@
|
|||
IJHFABFIJaJE
|
||||
xxIIIIIJTvvvvU
|
25
maps/SilentHills.asm
Normal file
25
maps/SilentHills.asm
Normal file
|
@ -0,0 +1,25 @@
|
|||
object_const_def
|
||||
;const GLOBALTERMINALOUTSIDE_ROCKET
|
||||
|
||||
SilentHills_MapScripts:
|
||||
def_scene_scripts
|
||||
|
||||
def_callbacks
|
||||
callback MAPCALLBACK_NEWMAP, SilentHillFlypointCallback
|
||||
|
||||
SilentHillsFlypointCallback:
|
||||
setflag ENGINE_FLYPOINT_SILENT_HILLS
|
||||
endcallback
|
||||
|
||||
SilentHills_MapEvents:
|
||||
db 0, 0 ; filler
|
||||
|
||||
def_warp_events
|
||||
;warp_event 8, 13, GLOBAL_TERMINAL_1F, 1
|
||||
|
||||
def_coord_events
|
||||
|
||||
def_bg_events
|
||||
|
||||
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
|
Loading…
Reference in a new issue