Minor bug fixes:

- single-entrance teleporting was borked
- glove palettes
- updating HUD on changing item
This commit is contained in:
2024-11-28 02:50:32 -06:00
parent 7a21eaa62a
commit 89cf2e29ff
7 changed files with 45 additions and 28 deletions

View File

@@ -1385,9 +1385,9 @@ ReturnFromOnDrawHud:
SEP #$30
LDX.b #$FF ; vanilla hud code ends with #$FF in X, and it's required for unknown reasons.
org $8DFC37 ; <- 6FC37 - headsup_display.asm : 828 (LDA.w #$28F7)
org $8DFC2B ; <- 6FC37 - headsup_display.asm : 828 (LDA.w #$28F7)
JSL DrawMagicHeader
BRA + : NOP #15 : +
BRA + : NOP #27 : +
;--------------------------------------------------------------------------------
org $81CF67 ; <- CF67 - Bank01.asm : 11625 (STA $7EF36F)
JSL DecrementSmallKeys

View File

@@ -85,6 +85,7 @@ GetItemLevelForHud:
+ RTL
CheckMagicLevel:
PHP : SEP #$30
LDA.w ItemCursor ; load item value
TAX
LDA.l CanReduceMagic, X
@@ -103,6 +104,7 @@ CheckMagicLevel:
LDA.b #$00
.write
STA.l MagicConsumption
PLP
RTL

View File

@@ -652,13 +652,21 @@ RTL
; DrawMagicHeader:
;--------------------------------------------------------------------------------
DrawMagicHeader:
LDA.l MagicConsumption : AND.w #$00FF : CMP.w #$0002 : BEQ .quarterMagic
.halfMagic
LDA.l MagicConsumption : AND.w #$00FF
CMP.w #$0000 : BEQ .normalMagic
CMP.w #$0001 : BEQ .halfMagic
BRA .quarterMagic
.normalMagic
LDA.w #$2850 : STA.l HUDTileMapBuffer+$04
LDA.w #$A856 : STA.l HUDTileMapBuffer+$06
LDA.w #$2852 : STA.l HUDTileMapBuffer+$08
RTL
.halfMagic
LDA.w #$28F7 : STA.l HUDTileMapBuffer+$04
LDA.w #$2851 : STA.l HUDTileMapBuffer+$06
LDA.w #$28FA : STA.l HUDTileMapBuffer+$08
RTL
.quarterMagic
.quarterMagic
LDA.w #$28F7 : STA.l HUDTileMapBuffer+$04
LDA.w #$2800 : STA.l HUDTileMapBuffer+$06
LDA.w #$2801 : STA.l HUDTileMapBuffer+$08

View File

@@ -43,3 +43,9 @@ dw MenuEquipmentIcons_pearl
pullpc
LoadModifiedGloveValue:
LDA.l GloveEquipment : AND.w #$00FF
BEQ .done
DEC
.done
RTL

View File

@@ -168,12 +168,12 @@ LoadRewind:
LDA.w #$FFFF
STA.l RewindRoomId
; PHB
; LDX.w #RewindSRAM
; LDY.w #SaveDataWRAM
; LDA.w #$4FF
; MVN SaveDataWRAM>>16, RewindSRAM>>16
; PLB
PHB
LDX.w #RewindEntranceCache
LDY.w #$C140
LDA.w #$27
MVN $7E, RewindEntranceCache>>16
PLB
PLP
RTS
@@ -270,12 +270,12 @@ SaveRewind:
LDA.b $AA
STA.l Rewind_AA
; PHB
; REP #$30
; LDX #SaveDataWRAM
; LDY #RewindSRAM
; LDA #$4FF
; MVN RewindSRAM>>16, SaveDataWRAM>>16
; PLB
PHB
REP #$30
LDX.w #$C140
LDY.w #RewindEntranceCache
LDA.w #$27
MVN RewindEntranceCache>>16, $7E
PLB
PLP
RTL

View File

@@ -37,8 +37,8 @@ SpriteSwap_Palette_ArmorAndGloves:
SEP #$30
LDA.l SpriteSwapper : BNE .continue
REP #$30
LDA.l GloveEquipment
JSL $9BEE21 ; Read Original Palette Code
JSL.l LoadModifiedGloveValue
JSL $9BEE24 ; Read Original Palette Code
RTL
.continue

View File

@@ -417,7 +417,8 @@ Rewind_A6: skip 1
Rewind_A7: skip 1
Rewind_A9: skip 1
Rewind_AA: skip 1
skip 473
RewindEntranceCache: skip $28
skip 433
;================================================================================
; Direct SRAM Assignments ($700000 - $7080000)