Refactor whitening bg

This commit is contained in:
cassidy
2021-04-23 13:59:49 -04:00
parent 452a2db03d
commit 74cb39f666
3 changed files with 83 additions and 36 deletions

View File

@@ -465,6 +465,9 @@ LoadGearPalettes_bunny:
org $02FD95 ; 17D95 - Bank0E.asm: 3742 Note: Different bank
LoadGearPalettes_variable:
org $02FEAB
Filter_Majorly_Whiten_Color:
org $05A51D
Sprite_SpawnFallingItem:

View File

@@ -40,32 +40,70 @@ ConditionalLightning:
RTL
;================================================================================
ConditionalWhitenColor:
PHA
STA $00
AND.w #$001F : ADC.w #$000E
CMP.w #$001F : BCC +
LDA.w #$001F
+
STA $02
LDA $00 : AND.w #$03E0 : ADC.w #$01C0
CMP.w #$03E0 : BCC +
LDA.w #$03E0
+
STA $04
LDA $00 : AND.w #$7C00 : ADC.w #$3800
CMP.w #$7C00 : BCC +
LDA.w #$7C00
+
ORA $02 : ORA $04
PHA
LDA.l DisableFlashing : BNE +
PLA : PLY : PLY
ConditionalWhitenBg:
REP #$20
LDX.b #$00
LDA DisableFlashing : BNE +
LDA $00,X
JSR WhitenLoopReal
RTL
+
PLA : PLA : LDY $0000
RTL
+
LDA $00
JSR WhitenLoopDummy
RTL
;================================================================================
WhitenLoopReal:
-
LDA $7EC340, X : JSL Filter_Majorly_Whiten_Color : STA $7EC540, X
LDA $7EC350, X : JSL Filter_Majorly_Whiten_Color : STA $7EC550, X
LDA $7EC360, X : JSL Filter_Majorly_Whiten_Color : STA $7EC560, X
LDA $7EC370, X : JSL Filter_Majorly_Whiten_Color : STA $7EC570, X
LDA $7EC380, X : JSL Filter_Majorly_Whiten_Color : STA $7EC580, X
LDA $7EC390, X : JSL Filter_Majorly_Whiten_Color : STA $7EC590, X
LDA $7EC3A0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5A0, X
LDA $7EC3B0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5B0, X
LDA $7EC3C0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5C0, X
LDA $7EC3D0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5D0, X
LDA $7EC3E0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5E0, X
LDA $7EC3F0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5F0, X
INX #2 : CPX.b #$10 : BEQ +
JMP -
+
REP #$10
LDA $7EC540 : TAY
LDA $7EC300 : BNE +
TAY
+
TYA : STA $7EC500
SEP #$30
RTS
;================================================================================
WhitenLoopDummy:
-
LDA $7EC340, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC540, X
LDA $7EC350, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC550, X
LDA $7EC360, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC560, X
LDA $7EC370, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC570, X
LDA $7EC380, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC580, X
LDA $7EC390, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC590, X
LDA $7EC3A0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5A0, X
LDA $7EC3B0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5B0, X
LDA $7EC3C0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5C0, X
LDA $7EC3D0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5D0, X
LDA $7EC3E0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5E0, X
LDA $7EC3F0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F0, X
INX #2 : CPX.b #$10 : BEQ +
JMP -
+
REP #$10
LDA $7EC540 : TAY
LDA $7EC300 : BNE +
TAY
+
TYA : STA $7EC500
SEP #$30
RTS
;================================================================================
DDMConditionalLightning:
LDA.l DisableFlashing
@@ -109,17 +147,17 @@ RTL
;================================================================================
ConditionalRedFlash:
REP #$20
LDA.l DisableFlashing : BEQ +
LDA.l DisableFlashing : BNE +
LDA $00,X
LDA.w #$1D59 : LDA $7EC5DA
LDA.w #$25FF : LDA $7EC5DC
LDA.w #$0000
LDA.w #$1D59 : STA $7EC5DA
LDA.w #$25FF : STA $7EC5DC
LDA.w #$001A
RTL
+
LDA $00
LDA.w #$1D59 : STA $7EC5DA
LDA.w #$25FF : STA $7EC5DC
LDA.w #$001A
LDA.w #$1D59 : LDA $7EC5DA
LDA.w #$25FF : LDA $7EC5DC
LDA.w #$0000
RTL

View File

@@ -741,12 +741,18 @@ org $08AAE1 ; <- 42AE1 - ancilla_ether_spell.asm : 28 (LDA $031D : CMP.b #$0B)
JSL.l SetEtherFlicker : NOP
;--------------------------------------------------------------------------------
org $02A3F4 ; <- 123F4 - Bank02.asm : 6222 (LDA.b #$72 : BRA .setBrightness)
BRA + : NOP #2
BRA + : NOP #2 : +
org $02A3FD ; <- 123FD - Bank02.asm : 6233 (LDA.b #$32 : STA $9a)
+ : JSL.l ConditionalLightning
JSL.l ConditionalLightning
;--------------------------------------------------------------------------------
org $02FEAB ; <- 17EAB - Bank0E.asm : 3826 (REP #$20 : LDX.b #$00)
JSL.l ConditionalWhitenColor : RTS
org $1DE9CD ; <- EE9CD - Bank1D.asm : 568 (JSL Filter_Majorly_Whiten_Bg)
JSL.l ConditionalWhitenBg
;--------------------------------------------------------------------------------
org $08AAED ; <- 42AED - ancilla_ether_spell.asm : 35 (JSL Filter_Majorly_Whiten_Bg)
JSL.l ConditionalWhitenBg
;--------------------------------------------------------------------------------
org $02FEE6 ; <- 17EE6 - Bank0E.asm : 3907 (RTS)
RTL ; the whiten color routine is only JSL-ed to
;--------------------------------------------------------------------------------
org $07FA7B ; <- 3FA7B - Bank0E.asm : 4735 (REP #$20 : LDX.b #$02)
JML DDMConditionalLightning