]> git.localhorst.tv Git - blobs.git/blobdiff - src/app/MasterState.hpp
better camera behaviour
[blobs.git] / src / app / MasterState.hpp
index 7521d8e4c0eacd1bba0a64aae26c0e87253c15cc..cb952157fb23c31dcb719d6a12482481036e291a 100644 (file)
@@ -12,6 +12,9 @@
 
 
 namespace blobs {
+namespace creature {
+       class Creature;
+}
 namespace world {
        class Body;
        class Simulation;
@@ -32,6 +35,9 @@ public:
        MasterState &operator =(MasterState &&) = delete;
 
 public:
+       void Show(creature::Creature &) noexcept;
+       void Show(world::Body &) noexcept;
+
        graphics::Camera &GetCamera() noexcept { return cam; }
        const graphics::Camera &GetCamera() const noexcept { return cam; }
 
@@ -64,11 +70,19 @@ private:
        world::Simulation ∼
 
        graphics::Camera cam;
+       glm::dvec3 cam_pos;
+       glm::dvec3 cam_tgt_pos;
+       glm::dvec3 cam_focus;
+       glm::dvec3 cam_tgt_focus;
+       glm::dvec3 cam_up;
+       glm::dvec3 cam_tgt_up;
        double cam_dist;
-       double cam_tgt_dist;
        glm::dvec3 cam_orient;
        bool cam_dragging;
 
+       creature::Creature *shown_creature;
+       world::Body *shown_body;
+
        ui::BodyPanel bp;
        ui::CreaturePanel cp;
        ui::RecordsPanel rp;