summaryrefslogtreecommitdiff
path: root/src/port/interpolation/FrameInterpolation.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/port/interpolation/FrameInterpolation.h')
-rw-r--r--src/port/interpolation/FrameInterpolation.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/port/interpolation/FrameInterpolation.h b/src/port/interpolation/FrameInterpolation.h
new file mode 100644
index 000000000..2c5ab1278
--- /dev/null
+++ b/src/port/interpolation/FrameInterpolation.h
@@ -0,0 +1,64 @@
+#pragma once
+
+// #include "sf64math.h"
+#include <libultraship.h>
+#include <common_structs.h>
+#include <math_util_2.h>
+
+#ifdef __cplusplus
+
+#include <unordered_map>
+
+std::unordered_map<Mtx*, MtxF> FrameInterpolation_Interpolate(float step);
+
+extern "C" {
+
+#endif
+
+void FrameInterpolation_ShouldInterpolateFrame(bool shouldInterpolate);
+
+void FrameInterpolation_StartRecord(void);
+
+void FrameInterpolation_StopRecord(void);
+
+void FrameInterpolation_RecordMarker(const char* file, int line);
+
+void FrameInterpolation_RecordOpenChild(const void* a, int b);
+
+void FrameInterpolation_RecordCloseChild(void);
+
+void FrameInterpolation_DontInterpolateCamera(void);
+
+int FrameInterpolation_GetCameraEpoch(void);
+
+void FrameInterpolation_RecordActorPosRotMatrix(void);
+
+//void FrameInterpolation_RecordMatrixPush(Matrix** mtx);
+
+//void FrameInterpolation_RecordMatrixPop(Matrix** mtx);
+
+//void FrameInterpolation_RecordMatrixMult(Matrix* matrix, MtxF* mf, u8 mode);
+
+//void FrameInterpolation_RecordMatrixTranslate(Matrix* matrix, f32 x, f32 y, f32 z, u8 mode);
+
+//void FrameInterpolation_RecordMatrixScale(Matrix* matrix, f32 x, f32 y, f32 z, u8 mode);
+
+//void FrameInterpolation_RecordMatrixRotate1Coord(Matrix* matrix, u32 coord, f32 value, u8 mode);
+
+void FrameInterpolation_RecordMatrixMtxFToMtx(MtxF* src, Mtx* dest);
+
+void FrameInterpolation_RecordMatrixToMtx(Mtx* dest, char* file, s32 line);
+
+void FrameInterpolation_RecordMatrixReplaceRotation(MtxF* mf);
+
+//void FrameInterpolation_RecordMatrixRotateAxis(f32 angle, Vec3f* axis, u8 mode);
+
+void FrameInterpolation_RecordSkinMatrixMtxFToMtx(MtxF* src, Mtx* dest);
+
+//void FrameInterpolation_RecordMatrixMultVec3f(Matrix* matrix, Vec3f src, Vec3f dest);
+
+//void FrameInterpolation_RecordMatrixMultVec3fNoTranslate(Matrix* matrix, Vec3f src, Vec3f dest);
+
+#ifdef __cplusplus
+}
+#endif \ No newline at end of file