Files

43 lines
1.1 KiB
C++
Raw Permalink Normal View History

#include "Game/LiveActor/MirrorCamera.hpp"
#include "Game/Scene/SceneObjHolder.hpp"
#include "Game/Util.hpp"
2021-12-29 02:39:36 -05:00
void MirrorCamera::init(const JMapInfoIter &rIter) {
MR::connectToScene(this, 0x16, -1, -1, -1);
}
void MirrorCamera::setMirrorMapInfo(const TVec3f &a1, const TVec3f &a2) {
_18.set(a1);
_C.set(a2);
_24 = -PSVECDotProduct((const Vec*)&_18, (const Vec*)&_C);
}
f32 MirrorCamera::getDistance(const TVec3f &a1) const {
TVec3f stack_14;
TVec3f stack_8;
stack_8.set(_18);
stack_14.x = stack_8.dot(_C);
return stack_8.dot(a1) - stack_14.x;
}
namespace MR {
MirrorCamera* getMirrorCamera() {
return reinterpret_cast<MirrorCamera*>(MR::getSceneObjHolder()->getObj(SceneObj_MirrorCamera));
}
f32 getDistanceToMirror(const TVec3f &rVec) {
return reinterpret_cast<MirrorCamera*>(MR::getSceneObjHolder()->getObj(SceneObj_MirrorCamera))->getDistance(rVec);
}
};
MirrorCamera::~MirrorCamera() {
}
void MirrorCamera::movement() {
if (MR::isPlayerInAreaObj("MirrorArea")) {
updateViewMtx();
updateModelTexMtx();
}
}