From 2c9187f27ac1c34bdba30a0c20407f182b8dc7f4 Mon Sep 17 00:00:00 2001 From: djevangelia <263709373+djevangelia@users.noreply.github.com> Date: Sun, 19 Jul 2026 22:52:22 +0200 Subject: [PATCH] Bugfix, make CC invisible Link equips invisible (#6926) --- soh/src/code/z_player_lib.c | 3 ++- soh/src/overlays/actors/ovl_player_actor/z_player.c | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/soh/src/code/z_player_lib.c b/soh/src/code/z_player_lib.c index f4c50666a5..36fec39b9e 100644 --- a/soh/src/code/z_player_lib.c +++ b/soh/src/code/z_player_lib.c @@ -1092,7 +1092,8 @@ void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dL SkelAnime_DrawFlexLod(play, skeleton, jointTable, dListCount, overrideLimbDraw, postLimbDraw, data, lod); - if (((CVarGetInteger(CVAR_ENHANCEMENT("FirstPersonGauntlets"), 0) && LINK_IS_ADULT) || + if (!GameInteractor_InvisibleLinkActive() && + ((CVarGetInteger(CVAR_ENHANCEMENT("FirstPersonGauntlets"), 0) && LINK_IS_ADULT) || (overrideLimbDraw != Player_OverrideLimbDrawGameplayFirstPerson)) && (overrideLimbDraw != Player_OverrideLimbDrawGameplayCrawling) && (gSaveContext.gameMode != GAMEMODE_END_CREDITS)) { 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 62f2d09f58..0dcaed4865 100644 --- a/soh/src/overlays/actors/ovl_player_actor/z_player.c +++ b/soh/src/overlays/actors/ovl_player_actor/z_player.c @@ -22,11 +22,11 @@ #include "objects/object_link_child/object_link_child.h" #include #include "soh/Enhancements/item-tables/ItemTableTypes.h" -#include "soh/Enhancements/game-interactor/GameInteractor.h" -#include "soh/Enhancements/randomizer/randomizer_entrance.h" #include "soh/Enhancements/cosmetics/cosmeticsTypes.h" #include "soh/Enhancements/enhancementTypes.h" +#include "soh/Enhancements/game-interactor/GameInteractor.h" #include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h" +#include "soh/Enhancements/randomizer/randomizer_entrance.h" #include "soh/Enhancements/randomizer/randomizer_grotto.h" #include "soh/frame_interpolation.h" #include "soh/OTRGlobals.h" @@ -12371,7 +12371,8 @@ void Player_DrawGameplay(PlayState* play, Player* this, s32 lod, Gfx* cullDList, MATRIX_TOMTX(bunnyEarMtx); } - if (GameInteractor_Should(VB_DRAW_PLAYER_MASK, true, this->currentMask, play)) { + if (!GameInteractor_InvisibleLinkActive() && + GameInteractor_Should(VB_DRAW_PLAYER_MASK, true, this->currentMask, play)) { if (this->currentMask != PLAYER_MASK_BUNNY || !CVarGetInteger(CVAR_ENHANCEMENT("HideBunnyHood"), 0)) { gSPDisplayList(POLY_OPA_DISP++, sMaskDlists[this->currentMask - 1]); }