24#include <quaternion.h>
26#include <unordered_map>
104 core::quaternion rot;
111 core::quaternion anim_rot(anim_rot_euler * core::DEGTORAD);
112 rot = rot * anim_rot;
116 rot.toEuler(rot_euler);
117 return rot_euler * core::RADTODEG;
197 v3f rotation,
bool force_visible) {}
199 v3f *rotation,
bool *force_visible)
const {}
std::unordered_map< std::string, BoneOverride > BoneOverrideMap
Definition: activeobject.h:146
ActiveObjectCommand
Definition: activeobject.h:60
@ AO_CMD_SET_TEXTURE_MOD
Definition: activeobject.h:63
@ AO_CMD_OBSOLETE1
Definition: activeobject.h:71
@ AO_CMD_SPAWN_INFANT
Definition: activeobject.h:73
@ AO_CMD_SET_PROPERTIES
Definition: activeobject.h:61
@ AO_CMD_PUNCHED
Definition: activeobject.h:65
@ AO_CMD_UPDATE_POSITION
Definition: activeobject.h:62
@ AO_CMD_SET_PHYSICS_OVERRIDE
Definition: activeobject.h:70
@ AO_CMD_SET_ANIMATION
Definition: activeobject.h:67
@ AO_CMD_SET_ANIMATION_SPEED
Definition: activeobject.h:74
@ AO_CMD_ATTACH_TO
Definition: activeobject.h:69
@ AO_CMD_UPDATE_ARMOR_GROUPS
Definition: activeobject.h:66
@ AO_CMD_SET_BONE_POSITION
Definition: activeobject.h:68
@ AO_CMD_SET_SPRITE
Definition: activeobject.h:64
ActiveObjectType
Definition: activeobject.h:29
@ ACTIVEOBJECT_TYPE_TEST
Definition: activeobject.h:31
@ ACTIVEOBJECT_TYPE_PLAYER
Definition: activeobject.h:41
@ ACTIVEOBJECT_TYPE_INVALID
Definition: activeobject.h:30
@ ACTIVEOBJECT_TYPE_GENERIC
Definition: activeobject.h:43
@ ACTIVEOBJECT_TYPE_LUAENTITY
Definition: activeobject.h:39
Definition: activeobject.h:153
virtual void clearParentAttachment()
Definition: activeobject.h:201
u16 m_id
Definition: activeobject.h:205
void setId(u16 id)
Definition: activeobject.h:165
virtual void getAttachment(int *parent_id, std::string *bone, v3f *position, v3f *rotation, bool *force_visible) const
Definition: activeobject.h:198
virtual bool getCollisionBox(aabb3f *toset) const =0
virtual void clearChildAttachments()
Definition: activeobject.h:200
virtual void removeAttachmentChild(int child_id)
Definition: activeobject.h:203
virtual bool collideWithObjects() const =0
virtual void addAttachmentChild(int child_id)
Definition: activeobject.h:202
virtual ActiveObjectType getType() const =0
virtual void setAttachment(int parent_id, const std::string &bone, v3f position, v3f rotation, bool force_visible)
Definition: activeobject.h:196
virtual bool getSelectionBox(aabb3f *toset) const =0
ActiveObject(u16 id)
Definition: activeobject.h:155
u16 getId() const
Definition: activeobject.h:160
core::aabbox3d< f32 > aabb3f
Definition: irr_aabb3d.h:26
core::vector3df v3f
Definition: irr_v3d.h:26
Definition: activeobject.h:48
ActiveObjectMessage(u16 id_, bool reliable_=true, std::string_view data_="")
Definition: activeobject.h:49
std::string datastring
Definition: activeobject.h:57
u16 id
Definition: activeobject.h:55
bool reliable
Definition: activeobject.h:56
Definition: activeobject.h:80
bool absolute
Definition: activeobject.h:83
v3f vector
Definition: activeobject.h:82
v3f previous
Definition: activeobject.h:81
f32 interp_timer
Definition: activeobject.h:84
Definition: activeobject.h:96
f32 interp_timer
Definition: activeobject.h:100
core::quaternion next
Definition: activeobject.h:98
core::quaternion previous
Definition: activeobject.h:97
bool absolute
Definition: activeobject.h:99
Definition: activeobject.h:121
v3f previous
Definition: activeobject.h:122
f32 interp_timer
Definition: activeobject.h:125
v3f vector
Definition: activeobject.h:123
bool absolute
Definition: activeobject.h:124
Definition: activeobject.h:78
v3f getRotationEulerDeg(v3f anim_rot_euler) const
Definition: activeobject.h:103
v3f getPosition(v3f anim_pos) const
Definition: activeobject.h:87
bool isIdentity() const
Definition: activeobject.h:138
v3f getScale(v3f anim_scale) const
Definition: activeobject.h:128
struct BoneOverride::ScaleProperty scale
f32 dtime_passed
Definition: activeobject.h:136
struct BoneOverride::PositionProperty position
struct BoneOverride::RotationProperty rotation