diff --git a/LEGO1/lego/legoomni/include/legocameracontroller.h b/LEGO1/lego/legoomni/include/legocameracontroller.h index ec43aa6c..c4a10146 100644 --- a/LEGO1/lego/legoomni/include/legocameracontroller.h +++ b/LEGO1/lego/legoomni/include/legocameracontroller.h @@ -38,6 +38,7 @@ class LegoCameraController : public LegoPointOfViewController { void SetWorldTransform(const Vector3& p_at, const Vector3& p_dir, const Vector3& p_up); void FUN_10012290(float p_angle); void FUN_10012320(float p_angle); + MxResult FUN_100123b0(Matrix4& p_matrix); void FUN_100123e0(const Matrix4& p_transform, MxU32 p_und); Mx3DPointFloat GetWorldUp(); Mx3DPointFloat GetWorldLocation(); diff --git a/LEGO1/lego/legoomni/src/entity/legocameracontroller.cpp b/LEGO1/lego/legoomni/src/entity/legocameracontroller.cpp index 71c4114b..bde810e0 100644 --- a/LEGO1/lego/legoomni/src/entity/legocameracontroller.cpp +++ b/LEGO1/lego/legoomni/src/entity/legocameracontroller.cpp @@ -140,6 +140,20 @@ void LegoCameraController::FUN_10012320(float p_angle) m_matrix1.RotateY(p_angle); } +// FUNCTION: LEGO1 0x100123b0 +MxResult LegoCameraController::FUN_100123b0(Matrix4& p_matrix) +{ + if (m_lego3DView) { + ViewROI* pov = m_lego3DView->GetPointOfView(); + if (pov) { + p_matrix = pov->GetLocal2World(); + return SUCCESS; + } + } + + return FAILURE; +} + // FUNCTION: LEGO1 0x100123e0 // FUNCTION: BETA10 0x10068cb2 void LegoCameraController::FUN_100123e0(const Matrix4& p_transform, MxU32 p_und)