/* 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
#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 */
int move_delay;
int move_delay_value;
+ int move_delay_value_next;
int move_delay_reset_counter;
int push_delay;
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 */
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 */