rnd-20060730-1-src
[rocksndiamonds.git] / src / libgame / system.h
index 35eb221eebe658dca59c581a4c141c837dc15c15..c175d59faa05ffebdfd8d78ac95087e610ecf92f 100644 (file)
 #define MB_LEFTBUTTON                  1
 #define MB_MIDDLEBUTTON                        2
 #define MB_RIGHTBUTTON                 3
-
+#define MB_WHEEL_UP                    4
+#define MB_WHEEL_DOWN                  5
+#define MB_WHEEL_LEFT                  6
+#define MB_WHEEL_RIGHT                 7
+#define IS_WHEEL_BUTTON_VERTICAL(b)    ((b) >= MB_WHEEL_UP &&          \
+                                        (b) <= MB_WHEEL_DOWN)
+#define IS_WHEEL_BUTTON_HORIZONTAL(b)  ((b) >= MB_WHEEL_LEFT &&        \
+                                        (b) <= MB_WHEEL_RIGHT)
+#define IS_WHEEL_BUTTON(b)             ((b) >= MB_WHEEL_UP &&          \
+                                        (b) <= MB_WHEEL_DOWN)
+#define DEFAULT_WHEEL_STEPS            3
 
 /* values for move directions */
 #define MV_BIT_LEFT                    0
 #define SCOREFILE_EXTENSION    "sco"
 #endif
 
+#define ERROR_BASENAME         "stderr.txt"
+
+#define CHAR_PATH_SEPARATOR_UNIX       '/'
+#define CHAR_PATH_SEPARATOR_DOS                '\\'
+
+#define STRING_PATH_SEPARATOR_UNIX     "/"
+#define STRING_PATH_SEPARATOR_DOS      "\\"
+
+#define STRING_NEWLINE_UNIX            "\n"
+#define STRING_NEWLINE_DOS             "\r\n"
+
+#if defined(PLATFORM_WIN32) || defined(PLATFORM_MSDOS)
+#define CHAR_PATH_SEPARATOR    CHAR_PATH_SEPARATOR_DOS
+#define STRING_PATH_SEPARATOR  STRING_PATH_SEPARATOR_DOS
+#define STRING_NEWLINE         STRING_NEWLINE_DOS
+#else
+#define CHAR_PATH_SEPARATOR    CHAR_PATH_SEPARATOR_UNIX
+#define STRING_PATH_SEPARATOR  STRING_PATH_SEPARATOR_UNIX
+#define STRING_NEWLINE         STRING_NEWLINE_UNIX
+#endif
+
 
 /* areas in bitmap PIX_DOOR */
 /* meaning in PIX_DB_DOOR: (3 PAGEs)
@@ -508,6 +539,9 @@ struct ProgramInfo
   char *cookie_prefix;
   char *filename_prefix;       /* prefix to cut off from DOS filenames */
 
+  char *error_filename;                /* filename where to write error messages to */
+  FILE *error_file;            /* (used instead of 'stderr' on some systems) */
+
   int version_major;
   int version_minor;
   int version_patch;
@@ -674,6 +708,7 @@ struct SetupEditorCascadeInfo
   boolean el_chars;
   boolean el_ce;
   boolean el_ge;
+  boolean el_ref;
   boolean el_user;
   boolean el_dynamic;
 };