summaryrefslogtreecommitdiff
path: root/src/engine/objects/HotAirBalloon.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/HotAirBalloon.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/HotAirBalloon.cpp')
-rw-r--r--src/engine/objects/HotAirBalloon.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/engine/objects/HotAirBalloon.cpp b/src/engine/objects/HotAirBalloon.cpp
index 74de17230..e080921e7 100644
--- a/src/engine/objects/HotAirBalloon.cpp
+++ b/src/engine/objects/HotAirBalloon.cpp
@@ -1,6 +1,7 @@
#include "HotAirBalloon.h"
#include "World.h"
#include "port/Game.h"
+#include "port/interpolation/FrameInterpolation.h"
extern "C" {
#include "render_objects.h"
@@ -82,20 +83,26 @@ void OHotAirBalloon::func_80055CCC(s32 objectIndex, s32 cameraId) {
if (gObjectList[objectIndex].state >= 2) {
func_8008A454(objectIndex, cameraId, 0x0000012C);
test = gObjectList[objectIndex].pos[1] - gObjectList[objectIndex].surfaceHeight;
+ FrameInterpolation_RecordOpenChild("hot_air_balloon", (_objectIndex << 5) | cameraId);
func_8004A6EC(objectIndex, (20.0 / test) + 0.5);
+ FrameInterpolation_RecordCloseChild();
if (is_obj_index_flag_status_inactive(objectIndex, 0x00100000) != 0) {
+ FrameInterpolation_RecordOpenChild("hot_air_balloon2", (_objectIndex << 5) | cameraId);
func_80043328(gObjectList[objectIndex].pos, (u16*) gObjectList[objectIndex].direction_angle,
gObjectList[objectIndex].sizeScaling, (Gfx*)d_course_luigi_raceway_dl_F960);
gSPDisplayList(gDisplayListHead++, (Gfx*)d_course_luigi_raceway_dl_F650);
+ FrameInterpolation_RecordCloseChild();
} else {
D_80183E80[0] = (s16) gObjectList[objectIndex].direction_angle[0];
D_80183E80[1] =
(s16) (func_800418AC(gObjectList[objectIndex].pos[0], gObjectList[objectIndex].pos[2], camera->pos) +
0x8000);
D_80183E80[2] = (u16) gObjectList[objectIndex].direction_angle[2];
+ FrameInterpolation_RecordOpenChild("hot_air_balloon3", (_objectIndex << 5) | cameraId);
func_80043328(gObjectList[objectIndex].pos, D_80183E80, gObjectList[objectIndex].sizeScaling,
(Gfx*)d_course_luigi_raceway_dl_FBE0);
gSPDisplayList(gDisplayListHead++, (Gfx*)d_course_luigi_raceway_dl_FA20);
+ FrameInterpolation_RecordCloseChild();
if (gPlayerCountSelection1 == 1) {
gObjectList[objectIndex].direction_angle[1] = 0;
}