Merge branch 'frameinterpolation' of https://github.com/HarbourMasters/SpaghettiKart into frameinterpolation

This commit is contained in:
sitton76
2025-05-17 01:51:32 -05:00
2 changed files with 10 additions and 2 deletions
+6
View File
@@ -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)))) {
+4 -2
View File
@@ -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);