X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fcontent_cao.h;h=299d6c73e0a54a34b77d541c5a2526521d17fa88;hb=452df1c723722183ebf3a332f7bcc355be5b2998;hp=bf27ed79ad8c3eac09cf50a9559c6ce46d623b54;hpb=35ec3855f689cf2c6b1504a5813b7c3d9697ae14;p=dragonfireclient.git diff --git a/src/content_cao.h b/src/content_cao.h index bf27ed79a..299d6c73e 100644 --- a/src/content_cao.h +++ b/src/content_cao.h @@ -22,7 +22,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #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 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 > 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 -