Fixes for DW Aga 1 / LW Aga 2

This commit is contained in:
Wulfy
2017-06-06 02:17:19 -04:00
parent 9e1ef274ce
commit bd473670d0
3 changed files with 43 additions and 6 deletions

View File

@@ -1,6 +1,33 @@
;================================================================================ ;================================================================================
; Glitched Mode Fixes ; Glitched Mode Fixes
;================================================================================ ;================================================================================
GetAgahnimPalette:
LDA $A0 ; get room id
CMP.b #13 : BNE + ; Agahnim 2 room
LDA.b #$07 ; Use Agahnim 2
RTL
+ ; Elsewhere
LDA.b #$0b ; Use Agahnim 1
RTL
;--------------------------------------------------------------------------------
GetAgahnimDeath:
STA $0BA0, X ; thing we wrote over
LDA $A0 ; get room id
CMP.b #13 : BNE + ; Agahnim 2 room
LDA.l Bugfix_SetWorldOnAgahnimDeath : BEQ ++
LDA.b #$40 : STA !DARK_WORLD ; Switch to dark world
++
LDA.b #$01 ; Use Agahnim 2
RTL
+ ; Elsewhere
LDA.l Bugfix_SetWorldOnAgahnimDeath : BEQ ++
LDA.b #$00 : STA !DARK_WORLD ; Switch to light world
; (This will later get flipped to DW when Agahnim 1
; warps us to the pyramid)
++
LDA.b #$00 ; Use Agahnim 1
RTL
;--------------------------------------------------------------------------------
GetAgahnimType: GetAgahnimType:
LDA $A0 ; get room id LDA $A0 ; get room id
CMP.b #13 : BNE + ; Agahnim 2 room CMP.b #13 : BNE + ; Agahnim 2 room
@@ -11,15 +38,15 @@ GetAgahnimType:
.done .done
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
GetAgahnimPalette: GetAgahnimSlot:
PHX PHX ; thing we wrote over
LDA $A0 ; get room id LDA $A0 ; get room id
CMP.b #13 : BNE + ; Agahnim 2 room CMP.b #13 : BNE + ; Agahnim 2 room
LDA.b #$01 ; Use Agahnim 2 LDA.b #$01 ; Use Agahnim 2
JML.l GetAgahnimPaletteReturn JML.l GetAgahnimSlotReturn
+ ; Elsewhere + ; Elsewhere
LDA.b #$00 ; Use Agahnim 1 LDA.b #$00 ; Use Agahnim 1
JML.l GetAgahnimPaletteReturn JML.l GetAgahnimSlotReturn
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
GetAgahnimLightning: GetAgahnimLightning:
INC $0E30, X ; thing we wrote over INC $0E30, X ; thing we wrote over

View File

@@ -806,13 +806,21 @@ NOP
;================================================================================ ;================================================================================
; Glitched Mode Fixes ; Glitched Mode Fixes
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $0691AC ; <- 311AC - sprite_prep.asm:2453 (LDY $0FFF)
JSL.l GetAgahnimPalette
NOP #2
;--------------------------------------------------------------------------------
org $06F0DD ; <- 370DD - Bank06.asm:5399 (STA $0BA0, X)
JSL.l GetAgahnimDeath
NOP #2
;--------------------------------------------------------------------------------
org $1ED4E6 ; <- F54E6 - sprite_agahnim.asm:314 (LDY $0FFF) org $1ED4E6 ; <- F54E6 - sprite_agahnim.asm:314 (LDY $0FFF)
JSL.l GetAgahnimType JSL.l GetAgahnimType
NOP #2 NOP #2
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $1ED577 ; <- F5577 - sprite_agahnim.asm:418 (PHX) org $1ED577 ; <- F5577 - sprite_agahnim.asm:418 (PHX)
JML.l GetAgahnimPalette JML.l GetAgahnimSlot
GetAgahnimPaletteReturn: GetAgahnimSlotReturn:
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $1ED678 ; <- F5678 - sprite_agahnim.asm:587 (INC $0E30, X) org $1ED678 ; <- F5678 - sprite_agahnim.asm:587 (INC $0E30, X)
NOP #2 NOP #2

View File

@@ -531,6 +531,8 @@ Bugfix_SwampWaterLevel:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default) db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
Bugfix_PreAgaDWDungeonDeathToFakeDW: Bugfix_PreAgaDWDungeonDeathToFakeDW:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default) db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
Bugfix_SetWorldOnAgahnimDeath:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;org $08D01A ; PC 0x4501A - ancilla_flute.asm - 42 ;org $08D01A ; PC 0x4501A - ancilla_flute.asm - 42
;OldHauntedGroveItem: ;OldHauntedGroveItem: