60 lines
1.8 KiB
NASM
60 lines
1.8 KiB
NASM
;================================================================================
|
|
; 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:
|
|
LDA $A0 ; get room id
|
|
CMP.b #13 : BNE + ; Agahnim 2 room
|
|
LDA.b #$0006 ; Use Agahnim 2
|
|
BRA .done
|
|
+ ; Elsewhere
|
|
LDA.b #$0001 ; Use Agahnim 1
|
|
.done
|
|
RTL
|
|
;--------------------------------------------------------------------------------
|
|
GetAgahnimSlot:
|
|
PHX ; thing we wrote over
|
|
LDA $A0 ; get room id
|
|
CMP.b #13 : BNE + ; Agahnim 2 room
|
|
LDA.b #$01 ; Use Agahnim 2
|
|
JML.l GetAgahnimSlotReturn
|
|
+ ; Elsewhere
|
|
LDA.b #$00 ; Use Agahnim 1
|
|
JML.l GetAgahnimSlotReturn
|
|
;--------------------------------------------------------------------------------
|
|
GetAgahnimLightning:
|
|
INC $0E30, X ; thing we wrote over
|
|
LDA $A0 ; get room id
|
|
CMP.b #13 : BNE + ; Agahnim 2 room
|
|
LDA.b #$01 ; Use Agahnim 2
|
|
RTL
|
|
+ ; Elsewhere
|
|
LDA.b #$00 ; Use Agahnim 1
|
|
RTL
|
|
;-------------------------------------------------------------------------------- |