fix things

This commit is contained in:
spannerisms
2024-01-04 06:45:57 -05:00
parent 85581b6813
commit 014b3a719a
18 changed files with 179 additions and 169 deletions

View File

@@ -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
;--------------------------------------------------------------------------------