1
0
mirror of https://github.com/XProger/OpenLara.git synced 2025-08-13 08:34:32 +02:00

#8 rotate camera back when Lara moves

This commit is contained in:
XProger
2017-09-01 03:15:18 +03:00
parent bb486dfa26
commit 3a1156cff2

View File

@@ -49,6 +49,7 @@ struct Camera : Controller {
room = level->entities[level->cutEntity].room;
} else
state = STATE_FOLLOW;
advTimer = -1.0f;
}
virtual ~Camera() {
@@ -172,9 +173,7 @@ struct Camera : Controller {
if (advAngleOld == advAngle) {
if (advTimer > 0.0f) {
advTimer -= Core::deltaTime;
if (advTimer <= 0.0f)
advTimer = 0.0f;
advTimer = max(0.0f, advTimer - Core::deltaTime);
}
} else
advTimer = -1.0f;
@@ -182,6 +181,12 @@ struct Camera : Controller {
if (owner->velocity != 0.0f && advTimer < 0.0f && !Input::down[ikMouseL])
advTimer = -advTimer;
if (advTimer == 0.0f && advAngle != 0.0f) {
float t = 10.0f * Core::deltaTime;
advAngle.x = lerp(clampAngle(advAngle.x), 0.0f, t);
advAngle.y = lerp(clampAngle(advAngle.y), 0.0f, t);
}
angle = owner->angle + advAngle;
angle.z = 0.0f;