void setHP(s16 hp);
s16 getHP() const;
void setArmorGroups(const ItemGroupList &armor_groups);
- void setAnimation(v2f frame_range, float frame_speed, float frame_blend);
- void setBonePosition(std::string bone, v3f position, v3f rotation);
- void setAttachment(int parent_id, std::string bone, v3f position, v3f rotation);
+ ItemGroupList getArmorGroups();
+ void setAnimation(v2f frame_range, float frame_speed, float frame_blend, bool frame_loop);
+ void getAnimation(v2f *frame_range, float *frame_speed, float *frame_blend, bool *frame_loop);
+ void setBonePosition(const std::string &bone, v3f position, v3f rotation);
+ void getBonePosition(const std::string &bone, v3f *position, v3f *rotation);
+ void setAttachment(int parent_id, const std::string &bone, v3f position, v3f rotation);
+ void getAttachment(int *parent_id, std::string *bone, v3f *position, v3f *rotation);
+ void addAttachmentChild(int child_id);
+ void removeAttachmentChild(int child_id);
+ std::set<int> getAttachmentChildIds();
ObjectProperties* accessObjectProperties();
void notifyObjectPropertiesModified();
/* LuaEntitySAO-specific */
std::string m_init_state;
bool m_registered;
struct ObjectProperties m_prop;
-
+
s16 m_hp;
v3f m_velocity;
v3f m_acceleration;
float m_yaw;
ItemGroupList m_armor_groups;
-
+
bool m_properties_sent;
float m_last_sent_yaw;
v3f m_last_sent_position;
v2f m_animation_range;
float m_animation_speed;
float m_animation_blend;
+ bool m_animation_loop;
bool m_animation_sent;
std::map<std::string, core::vector2d<v3f> > m_bone_position;
bool m_bone_position_sent;
int m_attachment_parent_id;
+ std::set<int> m_attachment_child_ids;
std::string m_attachment_bone;
v3f m_attachment_position;
v3f m_attachment_rotation;
u16 getBreath() const;
void setBreath(u16 breath);
void setArmorGroups(const ItemGroupList &armor_groups);
- void setAnimation(v2f frame_range, float frame_speed, float frame_blend);
- void setBonePosition(std::string bone, v3f position, v3f rotation);
- void setAttachment(int parent_id, std::string bone, v3f position, v3f rotation);
+ ItemGroupList getArmorGroups();
+ void setAnimation(v2f frame_range, float frame_speed, float frame_blend, bool frame_loop);
+ void getAnimation(v2f *frame_range, float *frame_speed, float *frame_blend, bool *frame_loop);
+ void setBonePosition(const std::string &bone, v3f position, v3f rotation);
+ void getBonePosition(const std::string &bone, v3f *position, v3f *rotation);
+ void setAttachment(int parent_id, const std::string &bone, v3f position, v3f rotation);
+ void getAttachment(int *parent_id, std::string *bone, v3f *position, v3f *rotation);
+ void addAttachmentChild(int child_id);
+ void removeAttachmentChild(int child_id);
+ std::set<int> getAttachmentChildIds();
ObjectProperties* accessObjectProperties();
void notifyObjectPropertiesModified();
private:
std::string getPropertyPacket();
-
+
Player *m_player;
u16 m_peer_id;
Inventory *m_inventory;
v2f m_animation_range;
float m_animation_speed;
float m_animation_blend;
+ bool m_animation_loop;
bool m_animation_sent;
std::map<std::string, core::vector2d<v3f> > m_bone_position; // Stores position and rotation for each bone name
bool m_bone_position_sent;
int m_attachment_parent_id;
+ std::set<int> m_attachment_child_ids;
std::string m_attachment_bone;
v3f m_attachment_position;
v3f m_attachment_rotation;
bool m_attachment_sent;
-public:
- // Some flags used by Server
- bool m_moved;
+public:
float m_physics_override_speed;
float m_physics_override_jump;
float m_physics_override_gravity;
};
#endif
-