Files
af/include/m_skin_matrix.h
Prakxo fcdb637629 m_skin_matrix OK (#164)
* m_skin_matrix OK

* protos
2024-04-08 14:38:30 -07:00

40 lines
1.9 KiB
C

#ifndef M_SKIN_MATRIX_H
#define M_SKIN_MATRIX_H
#include "ultra64.h"
#include "z64math.h"
struct GraphicsContext;
void Skin_Matrix_PrjMulVector(MtxF* mf, xyz_t* src, xyz_t* xyzDest, f32* wDest);
void Skin_Matrix_MulVector(MtxF* mf, xyz_t* src, xyz_t* dest);
void Skin_Matrix_MulMatrix(MtxF* mfA, MtxF* mfB, MtxF* dest);
void Skin_Matrix_getUnitMatrixPointer(MtxF** mtxP);
void Skin_Matrix_SetUnitMatrix(MtxF* mf);
void Skin_Matrix_Copy(MtxF* src, MtxF* dest);
s32 Skin_Matrix_InverseMatrix(MtxF* src, MtxF* dest);
void Skin_Matrix_SetScale(MtxF* mf, f32 x, f32 y, f32 z);
void Skin_Matrix_SetRotateXyz_s(MtxF* mf, s16 x, s16 y, s16 z);
void Skin_Matrix_SetRotateZxy_s(MtxF* mf, s16 x, s16 y, s16 z);
void Skin_Matrix_SetTranslate(MtxF* mf, f32 x, f32 y, f32 z);
void Skin_Matrix_SetSrtMatrix(MtxF* dest, f32 scaleX, f32 scaleY, f32 scaleZ, s16 rotX, s16 rotY, s16 rotZ,
f32 translateX, f32 translateY, f32 translateZ);
void Skin_Matrix_SetSRzxyTMatrix(MtxF* dest, f32 scaleX, f32 scaleY, f32 scaleZ, s16 rotX, s16 rotY, s16 rotZ,
f32 translateX, f32 translateY, f32 translateZ);
void Skin_Matrix_SetRtMatrix(MtxF* dest, s16 rotX, s16 rotY, s16 rotZ, f32 translateX, f32 translateY, f32 translateZ);
void Skin_Matrix_vec2svec(xyz_t* src, s_xyz* dest);
void Skin_Matrix_svec2vec(s_xyz* src, xyz_t* dest);
void Skin_Matrix_to_Mtx(MtxF* src, Mtx* dest);
Mtx* Skin_Matrix_to_Mtx_new(struct GraphicsContext* gfxctx, MtxF* src);
void Skin_Matrix_SetFreeVecRotMatrix(MtxF* mf, s16 angle, f32 axisX, f32 axisY, f32 axisZ);
void Skin_Matrix_SetQuaternion(MtxF* mf, f32* q);
void Skin_Matrix_setRotateX(MtxF* mf, s16 x);
void Skin_Matrix_mulRotateX(MtxF* cmf, s16 x);
void Skin_Matrix_setRotateY(MtxF* mf, s16 y);
void Skin_Matrix_mulRotateY(MtxF* cmf, s16 y);
void Skin_Matrix_setRotateZ(MtxF* mf, s16 z);
void Skin_Matrix_mulRotateZ(MtxF* cmf, s16 z);
#endif