diff --git a/follower.asm b/follower.asm index b1386cc..b33ada0 100644 --- a/follower.asm +++ b/follower.asm @@ -23,7 +23,7 @@ JSL SpritePrep_OldManFollower : NOP #2 : db $F0 ; BEQ org $9DFF18 JSL SpriteDraw_OldManFollower org $9EE9BC -JSL Follower_CheckMessageCollision +JSL OldMan_WaitForCollision org $9EE9CC JSL OldMan_BecomeFollower : NOP #2 @@ -631,6 +631,15 @@ SpriteDraw_OldManFollower: dw 0, 0 : db $AC, $00, $00, $02 dw 0, 8 : db $AE, $00, $00, $02 +OldMan_WaitForCollision: + PHA + LDA.w LinkIFrames : BEQ + + PLA : CLC + RTL + + + PLA + JML Follower_CheckMessageCollision + OldMan_BecomeFollower: LDA.l FollowerTravelAllowed : CMP.b #$02 : BCC .set_follower_and_despawn PLA : PLA diff --git a/ram.asm b/ram.asm index cc98bdc..542eff2 100644 --- a/ram.asm +++ b/ram.asm @@ -231,6 +231,8 @@ CurrentYItem = $7E0303 ; AButtonAct = $7E0308 ; Bitfield for A-actions. $80 = Carry/toss | $02 Prayer | $01 = Tree pull CarryAct = $7E0309 ; Bitfield for carrying. $02 = Tossing | $01 = Lifting ; +LinkIFrames = $7E031F ; Countdown for Link's invincibility frames after taking damage. + ; LinkSwimDirection = $7E0340 ; Bitfield for swim direction. (.... udlr) ; LinkDeepWater = $7E0345 ; Set when Link is in deep water. @@ -856,6 +858,8 @@ endmacro %assertRAM(UseY1, $7E0301) %assertRAM(CurrentYItem, $7E0303) %assertRAM(AButtonAct, $7E0308) +%assertRAM(CarryAct, $7E0309) +%assertRAM(LinkIFrames, $7E031F) %assertRAM(LinkSwimDirection, $7E0340) %assertRAM(LinkDeepWater, $7E0345) %assertRAM(TileActIce, $7E0348)