rnd-20100325-1-src
[rocksndiamonds.git] / src / libgame / system.h
index 3791f1e6523b07e16e7d70b6886f5b22a01cefc0..ea4dbd173c86917f0a78f0d1837b98046bdea839 100644 (file)
 #define DEFAULT_KEY_FOCUS_PLAYER_3     KSYM_F7
 #define DEFAULT_KEY_FOCUS_PLAYER_4     KSYM_F8
 #define DEFAULT_KEY_FOCUS_PLAYER_ALL   KSYM_F9
+#define DEFAULT_KEY_TAPE_EJECT         KSYM_UNDEFINED
+#define DEFAULT_KEY_TAPE_STOP          KSYM_UNDEFINED
+#define DEFAULT_KEY_TAPE_PAUSE         KSYM_UNDEFINED
+#define DEFAULT_KEY_TAPE_RECORD                KSYM_UNDEFINED
+#define DEFAULT_KEY_TAPE_PLAY          KSYM_UNDEFINED
+#define DEFAULT_KEY_SOUND_SIMPLE       KSYM_UNDEFINED
+#define DEFAULT_KEY_SOUND_LOOPS                KSYM_UNDEFINED
+#define DEFAULT_KEY_SOUND_MUSIC                KSYM_UNDEFINED
 
 /* values for key_status */
 #define KEY_NOT_PRESSED                        FALSE
 
 #define ANIM_DEFAULT           ANIM_LOOP
 
+/* values for special drawing styles (currently only for crumbled graphics) */
+#define STYLE_NONE             0
+#define STYLE_ACCURATE_BORDERS  (1 << 0)
+#define STYLE_WITH_INNER_CORNERS (1 << 1)
+
+#define STYLE_DEFAULT          STYLE_NONE
+
 /* values for fade mode */
 #define FADE_TYPE_NONE         0
 #define FADE_TYPE_FADE_IN      (1 << 0)
@@ -650,8 +665,11 @@ struct OptionInfo
   char *sounds_directory;
   char *music_directory;
   char *docs_directory;
+
   char *execute_command;
 
+  char *special_flags;
+
   boolean serveronly;
   boolean network;
   boolean verbose;
@@ -726,6 +744,8 @@ struct GfxInfo
   int vx, vy;
   int vxsize, vysize;
 
+  int win_xsize, win_ysize;
+
   int draw_deactivation_mask;
   int draw_background_mask;
 
@@ -829,6 +849,16 @@ struct SetupShortcutInfo
 
   Key focus_player[MAX_PLAYERS];
   Key focus_player_all;
+
+  Key tape_eject;
+  Key tape_stop;
+  Key tape_pause;
+  Key tape_record;
+  Key tape_play;
+
+  Key sound_simple;
+  Key sound_loops;
+  Key sound_music;
 };
 
 struct SetupSystemInfo
@@ -866,6 +896,7 @@ struct SetupInfo
   boolean input_on_focus;
   boolean prefer_aga_graphics;
   int game_frame_delay;
+  boolean sp_show_border_elements;
 
   char *graphics_set;
   char *sounds_set;
@@ -920,6 +951,8 @@ struct TreeInfo
   char *level_filename;        /* filename of level file (for packed level file) */
   char *level_filetype;        /* type of levels in level directory or level file */
 
+  char *special_flags; /* flags for special actions performed on level file */
+
   int levels;          /* number of levels in level series */
   int first_level;     /* first level number (to allow start with 0 or 1) */
   int last_level;      /* last level number (automatically calculated) */
@@ -1144,6 +1177,7 @@ void ClosePlatformDependentStuff(void);
 void InitGfxFieldInfo(int, int, int, int, int, int, int, int, Bitmap *);
 void InitGfxDoor1Info(int, int, int, int);
 void InitGfxDoor2Info(int, int, int, int);
+void InitGfxWindowInfo(int, int);
 void InitGfxScrollbufferInfo(int, int);
 void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void));
 void InitGfxCustomArtworkInfo();