diff --git a/doorrando/hudadditions.asm b/doorrando/hudadditions.asm index f6bca98..9f5acab 100644 --- a/doorrando/hudadditions.asm +++ b/doorrando/hudadditions.asm @@ -169,23 +169,26 @@ DrHudDungeonItemsAdditions: + inx #2 : cpx.w #$001b : bcs ++ : JMP - ++ lda.l HudFlag : and.w #$0020 : bne + : JMP ++ : + - ; map symbols (do I want these) ; note compass symbol is 2c20 - lda.w #$2821 : sta.w $1606 : sta.w $1610 : sta.w $161a : sta.w $1624 + ; map symbols + lda.w #$2821 : sta.w $1606 : sta.w $1610 : sta.w $161a + ; compass symbols + lda.w #$2c20 : sta.w $160a : sta.w $1614 : sta.w $161e : sta.w $16e4 ; blank out a couple thing from old hud - lda.w #$24f5 : sta.w $16e4 : sta.w $1724 - sta.w $160a : sta.w $1614 : sta.w $161e ; blank out sm key indicators + lda.w #$24f5 : sta.w $1624 : sta.w $1724 ldx.w #$0002 - lda.w #$0000 ; start of hud area !ADD.l RowOffsets, x : !ADD.l ColumnOffsets, x : tay lda.l DungeonReminderTable, x : sta.w $1644, y iny #2 lda.w #$24f5 : sta.w $1644, y ; blank out map spot - lda.l MapField : and.l DungeonMask, x : beq + ; must have map + lda.l MapField : ora.l MapCountDisplay : ora.l MapOverlay + and.l DungeonMask, x : beq + ; must have map JSR MapIndicatorShort : STA.w $1644, Y + iny #2 cpx.w #$001a : bne + tya : !ADD.w #$003c : tay - + lda.l CompassField : and.l DungeonMask, x : beq + ; must have compass + + lda.l CompassField : ora.l CompassCountDisplay + and.l DungeonMask, x : beq + ; must have compass phx ; total chest counts LDA.l CompassTotalsWRAM, x : !SUB.l DungeonLocationsChecked, x SEP #$30 : JSR HudHexToDec2DigitCopy : REP #$30 diff --git a/enemizer/kodongo_fixes.asm b/enemizer/kodongo_fixes.asm index b803f94..14041ed 100644 --- a/enemizer/kodongo_fixes.asm +++ b/enemizer/kodongo_fixes.asm @@ -2,8 +2,7 @@ pushpc org $9EC147 JSL NewKodongoCollision -JMP .continue : NOP #2 -.continue +BRA + : NOP #3 : + org $9EC152 Kodongo_SetDirection: @@ -12,8 +11,18 @@ pullpc NewKodongoCollision: LDA.w SpriteMoveDirection, X : INC A : AND.b #$03 : STA.w SpriteMoveDirection, X + JSL Kodongo_InVanillaRoom : BEQ .continue ;If they collide more than 4 times just set direction LDA.w SpriteAuxTable, X : INC A : STA.w SpriteAuxTable, X : CMP.b #$04 : BCC .continue PLA : PLA : PEA.w Kodongo_SetDirection-1 .continue -RTL \ No newline at end of file +RTL + +Kodongo_InVanillaRoom: + LDA.b RoomIndex+1 : BNE .return + LDA.b RoomIndex : CMP.b #$19 : BEQ .return + CMP.b #$27 : BEQ .return + CMP.b #$77 : BEQ .return +.return +RTL +nop #10 \ No newline at end of file diff --git a/follower.asm b/follower.asm index ae6a777..7b4631a 100644 --- a/follower.asm +++ b/follower.asm @@ -4,6 +4,8 @@ org $81EBB6 JSL MaybeSetZeldaCheckpoint org $899FA1 db $FF, $FF, $FF ; disable timed follower messages +org $89A647 +JSL MaybeSkipFollowerTrigger : NOP org $89F544 JSL MaybeDeleteFollowersOnDeath @@ -95,6 +97,14 @@ org $86BDB4 JSL SpriteDraw_LocksmithFollower pullpc +MaybeSkipFollowerTrigger: + LDA.b GameMode : AND.w #$00FF : CMP.w #$0010 : BNE .normal +.no_trigger + INC : RTL +.normal + LDA.w $02F2 : AND.b Scrap06 ; what we wrote over + RTL + MaybeDeleteFollowersOnDeath: LDA.l FollowerTravelAllowed : CMP.b #$02 : BNE .vanilla ; s+q = favor keeping current follower diff --git a/newitems.asm b/newitems.asm index a7d66bd..77df26a 100755 --- a/newitems.asm +++ b/newitems.asm @@ -1210,7 +1210,7 @@ MaybeFlagDungeonTotalsEntrance: LDA.l CompassMode : AND.w #$000F : BEQ .maps ; Skip if we're not showing compass counts JSR FlagCompassCount .maps -; LDA.l MapHUDMode : AND.w #$000F : BEQ .done + LDA.l MapHUDMode : AND.w #$000F LDX.w DungeonID JSR FlagMapCount .done @@ -1225,7 +1225,7 @@ FlagCompassCount: RTS ;-------------------------------------------------------------------------------- FlagMapCount: -; CMP.w #$0002 : BEQ .mapShown + CMP.w #$0002 : BEQ .mapShown LDA.l MapMode : AND.w #$00FF : BEQ .mapShown LDA.l MapField : AND.l DungeonItemMasks, X : BEQ .done ; skip if we don't have map .mapShown