123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
-
-
- #ifndef _SYSTEM_H_
- #define _SYSTEM_H_
-
- #include <Map.h>
- #include <Vector.h>
-
-
- #define SYS_MOUSE_LEFT 6000
- #define SYS_MOUSE_RIGHT 6001
- #define SYS_MOUSE_MIDDLE 6002
- #define SYS_KEY_ESC 27
- #define SYS_KEY_ENTER 13
- #define SYS_KEY_UP 5000
- #define SYS_KEY_DOWN 5001
- #define SYS_KEY_RIGHT 5002
- #define SYS_KEY_LEFT 5003
- #define SYS_KEY_PAGEDOWN 5004
- #define SYS_KEY_PAGEUP 5005
- #define SYS_KEY_F1 1000
- #define SYS_KEY_F2 1001
- #define SYS_KEY_F3 1002
- #define SYS_KEY_F4 1003
- #define SYS_KEY_F5 1004
- #define SYS_KEY_F6 1005
- #define SYS_KEY_F7 1006
- #define SYS_KEY_F8 1007
- #define SYS_KEY_F9 1008
- #define SYS_KEY_F10 1009
- #define SYS_KEY_F11 1010
- #define SYS_KEY_F12 1011
-
- typedef enum {
- SYS_MOD_KEY_LSHIFT = 1,
- SYS_MOD_KEY_RSHIFT = 2,
- SYS_MOD_KEY_LCTRL = 4,
- SYS_MOD_KEY_RCTRL = 8,
- SYS_MOD_KEY_LALT = 16,
- SYS_MOD_KEY_RALT = 32,
- SYS_MOD_KEY_LMETA = 64,
- SYS_MOD_KEY_RMETA = 128
- } sdl_sys_mod_key_t;
-
-
- class System {
- public:
-
-
- System();
-
-
-
- virtual ~System();
-
-
-
- static char *bufferString(const char *string, ...);
-
-
-
- static char *fullPath(const char *path, char end);
-
-
-
- static char *getFileFromFullPath(char *filename);
-
-
-
- virtual unsigned int getTicks();
-
-
-
- static int createDir(char *path);
-
-
-
- virtual unsigned int addCommandMode(const char *command);
-
-
-
- virtual void bindKeyCommand(const char *cmd, unsigned int key, int event);
-
-
-
- virtual void command(const char *cmd);
-
- virtual void gameFrame() = 0;
-
- virtual void handleMouseMotionEvent(float x, float y) = 0;
-
-
-
- virtual void handleBoundKeyPressEvent(unsigned int key) = 0;
-
-
-
- virtual void handleBoundKeyReleaseEvent(unsigned int key) = 0;
-
-
-
- virtual void handleCommand(char *command, unsigned int mode) = 0;
-
-
-
- virtual void handleConsoleKeyPressEvent(unsigned int key, unsigned int mod) = 0;
-
- virtual void handleKeyPressEvent(unsigned int key, unsigned int mod) = 0;
-
- virtual void handleKeyReleaseEvent(unsigned int key, unsigned int mod) = 0;
-
- virtual void initGL();
-
- virtual void initVideo(unsigned int width, unsigned int height, bool fullscreen) = 0;
-
-
-
- virtual int loadResourceFile(const char *filename);
-
- static void resetTicks();
-
- virtual void resizeGL(unsigned int width, unsigned int height);
-
- virtual void runGame() = 0;
-
-
-
- void setConsoleMode(bool on);
-
- void setDriverGL(const char *driver);
-
- void setFastCardPerformance(bool isFast);
-
- virtual void shutdown(int code) = 0;
-
- virtual void swapBuffersGL() = 0;
-
- virtual void toggleFullscreen() = 0;
-
- protected:
- unsigned int m_width;
- unsigned int m_height;
- bool m_fastCard;
- char *m_driver;
- float m_clipNear;
- float m_clipFar;
- float m_fovY;
- Map<unsigned int, int> mKeyEvents;
- bool mConsoleMode;
- Vector<const char *> mCmdModes;
- unsigned int mCommandMode;
- unsigned int mConsoleKey;
- };
-
-
-
-
-
- bool rc_command(const char *symbol, char *command);
-
-
- int rc_get_bool(char *buffer, bool *val);
-
-
- unsigned int system_timer(int state);
-
- #endif
|