summaryrefslogtreecommitdiff
path: root/src/engine/tracks/CustomTrack.cpp
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2026-03-06 20:10:07 -0700
committerGitHub <noreply@github.com>2026-03-06 20:10:07 -0700
commit132357d9fb50d7962518e10b22db358c85d87ba5 (patch)
tree428671c5f9d888bb6905fe20c07d26a70430b392 /src/engine/tracks/CustomTrack.cpp
parent25d49df90fe1ab2c95c962d45ef146cb5cf0c794 (diff)
Big Interpolation Overhaul (#674)
* Fix FI * FI statue * Intepr fixes * Improve * More interp * Fix compile * More interp * Fix text
Diffstat (limited to 'src/engine/tracks/CustomTrack.cpp')
-rw-r--r--src/engine/tracks/CustomTrack.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/engine/tracks/CustomTrack.cpp b/src/engine/tracks/CustomTrack.cpp
index 9e720c4c9..52f9f9672 100644
--- a/src/engine/tracks/CustomTrack.cpp
+++ b/src/engine/tracks/CustomTrack.cpp
@@ -290,7 +290,7 @@ void CustomTrack::DrawTransparency(ScreenContext* screen, uint16_t pathCounter,
for (TrackSections& item : mTranslucentItems) {
Mat4 matrix;
FVector pos = {item.location[0], item.location[1], item.location[2]};
- FrameInterpolation_RecordOpenChild("translucent_obj", item.crc);
+ FrameInterpolation_RecordOpenChild("translucent_obj", (item.crc << 4) | screen - gScreenContexts);
ApplyMatrixTransformations(matrix, pos, IRotator(0, 0, 0), FVector(1, 1, 1));
AddObjectMatrix(matrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gDisplayListHead++, (Gfx*) ResourceGetDataByCrc(item.crc));
@@ -301,9 +301,11 @@ void CustomTrack::DrawTransparency(ScreenContext* screen, uint16_t pathCounter,
for (TrackSections& item : mTranslucentNoZBufferItems) {
Mat4 matrix;
FVector pos = {item.location[0], item.location[1], item.location[2]};
+ FrameInterpolation_RecordOpenChild("translucent_no_z", (item.crc << 4) | screen - gScreenContexts);
ApplyMatrixTransformations(matrix, pos, IRotator(0, 0, 0), FVector(1, 1, 1));
AddObjectMatrix(matrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gDisplayListHead++, (Gfx*) ResourceGetDataByCrc(item.crc));
+ FrameInterpolation_RecordCloseChild();
}
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER);
}