#define VY 400
#define EX DX
#define EY (VY - 44)
-#define TILEX 32
-#define TILEY 32
-#define MINI_TILEX (TILEX / 2)
-#define MINI_TILEY (TILEY / 2)
-#define MICRO_TILEX (TILEX / 8)
-#define MICRO_TILEY (TILEY / 8)
+#define TILESIZE 32
+#define TILEX TILESIZE
+#define TILEY TILESIZE
+#define MINI_TILESIZE (TILESIZE / 2)
+#define MINI_TILEX MINI_TILESIZE
+#define MINI_TILEY MINI_TILESIZE
+#define MICRO_TILESIZE (TILESIZE / 8)
+#define MICRO_TILEX MICRO_TILESIZE
+#define MICRO_TILEY MICRO_TILESIZE
#define MIDPOSX (SCR_FIELDX / 2)
#define MIDPOSY (SCR_FIELDY / 2)
#define SXSIZE (SCR_FIELDX * TILEX)
#define EL_EMC_ANDROID 680
#define EL_EMC_GRASS 681
#define EL_EMC_MAGIC_BALL 682
-#define EL_EMC_MAGIC_BALL_SWITCH 683
-#define EL_EMC_SPRING_BUMPER 684
-#define EL_EMC_PLANT 685
-#define EL_EMC_LENSES 686
-#define EL_EMC_MAGNIFIER 687
-#define EL_EMC_WALL_9 688
-#define EL_EMC_WALL_10 689
-#define EL_EMC_WALL_11 690
-#define EL_EMC_WALL_12 691
-#define EL_EMC_WALL_13 692
-#define EL_EMC_WALL_14 693
-#define EL_EMC_WALL_15 694
-#define EL_EMC_WALL_16 695
-#define EL_EMC_WALL_SLIPPERY_1 696
-#define EL_EMC_WALL_SLIPPERY_2 697
-#define EL_EMC_WALL_SLIPPERY_3 698
-#define EL_EMC_WALL_SLIPPERY_4 699
-#define EL_EMC_DRIPPER 700
-
-#define NUM_FILE_ELEMENTS 701
+#define EL_EMC_MAGIC_BALL_ACTIVE 683
+#define EL_EMC_MAGIC_BALL_SWITCH 684
+#define EL_EMC_MAGIC_BALL_SWITCH_ACTIVE 685
+#define EL_EMC_SPRING_BUMPER 686
+#define EL_EMC_PLANT 687
+#define EL_EMC_LENSES 688
+#define EL_EMC_MAGNIFIER 689
+#define EL_EMC_WALL_9 690
+#define EL_EMC_WALL_10 691
+#define EL_EMC_WALL_11 692
+#define EL_EMC_WALL_12 693
+#define EL_EMC_WALL_13 694
+#define EL_EMC_WALL_14 695
+#define EL_EMC_WALL_15 696
+#define EL_EMC_WALL_16 697
+#define EL_EMC_WALL_SLIPPERY_1 698
+#define EL_EMC_WALL_SLIPPERY_2 699
+#define EL_EMC_WALL_SLIPPERY_3 700
+#define EL_EMC_WALL_SLIPPERY_4 701
+#define EL_EMC_FAKE_GRASS 702
+#define EL_EMC_DRIPPER 703
+
+#define NUM_FILE_ELEMENTS 704
/* "real" (and therefore drawable) runtime elements */
#define ACTION_TURNING_FROM_RIGHT 44
#define ACTION_TURNING_FROM_UP 45
#define ACTION_TURNING_FROM_DOWN 46
-#define ACTION_OTHER 47
+#define ACTION_SMASHED_BY_ROCK 47
+#define ACTION_SMASHED_BY_SPRING 48
+#define ACTION_SLURPED_BY_SPRING 49
+#define ACTION_TWINKLING 50
+#define ACTION_OTHER 51
-#define NUM_ACTIONS 48
+#define NUM_ACTIONS 52
#define ACTION_BORING_LAST ACTION_BORING_10
#define ACTION_SLEEPING_LAST ACTION_SLEEPING_3
#define GFX_ARG_YPOS 3
#define GFX_ARG_WIDTH 4
#define GFX_ARG_HEIGHT 5
-#define GFX_ARG_OFFSET 6
-#define GFX_ARG_VERTICAL 7
+#define GFX_ARG_VERTICAL 6
+#define GFX_ARG_OFFSET 7
#define GFX_ARG_XOFFSET 8
#define GFX_ARG_YOFFSET 9
-#define GFX_ARG_FRAMES 10
-#define GFX_ARG_FRAMES_PER_LINE 11
-#define GFX_ARG_START_FRAME 12
-#define GFX_ARG_DELAY 13
-#define GFX_ARG_ANIM_MODE 14
-#define GFX_ARG_GLOBAL_SYNC 15
-#define GFX_ARG_CRUMBLED_LIKE 16
-#define GFX_ARG_DIGGABLE_LIKE 17
-#define GFX_ARG_BORDER_SIZE 18
-#define GFX_ARG_STEP_OFFSET 19
-#define GFX_ARG_STEP_DELAY 20
-#define GFX_ARG_DIRECTION 21
-#define GFX_ARG_POSITION 22
-#define GFX_ARG_DRAW_XOFFSET 23
-#define GFX_ARG_DRAW_YOFFSET 24
-#define GFX_ARG_DRAW_MASKED 25
-#define GFX_ARG_ANIM_DELAY_FIXED 26
-#define GFX_ARG_ANIM_DELAY_RANDOM 27
-#define GFX_ARG_POST_DELAY_FIXED 28
-#define GFX_ARG_POST_DELAY_RANDOM 29
-#define GFX_ARG_NAME 30
-#define GFX_ARG_SCALE_UP_FACTOR 31
-
-#define NUM_GFX_ARGS 32
+#define GFX_ARG_2ND_MOVEMENT_TILE 10
+#define GFX_ARG_2ND_VERTICAL 11
+#define GFX_ARG_2ND_OFFSET 12
+#define GFX_ARG_2ND_XOFFSET 13
+#define GFX_ARG_2ND_YOFFSET 14
+#define GFX_ARG_2ND_SWAP_TILES 15
+#define GFX_ARG_FRAMES 16
+#define GFX_ARG_FRAMES_PER_LINE 17
+#define GFX_ARG_START_FRAME 18
+#define GFX_ARG_DELAY 19
+#define GFX_ARG_ANIM_MODE 20
+#define GFX_ARG_GLOBAL_SYNC 21
+#define GFX_ARG_CRUMBLED_LIKE 22
+#define GFX_ARG_DIGGABLE_LIKE 23
+#define GFX_ARG_BORDER_SIZE 24
+#define GFX_ARG_STEP_OFFSET 25
+#define GFX_ARG_STEP_DELAY 26
+#define GFX_ARG_DIRECTION 27
+#define GFX_ARG_POSITION 28
+#define GFX_ARG_DRAW_XOFFSET 29
+#define GFX_ARG_DRAW_YOFFSET 30
+#define GFX_ARG_DRAW_MASKED 31
+#define GFX_ARG_ANIM_DELAY_FIXED 32
+#define GFX_ARG_ANIM_DELAY_RANDOM 33
+#define GFX_ARG_POST_DELAY_FIXED 34
+#define GFX_ARG_POST_DELAY_RANDOM 35
+#define GFX_ARG_NAME 36
+#define GFX_ARG_SCALE_UP_FACTOR 37
+
+#define NUM_GFX_ARGS 38
/* values for sound configuration suffixes */
/* program information and versioning definitions */
#define PROGRAM_VERSION_MAJOR 3
-#define PROGRAM_VERSION_MINOR 1
-#define PROGRAM_VERSION_PATCH 1
-#define PROGRAM_VERSION_BUILD 0
+#define PROGRAM_VERSION_MINOR 2
+#define PROGRAM_VERSION_PATCH 0
+#define PROGRAM_VERSION_BUILD 1
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
#define PROGRAM_AUTHOR_STRING "Holger Schemel"
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 offset2_x, offset2_y; /* x/y offset to second movement tile */
+ boolean double_movement; /* animation has second movement tile */
+ int swap_double_tiles; /* explicitely force or forbid tile swapping */
int anim_frames;
int anim_frames_per_line;
int anim_start_frame;