summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSonic Dreamcaster <alejandro.asenjo88@gmail.com>2025-01-31 19:16:16 -0300
committerSonic Dreamcaster <alejandro.asenjo88@gmail.com>2025-01-31 19:16:16 -0300
commitb0a7c60c5b3269454ec92439666e8d92aa6ecae8 (patch)
treeb966a6ddaca5b8b6ba6ed5f3b55817b8a8000352
parentb98dc5fa6eb96fc4e5c26236d691645d925dc6b8 (diff)
tag muzzle flashes
-rw-r--r--src/engine/fox_display.c21
1 files changed, 21 insertions, 0 deletions
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);