mirror of
https://github.com/encounter/Petari.git
synced 2026-03-30 11:34:15 -07:00
54 lines
1.7 KiB
C++
54 lines
1.7 KiB
C++
#pragma once
|
|
|
|
#include "Game/Camera/CameraTargetObj.hpp"
|
|
#include "JSystem/JGeometry/TMatrix.hpp"
|
|
|
|
class CameraTargetMtx : public CameraTargetObj {
|
|
public:
|
|
CameraTargetMtx(const char *);
|
|
virtual ~CameraTargetMtx();
|
|
|
|
virtual void movement();
|
|
|
|
virtual const TVec3f *getPosition() const;
|
|
virtual const TVec3f *getUpVec() const;
|
|
virtual const TVec3f *getFrontVec() const;
|
|
virtual const TVec3f *getSideVec() const;
|
|
virtual const TVec3f *getLastMove() const;
|
|
virtual const TVec3f *getGroundPos() const;
|
|
virtual const TVec3f *getGravityVector() const;
|
|
|
|
virtual CubeCameraArea *getCubeCameraArea() const;
|
|
|
|
void invalidateLastMove();
|
|
|
|
void setMtx(register MtxPtr mtx) NO_INLINE {
|
|
register TMtx34f &dst = mMatrix;
|
|
|
|
__asm {
|
|
psq_l f0, 0x00(mtx), 0x0, 0
|
|
psq_l f1, 0x08(mtx), 0x0, 0
|
|
psq_l f2, 0x10(mtx), 0x0, 0
|
|
psq_l f3, 0x18(mtx), 0x0, 0
|
|
psq_l f4, 0x20(mtx), 0x0, 0
|
|
psq_l f5, 0x28(mtx), 0x0, 0
|
|
psq_st f0, 0x00(dst), 0x0, 0
|
|
psq_st f1, 0x08(dst), 0x0, 0
|
|
psq_st f2, 0x10(dst), 0x0, 0
|
|
psq_st f3, 0x18(dst), 0x0, 0
|
|
psq_st f4, 0x20(dst), 0x0, 0
|
|
psq_st f5, 0x28(dst), 0x0, 0
|
|
}
|
|
}
|
|
|
|
TMtx34f mMatrix; // 0x10
|
|
TVec3f mPosition; // 0x40
|
|
TVec3f mLastMove; // 0x4C
|
|
TVec3f mGravityVector; // 0x58
|
|
TVec3f mUp; // 0x64
|
|
TVec3f mFront; // 0x70
|
|
TVec3f mSide; // 0x7C
|
|
bool mInvalidLastMove; // 0x88
|
|
u8 _89[3];
|
|
CubeCameraArea *mCameraArea; // 0x8C
|
|
}; |