X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=4bd3788e851223fb5f090bb45566af7e47946a66;hb=d3ffb1e08b58d32e36682e8376c26dd5585bb421;hp=d18e2de2da392a0770c7312c6ed97c36c6d6f74b;hpb=ee749a764df3dfa944c1f9de740ccbeb1cfdef40;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index d18e2de2..4bd3788e 100644 --- a/src/main.h +++ b/src/main.h @@ -290,11 +290,12 @@ /* values for change action mode for custom elements */ #define CA_MODE_UNDEFINED 0 -#define CA_MODE_ADD 1 -#define CA_MODE_SUBTRACT 2 -#define CA_MODE_MULTIPLY 3 -#define CA_MODE_DIVIDE 4 -#define CA_MODE_SET 5 +#define CA_MODE_SET 1 +#define CA_MODE_ADD 2 +#define CA_MODE_SUBTRACT 3 +#define CA_MODE_MULTIPLY 4 +#define CA_MODE_DIVIDE 5 +#define CA_MODE_MODULO 6 /* values for change action parameters for custom elements */ #define CA_ARG_MIN 0 @@ -1352,8 +1353,9 @@ #define GFX_ARG_POST_DELAY_RANDOM 35 #define GFX_ARG_NAME 36 #define GFX_ARG_SCALE_UP_FACTOR 37 +#define GFX_ARG_CLONE_FROM 38 -#define NUM_GFX_ARGS 38 +#define NUM_GFX_ARGS 39 /* values for sound configuration suffixes */ @@ -1618,6 +1620,7 @@ struct PlayerInfo int move_delay; int move_delay_value; + int move_delay_value_next; int move_delay_reset_counter; int push_delay; @@ -1942,8 +1945,8 @@ struct ElementInfo int access_direction; /* accessible from which direction */ - int collect_score; /* score value for collecting */ - int collect_count; /* count value for collecting */ + int collect_score_initial; /* initial score value for collecting */ + int collect_count_initial; /* initial count value for collecting */ int push_delay_fixed; /* constant delay before pushing */ int push_delay_random; /* additional random delay before pushing */ @@ -1968,8 +1971,6 @@ struct ElementInfo int explosion_delay; /* duration of explosion of this element */ int ignition_delay; /* delay for explosion by other explosion */ - int counter_initial; /* initial value of generic CE counter */ - struct ElementChangeInfo *change_page; /* actual list of change pages */ struct ElementChangeInfo *change; /* pointer to current change page */ @@ -1987,7 +1988,7 @@ struct ElementInfo boolean in_group[NUM_GROUP_ELEMENTS]; - int counter; /* current value of generic CE counter */ + int collect_score; /* runtime score value for collecting */ /* ---------- internal values used in level editor ---------- */ @@ -2019,6 +2020,9 @@ struct FontInfo struct GraphicInfo { Bitmap *bitmap; + int src_image_width; /* scaled bitmap size, but w/o small images */ + int src_image_height; /* scaled bitmap size, but w/o small images */ + int src_x, src_y; /* start position of animation frames */ int width, height; /* width/height of each animation frame */ int offset_x, offset_y; /* x/y offset to next animation frame */ @@ -2035,6 +2039,7 @@ struct GraphicInfo int diggable_like; /* element for cloning digging graphics */ int border_size; /* border size for "crumbled" graphics */ int scale_up_factor; /* optional factor for scaling image up */ + int clone_from; /* graphic for cloning *all* settings */ int anim_delay_fixed; /* optional delay values for bored and */ int anim_delay_random; /* sleeping player animations (animation */ @@ -2147,6 +2152,7 @@ extern short MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short ChangeDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short ChangePage[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +extern short Count[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY];