Mario Kart 64
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))
24#define TAG_OBJECT(x) ((u32)0x40000000 | (u32) (uintptr_t) (x))
25
26void FrameInterpolation_ShouldInterpolateFrame(bool shouldInterpolate);
27
29
31
33
34void FrameInterpolation_RecordMarker(const char* file, int line);
35
36void FrameInterpolation_RecordOpenChild(const void* a, uintptr_t b);
37
39
41
43
45
47
48void FrameInterpolation_RecordMatrixPosRotScaleXY(Mat4* matrix, s32 x, s32 y, u16 angle, f32 scale);
49
50void FrameInterpolation_Record_SetTextMatrix(Mat4* matrix, f32 x, f32 y, f32 arg3, f32 arg4);
51
53
55
56void FrameInterpolation_RecordMatrixMult(Mat4* matrix, MtxF* mf, u8 mode);
57
59
60void FrameInterpolation_RecordMatrixScale(Mat4* matrix, f32 scale);
61
62void FrameInterpolation_RecordMatrixRotate1Coord(Mat4* matrix, u32 coord, s16 value);
63
64void FrameInterpolation_RecordMatrixMtxFToMtx(MtxF* src, Mtx* dest);
65
66void FrameInterpolation_RecordMatrixToMtx(Mtx* dest, char* file, s32 line);
67
69
70//void FrameInterpolation_RecordMatrixRotateAxis(f32 angle, Vec3f* axis, u8 mode);
71
72void FrameInterpolation_RecordSkinMatrixMtxFToMtx(MtxF* src, Mtx* dest);
73
74//void FrameInterpolation_RecordMatrixMultVec3f(Matrix* matrix, Vec3f src, Vec3f dest);
75
76//void FrameInterpolation_RecordMatrixMultVec3fNoTranslate(Matrix* matrix, Vec3f src, Vec3f dest);
77
78void FrameInterpolation_RecordSetTransformMatrix(Mat4* dest, Vec3f orientationVector, Vec3f positionVector, u16 rotationAngle,
79 f32 scaleFactor);
80
81void FrameInterpolation_RecordSetMatrixTransformation(Mat4* dest, Vec3f location, Vec3su rotation, f32 scale);
82
84
86
87//void FrameInterpolation_func_80062B18(f32* arg0, f32* arg1, f32* arg2, arg3, arg4, arg5, arg6, arg7);
88
89#ifdef __cplusplus
90}
91#endif
92
93#endif // __FRAME_INTERPOLATION_H
void FrameInterpolation_ApplyMatrixTransformations(Mat4 *matrix, FVector pos, IRotator rot, FVector scale)
Definition FrameInterpolation.cpp:726
unordered_map< Mtx *, MtxF > FrameInterpolation_Interpolate(float step)
Definition FrameInterpolation.cpp:606
bool check_if_recording()
Definition FrameInterpolation.cpp:621
void FrameInterpolation_RecordOpenChild(const void *a, uintptr_t b)
Definition FrameInterpolation.cpp:646
void FrameInterpolation_ShouldInterpolateFrame(bool shouldInterpolate)
Definition FrameInterpolation.cpp:616
void FrameInterpolation_RecordActorPosRotMatrix(void)
Definition FrameInterpolation.cpp:682
void FrameInterpolation_RecordSkinMatrixMtxFToMtx(MtxF *src, Mtx *dest)
Definition FrameInterpolation.cpp:840
void FrameInterpolation_StopRecord(void)
Definition FrameInterpolation.cpp:641
void FrameInterpolation_RecordCloseChild(void)
Definition FrameInterpolation.cpp:656
void FrameInterpolation_RecordMatrixPosRotXYZ(Mat4 *out, Vec3f pos, Vec3s orientation)
Definition FrameInterpolation.cpp:785
void FrameInterpolation_RecordMarker(const char *file, int line)
Definition FrameInterpolation.cpp:697
void FrameInterpolation_DontInterpolateCamera(void)
Definition FrameInterpolation.cpp:667
void FrameInterpolation_Record_SetTextMatrix(Mat4 *matrix, f32 x, f32 y, f32 arg3, f32 arg4)
Definition FrameInterpolation.cpp:675
void FrameInterpolation_RecordCalculateOrientationMatrix(Mat3 *, f32, f32, f32, s16)
Definition FrameInterpolation.cpp:775
void FrameInterpolation_RecordMatrixMtxFToMtx(MtxF *src, Mtx *dest)
Definition FrameInterpolation.cpp:813
void FrameInterpolation_RecordMatrixReplaceRotation(MtxF *mf)
void FrameInterpolation_RecordMatrixTranslate(Mat4 *matrix, Vec3f b)
Definition FrameInterpolation.cpp:732
void FrameInterpolation_RecordTranslateRotate(Mat4 *dest, Vec3f pos, Vec3s rotation)
Definition FrameInterpolation.cpp:762
void FrameInterpolation_RecordMatrixRotate1Coord(Mat4 *matrix, u32 coord, s16 value)
Definition FrameInterpolation.cpp:806
int FrameInterpolation_GetCameraEpoch(void)
Definition FrameInterpolation.cpp:671
void FrameInterpolation_RecordMatrixMult(Mat4 *matrix, MtxF *mf, u8 mode)
Definition FrameInterpolation.cpp:719
void FrameInterpolation_RecordMatrixPop(Mat4 *matrix)
Definition FrameInterpolation.cpp:705
void FrameInterpolation_RecordMatrixScale(Mat4 *matrix, f32 scale)
Definition FrameInterpolation.cpp:740
void FrameInterpolation_RecordSetTransformMatrix(Mat4 *dest, Vec3f orientationVector, Vec3f positionVector, u16 rotationAngle, f32 scaleFactor)
Definition FrameInterpolation.cpp:754
void FrameInterpolation_RecordMatrixToMtx(Mtx *dest, char *file, s32 line)
Definition FrameInterpolation.cpp:820
void FrameInterpolation_RecordMatrixPosRotScaleXY(Mat4 *matrix, s32 x, s32 y, u16 angle, f32 scale)
Definition FrameInterpolation.cpp:792
void FrameInterpolation_StartRecord(void)
Definition FrameInterpolation.cpp:625
void FrameInterpolation_RecordSetMatrixTransformation(Mat4 *dest, Vec3f location, Vec3su rotation, f32 scale)
Definition FrameInterpolation.cpp:768
void FrameInterpolation_RecordMatrixPush(Mat4 *matrix)
Definition FrameInterpolation.cpp:689
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:18
Definition CoreMath.h:123