30#define M_PI 3.14159265358979323846f
31#define M_RTOD (180.0f / M_PI)
32#define SQ(val) ((val) * (val))
34#define qs1616(e) ((s32) ((e) *0x00010000))
36#define IPART(x) ((qs1616(x) >> 16) & 0xFFFF)
37#define FPART(x) (qs1616(x) & 0xFFFF)
39#define gdSPDefMtx(xx, yx, zx, wx, xy, yy, zy, wy, xz, yz, zz, wz, xw, yw, zw, ww) \
42 (IPART(xx) << 0x10) | IPART(xy), (IPART(xz) << 0x10) | IPART(xw), (IPART(yx) << 0x10) | IPART(yy), \
43 (IPART(yz) << 0x10) | IPART(yw), (IPART(zx) << 0x10) | IPART(zy), (IPART(zz) << 0x10) | IPART(zw), \
44 (IPART(wx) << 0x10) | IPART(wy), (IPART(wz) << 0x10) | IPART(ww), (FPART(xx) << 0x10) | FPART(xy), \
45 (FPART(xz) << 0x10) | FPART(xw), (FPART(yx) << 0x10) | FPART(yy), (FPART(yz) << 0x10) | FPART(yw), \
46 (FPART(zx) << 0x10) | FPART(zy), (FPART(zz) << 0x10) | FPART(zw), (FPART(wx) << 0x10) | FPART(wy), \
47 (FPART(wz) << 0x10) | FPART(ww), \
87void Matrix_LookAt(
Matrix*
mtx, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp,
90void Lights_SetOneLight(Gfx** dList, s32 dirX, s32 dirY, s32 dirZ, s32 colR, s32 colG, s32 colB, s32 ambR, s32 ambG, s32 ambB);
f32 Vec3f[3]
Definition common_structs.h:10
Matrix sGfxMatrixStack[0x20]
Definition matrix.c:16
Mtx gMainMatrixStack[0x480]
Definition matrix.c:20
Mtx * gGfxMtx
Definition matrix.c:21
Matrix * gGfxMatrix
Definition matrix.c:15
Mtx gIdentityMtx
Definition matrix.c:7
Matrix * gCalcMatrix
Definition matrix.c:17
Matrix sCalcMatrixStack[0x20]
Definition matrix.c:18
Matrix gIdentityMatrix
Definition matrix.c:8
void Matrix_MultVec3fNoTranslate(Matrix *mtx, Vec3f *src, Vec3f *dest)
Definition matrix.c:371
void Lights_SetOneLight(Gfx **dList, s32 dirX, s32 dirY, s32 dirZ, s32 colR, s32 colG, s32 colB, s32 ambR, s32 ambG, s32 ambB)
void Matrix_ToMtx(Mtx *dest)
Definition matrix.c:352
void Matrix_RotateAxis(Matrix *mtx, f32 angle, f32 axisX, f32 axisY, f32 axisZ, u8 mode)
Definition matrix.c:258
void Matrix_InitPerspective(Gfx **dList)
Definition matrix.c:23
void Matrix_FromMtx(Mtx *src, Matrix *dest)
Definition matrix.c:358
void Matrix_Copy(Matrix *dst, Matrix *src)
Definition matrix.c:50
void Matrix_LookAt(Matrix *mtx, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp, u8 mode)
Definition matrix.c:439
void Matrix_SetGfxMtx(Gfx **gfx)
Definition matrix.c:448
void Matrix_MultVec3f(Matrix *mtx, Vec3f *src, Vec3f *dest)
Definition matrix.c:363
void Matrix_GetXYZAngles(Matrix *mtx, Vec3f *rot)
Definition matrix.c:409
void Matrix_GetYRPAngles(Matrix *mtx, Vec3f *rot)
Definition matrix.c:379
void Matrix_InitOrtho(Gfx **dList)
Definition matrix.c:37
void Matrix_RotateY(Matrix *mtx, f32 angle, u8 mode)
Definition matrix.c:201
void Matrix_Translate(Matrix *mtx, f32 x, f32 y, f32 z, u8 mode)
Definition matrix.c:125
void Matrix_RotateX(Matrix *mtx, f32 angle, u8 mode)
Definition matrix.c:173
void Matrix_Push(Matrix **mtxStack)
Definition matrix.c:62
void Matrix_Scale(Matrix *mtx, f32 xScale, f32 yScale, f32 zScale, u8 mode)
Definition matrix.c:148
void Matrix_RotateZ(Matrix *mtx, f32 angle, u8 mode)
Definition matrix.c:229
MtxF Matrix
Definition matrix.h:52
void Matrix_Pop(Matrix **mtxStack)
Definition matrix.c:68
void Matrix_Mult(Matrix *mtx, Matrix *tf, u8 mode)
Definition matrix.c:73
Mat4 mtx
Definition render_objects.c:4163
float b
Definition matrix.h:10
float r
Definition matrix.h:8
float g
Definition matrix.h:9
f32 m7
Definition matrix.h:27
f32 m6
Definition matrix.h:27
f32 m5
Definition matrix.h:27
f32 m1
Definition matrix.h:26
f32 m3
Definition matrix.h:26
f32 m4
Definition matrix.h:26
f32 m8
Definition matrix.h:27
f32 m2
Definition matrix.h:26
float x
Definition matrix.h:14
float z
Definition matrix.h:16
float y
Definition matrix.h:15
s16 x
Definition matrix.h:20
s16 z
Definition matrix.h:22
s16 y
Definition matrix.h:21