Merge branch '16_bit_collection_rate' of https://github.com/CaitSith2/z3randomizer into InvCountMerge
This commit is contained in:
@@ -8,7 +8,7 @@ DrHudOverride:
|
|||||||
HudAdditions:
|
HudAdditions:
|
||||||
{
|
{
|
||||||
lda.l DRFlags : and #$0008 : beq ++
|
lda.l DRFlags : and #$0008 : beq ++
|
||||||
lda $7EF423 : and #$00ff
|
lda $7EF423
|
||||||
jsr HudHexToDec4DigitCopy
|
jsr HudHexToDec4DigitCopy
|
||||||
LDX.b $05 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+10 ; draw 100's digit
|
LDX.b $05 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+10 ; draw 100's digit
|
||||||
LDX.b $06 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+12 ; draw 10's digit
|
LDX.b $06 : TXA : ORA.w #$2400 : STA !GOAL_DRAW_ADDRESS+12 ; draw 10's digit
|
||||||
|
|||||||
@@ -340,13 +340,19 @@ AddInventory:
|
|||||||
|
|
||||||
LDA !MULTIWORLD_RECEIVING_ITEM : CMP #$01 : BEQ ++
|
LDA !MULTIWORLD_RECEIVING_ITEM : CMP #$01 : BEQ ++
|
||||||
LDA $7EF355 : BNE + ; Check for Boots
|
LDA $7EF355 : BNE + ; Check for Boots
|
||||||
|
REP #$20
|
||||||
LDA $7EF432 : INC : STA $7EF432 ; Increment Pre Boots Counter
|
LDA $7EF432 : INC : STA $7EF432 ; Increment Pre Boots Counter
|
||||||
|
SEP #$20
|
||||||
+
|
+
|
||||||
|
|
||||||
LDA $7EF353 : BNE + ; Check for Mirror
|
LDA $7EF353 : BNE + ; Check for Mirror
|
||||||
LDA $7EF433 : INC : STA $7EF433 ; Increment Pre Mirror Counter
|
REP #$20
|
||||||
|
LDA $7EF468 : INC : STA $7EF468 ; Increment Pre Mirror Counter
|
||||||
|
SEP #$20
|
||||||
+
|
+
|
||||||
|
REP #$20
|
||||||
LDA $7EF423 : INC : STA $7EF423 ; Increment Item Total
|
LDA $7EF423 : INC : STA $7EF423 ; Increment Item Total
|
||||||
|
SEP #$20
|
||||||
++
|
++
|
||||||
|
|
||||||
.itemCounts
|
.itemCounts
|
||||||
@@ -409,6 +415,7 @@ AddInventory:
|
|||||||
BRL .done
|
BRL .done
|
||||||
+ CPY.b #$20 : BNE + ; Crystal
|
+ CPY.b #$20 : BNE + ; Crystal
|
||||||
JSR .incrementCrystal
|
JSR .incrementCrystal
|
||||||
|
JSR .setDungeonCompletion
|
||||||
BRL .done
|
BRL .done
|
||||||
+ CPY.b #$21 : BNE + ; Bug Net
|
+ CPY.b #$21 : BNE + ; Bug Net
|
||||||
JSR .incrementY
|
JSR .incrementY
|
||||||
@@ -451,6 +458,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
|
||||||
BRL .done
|
BRL .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 +
|
||||||
@@ -650,7 +658,7 @@ RTS
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
.incrementMail
|
.incrementMail
|
||||||
LDA $7EF424 : !ADD #$40 : STA $7EF424
|
LDA $7EF46A : !ADD #$40 : STA $7EF46A
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
.incrementKeyLong
|
.incrementKeyLong
|
||||||
@@ -659,9 +667,9 @@ RTL
|
|||||||
|
|
||||||
.incrementKey
|
.incrementKey
|
||||||
PHA : PHX
|
PHA : PHX
|
||||||
LDA $7EF424 : INC : AND #$3F : TAX
|
LDA $7EF46A : INC : AND #$3F : TAX
|
||||||
LDA $7EF424 : AND #$C0 : STA $7EF424
|
LDA $7EF46A : AND #$C0 : STA $7EF46A
|
||||||
TXA : ORA $7EF424 : STA $7EF424
|
TXA : ORA $7EF46A : STA $7EF46A
|
||||||
PLX : PLA
|
PLX : PLA
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
@@ -709,6 +717,33 @@ RTL
|
|||||||
%BottomHalf($7EF426)
|
%BottomHalf($7EF426)
|
||||||
+
|
+
|
||||||
RTS
|
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
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
;================================================================================
|
|
||||||
; Four Digit Rupees
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
Draw4DigitRupees:
|
|
||||||
LDA $1B : AND.w #$00FF : BEQ .outdoors ; skip if outdoors
|
|
||||||
.indoors
|
|
||||||
LDA $A0 : BNE .normal ; skip except for ganon's room
|
|
||||||
;LDA #$246E : STA $7EC712
|
|
||||||
;LDA #$246F : STA $7EC714
|
|
||||||
LDA $7EF423 : AND #$00FF
|
|
||||||
BRA .print
|
|
||||||
.outdoors
|
|
||||||
.normal
|
|
||||||
LDA $7EF362
|
|
||||||
.print
|
|
||||||
JSL.l HexToDec
|
|
||||||
LDA $7F5004 : AND.w #$00FF : ORA.w #$2400 : STA $7EC750
|
|
||||||
LDA $7F5005 : AND.w #$00FF : ORA.w #$2400 : STA $7EC752
|
|
||||||
LDA $7F5006 : AND.w #$00FF : ORA.w #$2400 : STA $7EC754
|
|
||||||
LDA $7F5007 : AND.w #$00FF : ORA.w #$2400 : STA $7EC756
|
|
||||||
RTL
|
|
||||||
;================================================================================
|
|
||||||
44
stats.asm
44
stats.asm
@@ -16,10 +16,6 @@
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; $7EF423 - item counter
|
; $7EF423 - item counter
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; $7EF424 mmkkkkkk
|
|
||||||
; m - mail counter
|
|
||||||
; k - small keys
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
; $7EF425w[2] 1111 2222 3333 4444
|
; $7EF425w[2] 1111 2222 3333 4444
|
||||||
; 1 - lvl 1 sword bosses
|
; 1 - lvl 1 sword bosses
|
||||||
; 2 - lvl 2 sword bosses
|
; 2 - lvl 2 sword bosses
|
||||||
@@ -51,11 +47,9 @@
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; $7EF430w[2] - loop frame counter (high)
|
; $7EF430w[2] - loop frame counter (high)
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; $7EF432 - locations before boots
|
; $7EF432w[2] - locations before boots
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; $7EF433 - locations before mirror
|
; $7EF434-7EF439 - FORMER COMPASS COUNTERS. DO NOT REUSE.
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
; $7EF434-7EF439 - free space
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; $7EF43A - times mirrored outdoors
|
; $7EF43A - times mirrored outdoors
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -114,8 +108,37 @@
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; $7EF466w[2] - mirror timestamp (high)
|
; $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
|
; $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"
|
!LOCK_STATS = "$7EF443"
|
||||||
@@ -324,7 +347,9 @@ RTL
|
|||||||
DecrementItemCounter:
|
DecrementItemCounter:
|
||||||
PHA
|
PHA
|
||||||
LDA !LOCK_STATS : BNE +
|
LDA !LOCK_STATS : BNE +
|
||||||
|
REP #$20
|
||||||
LDA !ITEM_TOTAL : DEC : STA !ITEM_TOTAL
|
LDA !ITEM_TOTAL : DEC : STA !ITEM_TOTAL
|
||||||
|
SEP #$20
|
||||||
+
|
+
|
||||||
PLA
|
PLA
|
||||||
RTL
|
RTL
|
||||||
@@ -385,8 +410,9 @@ IndoorSubtileTransitionCounter:
|
|||||||
STZ $0642
|
STZ $0642
|
||||||
JMP StatTransitionCounter
|
JMP StatTransitionCounter
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
!DUNGEON_PRIZE_COLLECTED = "$7EF46B"
|
||||||
!CHEST_COUNTER = "$7EF442"
|
!CHEST_COUNTER = "$7EF442"
|
||||||
!MAIL_COUNTER = "$7EF424" ; mmkkkkkk
|
!MAIL_COUNTER = "$7EF46A" ; mmkkkkkk
|
||||||
!BOSS_KILLS = "$7F5037"
|
!BOSS_KILLS = "$7F5037"
|
||||||
!SWORD_KILLS_1 = "$7EF425"
|
!SWORD_KILLS_1 = "$7EF425"
|
||||||
!SWORD_KILLS_2 = "$7EF426"
|
!SWORD_KILLS_2 = "$7EF426"
|
||||||
|
|||||||
@@ -16,5 +16,5 @@
|
|||||||
%AddStat($7EF453, 0, 0, 08, 3, !FAERIE_REVIVALS_X, !FAERIE_REVIVALS_Y)
|
%AddStat($7EF453, 0, 0, 08, 3, !FAERIE_REVIVALS_X, !FAERIE_REVIVALS_Y)
|
||||||
%AddStat($7EF444, 1, 8, 32, 4, !TOTAL_MENU_TIME_X, !TOTAL_MENU_TIME_Y)
|
%AddStat($7EF444, 1, 8, 32, 4, !TOTAL_MENU_TIME_X, !TOTAL_MENU_TIME_Y)
|
||||||
%AddStat($7F5038, 1, 0, 32, 4, !TOTAL_LAG_TIME_X, !TOTAL_LAG_TIME_Y)
|
%AddStat($7F5038, 1, 0, 32, 4, !TOTAL_LAG_TIME_X, !TOTAL_LAG_TIME_Y)
|
||||||
%AddStat($7EF423, 0, 0, 08, 3, !COLLECTION_RATE_X, !COLLECTION_RATE_Y)
|
%AddStat($7EF423, 0, 0, 10, 3, !COLLECTION_RATE_X, !COLLECTION_RATE_Y)
|
||||||
%AddStat($7EF43E, 1, 0, 32, 4, !TOTAL_TIME_X, !TOTAL_TIME_Y)
|
%AddStat($7EF43E, 1, 0, 32, 4, !TOTAL_TIME_X, !TOTAL_TIME_Y)
|
||||||
Reference in New Issue
Block a user