rnd-20030121-2-src
[rocksndiamonds.git] / src / conf_e2g.c
index 2cd375d611a431ab408cb7eff5dc0392fc01e20f..9065d110d1b61bc9ac8128227dba4e95050cbf12 100644 (file)
@@ -21,8 +21,8 @@
 static struct
 {
     int element;
-    int direction;
     int action;
+    int direction;
 
     int graphic;
 }
@@ -37,15 +37,15 @@ element_to_graphic[] =
     IMG_BD_ROCK
   },
   {
-    EL_BD_ROCK,                                        -1, GFX_ACTION_FALLING,
+    EL_BD_ROCK,                                        ACTION_FALLING, -1,
     IMG_BD_ROCK_FALLING
   },
   {
-    EL_BD_ROCK,                                        MV_LEFT, GFX_ACTION_MOVING,
+    EL_BD_ROCK,                                        ACTION_MOVING, MV_BIT_LEFT,
     IMG_BD_ROCK_MOVING_LEFT
   },
   {
-    EL_BD_ROCK,                                        MV_RIGHT, GFX_ACTION_MOVING,
+    EL_BD_ROCK,                                        ACTION_MOVING, MV_BIT_RIGHT,
     IMG_BD_ROCK_MOVING_RIGHT
   },
   {
@@ -53,11 +53,11 @@ element_to_graphic[] =
     IMG_BD_DIAMOND
   },
   {
-    EL_BD_DIAMOND,                             -1, GFX_ACTION_MOVING,
+    EL_BD_DIAMOND,                             ACTION_MOVING, -1,
     IMG_BD_DIAMOND_MOVING
   },
   {
-    EL_BD_DIAMOND,                             -1, GFX_ACTION_FALLING,
+    EL_BD_DIAMOND,                             ACTION_FALLING, -1,
     IMG_BD_DIAMOND_FALLING
   },
   {
@@ -68,6 +68,10 @@ element_to_graphic[] =
     EL_BD_MAGIC_WALL_ACTIVE,                   -1, -1,
     IMG_BD_MAGIC_WALL_ACTIVE
   },
+  {
+    EL_BD_MAGIC_WALL,                          ACTION_ACTIVE, -1,
+    IMG_BD_MAGIC_WALL_ACTIVE
+  },
   {
     EL_BD_MAGIC_WALL_FILLING,                  -1, -1,
     IMG_BD_MAGIC_WALL_FILLING
@@ -108,16 +112,12 @@ element_to_graphic[] =
     EL_BD_BUTTERFLY,                           -1, -1,
     IMG_BD_BUTTERFLY
   },
-  {
-    EL_BD_BUTTERFLY,                           -1, GFX_ACTION_MOVING,
-    IMG_BD_BUTTERFLY_MOVING
-  },
   {
     EL_BD_BUTTERFLY_RIGHT,                     -1, -1,
     IMG_BD_BUTTERFLY_RIGHT
   },
   {
-    EL_BD_BUTTERFLY,                           MV_RIGHT, -1,
+    EL_BD_BUTTERFLY,                           -1, MV_BIT_RIGHT,
     IMG_BD_BUTTERFLY_RIGHT
   },
   {
@@ -125,7 +125,7 @@ element_to_graphic[] =
     IMG_BD_BUTTERFLY_UP
   },
   {
-    EL_BD_BUTTERFLY,                           MV_UP, -1,
+    EL_BD_BUTTERFLY,                           -1, MV_BIT_UP,
     IMG_BD_BUTTERFLY_UP
   },
   {
@@ -133,7 +133,7 @@ element_to_graphic[] =
     IMG_BD_BUTTERFLY_LEFT
   },
   {
-    EL_BD_BUTTERFLY,                           MV_LEFT, -1,
+    EL_BD_BUTTERFLY,                           -1, MV_BIT_LEFT,
     IMG_BD_BUTTERFLY_LEFT
   },
   {
@@ -141,23 +141,23 @@ element_to_graphic[] =
     IMG_BD_BUTTERFLY_DOWN
   },
   {
-    EL_BD_BUTTERFLY,                           MV_DOWN, -1,
+    EL_BD_BUTTERFLY,                           -1, MV_BIT_DOWN,
     IMG_BD_BUTTERFLY_DOWN
   },
   {
-    EL_BD_FIREFLY,                             -1, -1,
-    IMG_BD_FIREFLY
+    EL_BD_BUTTERFLY,                           ACTION_MOVING, -1,
+    IMG_BD_BUTTERFLY_MOVING
   },
   {
-    EL_BD_FIREFLY,                             -1, GFX_ACTION_MOVING,
-    IMG_BD_FIREFLY_MOVING
+    EL_BD_FIREFLY,                             -1, -1,
+    IMG_BD_FIREFLY
   },
   {
     EL_BD_FIREFLY_RIGHT,                       -1, -1,
     IMG_BD_FIREFLY_RIGHT
   },
   {
-    EL_BD_FIREFLY,                             MV_RIGHT, -1,
+    EL_BD_FIREFLY,                             -1, MV_BIT_RIGHT,
     IMG_BD_FIREFLY_RIGHT
   },
   {
@@ -165,7 +165,7 @@ element_to_graphic[] =
     IMG_BD_FIREFLY_UP
   },
   {
-    EL_BD_FIREFLY,                             MV_UP, -1,
+    EL_BD_FIREFLY,                             -1, MV_BIT_UP,
     IMG_BD_FIREFLY_UP
   },
   {
@@ -173,7 +173,7 @@ element_to_graphic[] =
     IMG_BD_FIREFLY_LEFT
   },
   {
-    EL_BD_FIREFLY,                             MV_LEFT, -1,
+    EL_BD_FIREFLY,                             -1, MV_BIT_LEFT,
     IMG_BD_FIREFLY_LEFT
   },
   {
@@ -181,9 +181,13 @@ element_to_graphic[] =
     IMG_BD_FIREFLY_DOWN
   },
   {
-    EL_BD_FIREFLY,                             MV_DOWN, -1,
+    EL_BD_FIREFLY,                             -1, MV_BIT_DOWN,
     IMG_BD_FIREFLY_DOWN
   },
+  {
+    EL_BD_FIREFLY,                             ACTION_MOVING, -1,
+    IMG_BD_FIREFLY_MOVING
+  },
   {
     EL_SP_EMPTY_SPACE,                         -1, -1,
     IMG_SP_EMPTY_SPACE
@@ -193,15 +197,15 @@ element_to_graphic[] =
     IMG_SP_ZONK
   },
   {
-    EL_SP_ZONK,                                        -1, GFX_ACTION_FALLING,
+    EL_SP_ZONK,                                        ACTION_FALLING, -1,
     IMG_SP_ZONK_FALLING
   },
   {
-    EL_SP_ZONK,                                        MV_LEFT, GFX_ACTION_MOVING,
+    EL_SP_ZONK,                                        ACTION_MOVING, MV_BIT_LEFT,
     IMG_SP_ZONK_MOVING_LEFT
   },
   {
-    EL_SP_ZONK,                                        MV_RIGHT, GFX_ACTION_MOVING,
+    EL_SP_ZONK,                                        ACTION_MOVING, MV_BIT_RIGHT,
     IMG_SP_ZONK_MOVING_RIGHT
   },
   {
@@ -213,60 +217,60 @@ element_to_graphic[] =
     IMG_SP_MURPHY
   },
   {
-    EL_SP_MURPHY,                              MV_LEFT, -1,
+    EL_SP_MURPHY,                              -1, MV_BIT_LEFT,
     IMG_SP_MURPHY_LEFT
   },
   {
-    EL_SP_MURPHY,                              MV_LEFT, GFX_ACTION_MOVING,
-    IMG_SP_MURPHY_LEFT_MOVING
+    EL_SP_MURPHY,                              -1, MV_BIT_RIGHT,
+    IMG_SP_MURPHY_RIGHT
   },
   {
-    EL_SP_MURPHY,                              MV_LEFT, GFX_ACTION_DIGGING,
-    IMG_SP_MURPHY_LEFT_DIGGING
+    EL_SP_MURPHY,                              -1, MV_BIT_UP,
+    IMG_SP_MURPHY_UP
   },
   {
-    EL_SP_MURPHY,                              MV_LEFT, GFX_ACTION_PUSHING,
-    IMG_SP_MURPHY_LEFT_PUSHING
+    EL_SP_MURPHY,                              -1, MV_BIT_DOWN,
+    IMG_SP_MURPHY_DOWN
   },
   {
-    EL_SP_MURPHY,                              MV_LEFT, GFX_ACTION_SNAPPING,
-    IMG_SP_MURPHY_LEFT_SNAPPING
+    EL_SP_MURPHY,                              ACTION_MOVING, MV_BIT_LEFT,
+    IMG_SP_MURPHY_MOVING_LEFT
   },
   {
-    EL_SP_MURPHY,                              MV_RIGHT, -1,
-    IMG_SP_MURPHY_RIGHT
+    EL_SP_MURPHY,                              ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_SP_MURPHY_MOVING_RIGHT
   },
   {
-    EL_SP_MURPHY,                              MV_RIGHT, GFX_ACTION_MOVING,
-    IMG_SP_MURPHY_RIGHT_MOVING
+    EL_SP_MURPHY,                              ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_SP_MURPHY_DIGGING_LEFT
   },
   {
-    EL_SP_MURPHY,                              MV_RIGHT, GFX_ACTION_DIGGING,
-    IMG_SP_MURPHY_RIGHT_DIGGING
+    EL_SP_MURPHY,                              ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_SP_MURPHY_DIGGING_RIGHT
   },
   {
-    EL_SP_MURPHY,                              MV_RIGHT, GFX_ACTION_PUSHING,
-    IMG_SP_MURPHY_RIGHT_PUSHING
+    EL_SP_MURPHY,                              ACTION_PUSHING, MV_BIT_LEFT,
+    IMG_SP_MURPHY_PUSHING_LEFT
   },
   {
-    EL_SP_MURPHY,                              MV_RIGHT, GFX_ACTION_SNAPPING,
-    IMG_SP_MURPHY_RIGHT_SNAPPING
+    EL_SP_MURPHY,                              ACTION_PUSHING, MV_BIT_RIGHT,
+    IMG_SP_MURPHY_PUSHING_RIGHT
   },
   {
-    EL_SP_MURPHY,                              MV_UP, -1,
-    IMG_SP_MURPHY_UP
+    EL_SP_MURPHY,                              ACTION_SNAPPING, MV_BIT_LEFT,
+    IMG_SP_MURPHY_SNAPPING_LEFT
   },
   {
-    EL_SP_MURPHY,                              MV_UP, GFX_ACTION_SNAPPING,
-    IMG_SP_MURPHY_UP_SNAPPING
+    EL_SP_MURPHY,                              ACTION_SNAPPING, MV_BIT_RIGHT,
+    IMG_SP_MURPHY_SNAPPING_RIGHT
   },
   {
-    EL_SP_MURPHY,                              MV_DOWN, -1,
-    IMG_SP_MURPHY_DOWN
+    EL_SP_MURPHY,                              ACTION_SNAPPING, MV_BIT_UP,
+    IMG_SP_MURPHY_SNAPPING_UP
   },
   {
-    EL_SP_MURPHY,                              MV_DOWN, GFX_ACTION_SNAPPING,
-    IMG_SP_MURPHY_DOWN_SNAPPING
+    EL_SP_MURPHY,                              ACTION_SNAPPING, MV_BIT_DOWN,
+    IMG_SP_MURPHY_SNAPPING_DOWN
   },
   {
     EL_SP_MURPHY_CLONE,                                -1, -1,
@@ -277,7 +281,7 @@ element_to_graphic[] =
     IMG_SP_INFOTRON
   },
   {
-    EL_SP_INFOTRON,                            -1, GFX_ACTION_FALLING,
+    EL_SP_INFOTRON,                            ACTION_FALLING, -1,
     IMG_SP_INFOTRON_FALLING
   },
   {
@@ -333,11 +337,11 @@ element_to_graphic[] =
     IMG_SP_DISK_ORANGE
   },
   {
-    EL_SP_DISK_ORANGE,                         -1, GFX_ACTION_FALLING,
+    EL_SP_DISK_ORANGE,                         ACTION_FALLING, -1,
     IMG_SP_DISK_ORANGE_FALLING
   },
   {
-    EL_SP_DISK_ORANGE,                         -1, GFX_ACTION_PUSHING,
+    EL_SP_DISK_ORANGE,                         ACTION_PUSHING, -1,
     IMG_SP_DISK_ORANGE_PUSHING
   },
   {
@@ -345,7 +349,7 @@ element_to_graphic[] =
     IMG_SP_DISK_YELLOW
   },
   {
-    EL_SP_DISK_YELLOW,                         -1, GFX_ACTION_PUSHING,
+    EL_SP_DISK_YELLOW,                         ACTION_PUSHING, -1,
     IMG_SP_DISK_YELLOW_PUSHING
   },
   {
@@ -353,7 +357,7 @@ element_to_graphic[] =
     IMG_SP_DISK_RED
   },
   {
-    EL_SP_DISK_RED,                            -1, GFX_ACTION_COLLECTING,
+    EL_SP_DISK_RED,                            ACTION_COLLECTING, -1,
     IMG_SP_DISK_RED_COLLECTING
   },
   {
@@ -405,19 +409,19 @@ element_to_graphic[] =
     IMG_SP_SNIKSNAK
   },
   {
-    EL_SP_SNIKSNAK,                            MV_LEFT, -1,
+    EL_SP_SNIKSNAK,                            -1, MV_BIT_LEFT,
     IMG_SP_SNIKSNAK_LEFT
   },
   {
-    EL_SP_SNIKSNAK,                            MV_RIGHT, -1,
+    EL_SP_SNIKSNAK,                            -1, MV_BIT_RIGHT,
     IMG_SP_SNIKSNAK_RIGHT
   },
   {
-    EL_SP_SNIKSNAK,                            MV_UP, -1,
+    EL_SP_SNIKSNAK,                            -1, MV_BIT_UP,
     IMG_SP_SNIKSNAK_UP
   },
   {
-    EL_SP_SNIKSNAK,                            MV_DOWN, -1,
+    EL_SP_SNIKSNAK,                            -1, MV_BIT_DOWN,
     IMG_SP_SNIKSNAK_DOWN
   },
   {
@@ -432,14 +436,30 @@ element_to_graphic[] =
     EL_SP_TERMINAL_ACTIVE,                     -1, -1,
     IMG_SP_TERMINAL_ACTIVE
   },
+  {
+    EL_SP_TERMINAL,                            ACTION_ACTIVE, -1,
+    IMG_SP_TERMINAL_ACTIVE
+  },
   {
     EL_SP_BUGGY_BASE,                          -1, -1,
     IMG_SP_BUGGY_BASE
   },
+  {
+    EL_SP_BUGGY_BASE_ACTIVATING,               -1, -1,
+    IMG_SP_BUGGY_BASE_ACTIVATING
+  },
+  {
+    EL_SP_BUGGY_BASE,                          ACTION_ACTIVATING, -1,
+    IMG_SP_BUGGY_BASE_ACTIVATING
+  },
   {
     EL_SP_BUGGY_BASE_ACTIVE,                   -1, -1,
     IMG_SP_BUGGY_BASE_ACTIVE
   },
+  {
+    EL_SP_BUGGY_BASE,                          ACTION_ACTIVE, -1,
+    IMG_SP_BUGGY_BASE_ACTIVE
+  },
   {
     EL_SP_HARD_BASE1,                          -1, -1,
     IMG_SP_HARD_BASE1
@@ -505,15 +525,15 @@ element_to_graphic[] =
     IMG_ROCK
   },
   {
-    EL_ROCK,                                   -1, GFX_ACTION_FALLING,
+    EL_ROCK,                                   ACTION_FALLING, -1,
     IMG_ROCK_FALLING
   },
   {
-    EL_ROCK,                                   MV_LEFT, GFX_ACTION_MOVING,
+    EL_ROCK,                                   ACTION_MOVING, MV_BIT_LEFT,
     IMG_ROCK_MOVING_LEFT
   },
   {
-    EL_ROCK,                                   MV_RIGHT, GFX_ACTION_MOVING,
+    EL_ROCK,                                   ACTION_MOVING, MV_BIT_RIGHT,
     IMG_ROCK_MOVING_RIGHT
   },
   {
@@ -521,11 +541,11 @@ element_to_graphic[] =
     IMG_EMERALD
   },
   {
-    EL_EMERALD,                                        -1, GFX_ACTION_MOVING,
+    EL_EMERALD,                                        ACTION_MOVING, -1,
     IMG_EMERALD_MOVING
   },
   {
-    EL_EMERALD,                                        -1, GFX_ACTION_FALLING,
+    EL_EMERALD,                                        ACTION_FALLING, -1,
     IMG_EMERALD_FALLING
   },
   {
@@ -533,11 +553,11 @@ element_to_graphic[] =
     IMG_DIAMOND
   },
   {
-    EL_DIAMOND,                                        -1, GFX_ACTION_MOVING,
+    EL_DIAMOND,                                        ACTION_MOVING, -1,
     IMG_DIAMOND_MOVING
   },
   {
-    EL_DIAMOND,                                        -1, GFX_ACTION_FALLING,
+    EL_DIAMOND,                                        ACTION_FALLING, -1,
     IMG_DIAMOND_FALLING
   },
   {
@@ -549,7 +569,23 @@ element_to_graphic[] =
     IMG_NUT
   },
   {
-    EL_NUT_CRACKING,                           -1, GFX_ACTION_CRACKING,
+    EL_NUT,                                    ACTION_FALLING, -1,
+    IMG_NUT_FALLING
+  },
+  {
+    EL_NUT,                                    ACTION_MOVING, MV_BIT_LEFT,
+    IMG_NUT_MOVING_LEFT
+  },
+  {
+    EL_NUT,                                    ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_NUT_MOVING_RIGHT
+  },
+  {
+    EL_NUT_CRACKING,                           -1, -1,
+    IMG_NUT_CRACKING
+  },
+  {
+    EL_NUT,                                    ACTION_CRACKING, -1,
     IMG_NUT_CRACKING
   },
   {
@@ -560,6 +596,10 @@ element_to_graphic[] =
     EL_DYNAMITE_ACTIVE,                                -1, -1,
     IMG_DYNAMITE_ACTIVE
   },
+  {
+    EL_DYNAMITE,                               ACTION_ACTIVE, -1,
+    IMG_DYNAMITE_ACTIVE
+  },
   {
     EL_WALL_EMERALD,                           -1, -1,
     IMG_WALL_EMERALD
@@ -573,7 +613,7 @@ element_to_graphic[] =
     IMG_BUG_RIGHT
   },
   {
-    EL_BUG,                                    MV_RIGHT, -1,
+    EL_BUG,                                    -1, MV_BIT_RIGHT,
     IMG_BUG_RIGHT
   },
   {
@@ -581,7 +621,7 @@ element_to_graphic[] =
     IMG_BUG_UP
   },
   {
-    EL_BUG,                                    MV_UP, -1,
+    EL_BUG,                                    -1, MV_BIT_UP,
     IMG_BUG_UP
   },
   {
@@ -589,7 +629,7 @@ element_to_graphic[] =
     IMG_BUG_LEFT
   },
   {
-    EL_BUG,                                    MV_LEFT, -1,
+    EL_BUG,                                    -1, MV_BIT_LEFT,
     IMG_BUG_LEFT
   },
   {
@@ -597,7 +637,7 @@ element_to_graphic[] =
     IMG_BUG_DOWN
   },
   {
-    EL_BUG,                                    MV_DOWN, -1,
+    EL_BUG,                                    -1, MV_BIT_DOWN,
     IMG_BUG_DOWN
   },
   {
@@ -605,7 +645,7 @@ element_to_graphic[] =
     IMG_SPACESHIP_RIGHT
   },
   {
-    EL_SPACESHIP,                              MV_RIGHT, -1,
+    EL_SPACESHIP,                              -1, MV_BIT_RIGHT,
     IMG_SPACESHIP_RIGHT
   },
   {
@@ -613,7 +653,7 @@ element_to_graphic[] =
     IMG_SPACESHIP_UP
   },
   {
-    EL_SPACESHIP,                              MV_UP, -1,
+    EL_SPACESHIP,                              -1, MV_BIT_UP,
     IMG_SPACESHIP_UP
   },
   {
@@ -621,7 +661,7 @@ element_to_graphic[] =
     IMG_SPACESHIP_LEFT
   },
   {
-    EL_SPACESHIP,                              MV_LEFT, -1,
+    EL_SPACESHIP,                              -1, MV_BIT_LEFT,
     IMG_SPACESHIP_LEFT
   },
   {
@@ -629,7 +669,7 @@ element_to_graphic[] =
     IMG_SPACESHIP_DOWN
   },
   {
-    EL_SPACESHIP,                              MV_DOWN, -1,
+    EL_SPACESHIP,                              -1, MV_BIT_DOWN,
     IMG_SPACESHIP_DOWN
   },
   {
@@ -637,7 +677,7 @@ element_to_graphic[] =
     IMG_YAMYAM
   },
   {
-    EL_YAMYAM,                                 -1, GFX_ACTION_MOVING,
+    EL_YAMYAM,                                 ACTION_MOVING, -1,
     IMG_YAMYAM_MOVING
   },
   {
@@ -645,7 +685,7 @@ element_to_graphic[] =
     IMG_ROBOT
   },
   {
-    EL_ROBOT,                                  -1, GFX_ACTION_MOVING,
+    EL_ROBOT,                                  ACTION_MOVING, -1,
     IMG_ROBOT_MOVING
   },
   {
@@ -656,6 +696,10 @@ element_to_graphic[] =
     EL_ROBOT_WHEEL_ACTIVE,                     -1, -1,
     IMG_ROBOT_WHEEL_ACTIVE
   },
+  {
+    EL_ROBOT_WHEEL,                            ACTION_ACTIVE, -1,
+    IMG_ROBOT_WHEEL_ACTIVE
+  },
   {
     EL_MAGIC_WALL,                             -1, -1,
     IMG_MAGIC_WALL
@@ -664,6 +708,10 @@ element_to_graphic[] =
     EL_MAGIC_WALL_ACTIVE,                      -1, -1,
     IMG_MAGIC_WALL_ACTIVE
   },
+  {
+    EL_MAGIC_WALL,                             ACTION_ACTIVE, -1,
+    IMG_MAGIC_WALL_ACTIVE
+  },
   {
     EL_MAGIC_WALL_FILLING,                     -1, -1,
     IMG_MAGIC_WALL_FILLING
@@ -737,7 +785,7 @@ element_to_graphic[] =
     IMG_AMOEBA_CREATING
   },
   {
-    EL_AMOEBA_SHRINKING,                       -1, GFX_ACTION_SHRINKING,
+    EL_AMOEBA_SHRINKING,                       -1, -1,
     IMG_AMOEBA_SHRINKING
   },
   {
@@ -785,19 +833,19 @@ element_to_graphic[] =
     IMG_AMOEBA_FULL
   },
   {
-    EL_AMOEBA_FULL,                            -1, GFX_ACTION_OTHER,
+    EL_AMOEBA_FULL_PART1,                      -1, -1,
     IMG_AMOEBA_FULL_PART1
   },
   {
-    EL_AMOEBA_FULL,                            -1, GFX_ACTION_OTHER,
+    EL_AMOEBA_FULL_PART2,                      -1, -1,
     IMG_AMOEBA_FULL_PART2
   },
   {
-    EL_AMOEBA_FULL,                            -1, GFX_ACTION_OTHER,
+    EL_AMOEBA_FULL_PART3,                      -1, -1,
     IMG_AMOEBA_FULL_PART3
   },
   {
-    EL_AMOEBA_FULL,                            -1, GFX_ACTION_OTHER,
+    EL_AMOEBA_FULL_PART4,                      -1, -1,
     IMG_AMOEBA_FULL_PART4
   },
   {
@@ -873,7 +921,7 @@ element_to_graphic[] =
     IMG_EXIT_CLOSED
   },
   {
-    EL_EXIT_OPENING,                           -1, GFX_ACTION_OPENING,
+    EL_EXIT_OPENING,                           -1, -1,
     IMG_EXIT_OPENING
   },
   {
@@ -885,7 +933,7 @@ element_to_graphic[] =
     IMG_BALLOON
   },
   {
-    EL_BALLOON,                                        -1, GFX_ACTION_MOVING,
+    EL_BALLOON,                                        ACTION_MOVING, -1,
     IMG_BALLOON_MOVING
   },
   {
@@ -913,7 +961,7 @@ element_to_graphic[] =
     IMG_SPRING
   },
   {
-    EL_SPRING,                                 -1, GFX_ACTION_MOVING,
+    EL_SPRING,                                 ACTION_MOVING, -1,
     IMG_SPRING_MOVING
   },
   {
@@ -972,6 +1020,10 @@ element_to_graphic[] =
     EL_INVISIBLE_STEELWALL_ACTIVE,             -1, -1,
     IMG_INVISIBLE_STEELWALL_ACTIVE
   },
+  {
+    EL_INVISIBLE_STEELWALL,                    ACTION_ACTIVE, -1,
+    IMG_INVISIBLE_STEELWALL_ACTIVE
+  },
   {
     EL_INVISIBLE_WALL,                         -1, -1,
     IMG_INVISIBLE_WALL
@@ -980,6 +1032,10 @@ element_to_graphic[] =
     EL_INVISIBLE_WALL_ACTIVE,                  -1, -1,
     IMG_INVISIBLE_WALL_ACTIVE
   },
+  {
+    EL_INVISIBLE_WALL,                         ACTION_ACTIVE, -1,
+    IMG_INVISIBLE_WALL_ACTIVE
+  },
   {
     EL_INVISIBLE_SAND,                         -1, -1,
     IMG_INVISIBLE_SAND
@@ -988,6 +1044,10 @@ element_to_graphic[] =
     EL_INVISIBLE_SAND_ACTIVE,                  -1, -1,
     IMG_INVISIBLE_SAND_ACTIVE
   },
+  {
+    EL_INVISIBLE_SAND,                         ACTION_ACTIVE, -1,
+    IMG_INVISIBLE_SAND_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT1_MIDDLE,                  -1, -1,
     IMG_CONVEYOR_BELT1_MIDDLE
@@ -996,6 +1056,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT1_MIDDLE_ACTIVE,           -1, -1,
     IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT1_MIDDLE,                  ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT1_LEFT,                    -1, -1,
     IMG_CONVEYOR_BELT1_LEFT
@@ -1004,6 +1068,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT1_LEFT_ACTIVE,             -1, -1,
     IMG_CONVEYOR_BELT1_LEFT_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT1_LEFT,                    ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT1_LEFT_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT1_RIGHT,                   -1, -1,
     IMG_CONVEYOR_BELT1_RIGHT
@@ -1012,6 +1080,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT1_RIGHT_ACTIVE,            -1, -1,
     IMG_CONVEYOR_BELT1_RIGHT_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT1_RIGHT,                   ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT1_RIGHT_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT1_SWITCH_LEFT,             -1, -1,
     IMG_CONVEYOR_BELT1_SWITCH_LEFT
@@ -1032,6 +1104,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT2_MIDDLE_ACTIVE,           -1, -1,
     IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT2_MIDDLE,                  ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT2_LEFT,                    -1, -1,
     IMG_CONVEYOR_BELT2_LEFT
@@ -1040,6 +1116,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT2_LEFT_ACTIVE,             -1, -1,
     IMG_CONVEYOR_BELT2_LEFT_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT2_LEFT,                    ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT2_LEFT_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT2_RIGHT,                   -1, -1,
     IMG_CONVEYOR_BELT2_RIGHT
@@ -1048,6 +1128,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT2_RIGHT_ACTIVE,            -1, -1,
     IMG_CONVEYOR_BELT2_RIGHT_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT2_RIGHT,                   ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT2_RIGHT_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT2_SWITCH_LEFT,             -1, -1,
     IMG_CONVEYOR_BELT2_SWITCH_LEFT
@@ -1068,6 +1152,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT3_MIDDLE_ACTIVE,           -1, -1,
     IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT3_MIDDLE,                  ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT3_LEFT,                    -1, -1,
     IMG_CONVEYOR_BELT3_LEFT
@@ -1076,6 +1164,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT3_LEFT_ACTIVE,             -1, -1,
     IMG_CONVEYOR_BELT3_LEFT_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT3_LEFT,                    ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT3_LEFT_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT3_RIGHT,                   -1, -1,
     IMG_CONVEYOR_BELT3_RIGHT
@@ -1084,6 +1176,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT3_RIGHT_ACTIVE,            -1, -1,
     IMG_CONVEYOR_BELT3_RIGHT_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT3_RIGHT,                   ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT3_RIGHT_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT3_SWITCH_LEFT,             -1, -1,
     IMG_CONVEYOR_BELT3_SWITCH_LEFT
@@ -1104,6 +1200,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT4_MIDDLE_ACTIVE,           -1, -1,
     IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT4_MIDDLE,                  ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT4_LEFT,                    -1, -1,
     IMG_CONVEYOR_BELT4_LEFT
@@ -1112,6 +1212,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT4_LEFT_ACTIVE,             -1, -1,
     IMG_CONVEYOR_BELT4_LEFT_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT4_LEFT,                    ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT4_LEFT_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT4_RIGHT,                   -1, -1,
     IMG_CONVEYOR_BELT4_RIGHT
@@ -1120,6 +1224,10 @@ element_to_graphic[] =
     EL_CONVEYOR_BELT4_RIGHT_ACTIVE,            -1, -1,
     IMG_CONVEYOR_BELT4_RIGHT_ACTIVE
   },
+  {
+    EL_CONVEYOR_BELT4_RIGHT,                   ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT4_RIGHT_ACTIVE
+  },
   {
     EL_CONVEYOR_BELT4_SWITCH_LEFT,             -1, -1,
     IMG_CONVEYOR_BELT4_SWITCH_LEFT
@@ -1148,6 +1256,10 @@ element_to_graphic[] =
     EL_LIGHT_SWITCH_ACTIVE,                    -1, -1,
     IMG_LIGHT_SWITCH_ACTIVE
   },
+  {
+    EL_LIGHT_SWITCH,                           ACTION_ACTIVE, -1,
+    IMG_LIGHT_SWITCH_ACTIVE
+  },
   {
     EL_TIMEGATE_SWITCH,                                -1, -1,
     IMG_TIMEGATE_SWITCH
@@ -1156,6 +1268,10 @@ element_to_graphic[] =
     EL_TIMEGATE_SWITCH_ACTIVE,                 -1, -1,
     IMG_TIMEGATE_SWITCH_ACTIVE
   },
+  {
+    EL_TIMEGATE_SWITCH,                                ACTION_ACTIVE, -1,
+    IMG_TIMEGATE_SWITCH_ACTIVE
+  },
   {
     EL_ENVELOPE,                               -1, -1,
     IMG_ENVELOPE
@@ -1185,23 +1301,31 @@ element_to_graphic[] =
     IMG_SHIELD_NORMAL
   },
   {
-    EL_SHIELD_DEADLY,                          -1, -1,
-    IMG_SHIELD_DEADLY
+    EL_SHIELD_NORMAL_ACTIVE,                   -1, -1,
+    IMG_SHIELD_NORMAL_ACTIVE
   },
   {
-    EL_SHIELD_NORMAL_ACTIVE,                   -1, -1,
+    EL_SHIELD_NORMAL,                          ACTION_ACTIVE, -1,
     IMG_SHIELD_NORMAL_ACTIVE
   },
+  {
+    EL_SHIELD_DEADLY,                          -1, -1,
+    IMG_SHIELD_DEADLY
+  },
   {
     EL_SHIELD_DEADLY_ACTIVE,                   -1, -1,
     IMG_SHIELD_DEADLY_ACTIVE
   },
+  {
+    EL_SHIELD_DEADLY,                          ACTION_ACTIVE, -1,
+    IMG_SHIELD_DEADLY_ACTIVE
+  },
   {
     EL_SWITCHGATE_CLOSED,                      -1, -1,
     IMG_SWITCHGATE_CLOSED
   },
   {
-    EL_SWITCHGATE_OPENING,                     -1, GFX_ACTION_OPENING,
+    EL_SWITCHGATE_OPENING,                     -1, -1,
     IMG_SWITCHGATE_OPENING
   },
   {
@@ -1209,7 +1333,7 @@ element_to_graphic[] =
     IMG_SWITCHGATE_OPEN
   },
   {
-    EL_SWITCHGATE_CLOSING,                     -1, GFX_ACTION_CLOSING,
+    EL_SWITCHGATE_CLOSING,                     -1, -1,
     IMG_SWITCHGATE_CLOSING
   },
   {
@@ -1217,7 +1341,7 @@ element_to_graphic[] =
     IMG_TIMEGATE_CLOSED
   },
   {
-    EL_TIMEGATE_OPENING,                       -1, GFX_ACTION_OPENING,
+    EL_TIMEGATE_OPENING,                       -1, -1,
     IMG_TIMEGATE_OPENING
   },
   {
@@ -1225,7 +1349,7 @@ element_to_graphic[] =
     IMG_TIMEGATE_OPEN
   },
   {
-    EL_TIMEGATE_CLOSING,                       -1, GFX_ACTION_CLOSING,
+    EL_TIMEGATE_CLOSING,                       -1, -1,
     IMG_TIMEGATE_CLOSING
   },
   {
@@ -1233,7 +1357,11 @@ element_to_graphic[] =
     IMG_PEARL
   },
   {
-    EL_PEARL_BREAKING,                         -1, GFX_ACTION_BREAKING,
+    EL_PEARL_BREAKING,                         -1, -1,
+    IMG_PEARL_BREAKING
+  },
+  {
+    EL_PEARL,                                  ACTION_BREAKING, -1,
     IMG_PEARL_BREAKING
   },
   {
@@ -1300,6 +1428,10 @@ element_to_graphic[] =
     EL_TRAP_ACTIVE,                            -1, -1,
     IMG_TRAP_ACTIVE
   },
+  {
+    EL_TRAP,                                   ACTION_ACTIVE, -1,
+    IMG_TRAP_ACTIVE
+  },
   {
     EL_DX_SUPABOMB,                            -1, -1,
     IMG_DX_SUPABOMB
@@ -1365,7 +1497,7 @@ element_to_graphic[] =
     IMG_PACMAN_RIGHT
   },
   {
-    EL_PACMAN,                                 MV_RIGHT, -1,
+    EL_PACMAN,                                 -1, MV_BIT_RIGHT,
     IMG_PACMAN_RIGHT
   },
   {
@@ -1373,7 +1505,7 @@ element_to_graphic[] =
     IMG_PACMAN_UP
   },
   {
-    EL_PACMAN,                                 MV_UP, -1,
+    EL_PACMAN,                                 -1, MV_BIT_UP,
     IMG_PACMAN_UP
   },
   {
@@ -1381,7 +1513,7 @@ element_to_graphic[] =
     IMG_PACMAN_LEFT
   },
   {
-    EL_PACMAN,                                 MV_LEFT, -1,
+    EL_PACMAN,                                 -1, MV_BIT_LEFT,
     IMG_PACMAN_LEFT
   },
   {
@@ -1389,7 +1521,7 @@ element_to_graphic[] =
     IMG_PACMAN_DOWN
   },
   {
-    EL_PACMAN,                                 MV_DOWN, -1,
+    EL_PACMAN,                                 -1, MV_BIT_DOWN,
     IMG_PACMAN_DOWN
   },
   {
@@ -1400,6 +1532,10 @@ element_to_graphic[] =
     EL_LAMP_ACTIVE,                            -1, -1,
     IMG_LAMP_ACTIVE
   },
+  {
+    EL_LAMP,                                   ACTION_ACTIVE, -1,
+    IMG_LAMP_ACTIVE
+  },
   {
     EL_TIME_ORB_FULL,                          -1, -1,
     IMG_TIME_ORB_FULL
@@ -1413,11 +1549,11 @@ element_to_graphic[] =
     IMG_EMERALD_YELLOW
   },
   {
-    EL_EMERALD_YELLOW,                         -1, GFX_ACTION_MOVING,
+    EL_EMERALD_YELLOW,                         ACTION_MOVING, -1,
     IMG_EMERALD_YELLOW_MOVING
   },
   {
-    EL_EMERALD_YELLOW,                         -1, GFX_ACTION_FALLING,
+    EL_EMERALD_YELLOW,                         ACTION_FALLING, -1,
     IMG_EMERALD_YELLOW_FALLING
   },
   {
@@ -1425,11 +1561,11 @@ element_to_graphic[] =
     IMG_EMERALD_RED
   },
   {
-    EL_EMERALD_RED,                            -1, GFX_ACTION_MOVING,
+    EL_EMERALD_RED,                            ACTION_MOVING, -1,
     IMG_EMERALD_RED_MOVING
   },
   {
-    EL_EMERALD_RED,                            -1, GFX_ACTION_FALLING,
+    EL_EMERALD_RED,                            ACTION_FALLING, -1,
     IMG_EMERALD_RED_FALLING
   },
   {
@@ -1437,11 +1573,11 @@ element_to_graphic[] =
     IMG_EMERALD_PURPLE
   },
   {
-    EL_EMERALD_PURPLE,                         -1, GFX_ACTION_MOVING,
+    EL_EMERALD_PURPLE,                         ACTION_MOVING, -1,
     IMG_EMERALD_PURPLE_MOVING
   },
   {
-    EL_EMERALD_PURPLE,                         -1, GFX_ACTION_FALLING,
+    EL_EMERALD_PURPLE,                         ACTION_FALLING, -1,
     IMG_EMERALD_PURPLE_FALLING
   },
   {
@@ -1477,19 +1613,35 @@ element_to_graphic[] =
     IMG_WALL_GROWING_Y
   },
   {
-    EL_WALL_GROWING_ACTIVE,                    MV_LEFT, -1,
+    EL_WALL_GROWING,                           ACTION_ACTIVE, MV_BIT_LEFT,
+    IMG_WALL_GROWING_ACTIVE_LEFT
+  },
+  {
+    EL_WALL_GROWING_ACTIVE,                    -1, MV_BIT_LEFT,
     IMG_WALL_GROWING_ACTIVE_LEFT
   },
   {
-    EL_WALL_GROWING_ACTIVE,                    MV_RIGHT, -1,
+    EL_WALL_GROWING,                           ACTION_ACTIVE, MV_BIT_RIGHT,
+    IMG_WALL_GROWING_ACTIVE_RIGHT
+  },
+  {
+    EL_WALL_GROWING_ACTIVE,                    -1, MV_BIT_RIGHT,
     IMG_WALL_GROWING_ACTIVE_RIGHT
   },
   {
-    EL_WALL_GROWING_ACTIVE,                    MV_UP, -1,
+    EL_WALL_GROWING,                           ACTION_ACTIVE, MV_BIT_UP,
+    IMG_WALL_GROWING_ACTIVE_UP
+  },
+  {
+    EL_WALL_GROWING_ACTIVE,                    -1, MV_BIT_UP,
     IMG_WALL_GROWING_ACTIVE_UP
   },
   {
-    EL_WALL_GROWING_ACTIVE,                    MV_DOWN, -1,
+    EL_WALL_GROWING,                           ACTION_ACTIVE, MV_BIT_DOWN,
+    IMG_WALL_GROWING_ACTIVE_DOWN
+  },
+  {
+    EL_WALL_GROWING_ACTIVE,                    -1, MV_BIT_DOWN,
     IMG_WALL_GROWING_ACTIVE_DOWN
   },
   {
@@ -1541,104 +1693,104 @@ element_to_graphic[] =
     IMG_PIG
   },
   {
-    EL_PIG,                                    MV_DOWN, -1,
+    EL_PIG,                                    -1, MV_BIT_DOWN,
     IMG_PIG_DOWN
   },
   {
-    EL_PIG,                                    MV_DOWN, GFX_ACTION_MOVING,
-    IMG_PIG_DOWN_MOVING
+    EL_PIG,                                    -1, MV_BIT_UP,
+    IMG_PIG_UP
   },
   {
-    EL_PIG,                                    MV_DOWN, GFX_ACTION_EATING,
-    IMG_PIG_DOWN_EATING
+    EL_PIG,                                    -1, MV_BIT_LEFT,
+    IMG_PIG_LEFT
   },
   {
-    EL_PIG,                                    MV_UP, -1,
-    IMG_PIG_UP
+    EL_PIG,                                    -1, MV_BIT_RIGHT,
+    IMG_PIG_RIGHT
   },
   {
-    EL_PIG,                                    MV_UP, GFX_ACTION_MOVING,
-    IMG_PIG_UP_MOVING
+    EL_PIG,                                    ACTION_MOVING, MV_BIT_DOWN,
+    IMG_PIG_MOVING_DOWN
   },
   {
-    EL_PIG,                                    MV_UP, GFX_ACTION_EATING,
-    IMG_PIG_UP_EATING
+    EL_PIG,                                    ACTION_MOVING, MV_BIT_UP,
+    IMG_PIG_MOVING_UP
   },
   {
-    EL_PIG,                                    MV_LEFT, -1,
-    IMG_PIG_LEFT
+    EL_PIG,                                    ACTION_MOVING, MV_BIT_LEFT,
+    IMG_PIG_MOVING_LEFT
   },
   {
-    EL_PIG,                                    MV_LEFT, GFX_ACTION_MOVING,
-    IMG_PIG_LEFT_MOVING
+    EL_PIG,                                    ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_PIG_MOVING_RIGHT
   },
   {
-    EL_PIG,                                    MV_LEFT, GFX_ACTION_EATING,
-    IMG_PIG_LEFT_EATING
+    EL_PIG,                                    ACTION_EATING, MV_BIT_DOWN,
+    IMG_PIG_EATING_DOWN
   },
   {
-    EL_PIG,                                    MV_RIGHT, -1,
-    IMG_PIG_RIGHT
+    EL_PIG,                                    ACTION_EATING, MV_BIT_UP,
+    IMG_PIG_EATING_UP
   },
   {
-    EL_PIG,                                    MV_RIGHT, GFX_ACTION_MOVING,
-    IMG_PIG_RIGHT_MOVING
+    EL_PIG,                                    ACTION_EATING, MV_BIT_LEFT,
+    IMG_PIG_EATING_LEFT
   },
   {
-    EL_PIG,                                    MV_RIGHT, GFX_ACTION_EATING,
-    IMG_PIG_RIGHT_EATING
+    EL_PIG,                                    ACTION_EATING, MV_BIT_RIGHT,
+    IMG_PIG_EATING_RIGHT
   },
   {
     EL_DRAGON,                                 -1, -1,
     IMG_DRAGON
   },
   {
-    EL_DRAGON,                                 MV_DOWN, -1,
+    EL_DRAGON,                                 -1, MV_BIT_DOWN,
     IMG_DRAGON_DOWN
   },
   {
-    EL_DRAGON,                                 MV_DOWN, GFX_ACTION_MOVING,
-    IMG_DRAGON_DOWN_MOVING
+    EL_DRAGON,                                 -1, MV_BIT_UP,
+    IMG_DRAGON_UP
   },
   {
-    EL_DRAGON,                                 MV_DOWN, GFX_ACTION_ATTACKING,
-    IMG_DRAGON_DOWN_ATTACKING
+    EL_DRAGON,                                 -1, MV_BIT_LEFT,
+    IMG_DRAGON_LEFT
   },
   {
-    EL_DRAGON,                                 MV_UP, -1,
-    IMG_DRAGON_UP
+    EL_DRAGON,                                 -1, MV_BIT_RIGHT,
+    IMG_DRAGON_RIGHT
   },
   {
-    EL_DRAGON,                                 MV_UP, GFX_ACTION_MOVING,
-    IMG_DRAGON_UP_MOVING
+    EL_DRAGON,                                 ACTION_MOVING, MV_BIT_DOWN,
+    IMG_DRAGON_MOVING_DOWN
   },
   {
-    EL_DRAGON,                                 MV_UP, GFX_ACTION_ATTACKING,
-    IMG_DRAGON_UP_ATTACKING
+    EL_DRAGON,                                 ACTION_MOVING, MV_BIT_UP,
+    IMG_DRAGON_MOVING_UP
   },
   {
-    EL_DRAGON,                                 MV_LEFT, -1,
-    IMG_DRAGON_LEFT
+    EL_DRAGON,                                 ACTION_MOVING, MV_BIT_LEFT,
+    IMG_DRAGON_MOVING_LEFT
   },
   {
-    EL_DRAGON,                                 MV_LEFT, GFX_ACTION_MOVING,
-    IMG_DRAGON_LEFT_MOVING
+    EL_DRAGON,                                 ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_DRAGON_MOVING_RIGHT
   },
   {
-    EL_DRAGON,                                 MV_LEFT, GFX_ACTION_ATTACKING,
-    IMG_DRAGON_LEFT_ATTACKING
+    EL_DRAGON,                                 ACTION_ATTACKING, MV_BIT_DOWN,
+    IMG_DRAGON_ATTACKING_DOWN
   },
   {
-    EL_DRAGON,                                 MV_RIGHT, -1,
-    IMG_DRAGON_RIGHT
+    EL_DRAGON,                                 ACTION_ATTACKING, MV_BIT_UP,
+    IMG_DRAGON_ATTACKING_UP
   },
   {
-    EL_DRAGON,                                 MV_RIGHT, GFX_ACTION_MOVING,
-    IMG_DRAGON_RIGHT_MOVING
+    EL_DRAGON,                                 ACTION_ATTACKING, MV_BIT_LEFT,
+    IMG_DRAGON_ATTACKING_LEFT
   },
   {
-    EL_DRAGON,                                 MV_RIGHT, GFX_ACTION_ATTACKING,
-    IMG_DRAGON_RIGHT_ATTACKING
+    EL_DRAGON,                                 ACTION_ATTACKING, MV_BIT_RIGHT,
+    IMG_DRAGON_ATTACKING_RIGHT
   },
   {
     EL_MOLE,                                   -1, -1,
@@ -1649,139 +1801,107 @@ element_to_graphic[] =
     IMG_MOLE_DOWN
   },
   {
-    EL_MOLE,                                   MV_DOWN, -1,
+    EL_MOLE,                                   -1, MV_BIT_DOWN,
     IMG_MOLE_DOWN
   },
-  {
-    EL_MOLE_DOWN,                              -1, GFX_ACTION_MOVING,
-    IMG_MOLE_DOWN_MOVING
-  },
-  {
-    EL_MOLE,                                   MV_DOWN, GFX_ACTION_MOVING,
-    IMG_MOLE_DOWN_MOVING
-  },
-  {
-    EL_MOLE_DOWN,                              -1, GFX_ACTION_DIGGING,
-    IMG_MOLE_DOWN_DIGGING
-  },
-  {
-    EL_MOLE,                                   MV_DOWN, GFX_ACTION_DIGGING,
-    IMG_MOLE_DOWN_DIGGING
-  },
   {
     EL_MOLE_UP,                                        -1, -1,
     IMG_MOLE_UP
   },
   {
-    EL_MOLE,                                   MV_UP, -1,
+    EL_MOLE,                                   -1, MV_BIT_UP,
     IMG_MOLE_UP
   },
-  {
-    EL_MOLE_UP,                                        -1, GFX_ACTION_MOVING,
-    IMG_MOLE_UP_MOVING
-  },
-  {
-    EL_MOLE,                                   MV_UP, GFX_ACTION_MOVING,
-    IMG_MOLE_UP_MOVING
-  },
-  {
-    EL_MOLE_UP,                                        -1, GFX_ACTION_DIGGING,
-    IMG_MOLE_UP_DIGGING
-  },
-  {
-    EL_MOLE,                                   MV_UP, GFX_ACTION_DIGGING,
-    IMG_MOLE_UP_DIGGING
-  },
   {
     EL_MOLE_LEFT,                              -1, -1,
     IMG_MOLE_LEFT
   },
   {
-    EL_MOLE,                                   MV_LEFT, -1,
+    EL_MOLE,                                   -1, MV_BIT_LEFT,
     IMG_MOLE_LEFT
   },
   {
-    EL_MOLE_LEFT,                              -1, GFX_ACTION_MOVING,
-    IMG_MOLE_LEFT_MOVING
+    EL_MOLE_RIGHT,                             -1, -1,
+    IMG_MOLE_RIGHT
   },
   {
-    EL_MOLE,                                   MV_LEFT, GFX_ACTION_MOVING,
-    IMG_MOLE_LEFT_MOVING
+    EL_MOLE,                                   -1, MV_BIT_RIGHT,
+    IMG_MOLE_RIGHT
   },
   {
-    EL_MOLE_LEFT,                              -1, GFX_ACTION_DIGGING,
-    IMG_MOLE_LEFT_DIGGING
+    EL_MOLE,                                   ACTION_MOVING, MV_BIT_DOWN,
+    IMG_MOLE_MOVING_DOWN
   },
   {
-    EL_MOLE,                                   MV_LEFT, GFX_ACTION_DIGGING,
-    IMG_MOLE_LEFT_DIGGING
+    EL_MOLE,                                   ACTION_MOVING, MV_BIT_UP,
+    IMG_MOLE_MOVING_UP
   },
   {
-    EL_MOLE_RIGHT,                             -1, -1,
-    IMG_MOLE_RIGHT
+    EL_MOLE,                                   ACTION_MOVING, MV_BIT_LEFT,
+    IMG_MOLE_MOVING_LEFT
   },
   {
-    EL_MOLE,                                   MV_RIGHT, -1,
-    IMG_MOLE_RIGHT
+    EL_MOLE,                                   ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_MOLE_MOVING_RIGHT
   },
   {
-    EL_MOLE_RIGHT,                             -1, GFX_ACTION_MOVING,
-    IMG_MOLE_RIGHT_MOVING
+    EL_MOLE,                                   ACTION_DIGGING, MV_BIT_DOWN,
+    IMG_MOLE_DIGGING_DOWN
   },
   {
-    EL_MOLE,                                   MV_RIGHT, GFX_ACTION_MOVING,
-    IMG_MOLE_RIGHT_MOVING
+    EL_MOLE,                                   ACTION_DIGGING, MV_BIT_UP,
+    IMG_MOLE_DIGGING_UP
   },
   {
-    EL_MOLE_RIGHT,                             -1, GFX_ACTION_DIGGING,
-    IMG_MOLE_RIGHT_DIGGING
+    EL_MOLE,                                   ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_MOLE_DIGGING_LEFT
   },
   {
-    EL_MOLE,                                   MV_RIGHT, GFX_ACTION_DIGGING,
-    IMG_MOLE_RIGHT_DIGGING
+    EL_MOLE,                                   ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_MOLE_DIGGING_RIGHT
   },
   {
     EL_PENGUIN,                                        -1, -1,
     IMG_PENGUIN
   },
   {
-    EL_PENGUIN,                                        MV_DOWN, -1,
+    EL_PENGUIN,                                        -1, MV_BIT_DOWN,
     IMG_PENGUIN_DOWN
   },
   {
-    EL_PENGUIN,                                        MV_DOWN, GFX_ACTION_MOVING,
-    IMG_PENGUIN_DOWN_MOVING
+    EL_PENGUIN,                                        -1, MV_BIT_UP,
+    IMG_PENGUIN_UP
   },
   {
-    EL_PENGUIN,                                        MV_UP, -1,
-    IMG_PENGUIN_UP
+    EL_PENGUIN,                                        -1, MV_BIT_LEFT,
+    IMG_PENGUIN_LEFT
   },
   {
-    EL_PENGUIN,                                        MV_UP, GFX_ACTION_MOVING,
-    IMG_PENGUIN_UP_MOVING
+    EL_PENGUIN,                                        -1, MV_BIT_RIGHT,
+    IMG_PENGUIN_RIGHT
   },
   {
-    EL_PENGUIN,                                        MV_LEFT, -1,
-    IMG_PENGUIN_LEFT
+    EL_PENGUIN,                                        ACTION_MOVING, MV_BIT_DOWN,
+    IMG_PENGUIN_MOVING_DOWN
   },
   {
-    EL_PENGUIN,                                        MV_LEFT, GFX_ACTION_MOVING,
-    IMG_PENGUIN_LEFT_MOVING
+    EL_PENGUIN,                                        ACTION_MOVING, MV_BIT_UP,
+    IMG_PENGUIN_MOVING_UP
   },
   {
-    EL_PENGUIN,                                        MV_RIGHT, -1,
-    IMG_PENGUIN_RIGHT
+    EL_PENGUIN,                                        ACTION_MOVING, MV_BIT_LEFT,
+    IMG_PENGUIN_MOVING_LEFT
   },
   {
-    EL_PENGUIN,                                        MV_RIGHT, GFX_ACTION_MOVING,
-    IMG_PENGUIN_RIGHT_MOVING
+    EL_PENGUIN,                                        ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_PENGUIN_MOVING_RIGHT
   },
   {
     EL_SATELLITE,                              -1, -1,
     IMG_SATELLITE
   },
   {
-    EL_SATELLITE,                              -1, GFX_ACTION_MOVING,
+    EL_SATELLITE,                              ACTION_MOVING, -1,
     IMG_SATELLITE_MOVING
   },
   {
@@ -1793,336 +1913,336 @@ element_to_graphic[] =
     IMG_PLAYER1
   },
   {
-    EL_PLAYER1,                                        MV_DOWN, -1,
+    EL_PLAYER1,                                        -1, MV_BIT_DOWN,
     IMG_PLAYER1_DOWN
   },
   {
-    EL_PLAYER1,                                        MV_DOWN, GFX_ACTION_MOVING,
-    IMG_PLAYER1_DOWN_MOVING
+    EL_PLAYER1,                                        -1, MV_BIT_UP,
+    IMG_PLAYER1_UP
   },
   {
-    EL_PLAYER1,                                        MV_DOWN, GFX_ACTION_DIGGING,
-    IMG_PLAYER1_DOWN_DIGGING
+    EL_PLAYER1,                                        -1, MV_BIT_LEFT,
+    IMG_PLAYER1_LEFT
   },
   {
-    EL_PLAYER1,                                        MV_DOWN, GFX_ACTION_PUSHING,
-    IMG_PLAYER1_DOWN_PUSHING
+    EL_PLAYER1,                                        -1, MV_BIT_RIGHT,
+    IMG_PLAYER1_RIGHT
   },
   {
-    EL_PLAYER1,                                        MV_DOWN, GFX_ACTION_SNAPPING,
-    IMG_PLAYER1_DOWN_SNAPPING
+    EL_PLAYER1,                                        ACTION_MOVING, MV_BIT_DOWN,
+    IMG_PLAYER1_MOVING_DOWN
   },
   {
-    EL_PLAYER1,                                        MV_UP, -1,
-    IMG_PLAYER1_UP
+    EL_PLAYER1,                                        ACTION_MOVING, MV_BIT_UP,
+    IMG_PLAYER1_MOVING_UP
   },
   {
-    EL_PLAYER1,                                        MV_UP, GFX_ACTION_MOVING,
-    IMG_PLAYER1_UP_MOVING
+    EL_PLAYER1,                                        ACTION_MOVING, MV_BIT_LEFT,
+    IMG_PLAYER1_MOVING_LEFT
   },
   {
-    EL_PLAYER1,                                        MV_UP, GFX_ACTION_DIGGING,
-    IMG_PLAYER1_UP_DIGGING
+    EL_PLAYER1,                                        ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_PLAYER1_MOVING_RIGHT
   },
   {
-    EL_PLAYER1,                                        MV_UP, GFX_ACTION_PUSHING,
-    IMG_PLAYER1_UP_PUSHING
+    EL_PLAYER1,                                        ACTION_DIGGING, MV_BIT_DOWN,
+    IMG_PLAYER1_DIGGING_DOWN
   },
   {
-    EL_PLAYER1,                                        MV_UP, GFX_ACTION_SNAPPING,
-    IMG_PLAYER1_UP_SNAPPING
+    EL_PLAYER1,                                        ACTION_DIGGING, MV_BIT_UP,
+    IMG_PLAYER1_DIGGING_UP
   },
   {
-    EL_PLAYER1,                                        MV_LEFT, -1,
-    IMG_PLAYER1_LEFT
+    EL_PLAYER1,                                        ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_PLAYER1_DIGGING_LEFT
   },
   {
-    EL_PLAYER1,                                        MV_LEFT, GFX_ACTION_MOVING,
-    IMG_PLAYER1_LEFT_MOVING
+    EL_PLAYER1,                                        ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_PLAYER1_DIGGING_RIGHT
   },
   {
-    EL_PLAYER1,                                        MV_LEFT, GFX_ACTION_DIGGING,
-    IMG_PLAYER1_LEFT_DIGGING
+    EL_PLAYER1,                                        ACTION_PUSHING, MV_BIT_DOWN,
+    IMG_PLAYER1_PUSHING_DOWN
   },
   {
-    EL_PLAYER1,                                        MV_LEFT, GFX_ACTION_PUSHING,
-    IMG_PLAYER1_LEFT_PUSHING
+    EL_PLAYER1,                                        ACTION_PUSHING, MV_BIT_UP,
+    IMG_PLAYER1_PUSHING_UP
   },
   {
-    EL_PLAYER1,                                        MV_LEFT, GFX_ACTION_SNAPPING,
-    IMG_PLAYER1_LEFT_SNAPPING
+    EL_PLAYER1,                                        ACTION_PUSHING, MV_BIT_LEFT,
+    IMG_PLAYER1_PUSHING_LEFT
   },
   {
-    EL_PLAYER1,                                        MV_RIGHT, -1,
-    IMG_PLAYER1_RIGHT
+    EL_PLAYER1,                                        ACTION_PUSHING, MV_BIT_RIGHT,
+    IMG_PLAYER1_PUSHING_RIGHT
   },
   {
-    EL_PLAYER1,                                        MV_RIGHT, GFX_ACTION_MOVING,
-    IMG_PLAYER1_RIGHT_MOVING
+    EL_PLAYER1,                                        ACTION_SNAPPING, MV_BIT_DOWN,
+    IMG_PLAYER1_SNAPPING_DOWN
   },
   {
-    EL_PLAYER1,                                        MV_RIGHT, GFX_ACTION_DIGGING,
-    IMG_PLAYER1_RIGHT_DIGGING
+    EL_PLAYER1,                                        ACTION_SNAPPING, MV_BIT_UP,
+    IMG_PLAYER1_SNAPPING_UP
   },
   {
-    EL_PLAYER1,                                        MV_RIGHT, GFX_ACTION_PUSHING,
-    IMG_PLAYER1_RIGHT_PUSHING
+    EL_PLAYER1,                                        ACTION_SNAPPING, MV_BIT_LEFT,
+    IMG_PLAYER1_SNAPPING_LEFT
   },
   {
-    EL_PLAYER1,                                        MV_RIGHT, GFX_ACTION_SNAPPING,
-    IMG_PLAYER1_RIGHT_SNAPPING
+    EL_PLAYER1,                                        ACTION_SNAPPING, MV_BIT_RIGHT,
+    IMG_PLAYER1_SNAPPING_RIGHT
   },
   {
     EL_PLAYER2,                                        -1, -1,
     IMG_PLAYER2
   },
   {
-    EL_PLAYER2,                                        MV_DOWN, -1,
+    EL_PLAYER2,                                        -1, MV_BIT_DOWN,
     IMG_PLAYER2_DOWN
   },
   {
-    EL_PLAYER2,                                        MV_DOWN, GFX_ACTION_MOVING,
-    IMG_PLAYER2_DOWN_MOVING
+    EL_PLAYER2,                                        -1, MV_BIT_UP,
+    IMG_PLAYER2_UP
   },
   {
-    EL_PLAYER2,                                        MV_DOWN, GFX_ACTION_DIGGING,
-    IMG_PLAYER2_DOWN_DIGGING
+    EL_PLAYER2,                                        -1, MV_BIT_LEFT,
+    IMG_PLAYER2_LEFT
   },
   {
-    EL_PLAYER2,                                        MV_DOWN, GFX_ACTION_PUSHING,
-    IMG_PLAYER2_DOWN_PUSHING
+    EL_PLAYER2,                                        -1, MV_BIT_RIGHT,
+    IMG_PLAYER2_RIGHT
   },
   {
-    EL_PLAYER2,                                        MV_DOWN, GFX_ACTION_SNAPPING,
-    IMG_PLAYER2_DOWN_SNAPPING
+    EL_PLAYER2,                                        ACTION_MOVING, MV_BIT_DOWN,
+    IMG_PLAYER2_MOVING_DOWN
   },
   {
-    EL_PLAYER2,                                        MV_UP, -1,
-    IMG_PLAYER2_UP
+    EL_PLAYER2,                                        ACTION_MOVING, MV_BIT_UP,
+    IMG_PLAYER2_MOVING_UP
   },
   {
-    EL_PLAYER2,                                        MV_UP, GFX_ACTION_MOVING,
-    IMG_PLAYER2_UP_MOVING
+    EL_PLAYER2,                                        ACTION_MOVING, MV_BIT_LEFT,
+    IMG_PLAYER2_MOVING_LEFT
   },
   {
-    EL_PLAYER2,                                        MV_UP, GFX_ACTION_DIGGING,
-    IMG_PLAYER2_UP_DIGGING
+    EL_PLAYER2,                                        ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_PLAYER2_MOVING_RIGHT
   },
   {
-    EL_PLAYER2,                                        MV_UP, GFX_ACTION_PUSHING,
-    IMG_PLAYER2_UP_PUSHING
+    EL_PLAYER2,                                        ACTION_DIGGING, MV_BIT_DOWN,
+    IMG_PLAYER2_DIGGING_DOWN
   },
   {
-    EL_PLAYER2,                                        MV_UP, GFX_ACTION_SNAPPING,
-    IMG_PLAYER2_UP_SNAPPING
+    EL_PLAYER2,                                        ACTION_DIGGING, MV_BIT_UP,
+    IMG_PLAYER2_DIGGING_UP
   },
   {
-    EL_PLAYER2,                                        MV_LEFT, -1,
-    IMG_PLAYER2_LEFT
+    EL_PLAYER2,                                        ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_PLAYER2_DIGGING_LEFT
   },
   {
-    EL_PLAYER2,                                        MV_LEFT, GFX_ACTION_MOVING,
-    IMG_PLAYER2_LEFT_MOVING
+    EL_PLAYER2,                                        ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_PLAYER2_DIGGING_RIGHT
   },
   {
-    EL_PLAYER2,                                        MV_LEFT, GFX_ACTION_DIGGING,
-    IMG_PLAYER2_LEFT_DIGGING
+    EL_PLAYER2,                                        ACTION_PUSHING, MV_BIT_DOWN,
+    IMG_PLAYER2_PUSHING_DOWN
   },
   {
-    EL_PLAYER2,                                        MV_LEFT, GFX_ACTION_PUSHING,
-    IMG_PLAYER2_LEFT_PUSHING
+    EL_PLAYER2,                                        ACTION_PUSHING, MV_BIT_UP,
+    IMG_PLAYER2_PUSHING_UP
   },
   {
-    EL_PLAYER2,                                        MV_LEFT, GFX_ACTION_SNAPPING,
-    IMG_PLAYER2_LEFT_SNAPPING
+    EL_PLAYER2,                                        ACTION_PUSHING, MV_BIT_LEFT,
+    IMG_PLAYER2_PUSHING_LEFT
   },
   {
-    EL_PLAYER2,                                        MV_RIGHT, -1,
-    IMG_PLAYER2_RIGHT
+    EL_PLAYER2,                                        ACTION_PUSHING, MV_BIT_RIGHT,
+    IMG_PLAYER2_PUSHING_RIGHT
   },
   {
-    EL_PLAYER2,                                        MV_RIGHT, GFX_ACTION_MOVING,
-    IMG_PLAYER2_RIGHT_MOVING
+    EL_PLAYER2,                                        ACTION_SNAPPING, MV_BIT_DOWN,
+    IMG_PLAYER2_SNAPPING_DOWN
   },
   {
-    EL_PLAYER2,                                        MV_RIGHT, GFX_ACTION_DIGGING,
-    IMG_PLAYER2_RIGHT_DIGGING
+    EL_PLAYER2,                                        ACTION_SNAPPING, MV_BIT_UP,
+    IMG_PLAYER2_SNAPPING_UP
   },
   {
-    EL_PLAYER2,                                        MV_RIGHT, GFX_ACTION_PUSHING,
-    IMG_PLAYER2_RIGHT_PUSHING
+    EL_PLAYER2,                                        ACTION_SNAPPING, MV_BIT_LEFT,
+    IMG_PLAYER2_SNAPPING_LEFT
   },
   {
-    EL_PLAYER2,                                        MV_RIGHT, GFX_ACTION_SNAPPING,
-    IMG_PLAYER2_RIGHT_SNAPPING
+    EL_PLAYER2,                                        ACTION_SNAPPING, MV_BIT_RIGHT,
+    IMG_PLAYER2_SNAPPING_RIGHT
   },
   {
     EL_PLAYER3,                                        -1, -1,
     IMG_PLAYER3
   },
   {
-    EL_PLAYER3,                                        MV_DOWN, -1,
+    EL_PLAYER3,                                        -1, MV_BIT_DOWN,
     IMG_PLAYER3_DOWN
   },
   {
-    EL_PLAYER3,                                        MV_DOWN, GFX_ACTION_MOVING,
-    IMG_PLAYER3_DOWN_MOVING
+    EL_PLAYER3,                                        -1, MV_BIT_UP,
+    IMG_PLAYER3_UP
   },
   {
-    EL_PLAYER3,                                        MV_DOWN, GFX_ACTION_DIGGING,
-    IMG_PLAYER3_DOWN_DIGGING
+    EL_PLAYER3,                                        -1, MV_BIT_LEFT,
+    IMG_PLAYER3_LEFT
   },
   {
-    EL_PLAYER3,                                        MV_DOWN, GFX_ACTION_PUSHING,
-    IMG_PLAYER3_DOWN_PUSHING
+    EL_PLAYER3,                                        -1, MV_BIT_RIGHT,
+    IMG_PLAYER3_RIGHT
   },
   {
-    EL_PLAYER3,                                        MV_DOWN, GFX_ACTION_SNAPPING,
-    IMG_PLAYER3_DOWN_SNAPPING
+    EL_PLAYER3,                                        ACTION_MOVING, MV_BIT_DOWN,
+    IMG_PLAYER3_MOVING_DOWN
   },
   {
-    EL_PLAYER3,                                        MV_UP, -1,
-    IMG_PLAYER3_UP
+    EL_PLAYER3,                                        ACTION_MOVING, MV_BIT_UP,
+    IMG_PLAYER3_MOVING_UP
   },
   {
-    EL_PLAYER3,                                        MV_UP, GFX_ACTION_MOVING,
-    IMG_PLAYER3_UP_MOVING
+    EL_PLAYER3,                                        ACTION_MOVING, MV_BIT_LEFT,
+    IMG_PLAYER3_MOVING_LEFT
   },
   {
-    EL_PLAYER3,                                        MV_UP, GFX_ACTION_DIGGING,
-    IMG_PLAYER3_UP_DIGGING
+    EL_PLAYER3,                                        ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_PLAYER3_MOVING_RIGHT
   },
   {
-    EL_PLAYER3,                                        MV_UP, GFX_ACTION_PUSHING,
-    IMG_PLAYER3_UP_PUSHING
+    EL_PLAYER3,                                        ACTION_DIGGING, MV_BIT_DOWN,
+    IMG_PLAYER3_DIGGING_DOWN
   },
   {
-    EL_PLAYER3,                                        MV_UP, GFX_ACTION_SNAPPING,
-    IMG_PLAYER3_UP_SNAPPING
+    EL_PLAYER3,                                        ACTION_DIGGING, MV_BIT_UP,
+    IMG_PLAYER3_DIGGING_UP
   },
   {
-    EL_PLAYER3,                                        MV_LEFT, -1,
-    IMG_PLAYER3_LEFT
+    EL_PLAYER3,                                        ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_PLAYER3_DIGGING_LEFT
   },
   {
-    EL_PLAYER3,                                        MV_LEFT, GFX_ACTION_MOVING,
-    IMG_PLAYER3_LEFT_MOVING
+    EL_PLAYER3,                                        ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_PLAYER3_DIGGING_RIGHT
   },
   {
-    EL_PLAYER3,                                        MV_LEFT, GFX_ACTION_DIGGING,
-    IMG_PLAYER3_LEFT_DIGGING
+    EL_PLAYER3,                                        ACTION_PUSHING, MV_BIT_DOWN,
+    IMG_PLAYER3_PUSHING_DOWN
   },
   {
-    EL_PLAYER3,                                        MV_LEFT, GFX_ACTION_PUSHING,
-    IMG_PLAYER3_LEFT_PUSHING
+    EL_PLAYER3,                                        ACTION_PUSHING, MV_BIT_UP,
+    IMG_PLAYER3_PUSHING_UP
   },
   {
-    EL_PLAYER3,                                        MV_LEFT, GFX_ACTION_SNAPPING,
-    IMG_PLAYER3_LEFT_SNAPPING
+    EL_PLAYER3,                                        ACTION_PUSHING, MV_BIT_LEFT,
+    IMG_PLAYER3_PUSHING_LEFT
   },
   {
-    EL_PLAYER3,                                        MV_RIGHT, -1,
-    IMG_PLAYER3_RIGHT
+    EL_PLAYER3,                                        ACTION_PUSHING, MV_BIT_RIGHT,
+    IMG_PLAYER3_PUSHING_RIGHT
   },
   {
-    EL_PLAYER3,                                        MV_RIGHT, GFX_ACTION_MOVING,
-    IMG_PLAYER3_RIGHT_MOVING
+    EL_PLAYER3,                                        ACTION_SNAPPING, MV_BIT_DOWN,
+    IMG_PLAYER3_SNAPPING_DOWN
   },
   {
-    EL_PLAYER3,                                        MV_RIGHT, GFX_ACTION_DIGGING,
-    IMG_PLAYER3_RIGHT_DIGGING
+    EL_PLAYER3,                                        ACTION_SNAPPING, MV_BIT_UP,
+    IMG_PLAYER3_SNAPPING_UP
   },
   {
-    EL_PLAYER3,                                        MV_RIGHT, GFX_ACTION_PUSHING,
-    IMG_PLAYER3_RIGHT_PUSHING
+    EL_PLAYER3,                                        ACTION_SNAPPING, MV_BIT_LEFT,
+    IMG_PLAYER3_SNAPPING_LEFT
   },
   {
-    EL_PLAYER3,                                        MV_RIGHT, GFX_ACTION_SNAPPING,
-    IMG_PLAYER3_RIGHT_SNAPPING
+    EL_PLAYER3,                                        ACTION_SNAPPING, MV_BIT_RIGHT,
+    IMG_PLAYER3_SNAPPING_RIGHT
   },
   {
     EL_PLAYER4,                                        -1, -1,
     IMG_PLAYER4
   },
   {
-    EL_PLAYER4,                                        MV_DOWN, -1,
+    EL_PLAYER4,                                        -1, MV_BIT_DOWN,
     IMG_PLAYER4_DOWN
   },
   {
-    EL_PLAYER4,                                        MV_DOWN, GFX_ACTION_MOVING,
-    IMG_PLAYER4_DOWN_MOVING
+    EL_PLAYER4,                                        -1, MV_BIT_UP,
+    IMG_PLAYER4_UP
   },
   {
-    EL_PLAYER4,                                        MV_DOWN, GFX_ACTION_DIGGING,
-    IMG_PLAYER4_DOWN_DIGGING
+    EL_PLAYER4,                                        -1, MV_BIT_LEFT,
+    IMG_PLAYER4_LEFT
   },
   {
-    EL_PLAYER4,                                        MV_DOWN, GFX_ACTION_PUSHING,
-    IMG_PLAYER4_DOWN_PUSHING
+    EL_PLAYER4,                                        -1, MV_BIT_RIGHT,
+    IMG_PLAYER4_RIGHT
   },
   {
-    EL_PLAYER4,                                        MV_DOWN, GFX_ACTION_SNAPPING,
-    IMG_PLAYER4_DOWN_SNAPPING
+    EL_PLAYER4,                                        ACTION_MOVING, MV_BIT_DOWN,
+    IMG_PLAYER4_MOVING_DOWN
   },
   {
-    EL_PLAYER4,                                        MV_UP, -1,
-    IMG_PLAYER4_UP
+    EL_PLAYER4,                                        ACTION_MOVING, MV_BIT_UP,
+    IMG_PLAYER4_MOVING_UP
   },
   {
-    EL_PLAYER4,                                        MV_UP, GFX_ACTION_MOVING,
-    IMG_PLAYER4_UP_MOVING
+    EL_PLAYER4,                                        ACTION_MOVING, MV_BIT_LEFT,
+    IMG_PLAYER4_MOVING_LEFT
   },
   {
-    EL_PLAYER4,                                        MV_UP, GFX_ACTION_DIGGING,
-    IMG_PLAYER4_UP_DIGGING
+    EL_PLAYER4,                                        ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_PLAYER4_MOVING_RIGHT
   },
   {
-    EL_PLAYER4,                                        MV_UP, GFX_ACTION_PUSHING,
-    IMG_PLAYER4_UP_PUSHING
+    EL_PLAYER4,                                        ACTION_DIGGING, MV_BIT_DOWN,
+    IMG_PLAYER4_DIGGING_DOWN
   },
   {
-    EL_PLAYER4,                                        MV_UP, GFX_ACTION_SNAPPING,
-    IMG_PLAYER4_UP_SNAPPING
+    EL_PLAYER4,                                        ACTION_DIGGING, MV_BIT_UP,
+    IMG_PLAYER4_DIGGING_UP
   },
   {
-    EL_PLAYER4,                                        MV_LEFT, -1,
-    IMG_PLAYER4_LEFT
+    EL_PLAYER4,                                        ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_PLAYER4_DIGGING_LEFT
   },
   {
-    EL_PLAYER4,                                        MV_LEFT, GFX_ACTION_MOVING,
-    IMG_PLAYER4_LEFT_MOVING
+    EL_PLAYER4,                                        ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_PLAYER4_DIGGING_RIGHT
   },
   {
-    EL_PLAYER4,                                        MV_LEFT, GFX_ACTION_DIGGING,
-    IMG_PLAYER4_LEFT_DIGGING
+    EL_PLAYER4,                                        ACTION_PUSHING, MV_BIT_DOWN,
+    IMG_PLAYER4_PUSHING_DOWN
   },
   {
-    EL_PLAYER4,                                        MV_LEFT, GFX_ACTION_PUSHING,
-    IMG_PLAYER4_LEFT_PUSHING
+    EL_PLAYER4,                                        ACTION_PUSHING, MV_BIT_UP,
+    IMG_PLAYER4_PUSHING_UP
   },
   {
-    EL_PLAYER4,                                        MV_LEFT, GFX_ACTION_SNAPPING,
-    IMG_PLAYER4_LEFT_SNAPPING
+    EL_PLAYER4,                                        ACTION_PUSHING, MV_BIT_LEFT,
+    IMG_PLAYER4_PUSHING_LEFT
   },
   {
-    EL_PLAYER4,                                        MV_RIGHT, -1,
-    IMG_PLAYER4_RIGHT
+    EL_PLAYER4,                                        ACTION_PUSHING, MV_BIT_RIGHT,
+    IMG_PLAYER4_PUSHING_RIGHT
   },
   {
-    EL_PLAYER4,                                        MV_RIGHT, GFX_ACTION_MOVING,
-    IMG_PLAYER4_RIGHT_MOVING
+    EL_PLAYER4,                                        ACTION_SNAPPING, MV_BIT_DOWN,
+    IMG_PLAYER4_SNAPPING_DOWN
   },
   {
-    EL_PLAYER4,                                        MV_RIGHT, GFX_ACTION_DIGGING,
-    IMG_PLAYER4_RIGHT_DIGGING
+    EL_PLAYER4,                                        ACTION_SNAPPING, MV_BIT_UP,
+    IMG_PLAYER4_SNAPPING_UP
   },
   {
-    EL_PLAYER4,                                        MV_RIGHT, GFX_ACTION_PUSHING,
-    IMG_PLAYER4_RIGHT_PUSHING
+    EL_PLAYER4,                                        ACTION_SNAPPING, MV_BIT_LEFT,
+    IMG_PLAYER4_SNAPPING_LEFT
   },
   {
-    EL_PLAYER4,                                        MV_RIGHT, GFX_ACTION_SNAPPING,
-    IMG_PLAYER4_RIGHT_SNAPPING
+    EL_PLAYER4,                                        ACTION_SNAPPING, MV_BIT_RIGHT,
+    IMG_PLAYER4_SNAPPING_RIGHT
   },
   {
     EL_EXPLOSION,                              -1, -1,