diff --git a/entrances.asm b/entrances.asm index 59c729a..6431555 100644 --- a/entrances.asm +++ b/entrances.asm @@ -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 diff --git a/events.asm b/events.asm index b48819f..009071f 100644 --- a/events.asm +++ b/events.asm @@ -23,7 +23,7 @@ JML.l ReturnFromOnDrawHud OnDungeonEntrance: STA.l PegColor ; thing we wrote over JSL MaybeFlagDungeonTotalsEntrance - INC.w UpdateHUD + INC.w UpdateHUDFlag RTL ;-------------------------------------------------------------------------------- OnDungeonBossExit: @@ -47,7 +47,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 @@ -230,7 +230,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 ;-------------------------------------------------------------------------------- diff --git a/hooks.asm b/hooks.asm index 9627632..6b133f1 100644 --- a/hooks.asm +++ b/hooks.asm @@ -1459,8 +1459,8 @@ 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 : BRA + : NOP : + ;-------------------------------------------------------------------------------- org $87A205 : JSL.l RebuildHUD_update_long org $8AEF62 : JSL.l RebuildHUD_update_long @@ -1475,6 +1475,7 @@ warnpc $8E8000 ;-------------------------------------------------------------------------------- org $8DEDE8 JSL.l DrawHeartPiecesMenu : BRA DrawEquipment_in_a_dungeon +;-------------------------------------------------------------------------------- ;================================================================================ ; 300 Rupee NPC diff --git a/inventory.asm b/inventory.asm index 9f7e3a0..fee8b5f 100644 --- a/inventory.asm +++ b/inventory.asm @@ -372,7 +372,7 @@ Link_ReceiveItem_HUDRefresh: + JSL.l HUD_RefreshIconLong ; thing we wrote over - INC.w UpdateHUD + INC.w UpdateHUDFlag JSL.l PostItemGet RTL ;-------------------------------------------------------------------------------- @@ -387,7 +387,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 ;-------------------------------------------------------------------------------- diff --git a/keydrop/standing_items.asm b/keydrop/standing_items.asm index 6eb1a17..67b8faa 100644 --- a/keydrop/standing_items.asm +++ b/keydrop/standing_items.asm @@ -229,7 +229,7 @@ RevealPotItem: ; Could increment GT Tower Pre Big Key but we aren't showing that stat right now + REP #$10 LDA.l TotalItemCounter : INC : STA.l TotalItemCounter ; Increment Item Total - INC.w UpdateHUD + INC.w UpdateHUDFlag .obtained PLY : PLX @@ -322,7 +322,7 @@ IncrementCountsForSubstitute: ; Could increment GT Tower Pre Big Key but we aren't showing that stat right now + LDA.l TotalItemCounter : INC : STA.l TotalItemCounter ; Increment Item Total - INC.w UpdateHUD + INC.w UpdateHUDFlag .obtained SEP #$30 : PLX RTS @@ -523,7 +523,7 @@ IncrementCountForMinor: ; Could increment GT Tower Pre Big Key but we aren't showing that stat right now + LDA.l TotalItemCounter : INC : STA.l TotalItemCounter ; Increment Item Total - INC.w UpdateHUD + INC.w UpdateHUDFlag .obtained SEP #$30 : PLX RTS diff --git a/newhud.asm b/newhud.asm index 46c3e57..ca67887 100644 --- a/newhud.asm +++ b/newhud.asm @@ -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 @@ -126,7 +126,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 @@ -151,7 +151,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 @@ -201,7 +201,7 @@ NewHUD_DrawPrizeIcon: ;================================================================================ NewHUD_DrawItemCounter: REP #$20 - LDA.w UpdateHUD : BNE .continue + LDA.w UpdateHUDFlag : BNE .continue .early_exit JMP NewHUD_DrawMagicMeter .continue @@ -279,7 +279,7 @@ NewHUD_DrawMagicMeter: ;================================================================================ NewHUD_DoneDrawing: - STZ.w UpdateHUD + STZ.w UpdateHUDFlag PLB RTL diff --git a/newitems.asm b/newitems.asm index 79c832f..15921ec 100644 --- a/newitems.asm +++ b/newitems.asm @@ -424,7 +424,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 diff --git a/pendantcrystalhud.asm b/pendantcrystalhud.asm index 8bfc51c..3a4a4c0 100644 --- a/pendantcrystalhud.asm +++ b/pendantcrystalhud.asm @@ -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 diff --git a/quickswap.asm b/quickswap.asm index f8080d9..5e06faf 100644 --- a/quickswap.asm +++ b/quickswap.asm @@ -10,7 +10,7 @@ QuickSwap: LDA.l QuickSwapFlag : BEQ .done LDA.w ItemCursor : BEQ .done ; Skip everything if we don't have any items - + INC.w UpdateHUDFlag LDY.b #$14 PHX XBA ; restore the stashed value diff --git a/ram.asm b/ram.asm index 31e94ca..02c8bd8 100644 --- a/ram.asm +++ b/ram.asm @@ -405,7 +405,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. ; diff --git a/retro.asm b/retro.asm index 5752b98..c2c178c 100644 --- a/retro.asm +++ b/retro.asm @@ -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 diff --git a/stats.asm b/stats.asm index 106db06..747f5ae 100644 --- a/stats.asm +++ b/stats.asm @@ -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 ;-------------------------------------------------------------------------------- @@ -109,7 +109,7 @@ IncrementSmallKeysNoPrimary: ++ PLP + - INC.w UpdateHUD + INC.w UpdateHUDFlag JSL.l HUD_RebuildLong PLX RTL diff --git a/timer.asm b/timer.asm index 7fef763..e37d3b8 100644 --- a/timer.asm +++ b/timer.asm @@ -179,7 +179,7 @@ CheckOHKO: RTS .change STA.l OHKOCached - INC.w UpdateHUD + INC.w UpdateHUDFlag REP #$20 SEC RTS diff --git a/vanillalabels.asm b/vanillalabels.asm index 295e813..4e53dcf 100644 --- a/vanillalabels.asm +++ b/vanillalabels.asm @@ -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