diff --git a/doorrando/hudadditions.asm b/doorrando/hudadditions.asm index eb42dc0..1314563 100644 --- a/doorrando/hudadditions.asm +++ b/doorrando/hudadditions.asm @@ -24,10 +24,11 @@ DrHudOverride: DRHUD_DrawItemCounter: ; hides total for mystery seeds + LDA.l ItemCounterHUD : BEQ DRHUD_DrawIndicators LDA.l DRFlags+1 : LSR : BCC DRHUD_DrawIndicators REP #$30 - LDY.w #!HyphenTile : STA.w HUDGoalIndicator+$0A : STA.w HUDGoalIndicator+$0C - STA.w HUDGoalIndicator+$0E : STA.w HUDGoalIndicator+$10 + LDY.w #!HyphenTile : STY.w HUDGoalIndicator+$0A : STY.w HUDGoalIndicator+$0C + STY.w HUDGoalIndicator+$0E : STY.w HUDGoalIndicator+$10 SEP #$30 DRHUD_DrawIndicators: diff --git a/events.asm b/events.asm index 009071f..1a8d899 100644 --- a/events.asm +++ b/events.asm @@ -13,8 +13,8 @@ RTL ;-------------------------------------------------------------------------------- OnDrawHud: JSL.l DrawChallengeTimer ; this has to come before NewDrawHud because the timer overwrites the compass counter - JSL.l DrHudOverride JSL.l NewDrawHud + JSL.l DrHudOverride JSL.l SwapSpriteIfNecessary JSL.l CuccoStorm JSL.l PollService diff --git a/keydrop/standing_items.asm b/keydrop/standing_items.asm index cfe5406..19db1eb 100644 --- a/keydrop/standing_items.asm +++ b/keydrop/standing_items.asm @@ -361,7 +361,7 @@ SetupEnemyDropIndicator: ; compass checks ; does compass for dungeon exist? LSR : TAX : LDA.l ExistsTransfer, X : TAX : LDA.l CompassExists, X : BEQ .skipCompassChecks - ; doe we have the compass + ; do we have the compass ; todo: sewers? LDA.l CompassField : LDX.w $040C : AND.l DungeonMask, X : BEQ .done @@ -519,13 +519,15 @@ RTS ; output - A the correct bitmask FetchBitmaskForSpecialCase: ASL : TAX - LDA.w $040C : BNE + ; could check if we are in a cave here and branch to different function? + LDA.w $040C : BNE + ; here and branch to different function? INC #2 ; move sewers to HC + + CMP.w #$00FF : BNE + ; check if we are in a cave + LDA.l PreviousOverworldDoor : AND.w #$00FF ; use this instead of dungeon id + STA.b $02 - LDA.l UWSpecialFlag, X : AND.w #$00FF CMP.w #$00FF : BNE + ; if the value is FF we are done, use 0 as bitmask LDA.w #$0000 : RTS - + CMP.b $02 : BNE + ; if the value matches the dungeon, use next 2 bytes as bitmasl + + CMP.b $02 : BNE + ; if the value matches the dungeon, use next 2 bytes as bitmask INX : LDA.l UWSpecialFlag, X : RTS + INX #3 : BRA - ; else move to the next row