Merge branch '16_bit_collection_rate' of https://github.com/CaitSith2/z3randomizer into InventoryCountMerge

This commit is contained in:
aerinon
2021-02-12 20:45:59 -07:00
2 changed files with 67 additions and 14 deletions

View File

@@ -350,7 +350,7 @@ AddInventory:
LDA $7EF353 : BNE + ; Check for Mirror
REP #$20
LDA $7EF434 : INC : STA $7EF434 ; Increment Pre Mirror Counter
LDA $7EF468 : INC : STA $7EF468 ; Increment Pre Mirror Counter
SEP #$20
+
REP #$20
@@ -418,6 +418,7 @@ AddInventory:
BRL .done
+ CPY.b #$20 : BNE + ; Crystal
JSR .incrementCrystal
JSR .setDungeonCompletion
BRL .done
+ CPY.b #$21 : BNE + ; Bug Net
JSR .incrementY
@@ -460,6 +461,7 @@ AddInventory:
+ CPY.b #$37 : !BLT + ; Items $37 - $39 - Pendants
CPY.b #$3A : !BGE +
JSR .incrementPendant
JSR .setDungeonCompletion
BRL .done
+ CPY.b #$3A : !BLT + ; Items $3A - $3B - Bow & Silver Arrows
CPY.b #$3C : !BGE +
@@ -659,7 +661,7 @@ RTS
RTS
.incrementMail
LDA $7EF436 : !ADD #$40 : STA $7EF436
LDA $7EF46A : !ADD #$40 : STA $7EF46A
RTS
.incrementKeyLong
@@ -668,9 +670,9 @@ RTL
.incrementKey
PHA : PHX
LDA $7EF436 : INC : AND #$3F : TAX
LDA $7EF436 : AND #$C0 : STA $7EF436
TXA : ORA $7EF436 : STA $7EF436
LDA $7EF46A : INC : AND #$3F : TAX
LDA $7EF46A : AND #$C0 : STA $7EF46A
TXA : ORA $7EF46A : STA $7EF46A
PLX : PLA
RTS
@@ -718,6 +720,33 @@ RTL
%BottomHalf($7EF426)
+
RTS
.setDungeonCompletion
LDA $040C
CMP #$FF : BEQ +
LSR : AND #$0F : CMP #$08 : !BGE ++
JSR .valueShift
ORA $7EF46B : STA $7EF46B
BRA +
++
!SUB #$08
JSR .valueShift
BIT.b #$C0 : BEQ +++ : LDA.b #$C0 : +++ ; Make Hyrule Castle / Sewers Count for Both
ORA $7EF46C : STA $7EF46C
+
RTS
.valueShift
PHX
TAX : LDA.b #$01
-
CPX #$00 : BEQ +
ASL
DEX
BRA -
+
PLX
RTS
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------

View File

@@ -47,15 +47,9 @@
;--------------------------------------------------------------------------------
; $7EF430w[2] - loop frame counter (high)
;--------------------------------------------------------------------------------
; $7EF432 - locations before boots
; $7EF432w[2] - locations before boots
;--------------------------------------------------------------------------------
; $7EF434 - locations before mirror
;--------------------------------------------------------------------------------
; $7EF436 mmkkkkkk
; m - mail counter
; k - small keys
;--------------------------------------------------------------------------------
; $7EF437-7EF439 - free space
; $7EF434-7EF439 - FORMER COMPASS COUNTERS. DO NOT REUSE.
;--------------------------------------------------------------------------------
; $7EF43A - times mirrored outdoors
;--------------------------------------------------------------------------------
@@ -114,8 +108,37 @@
;--------------------------------------------------------------------------------
; $7EF466w[2] - mirror timestamp (high)
;--------------------------------------------------------------------------------
; $7EF468w[2] - locations before mirror
;--------------------------------------------------------------------------------
; $7EF46A mmkkkkkk
; m - mail counter
; k - small keys
;--------------------------------------------------------------------------------
; $7EF46Bw[2] - Dungeon prizes collected by dungeon location.
;--------------------------------------------------------------------------------
; $7EF46D - 7EF49F - Free space
;--------------------------------------------------------------------------------
; $7EF4A0 - 7EF4A7 - Service Request
;--------------------------------------------------------------------------------
; $7EF4A8 - 7EF4AF - Free space
;--------------------------------------------------------------------------------
; $7EF4B0 - 7EF4BF - Absorbed keys, indexed by 040C >> 1
;--------------------------------------------------------------------------------
; $7EF4C0 - 7EF4CF - locations checked, indexed by 040C >> 1
;--------------------------------------------------------------------------------
; $7EF4D0 - 7EF4DA - Multiworld controls
;--------------------------------------------------------------------------------
; $7EF4DB - 7EF4DF - Free space
;--------------------------------------------------------------------------------
; $7EF4E0 - 7EF4EF - Collected Keys, indexed by 040C >> 1
;--------------------------------------------------------------------------------
; $7EF4F0 - Fresh File Marker.
;--------------------------------------------------------------------------------
; $7EF4F1 - 7EF4FD - Free space
;--------------------------------------------------------------------------------
; 7EF4FEw[2] - Save Checksum
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
!LOCK_STATS = "$7EF443"
@@ -387,8 +410,9 @@ IndoorSubtileTransitionCounter:
STZ $0642
JMP StatTransitionCounter
;--------------------------------------------------------------------------------
!DUNGEON_PRIZE_COLLECTED = "$7EF46B"
!CHEST_COUNTER = "$7EF442"
!MAIL_COUNTER = "$7EF436" ; mmkkkkkk
!MAIL_COUNTER = "$7EF46A" ; mmkkkkkk
!BOSS_KILLS = "$7F5037"
!SWORD_KILLS_1 = "$7EF425"
!SWORD_KILLS_2 = "$7EF426"