summaryrefslogtreecommitdiffhomepage
path: root/proto-ft/ftnoir_protocol_ft.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'proto-ft/ftnoir_protocol_ft.cpp')
-rw-r--r--proto-ft/ftnoir_protocol_ft.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/proto-ft/ftnoir_protocol_ft.cpp b/proto-ft/ftnoir_protocol_ft.cpp
index 46879475..4f41c21c 100644
--- a/proto-ft/ftnoir_protocol_ft.cpp
+++ b/proto-ft/ftnoir_protocol_ft.cpp
@@ -51,7 +51,7 @@ static std::int32_t load(std::int32_t volatile& place)
return InterlockedCompareExchange((volatile LONG*) &place, 0, 0);
}
-void freetrack::pose(const double* headpose)
+void freetrack::pose(const double* headpose, const double* raw)
{
constexpr double d2r = M_PI/180;
@@ -76,6 +76,13 @@ void freetrack::pose(const double* headpose)
store(data->Pitch, pitch);
store(data->Roll, roll);
+ store(data->RawYaw, float(-raw[Yaw] * d2r));
+ store(data->RawPitch, float(raw[Pitch] * d2r));
+ store(data->RawRoll, float(raw[Roll] * d2r));
+ store(data->RawX, float(raw[TX] * 10));
+ store(data->RawY, float(raw[TY] * 10));
+ store(data->RawZ, float(raw[TZ] * 10));
+
const std::int32_t id = load(ft->GameID);
if (intGameID != id)