summaryrefslogtreecommitdiff
path: root/src/engine/objects/Hedgehog.cpp
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2026-02-05 12:44:26 -0700
committerGitHub <noreply@github.com>2026-02-05 12:44:26 -0700
commitc902e200ab1b465f557b2e35c1cdc1a06a74eba8 (patch)
treefdab4335d44b98edc0ec6712e1fe5a2ba425f96c /src/engine/objects/Hedgehog.cpp
parent816c03c88b41048f6cb16d411612d61b55c39016 (diff)
Fix Interp Issues (#641)
* Update Seagull.cpp * Update Seagull.h * Update Thwomp.cpp * Update Thwomp.h * Update Crab.cpp * Update render.inc.c * Update Mole.cpp * Update Mole.h * Update Mole.cpp * Update Thwomp.cpp * Update Thwomp.cpp * Update Thwomp.cpp * Update HotAirBalloon.cpp * Update HotAirBalloon.cpp * Update ChainChomp.cpp * Update Hedgehog.h * Update Hedgehog.cpp * Update Snowman.cpp * Update Flagpole.h * Update Flagpole.cpp * Update Flagpole.cpp
Diffstat (limited to 'src/engine/objects/Hedgehog.cpp')
-rw-r--r--src/engine/objects/Hedgehog.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/engine/objects/Hedgehog.cpp b/src/engine/objects/Hedgehog.cpp
index a028fde36..d2ffb95af 100644
--- a/src/engine/objects/Hedgehog.cpp
+++ b/src/engine/objects/Hedgehog.cpp
@@ -81,9 +81,10 @@ void OHedgehog::func_800555BC(s32 objectIndex, s32 cameraId) {
if (gObjectList[objectIndex].state >= 2) {
camera = &camera1[cameraId];
- OHedgehog::func_8004A870(objectIndex, 0.7f);
+ OHedgehog::func_8004A870(cameraId, objectIndex, 0.7f);
gObjectList[objectIndex].orientation[1] =
func_800418AC(gObjectList[objectIndex].pos[0], gObjectList[objectIndex].pos[2], camera->pos);
+ FrameInterpolation_RecordOpenChild("hedgehog2", TAG_OBJECT((_idx << 5) | cameraId));
rsp_set_matrix_transformation(gObjectList[objectIndex].pos, gObjectList[objectIndex].orientation, gObjectList[objectIndex].sizeScaling);
gSPDisplayList(gDisplayListHead++, (Gfx*) D_0D007D78);
auto tlut = (u8*) gObjectList[objectIndex].activeTLUT;
@@ -96,10 +97,11 @@ void OHedgehog::func_800555BC(s32 objectIndex, s32 cameraId) {
gSPVertex(gDisplayListHead++, (uintptr_t) vtx, 4, 0);
gSPDisplayList(gDisplayListHead++, (Gfx*) common_rectangle_display);
gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF);
+ FrameInterpolation_RecordCloseChild();
}
}
-void OHedgehog::func_8004A870(s32 objectIndex, f32 arg1) {
+void OHedgehog::func_8004A870(s32 cameraId, s32 objectIndex, f32 arg1) {
Mat4 mtx;
Object* object;
@@ -110,9 +112,7 @@ void OHedgehog::func_8004A870(s32 objectIndex, f32 arg1) {
D_80183E50[1] = object->surfaceHeight + 0.8;
D_80183E50[2] = object->pos[2];
- // @port: Tag the transform.
- FrameInterpolation_RecordOpenChild("hedgehog", (uintptr_t) &gObjectList[objectIndex]);
-
+ FrameInterpolation_RecordOpenChild("hedgehog", (uintptr_t) (_idx << 5) | cameraId);
set_transform_matrix(mtx, object->unk_01C, D_80183E50, 0U, arg1);
// convert_to_fixed_point_matrix(&gGfxPool->mtxHud[gMatrixHudCount], mtx);
// gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxHud[gMatrixHudCount++]),
@@ -121,7 +121,6 @@ void OHedgehog::func_8004A870(s32 objectIndex, f32 arg1) {
AddHudMatrix(mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gDisplayListHead++, (Gfx*) D_0D007B98);
- // @port Pop the transform id.
FrameInterpolation_RecordCloseChild();
}
}
@@ -248,4 +247,4 @@ void OHedgehog::DrawEditorProperties() {
if (ImGui::Button(ICON_FA_UNDO "##ResetPatrolLoc")) {
PatrolEnd = FVector2D(0.0f, 0.0f);
}
-} \ No newline at end of file
+}