SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
MtxUtil.hpp
1#pragma once
2
3#include <revolution.h>
4#include "JSystem/JGeometry.hpp"
5
6class LiveActor;
7
8namespace MR {
9 void makeMtxRotate(MtxPtr, s16, s16, s16);
10 void makeMtxRotate(MtxPtr, f32, f32, f32);
11 void makeMtxRotate(MtxPtr, const TVec3f &);
12 void makeMtxRotateY(MtxPtr, f32);
13 void makeMtxTR(MtxPtr, f32, f32, f32, f32, f32, f32);
14 void makeMtxTR(MtxPtr, const TVec3f &, const TVec3f &);
15 void makeMtxTransRotateY(MtxPtr, f32, f32, f32, f32);
16 void rotateMtxLocalX(MtxPtr, f32);
17 void rotateMtxLocalY(MtxPtr, f32);
18 void rotateMtxLocalZ(MtxPtr, f32);
19 void rotateMtxLocalXDegree(MtxPtr, f32);
20 void rotateMtxLocalYDegree(MtxPtr, f32);
21 void rotateMtxLocalZDegree(MtxPtr, f32);
22 void preScaleMtx(MtxPtr, f32);
23 void preScaleMtx(MtxPtr, const TVec3f &);
24
25 void preScaleMtx(MtxPtr, f32, f32, f32);
26
27 void scaleMtxToLocalMtx(MtxPtr, MtxPtr, MtxPtr, const TVec3f &);
28 void scaleMtxToLocalMtx(MtxPtr, MtxPtr, const TVec3f &);
29 void scaleMtxToDir(TPos3f *, const TVec3f &, const TVec3f &);
30 void makeMtxTRS(MtxPtr, f32, f32, f32, f32, f32, f32, f32, f32, f32);
31 void makeMtxTRS(MtxPtr, const TVec3f &, const TVec3f &, const TVec3f &);
32 void setMtxAxisXYZ(MtxPtr, const TVec3f &, const TVec3f &, const TVec3f &);
33 void flattenMtx(MtxPtr, MtxPtr, const TVec3f &);
34 void flattenMtx(MtxPtr, const TVec3f &);
35 void blendMtxRotate(MtxPtr, MtxPtr, f32, MtxPtr);
36 void blendMtxRotateSlerp(MtxPtr, MtxPtr, f32, MtxPtr);
37 void blendMtx(MtxPtr, MtxPtr, f32, MtxPtr);
38 void makeMtxWithoutScale(TPos3f *, const TPos3f &);
39 void makeRTFromMtxPtr(TVec3f *, TVec3f *, MtxPtr, bool);
40 void makeMtxSideUp(TPos3f *, const TVec3f &, const TVec3f &);
41 void makeMtxSideUpPos(TPos3f *, const TVec3f &, const TVec3f &, const TVec3f &);
42 void makeMtxSideFront(TPos3f *, const TVec3f &, const TVec3f &);
43 void makeMtxUpSide(TPos3f *, const TVec3f &, const TVec3f &);
44 void makeMtxUpSidePos(TPos3f *, const TVec3f &, const TVec3f &, const TVec3f &);
45 void makeMtxUpFront(TPos3f *, const TVec3f &, const TVec3f &);
46 void makeMtxUpFrontPos(TPos3f *, const TVec3f &, const TVec3f &, const TVec3f &);
47 void makeMtxFrontSidePos(TPos3f *, const TVec3f &, const TVec3f &, const TVec3f &);
48 void makeMtxFrontUp(TPos3f *, const TVec3f &, const TVec3f &);
49 void makeMtxFrontUpPos(TPos3f *, const TVec3f &, const TVec3f &, const TVec3f &);
50 void makeMtxUpNoSupport(TPos3f *, const TVec3f &);
51 void makeMtxUpNoSupportPos(TPos3f *, const TVec3f &, const TVec3f &);
52 void makeMtxFrontNoSupport(TPos3f *, const TVec3f &);
53 void makeMtxFrontNoSupportPos(TPos3f *, const TVec3f &, const TVec3f &);
54 void orthogonalize(TPos3f *);
55 void turnMtxToXDirRate(TPos3f *, const TVec3f &, f32);
56 void turnMtxToXDirDegree(TPos3f *, const TVec3f &, f32);
57 void turnMtxToYDirRate(TPos3f *, const TVec3f &, f32);
58 void turnMtxToYDirDegree(TPos3f *, const TVec3f &, f32);
59 void turnMtxToLocalDirDegree(TPos3f *, const TVec3f &, const TVec3f &, f32);
60 void makeMtxMoment(TPos3f *, const TVec3f &);
61 void rotateMtxMoment(TPos3f *, const TPos3f &, const TVec3f &);
62 void rotateMtxMoment(TPos3f *, const TVec3f &);
63 void setMtxTrans(MtxPtr, f32, f32, f32);
64 void addTransMtx(MtxPtr, const TVec3f &);
65 void addTransMtxLocal(MtxPtr, const TVec3f &);
66 void addTransMtxLocalX(MtxPtr, f32);
67 void addTransMtxLocalY(MtxPtr, f32);
68 void addTransMtxLocalZ(MtxPtr, f32);
69 void extractMtxXDir(MtxPtr, TVec3f *);
70 void extractMtxYDir(MtxPtr, TVec3f *);
71 void extractMtxZDir(MtxPtr, TVec3f *);
72 void extractMtxXYZDir(MtxPtr, TVec3f *, TVec3f *, TVec3f *);
73 void extractMtxTrans(MtxPtr, TVec3f *);
74 bool isSameMtx(MtxPtr, MtxPtr);
75 bool isSameMtxRot(MtxPtr, MtxPtr);
76 bool isRotAxisY(MtxPtr, MtxPtr);
77 void calcMtxRotAxis(TVec3f *, MtxPtr, MtxPtr);
78 void tmpMtxTrans(const TVec3f &);
79 void tmpMtxScale(f32, f32, f32);
80 MtxPtr tmpMtxRotXRad(f32);
81 MtxPtr tmpMtxRotYRad(f32);
82 MtxPtr tmpMtxRotZRad(f32);
83 MtxPtr tmpMtxRotXDeg(f32);
84 MtxPtr tmpMtxRotYDeg(f32);
85 MtxPtr tmpMtxRotZDeg(f32);
86 void orderRotateMtx(s16, const TVec3f &, MtxPtr);
87 void rotAxisVecRad(const TVec3f &, const TVec3f &, TVec3f *, f32);
88
89 void makeMtxTR(MtxPtr, const LiveActor *);
90
91 void setMtxTrans(MtxPtr mtx, const TVec3f &rVec) {
92 MR::setMtxTrans(mtx, rVec.x, rVec.y, rVec.z);
93 }
94};
The basis of a drawable actor that can contain states (see: Nerve)
Definition LiveActor.hpp:24