SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
ConeGravity.cpp
1#include "Game/Gravity.hpp"
2
3ConeGravity::ConeGravity() : PlanetGravity() {
4 _88 = 360.0f;
5 _8C = -1.0f;
6 _90 = 0.0f;
7 mEnableBottom = true;
8 mTopCutRate = 0.0f;
9 mLocalMtx.identity();
10 mWorldMtx.identity();
11}
12
13void ConeGravity::setLocalMatrix(const TPos3f &rMtx) {
14 mLocalMtx.setInline(rMtx);
15 updateIdentityMtx();
16}
17
18void ConeGravity::setEnableBottom(bool val) {
19 mEnableBottom = val;
20}
21
22void ConeGravity::setTopCutRate(f32 val) {
23 if (val < 0.0f)
24 val = 0.0f;
25 else if (val > 1.0f)
26 val = 1.0f;
27
28 mTopCutRate = val;
29}
30
31void ConeGravity::updateMtx(const TPos3f &rMtx) {
32 mWorldMtx.concat(rMtx, mLocalMtx);
33
34 TVec3f dirX;
35 mWorldMtx.getXDirInline(dirX);
36 _90 = VECMag(reinterpret_cast<Vec*>(&dirX));
37
38 TVec3f dirY; // unused
39 mWorldMtx.getYDir(dirY);
40}