X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=inline;f=src%2Flibgame%2Fsystem.h;h=44ac3e3448626e95065285ae524203ae6ab0a396;hb=f110301d5f36f0a9bf0a7f45208c4cd6c85acb01;hp=06f49afaa59f96ad55991955757f5c3df5748ce6;hpb=3204a2c4d97dc5d0b164c03ce48c5c176e7cfc32;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 06f49afa..44ac3e34 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -288,6 +288,7 @@ // values for drawing stages for global animations #define DRAW_GLOBAL_ANIM_STAGE_1 1 #define DRAW_GLOBAL_ANIM_STAGE_2 2 +#define DRAW_GLOBAL_ANIM_STAGE_3 3 // values for drawing target (various functions) #define DRAW_TO_BACKBUFFER 0 @@ -378,23 +379,31 @@ #define ANIM_DEFAULT ANIM_LOOP -// values for special drawing styles and event handling -#define STYLE_NONE 0 - -// values used for crumbled graphics -#define STYLE_ACCURATE_BORDERS (1 << 0) -#define STYLE_INNER_CORNERS (1 << 1) +// values for special global animation events +#define ANIM_EVENT_UNDEFINED -1 +#define ANIM_EVENT_NONE 0 +#define ANIM_EVENT_SELF (1 << 0) +#define ANIM_EVENT_ANY (1 << 1) +#define ANIM_EVENT_CLICK (1 << 2) +#define ANIM_EVENT_INIT (1 << 3) +#define ANIM_EVENT_START (1 << 4) +#define ANIM_EVENT_END (1 << 5) +#define ANIM_EVENT_POST (1 << 6) +#define ANIM_EVENT_UNCLICK_ANY (1 << 7) + +// event mask: bits 0-7 +// anim number: bits 8-15 +// part number: bits 16-23 +#define ANIM_EVENT_ANIM_BIT 8 +#define ANIM_EVENT_PART_BIT 16 -// values used for game panel graphics -#define STYLE_REVERSE (1 << 2) -#define STYLE_LEFTMOST_POSITION (1 << 3) +#define ANIM_EVENT_ANIM_MASK (0xff << ANIM_EVENT_ANIM_BIT) +#define ANIM_EVENT_PART_MASK (0xff << ANIM_EVENT_PART_BIT) -// values used for global animations -#define STYLE_BLOCK (1 << 4) -#define STYLE_PASSTHROUGH (1 << 5) -#define STYLE_MULTIPLE_ACTIONS (1 << 6) +#define ANIM_EVENT_DEFAULT ANIM_EVENT_NONE -#define STYLE_DEFAULT STYLE_NONE +// values for special global animation event actions +#define ANIM_EVENT_ACTION_NONE -1 // values for special global animation delay types #define ANIM_DELAY_UNDEFINED -1 @@ -406,30 +415,23 @@ // values for special global animation delay actions #define ANIM_DELAY_ACTION_NONE -1 -// values for special global animation events -#define ANIM_EVENT_UNDEFINED -1 -#define ANIM_EVENT_NONE 0 -#define ANIM_EVENT_SELF (1 << 16) -#define ANIM_EVENT_ANY (1 << 17) -#define ANIM_EVENT_CLICK (1 << 18) -#define ANIM_EVENT_INIT (1 << 19) -#define ANIM_EVENT_START (1 << 20) -#define ANIM_EVENT_END (1 << 21) -#define ANIM_EVENT_POST (1 << 22) -#define ANIM_EVENT_UNCLICK_ANY (1 << 23) - -// anim number: bits 0-7 -// part number: bits 8-15 -#define ANIM_EVENT_ANIM_BIT 0 -#define ANIM_EVENT_PART_BIT 8 +// values for special drawing styles and event handling +#define STYLE_NONE 0 -#define ANIM_EVENT_ANIM_MASK (0xff << ANIM_EVENT_ANIM_BIT) -#define ANIM_EVENT_PART_MASK (0xff << ANIM_EVENT_PART_BIT) +// values used for crumbled graphics +#define STYLE_ACCURATE_BORDERS (1 << 0) +#define STYLE_INNER_CORNERS (1 << 1) -#define ANIM_EVENT_DEFAULT ANIM_EVENT_NONE +// values used for game panel graphics +#define STYLE_REVERSE (1 << 2) +#define STYLE_LEFTMOST_POSITION (1 << 3) -// values for special global animation event actions -#define ANIM_EVENT_ACTION_NONE -1 +// values used for global animations +#define STYLE_BLOCK (1 << 4) +#define STYLE_PASSTHROUGH (1 << 5) +#define STYLE_MULTIPLE_ACTIONS (1 << 6) + +#define STYLE_DEFAULT STYLE_NONE // values for fade mode #define FADE_TYPE_NONE 0 @@ -482,9 +484,9 @@ #define VALIGN_MIDDLE (1 << 2) #define VALIGN_DEFAULT VALIGN_TOP -#define ALIGNED_XPOS(x,w,a) ((a) == ALIGN_CENTER ? (x) - (w) / 2 : \ +#define ALIGNED_XPOS(x, w, a) ((a) == ALIGN_CENTER ? (x) - (w) / 2 : \ (a) == ALIGN_RIGHT ? (x) - (w) : (x)) -#define ALIGNED_YPOS(y,h,v) ((v) == VALIGN_MIDDLE ? (y) - (h) / 2 : \ +#define ALIGNED_YPOS(y, h, v) ((v) == VALIGN_MIDDLE ? (y) - (h) / 2 : \ (v) == VALIGN_BOTTOM ? (y) - (h) : (y)) #define ALIGNED_TEXT_XPOS(p) ALIGNED_XPOS((p)->x, (p)->width, (p)->align) #define ALIGNED_TEXT_YPOS(p) ALIGNED_YPOS((p)->y, (p)->height, (p)->valign) @@ -607,7 +609,7 @@ JOY_NO_ACTION) // maximum number of level sets in the level set history -#define MAX_LEVELDIR_HISTORY 12 +#define MAX_LEVELDIR_HISTORY 100 // default name for empty highscore entry #define EMPTY_PLAYER_NAME "no name" @@ -1998,7 +2000,7 @@ Bitmap *CreateBitmap(int, int, int); void ReCreateBitmap(Bitmap **, int, int); void FreeBitmap(Bitmap *); void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int); -void BlitBitmapTiled(Bitmap *, Bitmap *, int, int, int, int, int, int, int,int); +void BlitBitmapTiled(Bitmap *, Bitmap *, int, int, int, int, int, int, int, int); void FadeRectangle(int, int, int, int, int, int, int, void (*draw_border_function)(void)); void FillRectangle(Bitmap *, int, int, int, int, Pixel); @@ -2017,7 +2019,7 @@ void BlitToScreenMasked(Bitmap *, int, int, int, int, int, int); void DrawSimpleWhiteLine(Bitmap *, int, int, int, int); void DrawLines(Bitmap *, struct XY *, int, Pixel); Pixel GetPixel(Bitmap *, int, int); -Pixel GetPixelFromRGB(Bitmap *, unsigned int,unsigned int,unsigned int); +Pixel GetPixelFromRGB(Bitmap *, unsigned int, unsigned int, unsigned int); void KeyboardAutoRepeatOn(void); void KeyboardAutoRepeatOff(void);