summaryrefslogtreecommitdiff
path: root/src/camera.cpp
diff options
context:
space:
mode:
authorJeija <norrepli@gmail.com>2012-04-28 02:06:25 +0200
committerPilzAdam <PilzAdam@gmx.de>2013-01-03 15:16:46 +0100
commita27cdf16f40e3a3f4772b944ead8f1e4e5618359 (patch)
treea1bb28af3f171bb2008955aca12005a458d80c1c /src/camera.cpp
parent5a13c49492d466e35624bafba5ac74ad728fef4f (diff)
downloadminetest-a27cdf16f40e3a3f4772b944ead8f1e4e5618359.tar.gz
minetest-a27cdf16f40e3a3f4772b944ead8f1e4e5618359.tar.bz2
minetest-a27cdf16f40e3a3f4772b944ead8f1e4e5618359.zip
Tilt camera on player damage (tweaked by PilzAdam)
Diffstat (limited to 'src/camera.cpp')
-rw-r--r--src/camera.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/camera.cpp b/src/camera.cpp
index 1b9a8c763..33e85d069 100644
--- a/src/camera.cpp
+++ b/src/camera.cpp
@@ -233,9 +233,12 @@ void Camera::update(LocalPlayer* player, f32 frametime, v2u32 screensize,
m_playernode->setRotation(v3f(0, -1 * player->getYaw(), 0));
m_playernode->updateAbsolutePosition();
+ //Get camera tilt timer (hurt animation)
+ float cameratilt = fabs(fabs(player->hurt_tilt_timer-0.75)-0.75);
+
// Set head node transformation
- m_headnode->setPosition(player->getEyeOffset());
- m_headnode->setRotation(v3f(player->getPitch(), 0, 0));
+ m_headnode->setPosition(player->getEyeOffset()+v3f(0,cameratilt*-player->hurt_tilt_strength,0));
+ m_headnode->setRotation(v3f(player->getPitch(), 0, cameratilt*player->hurt_tilt_strength));
m_headnode->updateAbsolutePosition();
// Compute relative camera position and target