diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 942b13c237..a2dde3d651 100755 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -396,9 +396,10 @@ QByteArray AvatarData::toByteArray(AvatarDataDetail dataDetail, quint64 lastSent } const size_t byteArraySize = AvatarDataPacket::MAX_CONSTANT_HEADER_SIZE + NUM_BYTES_RFC4122_UUID + - AvatarDataPacket::maxFaceTrackerInfoSize(_headData->getBlendshapeCoefficients().size()) + - AvatarDataPacket::maxJointDataSize(_jointData.size()) + - AvatarDataPacket::maxJointDefaultPoseFlagsSize(_jointData.size()); + AvatarDataPacket::maxFaceTrackerInfoSize(_headData->getBlendshapeCoefficients().size()) + + AvatarDataPacket::maxJointDataSize(_jointData.size()) + + AvatarDataPacket::maxJointDefaultPoseFlagsSize(_jointData.size()) + + AvatarDataPacket::FAR_GRAB_JOINTS_SIZE; if (maxDataSize == 0) { maxDataSize = (int)byteArraySize; diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index e5131ff94b..8e2eb7bf8e 100755 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -302,6 +302,15 @@ namespace AvatarDataPacket { const size_t AVATAR_LOCAL_POSITION_SIZE = 12; static_assert(sizeof(AvatarLocalPosition) == AVATAR_LOCAL_POSITION_SIZE, "AvatarDataPacket::AvatarLocalPosition size doesn't match."); + PACKED_BEGIN struct HandControllers { + SixByteQuat leftHandRotation; + SixByteTrans leftHandTranslation; + SixByteQuat rightHandRotation; + SixByteTrans rightHandTranslation; + } PACKED_END; + static const size_t HAND_CONTROLLERS_SIZE = 24; + static_assert(sizeof(HandControllers) == HAND_CONTROLLERS_SIZE, "AvatarDataPacket::HandControllers size doesn't match."); + const size_t MAX_CONSTANT_HEADER_SIZE = HEADER_SIZE + AVATAR_GLOBAL_POSITION_SIZE + AVATAR_BOUNDING_BOX_SIZE + @@ -312,17 +321,8 @@ namespace AvatarDataPacket { SENSOR_TO_WORLD_SIZE + ADDITIONAL_FLAGS_SIZE + PARENT_INFO_SIZE + - AVATAR_LOCAL_POSITION_SIZE; - - PACKED_BEGIN struct HandControllers { - SixByteQuat leftHandRotation; - SixByteTrans leftHandTranslation; - SixByteQuat rightHandRotation; - SixByteTrans rightHandTranslation; - } PACKED_END; - static const size_t HAND_CONTROLLERS_SIZE = 24; - static_assert(sizeof(HandControllers) == HAND_CONTROLLERS_SIZE, "AvatarDataPacket::HandControllers size doesn't match."); - + AVATAR_LOCAL_POSITION_SIZE + + HAND_CONTROLLERS_SIZE; // variable length structure follows