X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fgenericobject.cpp;h=90e8cf3d35c537a344e523eedf5e5f141059f4ab;hb=cf77e0333d1ba0aa81fdce80cd0fa32f137b0a47;hp=f7b272b00d283a85abf7438649fc8e77527bcee2;hpb=22e186b4aa88b585e71500c4e9a03bf69b0b6191;p=minetest.git diff --git a/src/genericobject.cpp b/src/genericobject.cpp index f7b272b00..90e8cf3d3 100644 --- a/src/genericobject.cpp +++ b/src/genericobject.cpp @@ -117,7 +117,23 @@ 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::string gob_cmd_update_physics_override(float physics_override_speed, float physics_override_jump, + float physics_override_gravity, bool sneak, bool sneak_glitch) +{ + std::ostringstream os(std::ios::binary); + // command + writeU8(os, GENERIC_CMD_SET_PHYSICS_OVERRIDE); + // parameters + writeF1000(os, physics_override_speed); + writeF1000(os, physics_override_jump); + writeF1000(os, physics_override_gravity); + // these are sent inverted so we get true when the server sends nothing + writeU8(os, !sneak); + writeU8(os, !sneak_glitch); + return os.str(); +} + +std::string gob_cmd_update_animation(v2f frames, float frame_speed, float frame_blend, bool frame_loop) { std::ostringstream os(std::ios::binary); // command @@ -126,6 +142,8 @@ std::string gob_cmd_update_animation(v2f frames, float frame_speed, float frame_ writeV2F1000(os, frames); writeF1000(os, frame_speed); writeF1000(os, frame_blend); + // these are sent inverted so we get true when the server sends nothing + writeU8(os, !frame_loop); return os.str(); } @@ -145,7 +163,7 @@ std::string gob_cmd_update_attachment(int parent_id, std::string bone, v3f posit { std::ostringstream os(std::ios::binary); // command - writeU8(os, GENERIC_CMD_SET_ATTACHMENT); + writeU8(os, GENERIC_CMD_ATTACH_TO); // parameters writeS16(os, parent_id); os<