diff --git a/src/engine/fox_tank.c b/src/engine/fox_tank.c index 70f44f7e..94174cb5 100644 --- a/src/engine/fox_tank.c +++ b/src/engine/fox_tank.c @@ -53,6 +53,7 @@ void func_tank_80043280(u16* text0, u16* text1, f32 zRot) { } } Matrix_Pop(&gCalcMatrix); + gSPInvalidateTexCache(gMasterDisp++, text0); } void Player_UpdateTankCamOnRails(Player* player) { diff --git a/src/overlays/ovl_i5/fox_ma.c b/src/overlays/ovl_i5/fox_ma.c index d8abc023..414d0090 100644 --- a/src/overlays/ovl_i5/fox_ma.c +++ b/src/overlays/ovl_i5/fox_ma.c @@ -430,11 +430,10 @@ void Macbeth_Texture_RotateZ(u8* destTex, u8* srcTex, f32 angle) { } } Matrix_Pop(&gCalcMatrix); + gSPInvalidateTexCache(gMasterDisp++, destTex); } void Macbeth_Texture_Scroll(u8* tex, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - // return; - // LTODO: this is causing corruption, overflow. // Texture at D_MA_6023228 might be the culprit. u8* texPtr = SEGMENTED_TO_VIRTUAL(tex); @@ -455,6 +454,7 @@ void Macbeth_Texture_Scroll(u8* tex, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { texPtr[((arg2 - 2) * arg1) + i] = b; texPtr[((arg2 - 1) * arg1) + i] = a; } + gSPInvalidateTexCache(gMasterDisp++, tex); } void Macbeth_Texture_Scroll2(u16* tex, s32 arg1, s32 arg2) { @@ -472,6 +472,7 @@ void Macbeth_Texture_Scroll2(u16* tex, s32 arg1, s32 arg2) { texPtr[i] = a; } + gSPInvalidateTexCache(gMasterDisp++, tex); } void Macbeth_Train_Init(Actor* this) {