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/objects/Lakitu.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/objects/Lakitu.cpp')
| -rw-r--r-- | src/engine/objects/Lakitu.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/engine/objects/Lakitu.cpp b/src/engine/objects/Lakitu.cpp index 7034e610b..121191a12 100644 --- a/src/engine/objects/Lakitu.cpp +++ b/src/engine/objects/Lakitu.cpp @@ -118,8 +118,6 @@ void OLakitu::Draw(s32 cameraId) { return; } - FrameInterpolation_RecordOpenChild("Lakitu", (uintptr_t) this); - objectIndex = mLakituId; camera = &cameras[cameraId]; if (is_obj_flag_status_active(objectIndex, 0x00000010) != 0) { @@ -130,6 +128,7 @@ void OLakitu::Draw(s32 cameraId) { if (func_80072354(objectIndex, 2) != 0) { s32 width = object->textureWidth; s32 height = object->textureHeight; + FrameInterpolation_RecordOpenChild("lakitu", (_idx << 4) | cameraId); rsp_set_matrix_transformation(object->pos, object->orientation, object->sizeScaling); gSPDisplayList(gDisplayListHead++, (Gfx*) D_0D007D78); s32 heightIndex; @@ -140,10 +139,12 @@ void OLakitu::Draw(s32 cameraId) { G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSPVertex(gDisplayListHead++, (uintptr_t) object->vertex, 4, 0); gSPDisplayList(gDisplayListHead++, (Gfx*) common_rectangle_display); + FrameInterpolation_RecordCloseChild(); gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); } else { s32 width = object->textureWidth; s32 height = object->textureHeight; + FrameInterpolation_RecordOpenChild("lakitu2", (_idx << 4) | cameraId); rsp_set_matrix_transformation(object->pos, object->orientation, object->sizeScaling); gSPDisplayList(gDisplayListHead++, (Gfx*) D_0D007E98); gDPSetAlphaCompare(gDisplayListHead++, G_AC_DITHER); @@ -156,6 +157,7 @@ void OLakitu::Draw(s32 cameraId) { rsp_load_texture((u8*) object->activeTexture, width, height); gSPVertex(gDisplayListHead++, (uintptr_t) object->vertex, 4, 0); gSPDisplayList(gDisplayListHead++, (Gfx*) common_rectangle_display); + FrameInterpolation_RecordCloseChild(); gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF); gDPSetAlphaCompare(gDisplayListHead++, G_AC_NONE); @@ -170,11 +172,12 @@ void OLakitu::Draw(s32 cameraId) { var_f2 = -var_f2; } if ((var_f0 + var_f2) <= 200.0) { + FrameInterpolation_RecordOpenChild("lakitu3", (_idx << 4) | cameraId); func_8004A630(&D_8018C0B0[cameraId], object->pos, 0.35f); + FrameInterpolation_RecordCloseChild(); } } } - FrameInterpolation_RecordCloseChild(); } void OLakitu::func_80079114(s32 objectIndex, s32 playerId, s32 arg2) { |
