rnd-20050203-1-src
[rocksndiamonds.git] / src / libgame / system.h
index 74a74a67e150ce4cd9baaaa8c709f675d730e4a6..0183b0665e795b09c8cbb3c4677ac3ad86b046e2 100644 (file)
 #define BUTTON_1               4
 #define BUTTON_2               5
 
-/* values for move direction and special "button" key bitmasks */
+/* values for move directions and special "button" key bitmasks */
 #define MV_NO_MOVING           0
 #define MV_LEFT                        (1 << MV_BIT_LEFT)
 #define MV_RIGHT               (1 << MV_BIT_RIGHT)
 #define MV_UP                  (1 << MV_BIT_UP)
 #define MV_DOWN                        (1 << MV_BIT_DOWN)
 
+#define MV_HORIZONTAL          (MV_LEFT | MV_RIGHT)
+#define MV_VERTICAL            (MV_UP   | MV_DOWN)
+#define MV_ALL_DIRECTIONS      (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN)
+#define MV_ANY_DIRECTION       (MV_ALL_DIRECTIONS)
+
 #define KEY_BUTTON_1           (1 << BUTTON_1)
 #define KEY_BUTTON_2           (1 << BUTTON_2)
 #define KEY_MOTION             (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN)
@@ -550,6 +555,7 @@ struct SetupEditorInfo
 {
   boolean el_boulderdash;
   boolean el_emerald_mine;
+  boolean el_emerald_mine_club;
   boolean el_more;
   boolean el_sokoban;
   boolean el_supaplex;
@@ -634,6 +640,7 @@ struct TreeInfo
   char *name_sorting;  /* optional sorting name for correct name sorting */
   char *author;                /* level or artwork author name */
   char *imported_from; /* optional comment for imported levels or artwork */
+  char *imported_by;   /* optional comment for imported levels or artwork */
 
   char *graphics_set;  /* optional custom graphics set (level tree only) */
   char *sounds_set;    /* optional custom sounds set (level tree only) */
@@ -691,6 +698,12 @@ struct ValueTextInfo
 };
 
 struct ConfigInfo
+{
+  char *token;
+  char *value;
+};
+
+struct ConfigTypeInfo
 {
   char *token;
   char *value;
@@ -714,6 +727,7 @@ struct FileInfo
   char **parameter;                            /* array of file parameters */
 
   boolean redefined;
+  boolean fallback_to_default;
 };
 
 struct SetupFileList
@@ -750,7 +764,7 @@ struct ArtworkListInfo
   struct FileInfo *dynamic_file_list;          /* dynamic artwrk file array */
 
   int num_suffix_list_entries;
-  struct ConfigInfo *suffix_list;              /* parameter suffixes array */
+  struct ConfigTypeInfo *suffix_list;          /* parameter suffixes array */
 
   int num_base_prefixes;
   int num_ext1_suffixes;
@@ -867,7 +881,7 @@ Bitmap *LoadCustomImage(char *);
 void ReloadCustomImage(Bitmap *, char *);
 
 Bitmap *ZoomBitmap(Bitmap *, int, int);
-void CreateBitmapWithSmallBitmaps(Bitmap *);
+void CreateBitmapWithSmallBitmaps(Bitmap *, int);
 
 void SetMouseCursor(int);