X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=b8430daa574113dcf4d8f24f8836c90b33e04e55;hb=462bca0782be497b984922afda26b5bf12bd3d75;hp=36fb3b16c6ae4e69cfe4f4d62a2b491b6ce45908;hpb=9eff630555d9f481889fa2f807af76daaa2e70cb;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 36fb3b16..b8430daa 100644 --- a/src/main.h +++ b/src/main.h @@ -1586,18 +1586,19 @@ /* values for special image configuration suffixes (must match game mode) */ #define GFX_SPECIAL_ARG_DEFAULT 0 #define GFX_SPECIAL_ARG_TITLE 1 -#define GFX_SPECIAL_ARG_MAIN 2 -#define GFX_SPECIAL_ARG_LEVELS 3 -#define GFX_SPECIAL_ARG_SCORES 4 -#define GFX_SPECIAL_ARG_EDITOR 5 -#define GFX_SPECIAL_ARG_INFO 6 -#define GFX_SPECIAL_ARG_SETUP 7 -#define GFX_SPECIAL_ARG_PLAYING 8 -#define GFX_SPECIAL_ARG_DOOR 9 -#define GFX_SPECIAL_ARG_PREVIEW 10 -#define GFX_SPECIAL_ARG_CRUMBLED 11 - -#define NUM_SPECIAL_GFX_ARGS 12 +#define GFX_SPECIAL_ARG_MESSAGE 2 +#define GFX_SPECIAL_ARG_MAIN 3 +#define GFX_SPECIAL_ARG_LEVELS 4 +#define GFX_SPECIAL_ARG_SCORES 5 +#define GFX_SPECIAL_ARG_EDITOR 6 +#define GFX_SPECIAL_ARG_INFO 7 +#define GFX_SPECIAL_ARG_SETUP 8 +#define GFX_SPECIAL_ARG_PLAYING 9 +#define GFX_SPECIAL_ARG_DOOR 10 +#define GFX_SPECIAL_ARG_PREVIEW 11 +#define GFX_SPECIAL_ARG_CRUMBLED 12 + +#define NUM_SPECIAL_GFX_ARGS 13 /* these additional definitions are currently only used for draw offsets */ #define GFX_SPECIAL_ARG_INFO_MAIN 0 @@ -1651,8 +1652,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 */ @@ -1725,20 +1729,21 @@ /* values for game_status (must match special image configuration suffixes) */ #define GAME_MODE_DEFAULT 0 #define GAME_MODE_TITLE 1 -#define GAME_MODE_MAIN 2 -#define GAME_MODE_LEVELS 3 -#define GAME_MODE_SCORES 4 -#define GAME_MODE_EDITOR 5 -#define GAME_MODE_INFO 6 -#define GAME_MODE_SETUP 7 -#define GAME_MODE_PLAYING 8 -#define GAME_MODE_PSEUDO_DOOR 9 -#define GAME_MODE_PSEUDO_PREVIEW 10 -#define GAME_MODE_PSEUDO_CRUMBLED 11 +#define GAME_MODE_MESSAGE 2 +#define GAME_MODE_MAIN 3 +#define GAME_MODE_LEVELS 4 +#define GAME_MODE_SCORES 5 +#define GAME_MODE_EDITOR 6 +#define GAME_MODE_INFO 7 +#define GAME_MODE_SETUP 8 +#define GAME_MODE_PLAYING 9 +#define GAME_MODE_PSEUDO_DOOR 10 +#define GAME_MODE_PSEUDO_PREVIEW 11 +#define GAME_MODE_PSEUDO_CRUMBLED 12 /* there are no special config file suffixes for these modes */ -#define GAME_MODE_PSEUDO_TYPENAME 12 -#define GAME_MODE_QUIT 13 +#define GAME_MODE_PSEUDO_TYPENAME 13 +#define GAME_MODE_QUIT 14 /* special definitions currently only used for custom artwork configuration */ #define MUSIC_PREFIX_BACKGROUND 0 @@ -1761,6 +1766,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" @@ -1846,42 +1852,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 @@ -1891,6 +1907,17 @@ 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]; @@ -1904,6 +1931,7 @@ struct MenuInfo int fade_delay; int post_delay; + int auto_delay; int sound[NUM_SPECIAL_GFX_ARGS]; int music[NUM_SPECIAL_GFX_ARGS]; @@ -1923,11 +1951,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 @@ -2331,6 +2361,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 */ @@ -2445,6 +2481,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]; @@ -2489,6 +2526,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;