Fixed bonk drops double counting and potentially writing bad values
This commit is contained in:
15
owrando.asm
15
owrando.asm
@@ -604,20 +604,21 @@ OWBonkDrops:
|
|||||||
|
|
||||||
.sprite_transform
|
.sprite_transform
|
||||||
JSL OWBonkSpritePrep
|
JSL OWBonkSpritePrep
|
||||||
|
BRA .mark_collected
|
||||||
|
|
||||||
|
- JMP .return
|
||||||
.mark_collected ; S = Collected, FlagBitmask, X (row + 2)
|
.mark_collected ; S = Collected, FlagBitmask, X (row + 2)
|
||||||
PLA : BNE + ; S = FlagBitmask, X (row + 2)
|
PLA : BNE - ; S = FlagBitmask, X (row + 2)
|
||||||
TYX : JSL Sprite_IsOnscreen : BCC +
|
TYX : JSL Sprite_IsOnscreen : BCC -
|
||||||
LDA.b IndoorsFlag : BEQ ++
|
LDA.b IndoorsFlag : BEQ +
|
||||||
LDA.l RoomDataWRAM[$0120].high : ORA.b 1,S : STA.l RoomDataWRAM[$0120].high
|
LDA.l RoomDataWRAM[$0120].high : ORA.b 1,S : STA.l RoomDataWRAM[$0120].high
|
||||||
LDA.w $0400 : ORA.b 1,S : STA.w $0400
|
LDA.w $0400 : ORA.b 1,S : STA.w $0400
|
||||||
BRA .increment_collection
|
BRA .increment_collection
|
||||||
++
|
+
|
||||||
LDA.b OverworldIndex
|
LDA.b OverworldIndex
|
||||||
BIT.b #$40 : BEQ +
|
BIT.b #$40 : BEQ +
|
||||||
LDA.l ProgressIndicator : CMP.b #$02
|
LDA.l ProgressIndicator : CMP.b #$02
|
||||||
LDA.b OverworldIndex : BCS ++ : AND.b #$BF
|
LDA.b OverworldIndex : BCS + : AND.b #$BF
|
||||||
++
|
|
||||||
+
|
+
|
||||||
TAX : LDA.l OverworldEventDataWRAM,X : ORA.b 1,S : STA.l OverworldEventDataWRAM,X
|
TAX : LDA.l OverworldEventDataWRAM,X : ORA.b 1,S : STA.l OverworldEventDataWRAM,X
|
||||||
|
|
||||||
@@ -626,7 +627,7 @@ OWBonkDrops:
|
|||||||
LDA.l TotalItemCounter : INC : STA.l TotalItemCounter
|
LDA.l TotalItemCounter : INC : STA.l TotalItemCounter
|
||||||
INC.w UpdateHUDFlag
|
INC.w UpdateHUDFlag
|
||||||
SEP #$20
|
SEP #$20
|
||||||
+ BRA .return
|
BRA .return
|
||||||
|
|
||||||
; spawn itemget item
|
; spawn itemget item
|
||||||
.spawn_item ; A = item id ; Y = bonk sprite slot ; S = Collected, FlagBitmask, X (row + 2)
|
.spawn_item ; A = item id ; Y = bonk sprite slot ; S = Collected, FlagBitmask, X (row + 2)
|
||||||
|
|||||||
Reference in New Issue
Block a user