X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=03429157c7fc327273ae3da60046d424b631eb88;hb=081f176501bc84d81d6f9d27d6170e70e4a23661;hp=7dcc7e13e2f33ed66a3e86f5a304da9f14bc865b;hpb=fa2a77aa4b53bb786e67f35d6c46f759ebe7823d;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 7dcc7e13..03429157 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -296,7 +296,20 @@ struct GfxInfo int vx, vy; int vxsize, vysize; - boolean draw_deactivation_mask; + int draw_deactivation_mask; + int draw_background_mask; + + Bitmap *background_bitmap; + int background_bitmap_mask; +}; + +struct FontInfo +{ + Bitmap *bitmap_initial; + Bitmap *bitmap_big; + Bitmap *bitmap_medium; + Bitmap *bitmap_small; + Bitmap *bitmap_tile; }; struct JoystickInfo @@ -332,6 +345,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 +394,7 @@ struct SetupInfo boolean override_level_sounds; boolean override_level_music; + struct SetupEditorInfo editor; struct SetupShortcutInfo shortcut; struct SetupInputInfo input[MAX_PLAYERS]; }; @@ -452,6 +479,7 @@ struct ConfigInfo { char *token; char *value; + int type; }; struct FileInfo @@ -499,6 +527,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; @@ -539,7 +568,10 @@ void InitGfxFieldInfo(int, int, int, int, int, int, int, int); void InitGfxDoor1Info(int, int, int, int); void InitGfxDoor2Info(int, int, int, int); void InitGfxScrollbufferInfo(int, int); -void SetDrawDeactivationMask(int ); +void SetDrawDeactivationMask(int); +void SetDrawBackgroundMask(int); +void SetMainBackgroundBitmap(Bitmap *); +void SetDoorBackgroundBitmap(Bitmap *); inline void InitVideoDisplay(void); inline void CloseVideoDisplay(void); @@ -549,9 +581,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);