- SoundManager doesn't need Effects for now - ambient sound volume
[supertux.git] / src / object / camera.h
index 45351b6..ac76298 100644 (file)
 //  You should have received a copy of the GNU General Public License
 //  along with this program; if not, write to the Free Software
 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
 #ifndef SUPERTUX_CAMERA_H
 #define SUPERTUX_CAMERA_H
 
 #include <vector>
 #include <cassert>
 
-#include "defines.h"
 #include "math/vector.h"
-#include "special/game_object.h"
+#include "game_object.h"
 #include "video/drawing_context.h"
 #include "serializable.h"
+#include "timer.h"
 
-using namespace SuperTux;
 namespace lisp {
 class Lisp;
 }
@@ -59,6 +57,9 @@ public:
   {
   }
 
+  // shake camera in a direction 1 time
+  void shake(float speed, float x, float y);
+
   void set_scrolling(int scroll_x, int scroll_y)
   {
     translation.x = scroll_x;
@@ -75,6 +76,7 @@ private:
   void scroll_normal(float elapsed_time);
   void scroll_autoscroll(float elapsed_time);
   void keep_in_bounds();
+  void shake();
 
   enum LeftRightScrollChange
   {
@@ -99,6 +101,12 @@ private:
   size_t auto_idx;
   float auto_t;
   Vector current_dir;
+
+  // shaking
+  Timer shaketimer;
+  float shakespeed;
+  float shakedepth_x;
+  float shakedepth_y;
 };
 
 #endif /*SUPERTUX_CAMERA_H*/