Change Ruto door drop to Big Octo room only#2576
Conversation
|
I didn't realize the old hack applied to all these doors. What causes it to trigger? I've never noticed Ruto being dropped when going into rooms 1 or 14. |
|
After thinking about it harder, I mean I've tried, but I still can't think of any way that this could dead-end you in glitchless logic? You might be logically expected to throw Ruto at enemies, but in theory if you've been to Big Octo you should have the Boomerang? (I guess non-repeatable access or some crazy trick to get to Big Octo can still get you into trouble.) |
So, with this fix, the check is only run in case of Big Octo platform actor type. I ran around a bit with a visual indicator at the place of the original fix. "jabudoor" means that there is a Jabu actor in the room, i.e. Ruto would have been dropped. https://www.youtube.com/watch?v=x-kSk7u1Vok |
|
I see, I missed the fact that the hack only applies after Big Octo has been visited, thanks for clarifying. |
When Big Octo room visited, make player only drop Ruto when opening a door to Big Octo room. Fixes #2136.
The original fix hooks the init function of the overlay for Jabu-Jabu BG actors, to force player to drop on actor init. It hooked early, so it pretty much affected doors to any room that has a Jabu-Jabu BG actor. It has now been moved to only the case
JABU_OBJECTS_TYPE_BIG_OCTO_PLATFORM.I think this could be done prettier by doing something in
z_door_shutter- check if type isDOORSHUTTER_STYLE_JABU_JABU, which rooms etc, to not let player even try to open the door. If someone wants to try a project.I also edited the function to kill
Demo_Effectsactor slightly which is why I have it in the video link.Disassembly
Matching disassembly for
BgBdanObjects_InithereDecomp code here
Testing
Tested on Ares recent nightly build and Project64 3.0.1.
Looks like this: https://www.youtube.com/watch?v=yuVTWSU08nA