rnd-20030514-1-src
[rocksndiamonds.git] / src / libgame / system.h
index 930cc113f0ac38d3015eca1d7d6145dc1b3dc786..d4c1884c17ce45a98010efe785613d3ad032a24b 100644 (file)
 #define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space
 
 
-/* values for move directions and special "button" keys */
+/* values for basic move directions (effective at runtime) */
 #define MV_BIT_LEFT            0
 #define MV_BIT_RIGHT           1
 #define MV_BIT_UP              2
 #define MV_BIT_DOWN            3
+
 #define NUM_DIRECTIONS         4
 
+/* values for special move patterns (stored in level files) */
+#define MV_BIT_HORIZONTAL      4
+#define MV_BIT_VERTICAL                5
+#define MV_BIT_ALL_DIRECTIONS  6
+#define MV_BIT_TOWARDS_PLAYER  7
+#define MV_BIT_AWAY_FROM_PLAYER        8
+#define MV_BIT_ALONG_LEFT_SIDE 9
+#define MV_BIT_ALONG_RIGHT_SIDE        10
+
+#define NUM_MOVE_PATTERNS      11
+
+/* values for move direction and special "button" key bitmasks */
 #define MV_NO_MOVING           0
 #define MV_LEFT                        (1 << MV_BIT_LEFT)
 #define MV_RIGHT               (1 << MV_BIT_RIGHT)
 #if defined(PLATFORM_UNIX)
 #define IS_PARENT_PROCESS()    (audio.mixer_pid != getpid())
 #define IS_CHILD_PROCESS()     (audio.mixer_pid == getpid())
+#define HAS_CHILD_PROCESS()    (audio.mixer_pid > 0)
 #else
 #define IS_PARENT_PROCESS()    TRUE
 #define IS_CHILD_PROCESS()     FALSE
+#define HAS_CHILD_PROCESS()    FALSE
 #endif
 
 /* type definitions */
@@ -327,7 +342,6 @@ struct FontBitmapInfo
 
 #if defined(TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND)
   Pixmap *clip_mask;           /* single-char-only clip mask array for X11 */
-  int last_num_chars;          /* to free last font clip masks */
 #endif
 };
 
@@ -544,6 +558,12 @@ struct ConfigInfo
   int type;
 };
 
+struct TokenIntPtrInfo
+{
+  char *token;
+  int *value;
+};
+
 struct FileInfo
 {
   char *token;