X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=17fec5cafee63c58dd67277654cda1d872d2b0fe;hb=439b24a7e57f7af4081ef917fabe6b3cb78d902d;hp=3fd8c9150f51bb390fff3f7b4ba1bf294d5b965d;hpb=42ffe4ef1bde9f93619d259af377083cdcd96da6;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 3fd8c915..17fec5ca 100644 --- a/src/main.h +++ b/src/main.h @@ -1858,18 +1858,19 @@ #define GFX_SPECIAL_ARG_TITLE 3 #define GFX_SPECIAL_ARG_MAIN 4 #define GFX_SPECIAL_ARG_LEVELS 5 -#define GFX_SPECIAL_ARG_SCORES 6 -#define GFX_SPECIAL_ARG_EDITOR 7 -#define GFX_SPECIAL_ARG_INFO 8 -#define GFX_SPECIAL_ARG_SETUP 9 -#define GFX_SPECIAL_ARG_PLAYING 10 -#define GFX_SPECIAL_ARG_DOOR 11 -#define GFX_SPECIAL_ARG_TAPE 12 -#define GFX_SPECIAL_ARG_PANEL 13 -#define GFX_SPECIAL_ARG_PREVIEW 14 -#define GFX_SPECIAL_ARG_CRUMBLED 15 - -#define NUM_SPECIAL_GFX_ARGS 16 +#define GFX_SPECIAL_ARG_LEVELNR 6 +#define GFX_SPECIAL_ARG_SCORES 7 +#define GFX_SPECIAL_ARG_EDITOR 8 +#define GFX_SPECIAL_ARG_INFO 9 +#define GFX_SPECIAL_ARG_SETUP 10 +#define GFX_SPECIAL_ARG_PLAYING 11 +#define GFX_SPECIAL_ARG_DOOR 12 +#define GFX_SPECIAL_ARG_TAPE 13 +#define GFX_SPECIAL_ARG_PANEL 14 +#define GFX_SPECIAL_ARG_PREVIEW 15 +#define GFX_SPECIAL_ARG_CRUMBLED 16 + +#define NUM_SPECIAL_GFX_ARGS 17 /* these additional definitions are currently only used for draw offsets */ #define GFX_SPECIAL_ARG_INFO_MAIN 0 @@ -1884,6 +1885,8 @@ #define NUM_SPECIAL_GFX_INFO_ARGS 8 /* these additional definitions are currently only used for draw offsets */ +/* (must match SETUP_MODE_* values as defined in src/screens.c) */ +/* (should also match corresponding entries in src/conf_gfx.c) */ #define GFX_SPECIAL_ARG_SETUP_MAIN 0 #define GFX_SPECIAL_ARG_SETUP_GAME 1 #define GFX_SPECIAL_ARG_SETUP_EDITOR 2 @@ -1896,10 +1899,11 @@ #define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_2 9 #define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_3 10 #define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_4 11 -#define GFX_SPECIAL_ARG_SETUP_CHOOSE_ARTWORK 12 -#define GFX_SPECIAL_ARG_SETUP_CHOOSE_OTHER 13 +#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_5 12 +#define GFX_SPECIAL_ARG_SETUP_CHOOSE_ARTWORK 13 +#define GFX_SPECIAL_ARG_SETUP_CHOOSE_OTHER 14 -#define NUM_SPECIAL_GFX_SETUP_ARGS 14 +#define NUM_SPECIAL_GFX_SETUP_ARGS 15 /* values for image configuration suffixes */ @@ -1996,23 +2000,24 @@ #define FONT_ENVELOPE_2 19 #define FONT_ENVELOPE_3 20 #define FONT_ENVELOPE_4 21 -#define FONT_INPUT_1_ACTIVE 22 -#define FONT_INPUT_2_ACTIVE 23 -#define FONT_INPUT_1 24 -#define FONT_INPUT_2 25 -#define FONT_OPTION_OFF 26 -#define FONT_OPTION_ON 27 -#define FONT_VALUE_1 28 -#define FONT_VALUE_2 29 -#define FONT_VALUE_OLD 30 -#define FONT_LEVEL_NUMBER_ACTIVE 31 -#define FONT_LEVEL_NUMBER 32 -#define FONT_TAPE_RECORDER 33 -#define FONT_GAME_INFO 34 -#define FONT_INFO_ELEMENTS 35 -#define FONT_INFO_LEVELSET 36 - -#define NUM_FONTS 37 +#define FONT_REQUEST 22 +#define FONT_INPUT_1_ACTIVE 23 +#define FONT_INPUT_2_ACTIVE 24 +#define FONT_INPUT_1 25 +#define FONT_INPUT_2 26 +#define FONT_OPTION_OFF 27 +#define FONT_OPTION_ON 28 +#define FONT_VALUE_1 29 +#define FONT_VALUE_2 30 +#define FONT_VALUE_OLD 31 +#define FONT_LEVEL_NUMBER_ACTIVE 32 +#define FONT_LEVEL_NUMBER 33 +#define FONT_TAPE_RECORDER 34 +#define FONT_GAME_INFO 35 +#define FONT_INFO_ELEMENTS 36 +#define FONT_INFO_LEVELSET 37 + +#define NUM_FONTS 38 #define NUM_INITIAL_FONTS 4 #if 0 @@ -2036,25 +2041,25 @@ #define GAME_MODE_TITLE 3 #define GAME_MODE_MAIN 4 #define GAME_MODE_LEVELS 5 -#define GAME_MODE_SCORES 6 -#define GAME_MODE_EDITOR 7 -#define GAME_MODE_INFO 8 -#define GAME_MODE_SETUP 9 -#define GAME_MODE_PLAYING 10 -#define GAME_MODE_PSEUDO_DOOR 11 -#define GAME_MODE_PSEUDO_TAPE 12 -#define GAME_MODE_PSEUDO_PANEL 13 -#define GAME_MODE_PSEUDO_PREVIEW 14 -#define GAME_MODE_PSEUDO_CRUMBLED 15 +#define GAME_MODE_LEVELNR 6 +#define GAME_MODE_SCORES 7 +#define GAME_MODE_EDITOR 8 +#define GAME_MODE_INFO 9 +#define GAME_MODE_SETUP 10 +#define GAME_MODE_PLAYING 11 +#define GAME_MODE_PSEUDO_DOOR 12 +#define GAME_MODE_PSEUDO_TAPE 13 +#define GAME_MODE_PSEUDO_PANEL 14 +#define GAME_MODE_PSEUDO_PREVIEW 15 +#define GAME_MODE_PSEUDO_CRUMBLED 16 /* there are no special config file suffixes for these modes */ -#define GAME_MODE_PSEUDO_TYPENAME 16 -#define GAME_MODE_QUIT 17 +#define GAME_MODE_PSEUDO_TYPENAME 17 +#define GAME_MODE_QUIT 18 /* special definitions currently only used for custom artwork configuration */ #define MUSIC_PREFIX_BACKGROUND 0 #define NUM_MUSIC_PREFIXES 1 -#define MAX_LEVELS 1000 /* definitions for demo animation lists */ #define HELPANIM_LIST_NEXT -1 @@ -2064,12 +2069,12 @@ /* program information and versioning definitions */ #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 3 -#define PROGRAM_VERSION_PATCH 0 -#define PROGRAM_VERSION_BUILD 2 +#define PROGRAM_VERSION_PATCH 1 +#define PROGRAM_VERSION_BUILD 3 #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" -#define PROGRAM_COPYRIGHT_STRING "Copyright ©1995-2010 by Holger Schemel" +#define PROGRAM_COPYRIGHT_STRING "Copyright ©1995-2014 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" @@ -2103,7 +2108,7 @@ #define X11_ICON_FILENAME "rocks_icon.xbm" #define X11_ICONMASK_FILENAME "rocks_iconmask.xbm" -#define SDL_ICON_FILENAME "rocks_icon_32x32.pcx" +#define SDL_ICON_FILENAME "RocksIcon32x32.png" #define MSDOS_POINTER_FILENAME "mouse.pcx" /* file version numbers for resource files (levels, tapes, score, setup, etc.) @@ -2168,6 +2173,17 @@ struct BorderInfo boolean draw_masked_when_fading; }; +struct RequestButtonInfo +{ + struct TextPosInfo yes; + struct TextPosInfo no; + struct TextPosInfo confirm; + struct TextPosInfo player_1; + struct TextPosInfo player_2; + struct TextPosInfo player_3; + struct TextPosInfo player_4; +}; + struct MenuMainButtonInfo { struct MenuPosInfo name; @@ -2280,11 +2296,25 @@ struct MenuInfo struct DoorInfo { - int width; - int height; + int width, height; + int step_offset; + int step_delay; + int anim_mode; +}; + +struct RequestInfo +{ + struct RequestButtonInfo button; + int x, y; + int width, height; + int border_size; + int line_spacing; int step_offset; int step_delay; int anim_mode; + boolean autowrap; + boolean centered; + boolean wrap_single_words; }; struct PreviewInfo @@ -2617,7 +2647,7 @@ struct ElementInfo /* ---------- special element property values ---------- */ - unsigned long properties[NUM_EP_BITFIELDS]; /* element base properties */ + unsigned int properties[NUM_EP_BITFIELDS]; /* element base properties */ boolean use_gfx_element; /* use custom graphic element */ int gfx_element_initial; /* initial optional custom graphic element */ @@ -2966,6 +2996,7 @@ extern struct TitleMessageInfo readme; extern struct InitInfo init, init_last; extern struct MenuInfo menu; extern struct DoorInfo door_1, door_2; +extern struct RequestInfo request; extern struct PreviewInfo preview; extern struct ElementInfo element_info[]; extern struct ElementNameInfo element_name_info[];