rnd-20030703-1-src
[rocksndiamonds.git] / src / libgame / system.h
index bc0256361c86adf56dc712ed007f7a62147f32ab..d5f4457f48f45219ee63ada6cd2deb1f6bdc8ff8 100644 (file)
 #define DEFAULT_KEY_LOAD_GAME  KSYM_F2
 #define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space
 
+/* values for key_status */
+#define KEY_NOT_PRESSED                FALSE
+#define KEY_RELEASED           FALSE
+#define KEY_PRESSED            TRUE
+
+/* values for button status */
+#define MB_NOT_PRESSED         FALSE
+#define MB_NOT_RELEASED                TRUE
+#define MB_RELEASED            FALSE
+#define MB_PRESSED             TRUE
+#define MB_MENU_CHOICE         FALSE
+#define MB_MENU_MARK           TRUE
+#define MB_MENU_INITIALIZE     (-1)
+#define MB_MENU_LEAVE          (-2)
+#define MB_LEFTBUTTON          1
+#define MB_MIDDLEBUTTON                2
+#define MB_RIGHTBUTTON         3
+
 
 /* values for basic move directions (effective at runtime) */
 #define MV_BIT_LEFT            0
 #define MV_BIT_AWAY_FROM_PLAYER        7
 #define MV_BIT_ALONG_LEFT_SIDE 8
 #define MV_BIT_ALONG_RIGHT_SIDE        9
+#define MV_BIT_TURNING_LEFT    10
+#define MV_BIT_TURNING_RIGHT   11
 
 /* values for move direction/pattern and special "button" key bitmasks */
 #define MV_NO_MOVING           0
 #define MV_AWAY_FROM_PLAYER    (1 << MV_BIT_AWAY_FROM_PLAYER)
 #define MV_ALONG_LEFT_SIDE     (1 << MV_BIT_ALONG_LEFT_SIDE)
 #define MV_ALONG_RIGHT_SIDE    (1 << MV_BIT_ALONG_RIGHT_SIDE)
-
-/* values for button status */
-#define MB_NOT_PRESSED         FALSE
-#define MB_NOT_RELEASED                TRUE
-#define MB_RELEASED            FALSE
-#define MB_PRESSED             TRUE
-#define MB_MENU_CHOICE         FALSE
-#define MB_MENU_MARK           TRUE
-#define MB_MENU_INITIALIZE     (-1)
-#define MB_MENU_LEAVE          (-2)
-#define MB_LEFTBUTTON          1
-#define MB_MIDDLEBUTTON                2
-#define MB_RIGHTBUTTON         3
+#define MV_TURNING_LEFT                (1 << MV_BIT_TURNING_LEFT)
+#define MV_TURNING_RIGHT       (1 << MV_BIT_TURNING_RIGHT)
 
 
 /* values for animation mode (frame order and direction) */
@@ -691,8 +700,8 @@ void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
                     char *, char *, char *, int);
 
 void InitExitFunction(void (*exit_function)(int));
-void InitPlatformDependantStuff(void);
-void ClosePlatformDependantStuff(void);
+void InitPlatformDependentStuff(void);
+void ClosePlatformDependentStuff(void);
 
 void InitGfxFieldInfo(int, int, int, int, int, int, int, int, Bitmap *);
 void InitGfxDoor1Info(int, int, int, int);
@@ -750,6 +759,8 @@ inline void InitEventFilter(EventFilter);
 inline boolean PendingEvent(void);
 inline void NextEvent(Event *event);
 inline Key GetEventKey(KeyEvent *, boolean);
+inline KeyMod HandleKeyModState(Key, int);
+inline KeyMod GetKeyModState();
 inline boolean CheckCloseWindowEvent(ClientMessageEvent *);
 
 inline void InitJoysticks();