Open GT by killing deadrocks
This commit is contained in:
@@ -165,6 +165,7 @@ incsrc zoom_on_carry.asm
|
|||||||
incsrc iframes.asm
|
incsrc iframes.asm
|
||||||
incsrc improve_items.asm
|
incsrc improve_items.asm
|
||||||
incsrc 2waymirror.asm
|
incsrc 2waymirror.asm
|
||||||
|
incsrc deadrocks.asm
|
||||||
warnpc $A58000
|
warnpc $A58000
|
||||||
|
|
||||||
org $A28000
|
org $A28000
|
||||||
|
|||||||
50
deadrocks.asm
Normal file
50
deadrocks.asm
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
pushpc
|
||||||
|
|
||||||
|
org $86EDD1
|
||||||
|
JSL CheckTransform
|
||||||
|
BRA + : NOP : +
|
||||||
|
|
||||||
|
org $86EF9A
|
||||||
|
JSL SpriteDeath
|
||||||
|
NOP
|
||||||
|
|
||||||
|
pullpc
|
||||||
|
|
||||||
|
CheckTransform:
|
||||||
|
CMP.b #$8F
|
||||||
|
BNE .skip
|
||||||
|
|
||||||
|
LDA.w $0E20, X
|
||||||
|
PHA
|
||||||
|
LDA.b #$8F
|
||||||
|
STA.w $0E20, X
|
||||||
|
JSL.l $8DB818
|
||||||
|
|
||||||
|
PLA
|
||||||
|
STA.w $0DE0, X
|
||||||
|
LDA.b #$8F
|
||||||
|
RTL
|
||||||
|
|
||||||
|
.skip
|
||||||
|
STA.w $0E20, X
|
||||||
|
JSL.l $8DB818
|
||||||
|
RTL
|
||||||
|
|
||||||
|
SpriteDeath:
|
||||||
|
LDA.w $0E20, X
|
||||||
|
CMP.b #$8F
|
||||||
|
BNE .done; not blob
|
||||||
|
LDA.w $0DE0, X
|
||||||
|
CMP.b #$27
|
||||||
|
BNE .done; blob that was formerly not a deadrock
|
||||||
|
LDA.l DeadrockCounter
|
||||||
|
CMP.b #$FF
|
||||||
|
BEQ .done ; deadrock counter maxed
|
||||||
|
INC
|
||||||
|
STA.l DeadrockCounter
|
||||||
|
|
||||||
|
.done
|
||||||
|
; what we wrote over
|
||||||
|
LDY.w $0E20, X
|
||||||
|
CPY.b #$1B
|
||||||
|
RTL
|
||||||
3
sram.asm
3
sram.asm
@@ -321,7 +321,8 @@ DungeonsCompleted: skip 2 ; Bitfield indicating whether a dungeon's prize
|
|||||||
; This has the same shape as the dungeon item bitfields.
|
; This has the same shape as the dungeon item bitfields.
|
||||||
MapCountDisplay: skip 2 ;
|
MapCountDisplay: skip 2 ;
|
||||||
CrystalCounter: skip 2 ; Total Number of crystals collected (integer)
|
CrystalCounter: skip 2 ; Total Number of crystals collected (integer)
|
||||||
skip 40 ; Unused
|
DeadrockCounter: skip 2 ; Number of deadrocks killed
|
||||||
|
skip 38 ; Unused
|
||||||
ServiceSequence: ; See servicerequest.asm
|
ServiceSequence: ; See servicerequest.asm
|
||||||
ServiceSequenceRx: skip 8 ; Service sequence receive
|
ServiceSequenceRx: skip 8 ; Service sequence receive
|
||||||
ServiceSequenceTx: skip 8 ; Service sequence transmit
|
ServiceSequenceTx: skip 8 ; Service sequence transmit
|
||||||
|
|||||||
@@ -922,7 +922,7 @@ dw $00D8 ; 216
|
|||||||
|
|
||||||
org $B08198 ; PC 0x180198-0x1801A9
|
org $B08198 ; PC 0x180198-0x1801A9
|
||||||
GanonsTowerOpenAddress: ; 0x180198-0x180199
|
GanonsTowerOpenAddress: ; 0x180198-0x180199
|
||||||
dw CrystalCounter ; Target address for GT open check
|
dw DeadrockCounter ; Target address for GT open check
|
||||||
GanonsTowerOpenTarget: ; 0x18019A-0x18019B
|
GanonsTowerOpenTarget: ; 0x18019A-0x18019B
|
||||||
dw $0007 ; Target amount for GT open modes to compare
|
dw $0007 ; Target amount for GT open modes to compare
|
||||||
GanonsTowerOpenMode: ; 0x18019C-0x18019D
|
GanonsTowerOpenMode: ; 0x18019C-0x18019D
|
||||||
|
|||||||
Reference in New Issue
Block a user