Mario Kart 64
Loading...
Searching...
No Matches
FrameInterpolation.cpp File Reference
#include <libultraship/bridge.h>
#include <vector>
#include <map>
#include <unordered_map>
#include <math.h>
#include "port/Engine.h"
#include "FrameInterpolation.h"
#include "matrix.h"
#include "engine/Matrix.h"
#include "src/engine/CoreMath.h"
#include "math_util.h"
#include "math_util_2.h"
#include "render_player.h"
Include dependency graph for FrameInterpolation.cpp:

Functions

void mtxf_translate (Mat4, Vec3f)
 
static bool invert_matrix (const float m[16], float invOut[16])
 
unordered_map< Mtx *, MtxF > FrameInterpolation_Interpolate (float step)
 
void FrameInterpolation_ShouldInterpolateFrame (bool shouldInterpolate)
 
bool check_if_recording ()
 
void FrameInterpolation_StartRecord (void)
 
void FrameInterpolation_StopRecord (void)
 
void FrameInterpolation_RecordOpenChild (const void *a, uintptr_t b)
 
void FrameInterpolation_RecordCloseChild (void)
 
void FrameInterpolation_DontInterpolateCamera (void)
 
int FrameInterpolation_GetCameraEpoch (void)
 
void FrameInterpolation_Record_SetTextMatrix (Mat4 *matrix, f32 x, f32 y, f32 arg3, f32 arg4)
 
void FrameInterpolation_RecordActorPosRotMatrix (void)
 
void FrameInterpolation_RecordMatrixPush (Mat4 *matrix)
 
void FrameInterpolation_RecordMarker (const char *file, int line)
 
void FrameInterpolation_RecordMatrixPop (Mat4 *matrix)
 
void FrameInterpolation_RecordMatrixPut (MtxF *src)
 
void FrameInterpolation_RecordMatrixMult (Mat4 *matrix, MtxF *mf, u8 mode)
 
void FrameInterpolation_ApplyMatrixTransformations (Mat4 *matrix, FVector pos, IRotator rot, FVector scale)
 
void FrameInterpolation_RecordMatrixTranslate (Mat4 *matrix, Vec3f b)
 
void FrameInterpolation_RecordMatrixScale (Mat4 *matrix, f32 scale)
 
void FrameInterpolation_RecordMatrixMultVec3fNoTranslate (Mat4 *matrix, Vec3f src, Vec3f dest)
 
void FrameInterpolation_RecordSetTransformMatrix (Mat4 *dest, Vec3f orientationVector, Vec3f positionVector, u16 rotationAngle, f32 scaleFactor)
 
void FrameInterpolation_RecordTranslateRotate (Mat4 *dest, Vec3f pos, Vec3s rotation)
 
void FrameInterpolation_RecordSetMatrixTransformation (Mat4 *dest, Vec3f location, Vec3su rotation, f32 scale)
 
void FrameInterpolation_RecordCalculateOrientationMatrix (Mat3 *dest, f32 x, f32 y, f32 z, s16 rot)
 
void FrameInterpolation_RecordMatrixPosRotXYZ (Mat4 *out, Vec3f pos, Vec3s orientation)
 
void FrameInterpolation_RecordMatrixPosRotScaleXY (Mat4 *matrix, s32 x, s32 y, u16 angle, f32 scale)
 
void FrameInterpolation_RecordMatrixMultVec3f (Mat4 *matrix, Vec3f src, Vec3f dest)
 
void FrameInterpolation_RecordMatrixRotate1Coord (Mat4 *matrix, u32 coord, s16 value)
 
void FrameInterpolation_RecordMatrixMtxFToMtx (MtxF *src, Mtx *dest)
 
void FrameInterpolation_RecordMatrixToMtx (Mtx *dest, char *file, s32 line)
 
void FrameInterpolation_RecordMatrixRotateAxis (f32 angle, Vec3f *axis, u8 mode)
 
void FrameInterpolation_RecordSkinMatrixMtxFToMtx (MtxF *src, Mtx *dest)
 

Variables

Mat4gInterpolationMatrix
 
bool camera_interpolation = true
 

Function Documentation

◆ check_if_recording()

bool check_if_recording ( )
Here is the caller graph for this function:

◆ FrameInterpolation_ApplyMatrixTransformations()

void FrameInterpolation_ApplyMatrixTransformations ( Mat4 * matrix,
FVector pos,
IRotator rot,
FVector scale )

◆ FrameInterpolation_DontInterpolateCamera()

void FrameInterpolation_DontInterpolateCamera ( void )

◆ FrameInterpolation_GetCameraEpoch()

int FrameInterpolation_GetCameraEpoch ( void )
Here is the caller graph for this function:

◆ FrameInterpolation_Interpolate()

unordered_map< Mtx *, MtxF > FrameInterpolation_Interpolate ( float step)

◆ FrameInterpolation_Record_SetTextMatrix()

void FrameInterpolation_Record_SetTextMatrix ( Mat4 * matrix,
f32 x,
f32 y,
f32 arg3,
f32 arg4 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordActorPosRotMatrix()

void FrameInterpolation_RecordActorPosRotMatrix ( void )
Here is the call graph for this function:

◆ FrameInterpolation_RecordCalculateOrientationMatrix()

void FrameInterpolation_RecordCalculateOrientationMatrix ( Mat3 * dest,
f32 x,
f32 y,
f32 z,
s16 rot )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordCloseChild()

void FrameInterpolation_RecordCloseChild ( void )
Here is the call graph for this function:

◆ FrameInterpolation_RecordMarker()

void FrameInterpolation_RecordMarker ( const char * file,
int line )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordMatrixMtxFToMtx()

void FrameInterpolation_RecordMatrixMtxFToMtx ( MtxF * src,
Mtx * dest )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordMatrixMult()

void FrameInterpolation_RecordMatrixMult ( Mat4 * matrix,
MtxF * mf,
u8 mode )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordMatrixMultVec3f()

void FrameInterpolation_RecordMatrixMultVec3f ( Mat4 * matrix,
Vec3f src,
Vec3f dest )
Here is the call graph for this function:

◆ FrameInterpolation_RecordMatrixMultVec3fNoTranslate()

void FrameInterpolation_RecordMatrixMultVec3fNoTranslate ( Mat4 * matrix,
Vec3f src,
Vec3f dest )
Here is the call graph for this function:

◆ FrameInterpolation_RecordMatrixPop()

void FrameInterpolation_RecordMatrixPop ( Mat4 * matrix)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordMatrixPosRotScaleXY()

void FrameInterpolation_RecordMatrixPosRotScaleXY ( Mat4 * matrix,
s32 x,
s32 y,
u16 angle,
f32 scale )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordMatrixPosRotXYZ()

void FrameInterpolation_RecordMatrixPosRotXYZ ( Mat4 * out,
Vec3f pos,
Vec3s orientation )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordMatrixPush()

void FrameInterpolation_RecordMatrixPush ( Mat4 * matrix)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordMatrixPut()

void FrameInterpolation_RecordMatrixPut ( MtxF * src)
Here is the call graph for this function:

◆ FrameInterpolation_RecordMatrixRotate1Coord()

void FrameInterpolation_RecordMatrixRotate1Coord ( Mat4 * matrix,
u32 coord,
s16 value )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordMatrixRotateAxis()

void FrameInterpolation_RecordMatrixRotateAxis ( f32 angle,
Vec3f * axis,
u8 mode )
Here is the call graph for this function:

◆ FrameInterpolation_RecordMatrixScale()

void FrameInterpolation_RecordMatrixScale ( Mat4 * matrix,
f32 scale )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordMatrixToMtx()

void FrameInterpolation_RecordMatrixToMtx ( Mtx * dest,
char * file,
s32 line )
Here is the call graph for this function:

◆ FrameInterpolation_RecordMatrixTranslate()

void FrameInterpolation_RecordMatrixTranslate ( Mat4 * matrix,
Vec3f b )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordOpenChild()

void FrameInterpolation_RecordOpenChild ( const void * a,
uintptr_t b )
Here is the call graph for this function:

◆ FrameInterpolation_RecordSetMatrixTransformation()

void FrameInterpolation_RecordSetMatrixTransformation ( Mat4 * dest,
Vec3f location,
Vec3su rotation,
f32 scale )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordSetTransformMatrix()

void FrameInterpolation_RecordSetTransformMatrix ( Mat4 * dest,
Vec3f orientationVector,
Vec3f positionVector,
u16 rotationAngle,
f32 scaleFactor )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_RecordSkinMatrixMtxFToMtx()

void FrameInterpolation_RecordSkinMatrixMtxFToMtx ( MtxF * src,
Mtx * dest )
Here is the call graph for this function:

◆ FrameInterpolation_RecordTranslateRotate()

void FrameInterpolation_RecordTranslateRotate ( Mat4 * dest,
Vec3f pos,
Vec3s rotation )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameInterpolation_ShouldInterpolateFrame()

void FrameInterpolation_ShouldInterpolateFrame ( bool shouldInterpolate)
Here is the caller graph for this function:

◆ FrameInterpolation_StartRecord()

void FrameInterpolation_StartRecord ( void )
Here is the caller graph for this function:

◆ FrameInterpolation_StopRecord()

void FrameInterpolation_StopRecord ( void )
Here is the caller graph for this function:

◆ invert_matrix()

static bool invert_matrix ( const float m[16],
float invOut[16] )
static

◆ mtxf_translate()

void mtxf_translate ( Mat4 dest,
Vec3f b )
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ camera_interpolation

bool camera_interpolation = true

◆ gInterpolationMatrix

Mat4* gInterpolationMatrix
extern