Merged in DR v1.5.2
This commit is contained in:
@@ -80,10 +80,10 @@ DRHUD_DrawKeyCounter:
|
|||||||
.dungeon_id
|
.dungeon_id
|
||||||
TAX
|
TAX
|
||||||
LDA.l GenericKeys : LSR : BCS .total_only
|
LDA.l GenericKeys : LSR : BCS .total_only
|
||||||
LDA.w DungeonAllCollectedKeys-1, X : JSR ConvertToDisplay : STA.w HUDKeysObtained
|
LDA.w DungeonCollectedKeys, X : JSR ConvertToDisplay : STA.w HUDKeysObtained
|
||||||
LDA.w #!SlashTile : STA.w HUDKeysSlash
|
LDA.w #!SlashTile : STA.w HUDKeysSlash
|
||||||
.total_only
|
.total_only
|
||||||
LDA.l TotalKeys, x : JSR ConvertToDisplay : STA.w HUDKeysTotal
|
LDA.l ChestKeys, x : JSR ConvertToDisplay : STA.w HUDKeysTotal
|
||||||
JMP DRHUD_Finished
|
JMP DRHUD_Finished
|
||||||
|
|
||||||
OWRHUD_DrawWorldIndicator:
|
OWRHUD_DrawWorldIndicator:
|
||||||
@@ -264,9 +264,13 @@ ConvertToDisplay2:
|
|||||||
++ lda.w #$2827 : rts ; 0/O for 0 or placeholder digit ;2483
|
++ lda.w #$2827 : rts ; 0/O for 0 or placeholder digit ;2483
|
||||||
|
|
||||||
CountAbsorbedKeys:
|
CountAbsorbedKeys:
|
||||||
|
JML IncrementSmallKeysNoPrimary
|
||||||
|
|
||||||
|
; This function apporach doesn't currently work
|
||||||
|
CountAbsorbedKeysViaCountAllKey:
|
||||||
PHA : PHX
|
PHA : PHX
|
||||||
LDA.l StandingItemsOn : BEQ .count_it
|
LDA.l StandingItemsOn : BEQ .count_it
|
||||||
LDA.w SpawnedItemKeyCounted : BNE .done
|
; LDA.w SpawnedItemKeyCounted : BNE .done ; this was added because pot keys were being double counted when they weren't shuffled
|
||||||
CPY.b #$24 : BEQ .count_it ; small key for this dungeon
|
CPY.b #$24 : BEQ .count_it ; small key for this dungeon
|
||||||
LDA.w DungeonID : LSR : TAX
|
LDA.w DungeonID : LSR : TAX
|
||||||
TYA : CMP.l KeyTable, X : BNE .done
|
TYA : CMP.l KeyTable, X : BNE .done
|
||||||
@@ -276,7 +280,7 @@ CountAbsorbedKeys:
|
|||||||
REP #$10 : JSL CountAllKey : SEP #$10
|
REP #$10 : JSL CountAllKey : SEP #$10
|
||||||
LDY.b Scrap02
|
LDY.b Scrap02
|
||||||
.done
|
.done
|
||||||
STZ.w SpawnedItemKeyCounted ; reset to zero for next time
|
; STZ.w SpawnedItemKeyCounted ; reset to zero for next time
|
||||||
PLX : PLA
|
PLX : PLA
|
||||||
JML IncrementSmallKeysNoPrimary
|
JML IncrementSmallKeysNoPrimary
|
||||||
|
|
||||||
|
|||||||
@@ -220,7 +220,7 @@ DungeonIncrement:
|
|||||||
REP #$10
|
REP #$10
|
||||||
PHX
|
PHX
|
||||||
LDA.w InventoryTable_properties,X : BIT.b #$40 : BEQ +
|
LDA.w InventoryTable_properties,X : BIT.b #$40 : BEQ +
|
||||||
JSL CountAllKey
|
JSL CountChestKeyLong
|
||||||
+
|
+
|
||||||
LDA.l !MULTIWORLD_RECEIVING_ITEM : BNE .done
|
LDA.l !MULTIWORLD_RECEIVING_ITEM : BNE .done
|
||||||
SEP #$10
|
SEP #$10
|
||||||
|
|||||||
@@ -697,7 +697,6 @@ KeyGet:
|
|||||||
LDA.b Scrap00 : CMP.l KeyTable, X : BNE +
|
LDA.b Scrap00 : CMP.l KeyTable, X : BNE +
|
||||||
.countIt
|
.countIt
|
||||||
LDA.l StandingItemCounterMask : AND SpawnedItemFlag : BEQ ++
|
LDA.l StandingItemCounterMask : AND SpawnedItemFlag : BEQ ++
|
||||||
STA.w SpawnedItemKeyCounted
|
|
||||||
JSL AddInventory
|
JSL AddInventory
|
||||||
++ PLX : PLA : RTL
|
++ PLX : PLA : RTL
|
||||||
+ CMP.b #$AF : beq .countIt ; universal key
|
+ CMP.b #$AF : beq .countIt ; universal key
|
||||||
|
|||||||
2
ram.asm
2
ram.asm
@@ -330,7 +330,6 @@ SpawnedItemFlag = $7E0726 ; 0x02 - one for pot, 2 for sprite drop
|
|||||||
SpawnedItemMWPlayer = $7E0728 ; Player Id for spawned item if Multiworld item 0x02
|
SpawnedItemMWPlayer = $7E0728 ; Player Id for spawned item if Multiworld item 0x02
|
||||||
;
|
;
|
||||||
EnemyDropIndicator = $7E072A ; Used by HUD to indicate enemy drops remaining
|
EnemyDropIndicator = $7E072A ; Used by HUD to indicate enemy drops remaining
|
||||||
SpawnedItemKeyCounted = $7E072C ; If set, the spawned item has been counted towards dungeon key total
|
|
||||||
SkipBeeTrapDisguise = $7E072D ; Flag to skip bee trap disguise during draw routine
|
SkipBeeTrapDisguise = $7E072D ; Flag to skip bee trap disguise during draw routine
|
||||||
|
|
||||||
SprDropsItem = $7E0730 ; Array for whether a sprite drops an item 0x16
|
SprDropsItem = $7E0730 ; Array for whether a sprite drops an item 0x16
|
||||||
@@ -915,7 +914,6 @@ endmacro
|
|||||||
%assertRAM(SpawnedItemFlag, $7E0726)
|
%assertRAM(SpawnedItemFlag, $7E0726)
|
||||||
%assertRAM(SpawnedItemMWPlayer, $7E0728)
|
%assertRAM(SpawnedItemMWPlayer, $7E0728)
|
||||||
%assertRAM(EnemyDropIndicator, $7E072A)
|
%assertRAM(EnemyDropIndicator, $7E072A)
|
||||||
%assertRAM(SpawnedItemKeyCounted, $7E072C)
|
|
||||||
%assertRAM(SkipBeeTrapDisguise, $7E072D)
|
%assertRAM(SkipBeeTrapDisguise, $7E072D)
|
||||||
%assertRAM(SprDropsItem, $7E0730)
|
%assertRAM(SprDropsItem, $7E0730)
|
||||||
%assertRAM(SprItemReceipt, $7E0740)
|
%assertRAM(SprItemReceipt, $7E0740)
|
||||||
|
|||||||
34
stats.asm
34
stats.asm
@@ -118,7 +118,41 @@ RTL
|
|||||||
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CountChestKeyLong:
|
||||||
|
PHX : PHP
|
||||||
|
SEP #$30
|
||||||
|
JSR CountChestKey
|
||||||
|
PLP : PLX
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CountChestKey:
|
||||||
|
PHA : PHX
|
||||||
|
LDA.l !MULTIWORLD_ITEM_PLAYER_ID : BNE .done
|
||||||
|
LDA.l StatsLocked : BNE .done
|
||||||
|
CPY.b #$24 : BEQ .this_dungeon
|
||||||
|
TYA
|
||||||
|
AND.b #$0F : CMP.b #$02 : BCC .hc_sewers
|
||||||
|
TAX
|
||||||
|
LDA.l DungeonCollectedKeys,X : INC : STA.l DungeonCollectedKeys,X
|
||||||
|
BRA .done
|
||||||
|
|
||||||
|
.this_dungeon
|
||||||
|
LDA.w DungeonID : CMP.b #$03 : BCC .hc_sewers
|
||||||
|
LSR : TAX
|
||||||
|
LDA.l DungeonCollectedKeys,X : INC : STA.l DungeonCollectedKeys,X
|
||||||
|
BRA .done
|
||||||
|
|
||||||
|
.hc_sewers
|
||||||
|
LDA.l SewerCollectedKeys : INC
|
||||||
|
STA.l SewerCollectedKeys : STA.l HCCollectedKeys
|
||||||
|
|
||||||
|
.done
|
||||||
|
PLX : PLA
|
||||||
|
RTS
|
||||||
|
|
||||||
; Expects 16 bit index mode upon entering. 8-bit Acumulator
|
; Expects 16 bit index mode upon entering. 8-bit Acumulator
|
||||||
|
; This approach doesn't currently work - potentially dead code
|
||||||
CountAllKey:
|
CountAllKey:
|
||||||
PHP : PHA : PHX
|
PHP : PHA : PHX
|
||||||
SEP #$10
|
SEP #$10
|
||||||
|
|||||||
Reference in New Issue
Block a user