Rewrite to handle electro palette, leave bunny alone
Should fix bunny issues Big thank to kara for report, assistance, and testing
This commit is contained in:
@@ -24,8 +24,7 @@ RTL
|
|||||||
;================================================================================
|
;================================================================================
|
||||||
ConditionalWhitenBg:
|
ConditionalWhitenBg:
|
||||||
LDX.b #$00
|
LDX.b #$00
|
||||||
LDA.l DisableFlashing
|
LDA.l DisableFlashing : REP #$20 : BNE +
|
||||||
REP #$20 : BNE +
|
|
||||||
LDA $00,X
|
LDA $00,X
|
||||||
JSR WhitenLoopReal
|
JSR WhitenLoopReal
|
||||||
RTL
|
RTL
|
||||||
@@ -55,10 +54,10 @@ WhitenLoopReal:
|
|||||||
LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F4
|
LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F4
|
||||||
LDA $10 : CMP.w #$07 : BNE +
|
LDA $10 : CMP.w #$07 : BNE +
|
||||||
LDA $048E
|
LDA $048E
|
||||||
CMP.w #$3C : BEQ ++ ; hookshot cave
|
CMP.w #$3C : BEQ ++
|
||||||
CMP.w #$9D : BEQ ++ ; gt right
|
CMP.w #$9D : BEQ ++
|
||||||
CMP.w #$9C : BEQ ++ ; gt big room
|
CMP.w #$9C : BEQ ++
|
||||||
CMP.w #$A5 : BEQ ++ ; wizzrobes 1
|
CMP.w #$A5 : BEQ ++
|
||||||
+
|
+
|
||||||
LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F6
|
LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F6
|
||||||
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
|
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
|
||||||
@@ -68,7 +67,6 @@ WhitenLoopReal:
|
|||||||
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
|
LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8
|
||||||
BRA +++
|
BRA +++
|
||||||
+++
|
+++
|
||||||
|
|
||||||
LDA $7EC3FA : JSL Filter_Majorly_Whiten_Color : STA $7EC5FA
|
LDA $7EC3FA : JSL Filter_Majorly_Whiten_Color : STA $7EC5FA
|
||||||
LDA $7EC3FC : JSL Filter_Majorly_Whiten_Color : STA $7EC5FC
|
LDA $7EC3FC : JSL Filter_Majorly_Whiten_Color : STA $7EC5FC
|
||||||
LDA $7EC3FE : JSL Filter_Majorly_Whiten_Color : STA $7EC5FE
|
LDA $7EC3FE : JSL Filter_Majorly_Whiten_Color : STA $7EC5FE
|
||||||
@@ -97,7 +95,6 @@ WhitenLoopDummy:
|
|||||||
INX #2 : CPX.b #$10 : BEQ +
|
INX #2 : CPX.b #$10 : BEQ +
|
||||||
JMP -
|
JMP -
|
||||||
+
|
+
|
||||||
|
|
||||||
LDA $7EC3F0 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F0
|
LDA $7EC3F0 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F0
|
||||||
LDA $7EC3F2 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F2
|
LDA $7EC3F2 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F2
|
||||||
LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F4
|
LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F4
|
||||||
@@ -165,7 +162,7 @@ RestoreBgEther:
|
|||||||
INX #2 : CPX.b #$10 : BNE -
|
INX #2 : CPX.b #$10 : BNE -
|
||||||
BRA ++
|
BRA ++
|
||||||
++
|
++
|
||||||
JML $02FF51
|
JML $02FF51
|
||||||
;================================================================================
|
;================================================================================
|
||||||
DDMConditionalLightning:
|
DDMConditionalLightning:
|
||||||
LDA.l DisableFlashing
|
LDA.l DisableFlashing
|
||||||
@@ -184,7 +181,6 @@ DDMConditionalLightning:
|
|||||||
LDA $F523, Y : LDA $7EC5F0, X
|
LDA $F523, Y : LDA $7EC5F0, X
|
||||||
INY #2
|
INY #2
|
||||||
INX #2 : CPX.b #$10 : BNE -
|
INX #2 : CPX.b #$10 : BNE -
|
||||||
|
|
||||||
JML $07FAAC
|
JML $07FAAC
|
||||||
;================================================================================
|
;================================================================================
|
||||||
ConditionalGTFlash:
|
ConditionalGTFlash:
|
||||||
@@ -213,17 +209,15 @@ ConditionalRedFlash:
|
|||||||
LDA.w #$25FF : STA $7EC5DC
|
LDA.w #$25FF : STA $7EC5DC
|
||||||
LDA.w #$001A
|
LDA.w #$001A
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
+
|
+
|
||||||
LDA $00
|
LDA $00
|
||||||
LDA.w #$1D59 : LDA $7EC5DA
|
LDA.w #$1D59 : LDA $7EC5DA
|
||||||
LDA.w #$25FF : LDA $7EC5DC
|
LDA.w #$25FF : LDA $7EC5DC
|
||||||
LDA.w #$0000
|
LDA.w #$0000
|
||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
ConditionalPedAncilla:
|
ConditionalPedAncilla:
|
||||||
LDA.l DisableFlashing
|
LDA.l DisableFlashing : REP #$20 : BNE +
|
||||||
REP #$20 : BNE +
|
|
||||||
LDA $00,X
|
LDA $00,X
|
||||||
LDA $00 : STA $04
|
LDA $00 : STA $04
|
||||||
LDA $02 : STA $06
|
LDA $02 : STA $06
|
||||||
@@ -232,32 +226,74 @@ ConditionalPedAncilla:
|
|||||||
LDA $00
|
LDA $00
|
||||||
LDA $00 : LDA $04
|
LDA $00 : LDA $04
|
||||||
LDA $02 : LDA $06
|
LDA $02 : LDA $06
|
||||||
|
RTL
|
||||||
|
;================================================================================
|
||||||
|
LoadElectroPalette:
|
||||||
|
REP #$20
|
||||||
|
LDA.w #$0202 : STA $0C
|
||||||
|
LDA.w #$0404 : STA $0E
|
||||||
|
LDA.w #$001B : STA $02
|
||||||
|
SEP #$10
|
||||||
|
LDX $0C : LDA $1BEBB4, X : AND.w #$00FF : ADC #$D630
|
||||||
|
REP #$10 : LDX.w #$01B2 : LDY.w #$0002
|
||||||
|
JSR ConditionalLoadGearPalette
|
||||||
|
SEP #$10
|
||||||
|
LDX $0D
|
||||||
|
LDA $1BEBC1, X : AND.w #$00FF : ADC #$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
|
||||||
|
REP #$10
|
||||||
|
LDX.w #$01E2 : LDY.w #$000E
|
||||||
|
JSR ConditionalLoadGearPalette
|
||||||
|
SEP #$30
|
||||||
|
INC $15
|
||||||
RTL
|
RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
ConditionalChangeGearPalette:
|
ConditionalLoadGearPalette:
|
||||||
PHY
|
STA $00
|
||||||
STA $00
|
|
||||||
SEP #$20
|
|
||||||
LDA.l DisableFlashing : REP #$20 : BNE +
|
|
||||||
LDA $00,X
|
|
||||||
-
|
|
||||||
LDA [$00] : STA $7EC300, X : STA $7EC500, X
|
|
||||||
INC $00 : INC $00
|
|
||||||
INX #2
|
|
||||||
DEY : BPL -
|
|
||||||
BRA ++
|
|
||||||
+
|
|
||||||
LDA $00
|
|
||||||
-
|
|
||||||
LDA [$00] : LDA $7EC300, X : LDA $7EC500, X
|
|
||||||
INC $00 : INC $00
|
|
||||||
INX #2
|
|
||||||
DEY : BPL -
|
|
||||||
BRA ++
|
|
||||||
++
|
|
||||||
PLY ; use what was in Y register to determine which p flags to set
|
|
||||||
CPY #$000E : BNE +
|
|
||||||
SEP #$20
|
SEP #$20
|
||||||
+
|
LDA.l DisableFlashing : REP #$20 : BNE +
|
||||||
SEP #$10
|
LDA $00,X
|
||||||
|
-
|
||||||
|
LDA [$00]
|
||||||
|
STA $7EC500, X
|
||||||
|
INC $00 : INC $00
|
||||||
|
INX #2
|
||||||
|
DEY
|
||||||
|
BPL -
|
||||||
|
RTS
|
||||||
|
+
|
||||||
|
LDA $00
|
||||||
|
-
|
||||||
|
LDA [$00]
|
||||||
|
LDA $7EC500, X
|
||||||
|
INC $00 : INC $00
|
||||||
|
INX #2
|
||||||
|
DEY
|
||||||
|
BPL -
|
||||||
|
RTS
|
||||||
|
;================================================================================
|
||||||
|
RestoreElectroPalette:
|
||||||
|
REP #$30
|
||||||
|
LDX.w #$01B2 : LDY.w #$0002
|
||||||
|
JSR FillPaletteBufferFromAux
|
||||||
|
LDX.w #$01B8 : LDY.w #$0003
|
||||||
|
JSR FillPaletteBufferFromAux
|
||||||
|
LDX.w #$01E2 : LDY.w #$000E
|
||||||
|
JSR FillPaletteBufferFromAux
|
||||||
|
SEP #$30
|
||||||
|
INC $15
|
||||||
RTL
|
RTL
|
||||||
|
;================================================================================
|
||||||
|
FillPaletteBufferFromAux:
|
||||||
|
-
|
||||||
|
LDA $7EC300, X
|
||||||
|
STA $7EC500, X
|
||||||
|
INX #2
|
||||||
|
DEY
|
||||||
|
BPL -
|
||||||
|
RTS
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ OnPrepFileSelect:
|
|||||||
OnDrawHud:
|
OnDrawHud:
|
||||||
JSL.l DrawChallengeTimer ; this has to come before NewDrawHud because the timer overwrites the compass counter
|
JSL.l DrawChallengeTimer ; this has to come before NewDrawHud because the timer overwrites the compass counter
|
||||||
JSL.l NewDrawHud
|
JSL.l NewDrawHud
|
||||||
JSL.l SwapSpriteIfNecissary
|
JSL.l SwapSpriteIfNecessary
|
||||||
JSL.l CuccoStorm
|
JSL.l CuccoStorm
|
||||||
JSL.l PollService
|
JSL.l PollService
|
||||||
JML.l ReturnFromOnDrawHud
|
JML.l ReturnFromOnDrawHud
|
||||||
|
|||||||
23
hooks.asm
23
hooks.asm
@@ -737,9 +737,6 @@ dw $0000, $0002, $0004, $0032, $0004, $0006, $0030
|
|||||||
;JSL FlipGreenPendant
|
;JSL FlipGreenPendant
|
||||||
;NOP #6
|
;NOP #6
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $08AAF9 ; -< 42AF9 - ancilla_ether_spell.asm : 46 (JSL Palette_Restore_BG_From_Flash)
|
|
||||||
JSL.l RestoreBgEther
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
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)
|
||||||
@@ -748,6 +745,15 @@ JSL.l ConditionalLightning
|
|||||||
org $1DE9CD ; <- EE9CD - Bank1D.asm : 568 (JSL Filter_Majorly_Whiten_Bg)
|
org $1DE9CD ; <- EE9CD - Bank1D.asm : 568 (JSL Filter_Majorly_Whiten_Bg)
|
||||||
JSL.l ConditionalWhitenBg
|
JSL.l ConditionalWhitenBg
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
org $08AAE9 ; <- 042AE9 - ancilla_ether_spell.asm : 34 (JSL Palette_ElectroThemedGear)
|
||||||
|
JSL.l LoadElectroPalette
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $08AAF5 ; <- 042AF5 - ancilla_ether_spell.asm : 45 (JSL LoadActualGearPalettes)
|
||||||
|
JSL.l RestoreElectroPalette
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $08AAF9 ; -< 42AF9 - ancilla_ether_spell.asm : 46 (JSL Palette_Restore_BG_From_Flash)
|
||||||
|
JSL.l RestoreBgEther
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
org $08AAED ; <- 42AED - ancilla_ether_spell.asm : 35 (JSL Filter_Majorly_Whiten_Bg)
|
org $08AAED ; <- 42AED - ancilla_ether_spell.asm : 35 (JSL Filter_Majorly_Whiten_Bg)
|
||||||
JSL.l ConditionalWhitenBg
|
JSL.l ConditionalWhitenBg
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -766,14 +772,13 @@ JSL.l ConditionalRedFlash : BRA + : NOP #13 : +
|
|||||||
org $08C2A1 ; <- 442A3 - ancilla_sword_ceremony.asm : 54 (REP #$20)
|
org $08C2A1 ; <- 442A3 - ancilla_sword_ceremony.asm : 54 (REP #$20)
|
||||||
JSL.l ConditionalPedAncilla : BRA + : NOP #4 : +
|
JSL.l ConditionalPedAncilla : BRA + : NOP #4 : +
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $02FDB1 ; <- 17DB1 - Bank0E.asm : 3760 (JSL LoadGearPalette)
|
org $079976 ; <- 039976 - Bank07.asm : 4009 (JSL Palette_ElectroThemedGear)
|
||||||
JSL.l ConditionalChangeGearPalette : NOP
|
JSL.l LoadElectroPalette
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $02FDCB ; <- 17DCB - Bank0E.asm : 3775 (JSL LoadGearPalette)
|
org $07997C ; <- 03997C - Bank07.asm : 4015 (JSL LoadActualGearPalettes)
|
||||||
JSL.l ConditionalChangeGearPalette : NOP
|
JSL.l RestoreElectroPalette
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $02FDE6 ; <- 17DE6 - Bank0E.asm : 3789 (JSL LoadGearPalette)
|
|
||||||
JSL.l ConditionalChangeGearPalette : NOP
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Ice Floor Toggle
|
; Ice Floor Toggle
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ RTL
|
|||||||
!BANK_BASE = "#$29"
|
!BANK_BASE = "#$29"
|
||||||
|
|
||||||
org $BF8000
|
org $BF8000
|
||||||
SwapSpriteIfNecissary:
|
SwapSpriteIfNecessary:
|
||||||
PHP
|
PHP
|
||||||
SEP #$20 ; set 8-bit accumulator
|
SEP #$20 ; set 8-bit accumulator
|
||||||
LDA !SPRITE_SWAP : BEQ + : !ADD !BANK_BASE : CMP $BC : BEQ +
|
LDA !SPRITE_SWAP : BEQ + : !ADD !BANK_BASE : CMP $BC : BEQ +
|
||||||
@@ -83,4 +83,4 @@ SpriteSwap_Palette_ArmorAndGloves:
|
|||||||
INC $15
|
INC $15
|
||||||
PLA : PLY : PLX
|
PLA : PLY : PLX
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user