SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
CameraTargetMtx.hpp
1#pragma once
2
3#include "Game/Camera/CameraTargetObj.hpp"
4#include "JSystem/JGeometry/TMatrix.hpp"
5
7public:
8 CameraTargetMtx(const char *);
9 virtual ~CameraTargetMtx();
10
11 virtual void movement();
12
13 virtual const TVec3f *getPosition() const;
14 virtual const TVec3f *getUpVec() const;
15 virtual const TVec3f *getFrontVec() const;
16 virtual const TVec3f *getSideVec() const;
17 virtual const TVec3f *getLastMove() const;
18 virtual const TVec3f *getGroundPos() const;
19 virtual const TVec3f *getGravityVector() const;
20
21 virtual CubeCameraArea *getCubeCameraArea() const;
22
23 void invalidateLastMove();
24
25 void setMtx(register MtxPtr mtx) NO_INLINE {
26 register TMtx34f &dst = mMatrix;
27
28 __asm {
29 psq_l f0, 0x00(mtx), 0x0, 0
30 psq_l f1, 0x08(mtx), 0x0, 0
31 psq_l f2, 0x10(mtx), 0x0, 0
32 psq_l f3, 0x18(mtx), 0x0, 0
33 psq_l f4, 0x20(mtx), 0x0, 0
34 psq_l f5, 0x28(mtx), 0x0, 0
35 psq_st f0, 0x00(dst), 0x0, 0
36 psq_st f1, 0x08(dst), 0x0, 0
37 psq_st f2, 0x10(dst), 0x0, 0
38 psq_st f3, 0x18(dst), 0x0, 0
39 psq_st f4, 0x20(dst), 0x0, 0
40 psq_st f5, 0x28(dst), 0x0, 0
41 }
42 }
43
44 TMtx34f mMatrix; // _10
45 TVec3f mPosition; // _40
46 TVec3f mLastMove; // _4C
47 TVec3f mGravityVector; // _58
48 TVec3f mUp; // _64
49 TVec3f mFront; // _70
50 TVec3f mSide; // _7C
51 bool mInvalidLastMove; // _88
52 u8 _89[3];
53 CubeCameraArea *mCameraArea; // _8C
54};