X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=4383b60b1ab97bc78a9046d12407baf66cabcdea;hb=0d4ace80d081e080a704ee15227e209d5953e325;hp=3d01171833a95b0d83c60648ef02ed434225b719;hpb=949580a3bafe5c8abd1fac99202411b65900b883;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 3d011718..4383b60b 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -80,6 +80,10 @@ #define DEFAULT_KEY_SOUND_SIMPLE KSYM_UNDEFINED #define DEFAULT_KEY_SOUND_LOOPS KSYM_UNDEFINED #define DEFAULT_KEY_SOUND_MUSIC KSYM_UNDEFINED +#define DEFAULT_KEY_SNAP_LEFT KSYM_UNDEFINED +#define DEFAULT_KEY_SNAP_RIGHT KSYM_UNDEFINED +#define DEFAULT_KEY_SNAP_UP KSYM_UNDEFINED +#define DEFAULT_KEY_SNAP_DOWN KSYM_UNDEFINED /* values for key_status */ #define KEY_NOT_PRESSED FALSE @@ -130,6 +134,8 @@ #define BUTTON_1 4 #define BUTTON_2 5 +#define NUM_PLAYER_ACTIONS 6 + /* values for special "focus player" bitmasks */ #define BIT_SET_FOCUS 6 @@ -153,6 +159,8 @@ #define KEY_BUTTON_1 (1 << BUTTON_1) #define KEY_BUTTON_2 (1 << BUTTON_2) +#define KEY_BUTTON_SNAP KEY_BUTTON_1 +#define KEY_BUTTON_DROP KEY_BUTTON_2 #define KEY_MOTION (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN) #define KEY_BUTTON (KEY_BUTTON_1 | KEY_BUTTON_2) #define KEY_ACTION (KEY_MOTION | KEY_BUTTON) @@ -207,6 +215,13 @@ #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_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) @@ -747,6 +762,10 @@ struct GfxInfo Bitmap *background_bitmap; int background_bitmap_mask; + boolean clipping_enabled; + int clip_x, clip_y; + int clip_width, clip_height; + boolean override_level_graphics; boolean override_level_sounds; boolean override_level_music; @@ -852,6 +871,11 @@ struct SetupShortcutInfo Key sound_simple; Key sound_loops; Key sound_music; + + Key snap_left; + Key snap_right; + Key snap_up; + Key snap_down; }; struct SetupSystemInfo @@ -1101,6 +1125,13 @@ struct Rect int width, height; }; +struct RectWithBorder +{ + int x, y; + int width, height; + int border_size; +}; + struct MenuPosInfo { int x, y; @@ -1172,6 +1203,7 @@ void InitGfxDoor1Info(int, int, int, int); void InitGfxDoor2Info(int, int, int, int); void InitGfxWindowInfo(int, int); void InitGfxScrollbufferInfo(int, int); +void InitGfxClipRegion(boolean, int, int, int, int); void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void)); void InitGfxCustomArtworkInfo(); void SetDrawDeactivationMask(int); @@ -1185,6 +1217,7 @@ void CloseVideoDisplay(void); void InitVideoBuffer(int, int, int, boolean); Bitmap *CreateBitmapStruct(void); Bitmap *CreateBitmap(int, int, int); +void ReCreateBitmap(Bitmap **, int, int, int); void FreeBitmap(Bitmap *); void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int); void FadeRectangle(Bitmap *bitmap, int, int, int, int, int, int, int,