From 38fad69a88d2dd985676477c02f768ce5b82e763 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Mon, 27 Feb 2017 07:41:26 +0100 Subject: logic/tracker: invert prior to applying camera skew --- logic/tracker.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'logic') diff --git a/logic/tracker.cpp b/logic/tracker.cpp index 2c052f08..007189ec 100644 --- a/logic/tracker.cpp +++ b/logic/tracker.cpp @@ -226,15 +226,19 @@ void Tracker::logic() break; } - const euler_t rot = r2d * c_mult * rmat_to_euler(rotation); + euler_t rot = r2d * c_mult * rmat_to_euler(rotation); euler_t pos = euler_t(&value[TX]) - t_center; - // don't invert after t_compensate - // inverting here doesn't break centering + for (int i = 0; i < 3; i++) + { + // don't invert after t_compensate + // inverting here doesn't break centering - for (int i = 0; i < 6; i++) + if (m(i+3).opts.invert) + rot(i) = -rot(i); if (m(i).opts.invert) - value(i) = -value(i); + pos(i) = -pos(i); + } t_compensate(real_rotation.camera.t(), pos, pos, false, false, false); -- cgit v1.2.3