SSBM Decomp
Loading...
Searching...
No Matches
mtx.c File Reference
#include "mtx.h"
#include "debug.h"
#include "math.h"
#include <MSL/math_ppc.h>
#include <MSL/trigf.h>

Macros

#define EPSILON   0.0000000001f
#define FLOAT_MIN   1.1754943E-38f

Functions

f32 HSD_CalcDeterminantMatrix3x4 (Mtx m)
 Calculates the determinant of the top 3x3 section of a 3x4 matrix.
void HSD_MtxInverse (Mtx src, Mtx dest)
void HSD_MtxInverseConcat (Mtx inv, Mtx src, Mtx dest)
 https://decomp.me/scratch/kalJY
void HSD_MtxInverseTranspose (Mtx src, Mtx dest)
f32 calcVal (f32 x, f32 y)
void HSD_MtxGetRotation (Mtx m, Vec3 *vec)
void HSD_MtxGetTranslate (Mtx mat, Vec3 *vec)
 These parameters may not be right.
void HSD_MtxGetScale (Mtx arg0, Vec3 *arg1)
void HSD_MkRotationMtx (Mtx arg0, Vec3 *arg1)
void HSD_MtxQuat (Mtx arg0, Quaternion *arg1)
void HSD_MtxSRT (Mtx m, Vec3 *vec1, Vec3 *vec2, Vec3 *vec3, Vec3 *vec4)
void HSD_MtxSRTQuat (Mtx arg0, Vec3 *arg1, Quaternion *arg2, Vec3 *arg3, Vec3 *arg4)
void HSD_MtxScaledAdd (Mtx arg0, Mtx arg1, Mtx arg2, f32 arg3)
 might be a fakematch?
void * HSD_VecAlloc (void)
void HSD_VecFree (void *arg0)
void * HSD_MtxAlloc (void)
void HSD_MtxFree (void *arg0)
HSD_ObjAllocDataHSD_VecGetAllocData (void)
void HSD_VecInitAllocData (void)
HSD_ObjAllocDataHSD_MtxGetAllocData (void)
void HSD_MtxInitAllocData (void)

Variables

HSD_ObjAllocData HSD_Mtx_804C2310
HSD_ObjAllocData HSD_Mtx_804C233C

Macro Definition Documentation

◆ EPSILON

#define EPSILON   0.0000000001f

◆ FLOAT_MIN

#define FLOAT_MIN   1.1754943E-38f

Function Documentation

◆ HSD_CalcDeterminantMatrix3x4()

f32 HSD_CalcDeterminantMatrix3x4 ( Mtx m)
inline

Calculates the determinant of the top 3x3 section of a 3x4 matrix.

◆ HSD_MtxInverse()

void HSD_MtxInverse ( Mtx src,
Mtx dest )

◆ HSD_MtxInverseConcat()

void HSD_MtxInverseConcat ( Mtx inv,
Mtx src,
Mtx dest )

https://decomp.me/scratch/kalJY

<

Todo
try to get rid of this

◆ HSD_MtxInverseTranspose()

void HSD_MtxInverseTranspose ( Mtx src,
Mtx dest )

◆ calcVal()

f32 calcVal ( f32 x,
f32 y )
inline

◆ HSD_MtxGetRotation()

void HSD_MtxGetRotation ( Mtx m,
Vec3 * vec )

◆ HSD_MtxGetTranslate()

void HSD_MtxGetTranslate ( Mtx mat,
Vec3 * vec )

These parameters may not be right.

◆ HSD_MtxGetScale()

void HSD_MtxGetScale ( Mtx arg0,
Vec3 * arg1 )

◆ HSD_MkRotationMtx()

void HSD_MkRotationMtx ( Mtx arg0,
Vec3 * arg1 )

◆ HSD_MtxQuat()

void HSD_MtxQuat ( Mtx arg0,
Quaternion * arg1 )

◆ HSD_MtxSRT()

void HSD_MtxSRT ( Mtx m,
Vec3 * vec1,
Vec3 * vec2,
Vec3 * vec3,
Vec3 * vec4 )

◆ HSD_MtxSRTQuat()

void HSD_MtxSRTQuat ( Mtx arg0,
Vec3 * arg1,
Quaternion * arg2,
Vec3 * arg3,
Vec3 * arg4 )

◆ HSD_MtxScaledAdd()

void HSD_MtxScaledAdd ( Mtx arg0,
Mtx arg1,
Mtx arg2,
f32 arg3 )

might be a fakematch?

◆ HSD_VecAlloc()

void * HSD_VecAlloc ( void )

◆ HSD_VecFree()

void HSD_VecFree ( void * arg0)

◆ HSD_MtxAlloc()

void * HSD_MtxAlloc ( void )

◆ HSD_MtxFree()

void HSD_MtxFree ( void * arg0)

◆ HSD_VecGetAllocData()

HSD_ObjAllocData * HSD_VecGetAllocData ( void )

◆ HSD_VecInitAllocData()

void HSD_VecInitAllocData ( void )

◆ HSD_MtxGetAllocData()

HSD_ObjAllocData * HSD_MtxGetAllocData ( void )

◆ HSD_MtxInitAllocData()

void HSD_MtxInitAllocData ( void )

Variable Documentation

◆ HSD_Mtx_804C2310

HSD_ObjAllocData HSD_Mtx_804C2310

◆ HSD_Mtx_804C233C

HSD_ObjAllocData HSD_Mtx_804C233C