|
|
|
@@ -284,12 +284,12 @@ org $00FC6A : JSL CheckIfNight16Bit
|
|
|
|
; ----[ Day / Night system * palette effect ]----
|
|
|
|
; ----[ Day / Night system * palette effect ]----
|
|
|
|
; =========================================================
|
|
|
|
; =========================================================
|
|
|
|
|
|
|
|
|
|
|
|
!blue_value = $7EE010
|
|
|
|
!BlueVal = $7EE010
|
|
|
|
!green_value = $7EE012
|
|
|
|
!GreenVal = $7EE012
|
|
|
|
!red_value = $7EE014
|
|
|
|
!RedVal = $7EE014
|
|
|
|
|
|
|
|
|
|
|
|
!temp_value = $7EE016
|
|
|
|
!TempPalColor = $7EE016
|
|
|
|
!pal_color = $7EE018
|
|
|
|
!SubPalColor = $7EE018
|
|
|
|
|
|
|
|
|
|
|
|
Overworld_CopyPalettesToCache = $02C769
|
|
|
|
Overworld_CopyPalettesToCache = $02C769
|
|
|
|
|
|
|
|
|
|
|
|
@@ -323,14 +323,14 @@ org $1BEF84 : JSL LoadDayNightPaletteEffect
|
|
|
|
pullpc
|
|
|
|
pullpc
|
|
|
|
LoadDayNightPaletteEffect:
|
|
|
|
LoadDayNightPaletteEffect:
|
|
|
|
{
|
|
|
|
{
|
|
|
|
STA.l !pal_color : CPX #$0041 : BPL .title_check
|
|
|
|
STA.l !SubPalColor : CPX #$0041 : BPL .title_check
|
|
|
|
STA.l PalBuf300_HUD, X
|
|
|
|
STA.l PalBuf300_HUD, X
|
|
|
|
RTL
|
|
|
|
RTL
|
|
|
|
.title_check
|
|
|
|
.title_check
|
|
|
|
|
|
|
|
|
|
|
|
; title or file select screen ?
|
|
|
|
; title or file select screen ?
|
|
|
|
LDA $10 : AND #$00FF : CMP #$0002 : BCS .outin_check
|
|
|
|
LDA $10 : AND #$00FF : CMP #$0002 : BCS .outin_check
|
|
|
|
LDA.l !pal_color
|
|
|
|
LDA.l !SubPalColor
|
|
|
|
STA.l PalBuf300_HUD, X
|
|
|
|
STA.l PalBuf300_HUD, X
|
|
|
|
RTL
|
|
|
|
RTL
|
|
|
|
.outin_check
|
|
|
|
.outin_check
|
|
|
|
@@ -339,13 +339,13 @@ LoadDayNightPaletteEffect:
|
|
|
|
CMP.w #$0012 : BCS .restorecode
|
|
|
|
CMP.w #$0012 : BCS .restorecode
|
|
|
|
BRA .overworld
|
|
|
|
BRA .overworld
|
|
|
|
.restorecode
|
|
|
|
.restorecode
|
|
|
|
LDA.l !pal_color
|
|
|
|
LDA.l !SubPalColor
|
|
|
|
STA.l PalBuf300_HUD, X
|
|
|
|
STA.l PalBuf300_HUD, X
|
|
|
|
RTL
|
|
|
|
RTL
|
|
|
|
|
|
|
|
|
|
|
|
.overworld
|
|
|
|
.overworld
|
|
|
|
LDA $1B : AND #$00FF : BEQ .outdoors2
|
|
|
|
LDA $1B : AND #$00FF : BEQ .outdoors2
|
|
|
|
LDA.l !pal_color
|
|
|
|
LDA.l !SubPalColor
|
|
|
|
STA.l PalBuf300_HUD,X
|
|
|
|
STA.l PalBuf300_HUD,X
|
|
|
|
RTL
|
|
|
|
RTL
|
|
|
|
.outdoors2
|
|
|
|
.outdoors2
|
|
|
|
@@ -359,42 +359,46 @@ LoadDayNightPaletteEffect:
|
|
|
|
|
|
|
|
|
|
|
|
; =========================================================
|
|
|
|
; =========================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!SmallestBlue = #$0400
|
|
|
|
|
|
|
|
!SmallestGreen = #$0020
|
|
|
|
|
|
|
|
!SmallestRed = #$0001
|
|
|
|
|
|
|
|
|
|
|
|
ColorSubEffect:
|
|
|
|
ColorSubEffect:
|
|
|
|
{
|
|
|
|
{
|
|
|
|
LDA.l Hours : AND #$00FF : CLC : ADC.l Hours ; hours * 2
|
|
|
|
LDA.l Hours : AND #$00FF : CLC : ADC.l Hours ; hours * 2
|
|
|
|
AND #$00FF : TAX
|
|
|
|
AND #$00FF : TAX
|
|
|
|
|
|
|
|
|
|
|
|
; Subtract amount to blue field based on a table
|
|
|
|
; Subtract amount to blue field based on a table
|
|
|
|
LDA.l !pal_color : AND #$7C00 : STA !blue_value
|
|
|
|
LDA.l !SubPalColor : AND #$7C00 : STA !BlueVal
|
|
|
|
SEC : SBC.l .blue, X : STA !temp_value
|
|
|
|
SEC : SBC.l .blue, X : STA !TempPalColor
|
|
|
|
|
|
|
|
|
|
|
|
; mask out everything except the blue bits
|
|
|
|
; mask out everything except the blue bits
|
|
|
|
AND #$7C00 : CMP !temp_value : BEQ .no_blue_sign_change ; overflow ?
|
|
|
|
AND #$7C00 : CMP !TempPalColor : BEQ .no_blue_sign_change ; overflow ?
|
|
|
|
LDA #$0400 ; LDA smallest blue value
|
|
|
|
LDA !SmallestBlue
|
|
|
|
.no_blue_sign_change
|
|
|
|
.no_blue_sign_change
|
|
|
|
STA.l !blue_value
|
|
|
|
STA.l !BlueVal
|
|
|
|
|
|
|
|
|
|
|
|
; Subtract amount to blue field based on a table
|
|
|
|
; Subtract amount to blue field based on a table
|
|
|
|
LDA !pal_color : AND #$03E0 : STA !green_value
|
|
|
|
LDA !SubPalColor : AND #$03E0 : STA !GreenVal
|
|
|
|
SEC : SBC.l .green, X : STA.l !temp_value
|
|
|
|
SEC : SBC.l .green, X : STA.l !TempPalColor
|
|
|
|
|
|
|
|
|
|
|
|
; Mask out everything except the green bits
|
|
|
|
; Mask out everything except the green bits
|
|
|
|
AND #$03E0 : CMP !temp_value : BEQ .no_green_sign_change ; overflow ?
|
|
|
|
AND #$03E0 : CMP !TempPalColor : BEQ .no_green_sign_change ; overflow ?
|
|
|
|
LDA #$0020 ; LDA smallest green value
|
|
|
|
LDA !SmallestGreen
|
|
|
|
.no_green_sign_change
|
|
|
|
.no_green_sign_change
|
|
|
|
STA.l !green_value
|
|
|
|
STA.l !GreenVal
|
|
|
|
|
|
|
|
|
|
|
|
; substract amount to red field based on a table
|
|
|
|
; substract amount to red field based on a table
|
|
|
|
LDA.l !pal_color : AND #$001F : STA.l !red_value
|
|
|
|
LDA.l !SubPalColor : AND #$001F : STA.l !RedVal
|
|
|
|
SEC : SBC.l .red, X : STA.l !temp_value
|
|
|
|
SEC : SBC.l .red, X : STA.l !TempPalColor
|
|
|
|
|
|
|
|
|
|
|
|
; mask out everything except the red bits
|
|
|
|
; mask out everything except the red bits
|
|
|
|
AND #$001F : CMP !temp_value : BEQ .no_red_sign_change ; overflow ?
|
|
|
|
AND #$001F : CMP !TempPalColor : BEQ .no_red_sign_change ; overflow ?
|
|
|
|
LDA #$0001 ; LDA smallest red value
|
|
|
|
LDA !SmallestRed
|
|
|
|
.no_red_sign_change
|
|
|
|
.no_red_sign_change
|
|
|
|
STA.l !red_value
|
|
|
|
STA.l !RedVal
|
|
|
|
|
|
|
|
|
|
|
|
LDA.l !blue_value : ORA.l !green_value : ORA.l !red_value
|
|
|
|
LDA.l !BlueVal : ORA.l !GreenVal : ORA.l !RedVal
|
|
|
|
RTL
|
|
|
|
RTL
|
|
|
|
|
|
|
|
|
|
|
|
; color_sub_tables : 24 * 2 bytes each = 48 bytes
|
|
|
|
; color_sub_tables : 24 * 2 bytes each = 48 bytes
|
|
|
|
@@ -450,7 +454,7 @@ MosaicFix:
|
|
|
|
SubAreasFix:
|
|
|
|
SubAreasFix:
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BEQ .no_effect
|
|
|
|
BEQ .no_effect
|
|
|
|
STA.l !pal_color
|
|
|
|
STA.l !SubPalColor
|
|
|
|
PHX
|
|
|
|
PHX
|
|
|
|
REP #$20
|
|
|
|
REP #$20
|
|
|
|
JSL ColorSubEffect
|
|
|
|
JSL ColorSubEffect
|
|
|
|
@@ -466,9 +470,9 @@ GlovePalettePosition = $7EC4FA
|
|
|
|
|
|
|
|
|
|
|
|
GlovesFix:
|
|
|
|
GlovesFix:
|
|
|
|
{
|
|
|
|
{
|
|
|
|
STA.l !pal_color
|
|
|
|
STA.l !SubPalColor
|
|
|
|
LDA $1B : AND #$00FF : BEQ .outdoors3
|
|
|
|
LDA $1B : AND #$00FF : BEQ .outdoors3
|
|
|
|
LDA.l !pal_color
|
|
|
|
LDA.l !SubPalColor
|
|
|
|
STA GlovePalettePosition
|
|
|
|
STA GlovePalettePosition
|
|
|
|
RTL
|
|
|
|
RTL
|
|
|
|
|
|
|
|
|
|
|
|
@@ -488,7 +492,7 @@ ColorBgFix:
|
|
|
|
LDA.b $10 : CMP.b #$17 : BEQ .vanilla
|
|
|
|
LDA.b $10 : CMP.b #$17 : BEQ .vanilla
|
|
|
|
REP #$30
|
|
|
|
REP #$30
|
|
|
|
PLA
|
|
|
|
PLA
|
|
|
|
STA.l !pal_color
|
|
|
|
STA.l !SubPalColor
|
|
|
|
JSL ColorSubEffect
|
|
|
|
JSL ColorSubEffect
|
|
|
|
STA.l PalCgram500_HUD
|
|
|
|
STA.l PalCgram500_HUD
|
|
|
|
STA.l PalCgram540_BG
|
|
|
|
STA.l PalCgram540_BG
|
|
|
|
@@ -534,7 +538,7 @@ FixShockPalette:
|
|
|
|
PHA
|
|
|
|
PHA
|
|
|
|
LDA.b $1B : BNE .indoors
|
|
|
|
LDA.b $1B : BNE .indoors
|
|
|
|
PLA
|
|
|
|
PLA
|
|
|
|
STA !pal_color
|
|
|
|
STA !SubPalColor
|
|
|
|
PHX
|
|
|
|
PHX
|
|
|
|
JSL ColorSubEffect
|
|
|
|
JSL ColorSubEffect
|
|
|
|
PLX
|
|
|
|
PLX
|
|
|
|
|