summaryrefslogtreecommitdiff
path: root/src/engine/actors/MarioSign.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/actors/MarioSign.cpp')
-rw-r--r--src/engine/actors/MarioSign.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/engine/actors/MarioSign.cpp b/src/engine/actors/MarioSign.cpp
index 7722b7de5..bf87b0f6b 100644
--- a/src/engine/actors/MarioSign.cpp
+++ b/src/engine/actors/MarioSign.cpp
@@ -14,12 +14,15 @@ extern "C" {
#include "collision.h"
}
+size_t AMarioSign::_count = 0;
+
AMarioSign::AMarioSign(const SpawnParams& params) : AActor(params) {
Name = "Mario Sign";
ResourceName = "mk:mario_sign";
Model = d_course_mario_raceway_dl_sign;
Speed = params.Speed.value_or(182);
+ _idx = _count;
FVector pos = params.Location.value_or(FVector(0, 0, 0));
Pos[0] = pos.x * gTrackDirection;
@@ -36,6 +39,8 @@ AMarioSign::AMarioSign(const SpawnParams& params) : AActor(params) {
func_802AAAAC(&Unk30);
Flags = -0x8000;
Flags |= 0x4000;
+
+ _count += 1;
}
bool AMarioSign::IsMod() {
@@ -73,7 +78,7 @@ void AMarioSign::Draw(Camera *camera) {
unk = MAX(unk, 0.0f);
}
if (!(unk < 0.0f)) {
- FrameInterpolation_RecordOpenChild("mk:mario_sign", TAG_OBJECT(this));
+ FrameInterpolation_RecordOpenChild("mk:mario_sign", TAG_OBJECT((_idx << 4) | camera->cameraId));
gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH);
gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING);
mtxf_pos_rotation_xyz(sp40, Pos, Rot);