From 3e9e00f1d6889f2263949ad8bfa4e85715468d36 Mon Sep 17 00:00:00 2001 From: David Back Date: Wed, 1 Aug 2018 12:42:50 -0700 Subject: [PATCH 1/7] use key codes for entity camera keys --- scripts/system/libraries/entityCameraTool.js | 27 +++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/scripts/system/libraries/entityCameraTool.js b/scripts/system/libraries/entityCameraTool.js index fb808cc7ea..3869ff2fe8 100644 --- a/scripts/system/libraries/entityCameraTool.js +++ b/scripts/system/libraries/entityCameraTool.js @@ -39,6 +39,9 @@ var EASING_MULTIPLIER = 8; var INITIAL_ZOOM_DISTANCE = 2; var INITIAL_ZOOM_DISTANCE_FIRST_PERSON = 3; +var KEY_A = 80; +var KEY_D = 80; + var easeOutCubic = function(t) { t--; return t * t * t + 1; @@ -77,17 +80,17 @@ CameraManager = function() { } var keyToActionMapping = { - "a": "orbitLeft", - "d": "orbitRight", - "w": "orbitForward", - "s": "orbitBackward", - "e": "orbitUp", - "c": "orbitDown", - - "LEFT": "orbitLeft", - "RIGHT": "orbitRight", - "UP": "orbitForward", - "DOWN": "orbitBackward", + 65: "orbitLeft", // "a" + 68: "orbitRight", // "d" + 87: "orbitForward", // "w" + 83: "orbitBackward",// "s" + 69: "orbitUp", // "e" + 67: "orbitDown", // "c" + + 16777234: "orbitLeft", //"LEFT" + 16777236: "orbitRight", //"RIGHT" + 16777235: "orbitForward", //"UP" + 16777237: "orbitBackward",//"DOWN" } var CAPTURED_KEYS = []; @@ -96,7 +99,7 @@ CameraManager = function() { } function getActionForKeyEvent(event) { - var action = keyToActionMapping[event.text]; + var action = keyToActionMapping[event.key]; if (action !== undefined) { if (event.isShifted) { if (action === "orbitForward") { From 97e45643b009fbcce63d2b05902508ffec910eb3 Mon Sep 17 00:00:00 2001 From: David Back Date: Wed, 1 Aug 2018 12:44:40 -0700 Subject: [PATCH 2/7] spacing --- scripts/system/libraries/entityCameraTool.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/system/libraries/entityCameraTool.js b/scripts/system/libraries/entityCameraTool.js index 3869ff2fe8..5f56c6edf6 100644 --- a/scripts/system/libraries/entityCameraTool.js +++ b/scripts/system/libraries/entityCameraTool.js @@ -80,17 +80,17 @@ CameraManager = function() { } var keyToActionMapping = { - 65: "orbitLeft", // "a" - 68: "orbitRight", // "d" - 87: "orbitForward", // "w" - 83: "orbitBackward",// "s" - 69: "orbitUp", // "e" - 67: "orbitDown", // "c" + 65: "orbitLeft", // "a" + 68: "orbitRight", // "d" + 87: "orbitForward", // "w" + 83: "orbitBackward", // "s" + 69: "orbitUp", // "e" + 67: "orbitDown", // "c" - 16777234: "orbitLeft", //"LEFT" - 16777236: "orbitRight", //"RIGHT" - 16777235: "orbitForward", //"UP" - 16777237: "orbitBackward",//"DOWN" + 16777234: "orbitLeft", // "LEFT" + 16777236: "orbitRight", // "RIGHT" + 16777235: "orbitForward", // "UP" + 16777237: "orbitBackward", // "DOWN" } var CAPTURED_KEYS = []; From f946bb73eff2ede58241547e8f6a350cb979d727 Mon Sep 17 00:00:00 2001 From: David Back Date: Wed, 1 Aug 2018 12:46:17 -0700 Subject: [PATCH 3/7] remove constants --- scripts/system/libraries/entityCameraTool.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/system/libraries/entityCameraTool.js b/scripts/system/libraries/entityCameraTool.js index 5f56c6edf6..36c45515e5 100644 --- a/scripts/system/libraries/entityCameraTool.js +++ b/scripts/system/libraries/entityCameraTool.js @@ -39,8 +39,6 @@ var EASING_MULTIPLIER = 8; var INITIAL_ZOOM_DISTANCE = 2; var INITIAL_ZOOM_DISTANCE_FIRST_PERSON = 3; -var KEY_A = 80; -var KEY_D = 80; var easeOutCubic = function(t) { t--; From cdbf75666fe22437145d58d815e128c1b2bf5951 Mon Sep 17 00:00:00 2001 From: David Back Date: Wed, 1 Aug 2018 12:46:49 -0700 Subject: [PATCH 4/7] new line --- scripts/system/libraries/entityCameraTool.js | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/system/libraries/entityCameraTool.js b/scripts/system/libraries/entityCameraTool.js index 36c45515e5..f554f45722 100644 --- a/scripts/system/libraries/entityCameraTool.js +++ b/scripts/system/libraries/entityCameraTool.js @@ -39,7 +39,6 @@ var EASING_MULTIPLIER = 8; var INITIAL_ZOOM_DISTANCE = 2; var INITIAL_ZOOM_DISTANCE_FIRST_PERSON = 3; - var easeOutCubic = function(t) { t--; return t * t * t + 1; From 2121e201d56a31183e42ca679b1ff61c613f7f0c Mon Sep 17 00:00:00 2001 From: Ken Cooke Date: Sat, 4 Aug 2018 20:09:27 -0700 Subject: [PATCH 5/7] fix assert when azimuth is negative subnormal --- libraries/audio/src/AudioHRTF.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/audio/src/AudioHRTF.cpp b/libraries/audio/src/AudioHRTF.cpp index c0751c6a20..7349a8ac41 100644 --- a/libraries/audio/src/AudioHRTF.cpp +++ b/libraries/audio/src/AudioHRTF.cpp @@ -919,6 +919,9 @@ static void azimuthToIndex(float azimuth, int& index0, int& index1, float& frac) index1 = index0 + 1; frac = azimuth - (float)index0; + if (index0 >= HRTF_AZIMUTHS) { + index0 -= HRTF_AZIMUTHS; + } if (index1 >= HRTF_AZIMUTHS) { index1 -= HRTF_AZIMUTHS; } From 496724f0db5a5c668afc7f924cbfe430a50de631 Mon Sep 17 00:00:00 2001 From: Ken Cooke Date: Sat, 4 Aug 2018 20:15:04 -0700 Subject: [PATCH 6/7] formatting cleanup --- libraries/audio/src/AudioHRTF.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/audio/src/AudioHRTF.cpp b/libraries/audio/src/AudioHRTF.cpp index 7349a8ac41..23adcde0c5 100644 --- a/libraries/audio/src/AudioHRTF.cpp +++ b/libraries/audio/src/AudioHRTF.cpp @@ -840,7 +840,7 @@ static void nearFieldGainCorrection(float azimuth, float distance, float& gainL, // normalized distance factor = [0,1] as distance = [HRTF_NEARFIELD_MAX,HRTF_HEAD_RADIUS] assert(distance < HRTF_NEARFIELD_MAX); assert(distance > HRTF_HEAD_RADIUS); - float d = (HRTF_NEARFIELD_MAX - distance) * ( 1.0f / (HRTF_NEARFIELD_MAX - HRTF_HEAD_RADIUS)); + float d = (HRTF_NEARFIELD_MAX - distance) * (1.0f / (HRTF_NEARFIELD_MAX - HRTF_HEAD_RADIUS)); // angle of incidence at each ear float angleL = azimuth + HALFPI; From 2cd01ad1899c5f483fe391331e0d2fbebb92a719 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Mon, 6 Aug 2018 11:15:43 -0700 Subject: [PATCH 7/7] Added readme and size field to avatar data packet dissector --- tools/dissectors/3-hf-avatar.lua | 13 +++++++++++++ tools/dissectors/README.md | 14 ++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 tools/dissectors/README.md diff --git a/tools/dissectors/3-hf-avatar.lua b/tools/dissectors/3-hf-avatar.lua index af648ed5b9..0fa551c6f8 100644 --- a/tools/dissectors/3-hf-avatar.lua +++ b/tools/dissectors/3-hf-avatar.lua @@ -19,6 +19,8 @@ local f_avatar_data_valid_rotations = ProtoField.string("hf_avatar.avatar_data_v local f_avatar_data_valid_translations = ProtoField.string("hf_avatar.avatar_data_valid_translations", "Valid Translations") local f_avatar_data_default_rotations = ProtoField.string("hf_avatar.avatar_data_default_rotations", "Valid Default") local f_avatar_data_default_translations = ProtoField.string("hf_avatar.avatar_data_default_translations", "Valid Default") +local f_avatar_data_sizes = ProtoField.string("hf_avatar.avatar_sizes", "Sizes") + p_hf_avatar.fields = { f_avatar_id, f_avatar_data_parent_id @@ -110,6 +112,9 @@ function add_avatar_data_subtrees(avatar_data) if avatar_data["default_translations"] then avatar_subtree:add(f_avatar_data_default_translations, avatar_data["default_translations"]) end + if avatar_data["sizes"] then + avatar_subtree:add(f_avatar_data_sizes, avatar_data["sizes"]) + end end function decode_vec3(buf) @@ -154,6 +159,8 @@ function decode_avatar_data_packet(buf) local i = 0 local result = {} + result["sizes"] = "" + -- uint16 has_flags local has_flags = buf(i, 2):le_uint() i = i + 2 @@ -258,6 +265,8 @@ function decode_avatar_data_packet(buf) if has_joint_data then + local joint_poses_start = i + local num_joints = buf(i, 1):uint() i = i + 1 local num_validity_bytes = math.ceil(num_joints / 8) @@ -279,6 +288,8 @@ function decode_avatar_data_packet(buf) -- TODO: skip hand controller data i = i + 24 + result["sizes"] = result["sizes"] .. " Poses: " .. (i - joint_poses_start) + end if has_joint_default_pose_flags then @@ -295,5 +306,7 @@ function decode_avatar_data_packet(buf) result["default_translations"] = "Default Translations: " .. string.format("(%d/%d) {", #indices, num_joints) .. table.concat(indices, ", ") .. "}" end + result["sizes"] = result["sizes"] .. " Total: " .. i + return result end diff --git a/tools/dissectors/README.md b/tools/dissectors/README.md new file mode 100644 index 0000000000..1e618a7b4c --- /dev/null +++ b/tools/dissectors/README.md @@ -0,0 +1,14 @@ +High Fidelity Wireshark Plugins +--------------------------------- + +Install wireshark 2.4.6 or higher. + +Copy these lua files into c:\Users\username\AppData\Roaming\Wireshark\Plugins + +After a capture any detected High Fidelity Packets should be easily identifiable by one of the following protocols + +* HF-AUDIO - Streaming audio packets +* HF-AVATAR - Streaming avatar mixer packets +* HF-ENTITY - Entity server traffic +* HF-DOMAIN - Domain server traffic +* HFUDT - All other UDP traffic