diff --git a/hudadditions.asm b/hudadditions.asm index 9b78a0a..94edd3d 100644 --- a/hudadditions.asm +++ b/hudadditions.asm @@ -8,7 +8,7 @@ DrHudOverride: HudAdditions: { lda.l DRFlags : and #$0008 : beq ++ - lda $7EF423 : and #$00ff + lda $7EF423 jsr HudHexToDec4DigitCopy 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 diff --git a/inventory.asm b/inventory.asm index 4214a57..73802f6 100644 --- a/inventory.asm +++ b/inventory.asm @@ -340,13 +340,19 @@ AddInventory: LDA !MULTIWORLD_RECEIVING_ITEM : CMP #$01 : BEQ ++ LDA $7EF355 : BNE + ; Check for Boots + REP #$20 LDA $7EF432 : INC : STA $7EF432 ; Increment Pre Boots Counter + SEP #$20 + 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 + SEP #$20 ++ .itemCounts @@ -409,6 +415,7 @@ AddInventory: BRL .done + CPY.b #$20 : BNE + ; Crystal JSR .incrementCrystal + JSR .setDungeonCompletion BRL .done + CPY.b #$21 : BNE + ; Bug Net JSR .incrementY @@ -451,6 +458,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 + @@ -650,7 +658,7 @@ RTS RTS .incrementMail - LDA $7EF424 : !ADD #$40 : STA $7EF424 + LDA $7EF46A : !ADD #$40 : STA $7EF46A RTS .incrementKeyLong @@ -659,9 +667,9 @@ RTL .incrementKey PHA : PHX - LDA $7EF424 : INC : AND #$3F : TAX - LDA $7EF424 : AND #$C0 : STA $7EF424 - TXA : ORA $7EF424 : STA $7EF424 + LDA $7EF46A : INC : AND #$3F : TAX + LDA $7EF46A : AND #$C0 : STA $7EF46A + TXA : ORA $7EF46A : STA $7EF46A PLX : PLA RTS @@ -709,6 +717,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 ;-------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------- diff --git a/rupeelimit.asm b/rupeelimit.asm deleted file mode 100644 index b17f56b..0000000 --- a/rupeelimit.asm +++ /dev/null @@ -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 -;================================================================================ \ No newline at end of file diff --git a/stats.asm b/stats.asm index b4bf998..e854827 100644 --- a/stats.asm +++ b/stats.asm @@ -16,10 +16,6 @@ ;-------------------------------------------------------------------------------- ; $7EF423 - item counter ;-------------------------------------------------------------------------------- -; $7EF424 mmkkkkkk -; m - mail counter -; k - small keys -;-------------------------------------------------------------------------------- ; $7EF425w[2] 1111 2222 3333 4444 ; 1 - lvl 1 sword bosses ; 2 - lvl 2 sword bosses @@ -51,11 +47,9 @@ ;-------------------------------------------------------------------------------- ; $7EF430w[2] - loop frame counter (high) ;-------------------------------------------------------------------------------- -; $7EF432 - locations before boots +; $7EF432w[2] - locations before boots ;-------------------------------------------------------------------------------- -; $7EF433 - locations before mirror -;-------------------------------------------------------------------------------- -; $7EF434-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" @@ -324,7 +347,9 @@ RTL DecrementItemCounter: PHA LDA !LOCK_STATS : BNE + + REP #$20 LDA !ITEM_TOTAL : DEC : STA !ITEM_TOTAL + SEP #$20 + PLA RTL @@ -385,8 +410,9 @@ IndoorSubtileTransitionCounter: STZ $0642 JMP StatTransitionCounter ;-------------------------------------------------------------------------------- +!DUNGEON_PRIZE_COLLECTED = "$7EF46B" !CHEST_COUNTER = "$7EF442" -!MAIL_COUNTER = "$7EF424" ; mmkkkkkk +!MAIL_COUNTER = "$7EF46A" ; mmkkkkkk !BOSS_KILLS = "$7F5037" !SWORD_KILLS_1 = "$7EF425" !SWORD_KILLS_2 = "$7EF426" diff --git a/stats/statConfig.asm b/stats/statConfig.asm index c2602ae..e928aba 100755 --- a/stats/statConfig.asm +++ b/stats/statConfig.asm @@ -16,5 +16,5 @@ %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($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) \ No newline at end of file