Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/camera.cc')
-rw-r--r--src/client/camera.cc29
1 files changed, 18 insertions, 11 deletions
diff --git a/src/client/camera.cc b/src/client/camera.cc
index 87e00fc..6a6da0c 100644
--- a/src/client/camera.cc
+++ b/src/client/camera.cc
@@ -14,19 +14,26 @@ using namespace common;
namespace client
{
-
-Camera::Mode Camera::mode = Camera::Track;
-const float Camera::track_pitch = -15.0f; // default tracking pitch
-const float Camera::offset_inc = 5.0f; // default offset increment
+Camera::Camera()
+{
+ pitch_track = -15.0f;
+ offset_inc = 5.0f;
+
+ yaw = 0;
+ yaw_target = 0;
-float Camera::yaw = 0; // current yaw, angle in XZ plane, positive is looking left
-float Camera::yaw_target = 0; // target yaw
+ pitch = pitch_track * 2;
+ pitch_target = pitch_track;
-float Camera::pitch = -45.0f; // current pitch, angle in XY, positive is looking up
-float Camera::pitch_target = Camera::track_pitch; // target pitch
+ distance = 0.4f;
-float Camera::distance = 0.4f; // distance from the eye to the target
+ mode = Track;
+}
+
+Camera::~Camera()
+{
+}
void Camera::draw(float elapsed)
{
@@ -95,7 +102,7 @@ void Camera::nextmode() {
mode = Track;
yaw_target = game::ship.yaw;
yaw = yaw_target;
- pitch_target = track_pitch;
+ pitch_target = pitch_track;
pitch = pitch_target;
break;
case Track:
@@ -103,7 +110,7 @@ void Camera::nextmode() {
mode = Free;
yaw_target = game::ship.yaw;
yaw = yaw_target;
- pitch_target = track_pitch;
+ pitch_target = pitch_track;
pitch = pitch_target;
break;
default: