summaryrefslogtreecommitdiff
path: root/src/engine/objects/Lakitu.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/objects/Lakitu.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/objects/Lakitu.cpp')
-rw-r--r--src/engine/objects/Lakitu.cpp9
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) {