Make map environments more granular and make all map palettes except darkness depend on map environment (#7)

This commit is contained in:
xCrystal
2023-08-04 18:45:50 +02:00
parent 6e3c5fd008
commit 55a38ff2de
28 changed files with 157 additions and 531 deletions

View File

@@ -1,37 +1,63 @@
EnvironmentColorsPointers:
; entries correspond to environment constants (see constants/map_data_constants.asm)
table_width 2, EnvironmentColorsPointers
dw .OutdoorColors ; unused
dw .OutdoorColors ; TOWN
dw .OutdoorColors ; ROUTE
dw .IndoorColors ; INDOOR
dw .DungeonColors ; CAVE
dw .Env5Colors ; ENVIRONMENT_5
dw .IndoorColors ; GATE
dw .DungeonColors ; DUNGEON
dw .GrassyColors ; unused
dw .GrassyColors ; OUTDOOR_GRASSY
dw .MountainColors ; OUTDOOR_MOUNTAIN
dw .CoastColors ; OUTDOOR_COAST
dw .SeaColors ; OUTDOOR_SEA
dw .ForestColors ; INDOOR_FOREST
dw .CaveColors ; INDOOR_CAVE
dw .IceCaveColors ; INDOOR_ICE_CAVE
dw .BuildingColors ; INDOOR_BUILDING
assert_table_length NUM_ENVIRONMENTS + 1
; Valid indices: $00 - $2b (see gfx/tilesets/bg_tiles.pal)
.OutdoorColors:
db $00, $01, $02, $28, $04, $05, $06, $07 ; morn
db $08, $09, $0a, $29, $0c, $0d, $0e, $0f ; day
db $10, $11, $12, $2a, $14, $15, $16, $17 ; nite
db $18, $19, $1a, $2b, $1c, $1d, $1e, $1f ; eve
; Valid indices: $00 - $35 (see gfx/tilesets/bg_tiles.pal)
; assumes that maps with an environment of INDOOR_CAVE and INDOOR_ICE_CAVE always have PALETTE_NITE
.GrassyColors:
db $00, $01, $02, $28, $04, $05, $06, $2e ; morn
db $08, $09, $0a, $29, $0c, $0d, $0e, $2e ; day
db $10, $11, $12, $2a, $14, $15, $16, $2e ; nite
db $18, $19, $1a, $2b, $1c, $1d, $1e, $2e ; eve
.IndoorColors:
db $20, $21, $22, $23, $24, $25, $26, $07 ; morn
db $20, $21, $22, $23, $24, $25, $26, $07 ; day
db $10, $11, $12, $13, $14, $15, $16, $07 ; nite
db $18, $19, $1a, $1b, $1c, $1d, $1e, $07 ; eve
.MountainColors:
db $00, $01, $02, $28, $04, $05, $06, $2f ; morn
db $08, $09, $0a, $29, $0c, $0d, $0e, $2f ; day
db $10, $11, $12, $2a, $14, $15, $16, $2f ; nite
db $18, $19, $1a, $2b, $1c, $1d, $1e, $2f ; eve
.DungeonColors:
db $00, $01, $02, $03, $04, $05, $06, $07 ; morn
db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day
db $10, $11, $12, $13, $14, $15, $16, $17 ; nite
db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; eve
.CoastColors:
db $00, $01, $02, $28, $04, $05, $06, $30 ; morn
db $08, $09, $0a, $29, $0c, $0d, $0e, $30 ; day
db $10, $11, $12, $2a, $14, $15, $16, $30 ; nite
db $18, $19, $1a, $2b, $1c, $1d, $1e, $30 ; eve
.Env5Colors:
db $00, $01, $02, $03, $04, $05, $06, $07 ; morn
db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day
db $10, $11, $12, $13, $14, $15, $16, $17 ; nite
db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; eve
.SeaColors:
db $00, $01, $02, $28, $04, $05, $06, $31 ; morn
db $08, $09, $0a, $29, $0c, $0d, $0e, $31 ; day
db $10, $11, $12, $2a, $14, $15, $16, $31 ; nite
db $18, $19, $1a, $2b, $1c, $1d, $1e, $31 ; eve
.ForestColors:
db $00, $01, $02, $03, $04, $05, $06, $32 ; morn
db $08, $09, $0a, $0b, $0c, $0d, $0e, $32 ; day
db $10, $11, $12, $13, $14, $15, $16, $32 ; nite
db $18, $19, $1a, $1b, $1c, $1d, $1e, $32 ; eve
.CaveColors:
db $10, $11, $12, $13, $14, $15, $16, $33 ; morn
db $10, $11, $12, $13, $14, $15, $16, $33 ; day
db $10, $11, $12, $13, $14, $15, $16, $33 ; nite
db $10, $11, $12, $13, $14, $15, $16, $33 ; eve
.IceCaveColors:
db $10, $11, $2c, $13, $14, $15, $2d, $34 ; morn
db $10, $11, $2c, $13, $14, $15, $2d, $34 ; day
db $10, $11, $2c, $13, $14, $15, $2d, $34 ; nite
db $10, $11, $2c, $13, $14, $15, $2d, $34 ; eve
.BuildingColors:
db $20, $21, $22, $23, $24, $25, $26, $35 ; morn
db $20, $21, $22, $23, $24, $25, $26, $35 ; day
db $10, $11, $12, $13, $14, $15, $16, $35 ; nite
db $18, $19, $1a, $1b, $1c, $1d, $1e, $35 ; eve

View File

@@ -23,8 +23,8 @@ MapGroupPointers::
MapGroup_Level1:
table_width MAP_LENGTH, MapGroup_Level1
map Level1_Map1, TILESET_PLAYERS_ROOM, INDOOR, LANDMARK_LEVEL_1, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
; map Level1_Map2, TILESET_CHAMPIONS_ROOM, INDOOR, LANDMARK_LEVEL_2, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
map Level1_Map1, TILESET_PLAYERS_ROOM, INDOOR_BUILDING, LANDMARK_LEVEL_1, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
; map Level1_Map2, TILESET_CHAMPIONS_ROOM, INDOOR_CAVE, LANDMARK_LEVEL_2, MUSIC_GYM, TRUE, PALETTE_NITE | IN_DARKNESS, FISHGROUP_SHORE
assert_table_length NUM_LEVEL_1_MAPS
; MapGroup_Level2: