X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=700d7e6a3c0a7d5a2afc9d7b1fff62c72a470e70;hb=827ba2bca2dfb8d7af57786df4304b61f0a8466e;hp=938eb26ad53930649a7686496e91fb14a8c90cea;hpb=182813ff8b52071238ed66cea9ae03227cc340d4;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 938eb26a..700d7e6a 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 @@ -2104,6 +2127,8 @@ struct MenuInfo 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; @@ -2474,6 +2499,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 +2714,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;