Skip to content

King Zora stop talking bug fix#2587

Open
djevangelia wants to merge 1 commit into
OoTRandomizer:Devfrom
djevangelia:enkztalk
Open

King Zora stop talking bug fix#2587
djevangelia wants to merge 1 commit into
OoTRandomizer:Devfrom
djevangelia:enkztalk

Conversation

@djevangelia

Copy link
Copy Markdown

Prevent King Zora from stopping talking when talking and moving out of range. Fixes #883.

See issue for details. It is conceptually similar to the Goron Link first talk softlock - NPC has become unable to update its talkState.

The updateTalkState and yaw check parts have been moved together into EnKz_UpdateTalking like the PAL 1.0 fix. However, the yaw check has been kept at NTSC 1.0 value 1820.0f instead of changed to 1638.0f. The XZ distance check has also not been added.

Disassembly

EnKz func_80A9CB18 here and EnKz_UpdateTalking here

Testing

Tested in Ares recent nightly build and Project64 3.0.1.
Looks like this: https://www.youtube.com/watch?v=s0GjM6Uk7YU
I tested showing letter on platform corner too, but couldn't get any buggy result on fixed build. Tested talking as adult too.

For testing, a function can be used, or you can stand close to a platform corner (on/left of left platform corner black vertical line is good starting point) and move towards the side edge while pressing A/using trade item.
Function that displaces player X +100.0f when starting talking to KZ:

.org 0x80ad6178     ; in EnKz_UpdateTalking
     jal     EnKz_DebugTalk
     nop

EnKz_DebugTalk:
    lw      t0,7236(s1)     ; player address
    lwc1    $f0,36(t0)      ; pos x
    lui     at,0x42c8
    mtc1    at,$f2          ; 100.0f
    add.s   $f0,$f0,$f2
    swc1    $f0,36(t0)      ; new pos x + 100.0f
    li      t7,1
    jr      ra
    li      v0,1

@fenhl fenhl added Type: Bug Something isn't working Component: ASM/C Changes some internals of the ASM/C libraries Status: Needs Review Someone should be looking at it labels May 27, 2026
@djevangelia

Copy link
Copy Markdown
Author

Tested receiving Eyeball Frog with hold R bug which worked.

Just as information - King Zora has quite a few PAL 1.0 changes that mostly concern trading. So, if there is concern this fix might accidentally introduce any other King Zora version differences, it's important that it is tested before assumed to be present.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: ASM/C Changes some internals of the ASM/C libraries Status: Needs Review Someone should be looking at it Type: Bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Text ID Error on King Zora

2 participants