Add dungeons completed bitfield from door rando
This commit is contained in:
@@ -386,6 +386,7 @@ AddInventory:
|
||||
JMP .done
|
||||
+ CPY.b #$20 : BNE + ; Crystal
|
||||
JSR .incrementCrystal
|
||||
JSR .setDungeonCompletion
|
||||
JMP .done
|
||||
+ CPY.b #$21 : BNE + ; Bug Net
|
||||
JSR .incrementY
|
||||
@@ -431,6 +432,7 @@ AddInventory:
|
||||
+ CPY.b #$37 : !BLT + ; Items $37 - $39 - Pendants
|
||||
CPY.b #$3A : !BGE +
|
||||
JSR .incrementPendant
|
||||
JSR .setDungeonCompletion
|
||||
JMP .done
|
||||
+ CPY.b #$3A : !BLT + ; Items $3A - $3B - Bow & Silver Arrows
|
||||
CPY.b #$3C : !BGE +
|
||||
@@ -677,6 +679,33 @@ RTL
|
||||
%BottomHalf(SwordBossKills+1)
|
||||
+
|
||||
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)
|
||||
MagicCounter: skip 2 ; Magic used by player (16-bit integer)
|
||||
HighestMail: skip 1 ; Highest mail level
|
||||
SmallKeyCounter: skip 1 ; Total Number of small keys collected (integer)
|
||||
HeartPieceCounter: skip 1 ; Total Number of heartpieces collected (integer)
|
||||
CrystalCounter: skip 1 ; Total Number of crystals collected (integer)
|
||||
skip 46 ; Unused
|
||||
SmallKeyCounter: skip 1 ; Total Number of small keys collected (integer)
|
||||
HeartPieceCounter: skip 1 ; Total Number of heartpieces collected (integer)
|
||||
CrystalCounter: skip 1 ; Total Number of crystals collected (integer)
|
||||
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
|
||||
ServiceSequenceTx: ; Service sequence transmit
|
||||
ServiceSequence: skip 8 ; Service request block. See servicerequest.asm
|
||||
@@ -580,6 +582,7 @@ endmacro
|
||||
%assertSRAM(SmallKeyCounter, $7EF46F)
|
||||
%assertSRAM(HeartPieceCounter, $7EF470)
|
||||
%assertSRAM(CrystalCounter, $7EF471)
|
||||
%assertSRAM(DungeonsCompleted, $7EF472)
|
||||
;--------------------------------------------------------------------------------
|
||||
%assertSRAM(ServiceSequence, $7EF4A0)
|
||||
%assertSRAM(ServiceSequenceRx, $7EF4A0)
|
||||
|
||||
Reference in New Issue
Block a user