From 2216b924ab8938191493ceeca79d9c1b1e2f17b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Sat, 11 Jun 2022 20:02:03 +0200 Subject: [PATCH] Apply suggestions from code review Co-authored-by: SmallJoker --- doc/lua_api.txt | 2 +- src/script/lua_api/l_object.cpp | 2 +- src/server/unit_sao.cpp | 6 +++--- src/server/unit_sao.h | 3 +-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 27f2b51e366ad..2fcabaa86c160 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -6727,7 +6727,7 @@ object you are working with still exists. object. * `set_detach()` * `set_bone_position([bone, position, rotation])` - * Shorthand for `set_bone_override(bone, {position = {x = position.x, y = position.y, z = position.z, absolute = true}, rotation = {x = rotation.x, y = rotation.y, z = rotation.z, absolute = true}})` + * Shorthand for `set_bone_override(bone, {position = ..., rotation = ...})` using absolute values. * Supports older servers & clients (< 5.6) * **Deprecated**, use `set_bone_override` instead * `get_bone_position(bone)`: returns position and rotation of the bone diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp index 5740357b30a11..0a61156ca1a66 100644 --- a/src/script/lua_api/l_object.cpp +++ b/src/script/lua_api/l_object.cpp @@ -572,7 +572,7 @@ int ObjectRef::l_set_bone_override(lua_State *L) if (!lua_isnil(L, 2)) bone = readParam(L, 2); BoneOverride *override = new BoneOverride(); - if (lua_isnil(L, 3) || lua_isnone(L, 3)) { + if (lua_isnoneornil(L, 3)) { sao->setBoneOverride(bone, override); return 0; } diff --git a/src/server/unit_sao.cpp b/src/server/unit_sao.cpp index a7aff91ee5794..e2097eee24526 100644 --- a/src/server/unit_sao.cpp +++ b/src/server/unit_sao.cpp @@ -293,9 +293,9 @@ std::string UnitSAO::generateUpdateBonePositionCommand( writeF32(os, override->rotation.interpolation_duration); writeF32(os, override->scale.interpolation_duration); // clang-format off - writeU8(os, override->position.absolute * 1 - + override->rotation.absolute * 2 - + override->scale.absolute * 4); + writeU8(os, (override->position.absolute & 1) << 0 + | (override->rotation.absolute & 1) << 1 + | (override->scale.absolute & 1) << 2); // clang-format on return os.str(); } diff --git a/src/server/unit_sao.h b/src/server/unit_sao.h index b61c0b289d3ae..13548b7903c40 100644 --- a/src/server/unit_sao.h +++ b/src/server/unit_sao.h @@ -59,8 +59,7 @@ class UnitSAO : public ServerActiveObject // Bone position void setBoneOverride(const std::string &bone, BoneOverride *override); BoneOverride *getBoneOverride(const std::string &bone); - const std::unordered_map & - getBoneOverrides() const; + const std::unordered_map &getBoneOverrides() const; // Attachments ServerActiveObject *getParent() const;