Add dungeons completed bitfield from door rando
This commit is contained in:
@@ -386,6 +386,7 @@ AddInventory:
|
|||||||
JMP .done
|
JMP .done
|
||||||
+ CPY.b #$20 : BNE + ; Crystal
|
+ CPY.b #$20 : BNE + ; Crystal
|
||||||
JSR .incrementCrystal
|
JSR .incrementCrystal
|
||||||
|
JSR .setDungeonCompletion
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CPY.b #$21 : BNE + ; Bug Net
|
+ CPY.b #$21 : BNE + ; Bug Net
|
||||||
JSR .incrementY
|
JSR .incrementY
|
||||||
@@ -431,6 +432,7 @@ AddInventory:
|
|||||||
+ CPY.b #$37 : !BLT + ; Items $37 - $39 - Pendants
|
+ CPY.b #$37 : !BLT + ; Items $37 - $39 - Pendants
|
||||||
CPY.b #$3A : !BGE +
|
CPY.b #$3A : !BGE +
|
||||||
JSR .incrementPendant
|
JSR .incrementPendant
|
||||||
|
JSR .setDungeonCompletion
|
||||||
JMP .done
|
JMP .done
|
||||||
+ CPY.b #$3A : !BLT + ; Items $3A - $3B - Bow & Silver Arrows
|
+ CPY.b #$3A : !BLT + ; Items $3A - $3B - Bow & Silver Arrows
|
||||||
CPY.b #$3C : !BGE +
|
CPY.b #$3C : !BGE +
|
||||||
@@ -677,6 +679,33 @@ RTL
|
|||||||
%BottomHalf(SwordBossKills+1)
|
%BottomHalf(SwordBossKills+1)
|
||||||
+
|
+
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
.setDungeonCompletion
|
||||||
|
LDA $040C
|
||||||
|
CMP #$FF : BEQ +
|
||||||
|
LSR : AND #$0F : CMP #$08 : !BGE ++
|
||||||
|
JSR .valueShift
|
||||||
|
ORA DungeonsCompleted : STA DungeonsCompleted
|
||||||
|
BRA +
|
||||||
|
++
|
||||||
|
!SUB #$08
|
||||||
|
JSR .valueShift
|
||||||
|
BIT.b #$C0 : BEQ +++ : LDA.b #$C0 : +++ ; Make Hyrule Castle / Sewers Count for Both
|
||||||
|
ORA DungeonsCompleted+1 : STA DungeonsCompleted+1
|
||||||
|
+
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.valueShift
|
||||||
|
PHX
|
||||||
|
TAX : LDA.b #$01
|
||||||
|
-
|
||||||
|
CPX #$00 : BEQ +
|
||||||
|
ASL
|
||||||
|
DEX
|
||||||
|
BRA -
|
||||||
|
+
|
||||||
|
PLX
|
||||||
|
RTS
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
11
sram.asm
11
sram.asm
@@ -305,10 +305,12 @@ CapacityUpgrades: skip 1 ; Number of capacity upgrades collected (integer
|
|||||||
DamageCounter: skip 2 ; Damage taken by player (16-bit integer)
|
DamageCounter: skip 2 ; Damage taken by player (16-bit integer)
|
||||||
MagicCounter: skip 2 ; Magic used by player (16-bit integer)
|
MagicCounter: skip 2 ; Magic used by player (16-bit integer)
|
||||||
HighestMail: skip 1 ; Highest mail level
|
HighestMail: skip 1 ; Highest mail level
|
||||||
SmallKeyCounter: skip 1 ; Total Number of small keys collected (integer)
|
SmallKeyCounter: skip 1 ; Total Number of small keys collected (integer)
|
||||||
HeartPieceCounter: skip 1 ; Total Number of heartpieces collected (integer)
|
HeartPieceCounter: skip 1 ; Total Number of heartpieces collected (integer)
|
||||||
CrystalCounter: skip 1 ; Total Number of crystals collected (integer)
|
CrystalCounter: skip 1 ; Total Number of crystals collected (integer)
|
||||||
skip 46 ; Unused
|
DungeonsCompleted: skip 2 ; Bitfield indicating whether a dungeon's prize has been collected.
|
||||||
|
; This has the same shape as the dungeon item bitfields.
|
||||||
|
skip 44 ; Unused
|
||||||
ServiceSequenceRx: ; Service sequence receive
|
ServiceSequenceRx: ; Service sequence receive
|
||||||
ServiceSequenceTx: ; Service sequence transmit
|
ServiceSequenceTx: ; Service sequence transmit
|
||||||
ServiceSequence: skip 8 ; Service request block. See servicerequest.asm
|
ServiceSequence: skip 8 ; Service request block. See servicerequest.asm
|
||||||
@@ -580,6 +582,7 @@ endmacro
|
|||||||
%assertSRAM(SmallKeyCounter, $7EF46F)
|
%assertSRAM(SmallKeyCounter, $7EF46F)
|
||||||
%assertSRAM(HeartPieceCounter, $7EF470)
|
%assertSRAM(HeartPieceCounter, $7EF470)
|
||||||
%assertSRAM(CrystalCounter, $7EF471)
|
%assertSRAM(CrystalCounter, $7EF471)
|
||||||
|
%assertSRAM(DungeonsCompleted, $7EF472)
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
%assertSRAM(ServiceSequence, $7EF4A0)
|
%assertSRAM(ServiceSequence, $7EF4A0)
|
||||||
%assertSRAM(ServiceSequenceRx, $7EF4A0)
|
%assertSRAM(ServiceSequenceRx, $7EF4A0)
|
||||||
|
|||||||
Reference in New Issue
Block a user