SpaghettiKart
Loading...
Searching...
No Matches
FrameInterpolation.h
Go to the documentation of this file.
1#ifndef __FRAME_INTERPOLATION_H
2#define __FRAME_INTERPOLATION_H
3
4// #include "sf64math.h"
5#include <libultraship.h>
6#include <common_structs.h>
7
8#ifdef __cplusplus
9
10#include "src/engine/CoreMath.h"
11#include <unordered_map>
12
13
14
15std::unordered_map<Mtx*, MtxF> FrameInterpolation_Interpolate(float step);
17
18extern "C" {
19#endif
20
21#define TAG_ITEM_ADDR(x) ((u32) 0x10000000 | (u32)x)
22#define TAG_SMOKE_DUST(x) ((u32) 0x20000000 | (u32) (x))
23#define TAG_LETTER(x) ((u32)0x30000000 | ((u32) (uintptr_t) (x) & 0x0FFFFFFF))
24#define TAG_OBJECT(x) ((u32)0x40000000 | (u32) (uintptr_t) (x))
25#define TAG_CLOUDS(x) ((u32)0x50000000 | (u32) (uintptr_t) (x))
26#define TAG_THWOMP(x) ((u32)0x60000000 | ((u32) (uintptr_t) (x) & 0x0FFFFFFF))
27// Mask the bits so that the 7 can't get overridden
28#define TAG_TRACK(x) ((u32)0x70000000 | ((u32)(x) & 0x0FFFFFFF))
29#define TAG_MINIMAP_DOTS(x) ((u32)0x80000000 | ((u32)(x) & 0x0FFFFFFF))
30#define TAG_PORTRAITS(x) ((u32)0x90000000 | ((u32)(x) & 0x0FFFFFFF))
31
32void FrameInterpolation_ShouldInterpolateFrame(bool shouldInterpolate);
33
35
37
39
40void FrameInterpolation_RecordMarker(const char* file, int line);
41
42void FrameInterpolation_RecordOpenChild(const void* a, uintptr_t b);
43
45
47
49
51
53
54void FrameInterpolation_RecordMatrixPosRotScaleXY(Mat4* matrix, s32 x, s32 y, u16 angle, f32 scale);
55
56void FrameInterpolation_Record_SetTextMatrix(Mat4* matrix, f32 x, f32 y, f32 arg3, f32 arg4);
57
58//void FrameInterpolation_RecordMatrixPush(Mat4* matrix);
59
60//void FrameInterpolation_RecordMatrixPop(Mat4* matrix);
61
62void FrameInterpolation_RecordMatrixMult(Mat4* matrix, MtxF* mf, u8 mode);
63
65
66void FrameInterpolation_RecordMatrixScale(Mat4* matrix, f32 scale);
67
68void FrameInterpolation_RecordMatrixRotate1Coord(Mat4* matrix, u32 coord, s16 value);
69
70void FrameInterpolation_RecordMatrixMtxFToMtx(MtxF* src, Mtx* dest);
71
72void FrameInterpolation_RecordMatrixToMtx(Mtx* dest, char* file, s32 line);
73
75
76//void FrameInterpolation_RecordMatrixRotateAxis(f32 angle, Vec3f* axis, u8 mode);
77
78void FrameInterpolation_RecordSkinMatrixMtxFToMtx(MtxF* src, Mtx* dest);
79
80//void FrameInterpolation_RecordMatrixMultVec3f(Matrix* matrix, Vec3f src, Vec3f dest);
81
82//void FrameInterpolation_RecordMatrixMultVec3fNoTranslate(Matrix* matrix, Vec3f src, Vec3f dest);
83
84void FrameInterpolation_RecordSetTransformMatrix(Mat4* dest, Vec3f orientationVector, Vec3f positionVector, u16 rotationAngle,
85 f32 scaleFactor);
86
87void FrameInterpolation_RecordSetMatrixTransformation(Mat4* dest, Vec3f location, Vec3su rotation, f32 scale);
88
90
92
93//void FrameInterpolation_func_80062B18(f32* arg0, f32* arg1, f32* arg2, arg3, arg4, arg5, arg6, arg7);
94
95#ifdef __cplusplus
96}
97#endif
98
99#endif // __FRAME_INTERPOLATION_H
void FrameInterpolation_ApplyMatrixTransformations(Mat4 *matrix, FVector pos, IRotator rot, FVector scale)
Definition FrameInterpolation.cpp:720
unordered_map< Mtx *, MtxF > FrameInterpolation_Interpolate(float step)
Definition FrameInterpolation.cpp:600
bool check_if_recording()
Definition FrameInterpolation.cpp:615
void FrameInterpolation_RecordOpenChild(const void *a, uintptr_t b)
Definition FrameInterpolation.cpp:640
void FrameInterpolation_ShouldInterpolateFrame(bool shouldInterpolate)
Definition FrameInterpolation.cpp:610
void FrameInterpolation_RecordActorPosRotMatrix(void)
Definition FrameInterpolation.cpp:676
void FrameInterpolation_RecordSkinMatrixMtxFToMtx(MtxF *src, Mtx *dest)
Definition FrameInterpolation.cpp:837
void FrameInterpolation_StopRecord(void)
Definition FrameInterpolation.cpp:635
void FrameInterpolation_RecordCloseChild(void)
Definition FrameInterpolation.cpp:650
void FrameInterpolation_RecordMatrixPosRotXYZ(Mat4 *out, Vec3f pos, Vec3s orientation)
Definition FrameInterpolation.cpp:780
void FrameInterpolation_RecordMarker(const char *file, int line)
Definition FrameInterpolation.cpp:691
void FrameInterpolation_DontInterpolateCamera(void)
Definition FrameInterpolation.cpp:661
void FrameInterpolation_Record_SetTextMatrix(Mat4 *matrix, f32 x, f32 y, f32 arg3, f32 arg4)
Definition FrameInterpolation.cpp:669
void FrameInterpolation_RecordCalculateOrientationMatrix(Mat3 *, f32, f32, f32, s16)
Definition FrameInterpolation.cpp:770
void FrameInterpolation_RecordMatrixMtxFToMtx(MtxF *src, Mtx *dest)
Definition FrameInterpolation.cpp:810
void FrameInterpolation_RecordMatrixReplaceRotation(MtxF *mf)
void FrameInterpolation_RecordMatrixTranslate(Mat4 *matrix, Vec3f b)
Definition FrameInterpolation.cpp:727
void FrameInterpolation_RecordTranslateRotate(Mat4 *dest, Vec3f pos, Vec3s rotation)
Definition FrameInterpolation.cpp:757
void FrameInterpolation_RecordMatrixRotate1Coord(Mat4 *matrix, u32 coord, s16 value)
Definition FrameInterpolation.cpp:803
int FrameInterpolation_GetCameraEpoch(void)
Definition FrameInterpolation.cpp:665
void FrameInterpolation_RecordMatrixMult(Mat4 *matrix, MtxF *mf, u8 mode)
Definition FrameInterpolation.cpp:713
void FrameInterpolation_RecordMatrixScale(Mat4 *matrix, f32 scale)
Definition FrameInterpolation.cpp:735
void FrameInterpolation_RecordSetTransformMatrix(Mat4 *dest, Vec3f orientationVector, Vec3f positionVector, u16 rotationAngle, f32 scaleFactor)
Definition FrameInterpolation.cpp:749
void FrameInterpolation_RecordMatrixToMtx(Mtx *dest, char *file, s32 line)
Definition FrameInterpolation.cpp:817
void FrameInterpolation_RecordMatrixPosRotScaleXY(Mat4 *matrix, s32 x, s32 y, u16 angle, f32 scale)
Definition FrameInterpolation.cpp:789
void FrameInterpolation_StartRecord(void)
Definition FrameInterpolation.cpp:619
void FrameInterpolation_RecordSetMatrixTransformation(Mat4 *dest, Vec3f location, Vec3su rotation, f32 scale)
Definition FrameInterpolation.cpp:763
f32 Vec3f[3]
Definition common_structs.h:10
u16 Vec3su[3]
Definition common_structs.h:16
s16 Vec3s[3]
Definition common_structs.h:15
f32 Mat4[4][4]
Definition common_structs.h:20
f32 Mat3[3][3]
Definition common_structs.h:19
uint16_t out
Definition mixer.c:81
Definition CoreMath.h:30
Definition CoreMath.h:141