summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMegaMech <MegaMech@users.noreply.github.com>2026-02-06 23:53:33 -0700
committerGitHub <noreply@github.com>2026-02-06 23:53:33 -0700
commit4cc2fb5d13f8a1e8b983ed47ff04749e191d5769 (patch)
tree3584c6feb8d618e7c703cf07f3da553bb4742be1 /src
parent26b2ce90e7eec71b7535ae1189219102835a36b8 (diff)
More Interp Fixes... Probably (#644)
* Update BombKart.cpp * Update BombKart.h * Update PlayerBombKart.cpp * Update Text.cpp
Diffstat (limited to 'src')
-rw-r--r--src/engine/PlayerBombKart.cpp6
-rw-r--r--src/engine/actors/Text.cpp2
-rw-r--r--src/engine/objects/BombKart.cpp12
-rw-r--r--src/engine/objects/BombKart.h2
4 files changed, 15 insertions, 7 deletions
diff --git a/src/engine/PlayerBombKart.cpp b/src/engine/PlayerBombKart.cpp
index 9c17a2742..42b18a0f2 100644
--- a/src/engine/PlayerBombKart.cpp
+++ b/src/engine/PlayerBombKart.cpp
@@ -107,17 +107,17 @@ void PlayerBombKart::func_8005669C(s32 cameraId, s32 arg2) {
FrameInterpolation_RecordCloseChild();
D_80183E40[0] = pos.x + 2.0;
D_80183E40[2] = pos.z - 2.0;
- FrameInterpolation_RecordOpenChild("player_bomb_kart_rect", (1 << 12) | (_idx << 5) | cameraId);
+ FrameInterpolation_RecordOpenChild("player_bomb_kart_rect2", (1 << 12) | (_idx << 5) | cameraId);
func_800431B0(D_80183E40, D_80183E80, 0.15f, (Vtx*) common_vtx_rectangle);
FrameInterpolation_RecordCloseChild();
D_80183E40[0] = pos.x - 2.0;
D_80183E40[2] = pos.z - 2.0;
- FrameInterpolation_RecordOpenChild("player_bomb_kart_rect", (2 << 12) | (_idx << 5) | cameraId);
+ FrameInterpolation_RecordOpenChild("player_bomb_kart_rect3", (2 << 12) | (_idx << 5) | cameraId);
func_800431B0(D_80183E40, D_80183E80, 0.15f, (Vtx*) common_vtx_rectangle);
FrameInterpolation_RecordCloseChild();
D_80183E40[0] = pos.x - 2.0;
D_80183E40[2] = pos.z + 2.0;
- FrameInterpolation_RecordOpenChild("player_bomb_kart_rect", (3 << 12) | (_idx << 5) | cameraId);
+ FrameInterpolation_RecordOpenChild("player_bomb_kart_rect4", (3 << 12) | (_idx << 5) | cameraId);
func_800431B0(D_80183E40, D_80183E80, 0.15f, (Vtx*) common_vtx_rectangle);
FrameInterpolation_RecordCloseChild();
gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF);
diff --git a/src/engine/actors/Text.cpp b/src/engine/actors/Text.cpp
index 9e6423239..ad99430eb 100644
--- a/src/engine/actors/Text.cpp
+++ b/src/engine/actors/Text.cpp
@@ -360,7 +360,7 @@ void AText::DrawText3D(Camera* camera) { // Based on func_80095BD0
AddObjectMatrix(mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- FrameInterpolation_RecordOpenChild("actor_text", TAG_LETTER(this));
+ FrameInterpolation_RecordOpenChild("actor_text", ((uintptr_t)this << 6) | camera->cameraId);
gSPDisplayList(gDisplayListHead++, (Gfx*)D_020077A8);
for (CharacterList& tex : TextureList) {
diff --git a/src/engine/objects/BombKart.cpp b/src/engine/objects/BombKart.cpp
index 8a0afdb95..fd8d65efd 100644
--- a/src/engine/objects/BombKart.cpp
+++ b/src/engine/objects/BombKart.cpp
@@ -381,7 +381,7 @@ void OBombKart::Draw(s32 cameraId) {
D_80183E80[1] = func_800418AC(Pos[0], Pos[2], camera->pos);
D_80183E80[2] = 0x8000;
func_800563DC(_objectIndex, cameraId, 0x000000FF);
- OBombKart::SomeRender(camera->pos);
+ OBombKart::SomeRender(cameraId, camera->pos);
if (((u32) temp_s4 < 0x4E21U) && (state != OBombKart::States::EXPLODE)) {
OBombKart::LoadMtx(cameraId);
}
@@ -393,19 +393,27 @@ void OBombKart::DrawBattle(s32 cameraId) {
}
-void OBombKart::SomeRender(Vec3f arg1) {
+void OBombKart::SomeRender(s32 cameraId, Vec3f arg1) {
D_80183E80[0] = 0;
D_80183E80[2] = 0x8000;
gSPDisplayList(gDisplayListHead++, (Gfx*)D_0D0079C8);
load_texture_block_rgba16_mirror((u8*) D_0D02AA58, 0x00000010, 0x00000010);
D_80183E80[1] = func_800418AC(WheelPos[0][0], WheelPos[0][2], arg1);
+ FrameInterpolation_RecordOpenChild("bomb_kart_rect", (0 << 12) | (_idx << 5) | cameraId);
func_800431B0(WheelPos[0], D_80183E80, 0.15f, (Vtx*)common_vtx_rectangle);
+ FrameInterpolation_RecordCloseChild();
D_80183E80[1] = func_800418AC(WheelPos[1][0], WheelPos[1][2], arg1);
+ FrameInterpolation_RecordOpenChild("bomb_kart_rect2", (1 << 12) | (_idx << 5) | cameraId);
func_800431B0(WheelPos[1], D_80183E80, 0.15f, (Vtx*)common_vtx_rectangle);
+ FrameInterpolation_RecordCloseChild();
D_80183E80[1] = func_800418AC(WheelPos[2][0], WheelPos[2][2], arg1);
+ FrameInterpolation_RecordOpenChild("bomb_kart_rect3", (2 << 12) | (_idx << 5) | cameraId);
func_800431B0(WheelPos[2], D_80183E80, 0.15f, (Vtx*)common_vtx_rectangle);
+ FrameInterpolation_RecordCloseChild();
D_80183E80[1] = func_800418AC(WheelPos[3][0], WheelPos[3][2], arg1);
+ FrameInterpolation_RecordOpenChild("bomb_kart_rect4", (3 << 12) | (_idx << 5) | cameraId);
func_800431B0(WheelPos[3], D_80183E80, 0.15f, (Vtx*)common_vtx_rectangle);
+ FrameInterpolation_RecordCloseChild();
gSPTexture(gDisplayListHead++, 1, 1, 0, G_TX_RENDERTILE, G_OFF);
}
diff --git a/src/engine/objects/BombKart.h b/src/engine/objects/BombKart.h
index 3f4a7a28e..c6fb03abd 100644
--- a/src/engine/objects/BombKart.h
+++ b/src/engine/objects/BombKart.h
@@ -85,7 +85,7 @@ class OBombKart : public OObject {
virtual void Translate(FVector pos) override;
virtual void DrawEditorProperties() override;
void DrawBattle(s32 cameraId);
- void SomeRender(Vec3f arg1);
+ void SomeRender(s32 cameraId, Vec3f arg1);
void LoadMtx(s32 cameraId);
void Waypoint(s32 screenId);