Ooops, forgot to upload the actual Statistics implementation.
[supertux.git] / src / gameloop.h
index cf00120..c72a3a1 100644 (file)
 #define SUPERTUX_GAMELOOP_H
 
 #include "special/timer.h"
-#include "audio/sound.h"
 #include "special/base.h"
+#include "special/frame_rate.h"
+
+using namespace SuperTux;
 
 /* GameLoop modes */
 
@@ -34,7 +36,6 @@
 #define ST_GL_LOAD_LEVEL_FILE  3
 #define ST_GL_DEMO_GAME  4
 
-
 enum GameMenuIDs {
   MNID_CONTINUE,
   MNID_ABORTLEVEL
@@ -44,7 +45,10 @@ extern int game_started;
 
 class Level;
 class Sector;
+
+namespace SuperTux {
 class DrawingContext;
+}
 
 /** The GameSession class controlls the controll flow of a World, ie.
     present the menu on specifc keypresses, render and update it while
@@ -61,10 +65,8 @@ private:
   int st_gl_mode;
   int levelnb;
   float fps_fps;
-  unsigned int last_update_time;
-  unsigned int update_time;
+  FrameRate frame_rate;
   int pause_menu_frame;
-  int debug_fps;
 
   /** If true the end_sequence will be played, user input will be
       ignored while doing that */
@@ -84,6 +86,7 @@ private:
   // the sector and spawnpoint we shoudl spawn after this frame
   std::string newsector;
   std::string newspawnpoint;
+
 public:
   enum ExitStatus { ES_NONE, ES_LEVEL_FINISHED, ES_GAME_OVER, ES_LEVEL_ABORT };
 private:
@@ -113,6 +116,11 @@ public:
 private:
   static GameSession* current_;
 
+  // for cheating
+  std::string last_keys;
+  // for fire works
+  Timer random_timer;
+
   void restart_level();
 
   void check_end_conditions();
@@ -124,7 +132,6 @@ private:
   void drawendscreen();
   void drawresultscreen(void);
 
-private:
   void on_escape_press();
   void process_menu();
 };