#303: Typo fixes from mathnerd314
[supertux.git] / src / object / camera.hpp
index 0f4d043..061fe4d 100644 (file)
@@ -50,9 +50,8 @@ public:
   /// write camera mode to a lisp file
   virtual void write(lisp::Writer& writer);
 
-  /// reset camera postion
-  virtual void reset(const Vector& tuxpos);
-  virtual void reset_kd(const Vector& tuxpos);
+  /// reset camera position
+  void reset(const Vector& tuxpos);
 
   /** return camera position */
   const Vector& get_translation() const;
@@ -87,18 +86,24 @@ public:
   };
   CameraMode mode;
 
+  /**
+   * get the coordinates of the point directly in the center of this camera
+   */
+  Vector get_center() const;
+
 private:
   void update_scroll_normal(float elapsed_time);
-  void update_scroll_normal_kd(float elapsed_time);
-  void update_scroll_normal_exp(float elapsed_time);
   void update_scroll_autoscroll(float elapsed_time);
   void update_scroll_to(float elapsed_time);
   void keep_in_bounds(Vector& vector);
   void shake();
 
-  enum LeftRightScrollChange
-  {
-    NONE, LEFT, RIGHT
+  /**
+   * The camera basically provides lookahead on the left or right side
+   * or is undecided.
+   */
+  enum LookaheadMode {
+    LOOKAHEAD_NONE, LOOKAHEAD_LEFT, LOOKAHEAD_RIGHT
   };
 
   Vector translation;
@@ -106,8 +111,11 @@ private:
   Sector* sector;
 
   // normal mode
-  bool do_backscrolling;
-  LeftRightScrollChange scrollchange;
+  LookaheadMode lookahead_mode;
+  float changetime;
+  Vector lookahead_pos;
+  Vector peek_pos;
+  Vector cached_translation;
 
   // autoscroll mode
   std::auto_ptr<Path> autoscroll_path;