59#define MTXDegToRad(a) ((a) * 0.01745329252f)
60#define MTXRadToDeg(a) ((a) * 57.29577951f)
69#define VECSquareMag C_VECSquareMag
70#define VECNormalize C_VECNormalize
71#define VECAdd C_VECAdd
72#define VECSubtract C_VECSubtract
73#define VECMag C_VECMag
74#define VECDotProduct C_VECDotProduct
75#define VECSquareDistance C_VECSquareDistance
76#define VECCrossProduct C_VECCrossProduct
77#define VECScale C_VECScale
78#define MTXMultVec C_MTXMultVec
79#define MTXMultVecSR C_MTXMultVecSR
80#define MTXMultVecArray C_MTXMultVecArray
81#define MTXCopy C_MTXCopy
82#define MTXConcat C_MTXConcat
83#define MTXInverse C_MTXInverse
84#define MTXTranspose C_MTXTranspose
85#define MTXScale C_MTXScale
86#define MTXRotAxisRad C_MTXRotAxisRad
87#define MTXRotTrig C_MTXRotTrig
88#define MTXQuat C_MTXQuat
89#define MTXIdentity C_MTXIdentity
91#define VECSquareMag PSVECSquareMag
92#define VECNormalize PSVECNormalize
93#define VECAdd PSVECAdd
94#define VECSubtract PSVECSubtract
95#define VECMag PSVECMag
96#define VECDotProduct PSVECDotProduct
97#define VECSquareDistance PSVECSquareDistance
98#define VECCrossProduct PSVECCrossProduct
99#define VECScale PSVECScale
100#define MTXMultVec PSMTXMultVec
101#define MTXMultVecSR PSMTXMultVecSR
102#define MTXMultVecArray PSMTXMultVecArray
103#define MTXCopy PSMTXCopy
104#define MTXConcat PSMTXConcat
105#define MTXInverse PSMTXInverse
106#define MTXTrans PSMTXTrans
107#define MTXTranspose PSMTXTranspose
108#define MTXScale PSMTXScale
109#define MTXRotAxisRad PSMTXRotAxisRad
110#define MTXRotTrig PSMTXRotTrig
111#define MTXQuat PSMTXQuat
112#define MTXIdentity PSMTXIdentity
116#define MTXReorder PSMTXReorder
117#define MTXROMultVecArray PSMTXROMultVecArray
118#define MTXROSkin2VecArray PSMTXROSkin2VecArray
119#define MTXROMultS16VecArray PSMTXROMultS16VecArray
120#define MTXMultS16VecArray PSMTXMultS16VecArray
const void * src
Definition __os.h:108
static float const scale
Definition itlgunray.c:22
void MTXFrustum(Mtx m, f32 t, f32 b, f32 l, f32 r, f32 n, f32 f)
Definition mtx44.c:10
void MTXLightOrtho(Mtx m, f32 t, f32 b, f32 l, f32 r, f32 scaleS, f32 scaleT, f32 transS, f32 transT)
Definition mtx.c:1052
void PSMTXMultVec(Mtx44 m, Vec *src, Vec *dst)
#define MTXTrans
Definition mtx.h:106
Mtx * MTXGetStackPtr(MTXStack *sPtr)
Definition mtxstack.c:129
void C_MTXQuat(Mtx m, QuaternionPtr q)
Definition mtx.c:852
f32(* Mtx44Ptr)[4]
Definition mtx.h:54
u32 PSMTXInvXpose(Mtx src, Mtx invX)
void PSVECSubtract(Vec *a, Vec *b, Vec *c)
struct S32Vec2 * S32Vec2Ptr
void VECHalfAngle(Vec *a, Vec *b, Vec *half)
Definition vec.c:232
void PSMTXROMultVecArray(ROMtx *m, Vec *srcBase, Vec *dstBase, u32 count)
f32 C_VECDotProduct(Vec *a, Vec *b)
Definition vec.c:172
void MTXTransApply(Mtx src, Mtx dst, f32 xT, f32 yT, f32 zT)
Definition mtx.c:726
void MTXReflect(Mtx m, Vec *p, Vec *n)
Definition mtx.c:900
void C_MTXMultVecSR(Mtx44 m, Vec *src, Vec *dst)
Definition mtxvec.c:154
void C_MTXLookAt(Mtx m, Point3dPtr camPos, VecPtr camUp, Point3dPtr target)
void MTXPerspective(Mtx m, f32 fovY, f32 aspect, f32 n, f32 f)
Definition mtx44.c:42
f32 C_VECSquareDistance(Vec *a, Vec *b)
Definition vec.c:279
struct S16Vec * S16VecPtr
void PSMTXROMultS16VecArray(ROMtx *m, S16Vec *srcBase, Vec *dstBase, u32 count)
void C_MTXConcat(Mtx a, Mtx b, Mtx ab)
Definition mtx.c:90
void PSMTXCopy(Mtx src, Mtx dst)
f32(* ROMtxPtr)[3]
Definition mtx.h:57
void PSMTXROSkin2VecArray(ROMtx *m0, ROMtx *m1, f32 *wtBase, Vec *srcBase, Vec *dstBase, u32 count)
void PSMTXReorder(Mtx src, ROMtx dest)
void PSVECCrossProduct(Vec *vec1, Vec *vec2, Vec *dst)
void PSVECAdd(Vec *a, Vec *b, Vec *c)
f32 PSVECDotProduct(Vec *vec1, Vec *vec2)
void C_VECScale(Vec *src, Vec *dst, f32 scale)
Definition vec.c:57
void MTXLightFrustum(Mtx m, f32 t, f32 b, f32 l, f32 r, f32 n, f32 scaleS, f32 scaleT, f32 transS, f32 transT)
Definition mtx.c:994
void PSMTXMultVecArray(Mtx m, Vec *srcBase, Vec *dstBase, u32 count)
struct S8Vec3 * S8Vec3Ptr
struct S32Vec * S32Vec3Ptr
void PSVECNormalize(Vec *vec1, Vec *dst)
u32 C_MTXInverse(Mtx src, Mtx inv)
Definition mtx.c:265
void C_MTXCopy(Mtx src, Mtx dst)
Definition mtx.c:52
Mtx * MTXPop(MTXStack *sPtr)
Definition mtxstack.c:113
void C_MTXIdentity(Mtx m)
Definition mtx.c:14
u32 C_MTXInvXpose(Mtx src, Mtx invX)
Definition mtx.c:381
void PSMTXMultVecSR(Mtx44 m, Vec *src, Vec *dst)
f32 PSVECSquareMag(Vec *vec1)
void PSMTXIdentity(Mtx m)
struct U8Vec4 * U8Vec4Ptr
struct IntVec2 * IntVec2Ptr
f32(* MtxPtr)[4]
Definition mtx.h:53
struct Quaternion * QuaternionPtr
void C_MTXRotAxisRad(Mtx m, Vec *axis, f32 rad)
Definition mtx.c:667
void PSMTXRotTrig(Mtx m, char axis, f32 sinA, f32 cosA)
void MTXScaleApply(Mtx src, Mtx dst, f32 xS, f32 yS, f32 zS)
Definition mtx.c:784
void PSMTXRotAxisRad(Mtx m, Vec *axis, f32 rad)
void PSMTXScale(Mtx m, f32 xS, f32 yS, f32 zS)
f32 ROMtx[4][3]
Definition mtx.h:56
void C_VECAdd(Vec *a, Vec *b, Vec *c)
Definition vec.c:9
void C_MTXMultVec(Mtx44 m, Vec *src, Vec *dst)
Definition mtxvec.c:7
f32 PSVECSquareDistance(Vec *vec1, Vec *vec2)
void PSVECScale(Vec *src, Vec *dst, f32 scale)
void PSMTXQuat(Mtx m, QuaternionPtr q)
void PSMTXTranspose(Mtx src, Mtx xPose)
void MTXOrtho(Mtx m, f32 t, f32 b, f32 l, f32 r, f32 n, f32 f)
Definition mtx44.c:75
void MTXLightPerspective(Mtx m, f32 fovY, f32 aspect, f32 scaleS, f32 scaleT, f32 transS, f32 transT)
Definition mtx.c:1023
struct Quaternion * QtrnPtr
Mtx * MTXPushInvXpose(MTXStack *sPtr, Mtx m)
Definition mtxstack.c:87
Mtx * MTXPushInv(MTXStack *sPtr, Mtx m)
Definition mtxstack.c:62
void C_VECSubtract(Vec *a, Vec *b, Vec *c)
Definition vec.c:33
Mtx * MTXPush(MTXStack *sPtr, Mtx m)
Definition mtxstack.c:19
struct S16Vec * S16Vec3Ptr
void PSMTXConcat(Mtx mA, Mtx mB, Mtx mAB)
f32 C_VECSquareMag(Vec *v)
Definition vec.c:126
u32 PSMTXInverse(Mtx src, Mtx inv)
void C_MTXMultVecArray(Mtx m, Vec *srcBase, Vec *dstBase, u32 count)
Definition mtxvec.c:80
struct S32Vec * S32VecPtr
void MTXMultVecArraySR(Mtx44 m, Vec *srcBase, Vec *dstBase, u32 count)
Definition mtxvec.c:169
void VECReflect(Vec *src, Vec *normal, Vec *dst)
Definition vec.c:257
void C_MTXRotTrig(Mtx m, char axis, f32 sinA, f32 cosA)
Definition mtx.c:558
struct IntVec3 * IntVec3Ptr
void MTXInitStack(MTXStack *sPtr, u32 numMtx)
Definition mtxstack.c:8
f32 C_VECMag(Vec *v)
Definition vec.c:167
void C_MTXScale(Mtx m, f32 xS, f32 yS, f32 zS)
Definition mtx.c:767
f32 Mtx44[4][4]
Definition mtx.h:51
void PSMTXMultS16VecArray(Mtx44 *m, S16Vec *srcBase, Vec *dstBase, u32 count)
void MTXRotRad(Mtx m, char axis, f32 rad)
Definition mtx.c:486
f32 VECDistance(Vec *a, Vec *b)
Definition vec.c:303
void C_VECNormalize(Vec *src, Vec *unit)
Definition vec.c:78
void MTXLookAt(Mtx m, Vec *camPos, Vec *camUp, Vec *target)
Definition mtx.c:925
f32 Mtx[3][4]
Definition mtx.h:50
void C_MTXTranspose(Mtx src, Mtx xPose)
Definition mtx.c:195
Mtx * MTXPushFwd(MTXStack *sPtr, Mtx m)
Definition mtxstack.c:39
void C_VECCrossProduct(Vec *a, Vec *b, Vec *axb)
Definition vec.c:195
signed int s32
Definition types.h:12
unsigned int u32
Definition types.h:13
signed char s8
Definition types.h:4
signed short int s16
Definition types.h:6
float f32
Definition types.h:18
unsigned char u8
Definition types.h:5
u32 numMtx
Definition mtx.h:163
Mtx * stackBase
Definition mtx.h:164
Mtx * stackPtr
Definition mtx.h:165
GXColorS10 a
Definition tev.c:9