X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fgenericobject.cpp;h=49d16001ff15293b34a1ab0e175c678ce460c4b9;hb=5fa614d97e13af64be490336392abe2a54fdcbc1;hp=15977b0e034d7479e4f5a87580cecd35572a461a;hpb=55ab4264dc3f42a4588de0cf52e8f0f88e4fd90e;p=dragonfireclient.git diff --git a/src/genericobject.cpp b/src/genericobject.cpp index 15977b0e0..49d16001f 100644 --- a/src/genericobject.cpp +++ b/src/genericobject.cpp @@ -40,7 +40,7 @@ std::string gob_cmd_update_position( v3f position, v3f velocity, v3f acceleration, - f32 yaw, + v3f rotation, bool do_interpolate, bool is_movement_end, f32 update_interval @@ -49,19 +49,19 @@ std::string gob_cmd_update_position( // command writeU8(os, GENERIC_CMD_UPDATE_POSITION); // pos - writeV3F1000(os, position); + writeV3F32(os, position); // velocity - writeV3F1000(os, velocity); + writeV3F32(os, velocity); // acceleration - writeV3F1000(os, acceleration); - // yaw - writeF1000(os, yaw); + writeV3F32(os, acceleration); + // rotation + writeV3F32(os, rotation); // do_interpolate writeU8(os, do_interpolate); // is_end_position (for interpolation) writeU8(os, is_movement_end); // update_interval (for interpolation) - writeF1000(os, update_interval); + writeF32(os, update_interval); return os.str(); } @@ -87,20 +87,18 @@ std::string gob_cmd_set_sprite( // parameters writeV2S16(os, p); writeU16(os, num_frames); - writeF1000(os, framelength); + writeF32(os, framelength); writeU8(os, select_horiz_by_yawpitch); return os.str(); } -std::string gob_cmd_punched(s16 damage, s16 result_hp) +std::string gob_cmd_punched(u16 result_hp) { std::ostringstream os(std::ios::binary); // command writeU8(os, GENERIC_CMD_PUNCHED); - // damage - writeS16(os, damage); // result_hp - writeS16(os, result_hp); + writeU16(os, result_hp); return os.str(); } @@ -123,9 +121,9 @@ std::string gob_cmd_update_physics_override(float physics_override_speed, float // command writeU8(os, GENERIC_CMD_SET_PHYSICS_OVERRIDE); // parameters - writeF1000(os, physics_override_speed); - writeF1000(os, physics_override_jump); - writeF1000(os, physics_override_gravity); + writeF32(os, physics_override_speed); + writeF32(os, physics_override_jump); + writeF32(os, physics_override_gravity); // these are sent inverted so we get true when the server sends nothing writeU8(os, !sneak); writeU8(os, !sneak_glitch); @@ -139,14 +137,24 @@ std::string gob_cmd_update_animation(v2f frames, float frame_speed, float frame_ // command writeU8(os, GENERIC_CMD_SET_ANIMATION); // parameters - writeV2F1000(os, frames); - writeF1000(os, frame_speed); - writeF1000(os, frame_blend); + writeV2F32(os, frames); + writeF32(os, frame_speed); + writeF32(os, frame_blend); // these are sent inverted so we get true when the server sends nothing writeU8(os, !frame_loop); return os.str(); } +std::string gob_cmd_update_animation_speed(float frame_speed) +{ + std::ostringstream os(std::ios::binary); + // command + writeU8(os, GENERIC_CMD_SET_ANIMATION_SPEED); + // parameters + writeF32(os, frame_speed); + return os.str(); +} + std::string gob_cmd_update_bone_position(const std::string &bone, v3f position, v3f rotation) { @@ -155,8 +163,8 @@ std::string gob_cmd_update_bone_position(const std::string &bone, v3f position, writeU8(os, GENERIC_CMD_SET_BONE_POSITION); // parameters os<