1#include "Game/Util.hpp"
2#include "Game/LiveActor/ActorCameraInfo.hpp"
3#include "Game/Camera/CameraContext.hpp"
4#include "Game/Camera/CameraDirector.hpp"
5#include "Game/Camera/CameraParamChunk.hpp"
6#include "Game/Scene/SceneObjHolder.hpp"
10 return MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->getAspect();
14 return MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->mNearZ;
18 return MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->mFarZ;
22 return MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->mFovy;
25 void setNearZ(f32 nearZ) {
26 MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->setNearZ(nearZ);
29 void setFovy(f32 fovy) {
30 MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->setFovy(fovy);
33 void setShakeOffset(f32 a1, f32 a2) {
34 MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->setShakeOffset(a1, a2);
38 TPos3f viewMtx = *MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->getInvViewMtx();
40 MR::extractMtxTrans(viewMtx.toMtxPtr(), &pos);
45 TPos3f viewMtx = *MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->getInvViewMtx();
48 MR::normalizeOrZero(&dir);
53 TPos3f viewMtx = *MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->getInvViewMtx();
56 MR::normalizeOrZero(&dir);
61 TPos3f viewMtx = *MR::getSceneObj<CameraContext*>(SceneObj_CameraContext)->getInvViewMtx();
64 MR::normalizeOrZero(&dir);
68 void createMirrorCamera() {
69 MR::createSceneObj(SceneObj_MirrorCamera);
72 bool isExistMirrorCamera() {
73 return MR::isExistSceneObj(SceneObj_MirrorCamera);
79 void completeCameraParameters() {
80 MR::getCameraDirector()->closeCreatingCameraChunk();
83 void resetCameraMan() {
84 MR::getCameraDirector()->requestToResetCameraMan();
87 void startCameraInterpolation(u32 intr) {
88 MR::getCameraDirector()->setInterpolation(intr);
91 void declareEventCamera(
const ActorCameraInfo *pInfo,
const char *pEventName) {
92 MR::getCameraDirector()->declareEvent(pInfo->mZoneID, pEventName);
95 void endEventCamera(
const ActorCameraInfo *pInfo,
const char *pEventName,
bool a3, s32 a4) {
96 MR::getCameraDirector()->endEvent(pInfo->mZoneID, pEventName, a3, a4);
99 void declareGlobalEventCameraAbyss(
const char *pEventName) {
100 MR::getCameraDirector()->declareEvent(0, pEventName);
104 chunk->setCameraType(
"CAM_TYPE_EYEPOS_FIX_THERE", MR::getCameraDirector()->mHolder);
105 chunk->mGeneralParam->mNum1 = 1;