00001 #ifndef __APPLICATION_H
00002 #define __APPLICATION_H
00003
00004 #include <SDL/SDL.h>
00005 #include <string>
00006
00008 #define STUB cout << __FILE__ << ": Line " << __LINE__ << " " << __PRETTY_FUNCTION__ << endl
00009
00010 #ifdef _WIN32
00011 #define DATA_DIR "data\\"
00012 #define DIR_SEP "\\"
00013 #else
00014 #define DATA_DIR "data"
00015 #define DIR_SEP "/"
00016 #endif
00017
00019 #define DATAFILE(X) DATA_DIR DIR_SEP X
00020
00021 #include "graphics.h"
00022 #include "input.h"
00023 #include "sound.h"
00024
00025 class Game;
00026
00027
00029
00033 class Application {
00034 public:
00036
00041 Application(string title = "", int w = 800, int h = 600);
00042
00044
00047 ~Application();
00048
00050
00053 int Run();
00054
00056
00059 int step();
00060
00061 private:
00063
00066 int init();
00067
00069
00072 int close();
00073
00075 Graphics GD;
00076
00078 Input ID;
00079
00081 Sound SD;
00082
00084 Game *CurrentGame;
00085
00087 int frame_count;
00088 };
00089
00090 #endif