OoTRandomizer / OoT-Randomizer

A randomizer for Ocarina of Time.
Other
401 stars 232 forks source link

Bunny Hood + Ice Traps #687

Open r0bd0g opened 5 years ago

r0bd0g commented 5 years ago

白飯@にわか勢 (Rice)Today at 8:54 PM

there's a graphic glitch with ice traps only with bunny hood on where the ice expands in a huge radius. no real effect in gameplay. running retroarch mupen64plus, dev build 4.10.5ish and before. haven't checked if it persists in the latest version

ETR-BTF commented 1 year ago

Can confirm this happens on Wii VC too. My guess is that this is a vanilla bug and you were never intended to get ice trapped as child.

r0bd0g commented 1 year ago

I've always assumed that also, yeah. (I'm pro fixing bugs that are only possible normally b/c of changes introduced by randomizer, like ice traps as child.)

GSKirox commented 1 year ago

Did some tests and this seems to be caused by this : https://github.com/zeldaret/oot/blob/17d683780d3878159959a87a9c4a2683d8781ef2/src/overlays/actors/ovl_player_actor/z_player.c#L11398 This part pushes some matrixes to draw the bunny hood ears.

And the ice effect is called right after Player_DrawGameplay, and uses the previous matrix loaded to draw the ice : https://github.com/zeldaret/oot/blob/17d683780d3878159959a87a9c4a2683d8781ef2/src/overlays/actors/ovl_player_actor/z_player.c#L11539 which is a different one in the bunny hood case.

I confirmed it by switching the 1st portion of code to another mask, and got the same visual bug on the new mask !

But you can't just nop that code since it actually draws things necessary for the bunny hood display, it makes the ears cross all the screen. Which is admittely an even worse visual bug lol.