summaryrefslogtreecommitdiff
path: root/src/genericobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/genericobject.cpp')
-rw-r--r--src/genericobject.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/genericobject.cpp b/src/genericobject.cpp
index 4ab031b5d..398b07feb 100644
--- a/src/genericobject.cpp
+++ b/src/genericobject.cpp
@@ -117,4 +117,40 @@ std::string gob_cmd_update_armor_groups(const ItemGroupList &armor_groups)
return os.str();
}
+std::string gob_cmd_update_animation(v2f frames, float frame_speed, float frame_blend)
+{
+ std::ostringstream os(std::ios::binary);
+ // command
+ writeU8(os, GENERIC_CMD_SET_ANIMATION);
+ // parameters
+ writeV2F1000(os, frames);
+ writeF1000(os, frame_speed);
+ writeF1000(os, frame_blend);
+ return os.str();
+}
+
+std::string gob_cmd_update_bone_position(std::string bone, v3f position, v3f rotation)
+{
+ std::ostringstream os(std::ios::binary);
+ // command
+ writeU8(os, GENERIC_CMD_SET_BONE_POSITION);
+ // parameters
+ os<<serializeString(bone);
+ writeV3F1000(os, position);
+ writeV3F1000(os, rotation);
+ return os.str();
+}
+
+std::string gob_cmd_update_attachment(int parent_id, std::string bone, v3f position, v3f rotation)
+{
+ std::ostringstream os(std::ios::binary);
+ // command
+ writeU8(os, GENERIC_CMD_SET_ATTACHMENT);
+ // parameters
+ writeS16(os, parent_id);
+ os<<serializeString(bone);
+ writeV3F1000(os, position);
+ writeV3F1000(os, rotation);
+ return os.str();
+}