X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=bc09a36d9fb4abec2a1e980c43b12ccfa21709c6;hb=ddd58a300bd5996f69a8ec41d1fd140fe7a46f18;hp=1b877e7e31401e23a454b6a0b76bec2d27984ed7;hpb=531605e2e684de4c30a4e9927f9c5107f468b163;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 1b877e7e..bc09a36d 100644 --- a/src/main.h +++ b/src/main.h @@ -851,7 +851,7 @@ (d) == MV_DOWN ? "MV_DOWN" : "(various)") #define ELEMENT_ACTIVE(e) (ActiveElement[e]) - +#define BUTTON_ACTIVE(b) (ActiveButton[b]) #define FONT_ACTIVE(f) (ActiveFont[f]) @@ -1598,9 +1598,17 @@ #define EL_BD_DEFAULT (EL_FIRST_DUMMY + 22) #define EL_SP_DEFAULT (EL_FIRST_DUMMY + 23) #define EL_SB_DEFAULT (EL_FIRST_DUMMY + 24) +#define EL_GRAPHIC_1 (EL_FIRST_DUMMY + 25) +#define EL_GRAPHIC_2 (EL_FIRST_DUMMY + 26) +#define EL_GRAPHIC_3 (EL_FIRST_DUMMY + 27) +#define EL_GRAPHIC_4 (EL_FIRST_DUMMY + 28) +#define EL_GRAPHIC_5 (EL_FIRST_DUMMY + 29) +#define EL_GRAPHIC_6 (EL_FIRST_DUMMY + 30) +#define EL_GRAPHIC_7 (EL_FIRST_DUMMY + 31) +#define EL_GRAPHIC_8 (EL_FIRST_DUMMY + 32) /* internal elements (only used for internal purposes like copying) */ -#define EL_FIRST_INTERNAL (EL_FIRST_DUMMY + 25) +#define EL_FIRST_INTERNAL (EL_FIRST_DUMMY + 33) #define EL_INTERNAL_CLIPBOARD_CUSTOM (EL_FIRST_INTERNAL + 0) #define EL_INTERNAL_CLIPBOARD_CHANGE (EL_FIRST_INTERNAL + 1) @@ -1769,6 +1777,21 @@ #define NUM_SPECIAL_GFX_INFO_ARGS 8 +/* these additional definitions are currently only used for draw offsets */ +#define GFX_SPECIAL_ARG_SETUP_MAIN 0 +#define GFX_SPECIAL_ARG_SETUP_GAME 1 +#define GFX_SPECIAL_ARG_SETUP_EDITOR 2 +#define GFX_SPECIAL_ARG_SETUP_GRAPHICS 3 +#define GFX_SPECIAL_ARG_SETUP_SOUND 4 +#define GFX_SPECIAL_ARG_SETUP_ARTWORK 5 +#define GFX_SPECIAL_ARG_SETUP_INPUT 6 +#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_1 7 +#define GFX_SPECIAL_ARG_SETUP_SHORTCUTS_2 8 +#define GFX_SPECIAL_ARG_SETUP_CHOOSE_ARTWORK 9 +#define GFX_SPECIAL_ARG_SETUP_CHOOSE_OTHER 10 + +#define NUM_SPECIAL_GFX_SETUP_ARGS 11 + /* values for image configuration suffixes */ #define GFX_ARG_X 0 @@ -1925,14 +1948,22 @@ #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 2 #define PROGRAM_VERSION_PATCH 4 -#define PROGRAM_VERSION_BUILD 0 +#define PROGRAM_VERSION_BUILD 2 #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" -#define PROGRAM_COPYRIGHT_STRING "Copyright ©1995-2006 by Holger Schemel" +#define PROGRAM_COPYRIGHT_STRING "Copyright ©1995-2007 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 PROGRAM_UNIX_DATADIR_STRING ".rocksndiamonds" + +#if CREATE_SPECIAL_EDITION_RND_JUE +#undef PROGRAM_TITLE_STRING +#define PROGRAM_TITLE_STRING "R'n'D - Version Jue" +#undef PROGRAM_UNIX_DATADIR_STRING +#define PROGRAM_UNIX_DATADIR_STRING ".rocksndiamonds-jue" +#endif #define ICON_TITLE_STRING PROGRAM_TITLE_STRING #define COOKIE_PREFIX "ROCKSNDIAMONDS" @@ -1940,7 +1971,7 @@ #define USERDATA_DIRECTORY_WIN32 PROGRAM_TITLE_STRING #define USERDATA_DIRECTORY_MACOSX PROGRAM_TITLE_STRING -#define USERDATA_DIRECTORY_UNIX ".rocksndiamonds" +#define USERDATA_DIRECTORY_UNIX PROGRAM_UNIX_DATADIR_STRING #define USERDATA_DIRECTORY_DOS "userdata" #if defined(PLATFORM_WIN32) @@ -2016,6 +2047,7 @@ struct BorderInfo { boolean draw_masked[NUM_SPECIAL_GFX_ARGS]; + boolean draw_masked_when_fading; }; struct MenuMainButtonInfo @@ -2098,12 +2130,19 @@ struct TitleMessageInfo int auto_delay; }; +struct InitInfo +{ + struct MenuPosInfo busy; +}; + 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 draw_xoffset_setup[NUM_SPECIAL_GFX_SETUP_ARGS]; + int draw_yoffset_setup[NUM_SPECIAL_GFX_SETUP_ARGS]; int scrollbar_xoffset; @@ -2309,6 +2348,13 @@ struct GlobalInfo float frames_per_second; boolean fps_slowdown; int fps_slowdown_factor; + + /* global values for fading screens and masking borders */ + int border_status; +#if 0 + int fading_status; + int fading_type; +#endif }; struct ElementChangeInfo @@ -2474,6 +2520,9 @@ struct ElementInfo int collect_score; /* runtime score value for collecting */ + /* count of this element on playfield, calculated after each frame */ + int element_count; + /* ---------- internal values used in level editor ---------- */ int access_type; /* walkable or passable */ @@ -2686,6 +2735,7 @@ extern int GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern int GfxDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern int ActiveElement[MAX_NUM_ELEMENTS]; +extern int ActiveButton[NUM_IMAGE_FILES]; extern int ActiveFont[NUM_FONTS]; extern int lev_fieldx, lev_fieldy; @@ -2726,6 +2776,7 @@ extern struct TitleMessageInfo titlemessage_initial[]; extern struct TitleMessageInfo titlemessage_default; extern struct TitleMessageInfo titlemessage[]; extern struct TitleMessageInfo readme; +extern struct InitInfo init; extern struct MenuInfo menu; extern struct DoorInfo door_1, door_2; extern struct PreviewInfo preview;