X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=5e5196786e3e90534d9a13e7c3b35d823f9a4ce7;hb=44daf525cec5664a3de0ce6e7516cd6c0081cf5b;hp=3c3a40fb5181bd3a297542b5e64c20d6138642c8;hpb=d905e6df72c773e1943694b96710a2bc25cc863e;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 3c3a40fb..5e519678 100644 --- a/src/main.h +++ b/src/main.h @@ -1599,6 +1599,17 @@ #define NUM_SPECIAL_GFX_ARGS 12 +/* these additional definitions are currently only used for draw offsets */ +#define GFX_SPECIAL_ARG_INFO_MAIN 0 +#define GFX_SPECIAL_ARG_INFO_TITLE 1 +#define GFX_SPECIAL_ARG_INFO_ELEMENTS 2 +#define GFX_SPECIAL_ARG_INFO_MUSIC 3 +#define GFX_SPECIAL_ARG_INFO_CREDITS 4 +#define GFX_SPECIAL_ARG_INFO_PROGRAM 5 +#define GFX_SPECIAL_ARG_INFO_LEVELSET 6 + +#define NUM_SPECIAL_GFX_INFO_ARGS 7 + /* values for image configuration suffixes */ #define GFX_ARG_X 0 @@ -1640,8 +1651,11 @@ #define GFX_ARG_NAME 36 #define GFX_ARG_SCALE_UP_FACTOR 37 #define GFX_ARG_CLONE_FROM 38 +#define GFX_ARG_FADE_DELAY 39 +#define GFX_ARG_POST_DELAY 40 +#define GFX_ARG_AUTO_DELAY 41 -#define NUM_GFX_ARGS 39 +#define NUM_GFX_ARGS 42 /* values for sound configuration suffixes */ @@ -1750,6 +1764,7 @@ #define PROGRAM_COPYRIGHT_STRING "Copyright ©1995-2006 by Holger Schemel" #define PROGRAM_EMAIL_STRING "info@artsoft.org" #define PROGRAM_WEBSITE_STRING "http://www.artsoft.org/" +#define PROGRAM_GAME_BY_STRING "A Game by Artsoft Entertainment" #define ICON_TITLE_STRING PROGRAM_TITLE_STRING #define COOKIE_PREFIX "ROCKSNDIAMONDS" @@ -1835,42 +1850,52 @@ struct BorderInfo int draw_masked[NUM_SPECIAL_GFX_ARGS]; }; +struct MenuPosInfo +{ + int x, y; + int width, height; + int align; +}; + struct MenuMainButtonInfo { - struct Rect name; - struct Rect levels; - struct Rect scores; - struct Rect editor; - struct Rect info; - struct Rect game; - struct Rect setup; - struct Rect quit; - - struct Rect prev_level; - struct Rect next_level; + struct MenuPosInfo name; + struct MenuPosInfo levels; + struct MenuPosInfo scores; + struct MenuPosInfo editor; + struct MenuPosInfo info; + struct MenuPosInfo game; + struct MenuPosInfo setup; + struct MenuPosInfo quit; + + struct MenuPosInfo prev_level; + struct MenuPosInfo next_level; }; struct MenuMainTextInfo { - struct Rect name; - struct Rect levels; - struct Rect scores; - struct Rect editor; - struct Rect info; - struct Rect game; - struct Rect setup; - struct Rect quit; - - struct Rect current_level; - struct Rect first_level; - struct Rect last_level; - struct Rect levelset_info; - struct Rect level_info; + struct MenuPosInfo name; + struct MenuPosInfo levels; + struct MenuPosInfo scores; + struct MenuPosInfo editor; + struct MenuPosInfo info; + struct MenuPosInfo game; + struct MenuPosInfo setup; + struct MenuPosInfo quit; + + struct MenuPosInfo current_level; + struct MenuPosInfo first_level; + struct MenuPosInfo last_level; + struct MenuPosInfo level_info_1; + struct MenuPosInfo level_info_2; + struct MenuPosInfo title_1; + struct MenuPosInfo title_2; + struct MenuPosInfo title_3; }; struct MenuMainInputInfo { - struct Rect name; + struct MenuPosInfo name; }; struct MenuMainInfo @@ -1880,10 +1905,23 @@ struct MenuMainInfo struct MenuMainInputInfo input; }; +struct TitleInfo +{ + int fade_delay; + int post_delay; + int auto_delay; + + int fade_delay_final; + int post_delay_final; + int auto_delay_final; +}; + struct MenuInfo { int draw_xoffset[NUM_SPECIAL_GFX_ARGS]; int draw_yoffset[NUM_SPECIAL_GFX_ARGS]; + int draw_xoffset_info[NUM_SPECIAL_GFX_INFO_ARGS]; + int draw_yoffset_info[NUM_SPECIAL_GFX_INFO_ARGS]; int scrollbar_xoffset; @@ -1891,6 +1929,7 @@ struct MenuInfo int fade_delay; int post_delay; + int auto_delay; int sound[NUM_SPECIAL_GFX_ARGS]; int music[NUM_SPECIAL_GFX_ARGS]; @@ -1910,10 +1949,13 @@ struct DoorInfo struct PreviewInfo { int x, y; + int align; int xsize, ysize; + int xoffset, yoffset; int tile_size; int step_offset; int step_delay; + int anim_mode; }; struct HiScore @@ -2317,6 +2359,12 @@ struct GraphicInfo int draw_masked; /* optional setting for drawing envelope gfx */ + int fade_delay; /* optional setting for drawing title screens */ + int post_delay; /* optional setting for drawing title screens */ + int auto_delay; /* optional setting for drawing title screens */ + + boolean use_image_size; /* use image size as default width and height */ + #if defined(TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND) Pixmap clip_mask; /* single-graphic-only clip mask for X11 */ GC clip_gc; /* single-graphic-only clip gc for X11 */ @@ -2431,6 +2479,7 @@ extern short ChangeEvent[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short WasJustMoving[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short WasJustFalling[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short CheckCollision[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +extern short CheckImpact[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short AmoebaCnt[MAX_NUM_AMOEBA]; extern short AmoebaCnt2[MAX_NUM_AMOEBA]; @@ -2475,6 +2524,7 @@ extern struct HiScore highscore[]; extern struct TapeInfo tape; extern struct GlobalInfo global; extern struct BorderInfo border; +extern struct TitleInfo title; extern struct MenuInfo menu; extern struct DoorInfo door_1, door_2; extern struct PreviewInfo preview;