Create a fourth time of day (#2)

This commit is contained in:
xCrystal
2023-07-31 12:27:53 +02:00
parent 05448d7a7e
commit 9df4cf6946
30 changed files with 270 additions and 123 deletions

View File

@@ -1,4 +1,12 @@
LoadSpecialMapPalette:
call GetMapTimeOfDay
bit IN_DARKNESS_F, a
jr z, .not_dark
ld a, [wStatusFlags]
bit STATUSFLAGS_FLASH_F, a
jr z, .darkness
.not_dark
ld a, [wMapTileset]
cp TILESET_POKECOM_CENTER
jr z, .pokecom_2f
@@ -14,6 +22,11 @@ LoadSpecialMapPalette:
jr z, .mansion_mobile
jr .do_nothing
.darkness
call LoadDarknessPalette
scf
ret
.pokecom_2f
call LoadPokeComPalette
scf
@@ -52,6 +65,16 @@ LoadSpecialMapPalette:
and a
ret
LoadDarknessPalette:
ld a, BANK(wBGPals1)
ld de, wBGPals1
ld hl, DarknessPalette
ld bc, 8 palettes
jp FarCopyWRAM
DarknessPalette:
INCLUDE "gfx/tilesets/bg_tiles_darkness.pal"
LoadPokeComPalette:
ld a, BANK(wBGPals1)
ld de, wBGPals1

View File

@@ -185,10 +185,18 @@ endr
ret
ReplaceTimeOfDayPals:
ld a, [wMapTimeOfDay]
bit IN_DARKNESS_F, a
jr z, .not_dark
ld a, [wStatusFlags]
bit STATUSFLAGS_FLASH_F, a
jr nz, .not_dark
ld a, DARKNESS_PALSET
jr .done
.not_dark:
ld hl, .BrightnessLevels
ld a, [wMapTimeOfDay]
cp PALETTE_DARK
jr z, .NeedsFlash
maskbits NUM_MAP_PALETTES
add l
ld l, a
@@ -196,33 +204,21 @@ ReplaceTimeOfDayPals:
adc h
ld h, a
ld a, [hl]
ld [wTimeOfDayPalset], a
ret
.NeedsFlash:
ld a, [wStatusFlags]
bit STATUSFLAGS_FLASH_F, a
jr nz, .UsedFlash
ld a, DARKNESS_PALSET
ld [wTimeOfDayPalset], a
ret
.UsedFlash:
ld a, (NITE_F << 6) | (NITE_F << 4) | (NITE_F << 2) | NITE_F
.done
ld [wTimeOfDayPalset], a
ret
.BrightnessLevels:
; actual palettes used when time is
; DARKNESS_F, NITE_F, DAY_F, MORN_F
dc DARKNESS_F, NITE_F, DAY_F, MORN_F ; PALETTE_AUTO
; EVE_F, NITE_F, DAY_F, MORN_F
dc EVE_F, NITE_F, DAY_F, MORN_F ; PALETTE_AUTO
dc DAY_F, DAY_F, DAY_F, DAY_F ; PALETTE_DAY
dc NITE_F, NITE_F, NITE_F, NITE_F ; PALETTE_NITE
dc MORN_F, MORN_F, MORN_F, MORN_F ; PALETTE_MORN
dc DARKNESS_F, DARKNESS_F, DARKNESS_F, DARKNESS_F ; PALETTE_DARK
dc DARKNESS_F, NITE_F, DAY_F, MORN_F
dc DARKNESS_F, NITE_F, DAY_F, MORN_F
dc DARKNESS_F, NITE_F, DAY_F, MORN_F
dc EVE_F, EVE_F, EVE_F, EVE_F ; PALETTE_EVE
dc EVE_F, NITE_F, DAY_F, MORN_F
dc EVE_F, NITE_F, DAY_F, MORN_F
dc EVE_F, NITE_F, DAY_F, MORN_F
GetTimePalette:
jumptable .TimePalettes, wTimeOfDay
@@ -231,7 +227,7 @@ GetTimePalette:
dw .MorningPalette ; MORN_F
dw .DayPalette ; DAY_F
dw .NitePalette ; NITE_F
dw .DarknessPalette ; DARKNESS_F
dw .EveningPalette ; EVE_F
.MorningPalette:
ld a, [wTimeOfDayPalset]
@@ -251,7 +247,7 @@ GetTimePalette:
swap a
ret
.DarknessPalette:
.EveningPalette:
ld a, [wTimeOfDayPalset]
and %11000000
rlca