diff --git a/soh/src/overlays/actors/ovl_player_actor/z_player.c b/soh/src/overlays/actors/ovl_player_actor/z_player.c index d796749a5..4a2d036c3 100644 --- a/soh/src/overlays/actors/ovl_player_actor/z_player.c +++ b/soh/src/overlays/actors/ovl_player_actor/z_player.c @@ -10966,6 +10966,8 @@ void Player_DrawGameplay(GlobalContext* globalCtx, Player* this, s32 lod, Gfx* c this); if ((overrideLimbDraw == func_80090014) && (this->currentMask != PLAYER_MASK_NONE)) { + // Fixes a bug in vanilla where ice traps are rendered extremely large while wearing a bunny hood + if (CVar_GetS32("gFixIceTrapWithBunnyHood", 1)) Matrix_Push(); Mtx* sp70 = Graph_Alloc(globalCtx->state.gfxCtx, 2 * sizeof(Mtx)); if (this->currentMask == PLAYER_MASK_BUNNY) { @@ -10987,6 +10989,7 @@ void Player_DrawGameplay(GlobalContext* globalCtx, Player* this, s32 lod, Gfx* c } gSPDisplayList(POLY_OPA_DISP++, sMaskDlists[this->currentMask - 1]); + if (CVar_GetS32("gFixIceTrapWithBunnyHood", 1)) Matrix_Pop(); } if ((this->currentBoots == PLAYER_BOOTS_HOVER) && !(this->actor.bgCheckFlags & 1) &&