From a8b1fc989e1a6d9b89bd1813dfa4345eaa51eea2 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sun, 21 Sep 2025 13:40:51 -0500 Subject: [PATCH] Fixed pogdor (frogdor at PoD entrance) with Kiki following while exiting at PoD --- follower.asm | 10 ++++++++++ ram.asm | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/follower.asm b/follower.asm index 56d6b25..c7a42b8 100644 --- a/follower.asm +++ b/follower.asm @@ -79,6 +79,8 @@ org $9EE495 JSL Kiki_FollowCheck : BRA + : NOP #12 : + org $9EE4AF JSL Kiki_BecomeFollower : NOP #2 +org $9EE4F7 +JSL Kiki_FixTeleportOnExit org $89A1B2 JSL Kiki_DontScareTheMonke : NOP #3 @@ -834,6 +836,14 @@ Kiki_BecomeFollower: LDA.b #$0A : STA.l FollowerIndicator RTL +Kiki_FixTeleportOnExit: + REP #$30 + LDA.b LinkPosX : STA.w LinkPosXCache + LDA.b LinkPosY : STA.w LinkPosYCache + SEP #$30 + LDA.b #$19 : LDY.b #$01 ; what we wrote over +RTL + ; on return it checks BEQ and if non-zero, kiki get spook Kiki_DontScareTheMonke: LDA.b LinkJumping : BEQ .return diff --git a/ram.asm b/ram.asm index b1ea3b5..5150610 100644 --- a/ram.asm +++ b/ram.asm @@ -441,7 +441,8 @@ SpriteSubPixelZ = $7E0F90 ; CurrentSpriteSlot = $7E0FA0 ; Holds the current sprite/ancilla's index ; FreezeSprites = $7E0FC1 ; "Seems to freeze sprites" - ; +LinkPosXCache = $7E0FC2 ; Cache of Link's coordinates +LinkPosYCache = $7E0FC4 ; - Done at the beginning of Link_Main every frame GfxChrHalfSlotVerify = $7E0FC6 ; Mirrors $0AAA, set to >= $03 when VRAM has temp graphics loaded PrizePackIndexes = $7E0FC7 ; $07 bytes. One for each prize pack. ;