X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=3577e35913b1831af8ad1c5f006d2d137b170a4d;hb=14089dac2cbe56e563863e1e5adb8847944fd262;hp=5072584ee6441e9e1cdd6d68513b701072ede24b;hpb=86e378b18a72a7f9ee7d558515d4f27a40c70a7e;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 5072584e..3577e359 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -71,6 +71,7 @@ #define MV_BIT_RIGHT 1 #define MV_BIT_UP 2 #define MV_BIT_DOWN 3 +#define NUM_MV_DIRECTIONS 4 #define MV_NO_MOVING 0 #define MV_LEFT (1 << MV_BIT_LEFT) @@ -83,7 +84,7 @@ #define KEY_BUTTON (KEY_BUTTON_1 | KEY_BUTTON_2) #define KEY_ACTION (KEY_MOTION | KEY_BUTTON) -#define LOG_MV_DIR(x) ((x) == MV_LEFT ? MV_BIT_LEFT : \ +#define MV_DIR_BIT(x) ((x) == MV_LEFT ? MV_BIT_LEFT : \ (x) == MV_RIGHT ? MV_BIT_RIGHT : \ (x) == MV_UP ? MV_BIT_UP : MV_BIT_DOWN) @@ -239,17 +240,19 @@ struct OptionInfo char *display_name; char *server_host; int server_port; + char *ro_base_directory; char *rw_base_directory; char *level_directory; char *graphics_directory; char *sounds_directory; char *music_directory; + char *execute_command; + boolean serveronly; boolean network; boolean verbose; boolean debug; - char *debug_command; }; struct VideoSystemInfo @@ -294,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 @@ -329,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; @@ -365,6 +392,7 @@ struct SetupInfo boolean override_level_sounds; boolean override_level_music; + struct SetupEditorInfo editor; struct SetupShortcutInfo shortcut; struct SetupInputInfo input[MAX_PLAYERS]; }; @@ -496,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; @@ -537,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); @@ -546,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);