Bugfixes for duping/disappearing item and mutliworld crash
This commit is contained in:
@@ -147,8 +147,8 @@ AddInventory:
|
|||||||
PHA : PHX : PHY : PHP : PHB
|
PHA : PHX : PHY : PHP : PHB
|
||||||
PHK : PLB
|
PHK : PLB
|
||||||
LDA.b #$7E : STA.b Scrap0D
|
LDA.b #$7E : STA.b Scrap0D
|
||||||
LDA.l !MULTIWORLD_ITEM_PLAYER_ID : BNE .countDungeonChecks
|
|
||||||
LDA.l StatsLocked : BNE .done
|
LDA.l StatsLocked : BNE .done
|
||||||
|
LDA.l !MULTIWORLD_ITEM_PLAYER_ID : BNE .countDungeonChecks
|
||||||
REP #$30
|
REP #$30
|
||||||
TYA : AND.w #$00FF : ASL : TAX
|
TYA : AND.w #$00FF : ASL : TAX
|
||||||
SEP #$20
|
SEP #$20
|
||||||
@@ -216,6 +216,7 @@ RTS
|
|||||||
|
|
||||||
DungeonIncrement:
|
DungeonIncrement:
|
||||||
; In: X - Receipt ID << 1
|
; In: X - Receipt ID << 1
|
||||||
|
REP #$10
|
||||||
PHX
|
PHX
|
||||||
LDA.l !MULTIWORLD_RECEIVING_ITEM : BNE .done
|
LDA.l !MULTIWORLD_RECEIVING_ITEM : BNE .done
|
||||||
LDA.w InventoryTable_properties,X : BIT.b #$40 : BEQ +
|
LDA.w InventoryTable_properties,X : BIT.b #$40 : BEQ +
|
||||||
|
|||||||
@@ -585,7 +585,7 @@ ShouldSpawnItem:
|
|||||||
PHX
|
PHX
|
||||||
TAX : LDA.l BitFieldMasks, X : STA $00
|
TAX : LDA.l BitFieldMasks, X : STA $00
|
||||||
PLX ; restore X again
|
PLX ; restore X again
|
||||||
LDA.w SprItemFlags, X : BIT.w #$0001 : BEQ +
|
LDA.w SprItemFlags, X : BIT.w #$0001 : BNE +
|
||||||
TYX : LDA.l SpriteDropData, X : BIT $00 : BEQ .notObtained
|
TYX : LDA.l SpriteDropData, X : BIT $00 : BEQ .notObtained
|
||||||
BRA .obtained
|
BRA .obtained
|
||||||
+ TYX : LDA.l RoomPotData, X : BIT $00 : BEQ .notObtained
|
+ TYX : LDA.l RoomPotData, X : BIT $00 : BEQ .notObtained
|
||||||
@@ -597,7 +597,7 @@ ShouldSpawnItem:
|
|||||||
RTL
|
RTL
|
||||||
|
|
||||||
MarkSRAMForItem:
|
MarkSRAMForItem:
|
||||||
LDA $048E : CMP.b #$87 : BNE + ; check for hera basement cage
|
LDA.b RoomIndex : CMP.b #$87 : BNE + ; check for hera basement cage
|
||||||
CPX #$0A : BNE + ; the hera basement key is always sprite 0x0A
|
CPX #$0A : BNE + ; the hera basement key is always sprite 0x0A
|
||||||
LDA $A8 : AND.b #$03 : CMP.b #$02 : BNE +
|
LDA $A8 : AND.b #$03 : CMP.b #$02 : BNE +
|
||||||
LDA.w $0403 : ORA.w KeyRoomFlagMasks, Y : RTL
|
LDA.w $0403 : ORA.w KeyRoomFlagMasks, Y : RTL
|
||||||
|
|||||||
Reference in New Issue
Block a user