-
Notifications
You must be signed in to change notification settings - Fork 243
Fix crash on Wii VC caused by Fado spawn hack for adult trade shuffle #2345
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
Conversation
rrealmuto
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assuming the original theory on why this crashes in the first place was correct, this new hack looks like it should fix the problem. However I'm concerned that without some additional checks it may inadvertently prevent spawning other kokiri actors.
rrealmuto
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only request would be, in the spirit of improving how we organize the hacks, to move the new fado hacks out into their own file. Otherwise these hacks look good.
|
Is there a preferred filename to move it to? Or put it with the rest of the trade quest hacks in |
|
so my preferred way of organizing hacks is placing them in ASM/hacks/ovl_nameofoverlay.asm and then including that at the bottom of hacks.asm so for this, a new file ASM/hacks/ovl_en_ko.asm |
|
Looking at reorganizing things a bit with #2354 but that name should be good to go along with that |
3a83f43 to
deb0b8d
Compare
|
🥰 |
rrealmuto
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. Also Rebbacus offered a pretty good explanation of the original crash over in the discord.
The previous hack in
EnKo_CanSpawnsaved register$rato temp registert3before jumping to a custom function controlling Fado's spawn behavior. While the N64 and emulators handled this without problems, Wii VC and Dolphin frequently but inconsistently crash with this code. The spawn hacks are revised to move the custom function call to the end ofEnKo_InitafterEnKo_CanSpawnis called, eliminating the need for caching any registers.The crash is difficult to reproduce consistently, but with these changes it hasn't happened through >100 actor spawns using the attached plando. Odd Potion is in the top left chest of Mido's House for easy tests for all of Fado's spawn conditions.
trade-quest-rework-adult-fado.txt
Thanks to RealRob, flagrama, and Retropolis for identifying the possible cause.