From 7e0a467016ba7857cae733c27395aef970b63289 Mon Sep 17 00:00:00 2001 From: XProger Date: Thu, 18 Oct 2018 07:29:06 +0300 Subject: [PATCH] fix camera lookAt for first person view --- src/camera.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/camera.h b/src/camera.h index 6ae456e..41997e7 100644 --- a/src/camera.h +++ b/src/camera.h @@ -364,8 +364,6 @@ struct Camera : ICamera { } else updateFirstPerson(); } else { - Controller *lookAt = NULL; - if (Core::settings.detail.stereo == Core::Settings::STEREO_VR) { lookAngle = vec3(0.0f); } else { @@ -392,6 +390,15 @@ struct Camera : ICamera { } } + targetAngle = owner->angle + lookAngle; + + targetAngle.x = clampAngle(targetAngle.x); + targetAngle.y = clampAngle(targetAngle.y); + + targetAngle.x = clamp(targetAngle.x, -85 * DEG2RAD, +85 * DEG2RAD); + + Controller *lookAt = NULL; + if (mode != MODE_STATIC) { if (!owner->viewTarget) { if (viewTarget && !viewTarget->flags.invisible) { @@ -408,15 +415,9 @@ struct Camera : ICamera { owner->lookAt(NULL); } - targetAngle = owner->angle + lookAngle; if (!firstPerson && (mode == MODE_FOLLOW || mode == MODE_COMBAT)) targetAngle += angle; - targetAngle.x = clampAngle(targetAngle.x); - targetAngle.y = clampAngle(targetAngle.y); - - targetAngle.x = clamp(targetAngle.x, -85 * DEG2RAD, +85 * DEG2RAD); - if (!firstPerson || viewIndex != -1) { if (timer > 0.0f) {