]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/content_cao.h
Various style cleanups + unused code removal
[dragonfireclient.git] / src / content_cao.h
index bf27ed79ad8c3eac09cf50a9559c6ce46d623b54..299d6c73e0a54a34b77d541c5a2526521d17fa88 100644 (file)
@@ -22,7 +22,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include <map>
 #include "irrlichttypes_extrabloated.h"
-#include "content_object.h"
 #include "clientobject.h"
 #include "object_properties.h"
 #include "itemgroup.h"
@@ -61,7 +60,6 @@ class GenericCAO : public ClientActiveObject
        std::string m_name;
        bool m_is_player;
        bool m_is_local_player;
-       int m_id;
        // Property-ish things
        ObjectProperties m_prop;
        //
@@ -70,7 +68,9 @@ class GenericCAO : public ClientActiveObject
        core::aabbox3d<f32> m_selection_box;
        scene::IMeshSceneNode *m_meshnode;
        scene::IAnimatedMeshSceneNode *m_animated_meshnode;
+       WieldMeshSceneNode *m_wield_meshnode;
        scene::IBillboardSceneNode *m_spritenode;
+       video::SColor m_nametag_color;
        scene::ITextSceneNode* m_textnode;
        v3f m_position;
        v3f m_velocity;
@@ -86,6 +86,7 @@ class GenericCAO : public ClientActiveObject
        v2s32 m_animation_range;
        int m_animation_speed;
        int m_animation_blend;
+       bool m_animation_loop;
        std::map<std::string, core::vector2d<v3f> > m_bone_position; // stores position and rotation for each bone name
        std::string m_attachment_bone;
        v3f m_attachment_position;
@@ -114,7 +115,7 @@ class GenericCAO : public ClientActiveObject
                return new GenericCAO(gamedef, env);
        }
 
-       inline u8 getType() const
+       inline ActiveObjectType getType() const
        {
                return ACTIVEOBJECT_TYPE_GENERIC;
        }
@@ -131,10 +132,14 @@ class GenericCAO : public ClientActiveObject
 
        v3f getPosition();
 
+       scene::ISceneNode *getSceneNode();
+
        scene::IMeshSceneNode *getMeshSceneNode();
 
        scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode();
 
+       WieldMeshSceneNode *getWieldMeshSceneNode();
+
        scene::IBillboardSceneNode *getSpriteSceneNode();
 
        inline bool isPlayer() const
@@ -157,6 +162,8 @@ class GenericCAO : public ClientActiveObject
                m_is_visible = toset;
        }
 
+       void setChildrenVisible(bool toset);
+
        void setAttachments();
 
        void removeFromScene(bool permanent);
@@ -171,6 +178,8 @@ class GenericCAO : public ClientActiveObject
 
        void updateLight(u8 light_at_pos);
 
+       void updateLightNoCheck(u8 light_at_pos);
+
        v3s16 getLightPosition();
 
        void updateNodePos();
@@ -197,4 +206,3 @@ class GenericCAO : public ClientActiveObject
 
 
 #endif
-