diff --git a/mm/src/code/z_sub_s.c b/mm/src/code/z_sub_s.c index f2c5666cd3..f6c97422dc 100644 --- a/mm/src/code/z_sub_s.c +++ b/mm/src/code/z_sub_s.c @@ -1009,6 +1009,8 @@ void SubS_DrawShadowTex(Actor* actor, GameState* gameState, u8* tex) { OPEN_DISPS(gfxCtx); + gSPInvalidateTexCache(POLY_OPA_DISP++, tex); + Gfx_SetupDL25_Opa(gfxCtx); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 0, 0, 0, 100); gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0); diff --git a/mm/src/overlays/actors/ovl_Boss_01/z_boss_01.c b/mm/src/overlays/actors/ovl_Boss_01/z_boss_01.c index 3d8bec6e35..89fcfe3430 100644 --- a/mm/src/overlays/actors/ovl_Boss_01/z_boss_01.c +++ b/mm/src/overlays/actors/ovl_Boss_01/z_boss_01.c @@ -3108,6 +3108,8 @@ void Boss01_DrawShadowTex(u8* tex, Boss01* this, PlayState* play) { OPEN_DISPS(gfxCtx); + gSPInvalidateTexCache(POLY_OPA_DISP++, tex); + Gfx_SetupDL25_Opa(play->state.gfxCtx); alpha = (400.0f - this->actor.world.pos.y) * (1.0f / 400.0f); diff --git a/mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c b/mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c index 603c8e1573..8648cfa5cf 100644 --- a/mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c +++ b/mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c @@ -2935,6 +2935,8 @@ void Boss07_Wrath_DrawShadowTex(u8* shadowTex, Boss07* this, PlayState* play) { OPEN_DISPS(gfxCtx); + gSPInvalidateTexCache(POLY_OPA_DISP++, shadowTex); + Gfx_SetupDL25_Opa(play->state.gfxCtx); phi_f0 = (400.0f - this->actor.world.pos.y) * 0.0025f; phi_f0 = CLAMP_MIN(phi_f0, 0.0f); diff --git a/mm/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.c b/mm/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.c index 3dfbc2fbd6..7c6d30eb8a 100644 --- a/mm/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.c +++ b/mm/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.c @@ -3066,6 +3066,8 @@ void BossHakugin_DrawShadowTex(u8* tex, BossHakugin* this, PlayState* play) { OPEN_DISPS(gfxCtx); + gSPInvalidateTexCache(POLY_OPA_DISP++, tex); + Gfx_SetupDL25_Opa(play->state.gfxCtx); alpha = (400.0f - this->actor.world.pos.y) * (1.0f / 400.0f); diff --git a/mm/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c b/mm/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c index 9f6e7f77a3..c5e6c9fdd9 100644 --- a/mm/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c +++ b/mm/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c @@ -1043,6 +1043,7 @@ void EnKanban_Draw(Actor* thisx, PlayState* play) { } } + gSPInvalidateTexCache(POLY_XLU_DISP++, shadowTex); gSPSegment(POLY_XLU_DISP++, 0x08, Lib_SegmentedToVirtual(shadowTex)); gSPDisplayList(POLY_XLU_DISP++, gEnKanban_D_80957DE0); } diff --git a/mm/src/overlays/actors/ovl_En_Sda/z_en_sda.c b/mm/src/overlays/actors/ovl_En_Sda/z_en_sda.c index c0afae6002..d6a7966515 100644 --- a/mm/src/overlays/actors/ovl_En_Sda/z_en_sda.c +++ b/mm/src/overlays/actors/ovl_En_Sda/z_en_sda.c @@ -324,6 +324,8 @@ void func_80947668(u8* shadowTexture, Player* player, PlayState* play) { OPEN_DISPS(gfxCtx); + gSPInvalidateTexCache(POLY_XLU_DISP++, shadowTexture); + Gfx_SetupDL44_Xlu(play->state.gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x00, 0, 0, 0, (BREG(52) + 50));