Fix HUD item icon not refreshing after last bomb spent

Rename UpdateHUD to UpdateHUDFlag, replace with UpdateHUD vanilla JSR
label
This commit is contained in:
cassidoxa
2023-09-07 16:29:45 -04:00
parent 7dc71cf1ac
commit 790f3f0ba3
12 changed files with 32 additions and 22 deletions

View File

@@ -155,7 +155,7 @@ JML.l AllowStartFromExitReturn
STZ.b SubSubModule
STZ.w DeathReloadFlag
STZ.w RespawnFlag
INC.w UpdateHUD
INC.w UpdateHUDFlag
JSL Equipment_SearchForEquippedItemLong
JSL HUD_RebuildLong2

View File

@@ -22,7 +22,7 @@ JML.l ReturnFromOnDrawHud
OnDungeonEntrance:
STA.l PegColor ; thing we wrote over
JSL MaybeFlagDungeonTotalsEntrance
INC.w UpdateHUD
INC.w UpdateHUDFlag
RTL
;--------------------------------------------------------------------------------
OnDungeonBossExit:
@@ -46,7 +46,7 @@ OnDungeonExit:
STA.w DungeonID : STZ.w Map16ChangeIndex ; thing we wrote over
PHA : PHP
INC.w UpdateHUD
INC.w UpdateHUDFlag
JSL.l HUD_RebuildLong
JSL.l FloodGateResetInner
JSL.l SetSilverBowMode
@@ -226,7 +226,7 @@ OnOWTransition:
PHP
SEP #$20 ; set 8-bit accumulator
LDA.b #$FF : STA.l RNGLockIn ; clear lock-in
INC.w UpdateHUD
INC.w UpdateHUDFlag
PLP
RTL
;--------------------------------------------------------------------------------

View File

@@ -1406,8 +1406,7 @@ org $8DFB29 : BRA UpdateHUDBuffer_update_item_check_arrows
;--------------------------------------------------------------------------------
org $8DF1AB : JSR.w RebuildHUD_update
org $8DDFC8 : JSR.w RebuildHUD_update
org $8DDB88 ; Don't rebuild HUD twice on icon refresh
NOP #3 ; Not sure why this is here
org $8DDB85 : JSR.w RebuildHUD_IconExpanded
;--------------------------------------------------------------------------------
org $87A205 : JSL.l RebuildHUD_update_long
org $8AEF62 : JSL.l RebuildHUD_update_long
@@ -1422,6 +1421,15 @@ warnpc $8E8000
;--------------------------------------------------------------------------------
org $8DEDE8
JSL.l DrawHeartPiecesMenu : BRA DrawEquipment_in_a_dungeon
;--------------------------------------------------------------------------------
org $8DAFDD
RebuildHUD_IconExpanded:
JSR.w UpdateHUD
JSR.w RebuildHUD
INC.w UpdateHUDFlag
RTS
warnpc $8DB080
;================================================================================
; 300 Rupee NPC

View File

@@ -365,7 +365,7 @@ Link_ReceiveItem_HUDRefresh:
+
JSL.l HUD_RefreshIconLong ; thing we wrote over
INC.w UpdateHUD
INC.w UpdateHUDFlag
JSL.l PostItemGet
RTL
;--------------------------------------------------------------------------------
@@ -380,7 +380,7 @@ HandleBombAbsorbtion:
LDA.b #$04 : STA.w ItemCursor ; set selected item to bombs
LDA.b #$01 : STA.w CurrentYItem ; set selected item to bombs
JSL.l HUD_RebuildLong
INC.w UpdateHUD
INC.w UpdateHUDFlag
+
RTL
;--------------------------------------------------------------------------------

View File

@@ -65,7 +65,7 @@ NewHUD_DrawArrows:
;================================================================================
NewHUD_DrawGoal:
REP #$20
LDA.w UpdateHUD : BEQ .no_goal
LDA.w UpdateHUDFlag : BEQ .no_goal
LDA.l GoalItemRequirement : BEQ .no_goal
LDA.l GoalItemIcon : STA.w HUDGoalIndicator
@@ -122,7 +122,7 @@ NewHUD_DrawKeys:
;================================================================================
NewHUD_DrawDungeonCounters:
LDA.w UpdateHUD : BEQ NewHUD_DrawPrizeIcon
LDA.w UpdateHUDFlag : BEQ NewHUD_DrawPrizeIcon
LDA.l CompassMode : ORA.l MapHUDMode : BIT.b #$03 : BEQ NewHUD_DrawPrizeIcon
LDX.b IndoorsFlag : BNE +
JMP.w NewHUD_DrawMagicMeter
@@ -147,7 +147,7 @@ NewHUD_DrawPrizeIcon:
LDA.b GameMode
CMP.b #$12 : BEQ .no_prize
CMP.b #$0E : BEQ +
LDA.w UpdateHUD : BEQ NewHUD_DrawItemCounter
LDA.w UpdateHUDFlag : BEQ NewHUD_DrawItemCounter
+
LDA.w DungeonID
CMP.b #$1A : BCS .no_prize
@@ -197,7 +197,7 @@ NewHUD_DrawPrizeIcon:
;================================================================================
NewHUD_DrawItemCounter:
REP #$20
LDA.w UpdateHUD : BEQ NewHUD_DrawMagicMeter
LDA.w UpdateHUDFlag : BEQ NewHUD_DrawMagicMeter
LDA.l ItemCounterHUD : AND.w #$00FF : BEQ NewHUD_DrawMagicMeter
LDA.w #!SlashTile : STA.w HUDGoalIndicator+$08
LDA.l TotalItemCount : CMP.w #1000 : BCS .item_four_digits
@@ -263,7 +263,7 @@ NewHUD_DrawMagicMeter:
;================================================================================
NewHUD_DoneDrawing:
STZ.w UpdateHUD
STZ.w UpdateHUDFlag
PLB
RTL

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 UpdateHUD ; in retro/rupee bow mode.
INC.w UpdateHUDFlag ; in retro/rupee bow mode.
+
RTS

View File

@@ -17,7 +17,7 @@ RTL
;================================================================================
HUDRebuildIndoorHole:
PHA
INC.w UpdateHUD
INC.w UpdateHUDFlag
LDA.l GenericKeys : BEQ .normal
.generic
PLA
@@ -30,7 +30,7 @@ RTL
RTL
;================================================================================
HUDRebuildIndoor:
INC.w UpdateHUD
INC.w UpdateHUDFlag
LDA.l GenericKeys : BEQ .normal
.generic
LDA.b #$00 : STA.l RoomDarkness

View File

@@ -388,7 +388,7 @@ DelayTimer = $7E1CE9 ;
;
TextID = $7E1CF0 ; Message ID and page. Word length.
;
UpdateHUD = $7E1E03 ; Flag used to mark HUD updates and avoid heavy code segments.
UpdateHUDFlag = $7E1E03 ; Flag used to mark HUD updates and avoid heavy code segments.
;
ToastBuffer = $7E1E0E ; Multiworld buffer. Word length.
;

View File

@@ -11,7 +11,7 @@ LoadBombCount16:
.infinite
RTL
StoreBombCount:
INC.w UpdateHUD
INC.w UpdateHUDFlag
PHA : LDA.l InfiniteBombs : BEQ .finite
.infinite
PLA : LDA.b #$01 : RTL

View File

@@ -83,7 +83,7 @@ IncrementSmallKeys:
JSL.l UpdateKeys
PHY : LDY.b #24 : JSL.l AddInventory : PLY
JSL.l HUD_RebuildLong
INC.w UpdateHUD
INC.w UpdateHUDFlag
PLX
RTL
;--------------------------------------------------------------------------------
@@ -106,7 +106,7 @@ IncrementSmallKeysNoPrimary:
++
PLP
+
INC.w UpdateHUD
INC.w UpdateHUDFlag
JSL.l HUD_RebuildLong
PLX
RTL

View File

@@ -179,7 +179,7 @@ CheckOHKO:
RTS
.change
STA.l OHKOCached
INC.w UpdateHUD
INC.w UpdateHUDFlag
REP #$20
SEC
RTS

View File

@@ -108,7 +108,6 @@ Equipment_SearchForEquippedItemLong = $8DE395
HUD_RebuildLong = $8DFA78
HUD_RebuildIndoor_Palace = $8DFA88
HUD_RebuildLong2 = $8DFA88
RebuildHUD_update = $8DFAA5
Messaging_Text = $8EEE10
AfterDeathCounterOutput = $8E8FD
Overworld_TileAttr = $8FFD94
@@ -153,12 +152,15 @@ Ancilla29_MilestoneItemReceipt_skip_crystal_sfx = $88CAE5
Ancilla29_MilestoneItemReceipt_no_sparkle = $88CB2E
Ancilla_SetOAM_XY = $88F6F3
Ancilla_AddAncilla = $899CCE
UpdateHUD = $8DDFA9
DrawProgressIcons = $8DE9C8
ItemMenu_DrawEquippedYItem = $8DEB3A
ItemMenu_DrawEquippedYItem_exit = $8DECE6
ItemMenu_DrawEquipment_dungeonitems = $8DEDCC
DrawEquipment = $8DED29
DrawEquipment_in_a_dungeon = $8DEDFE
RebuildHUD = $8DFA90
RebuildHUD_update = $8DFAA5
UpdateHUDBuffer_update_item_check_arrows = $8DFB41
RenderText_DecompressAndDrawSingle = $8EF4FB
DecompressFontGFX = $8EF572