2023-12-13 00:40:16 -05:00
|
|
|
#include "Game/Camera/CameraParamChunk.hpp"
|
|
|
|
|
#include "Game/Camera/CamTranslatorCharmedFix.hpp"
|
|
|
|
|
#include "Game/Util/MathUtil.hpp"
|
2021-12-29 00:41:46 +01:00
|
|
|
|
|
|
|
|
void CamTranslatorCharmedFix::setParam(const CameraParamChunk *pChunk) {
|
|
|
|
|
CameraGeneralParam *general = pChunk->mGeneralParam;
|
|
|
|
|
|
|
|
|
|
TVec3f up;
|
|
|
|
|
up.setInline(general->mUp);
|
|
|
|
|
|
|
|
|
|
if (MR::isNearZero(up, 0.001f)) {
|
|
|
|
|
up.set(0.0f, 1.0f, 0.0f);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
MR::normalize(&up);
|
|
|
|
|
}
|
|
|
|
|
|
2021-12-30 00:34:02 +01:00
|
|
|
CameraCharmedFix *camera = mCamera;
|
2021-12-29 00:41:46 +01:00
|
|
|
|
|
|
|
|
camera->mAxis.set(general->mAxis);
|
|
|
|
|
camera->mUp.set(up);
|
|
|
|
|
camera->mWPoint.set(general->mWPoint);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Camera *CamTranslatorCharmedFix::getCamera() const {
|
|
|
|
|
return mCamera;
|
|
|
|
|
}
|