summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsitton76 <58642183+sitton76@users.noreply.github.com>2025-05-17 01:51:32 -0500
committersitton76 <58642183+sitton76@users.noreply.github.com>2025-05-17 01:51:32 -0500
commit41dcadce4229eae4f0f9ec9b9eefed4399731fe1 (patch)
tree9bf526dd5239f01376769d300389ab468a617d64 /src
parent9cb954a2b025d2b3de0c7c74ae19077a1c80779f (diff)
parent3852e7e88b8ff36529c830b376a391a89d430f37 (diff)
Merge branch 'frameinterpolation' of https://github.com/HarbourMasters/SpaghettiKart into frameinterpolation
Diffstat (limited to 'src')
-rw-r--r--src/code_80057C60.c6
-rw-r--r--src/port/interpolation/FrameInterpolation.h6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/code_80057C60.c b/src/code_80057C60.c
index f9d56af83..840ea88c4 100644
--- a/src/code_80057C60.c
+++ b/src/code_80057C60.c
@@ -6574,6 +6574,10 @@ void func_8006D474(Player* player, s8 playerId, s8 screenId) {
s16 var_s2;
if ((player->unk_002 & (8 << (screenId * 4))) == (8 << (screenId * 4))) {
for (var_s2 = 0; var_s2 < 10; var_s2++) {
+ // @port: Tag the transform.
+ FrameInterpolation_RecordOpenChild(
+ "SmokeDust", TAG_SMOKE_DUST(((u32) player->unk_258[var_s2].unk_012 << 8) + (playerId << 16) + var_s2));
+
switch (player->unk_258[var_s2].unk_012) {
case 1:
if (gActiveScreenMode == SCREEN_MODE_3P_4P_SPLITSCREEN) {
@@ -6694,6 +6698,8 @@ void func_8006D474(Player* player, s8 playerId, s8 screenId) {
}
break;
}
+ // @port Pop the transform id.
+ FrameInterpolation_RecordCloseChild();
}
}
if ((gModeSelection == BATTLE) && (player->unk_002 & (2 << (screenId * 4)))) {
diff --git a/src/port/interpolation/FrameInterpolation.h b/src/port/interpolation/FrameInterpolation.h
index 5d3f9cb35..016dc691a 100644
--- a/src/port/interpolation/FrameInterpolation.h
+++ b/src/port/interpolation/FrameInterpolation.h
@@ -17,8 +17,10 @@ std::unordered_map<Mtx*, MtxF> FrameInterpolation_Interpolate(float step);
extern "C" {
#endif
-#define TAG_ITEM_ADDR(x) ((u32) 0x10000000 | (u32) x)
-#define TAG_OBJECT(x) ((u32) 0x40000000 | (u32) (x))
+#define TAG_ITEM_ADDR(x) ((u32) 0x10000000 | (u32)x)
+#define TAG_SMOKE_DUST(x) ((u32) 0x20000000 | (u32) (x))
+#define TAG_LETTER(x) ((u32)0x30000000 | (u32) (x))
+#define TAG_OBJECT(x) ((u32)0x40000000 | (u32)(x))
void FrameInterpolation_ShouldInterpolateFrame(bool shouldInterpolate);