diff options
| author | MegaMech <MegaMech@users.noreply.github.com> | 2026-03-06 20:10:07 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-06 20:10:07 -0700 |
| commit | 132357d9fb50d7962518e10b22db358c85d87ba5 (patch) | |
| tree | 428671c5f9d888bb6905fe20c07d26a70430b392 /src/engine/tracks/CustomTrack.cpp | |
| parent | 25d49df90fe1ab2c95c962d45ef146cb5cf0c794 (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.cpp | 4 |
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); } |
