Translated using Weblate (Japanese)
[oweals/minetest.git] / src / content_cao.h
index 1e55babf2fd0c6fbfdf4adb563208c8a41e46544..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 @@ private:
        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 @@ private:
        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 @@ private:
        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;
@@ -102,6 +103,8 @@ private:
        u8 m_last_light;
        bool m_is_visible;
 
+       std::vector<u16> m_children;
+
 public:
        GenericCAO(IGameDef *gamedef, ClientEnvironment *env);
 
@@ -112,7 +115,7 @@ public:
                return new GenericCAO(gamedef, env);
        }
 
-       inline u8 getType() const
+       inline ActiveObjectType getType() const
        {
                return ACTIVEOBJECT_TYPE_GENERIC;
        }
@@ -129,10 +132,14 @@ public:
 
        v3f getPosition();
 
+       scene::ISceneNode *getSceneNode();
+
        scene::IMeshSceneNode *getMeshSceneNode();
 
        scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode();
 
+       WieldMeshSceneNode *getWieldMeshSceneNode();
+
        scene::IBillboardSceneNode *getSpriteSceneNode();
 
        inline bool isPlayer() const
@@ -155,6 +162,8 @@ public:
                m_is_visible = toset;
        }
 
+       void setChildrenVisible(bool toset);
+
        void setAttachments();
 
        void removeFromScene(bool permanent);
@@ -169,6 +178,8 @@ public:
 
        void updateLight(u8 light_at_pos);
 
+       void updateLightNoCheck(u8 light_at_pos);
+
        v3s16 getLightPosition();
 
        void updateNodePos();
@@ -195,4 +206,3 @@ public:
 
 
 #endif
-