Merged in DR v1.4.1.6

This commit is contained in:
codemann8
2024-02-23 10:57:24 -06:00
235 changed files with 30100 additions and 17937 deletions

View File

@@ -1,127 +1,118 @@
;================================================================================
; Accessibility Fixes
;================================================================================
FlipGreenPendant:
LDA $0C : CMP #$38 : BNE + ; check if we have green pendant
ORA #$40 : STA $0C ; flip it
+
LDA $0D : STA $0802, X ; stuff we wrote over "Set CHR, palette, and priority of the sprite"
LDA $0C : STA $0803, X
RTL
;================================================================================
ConditionalLightning:
CMP.b #$05 : BEQ ++
CMP.b #$2C : BEQ ++
CMP.b #$5A : BEQ ++
LDA.l DisableFlashing : BNE ++
LDA.b #$32 : STA.w $9A
LDA.b #$32 : STA.w CGADSUBQ
RTL
++
LDA.b #$72
STA $9A
STA.b CGADSUBQ
RTL
;================================================================================
ConditionalWhitenBg:
LDX.b #$00
LDA.l DisableFlashing : REP #$20 : BNE +
LDA $00,X
LDA.b Scrap00,X
JSR WhitenLoopReal
RTL
+
LDA $00
LDA.b Scrap00
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.l PaletteBufferAux+$40, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$40, X
LDA.l PaletteBufferAux+$50, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$50, X
LDA.l PaletteBufferAux+$60, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$60, X
LDA.l PaletteBufferAux+$70, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$70, X
LDA.l PaletteBufferAux+$80, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$80, X
LDA.l PaletteBufferAux+$90, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$90, X
LDA.l PaletteBufferAux+$A0, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$A0, X
LDA.l PaletteBufferAux+$B0, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$B0, X
LDA.l PaletteBufferAux+$C0, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$C0, X
LDA.l PaletteBufferAux+$D0, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$D0, X
LDA.l PaletteBufferAux+$E0, X : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$E0, X
INX #2 : CPX.b #$10 : BEQ +
JMP -
+
LDA $7EC3F0 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F0
LDA $7EC3F2 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F2
LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F4
LDA $10 : CMP.w #$07 : BNE +
LDA $048E
CMP.w #$3C : BEQ ++
CMP.w #$9D : BEQ ++
CMP.w #$9C : BEQ ++
CMP.w #$A5 : BEQ ++
LDA.l PaletteBufferAux+$F0 : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$F0
LDA.l PaletteBufferAux+$F2 : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$F2
LDA.l PaletteBufferAux+$F4 : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$F4
LDA.b GameMode : CMP.w #$0007 : BNE +
LDA.b RoomIndex
CMP.w #$003C : BEQ ++
CMP.w #$009D : BEQ ++
CMP.w #$009C : BEQ ++
CMP.w #$00A5 : BEQ ++
+
LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F6
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
LDA.l PaletteBufferAux+$F6 : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$F6
LDA.l PaletteBufferAux+$F8 : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$F8
BRA +++
++
LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F6
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
LDA.l PaletteBuffer+$F6 : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$F6
LDA.l PaletteBuffer+$F8 : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$F8
BRA +++
+++
LDA $7EC3FA : JSL Filter_Majorly_Whiten_Color : STA $7EC5FA
LDA $7EC3FC : JSL Filter_Majorly_Whiten_Color : STA $7EC5FC
LDA $7EC3FE : JSL Filter_Majorly_Whiten_Color : STA $7EC5FE
LDA.l PaletteBufferAux+$FA : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$FA
LDA.l PaletteBufferAux+$FC : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$FC
LDA.l PaletteBufferAux+$FE : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$FE
REP #$10
LDA $7EC540 : TAY
LDA $7EC300 : BNE +
LDA.l PaletteBuffer+$40 : TAY
LDA.l PaletteBufferAux : BNE +
TAY
+
TYA : STA $7EC500
TYA : STA.l PaletteBuffer
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.l PaletteBufferAux+$40, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$40, X
LDA.l PaletteBufferAux+$50, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$50, X
LDA.l PaletteBufferAux+$60, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$60, X
LDA.l PaletteBufferAux+$70, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$70, X
LDA.l PaletteBufferAux+$80, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$80, X
LDA.l PaletteBufferAux+$90, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$90, X
LDA.l PaletteBufferAux+$A0, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$A0, X
LDA.l PaletteBufferAux+$B0, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$B0, X
LDA.l PaletteBufferAux+$C0, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$C0, X
LDA.l PaletteBufferAux+$D0, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$D0, X
LDA.l PaletteBufferAux+$E0, X : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$E0, X
INX #2 : CPX.b #$10 : BEQ +
JMP -
+
LDA $7EC3F0 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F0
LDA $7EC3F2 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F2
LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F4
LDA $10 : CMP.w #$07 : BNE + ; only light invisifloor if we're in dungeon submodule
LDA $048E
CMP.w #$3C : BEQ ++ ; hookshot cave
CMP.w #$9D : BEQ ++ ; gt right
CMP.w #$9C : BEQ ++ ; gt big room
CMP.w #$A5 : BEQ ++ ; wizzrobes 1
LDA.l PaletteBufferAux+$F0 : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$F0
LDA.l PaletteBufferAux+$F2 : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$F2
LDA.l PaletteBufferAux+$F4 : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$F4
LDA.b GameMode : CMP.w #$0007 : BNE + ; only light invisifloor if we're in dungeon submodule
LDA.b RoomIndex
CMP.w #$003C : BEQ ++ ; hookshot cave
CMP.w #$009D : BEQ ++ ; gt right
CMP.w #$009C : BEQ ++ ; gt big room
CMP.w #$00A5 : BEQ ++ ; wizzrobes 1
+
LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F6
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F8
LDA.l PaletteBufferAux+$F6 : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$F6
LDA.l PaletteBufferAux+$F8 : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$F8
BRA +++
++
LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F6
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
LDA.l PaletteBufferAux+$F6 : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$F6
LDA.l PaletteBufferAux+$F8 : JSL Filter_Majorly_Whiten_Color : STA.l PaletteBuffer+$F8
BRA +++
+++
LDA $7EC3FA : JSL Filter_Majorly_Whiten_Color : LDA $7EC5FA
LDA $7EC3FC : JSL Filter_Majorly_Whiten_Color : LDA $7EC5FC
LDA $7EC3FE : JSL Filter_Majorly_Whiten_Color : LDA $7EC5FE
LDA.l PaletteBufferAux+$FA : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$FA
LDA.l PaletteBufferAux+$FC : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$FC
LDA.l PaletteBufferAux+$FE : JSL Filter_Majorly_Whiten_Color : LDA.l PaletteBuffer+$FE
REP #$10
LDA $7EC540 : TAY
LDA $7EC300 : BNE +
LDA.l PaletteBuffer+$40 : TAY
LDA.l PaletteBufferAux : BNE +
TAY
+
TYA : STA $7EC500
TYA : STA.l PaletteBuffer
SEP #$30
RTS
;================================================================================
@@ -129,144 +120,144 @@ RestoreBgEther:
LDX.b #$00
LDA.l DisableFlashing : REP #$20 : BNE +
-
LDA $00,X
LDA $7EC340, X : STA $7EC540, X
LDA $7EC350, X : STA $7EC550, X
LDA $7EC360, X : STA $7EC560, X
LDA $7EC370, X : STA $7EC570, X
LDA $7EC380, X : STA $7EC580, X
LDA $7EC390, X : STA $7EC590, X
LDA $7EC3A0, X : STA $7EC5A0, X
LDA $7EC3B0, X : STA $7EC5B0, X
LDA $7EC3C0, X : STA $7EC5C0, X
LDA $7EC3D0, X : STA $7EC5D0, X
LDA $7EC3E0, X : STA $7EC5E0, X
LDA $7EC3F0, X : STA $7EC5F0, X
LDA.b Scrap00,X
LDA.l PaletteBufferAux+$40, X : STA.l PaletteBuffer+$40, X
LDA.l PaletteBufferAux+$50, X : STA.l PaletteBuffer+$50, X
LDA.l PaletteBufferAux+$60, X : STA.l PaletteBuffer+$60, X
LDA.l PaletteBufferAux+$70, X : STA.l PaletteBuffer+$70, X
LDA.l PaletteBufferAux+$80, X : STA.l PaletteBuffer+$80, X
LDA.l PaletteBufferAux+$90, X : STA.l PaletteBuffer+$90, X
LDA.l PaletteBufferAux+$A0, X : STA.l PaletteBuffer+$A0, X
LDA.l PaletteBufferAux+$B0, X : STA.l PaletteBuffer+$B0, X
LDA.l PaletteBufferAux+$C0, X : STA.l PaletteBuffer+$C0, X
LDA.l PaletteBufferAux+$D0, X : STA.l PaletteBuffer+$D0, X
LDA.l PaletteBufferAux+$E0, X : STA.l PaletteBuffer+$E0, X
LDA.l PaletteBufferAux+$F0, X : STA.l PaletteBuffer+$F0, X
INX #2 : CPX.b #$10 : BNE -
BRA ++
+
-
LDA $00
LDA $7EC340, X : LDA $7EC540, X
LDA $7EC350, X : LDA $7EC550, X
LDA $7EC360, X : LDA $7EC560, X
LDA $7EC370, X : LDA $7EC570, X
LDA $7EC380, X : LDA $7EC580, X
LDA $7EC390, X : LDA $7EC590, X
LDA $7EC3A0, X : LDA $7EC5A0, X
LDA $7EC3B0, X : LDA $7EC5B0, X
LDA $7EC3C0, X : LDA $7EC5C0, X
LDA $7EC3D0, X : LDA $7EC5D0, X
LDA $7EC3E0, X : LDA $7EC5E0, X
LDA $7EC3F0, X : LDA $7EC5F0, X
LDA.b Scrap00
LDA.l PaletteBufferAux+$40, X : LDA.l PaletteBuffer+$40, X
LDA.l PaletteBufferAux+$50, X : LDA.l PaletteBuffer+$50, X
LDA.l PaletteBufferAux+$60, X : LDA.l PaletteBuffer+$60, X
LDA.l PaletteBufferAux+$70, X : LDA.l PaletteBuffer+$70, X
LDA.l PaletteBufferAux+$80, X : LDA.l PaletteBuffer+$80, X
LDA.l PaletteBufferAux+$90, X : LDA.l PaletteBuffer+$90, X
LDA.l PaletteBufferAux+$A0, X : LDA.l PaletteBuffer+$A0, X
LDA.l PaletteBufferAux+$B0, X : LDA.l PaletteBuffer+$B0, X
LDA.l PaletteBufferAux+$C0, X : LDA.l PaletteBuffer+$C0, X
LDA.l PaletteBufferAux+$D0, X : LDA.l PaletteBuffer+$D0, X
LDA.l PaletteBufferAux+$E0, X : LDA.l PaletteBuffer+$E0, X
LDA.l PaletteBufferAux+$F0, X : LDA.l PaletteBuffer+$F0, X
INX #2 : CPX.b #$10 : BNE -
BRA ++
++
JML $02FF51 ; Bank0E.asm : 3936 vanilla restore routine after loop which RTLs
JML Palette_RestoreFixedColor-7 ; Bank0E.asm : 3936 vanilla restore routine after loop which RTLs
;================================================================================
DDMConditionalLightning:
LDA.l DisableFlashing
REP #$20
BNE +
LDA.w $0000
LDA.w Scrap
LDX.b #$02
JML $07FA7F ; Bank0E.asm : 4738 vanilla loop equivalent to below beginning at LDY #$00
JML FlashGanonTowerPalette_next_thunder-2 ; Bank0E.asm : 4738 vanilla loop equivalent to below beginning at LDY #$00
+
LDA.b $00 : LDX.b #$02 : LDY #$00
LDA.b Scrap00 : LDX.b #$02 : LDY.b #$00
-
LDA $F4EB, Y : LDA $7EC560, X
LDA $F4F9, Y : LDA $7EC570, X
LDA $F507, Y : LDA $7EC590, X
LDA $F515, Y : LDA $7EC5E0, X
LDA $F523, Y : LDA $7EC5F0, X
LDA.w $F4EB, Y : LDA.l PaletteBuffer+$60, X
LDA.w $F4F9, Y : LDA.l PaletteBuffer+$70, X
LDA.w $F507, Y : LDA.l PaletteBuffer+$90, X
LDA.w $F515, Y : LDA.l PaletteBuffer+$E0, X
LDA.w $F523, Y : LDA.l PaletteBuffer+$F0, X
INY #2
INX #2 : CPX.b #$10 : BNE -
JML $07FAAC ; Bank0E.asm : 4754 both branches converge here
JML FlashGanonTowerPalette_bright_white ; Bank0E.asm : 4754 both branches converge here
;================================================================================
ConditionalGTFlash:
LDA.l DisableFlashing : REP #$20 : BNE +
LDA $0000
LDA.w Scrap
-
LDA $F9C1, Y : STA $7EC5D0, X
LDA.w $F9C1, Y : STA.l PaletteBuffer+$D0, X
INY #2
INX #2 : CPX.b #$10 : BNE -
RTL
+
LDA $00
LDA.b Scrap00
-
LDA $F9C1, Y : LDA $7EC5D0, X
LDA.w $F9C1, Y : LDA.l PaletteBuffer+$D0, X
INY #2
INX #2 : CPX.b #$10 : BNE -
RTL
;================================================================================
ConditionalRedFlash:
LDA.l DisableFlashing : REP #$20 : BNE +
LDA $00,X
LDA.w #$1D59 : STA $7EC5DA
LDA.w #$25FF : STA $7EC5DC
LDA.b Scrap,X
LDA.w #$1D59 : STA.l PaletteBuffer+$DA
LDA.w #$25FF : STA.l PaletteBuffer+$DC
LDA.w #$001A
RTL
+
LDA $00
LDA.w #$1D59 : LDA $7EC5DA
LDA.w #$25FF : LDA $7EC5DC
LDA.b Scrap00
LDA.w #$1D59 : LDA.l PaletteBuffer+$DA
LDA.w #$25FF : LDA.l PaletteBuffer+$DC
LDA.w #$0000
RTL
;================================================================================
ConditionalPedAncilla:
LDA.l DisableFlashing : REP #$20 : BNE +
LDA $00,X
LDA $00 : STA $04
LDA $02 : STA $06
LDA.b Scrap,X
LDA.b Scrap00 : STA.b Scrap04
LDA.b Scrap02 : STA.b Scrap06
RTL
+
LDA $00
LDA $00 : LDA $04
LDA $02 : LDA $06
LDA.b Scrap
LDA.b Scrap00 : LDA.b Scrap04
LDA.b Scrap02 : LDA.b Scrap06
RTL
;================================================================================
LoadElectroPalette:
REP #$20
LDA.w #$0202 : STA $0C
LDA.w #$0404 : STA $0E
LDA.w #$001B : STA $02
LDA.w #$0202 : STA.b Scrap0C
LDA.w #$0404 : STA.b Scrap0E
LDA.w #$001B : STA.b Scrap02
SEP #$10
LDX $0C : LDA $1BEBB4, X : AND.w #$00FF : ADC #$D630
LDX.b Scrap0C : LDA.l SwordPaletteOffsets, X : AND.w #$00FF : ADC.w #$D630
REP #$10 : LDX.w #$01B2 : LDY.w #$0002
JSR ConditionalLoadGearPalette
SEP #$10
LDX $0D
LDA $1BEBC1, X : AND.w #$00FF : ADC #$D648
LDX.b Scrap0D
LDA.l ShieldPaletteOffsets, X : AND.w #$00FF : ADC.w #$D648
REP #$10 : LDX.w #$01B8 : LDY.w #$0003
JSR ConditionalLoadGearPalette
SEP #$10
LDX $0E
LDA $1BEC06, X : AND.w #$00FF : ASL A : ADC #$D308
LDX.b Scrap0E
LDA.l LinkMailPalettesOffsets, X : AND.w #$00FF : ASL A : ADC.w #$D308
REP #$10 : LDX.w #$01E2 : LDY.w #$000E
JSR ConditionalLoadGearPalette
SEP #$30
INC $15
INC.b NMICGRAM
RTL
;================================================================================
ConditionalLoadGearPalette:
STA $00
STA.b Scrap00
SEP #$20
LDA.l DisableFlashing : REP #$20 : BNE +
LDA $00,X
LDA.b Scrap,X
-
LDA [$00]
STA $7EC500, X
INC $00 : INC $00
LDA.b [Scrap00]
STA.l PaletteBuffer, X
INC.b Scrap00 : INC.b Scrap00
INX #2
DEY
BPL -
RTS
+
LDA $00
LDA.b Scrap
-
LDA [$00]
LDA $7EC500, X
INC $00 : INC $00
LDA.b [Scrap00]
LDA.l PaletteBuffer, X
INC.b Scrap00 : INC.b Scrap00
INX #2
DEY
BPL -
@@ -281,13 +272,13 @@ RestoreElectroPalette:
LDX.w #$01E2 : LDY.w #$000E
JSR FillPaletteBufferFromAux
SEP #$30
INC $15
INC.b NMICGRAM
RTL
;================================================================================
FillPaletteBufferFromAux:
-
LDA $7EC300, X
STA $7EC500, X
LDA.l PaletteBufferAux, X
STA.l PaletteBuffer, X
INX #2
DEY
BPL -