mirror of
https://github.com/XProger/OpenLara.git
synced 2025-08-14 00:54:05 +02:00
#8 rotate camera back when Lara moves
This commit is contained in:
11
src/camera.h
11
src/camera.h
@@ -49,6 +49,7 @@ struct Camera : Controller {
|
|||||||
room = level->entities[level->cutEntity].room;
|
room = level->entities[level->cutEntity].room;
|
||||||
} else
|
} else
|
||||||
state = STATE_FOLLOW;
|
state = STATE_FOLLOW;
|
||||||
|
advTimer = -1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ~Camera() {
|
virtual ~Camera() {
|
||||||
@@ -172,9 +173,7 @@ struct Camera : Controller {
|
|||||||
|
|
||||||
if (advAngleOld == advAngle) {
|
if (advAngleOld == advAngle) {
|
||||||
if (advTimer > 0.0f) {
|
if (advTimer > 0.0f) {
|
||||||
advTimer -= Core::deltaTime;
|
advTimer = max(0.0f, advTimer - Core::deltaTime);
|
||||||
if (advTimer <= 0.0f)
|
|
||||||
advTimer = 0.0f;
|
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
advTimer = -1.0f;
|
advTimer = -1.0f;
|
||||||
@@ -182,6 +181,12 @@ struct Camera : Controller {
|
|||||||
if (owner->velocity != 0.0f && advTimer < 0.0f && !Input::down[ikMouseL])
|
if (owner->velocity != 0.0f && advTimer < 0.0f && !Input::down[ikMouseL])
|
||||||
advTimer = -advTimer;
|
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 = owner->angle + advAngle;
|
||||||
angle.z = 0.0f;
|
angle.z = 0.0f;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user