]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/client/content_cao.h
Remove unused ITextSceneNode header (#11476)
[dragonfireclient.git] / src / client / content_cao.h
index 974ff9a1eecfd376f52d80639224024dec0468ae..4bbba91342a5d7506fece1e878d56629f704ee72 100644 (file)
@@ -30,6 +30,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 class Camera;
 class Client;
 struct Nametag;
+struct MinimapMarker;
 
 /*
        SmoothTranslator
@@ -84,6 +85,7 @@ class GenericCAO : public ClientActiveObject
        scene::IBillboardSceneNode *m_spritenode = nullptr;
        scene::IDummyTransformationSceneNode *m_matrixnode = nullptr;
        Nametag *m_nametag = nullptr;
+       MinimapMarker *m_marker = nullptr;
        v3f m_position = v3f(0.0f, 10.0f * BS, 0);
        v3f m_velocity;
        v3f m_acceleration;
@@ -109,6 +111,7 @@ class GenericCAO : public ClientActiveObject
        v3f m_attachment_position;
        v3f m_attachment_rotation;
        bool m_attached_to_local = false;
+       bool m_force_visible = false;
 
        int m_anim_frame = 0;
        int m_anim_num_frames = 1;
@@ -171,6 +174,8 @@ class GenericCAO : public ClientActiveObject
 
        const bool isImmortal();
 
+       inline const ObjectProperties &getProperties() const { return m_prop; }
+
        scene::ISceneNode *getSceneNode() const;
 
        scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode() const;
@@ -216,9 +221,10 @@ class GenericCAO : public ClientActiveObject
        }
 
        void setChildrenVisible(bool toset);
-       void setAttachment(int parent_id, const std::string &bone, v3f position, v3f rotation);
+       void setAttachment(int parent_id, const std::string &bone, v3f position,
+                       v3f rotation, bool force_visible);
        void getAttachment(int *parent_id, std::string *bone, v3f *position,
-                       v3f *rotation) const;
+                       v3f *rotation, bool *force_visible) const;
        void clearChildAttachments();
        void clearParentAttachment();
        void addAttachmentChild(int child_id);
@@ -230,7 +236,7 @@ class GenericCAO : public ClientActiveObject
 
        void removeFromScene(bool permanent);
 
-       void addToScene(ITextureSource *tsrc);
+       void addToScene(ITextureSource *tsrc, scene::ISceneManager *smgr);
 
        inline void expireVisuals()
        {
@@ -248,6 +254,8 @@ class GenericCAO : public ClientActiveObject
 
        void updateNametag();
 
+       void updateMarker();
+
        void updateNodePos();
 
        void step(float dtime, ClientEnvironment *env);
@@ -275,4 +283,6 @@ class GenericCAO : public ClientActiveObject
        {
                return m_prop.infotext;
        }
+
+       void updateMeshCulling();
 };