diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 1806295..b47f391 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -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: diff --git a/accessibility.asm b/accessibility.asm index 992a662..229edc4 100644 --- a/accessibility.asm +++ b/accessibility.asm @@ -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 diff --git a/hooks.asm b/hooks.asm index bc29af5..0e55755 100755 --- a/hooks.asm +++ b/hooks.asm @@ -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