Skip to content

Don't clear active override after processing incoming Triforce piece #2406

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: Dev
Choose a base branch
from

Conversation

fenhl
Copy link
Collaborator

@fenhl fenhl commented Apr 12, 2025

The code for handling an incoming item from the network distinguishes 3 cases: refills (since #2069), Triforce pieces, and everything else. For Triforce pieces, the code was calling clear_override even though none of the code leading to it calls activate_override — incoming items use the incoming override queue, not the active override. This could cause an item being picked up at the same time to lose its override and act as the “base item” used for it in the item table, usually either a Gerudo mask or a blue rupee.

If I'm right, this fixes #257. I intend to test this using a BizHawk external tool that runs a short TAS to open a chest and injects an incoming item during the right frame for the bug to trigger.

@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 Status: Needs Testing Probably should be tested labels Apr 12, 2025
@fenhl
Copy link
Collaborator Author

fenhl commented Apr 12, 2025

I intend to test this using a BizHawk external tool that runs a short TAS to open a chest and injects an incoming item during the right frame for the bug to trigger.

I was unable to reproduce #257 using this method after scanning a range of timings from 20 frames before to 176 frames after pressing A to open the chest (note that these numbers are in 60fps, not 20fps). Even so, I think this PR has a good chance of fixing it given the evidence. I'll merge it into my branch to test to make sure it doesn't break anything else.

@fenhl
Copy link
Collaborator Author

fenhl commented Apr 20, 2025

Maybe I should try repro with a freestanding item like in the clip.

@fenhl
Copy link
Collaborator Author

fenhl commented Apr 20, 2025

Reviewed by @rrealmuto in voice.

@fenhl fenhl removed the Status: Needs Review Someone should be looking at it label Apr 20, 2025
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 Testing Probably should be tested Type: Bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Got Gerudo Mask instead of item
1 participant