From b0a7c60c5b3269454ec92439666e8d92aa6ecae8 Mon Sep 17 00:00:00 2001 From: Sonic Dreamcaster Date: Fri, 31 Jan 2025 19:16:16 -0300 Subject: [PATCH] tag muzzle flashes --- src/engine/fox_display.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/engine/fox_display.c b/src/engine/fox_display.c index 109edd25..1e2f9908 100644 --- a/src/engine/fox_display.c +++ b/src/engine/fox_display.c @@ -1105,6 +1105,10 @@ void Display_ArwingLaserCharge(Player* player) { } Matrix_Push(&gGfxMatrix); + + // @port: Tag the transform. + FrameInterpolation_RecordOpenChild("ArwingMuzzleFlash", 0); + Matrix_Translate(gGfxMatrix, sp94.x, sp94.y, sp94.z, MTXF_NEW); Matrix_Scale(gGfxMatrix, gMuzzleFlashScale[player->num], gMuzzleFlashScale[player->num], 1.0f, MTXF_APPLY); @@ -1112,6 +1116,9 @@ void Display_ArwingLaserCharge(Player* player) { gSPDisplayList(gMasterDisp++, aOrbDL); Matrix_Pop(&gGfxMatrix); + + // @port Pop the transform id. + FrameInterpolation_RecordCloseChild(); break; case LASERS_TWIN: @@ -1126,6 +1133,10 @@ void Display_ArwingLaserCharge(Player* player) { Matrix_MultVec3f(gCalcMatrix, &spAC, &sp94); Matrix_MultVec3f(gCalcMatrix, &spA0, &sp88); Matrix_Push(&gGfxMatrix); + + // @port: Tag the transform. + FrameInterpolation_RecordOpenChild("ArwingMuzzleFlash", 0); + Matrix_Translate(gGfxMatrix, sp94.x, sp94.y, sp94.z, MTXF_NEW); Matrix_Scale(gGfxMatrix, gMuzzleFlashScale[player->num], gMuzzleFlashScale[player->num], 1.0f, MTXF_APPLY); @@ -1133,7 +1144,14 @@ void Display_ArwingLaserCharge(Player* player) { gSPDisplayList(gMasterDisp++, aOrbDL); Matrix_Pop(&gGfxMatrix); + // @port Pop the transform id. + FrameInterpolation_RecordCloseChild(); + Matrix_Push(&gGfxMatrix); + + // @port: Tag the transform. + FrameInterpolation_RecordOpenChild("ArwingMuzzleFlash", 1); + Matrix_Translate(gGfxMatrix, sp88.x, sp88.y, sp88.z, MTXF_NEW); Matrix_Scale(gGfxMatrix, gMuzzleFlashScale[player->num], gMuzzleFlashScale[player->num], 1.0f, MTXF_APPLY); @@ -1141,6 +1159,9 @@ void Display_ArwingLaserCharge(Player* player) { gSPDisplayList(gMasterDisp++, aOrbDL); Matrix_Pop(&gGfxMatrix); + + // @port Pop the transform id. + FrameInterpolation_RecordCloseChild(); break; } Matrix_Pop(&gGfxMatrix);