rnd-20030105-1-src
[rocksndiamonds.git] / src / libgame / system.h
index a28c03503dbe6ce54de1a8a6d07ba1dbc81f6353..3577e35913b1831af8ad1c5f006d2d137b170a4d 100644 (file)
@@ -247,14 +247,12 @@ struct OptionInfo
   char *graphics_directory;
   char *sounds_directory;
   char *music_directory;
-  char *autoplay_leveldir;
+  char *execute_command;
 
   boolean serveronly;
   boolean network;
   boolean verbose;
   boolean debug;
-
-  char *debug_command;
 };
 
 struct VideoSystemInfo
@@ -299,6 +297,17 @@ struct GfxInfo
   int vxsize, vysize;
 
   boolean draw_deactivation_mask;
+
+  Bitmap *background_bitmap;
+};
+
+struct FontInfo
+{
+  Bitmap *bitmap_initial;
+  Bitmap *bitmap_big;
+  Bitmap *bitmap_medium;
+  Bitmap *bitmap_small;
+  Bitmap *bitmap_tile;
 };
 
 struct JoystickInfo
@@ -334,6 +343,19 @@ struct SetupInputInfo
   struct SetupKeyboardInfo key;
 };
 
+struct SetupEditorInfo
+{
+  boolean el_boulderdash;
+  boolean el_emerald_mine;
+  boolean el_more;
+  boolean el_sokoban;
+  boolean el_supaplex;
+  boolean el_diamond_caves;
+  boolean el_dx_boulderdash;
+  boolean el_chars;
+  boolean el_custom;
+};
+
 struct SetupShortcutInfo
 {
   Key save_game;
@@ -370,6 +392,7 @@ struct SetupInfo
   boolean override_level_sounds;
   boolean override_level_music;
 
+  struct SetupEditorInfo editor;
   struct SetupShortcutInfo shortcut;
   struct SetupInputInfo input[MAX_PLAYERS];
 };
@@ -501,6 +524,7 @@ extern struct OptionInfo    options;
 extern struct VideoSystemInfo  video;
 extern struct AudioSystemInfo  audio;
 extern struct GfxInfo          gfx;
+extern struct FontInfo         font;
 extern struct ArtworkInfo      artwork;
 extern struct JoystickInfo     joystick;
 extern struct SetupInfo                setup;
@@ -542,6 +566,7 @@ void InitGfxDoor1Info(int, int, int, int);
 void InitGfxDoor2Info(int, int, int, int);
 void InitGfxScrollbufferInfo(int, int);
 void SetDrawDeactivationMask(int );
+void SetBackgroundBitmap(Bitmap *);
 
 inline void InitVideoDisplay(void);
 inline void CloseVideoDisplay(void);
@@ -551,9 +576,13 @@ inline Bitmap *CreateBitmap(int, int, int);
 inline void FreeBitmap(Bitmap *);
 inline void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int);
 inline void ClearRectangle(Bitmap *, int, int, int, int);
+inline void ClearRectangleOnBackground(Bitmap *, int, int, int, int);
 inline void SetClipMask(Bitmap *, GC, Pixmap);
 inline void SetClipOrigin(Bitmap *, GC, int, int);
 inline void BlitBitmapMasked(Bitmap *, Bitmap *, int, int, int, int, int, int);
+inline boolean DrawingOnBackground(int, int);
+inline void BlitBitmapOnBackground(Bitmap *, Bitmap *, int, int, int, int, int,
+                                  int);
 inline void DrawSimpleWhiteLine(Bitmap *, int, int, int, int);
 inline void DrawLines(Bitmap *, struct XY *, int, Pixel);
 inline Pixel GetPixel(Bitmap *, int, int);