rnd-20030105-1-src
[rocksndiamonds.git] / src / libgame / system.h
index 7dcc7e13e2f33ed66a3e86f5a304da9f14bc865b..3577e35913b1831af8ad1c5f006d2d137b170a4d 100644 (file)
@@ -297,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
@@ -332,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;
@@ -368,6 +392,7 @@ struct SetupInfo
   boolean override_level_sounds;
   boolean override_level_music;
 
+  struct SetupEditorInfo editor;
   struct SetupShortcutInfo shortcut;
   struct SetupInputInfo input[MAX_PLAYERS];
 };
@@ -499,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;
@@ -540,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);
@@ -549,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);