Skip to content

Fix drawing ice encasing when using Bunny Hood/hovering#2555

Merged
fenhl merged 4 commits into
OoTRandomizer:Devfrom
djevangelia:bunnymatrix
May 31, 2026
Merged

Fix drawing ice encasing when using Bunny Hood/hovering#2555
fenhl merged 4 commits into
OoTRandomizer:Devfrom
djevangelia:bunnymatrix

Conversation

@djevangelia

Copy link
Copy Markdown

Call Matrix_Push() and Matrix_Pop() when drawing Bunny Hood ears and Hover Boots hover. Fixes #687.

Bunny Hood ears and Hover Boots hover use the current matrix to do calculations, but do not remove the resulting matrix. Drawing the ice encasing when frozen is done after ears and hover drawing.
Thus, the ice will be drawn using the new modified matrix, which causes it to become very huge.

Matrix_Push() pushes a new copy of the current matrix onto the stack and Matrix_Pop() removes the matrix on top of the stack.
So by calling these functions before and after the matrix calculations, the ear and hover matrices do not disturb the ice drawing.

Testing

Tested in Ares 1.47, Project64 3.0.1 and Mupen64plus 2.8.
Looks like this: https://www.youtube.com/watch?v=12DBQSBTdV0
To test Hover Boots I called this decomp function, which handles damage and hit response and is the function that sets player frozen. hitResponseType 3 is frozen hit.

Address: func_80837C0C = 0x8038E6A8;

extern void func_80837C0C(z64_game_t* play, z64_link_t* this, int32_t hitResponseType, float speed, float yVelocity, int16_t yRot, int32_t invincibilityTimer);

func_80837C0C(&z64_game, &z64_link, 3, 0.0f, 0.0f, 0, 0);

@fenhl fenhl added Component: ASM/C Changes some internals of the ASM/C libraries Status: Needs Review Someone should be looking at it Trivial Affects only spacing, style, and/or comments Type: Bug Something isn't working and removed Trivial Affects only spacing, style, and/or comments labels Apr 18, 2026
@fenhl fenhl added Status: Waiting for Release This PR is ready for merge, but we're holding off on it until after the next release and removed Status: Needs Review Someone should be looking at it labels May 11, 2026
@fenhl fenhl removed the Status: Waiting for Release This PR is ready for merge, but we're holding off on it until after the next release label May 31, 2026
@fenhl fenhl added this to the next milestone May 31, 2026
@fenhl fenhl merged commit dd1da93 into OoTRandomizer:Dev May 31, 2026
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 Type: Bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bunny Hood + Getting Encased in Ice

2 participants