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 org $02FD95 ; 17D95 - Bank0E.asm: 3742 Note: Different bank
LoadGearPalettes_variable: LoadGearPalettes_variable:
org $02FEAB
Filter_Majorly_Whiten_Color:
org $05A51D org $05A51D
Sprite_SpawnFallingItem: Sprite_SpawnFallingItem:

View File

@@ -40,32 +40,70 @@ ConditionalLightning:
RTL RTL
;================================================================================ ;================================================================================
ConditionalWhitenColor: ConditionalWhitenBg:
PHA REP #$20
STA $00 LDX.b #$00
AND.w #$001F : ADC.w #$000E LDA DisableFlashing : BNE +
CMP.w #$001F : BCC + LDA $00,X
LDA.w #$001F JSR WhitenLoopReal
+
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
RTL RTL
+ +
PLA : PLA : LDY $0000 LDA $00
JSR WhitenLoopDummy
RTL 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: DDMConditionalLightning:
LDA.l DisableFlashing LDA.l DisableFlashing
@@ -109,17 +147,17 @@ RTL
;================================================================================ ;================================================================================
ConditionalRedFlash: ConditionalRedFlash:
REP #$20 REP #$20
LDA.l DisableFlashing : BEQ + LDA.l DisableFlashing : BNE +
LDA $00,X LDA $00,X
LDA.w #$1D59 : LDA $7EC5DA LDA.w #$1D59 : STA $7EC5DA
LDA.w #$25FF : LDA $7EC5DC LDA.w #$25FF : STA $7EC5DC
LDA.w #$0000 LDA.w #$001A
RTL RTL
+ +
LDA $00 LDA $00
LDA.w #$1D59 : STA $7EC5DA LDA.w #$1D59 : LDA $7EC5DA
LDA.w #$25FF : STA $7EC5DC LDA.w #$25FF : LDA $7EC5DC
LDA.w #$001A LDA.w #$0000
RTL RTL

View File

@@ -741,12 +741,18 @@ org $08AAE1 ; <- 42AE1 - ancilla_ether_spell.asm : 28 (LDA $031D : CMP.b #$0B)
JSL.l SetEtherFlicker : NOP JSL.l SetEtherFlicker : NOP
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $02A3F4 ; <- 123F4 - Bank02.asm : 6222 (LDA.b #$72 : BRA .setBrightness) 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) 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) org $1DE9CD ; <- EE9CD - Bank1D.asm : 568 (JSL Filter_Majorly_Whiten_Bg)
JSL.l ConditionalWhitenColor : RTS 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) org $07FA7B ; <- 3FA7B - Bank0E.asm : 4735 (REP #$20 : LDX.b #$02)
JML DDMConditionalLightning JML DDMConditionalLightning