fix things
This commit is contained in:
36
newitems.asm
36
newitems.asm
@@ -429,7 +429,7 @@ ItemBehavior:
|
||||
.single_arrow
|
||||
LDA.l ArrowMode : BEQ +
|
||||
LDA.l CurrentArrows : INC : STA.l CurrentArrows ; Should be sole write to this address
|
||||
INC.w UpdateHUDFlag ; in retro/rupee bow mode.
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag ; in retro/rupee bow mode.
|
||||
+
|
||||
RTS
|
||||
|
||||
@@ -806,15 +806,15 @@ ResolveLootID:
|
||||
JMP.w .have_item
|
||||
|
||||
.rng_single
|
||||
JSL.l GetRNGItemSingle : STA.w ScratchBufferV+6
|
||||
JSL.l GetRNGItemSingle : STA.l ScratchBufferV+6
|
||||
XBA : JSR.w MarkRNGItemSingle
|
||||
LDA.b #$FF : STA.l RNGLockIn ; clear lock-in
|
||||
LDA.w ScratchBufferV+6 : JMP.w .get_item
|
||||
LDA.l ScratchBufferV+6 : JMP.w .get_item
|
||||
|
||||
.rng_multi
|
||||
JSL.l GetRNGItemMulti : STA.w ScratchBufferV+6
|
||||
JSL.l GetRNGItemMulti : STA.l ScratchBufferV+6
|
||||
LDA.b #$FF : STA.l RNGLockIn ; clear lock-in
|
||||
LDA.w ScratchBufferV+6 : JMP.w .get_item
|
||||
LDA.l ScratchBufferV+6 : JMP.w .get_item
|
||||
|
||||
;--------------------------------------------------------------------------------
|
||||
DungeonItemMasks:
|
||||
@@ -939,32 +939,32 @@ GetRNGItemSingle:
|
||||
CMP.l RNGSingleTableSize : !BGE .single_reroll
|
||||
+++
|
||||
|
||||
STA.w ScratchBufferV ; put our index value here
|
||||
STA.l ScratchBufferV ; put our index value here
|
||||
LDX.b #$00
|
||||
TAY
|
||||
.recheck
|
||||
TYA
|
||||
JSR.w CheckSingleItem : BEQ .single_unused ; already used
|
||||
LDA.w ScratchBufferV : INC ; increment index
|
||||
LDA.l ScratchBufferV : INC ; increment index
|
||||
CMP.l RNGSingleTableSize : BCC +++ : LDA.b #$00 : +++ ; rollover index if needed
|
||||
STA.w ScratchBufferV ; store index
|
||||
STA.l ScratchBufferV ; store index
|
||||
INX : TAY : TXA : CMP.l RNGSingleTableSize : BCC .recheck
|
||||
LDA.b #$5A ; everything is gone, default to null item - MAKE THIS AN OPTION FOR THIS AND THE OTHER ONE
|
||||
BRA .single_done
|
||||
.single_unused
|
||||
LDA.w ScratchBufferV
|
||||
LDA.l ScratchBufferV
|
||||
.single_done
|
||||
TAX : LDA.l RNGSingleItemTable, X
|
||||
XBA : LDA.w ScratchBufferV : STA.l RNGLockIn : XBA
|
||||
XBA : LDA.l ScratchBufferV : STA.l RNGLockIn : XBA
|
||||
PLY
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
CheckSingleItem:
|
||||
LSR #3 : TAX
|
||||
LDA.l RNGItem, X : STA.w ScratchBufferV+2 ; load value to temporary
|
||||
LDA.l RNGItem, X : STA.l ScratchBufferV+2 ; load value to temporary
|
||||
PHX
|
||||
LDA.w ScratchBufferV : AND.b #$07 : TAX ; load 0-7 part into X
|
||||
LDA.w ScratchBufferV+2
|
||||
LDA.l ScratchBufferV : AND.b #$07 : TAX ; load 0-7 part into X
|
||||
LDA.l ScratchBufferV+2
|
||||
---
|
||||
CPX.b #$00 : BEQ +++
|
||||
LSR
|
||||
@@ -976,10 +976,10 @@ CheckSingleItem:
|
||||
RTS
|
||||
;--------------------------------------------------------------------------------
|
||||
MarkRNGItemSingle:
|
||||
LSR #3 : STA.w ScratchBufferV+1 : TAX
|
||||
LSR #3 : STA.l ScratchBufferV+1 : TAX
|
||||
LDA.l RNGItem, X
|
||||
STA.w ScratchBufferV+2
|
||||
LDA.w ScratchBufferV : AND.b #$07 : TAX ; load 0-7 part into X
|
||||
STA.l ScratchBufferV+2
|
||||
LDA.l ScratchBufferV : AND.b #$07 : TAX ; load 0-7 part into X
|
||||
LDA.b #01
|
||||
---
|
||||
CPX.b #$00 : BEQ +++
|
||||
@@ -989,9 +989,9 @@ MarkRNGItemSingle:
|
||||
+++
|
||||
|
||||
PHA
|
||||
LDA.w ScratchBufferV+1 : TAX
|
||||
LDA.l ScratchBufferV+1 : TAX
|
||||
PLA
|
||||
ORA.w ScratchBufferV+2
|
||||
ORA.l ScratchBufferV+2
|
||||
STA.l RNGItem, X
|
||||
RTS
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user