From 7d491570e486900cb8fbf752f4e4b58ca3fea74e Mon Sep 17 00:00:00 2001 From: fallenoak Date: Sun, 15 Feb 2026 21:02:06 -0600 Subject: [PATCH] feat(ui): add CSimpleCamera::GetScene --- src/ui/simple/CSimpleCamera.cpp | 11 ++++++++++- src/ui/simple/CSimpleCamera.hpp | 5 ++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/ui/simple/CSimpleCamera.cpp b/src/ui/simple/CSimpleCamera.cpp index 11f2ff5..0164145 100644 --- a/src/ui/simple/CSimpleCamera.cpp +++ b/src/ui/simple/CSimpleCamera.cpp @@ -1,4 +1,5 @@ #include "ui/simple/CSimpleCamera.hpp" +#include "model/Model2.hpp" #include namespace { @@ -52,7 +53,7 @@ void BuildBillboardMatrix(const C3Vector& direction, C33Matrix& rotation) { } CSimpleCamera::CSimpleCamera(float nearZ, float farZ, float fov) { - this->float10 = 0.0f; + this->m_scene = nullptr; this->m_nearZ = nearZ; this->m_farZ = farZ; @@ -70,6 +71,14 @@ C3Vector CSimpleCamera::Forward() const { return { this->m_facing.a0, this->m_facing.a1, this->m_facing.a2 }; } +CM2Scene* CSimpleCamera::GetScene() { + if (!this->m_scene) { + this->m_scene = M2CreateScene(); + } + + return this->m_scene; +} + C3Vector CSimpleCamera::Right() const { return { this->m_facing.b0, this->m_facing.b1, this->m_facing.b2 }; } diff --git a/src/ui/simple/CSimpleCamera.hpp b/src/ui/simple/CSimpleCamera.hpp index 5f8c943..2f2fdda 100644 --- a/src/ui/simple/CSimpleCamera.hpp +++ b/src/ui/simple/CSimpleCamera.hpp @@ -4,6 +4,8 @@ #include #include +class CM2Scene; + class CSimpleCamera { public: // Virtual public member functions @@ -14,6 +16,7 @@ class CSimpleCamera { // Public member functions CSimpleCamera(float nearZ, float farZ, float fov); + CM2Scene* GetScene(); void SetFacing(const C3Vector& forward); void SetFacing(const C3Vector& forward, const C3Vector& up); void SetFacing(float yaw, float pitch, float roll); @@ -23,8 +26,8 @@ class CSimpleCamera { protected: // Protected member variables + CM2Scene* m_scene; C3Vector m_position; - float float10; C33Matrix m_facing; float m_nearZ; float m_farZ;