6 by Bill Kendrick & Tobias Glaesser <tobi.web@gmx.de>
7 bill@newbreedsoftware.com
8 http://www.newbreedsoftware.com/supertux/
10 April 11, 2000 - March 15, 2004
13 #ifndef SUPERTUX_GAMELOOP_H
14 #define SUPERTUX_GAMELOOP_H
24 #define ST_GL_LOAD_GAME 2
25 #define ST_GL_LOAD_LEVEL_FILE 3
27 extern int game_started;
29 /** The GameSession class controlls the controll flow of a World, ie.
30 present the menu on specifc keypresses, render and update it while
31 keeping the speed and framerate sane, etc. */
35 timer_type fps_timer, frame_timer;
40 GameSession(const std::string& filename);
41 GameSession(const std::string& subset, int levelnb, int mode);
45 void process_events();
47 Level* get_level() { return ¤t_level; }
49 void savegame(int slot);
50 void loadgame(int slot);
52 static GameSession* current() { return current_; }
54 static GameSession* current_;
58 void activate_particle_systems();
61 void activate_bad_guys(Level* plevel);
63 std::string slotinfo(int slot);
65 bool rectcollision(base_type* one, base_type* two);
66 void drawshape(float x, float y, unsigned int c, Uint8 alpha = 255);
67 void bumpbrick(float x, float y);
69 #endif /*SUPERTUX_GAMELOOP_H*/