rnd-20030305-1-src
authorHolger Schemel <info@artsoft.org>
Wed, 5 Mar 2003 04:44:40 +0000 (05:44 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:40:37 +0000 (10:40 +0200)
20 files changed:
src/Makefile
src/conf_e2g.c
src/conf_e2s.c [new file with mode: 0644]
src/conf_esg.c
src/conf_fnt.c
src/conf_gfx.c
src/conf_gfx.h
src/conf_snd.c
src/conf_snd.h
src/conftime.h
src/editor.c
src/files.c
src/game.c
src/init.c
src/libgame/misc.c
src/libgame/sound.h
src/main.c
src/main.h
src/screens.c
src/tools.c

index eb74406aa0d94f97cbf62626dfe7b8d0a5424aa9..fe9f33e07d3c794fbf079245a806f53640143d43 100644 (file)
@@ -162,6 +162,7 @@ CNFS =      conf_gfx.h      \
        conf_cus.h      \
        conf_e2g.c      \
        conf_esg.c      \
+       conf_e2s.c      \
        conf_fnt.c
 
 CNFS_CMD = ../Scripts/create_element_defs.pl
index 265abda23f5eddc8e1be47fcdcf4cdf7f7064880..dd31ede8765f40eabb31af9aff77a856f31f8d46 100644 (file)
 
 static struct
 {
-    int element;
-    int action;
-    int direction;
+  int element;
+  int action;
+  int direction;
 
-    int graphic;
+  int graphic;
 }
 element_to_graphic[] =
 {
@@ -76,6 +76,10 @@ element_to_graphic[] =
     EL_BD_MAGIC_WALL_FILLING,                  -1, -1,
     IMG_BD_MAGIC_WALL_FILLING
   },
+  {
+    EL_BD_MAGIC_WALL,                          ACTION_FILLING, -1,
+    IMG_BD_MAGIC_WALL_FILLING
+  },
   {
     EL_BD_MAGIC_WALL_FULL,                     -1, -1,
     IMG_BD_MAGIC_WALL_FULL
@@ -84,6 +88,10 @@ element_to_graphic[] =
     EL_BD_MAGIC_WALL_EMPTYING,                 -1, -1,
     IMG_BD_MAGIC_WALL_EMPTYING
   },
+  {
+    EL_BD_MAGIC_WALL,                          ACTION_EMPTYING, -1,
+    IMG_BD_MAGIC_WALL_EMPTYING
+  },
   {
     EL_BD_MAGIC_WALL_DEAD,                     -1, -1,
     IMG_BD_MAGIC_WALL_DEAD
@@ -172,10 +180,6 @@ element_to_graphic[] =
     EL_BD_FIREFLY,                             ACTION_MOVING, -1,
     IMG_BD_FIREFLY_MOVING
   },
-  {
-    EL_SP_EMPTY_SPACE,                         -1, -1,
-    IMG_SP_EMPTY_SPACE
-  },
   {
     EL_SP_ZONK,                                        -1, -1,
     IMG_SP_ZONK
@@ -265,32 +269,32 @@ element_to_graphic[] =
     IMG_SP_CHIP_RIGHT
   },
   {
-    EL_SP_CHIP_UPPER,                          -1, -1,
-    IMG_SP_CHIP_UPPER
+    EL_SP_CHIP_TOP,                            -1, -1,
+    IMG_SP_CHIP_TOP
   },
   {
-    EL_SP_CHIP_LOWER,                          -1, -1,
-    IMG_SP_CHIP_LOWER
+    EL_SP_CHIP_BOTTOM,                         -1, -1,
+    IMG_SP_CHIP_BOTTOM
   },
   {
-    EL_SP_HARD_GRAY,                           -1, -1,
-    IMG_SP_HARD_GRAY
+    EL_SP_HARDWARE_GRAY,                       -1, -1,
+    IMG_SP_HARDWARE_GRAY
   },
   {
-    EL_SP_HARD_GREEN,                          -1, -1,
-    IMG_SP_HARD_GREEN
+    EL_SP_HARDWARE_GREEN,                      -1, -1,
+    IMG_SP_HARDWARE_GREEN
   },
   {
-    EL_SP_HARD_BLUE,                           -1, -1,
-    IMG_SP_HARD_BLUE
+    EL_SP_HARDWARE_BLUE,                       -1, -1,
+    IMG_SP_HARDWARE_BLUE
   },
   {
-    EL_SP_HARD_RED,                            -1, -1,
-    IMG_SP_HARD_RED
+    EL_SP_HARDWARE_RED,                                -1, -1,
+    IMG_SP_HARDWARE_RED
   },
   {
-    EL_SP_HARD_YELLOW,                         -1, -1,
-    IMG_SP_HARD_YELLOW
+    EL_SP_HARDWARE_YELLOW,                     -1, -1,
+    IMG_SP_HARDWARE_YELLOW
   },
   {
     EL_SP_EXIT_CLOSED,                         -1, -1,
@@ -337,48 +341,48 @@ element_to_graphic[] =
     IMG_SP_DISK_RED_ACTIVE
   },
   {
-    EL_SP_PORT1_RIGHT,                         -1, -1,
-    IMG_SP_PORT1_RIGHT
+    EL_SP_PORT_RIGHT,                          -1, -1,
+    IMG_SP_PORT_RIGHT
   },
   {
-    EL_SP_PORT1_DOWN,                          -1, -1,
-    IMG_SP_PORT1_DOWN
+    EL_SP_PORT_DOWN,                           -1, -1,
+    IMG_SP_PORT_DOWN
   },
   {
-    EL_SP_PORT1_LEFT,                          -1, -1,
-    IMG_SP_PORT1_LEFT
+    EL_SP_PORT_LEFT,                           -1, -1,
+    IMG_SP_PORT_LEFT
   },
   {
-    EL_SP_PORT1_UP,                            -1, -1,
-    IMG_SP_PORT1_UP
+    EL_SP_PORT_UP,                             -1, -1,
+    IMG_SP_PORT_UP
   },
   {
-    EL_SP_PORT2_RIGHT,                         -1, -1,
-    IMG_SP_PORT2_RIGHT
+    EL_SP_PORT_HORIZONTAL,                     -1, -1,
+    IMG_SP_PORT_HORIZONTAL
   },
   {
-    EL_SP_PORT2_DOWN,                          -1, -1,
-    IMG_SP_PORT2_DOWN
+    EL_SP_PORT_VERTICAL,                       -1, -1,
+    IMG_SP_PORT_VERTICAL
   },
   {
-    EL_SP_PORT2_LEFT,                          -1, -1,
-    IMG_SP_PORT2_LEFT
+    EL_SP_PORT_ANY,                            -1, -1,
+    IMG_SP_PORT_ANY
   },
   {
-    EL_SP_PORT2_UP,                            -1, -1,
-    IMG_SP_PORT2_UP
+    EL_SP_GRAVITY_PORT_RIGHT,                  -1, -1,
+    IMG_SP_GRAVITY_PORT_RIGHT
   },
   {
-    EL_SP_PORT_X,                              -1, -1,
-    IMG_SP_PORT_X
+    EL_SP_GRAVITY_PORT_DOWN,                   -1, -1,
+    IMG_SP_GRAVITY_PORT_DOWN
   },
   {
-    EL_SP_PORT_Y,                              -1, -1,
-    IMG_SP_PORT_Y
+    EL_SP_GRAVITY_PORT_LEFT,                   -1, -1,
+    IMG_SP_GRAVITY_PORT_LEFT
   },
   {
-    EL_SP_PORT_XY,                             -1, -1,
-    IMG_SP_PORT_XY
+    EL_SP_GRAVITY_PORT_UP,                     -1, -1,
+    IMG_SP_GRAVITY_PORT_UP
   },
   {
     EL_SP_SNIKSNAK,                            -1, -1,
@@ -437,28 +441,28 @@ element_to_graphic[] =
     IMG_SP_BUGGY_BASE_ACTIVE
   },
   {
-    EL_SP_HARD_BASE1,                          -1, -1,
-    IMG_SP_HARD_BASE1
+    EL_SP_HARDWARE_BASE_1,                     -1, -1,
+    IMG_SP_HARDWARE_BASE_1
   },
   {
-    EL_SP_HARD_BASE2,                          -1, -1,
-    IMG_SP_HARD_BASE2
+    EL_SP_HARDWARE_BASE_2,                     -1, -1,
+    IMG_SP_HARDWARE_BASE_2
   },
   {
-    EL_SP_HARD_BASE3,                          -1, -1,
-    IMG_SP_HARD_BASE3
+    EL_SP_HARDWARE_BASE_3,                     -1, -1,
+    IMG_SP_HARDWARE_BASE_3
   },
   {
-    EL_SP_HARD_BASE4,                          -1, -1,
-    IMG_SP_HARD_BASE4
+    EL_SP_HARDWARE_BASE_4,                     -1, -1,
+    IMG_SP_HARDWARE_BASE_4
   },
   {
-    EL_SP_HARD_BASE5,                          -1, -1,
-    IMG_SP_HARD_BASE5
+    EL_SP_HARDWARE_BASE_5,                     -1, -1,
+    IMG_SP_HARDWARE_BASE_5
   },
   {
-    EL_SP_HARD_BASE6,                          -1, -1,
-    IMG_SP_HARD_BASE6
+    EL_SP_HARDWARE_BASE_6,                     -1, -1,
+    IMG_SP_HARDWARE_BASE_6
   },
   {
     EL_SOKOBAN_OBJECT,                         -1, -1,
@@ -557,12 +561,12 @@ element_to_graphic[] =
     IMG_NUT_MOVING_RIGHT
   },
   {
-    EL_NUT_CRACKING,                           -1, -1,
-    IMG_NUT_CRACKING
+    EL_NUT_BREAKING,                           -1, -1,
+    IMG_NUT_BREAKING
   },
   {
-    EL_NUT,                                    ACTION_CRACKING, -1,
-    IMG_NUT_CRACKING
+    EL_NUT,                                    ACTION_BREAKING, -1,
+    IMG_NUT_BREAKING
   },
   {
     EL_DYNAMITE,                               -1, -1,
@@ -692,6 +696,10 @@ element_to_graphic[] =
     EL_MAGIC_WALL_FILLING,                     -1, -1,
     IMG_MAGIC_WALL_FILLING
   },
+  {
+    EL_MAGIC_WALL,                             ACTION_FILLING, -1,
+    IMG_MAGIC_WALL_FILLING
+  },
   {
     EL_MAGIC_WALL_FULL,                                -1, -1,
     IMG_MAGIC_WALL_FULL
@@ -700,6 +708,10 @@ element_to_graphic[] =
     EL_MAGIC_WALL_EMPTYING,                    -1, -1,
     IMG_MAGIC_WALL_EMPTYING
   },
+  {
+    EL_MAGIC_WALL,                             ACTION_EMPTYING, -1,
+    IMG_MAGIC_WALL_EMPTYING
+  },
   {
     EL_MAGIC_WALL_DEAD,                                -1, -1,
     IMG_MAGIC_WALL_DEAD
@@ -721,24 +733,24 @@ element_to_graphic[] =
     IMG_QUICKSAND_EMPTYING
   },
   {
-    EL_ACIDPOOL_TOPLEFT,                       -1, -1,
-    IMG_ACIDPOOL_TOPLEFT
+    EL_ACID_POOL_TOPLEFT,                      -1, -1,
+    IMG_ACID_POOL_TOPLEFT
   },
   {
-    EL_ACIDPOOL_TOPRIGHT,                      -1, -1,
-    IMG_ACIDPOOL_TOPRIGHT
+    EL_ACID_POOL_TOPRIGHT,                     -1, -1,
+    IMG_ACID_POOL_TOPRIGHT
   },
   {
-    EL_ACIDPOOL_BOTTOMLEFT,                    -1, -1,
-    IMG_ACIDPOOL_BOTTOMLEFT
+    EL_ACID_POOL_BOTTOMLEFT,                   -1, -1,
+    IMG_ACID_POOL_BOTTOMLEFT
   },
   {
-    EL_ACIDPOOL_BOTTOM,                                -1, -1,
-    IMG_ACIDPOOL_BOTTOM
+    EL_ACID_POOL_BOTTOM,                       -1, -1,
+    IMG_ACID_POOL_BOTTOM
   },
   {
-    EL_ACIDPOOL_BOTTOMRIGHT,                   -1, -1,
-    IMG_ACIDPOOL_BOTTOMRIGHT
+    EL_ACID_POOL_BOTTOMRIGHT,                  -1, -1,
+    IMG_ACID_POOL_BOTTOMRIGHT
   },
   {
     EL_ACID,                                   -1, -1,
@@ -757,8 +769,8 @@ element_to_graphic[] =
     IMG_AMOEBA_DROP
   },
   {
-    EL_AMOEBA_CREATING,                                -1, -1,
-    IMG_AMOEBA_CREATING
+    EL_AMOEBA_GROWING,                         -1, -1,
+    IMG_AMOEBA_GROWING
   },
   {
     EL_AMOEBA_SHRINKING,                       -1, -1,
@@ -769,8 +781,8 @@ element_to_graphic[] =
     IMG_AMOEBA_WET
   },
   {
-    EL_AMOEBA_DRIPPING,                                -1, -1,
-    IMG_AMOEBA_DRIPPING
+    EL_AMOEBA_DROPPING,                                -1, -1,
+    IMG_AMOEBA_DROPPING
   },
   {
     EL_AMOEBA_DRY,                             -1, -1,
@@ -785,52 +797,52 @@ element_to_graphic[] =
     IMG_AMOEBA_DEAD
   },
   {
-    EL_EM_KEY1,                                        -1, -1,
-    IMG_EM_KEY1
+    EL_EM_KEY_1,                               -1, -1,
+    IMG_EM_KEY_1
   },
   {
-    EL_EM_KEY2,                                        -1, -1,
-    IMG_EM_KEY2
+    EL_EM_KEY_2,                               -1, -1,
+    IMG_EM_KEY_2
   },
   {
-    EL_EM_KEY3,                                        -1, -1,
-    IMG_EM_KEY3
+    EL_EM_KEY_3,                               -1, -1,
+    IMG_EM_KEY_3
   },
   {
-    EL_EM_KEY4,                                        -1, -1,
-    IMG_EM_KEY4
+    EL_EM_KEY_4,                               -1, -1,
+    IMG_EM_KEY_4
   },
   {
-    EL_EM_GATE1,                               -1, -1,
-    IMG_EM_GATE1
+    EL_EM_GATE_1,                              -1, -1,
+    IMG_EM_GATE_1
   },
   {
-    EL_EM_GATE2,                               -1, -1,
-    IMG_EM_GATE2
+    EL_EM_GATE_2,                              -1, -1,
+    IMG_EM_GATE_2
   },
   {
-    EL_EM_GATE3,                               -1, -1,
-    IMG_EM_GATE3
+    EL_EM_GATE_3,                              -1, -1,
+    IMG_EM_GATE_3
   },
   {
-    EL_EM_GATE4,                               -1, -1,
-    IMG_EM_GATE4
+    EL_EM_GATE_4,                              -1, -1,
+    IMG_EM_GATE_4
   },
   {
-    EL_EM_GATE1_GRAY,                          -1, -1,
-    IMG_EM_GATE1_GRAY
+    EL_EM_GATE_1_GRAY,                         -1, -1,
+    IMG_EM_GATE_1_GRAY
   },
   {
-    EL_EM_GATE2_GRAY,                          -1, -1,
-    IMG_EM_GATE2_GRAY
+    EL_EM_GATE_2_GRAY,                         -1, -1,
+    IMG_EM_GATE_2_GRAY
   },
   {
-    EL_EM_GATE3_GRAY,                          -1, -1,
-    IMG_EM_GATE3_GRAY
+    EL_EM_GATE_3_GRAY,                         -1, -1,
+    IMG_EM_GATE_3_GRAY
   },
   {
-    EL_EM_GATE4_GRAY,                          -1, -1,
-    IMG_EM_GATE4_GRAY
+    EL_EM_GATE_4_GRAY,                         -1, -1,
+    IMG_EM_GATE_4_GRAY
   },
   {
     EL_EXIT_CLOSED,                            -1, -1,
@@ -853,24 +865,24 @@ element_to_graphic[] =
     IMG_BALLOON_MOVING
   },
   {
-    EL_BALLOON_SEND_LEFT,                      -1, -1,
-    IMG_BALLOON_SEND_LEFT
+    EL_BALLOON_SWITCH_LEFT,                    -1, -1,
+    IMG_BALLOON_SWITCH_LEFT
   },
   {
-    EL_BALLOON_SEND_RIGHT,                     -1, -1,
-    IMG_BALLOON_SEND_RIGHT
+    EL_BALLOON_SWITCH_RIGHT,                   -1, -1,
+    IMG_BALLOON_SWITCH_RIGHT
   },
   {
-    EL_BALLOON_SEND_UP,                                -1, -1,
-    IMG_BALLOON_SEND_UP
+    EL_BALLOON_SWITCH_UP,                      -1, -1,
+    IMG_BALLOON_SWITCH_UP
   },
   {
-    EL_BALLOON_SEND_DOWN,                      -1, -1,
-    IMG_BALLOON_SEND_DOWN
+    EL_BALLOON_SWITCH_DOWN,                    -1, -1,
+    IMG_BALLOON_SWITCH_DOWN
   },
   {
-    EL_BALLOON_SEND_ANY_DIRECTION,             -1, -1,
-    IMG_BALLOON_SEND_ANY_DIRECTION
+    EL_BALLOON_SWITCH_ANY,                     -1, -1,
+    IMG_BALLOON_SWITCH_ANY
   },
   {
     EL_SPRING,                                 -1, -1,
@@ -881,52 +893,52 @@ element_to_graphic[] =
     IMG_SPRING_MOVING
   },
   {
-    EL_EMC_STEELWALL1,                         -1, -1,
-    IMG_EMC_STEELWALL1
+    EL_EMC_STEELWALL_1,                                -1, -1,
+    IMG_EMC_STEELWALL_1
   },
   {
-    EL_EMC_STEELWALL2,                         -1, -1,
-    IMG_EMC_STEELWALL2
+    EL_EMC_STEELWALL_2,                                -1, -1,
+    IMG_EMC_STEELWALL_2
   },
   {
-    EL_EMC_STEELWALL3,                         -1, -1,
-    IMG_EMC_STEELWALL3
+    EL_EMC_STEELWALL_3,                                -1, -1,
+    IMG_EMC_STEELWALL_3
   },
   {
-    EL_EMC_STEELWALL4,                         -1, -1,
-    IMG_EMC_STEELWALL4
+    EL_EMC_STEELWALL_4,                                -1, -1,
+    IMG_EMC_STEELWALL_4
   },
   {
-    EL_EMC_WALL_PILLAR_UPPER,                  -1, -1,
-    IMG_EMC_WALL_PILLAR_UPPER
+    EL_EMC_WALL_1,                             -1, -1,
+    IMG_EMC_WALL_1
   },
   {
-    EL_EMC_WALL_PILLAR_MIDDLE,                 -1, -1,
-    IMG_EMC_WALL_PILLAR_MIDDLE
+    EL_EMC_WALL_2,                             -1, -1,
+    IMG_EMC_WALL_2
   },
   {
-    EL_EMC_WALL_PILLAR_LOWER,                  -1, -1,
-    IMG_EMC_WALL_PILLAR_LOWER
+    EL_EMC_WALL_3,                             -1, -1,
+    IMG_EMC_WALL_3
   },
   {
-    EL_EMC_WALL4,                              -1, -1,
-    IMG_EMC_WALL4
+    EL_EMC_WALL_4,                             -1, -1,
+    IMG_EMC_WALL_4
   },
   {
-    EL_EMC_WALL5,                              -1, -1,
-    IMG_EMC_WALL5
+    EL_EMC_WALL_5,                             -1, -1,
+    IMG_EMC_WALL_5
   },
   {
-    EL_EMC_WALL6,                              -1, -1,
-    IMG_EMC_WALL6
+    EL_EMC_WALL_6,                             -1, -1,
+    IMG_EMC_WALL_6
   },
   {
-    EL_EMC_WALL7,                              -1, -1,
-    IMG_EMC_WALL7
+    EL_EMC_WALL_7,                             -1, -1,
+    IMG_EMC_WALL_7
   },
   {
-    EL_EMC_WALL8,                              -1, -1,
-    IMG_EMC_WALL8
+    EL_EMC_WALL_8,                             -1, -1,
+    IMG_EMC_WALL_8
   },
   {
     EL_INVISIBLE_STEELWALL,                    -1, -1,
@@ -965,196 +977,196 @@ element_to_graphic[] =
     IMG_INVISIBLE_SAND_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT1_MIDDLE,                  -1, -1,
-    IMG_CONVEYOR_BELT1_MIDDLE
+    EL_CONVEYOR_BELT_1_MIDDLE,                 -1, -1,
+    IMG_CONVEYOR_BELT_1_MIDDLE
   },
   {
-    EL_CONVEYOR_BELT1_MIDDLE_ACTIVE,           -1, -1,
-    IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE
+    EL_CONVEYOR_BELT_1_MIDDLE_ACTIVE,          -1, -1,
+    IMG_CONVEYOR_BELT_1_MIDDLE_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT1_MIDDLE,                  ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE
+    EL_CONVEYOR_BELT_1_MIDDLE,                 ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_1_MIDDLE_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT1_LEFT,                    -1, -1,
-    IMG_CONVEYOR_BELT1_LEFT
+    EL_CONVEYOR_BELT_1_LEFT,                   -1, -1,
+    IMG_CONVEYOR_BELT_1_LEFT
   },
   {
-    EL_CONVEYOR_BELT1_LEFT_ACTIVE,             -1, -1,
-    IMG_CONVEYOR_BELT1_LEFT_ACTIVE
+    EL_CONVEYOR_BELT_1_LEFT_ACTIVE,            -1, -1,
+    IMG_CONVEYOR_BELT_1_LEFT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT1_LEFT,                    ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT1_LEFT_ACTIVE
+    EL_CONVEYOR_BELT_1_LEFT,                   ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_1_LEFT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT1_RIGHT,                   -1, -1,
-    IMG_CONVEYOR_BELT1_RIGHT
+    EL_CONVEYOR_BELT_1_RIGHT,                  -1, -1,
+    IMG_CONVEYOR_BELT_1_RIGHT
   },
   {
-    EL_CONVEYOR_BELT1_RIGHT_ACTIVE,            -1, -1,
-    IMG_CONVEYOR_BELT1_RIGHT_ACTIVE
+    EL_CONVEYOR_BELT_1_RIGHT_ACTIVE,           -1, -1,
+    IMG_CONVEYOR_BELT_1_RIGHT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT1_RIGHT,                   ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT1_RIGHT_ACTIVE
+    EL_CONVEYOR_BELT_1_RIGHT,                  ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_1_RIGHT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT1_SWITCH_LEFT,             -1, -1,
-    IMG_CONVEYOR_BELT1_SWITCH_LEFT
+    EL_CONVEYOR_BELT_1_SWITCH_LEFT,            -1, -1,
+    IMG_CONVEYOR_BELT_1_SWITCH_LEFT
   },
   {
-    EL_CONVEYOR_BELT1_SWITCH_MIDDLE,           -1, -1,
-    IMG_CONVEYOR_BELT1_SWITCH_MIDDLE
+    EL_CONVEYOR_BELT_1_SWITCH_MIDDLE,          -1, -1,
+    IMG_CONVEYOR_BELT_1_SWITCH_MIDDLE
   },
   {
-    EL_CONVEYOR_BELT1_SWITCH_RIGHT,            -1, -1,
-    IMG_CONVEYOR_BELT1_SWITCH_RIGHT
+    EL_CONVEYOR_BELT_1_SWITCH_RIGHT,           -1, -1,
+    IMG_CONVEYOR_BELT_1_SWITCH_RIGHT
   },
   {
-    EL_CONVEYOR_BELT2_MIDDLE,                  -1, -1,
-    IMG_CONVEYOR_BELT2_MIDDLE
+    EL_CONVEYOR_BELT_2_MIDDLE,                 -1, -1,
+    IMG_CONVEYOR_BELT_2_MIDDLE
   },
   {
-    EL_CONVEYOR_BELT2_MIDDLE_ACTIVE,           -1, -1,
-    IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE
+    EL_CONVEYOR_BELT_2_MIDDLE_ACTIVE,          -1, -1,
+    IMG_CONVEYOR_BELT_2_MIDDLE_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT2_MIDDLE,                  ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE
+    EL_CONVEYOR_BELT_2_MIDDLE,                 ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_2_MIDDLE_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT2_LEFT,                    -1, -1,
-    IMG_CONVEYOR_BELT2_LEFT
+    EL_CONVEYOR_BELT_2_LEFT,                   -1, -1,
+    IMG_CONVEYOR_BELT_2_LEFT
   },
   {
-    EL_CONVEYOR_BELT2_LEFT_ACTIVE,             -1, -1,
-    IMG_CONVEYOR_BELT2_LEFT_ACTIVE
+    EL_CONVEYOR_BELT_2_LEFT_ACTIVE,            -1, -1,
+    IMG_CONVEYOR_BELT_2_LEFT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT2_LEFT,                    ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT2_LEFT_ACTIVE
+    EL_CONVEYOR_BELT_2_LEFT,                   ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_2_LEFT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT2_RIGHT,                   -1, -1,
-    IMG_CONVEYOR_BELT2_RIGHT
+    EL_CONVEYOR_BELT_2_RIGHT,                  -1, -1,
+    IMG_CONVEYOR_BELT_2_RIGHT
   },
   {
-    EL_CONVEYOR_BELT2_RIGHT_ACTIVE,            -1, -1,
-    IMG_CONVEYOR_BELT2_RIGHT_ACTIVE
+    EL_CONVEYOR_BELT_2_RIGHT_ACTIVE,           -1, -1,
+    IMG_CONVEYOR_BELT_2_RIGHT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT2_RIGHT,                   ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT2_RIGHT_ACTIVE
+    EL_CONVEYOR_BELT_2_RIGHT,                  ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_2_RIGHT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT2_SWITCH_LEFT,             -1, -1,
-    IMG_CONVEYOR_BELT2_SWITCH_LEFT
+    EL_CONVEYOR_BELT_2_SWITCH_LEFT,            -1, -1,
+    IMG_CONVEYOR_BELT_2_SWITCH_LEFT
   },
   {
-    EL_CONVEYOR_BELT2_SWITCH_MIDDLE,           -1, -1,
-    IMG_CONVEYOR_BELT2_SWITCH_MIDDLE
+    EL_CONVEYOR_BELT_2_SWITCH_MIDDLE,          -1, -1,
+    IMG_CONVEYOR_BELT_2_SWITCH_MIDDLE
   },
   {
-    EL_CONVEYOR_BELT2_SWITCH_RIGHT,            -1, -1,
-    IMG_CONVEYOR_BELT2_SWITCH_RIGHT
+    EL_CONVEYOR_BELT_2_SWITCH_RIGHT,           -1, -1,
+    IMG_CONVEYOR_BELT_2_SWITCH_RIGHT
   },
   {
-    EL_CONVEYOR_BELT3_MIDDLE,                  -1, -1,
-    IMG_CONVEYOR_BELT3_MIDDLE
+    EL_CONVEYOR_BELT_3_MIDDLE,                 -1, -1,
+    IMG_CONVEYOR_BELT_3_MIDDLE
   },
   {
-    EL_CONVEYOR_BELT3_MIDDLE_ACTIVE,           -1, -1,
-    IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE
+    EL_CONVEYOR_BELT_3_MIDDLE_ACTIVE,          -1, -1,
+    IMG_CONVEYOR_BELT_3_MIDDLE_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT3_MIDDLE,                  ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE
+    EL_CONVEYOR_BELT_3_MIDDLE,                 ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_3_MIDDLE_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT3_LEFT,                    -1, -1,
-    IMG_CONVEYOR_BELT3_LEFT
+    EL_CONVEYOR_BELT_3_LEFT,                   -1, -1,
+    IMG_CONVEYOR_BELT_3_LEFT
   },
   {
-    EL_CONVEYOR_BELT3_LEFT_ACTIVE,             -1, -1,
-    IMG_CONVEYOR_BELT3_LEFT_ACTIVE
+    EL_CONVEYOR_BELT_3_LEFT_ACTIVE,            -1, -1,
+    IMG_CONVEYOR_BELT_3_LEFT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT3_LEFT,                    ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT3_LEFT_ACTIVE
+    EL_CONVEYOR_BELT_3_LEFT,                   ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_3_LEFT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT3_RIGHT,                   -1, -1,
-    IMG_CONVEYOR_BELT3_RIGHT
+    EL_CONVEYOR_BELT_3_RIGHT,                  -1, -1,
+    IMG_CONVEYOR_BELT_3_RIGHT
   },
   {
-    EL_CONVEYOR_BELT3_RIGHT_ACTIVE,            -1, -1,
-    IMG_CONVEYOR_BELT3_RIGHT_ACTIVE
+    EL_CONVEYOR_BELT_3_RIGHT_ACTIVE,           -1, -1,
+    IMG_CONVEYOR_BELT_3_RIGHT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT3_RIGHT,                   ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT3_RIGHT_ACTIVE
+    EL_CONVEYOR_BELT_3_RIGHT,                  ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_3_RIGHT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT3_SWITCH_LEFT,             -1, -1,
-    IMG_CONVEYOR_BELT3_SWITCH_LEFT
+    EL_CONVEYOR_BELT_3_SWITCH_LEFT,            -1, -1,
+    IMG_CONVEYOR_BELT_3_SWITCH_LEFT
   },
   {
-    EL_CONVEYOR_BELT3_SWITCH_MIDDLE,           -1, -1,
-    IMG_CONVEYOR_BELT3_SWITCH_MIDDLE
+    EL_CONVEYOR_BELT_3_SWITCH_MIDDLE,          -1, -1,
+    IMG_CONVEYOR_BELT_3_SWITCH_MIDDLE
   },
   {
-    EL_CONVEYOR_BELT3_SWITCH_RIGHT,            -1, -1,
-    IMG_CONVEYOR_BELT3_SWITCH_RIGHT
+    EL_CONVEYOR_BELT_3_SWITCH_RIGHT,           -1, -1,
+    IMG_CONVEYOR_BELT_3_SWITCH_RIGHT
   },
   {
-    EL_CONVEYOR_BELT4_MIDDLE,                  -1, -1,
-    IMG_CONVEYOR_BELT4_MIDDLE
+    EL_CONVEYOR_BELT_4_MIDDLE,                 -1, -1,
+    IMG_CONVEYOR_BELT_4_MIDDLE
   },
   {
-    EL_CONVEYOR_BELT4_MIDDLE_ACTIVE,           -1, -1,
-    IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE
+    EL_CONVEYOR_BELT_4_MIDDLE_ACTIVE,          -1, -1,
+    IMG_CONVEYOR_BELT_4_MIDDLE_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT4_MIDDLE,                  ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE
+    EL_CONVEYOR_BELT_4_MIDDLE,                 ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_4_MIDDLE_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT4_LEFT,                    -1, -1,
-    IMG_CONVEYOR_BELT4_LEFT
+    EL_CONVEYOR_BELT_4_LEFT,                   -1, -1,
+    IMG_CONVEYOR_BELT_4_LEFT
   },
   {
-    EL_CONVEYOR_BELT4_LEFT_ACTIVE,             -1, -1,
-    IMG_CONVEYOR_BELT4_LEFT_ACTIVE
+    EL_CONVEYOR_BELT_4_LEFT_ACTIVE,            -1, -1,
+    IMG_CONVEYOR_BELT_4_LEFT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT4_LEFT,                    ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT4_LEFT_ACTIVE
+    EL_CONVEYOR_BELT_4_LEFT,                   ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_4_LEFT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT4_RIGHT,                   -1, -1,
-    IMG_CONVEYOR_BELT4_RIGHT
+    EL_CONVEYOR_BELT_4_RIGHT,                  -1, -1,
+    IMG_CONVEYOR_BELT_4_RIGHT
   },
   {
-    EL_CONVEYOR_BELT4_RIGHT_ACTIVE,            -1, -1,
-    IMG_CONVEYOR_BELT4_RIGHT_ACTIVE
+    EL_CONVEYOR_BELT_4_RIGHT_ACTIVE,           -1, -1,
+    IMG_CONVEYOR_BELT_4_RIGHT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT4_RIGHT,                   ACTION_ACTIVE, -1,
-    IMG_CONVEYOR_BELT4_RIGHT_ACTIVE
+    EL_CONVEYOR_BELT_4_RIGHT,                  ACTION_ACTIVE, -1,
+    IMG_CONVEYOR_BELT_4_RIGHT_ACTIVE
   },
   {
-    EL_CONVEYOR_BELT4_SWITCH_LEFT,             -1, -1,
-    IMG_CONVEYOR_BELT4_SWITCH_LEFT
+    EL_CONVEYOR_BELT_4_SWITCH_LEFT,            -1, -1,
+    IMG_CONVEYOR_BELT_4_SWITCH_LEFT
   },
   {
-    EL_CONVEYOR_BELT4_SWITCH_MIDDLE,           -1, -1,
-    IMG_CONVEYOR_BELT4_SWITCH_MIDDLE
+    EL_CONVEYOR_BELT_4_SWITCH_MIDDLE,          -1, -1,
+    IMG_CONVEYOR_BELT_4_SWITCH_MIDDLE
   },
   {
-    EL_CONVEYOR_BELT4_SWITCH_RIGHT,            -1, -1,
-    IMG_CONVEYOR_BELT4_SWITCH_RIGHT
+    EL_CONVEYOR_BELT_4_SWITCH_RIGHT,           -1, -1,
+    IMG_CONVEYOR_BELT_4_SWITCH_RIGHT
   },
   {
     EL_SWITCHGATE_SWITCH_UP,                   -1, -1,
@@ -1313,8 +1325,8 @@ element_to_graphic[] =
     IMG_TUBE_VERTICAL_RIGHT
   },
   {
-    EL_TUBE_ALL,                               -1, -1,
-    IMG_TUBE_ALL
+    EL_TUBE_ANY,                               -1, -1,
+    IMG_TUBE_ANY
   },
   {
     EL_TUBE_VERTICAL_LEFT,                     -1, -1,
@@ -1353,56 +1365,56 @@ element_to_graphic[] =
     IMG_DX_SUPABOMB
   },
   {
-    EL_KEY1,                                   -1, -1,
-    IMG_KEY1
+    EL_KEY_1,                                  -1, -1,
+    IMG_KEY_1
   },
   {
-    EL_KEY2,                                   -1, -1,
-    IMG_KEY2
+    EL_KEY_2,                                  -1, -1,
+    IMG_KEY_2
   },
   {
-    EL_KEY3,                                   -1, -1,
-    IMG_KEY3
+    EL_KEY_3,                                  -1, -1,
+    IMG_KEY_3
   },
   {
-    EL_KEY4,                                   -1, -1,
-    IMG_KEY4
+    EL_KEY_4,                                  -1, -1,
+    IMG_KEY_4
   },
   {
-    EL_GATE1,                                  -1, -1,
-    IMG_GATE1
+    EL_GATE_1,                                 -1, -1,
+    IMG_GATE_1
   },
   {
-    EL_GATE2,                                  -1, -1,
-    IMG_GATE2
+    EL_GATE_2,                                 -1, -1,
+    IMG_GATE_2
   },
   {
-    EL_GATE3,                                  -1, -1,
-    IMG_GATE3
+    EL_GATE_3,                                 -1, -1,
+    IMG_GATE_3
   },
   {
-    EL_GATE4,                                  -1, -1,
-    IMG_GATE4
+    EL_GATE_4,                                 -1, -1,
+    IMG_GATE_4
   },
   {
-    EL_GATE1_GRAY,                             -1, -1,
-    IMG_GATE1_GRAY
+    EL_GATE_1_GRAY,                            -1, -1,
+    IMG_GATE_1_GRAY
   },
   {
-    EL_GATE2_GRAY,                             -1, -1,
-    IMG_GATE2_GRAY
+    EL_GATE_2_GRAY,                            -1, -1,
+    IMG_GATE_2_GRAY
   },
   {
-    EL_GATE3_GRAY,                             -1, -1,
-    IMG_GATE3_GRAY
+    EL_GATE_3_GRAY,                            -1, -1,
+    IMG_GATE_3_GRAY
   },
   {
-    EL_GATE4_GRAY,                             -1, -1,
-    IMG_GATE4_GRAY
+    EL_GATE_4_GRAY,                            -1, -1,
+    IMG_GATE_4_GRAY
   },
   {
-    EL_GAMEOFLIFE,                             -1, -1,
-    IMG_GAMEOFLIFE
+    EL_GAME_OF_LIFE,                           -1, -1,
+    IMG_GAME_OF_LIFE
   },
   {
     EL_BIOMAZE,                                        -1, -1,
@@ -1513,52 +1525,52 @@ element_to_graphic[] =
     IMG_WALL_BD_DIAMOND
   },
   {
-    EL_WALL_GROWING,                           -1, -1,
-    IMG_WALL_GROWING
+    EL_EXPANDABLE_WALL,                                -1, -1,
+    IMG_EXPANDABLE_WALL
   },
   {
-    EL_WALL_GROWING_XY,                                -1, -1,
-    IMG_WALL_GROWING_XY
+    EL_EXPANDABLE_WALL_HORIZONTAL,             -1, -1,
+    IMG_EXPANDABLE_WALL_HORIZONTAL
   },
   {
-    EL_WALL_GROWING_X,                         -1, -1,
-    IMG_WALL_GROWING_X
+    EL_EXPANDABLE_WALL_VERTICAL,               -1, -1,
+    IMG_EXPANDABLE_WALL_VERTICAL
   },
   {
-    EL_WALL_GROWING_Y,                         -1, -1,
-    IMG_WALL_GROWING_Y
+    EL_EXPANDABLE_WALL_ANY,                    -1, -1,
+    IMG_EXPANDABLE_WALL_ANY
   },
   {
-    EL_WALL_GROWING,                           ACTION_ACTIVE, MV_BIT_LEFT,
-    IMG_WALL_GROWING_ACTIVE_LEFT
+    EL_EXPANDABLE_WALL,                                ACTION_GROWING, MV_BIT_LEFT,
+    IMG_EXPANDABLE_WALL_GROWING_LEFT
   },
   {
-    EL_WALL_GROWING_ACTIVE,                    -1, MV_BIT_LEFT,
-    IMG_WALL_GROWING_ACTIVE_LEFT
+    EL_EXPANDABLE_WALL_GROWING,                        -1, MV_BIT_LEFT,
+    IMG_EXPANDABLE_WALL_GROWING_LEFT
   },
   {
-    EL_WALL_GROWING,                           ACTION_ACTIVE, MV_BIT_RIGHT,
-    IMG_WALL_GROWING_ACTIVE_RIGHT
+    EL_EXPANDABLE_WALL,                                ACTION_GROWING, MV_BIT_RIGHT,
+    IMG_EXPANDABLE_WALL_GROWING_RIGHT
   },
   {
-    EL_WALL_GROWING_ACTIVE,                    -1, MV_BIT_RIGHT,
-    IMG_WALL_GROWING_ACTIVE_RIGHT
+    EL_EXPANDABLE_WALL_GROWING,                        -1, MV_BIT_RIGHT,
+    IMG_EXPANDABLE_WALL_GROWING_RIGHT
   },
   {
-    EL_WALL_GROWING,                           ACTION_ACTIVE, MV_BIT_UP,
-    IMG_WALL_GROWING_ACTIVE_UP
+    EL_EXPANDABLE_WALL,                                ACTION_GROWING, MV_BIT_UP,
+    IMG_EXPANDABLE_WALL_GROWING_UP
   },
   {
-    EL_WALL_GROWING_ACTIVE,                    -1, MV_BIT_UP,
-    IMG_WALL_GROWING_ACTIVE_UP
+    EL_EXPANDABLE_WALL_GROWING,                        -1, MV_BIT_UP,
+    IMG_EXPANDABLE_WALL_GROWING_UP
   },
   {
-    EL_WALL_GROWING,                           ACTION_ACTIVE, MV_BIT_DOWN,
-    IMG_WALL_GROWING_ACTIVE_DOWN
+    EL_EXPANDABLE_WALL,                                ACTION_GROWING, MV_BIT_DOWN,
+    IMG_EXPANDABLE_WALL_GROWING_DOWN
   },
   {
-    EL_WALL_GROWING_ACTIVE,                    -1, MV_BIT_DOWN,
-    IMG_WALL_GROWING_ACTIVE_DOWN
+    EL_EXPANDABLE_WALL_GROWING,                        -1, MV_BIT_DOWN,
+    IMG_EXPANDABLE_WALL_GROWING_DOWN
   },
   {
     EL_BLACK_ORB,                              -1, -1,
@@ -1577,32 +1589,32 @@ element_to_graphic[] =
     IMG_DYNABOMB_ACTIVE
   },
   {
-    EL_DYNABOMB_PLAYER1_ACTIVE,                        -1, -1,
-    IMG_DYNABOMB_PLAYER1_ACTIVE
+    EL_DYNABOMB_PLAYER_1_ACTIVE,               -1, -1,
+    IMG_DYNABOMB_PLAYER_1_ACTIVE
   },
   {
-    EL_DYNABOMB_PLAYER2_ACTIVE,                        -1, -1,
-    IMG_DYNABOMB_PLAYER2_ACTIVE
+    EL_DYNABOMB_PLAYER_2_ACTIVE,               -1, -1,
+    IMG_DYNABOMB_PLAYER_2_ACTIVE
   },
   {
-    EL_DYNABOMB_PLAYER3_ACTIVE,                        -1, -1,
-    IMG_DYNABOMB_PLAYER3_ACTIVE
+    EL_DYNABOMB_PLAYER_3_ACTIVE,               -1, -1,
+    IMG_DYNABOMB_PLAYER_3_ACTIVE
   },
   {
-    EL_DYNABOMB_PLAYER4_ACTIVE,                        -1, -1,
-    IMG_DYNABOMB_PLAYER4_ACTIVE
+    EL_DYNABOMB_PLAYER_4_ACTIVE,               -1, -1,
+    IMG_DYNABOMB_PLAYER_4_ACTIVE
   },
   {
-    EL_DYNABOMB_NR,                            -1, -1,
-    IMG_DYNABOMB_NR
+    EL_DYNABOMB_INCREASE_NUMBER,               -1, -1,
+    IMG_DYNABOMB_INCREASE_NUMBER
   },
   {
-    EL_DYNABOMB_SZ,                            -1, -1,
-    IMG_DYNABOMB_SZ
+    EL_DYNABOMB_INCREASE_SIZE,                 -1, -1,
+    IMG_DYNABOMB_INCREASE_SIZE
   },
   {
-    EL_DYNABOMB_XL,                            -1, -1,
-    IMG_DYNABOMB_XL
+    EL_DYNABOMB_INCREASE_POWER,                        -1, -1,
+    IMG_DYNABOMB_INCREASE_POWER
   },
   {
     EL_PIG,                                    -1, -1,
@@ -1641,20 +1653,20 @@ element_to_graphic[] =
     IMG_PIG_MOVING_RIGHT
   },
   {
-    EL_PIG,                                    ACTION_EATING, MV_BIT_DOWN,
-    IMG_PIG_EATING_DOWN
+    EL_PIG,                                    ACTION_DIGGING, MV_BIT_DOWN,
+    IMG_PIG_DIGGING_DOWN
   },
   {
-    EL_PIG,                                    ACTION_EATING, MV_BIT_UP,
-    IMG_PIG_EATING_UP
+    EL_PIG,                                    ACTION_DIGGING, MV_BIT_UP,
+    IMG_PIG_DIGGING_UP
   },
   {
-    EL_PIG,                                    ACTION_EATING, MV_BIT_LEFT,
-    IMG_PIG_EATING_LEFT
+    EL_PIG,                                    ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_PIG_DIGGING_LEFT
   },
   {
-    EL_PIG,                                    ACTION_EATING, MV_BIT_RIGHT,
-    IMG_PIG_EATING_RIGHT
+    EL_PIG,                                    ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_PIG_DIGGING_RIGHT
   },
   {
     EL_DRAGON,                                 -1, -1,
@@ -1825,340 +1837,340 @@ element_to_graphic[] =
     IMG_STONEBLOCK
   },
   {
-    EL_PLAYER1,                                        -1, -1,
-    IMG_PLAYER1
+    EL_PLAYER_1,                               -1, -1,
+    IMG_PLAYER_1
   },
   {
-    EL_PLAYER1,                                        -1, MV_BIT_DOWN,
-    IMG_PLAYER1_DOWN
+    EL_PLAYER_1,                               -1, MV_BIT_DOWN,
+    IMG_PLAYER_1_DOWN
   },
   {
-    EL_PLAYER1,                                        -1, MV_BIT_UP,
-    IMG_PLAYER1_UP
+    EL_PLAYER_1,                               -1, MV_BIT_UP,
+    IMG_PLAYER_1_UP
   },
   {
-    EL_PLAYER1,                                        -1, MV_BIT_LEFT,
-    IMG_PLAYER1_LEFT
+    EL_PLAYER_1,                               -1, MV_BIT_LEFT,
+    IMG_PLAYER_1_LEFT
   },
   {
-    EL_PLAYER1,                                        -1, MV_BIT_RIGHT,
-    IMG_PLAYER1_RIGHT
+    EL_PLAYER_1,                               -1, MV_BIT_RIGHT,
+    IMG_PLAYER_1_RIGHT
   },
   {
-    EL_PLAYER1,                                        ACTION_MOVING, MV_BIT_DOWN,
-    IMG_PLAYER1_MOVING_DOWN
+    EL_PLAYER_1,                               ACTION_MOVING, MV_BIT_DOWN,
+    IMG_PLAYER_1_MOVING_DOWN
   },
   {
-    EL_PLAYER1,                                        ACTION_MOVING, MV_BIT_UP,
-    IMG_PLAYER1_MOVING_UP
+    EL_PLAYER_1,                               ACTION_MOVING, MV_BIT_UP,
+    IMG_PLAYER_1_MOVING_UP
   },
   {
-    EL_PLAYER1,                                        ACTION_MOVING, MV_BIT_LEFT,
-    IMG_PLAYER1_MOVING_LEFT
+    EL_PLAYER_1,                               ACTION_MOVING, MV_BIT_LEFT,
+    IMG_PLAYER_1_MOVING_LEFT
   },
   {
-    EL_PLAYER1,                                        ACTION_MOVING, MV_BIT_RIGHT,
-    IMG_PLAYER1_MOVING_RIGHT
+    EL_PLAYER_1,                               ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_PLAYER_1_MOVING_RIGHT
   },
   {
-    EL_PLAYER1,                                        ACTION_DIGGING, MV_BIT_DOWN,
-    IMG_PLAYER1_DIGGING_DOWN
+    EL_PLAYER_1,                               ACTION_DIGGING, MV_BIT_DOWN,
+    IMG_PLAYER_1_DIGGING_DOWN
   },
   {
-    EL_PLAYER1,                                        ACTION_DIGGING, MV_BIT_UP,
-    IMG_PLAYER1_DIGGING_UP
+    EL_PLAYER_1,                               ACTION_DIGGING, MV_BIT_UP,
+    IMG_PLAYER_1_DIGGING_UP
   },
   {
-    EL_PLAYER1,                                        ACTION_DIGGING, MV_BIT_LEFT,
-    IMG_PLAYER1_DIGGING_LEFT
+    EL_PLAYER_1,                               ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_PLAYER_1_DIGGING_LEFT
   },
   {
-    EL_PLAYER1,                                        ACTION_DIGGING, MV_BIT_RIGHT,
-    IMG_PLAYER1_DIGGING_RIGHT
+    EL_PLAYER_1,                               ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_PLAYER_1_DIGGING_RIGHT
   },
   {
-    EL_PLAYER1,                                        ACTION_PUSHING, MV_BIT_DOWN,
-    IMG_PLAYER1_PUSHING_DOWN
+    EL_PLAYER_1,                               ACTION_PUSHING, MV_BIT_DOWN,
+    IMG_PLAYER_1_PUSHING_DOWN
   },
   {
-    EL_PLAYER1,                                        ACTION_PUSHING, MV_BIT_UP,
-    IMG_PLAYER1_PUSHING_UP
+    EL_PLAYER_1,                               ACTION_PUSHING, MV_BIT_UP,
+    IMG_PLAYER_1_PUSHING_UP
   },
   {
-    EL_PLAYER1,                                        ACTION_PUSHING, MV_BIT_LEFT,
-    IMG_PLAYER1_PUSHING_LEFT
+    EL_PLAYER_1,                               ACTION_PUSHING, MV_BIT_LEFT,
+    IMG_PLAYER_1_PUSHING_LEFT
   },
   {
-    EL_PLAYER1,                                        ACTION_PUSHING, MV_BIT_RIGHT,
-    IMG_PLAYER1_PUSHING_RIGHT
+    EL_PLAYER_1,                               ACTION_PUSHING, MV_BIT_RIGHT,
+    IMG_PLAYER_1_PUSHING_RIGHT
   },
   {
-    EL_PLAYER1,                                        ACTION_SNAPPING, MV_BIT_DOWN,
-    IMG_PLAYER1_SNAPPING_DOWN
+    EL_PLAYER_1,                               ACTION_SNAPPING, MV_BIT_DOWN,
+    IMG_PLAYER_1_SNAPPING_DOWN
   },
   {
-    EL_PLAYER1,                                        ACTION_SNAPPING, MV_BIT_UP,
-    IMG_PLAYER1_SNAPPING_UP
+    EL_PLAYER_1,                               ACTION_SNAPPING, MV_BIT_UP,
+    IMG_PLAYER_1_SNAPPING_UP
   },
   {
-    EL_PLAYER1,                                        ACTION_SNAPPING, MV_BIT_LEFT,
-    IMG_PLAYER1_SNAPPING_LEFT
+    EL_PLAYER_1,                               ACTION_SNAPPING, MV_BIT_LEFT,
+    IMG_PLAYER_1_SNAPPING_LEFT
   },
   {
-    EL_PLAYER1,                                        ACTION_SNAPPING, MV_BIT_RIGHT,
-    IMG_PLAYER1_SNAPPING_RIGHT
+    EL_PLAYER_1,                               ACTION_SNAPPING, MV_BIT_RIGHT,
+    IMG_PLAYER_1_SNAPPING_RIGHT
   },
   {
-    EL_PLAYER2,                                        -1, -1,
-    IMG_PLAYER2
+    EL_PLAYER_2,                               -1, -1,
+    IMG_PLAYER_2
   },
   {
-    EL_PLAYER2,                                        -1, MV_BIT_DOWN,
-    IMG_PLAYER2_DOWN
+    EL_PLAYER_2,                               -1, MV_BIT_DOWN,
+    IMG_PLAYER_2_DOWN
   },
   {
-    EL_PLAYER2,                                        -1, MV_BIT_UP,
-    IMG_PLAYER2_UP
+    EL_PLAYER_2,                               -1, MV_BIT_UP,
+    IMG_PLAYER_2_UP
   },
   {
-    EL_PLAYER2,                                        -1, MV_BIT_LEFT,
-    IMG_PLAYER2_LEFT
+    EL_PLAYER_2,                               -1, MV_BIT_LEFT,
+    IMG_PLAYER_2_LEFT
   },
   {
-    EL_PLAYER2,                                        -1, MV_BIT_RIGHT,
-    IMG_PLAYER2_RIGHT
+    EL_PLAYER_2,                               -1, MV_BIT_RIGHT,
+    IMG_PLAYER_2_RIGHT
   },
   {
-    EL_PLAYER2,                                        ACTION_MOVING, MV_BIT_DOWN,
-    IMG_PLAYER2_MOVING_DOWN
+    EL_PLAYER_2,                               ACTION_MOVING, MV_BIT_DOWN,
+    IMG_PLAYER_2_MOVING_DOWN
   },
   {
-    EL_PLAYER2,                                        ACTION_MOVING, MV_BIT_UP,
-    IMG_PLAYER2_MOVING_UP
+    EL_PLAYER_2,                               ACTION_MOVING, MV_BIT_UP,
+    IMG_PLAYER_2_MOVING_UP
   },
   {
-    EL_PLAYER2,                                        ACTION_MOVING, MV_BIT_LEFT,
-    IMG_PLAYER2_MOVING_LEFT
+    EL_PLAYER_2,                               ACTION_MOVING, MV_BIT_LEFT,
+    IMG_PLAYER_2_MOVING_LEFT
   },
   {
-    EL_PLAYER2,                                        ACTION_MOVING, MV_BIT_RIGHT,
-    IMG_PLAYER2_MOVING_RIGHT
+    EL_PLAYER_2,                               ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_PLAYER_2_MOVING_RIGHT
   },
   {
-    EL_PLAYER2,                                        ACTION_DIGGING, MV_BIT_DOWN,
-    IMG_PLAYER2_DIGGING_DOWN
+    EL_PLAYER_2,                               ACTION_DIGGING, MV_BIT_DOWN,
+    IMG_PLAYER_2_DIGGING_DOWN
   },
   {
-    EL_PLAYER2,                                        ACTION_DIGGING, MV_BIT_UP,
-    IMG_PLAYER2_DIGGING_UP
+    EL_PLAYER_2,                               ACTION_DIGGING, MV_BIT_UP,
+    IMG_PLAYER_2_DIGGING_UP
   },
   {
-    EL_PLAYER2,                                        ACTION_DIGGING, MV_BIT_LEFT,
-    IMG_PLAYER2_DIGGING_LEFT
+    EL_PLAYER_2,                               ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_PLAYER_2_DIGGING_LEFT
   },
   {
-    EL_PLAYER2,                                        ACTION_DIGGING, MV_BIT_RIGHT,
-    IMG_PLAYER2_DIGGING_RIGHT
+    EL_PLAYER_2,                               ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_PLAYER_2_DIGGING_RIGHT
   },
   {
-    EL_PLAYER2,                                        ACTION_PUSHING, MV_BIT_DOWN,
-    IMG_PLAYER2_PUSHING_DOWN
+    EL_PLAYER_2,                               ACTION_PUSHING, MV_BIT_DOWN,
+    IMG_PLAYER_2_PUSHING_DOWN
   },
   {
-    EL_PLAYER2,                                        ACTION_PUSHING, MV_BIT_UP,
-    IMG_PLAYER2_PUSHING_UP
+    EL_PLAYER_2,                               ACTION_PUSHING, MV_BIT_UP,
+    IMG_PLAYER_2_PUSHING_UP
   },
   {
-    EL_PLAYER2,                                        ACTION_PUSHING, MV_BIT_LEFT,
-    IMG_PLAYER2_PUSHING_LEFT
+    EL_PLAYER_2,                               ACTION_PUSHING, MV_BIT_LEFT,
+    IMG_PLAYER_2_PUSHING_LEFT
   },
   {
-    EL_PLAYER2,                                        ACTION_PUSHING, MV_BIT_RIGHT,
-    IMG_PLAYER2_PUSHING_RIGHT
+    EL_PLAYER_2,                               ACTION_PUSHING, MV_BIT_RIGHT,
+    IMG_PLAYER_2_PUSHING_RIGHT
   },
   {
-    EL_PLAYER2,                                        ACTION_SNAPPING, MV_BIT_DOWN,
-    IMG_PLAYER2_SNAPPING_DOWN
+    EL_PLAYER_2,                               ACTION_SNAPPING, MV_BIT_DOWN,
+    IMG_PLAYER_2_SNAPPING_DOWN
   },
   {
-    EL_PLAYER2,                                        ACTION_SNAPPING, MV_BIT_UP,
-    IMG_PLAYER2_SNAPPING_UP
+    EL_PLAYER_2,                               ACTION_SNAPPING, MV_BIT_UP,
+    IMG_PLAYER_2_SNAPPING_UP
   },
   {
-    EL_PLAYER2,                                        ACTION_SNAPPING, MV_BIT_LEFT,
-    IMG_PLAYER2_SNAPPING_LEFT
+    EL_PLAYER_2,                               ACTION_SNAPPING, MV_BIT_LEFT,
+    IMG_PLAYER_2_SNAPPING_LEFT
   },
   {
-    EL_PLAYER2,                                        ACTION_SNAPPING, MV_BIT_RIGHT,
-    IMG_PLAYER2_SNAPPING_RIGHT
+    EL_PLAYER_2,                               ACTION_SNAPPING, MV_BIT_RIGHT,
+    IMG_PLAYER_2_SNAPPING_RIGHT
   },
   {
-    EL_PLAYER3,                                        -1, -1,
-    IMG_PLAYER3
+    EL_PLAYER_3,                               -1, -1,
+    IMG_PLAYER_3
   },
   {
-    EL_PLAYER3,                                        -1, MV_BIT_DOWN,
-    IMG_PLAYER3_DOWN
+    EL_PLAYER_3,                               -1, MV_BIT_DOWN,
+    IMG_PLAYER_3_DOWN
   },
   {
-    EL_PLAYER3,                                        -1, MV_BIT_UP,
-    IMG_PLAYER3_UP
+    EL_PLAYER_3,                               -1, MV_BIT_UP,
+    IMG_PLAYER_3_UP
   },
   {
-    EL_PLAYER3,                                        -1, MV_BIT_LEFT,
-    IMG_PLAYER3_LEFT
+    EL_PLAYER_3,                               -1, MV_BIT_LEFT,
+    IMG_PLAYER_3_LEFT
   },
   {
-    EL_PLAYER3,                                        -1, MV_BIT_RIGHT,
-    IMG_PLAYER3_RIGHT
+    EL_PLAYER_3,                               -1, MV_BIT_RIGHT,
+    IMG_PLAYER_3_RIGHT
   },
   {
-    EL_PLAYER3,                                        ACTION_MOVING, MV_BIT_DOWN,
-    IMG_PLAYER3_MOVING_DOWN
+    EL_PLAYER_3,                               ACTION_MOVING, MV_BIT_DOWN,
+    IMG_PLAYER_3_MOVING_DOWN
   },
   {
-    EL_PLAYER3,                                        ACTION_MOVING, MV_BIT_UP,
-    IMG_PLAYER3_MOVING_UP
+    EL_PLAYER_3,                               ACTION_MOVING, MV_BIT_UP,
+    IMG_PLAYER_3_MOVING_UP
   },
   {
-    EL_PLAYER3,                                        ACTION_MOVING, MV_BIT_LEFT,
-    IMG_PLAYER3_MOVING_LEFT
+    EL_PLAYER_3,                               ACTION_MOVING, MV_BIT_LEFT,
+    IMG_PLAYER_3_MOVING_LEFT
   },
   {
-    EL_PLAYER3,                                        ACTION_MOVING, MV_BIT_RIGHT,
-    IMG_PLAYER3_MOVING_RIGHT
+    EL_PLAYER_3,                               ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_PLAYER_3_MOVING_RIGHT
   },
   {
-    EL_PLAYER3,                                        ACTION_DIGGING, MV_BIT_DOWN,
-    IMG_PLAYER3_DIGGING_DOWN
+    EL_PLAYER_3,                               ACTION_DIGGING, MV_BIT_DOWN,
+    IMG_PLAYER_3_DIGGING_DOWN
   },
   {
-    EL_PLAYER3,                                        ACTION_DIGGING, MV_BIT_UP,
-    IMG_PLAYER3_DIGGING_UP
+    EL_PLAYER_3,                               ACTION_DIGGING, MV_BIT_UP,
+    IMG_PLAYER_3_DIGGING_UP
   },
   {
-    EL_PLAYER3,                                        ACTION_DIGGING, MV_BIT_LEFT,
-    IMG_PLAYER3_DIGGING_LEFT
+    EL_PLAYER_3,                               ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_PLAYER_3_DIGGING_LEFT
   },
   {
-    EL_PLAYER3,                                        ACTION_DIGGING, MV_BIT_RIGHT,
-    IMG_PLAYER3_DIGGING_RIGHT
+    EL_PLAYER_3,                               ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_PLAYER_3_DIGGING_RIGHT
   },
   {
-    EL_PLAYER3,                                        ACTION_PUSHING, MV_BIT_DOWN,
-    IMG_PLAYER3_PUSHING_DOWN
+    EL_PLAYER_3,                               ACTION_PUSHING, MV_BIT_DOWN,
+    IMG_PLAYER_3_PUSHING_DOWN
   },
   {
-    EL_PLAYER3,                                        ACTION_PUSHING, MV_BIT_UP,
-    IMG_PLAYER3_PUSHING_UP
+    EL_PLAYER_3,                               ACTION_PUSHING, MV_BIT_UP,
+    IMG_PLAYER_3_PUSHING_UP
   },
   {
-    EL_PLAYER3,                                        ACTION_PUSHING, MV_BIT_LEFT,
-    IMG_PLAYER3_PUSHING_LEFT
+    EL_PLAYER_3,                               ACTION_PUSHING, MV_BIT_LEFT,
+    IMG_PLAYER_3_PUSHING_LEFT
   },
   {
-    EL_PLAYER3,                                        ACTION_PUSHING, MV_BIT_RIGHT,
-    IMG_PLAYER3_PUSHING_RIGHT
+    EL_PLAYER_3,                               ACTION_PUSHING, MV_BIT_RIGHT,
+    IMG_PLAYER_3_PUSHING_RIGHT
   },
   {
-    EL_PLAYER3,                                        ACTION_SNAPPING, MV_BIT_DOWN,
-    IMG_PLAYER3_SNAPPING_DOWN
+    EL_PLAYER_3,                               ACTION_SNAPPING, MV_BIT_DOWN,
+    IMG_PLAYER_3_SNAPPING_DOWN
   },
   {
-    EL_PLAYER3,                                        ACTION_SNAPPING, MV_BIT_UP,
-    IMG_PLAYER3_SNAPPING_UP
+    EL_PLAYER_3,                               ACTION_SNAPPING, MV_BIT_UP,
+    IMG_PLAYER_3_SNAPPING_UP
   },
   {
-    EL_PLAYER3,                                        ACTION_SNAPPING, MV_BIT_LEFT,
-    IMG_PLAYER3_SNAPPING_LEFT
+    EL_PLAYER_3,                               ACTION_SNAPPING, MV_BIT_LEFT,
+    IMG_PLAYER_3_SNAPPING_LEFT
   },
   {
-    EL_PLAYER3,                                        ACTION_SNAPPING, MV_BIT_RIGHT,
-    IMG_PLAYER3_SNAPPING_RIGHT
+    EL_PLAYER_3,                               ACTION_SNAPPING, MV_BIT_RIGHT,
+    IMG_PLAYER_3_SNAPPING_RIGHT
   },
   {
-    EL_PLAYER4,                                        -1, -1,
-    IMG_PLAYER4
+    EL_PLAYER_4,                               -1, -1,
+    IMG_PLAYER_4
   },
   {
-    EL_PLAYER4,                                        -1, MV_BIT_DOWN,
-    IMG_PLAYER4_DOWN
+    EL_PLAYER_4,                               -1, MV_BIT_DOWN,
+    IMG_PLAYER_4_DOWN
   },
   {
-    EL_PLAYER4,                                        -1, MV_BIT_UP,
-    IMG_PLAYER4_UP
+    EL_PLAYER_4,                               -1, MV_BIT_UP,
+    IMG_PLAYER_4_UP
   },
   {
-    EL_PLAYER4,                                        -1, MV_BIT_LEFT,
-    IMG_PLAYER4_LEFT
+    EL_PLAYER_4,                               -1, MV_BIT_LEFT,
+    IMG_PLAYER_4_LEFT
   },
   {
-    EL_PLAYER4,                                        -1, MV_BIT_RIGHT,
-    IMG_PLAYER4_RIGHT
+    EL_PLAYER_4,                               -1, MV_BIT_RIGHT,
+    IMG_PLAYER_4_RIGHT
   },
   {
-    EL_PLAYER4,                                        ACTION_MOVING, MV_BIT_DOWN,
-    IMG_PLAYER4_MOVING_DOWN
+    EL_PLAYER_4,                               ACTION_MOVING, MV_BIT_DOWN,
+    IMG_PLAYER_4_MOVING_DOWN
   },
   {
-    EL_PLAYER4,                                        ACTION_MOVING, MV_BIT_UP,
-    IMG_PLAYER4_MOVING_UP
+    EL_PLAYER_4,                               ACTION_MOVING, MV_BIT_UP,
+    IMG_PLAYER_4_MOVING_UP
   },
   {
-    EL_PLAYER4,                                        ACTION_MOVING, MV_BIT_LEFT,
-    IMG_PLAYER4_MOVING_LEFT
+    EL_PLAYER_4,                               ACTION_MOVING, MV_BIT_LEFT,
+    IMG_PLAYER_4_MOVING_LEFT
   },
   {
-    EL_PLAYER4,                                        ACTION_MOVING, MV_BIT_RIGHT,
-    IMG_PLAYER4_MOVING_RIGHT
+    EL_PLAYER_4,                               ACTION_MOVING, MV_BIT_RIGHT,
+    IMG_PLAYER_4_MOVING_RIGHT
   },
   {
-    EL_PLAYER4,                                        ACTION_DIGGING, MV_BIT_DOWN,
-    IMG_PLAYER4_DIGGING_DOWN
+    EL_PLAYER_4,                               ACTION_DIGGING, MV_BIT_DOWN,
+    IMG_PLAYER_4_DIGGING_DOWN
   },
   {
-    EL_PLAYER4,                                        ACTION_DIGGING, MV_BIT_UP,
-    IMG_PLAYER4_DIGGING_UP
+    EL_PLAYER_4,                               ACTION_DIGGING, MV_BIT_UP,
+    IMG_PLAYER_4_DIGGING_UP
   },
   {
-    EL_PLAYER4,                                        ACTION_DIGGING, MV_BIT_LEFT,
-    IMG_PLAYER4_DIGGING_LEFT
+    EL_PLAYER_4,                               ACTION_DIGGING, MV_BIT_LEFT,
+    IMG_PLAYER_4_DIGGING_LEFT
   },
   {
-    EL_PLAYER4,                                        ACTION_DIGGING, MV_BIT_RIGHT,
-    IMG_PLAYER4_DIGGING_RIGHT
+    EL_PLAYER_4,                               ACTION_DIGGING, MV_BIT_RIGHT,
+    IMG_PLAYER_4_DIGGING_RIGHT
   },
   {
-    EL_PLAYER4,                                        ACTION_PUSHING, MV_BIT_DOWN,
-    IMG_PLAYER4_PUSHING_DOWN
+    EL_PLAYER_4,                               ACTION_PUSHING, MV_BIT_DOWN,
+    IMG_PLAYER_4_PUSHING_DOWN
   },
   {
-    EL_PLAYER4,                                        ACTION_PUSHING, MV_BIT_UP,
-    IMG_PLAYER4_PUSHING_UP
+    EL_PLAYER_4,                               ACTION_PUSHING, MV_BIT_UP,
+    IMG_PLAYER_4_PUSHING_UP
   },
   {
-    EL_PLAYER4,                                        ACTION_PUSHING, MV_BIT_LEFT,
-    IMG_PLAYER4_PUSHING_LEFT
+    EL_PLAYER_4,                               ACTION_PUSHING, MV_BIT_LEFT,
+    IMG_PLAYER_4_PUSHING_LEFT
   },
   {
-    EL_PLAYER4,                                        ACTION_PUSHING, MV_BIT_RIGHT,
-    IMG_PLAYER4_PUSHING_RIGHT
+    EL_PLAYER_4,                               ACTION_PUSHING, MV_BIT_RIGHT,
+    IMG_PLAYER_4_PUSHING_RIGHT
   },
   {
-    EL_PLAYER4,                                        ACTION_SNAPPING, MV_BIT_DOWN,
-    IMG_PLAYER4_SNAPPING_DOWN
+    EL_PLAYER_4,                               ACTION_SNAPPING, MV_BIT_DOWN,
+    IMG_PLAYER_4_SNAPPING_DOWN
   },
   {
-    EL_PLAYER4,                                        ACTION_SNAPPING, MV_BIT_UP,
-    IMG_PLAYER4_SNAPPING_UP
+    EL_PLAYER_4,                               ACTION_SNAPPING, MV_BIT_UP,
+    IMG_PLAYER_4_SNAPPING_UP
   },
   {
-    EL_PLAYER4,                                        ACTION_SNAPPING, MV_BIT_LEFT,
-    IMG_PLAYER4_SNAPPING_LEFT
+    EL_PLAYER_4,                               ACTION_SNAPPING, MV_BIT_LEFT,
+    IMG_PLAYER_4_SNAPPING_LEFT
   },
   {
-    EL_PLAYER4,                                        ACTION_SNAPPING, MV_BIT_RIGHT,
-    IMG_PLAYER4_SNAPPING_RIGHT
+    EL_PLAYER_4,                               ACTION_SNAPPING, MV_BIT_RIGHT,
+    IMG_PLAYER_4_SNAPPING_RIGHT
   },
   {
     EL_EXPLOSION,                              -1, -1,
@@ -2245,20 +2257,20 @@ element_to_graphic[] =
     IMG_CHAR_QUESTION
   },
   {
-    EL_EM_KEY1_FILE,                           -1, -1,
-    IMG_EM_KEY1
+    EL_EM_KEY_1_FILE,                          -1, -1,
+    IMG_EM_KEY_1
   },
   {
-    EL_EM_KEY2_FILE,                           -1, -1,
-    IMG_EM_KEY2
+    EL_EM_KEY_2_FILE,                          -1, -1,
+    IMG_EM_KEY_2
   },
   {
-    EL_EM_KEY3_FILE,                           -1, -1,
-    IMG_EM_KEY3
+    EL_EM_KEY_3_FILE,                          -1, -1,
+    IMG_EM_KEY_3
   },
   {
-    EL_EM_KEY4_FILE,                           -1, -1,
-    IMG_EM_KEY4
+    EL_EM_KEY_4_FILE,                          -1, -1,
+    IMG_EM_KEY_4
   },
   {
     EL_KEY_WHITE,                              -1, -1,
diff --git a/src/conf_e2s.c b/src/conf_e2s.c
new file mode 100644 (file)
index 0000000..f5caea8
--- /dev/null
@@ -0,0 +1,685 @@
+/***********************************************************
+* Rocks'n'Diamonds -- McDuffin Strikes Back!               *
+*----------------------------------------------------------*
+* (c) 1995-2002 Artsoft Entertainment                      *
+*               Holger Schemel                             *
+*               Detmolder Strasse 189                      *
+*               33604 Bielefeld                            *
+*               Germany                                    *
+*               e-mail: info@artsoft.org                   *
+*----------------------------------------------------------*
+* conf_e2s.c                                               *
+***********************************************************/
+
+/* ----- this file was automatically generated -- do not edit by hand ----- */
+
+#ifndef CONF_E2S_C
+#define CONF_E2S_C
+
+/* values for element/sounds mapping configuration */
+
+static struct
+{
+  int element;
+  boolean is_class;
+  int action;
+
+  int sound;
+}
+element_to_sound[] =
+{
+  {
+    EL_BD_DIAMOND, FALSE,                      ACTION_COLLECTING,
+    SND_BD_DIAMOND_COLLECTING
+  },
+  {
+    EL_BD_DIAMOND, FALSE,                      ACTION_IMPACT,
+    SND_BD_DIAMOND_IMPACT
+  },
+  {
+    EL_BD_ROCK, FALSE,                         ACTION_PUSHING,
+    SND_BD_ROCK_PUSHING
+  },
+  {
+    EL_BD_ROCK, FALSE,                         ACTION_IMPACT,
+    SND_BD_ROCK_IMPACT
+  },
+  {
+    EL_BD_MAGIC_WALL, FALSE,                   ACTION_ACTIVATING,
+    SND_BD_MAGIC_WALL_ACTIVATING
+  },
+  {
+    EL_BD_MAGIC_WALL_ACTIVE, FALSE,            -1,
+    SND_BD_MAGIC_WALL_ACTIVE
+  },
+  {
+    EL_BD_MAGIC_WALL, FALSE,                   ACTION_ACTIVE,
+    SND_BD_MAGIC_WALL_ACTIVE
+  },
+  {
+    EL_BD_MAGIC_WALL_FILLING, FALSE,           -1,
+    SND_BD_MAGIC_WALL_FILLING
+  },
+  {
+    EL_BD_MAGIC_WALL, FALSE,                   ACTION_FILLING,
+    SND_BD_MAGIC_WALL_FILLING
+  },
+  {
+    EL_BD_AMOEBA, FALSE,                       ACTION_WAITING,
+    SND_BD_AMOEBA_WAITING
+  },
+  {
+    EL_BD_AMOEBA, FALSE,                       ACTION_GROWING,
+    SND_BD_AMOEBA_GROWING
+  },
+  {
+    EL_BD_BUTTERFLY, FALSE,                    ACTION_MOVING,
+    SND_BD_BUTTERFLY_MOVING
+  },
+  {
+    EL_BD_BUTTERFLY, FALSE,                    ACTION_WAITING,
+    SND_BD_BUTTERFLY_WAITING
+  },
+  {
+    EL_BD_FIREFLY, FALSE,                      ACTION_MOVING,
+    SND_BD_FIREFLY_MOVING
+  },
+  {
+    EL_BD_FIREFLY, FALSE,                      ACTION_WAITING,
+    SND_BD_FIREFLY_WAITING
+  },
+  {
+    EL_SP_BASE, FALSE,                         ACTION_DIGGING,
+    SND_SP_BASE_DIGGING
+  },
+  {
+    EL_SP_BUGGY_BASE, FALSE,                   ACTION_DIGGING,
+    SND_SP_BUGGY_BASE_DIGGING
+  },
+  {
+    EL_SP_BUGGY_BASE_ACTIVE, FALSE,            -1,
+    SND_SP_BUGGY_BASE_ACTIVE
+  },
+  {
+    EL_SP_BUGGY_BASE, FALSE,                   ACTION_ACTIVE,
+    SND_SP_BUGGY_BASE_ACTIVE
+  },
+  {
+    EL_SP_INFOTRON, FALSE,                     ACTION_COLLECTING,
+    SND_SP_INFOTRON_COLLECTING
+  },
+  {
+    EL_SP_INFOTRON, FALSE,                     ACTION_IMPACT,
+    SND_SP_INFOTRON_IMPACT
+  },
+  {
+    EL_SP_ZONK, FALSE,                         ACTION_PUSHING,
+    SND_SP_ZONK_PUSHING
+  },
+  {
+    EL_SP_ZONK, FALSE,                         ACTION_IMPACT,
+    SND_SP_ZONK_IMPACT
+  },
+  {
+    EL_SP_DISK_RED, FALSE,                     ACTION_COLLECTING,
+    SND_SP_DISK_RED_COLLECTING
+  },
+  {
+    EL_SP_DISK_ORANGE, FALSE,                  ACTION_PUSHING,
+    SND_SP_DISK_ORANGE_PUSHING
+  },
+  {
+    EL_SP_DISK_YELLOW, FALSE,                  ACTION_PUSHING,
+    SND_SP_DISK_YELLOW_PUSHING
+  },
+  {
+    EL_SP_PORT_RIGHT, TRUE,                    ACTION_PASSING,
+    SND_CLASS_SP_PORT_PASSING
+  },
+  {
+    EL_SP_EXIT_CLOSED, TRUE,                   ACTION_PASSING,
+    SND_CLASS_SP_EXIT_PASSING
+  },
+  {
+    EL_SP_EXIT_CLOSED, TRUE,                   ACTION_OPENING,
+    SND_CLASS_SP_EXIT_OPENING
+  },
+  {
+    EL_SP_SNIKSNAK, FALSE,                     ACTION_MOVING,
+    SND_SP_SNIKSNAK_MOVING
+  },
+  {
+    EL_SP_SNIKSNAK, FALSE,                     ACTION_WAITING,
+    SND_SP_SNIKSNAK_WAITING
+  },
+  {
+    EL_SP_ELECTRON, FALSE,                     ACTION_MOVING,
+    SND_SP_ELECTRON_MOVING
+  },
+  {
+    EL_SP_ELECTRON, FALSE,                     ACTION_WAITING,
+    SND_SP_ELECTRON_WAITING
+  },
+  {
+    EL_SP_TERMINAL, FALSE,                     ACTION_ACTIVATING,
+    SND_SP_TERMINAL_ACTIVATING
+  },
+  {
+    EL_SP_TERMINAL_ACTIVE, FALSE,              -1,
+    SND_SP_TERMINAL_ACTIVE
+  },
+  {
+    EL_SP_TERMINAL, FALSE,                     ACTION_ACTIVE,
+    SND_SP_TERMINAL_ACTIVE
+  },
+  {
+    EL_SOKOBAN_OBJECT, TRUE,                   ACTION_PUSHING,
+    SND_CLASS_SOKOBAN_PUSHING
+  },
+  {
+    EL_SOKOBAN_OBJECT, TRUE,                   ACTION_FILLING,
+    SND_CLASS_SOKOBAN_FILLING
+  },
+  {
+    EL_SOKOBAN_OBJECT, TRUE,                   ACTION_EMPTYING,
+    SND_CLASS_SOKOBAN_EMPTYING
+  },
+  {
+    EL_EMPTY_SPACE, FALSE,                     ACTION_DIGGING,
+    SND_EMPTY_SPACE_DIGGING
+  },
+  {
+    EL_SAND, FALSE,                            ACTION_DIGGING,
+    SND_SAND_DIGGING
+  },
+  {
+    EL_EMERALD, FALSE,                         ACTION_COLLECTING,
+    SND_EMERALD_COLLECTING
+  },
+  {
+    EL_EMERALD, FALSE,                         ACTION_IMPACT,
+    SND_EMERALD_IMPACT
+  },
+  {
+    EL_DIAMOND, FALSE,                         ACTION_COLLECTING,
+    SND_DIAMOND_COLLECTING
+  },
+  {
+    EL_DIAMOND, FALSE,                         ACTION_IMPACT,
+    SND_DIAMOND_IMPACT
+  },
+  {
+    EL_DIAMOND, FALSE,                         ACTION_BREAKING,
+    SND_DIAMOND_BREAKING
+  },
+  {
+    EL_ROCK, FALSE,                            ACTION_PUSHING,
+    SND_ROCK_PUSHING
+  },
+  {
+    EL_ROCK, FALSE,                            ACTION_IMPACT,
+    SND_ROCK_IMPACT
+  },
+  {
+    EL_BOMB, FALSE,                            ACTION_PUSHING,
+    SND_BOMB_PUSHING
+  },
+  {
+    EL_NUT, FALSE,                             ACTION_PUSHING,
+    SND_NUT_PUSHING
+  },
+  {
+    EL_NUT_BREAKING, FALSE,                    -1,
+    SND_NUT_BREAKING
+  },
+  {
+    EL_NUT, FALSE,                             ACTION_BREAKING,
+    SND_NUT_BREAKING
+  },
+  {
+    EL_NUT, FALSE,                             ACTION_IMPACT,
+    SND_NUT_IMPACT
+  },
+  {
+    EL_DYNAMITE_ACTIVE, TRUE,                  ACTION_COLLECTING,
+    SND_CLASS_DYNAMITE_COLLECTING
+  },
+  {
+    EL_DYNAMITE_ACTIVE, TRUE,                  ACTION_DROPPING,
+    SND_CLASS_DYNAMITE_DROPPING
+  },
+  {
+    EL_DYNAMITE_ACTIVE, TRUE,                  ACTION_ACTIVE,
+    SND_CLASS_DYNAMITE_ACTIVE
+  },
+  {
+    EL_KEY_OBSOLETE, TRUE,                     ACTION_COLLECTING,
+    SND_CLASS_KEY_COLLECTING
+  },
+  {
+    EL_GATE_1, TRUE,                           ACTION_PASSING,
+    SND_CLASS_GATE_PASSING
+  },
+  {
+    EL_BUG, FALSE,                             ACTION_MOVING,
+    SND_BUG_MOVING
+  },
+  {
+    EL_BUG, FALSE,                             ACTION_WAITING,
+    SND_BUG_WAITING
+  },
+  {
+    EL_SPACESHIP, FALSE,                       ACTION_MOVING,
+    SND_SPACESHIP_MOVING
+  },
+  {
+    EL_SPACESHIP, FALSE,                       ACTION_WAITING,
+    SND_SPACESHIP_WAITING
+  },
+  {
+    EL_YAMYAM, FALSE,                          ACTION_MOVING,
+    SND_YAMYAM_MOVING
+  },
+  {
+    EL_YAMYAM, FALSE,                          ACTION_WAITING,
+    SND_YAMYAM_WAITING
+  },
+  {
+    EL_YAMYAM, FALSE,                          ACTION_DIGGING,
+    SND_YAMYAM_DIGGING
+  },
+  {
+    EL_ROBOT, FALSE,                           ACTION_MOVING,
+    SND_ROBOT_MOVING
+  },
+  {
+    EL_ROBOT, FALSE,                           ACTION_WAITING,
+    SND_ROBOT_WAITING
+  },
+  {
+    EL_ROBOT_WHEEL, FALSE,                     ACTION_ACTIVATING,
+    SND_ROBOT_WHEEL_ACTIVATING
+  },
+  {
+    EL_ROBOT_WHEEL_ACTIVE, FALSE,              -1,
+    SND_ROBOT_WHEEL_ACTIVE
+  },
+  {
+    EL_ROBOT_WHEEL, FALSE,                     ACTION_ACTIVE,
+    SND_ROBOT_WHEEL_ACTIVE
+  },
+  {
+    EL_MAGIC_WALL, FALSE,                      ACTION_ACTIVATING,
+    SND_MAGIC_WALL_ACTIVATING
+  },
+  {
+    EL_MAGIC_WALL_ACTIVE, FALSE,               -1,
+    SND_MAGIC_WALL_ACTIVE
+  },
+  {
+    EL_MAGIC_WALL, FALSE,                      ACTION_ACTIVE,
+    SND_MAGIC_WALL_ACTIVE
+  },
+  {
+    EL_MAGIC_WALL_FILLING, FALSE,              -1,
+    SND_MAGIC_WALL_FILLING
+  },
+  {
+    EL_MAGIC_WALL, FALSE,                      ACTION_FILLING,
+    SND_MAGIC_WALL_FILLING
+  },
+  {
+    EL_AMOEBA_DEAD, TRUE,                      ACTION_WAITING,
+    SND_CLASS_AMOEBA_WAITING
+  },
+  {
+    EL_AMOEBA_DEAD, TRUE,                      ACTION_GROWING,
+    SND_CLASS_AMOEBA_GROWING
+  },
+  {
+    EL_AMOEBA_DEAD, TRUE,                      ACTION_DROPPING,
+    SND_CLASS_AMOEBA_DROPPING
+  },
+  {
+    EL_QUICKSAND_EMPTY, TRUE,                  ACTION_FILLING,
+    SND_CLASS_QUICKSAND_FILLING
+  },
+  {
+    EL_QUICKSAND_EMPTY, TRUE,                  ACTION_EMPTYING,
+    SND_CLASS_QUICKSAND_EMPTYING
+  },
+  {
+    EL_EXIT_CLOSED, TRUE,                      ACTION_OPENING,
+    SND_CLASS_EXIT_OPENING
+  },
+  {
+    EL_EXIT_CLOSED, TRUE,                      ACTION_PASSING,
+    SND_CLASS_EXIT_PASSING
+  },
+  {
+    EL_BALLOON, FALSE,                         ACTION_MOVING,
+    SND_BALLOON_MOVING
+  },
+  {
+    EL_BALLOON, FALSE,                         ACTION_WAITING,
+    SND_BALLOON_WAITING
+  },
+  {
+    EL_BALLOON, FALSE,                         ACTION_PUSHING,
+    SND_BALLOON_PUSHING
+  },
+  {
+    EL_BALLOON_SWITCH_LEFT, TRUE,              ACTION_ACTIVATING,
+    SND_CLASS_BALLOON_SWITCH_ACTIVATING
+  },
+  {
+    EL_SPRING, FALSE,                          ACTION_MOVING,
+    SND_SPRING_MOVING
+  },
+  {
+    EL_SPRING, FALSE,                          ACTION_PUSHING,
+    SND_SPRING_PUSHING
+  },
+  {
+    EL_SPRING, FALSE,                          ACTION_IMPACT,
+    SND_SPRING_IMPACT
+  },
+  {
+    EL_WALL, TRUE,                             ACTION_GROWING,
+    SND_CLASS_WALL_GROWING
+  },
+  {
+    EL_PEARL, FALSE,                           ACTION_COLLECTING,
+    SND_PEARL_COLLECTING
+  },
+  {
+    EL_PEARL_BREAKING, FALSE,                  -1,
+    SND_PEARL_BREAKING
+  },
+  {
+    EL_PEARL, FALSE,                           ACTION_BREAKING,
+    SND_PEARL_BREAKING
+  },
+  {
+    EL_PEARL, FALSE,                           ACTION_IMPACT,
+    SND_PEARL_IMPACT
+  },
+  {
+    EL_CRYSTAL, FALSE,                         ACTION_COLLECTING,
+    SND_CRYSTAL_COLLECTING
+  },
+  {
+    EL_CRYSTAL, FALSE,                         ACTION_IMPACT,
+    SND_CRYSTAL_IMPACT
+  },
+  {
+    EL_ENVELOPE, FALSE,                                ACTION_COLLECTING,
+    SND_ENVELOPE_COLLECTING
+  },
+  {
+    EL_INVISIBLE_SAND, FALSE,                  ACTION_DIGGING,
+    SND_INVISIBLE_SAND_DIGGING
+  },
+  {
+    EL_SHIELD_NORMAL, FALSE,                   ACTION_COLLECTING,
+    SND_SHIELD_NORMAL_COLLECTING
+  },
+  {
+    EL_SHIELD_NORMAL_ACTIVE, FALSE,            -1,
+    SND_SHIELD_NORMAL_ACTIVE
+  },
+  {
+    EL_SHIELD_NORMAL, FALSE,                   ACTION_ACTIVE,
+    SND_SHIELD_NORMAL_ACTIVE
+  },
+  {
+    EL_SHIELD_DEADLY, FALSE,                   ACTION_COLLECTING,
+    SND_SHIELD_DEADLY_COLLECTING
+  },
+  {
+    EL_SHIELD_DEADLY_ACTIVE, FALSE,            -1,
+    SND_SHIELD_DEADLY_ACTIVE
+  },
+  {
+    EL_SHIELD_DEADLY, FALSE,                   ACTION_ACTIVE,
+    SND_SHIELD_DEADLY_ACTIVE
+  },
+  {
+    EL_EXTRA_TIME, FALSE,                      ACTION_COLLECTING,
+    SND_EXTRA_TIME_COLLECTING
+  },
+  {
+    EL_MOLE, FALSE,                            ACTION_MOVING,
+    SND_MOLE_MOVING
+  },
+  {
+    EL_MOLE, FALSE,                            ACTION_WAITING,
+    SND_MOLE_WAITING
+  },
+  {
+    EL_MOLE, FALSE,                            ACTION_DIGGING,
+    SND_MOLE_DIGGING
+  },
+  {
+    EL_SWITCHGATE_SWITCH_UP, TRUE,             ACTION_ACTIVATING,
+    SND_CLASS_SWITCHGATE_SWITCH_ACTIVATING
+  },
+  {
+    EL_SWITCHGATE_OPEN, TRUE,                  ACTION_OPENING,
+    SND_CLASS_SWITCHGATE_OPENING
+  },
+  {
+    EL_SWITCHGATE_OPEN, TRUE,                  ACTION_CLOSING,
+    SND_CLASS_SWITCHGATE_CLOSING
+  },
+  {
+    EL_SWITCHGATE_OPEN, TRUE,                  ACTION_PASSING,
+    SND_CLASS_SWITCHGATE_PASSING
+  },
+  {
+    EL_TIMEGATE_SWITCH, FALSE,                 ACTION_ACTIVATING,
+    SND_TIMEGATE_SWITCH_ACTIVATING
+  },
+  {
+    EL_TIMEGATE_SWITCH_ACTIVE, FALSE,          -1,
+    SND_TIMEGATE_SWITCH_ACTIVE
+  },
+  {
+    EL_TIMEGATE_SWITCH, FALSE,                 ACTION_ACTIVE,
+    SND_TIMEGATE_SWITCH_ACTIVE
+  },
+  {
+    EL_TIMEGATE_SWITCH, FALSE,                 ACTION_DEACTIVATING,
+    SND_TIMEGATE_SWITCH_DEACTIVATING
+  },
+  {
+    EL_TIMEGATE_OPENING, FALSE,                        -1,
+    SND_TIMEGATE_OPENING
+  },
+  {
+    EL_TIMEGATE_OPEN, TRUE,                    ACTION_CLOSING,
+    SND_CLASS_TIMEGATE_CLOSING
+  },
+  {
+    EL_TIMEGATE_OPEN, TRUE,                    ACTION_PASSING,
+    SND_CLASS_TIMEGATE_PASSING
+  },
+  {
+    EL_CONVEYOR_BELT_1_SWITCH_LEFT, TRUE,      ACTION_ACTIVATING,
+    SND_CLASS_CONVEYOR_BELT_SWITCH_ACTIVATING
+  },
+  {
+    EL_CONVEYOR_BELT_1_LEFT, TRUE,             ACTION_ACTIVE,
+    SND_CLASS_CONVEYOR_BELT_ACTIVE
+  },
+  {
+    EL_CONVEYOR_BELT_1_SWITCH_LEFT, TRUE,      ACTION_DEACTIVATING,
+    SND_CLASS_CONVEYOR_BELT_SWITCH_DEACTIVATING
+  },
+  {
+    EL_LIGHT_SWITCH, FALSE,                    ACTION_ACTIVATING,
+    SND_LIGHT_SWITCH_ACTIVATING
+  },
+  {
+    EL_LIGHT_SWITCH, FALSE,                    ACTION_DEACTIVATING,
+    SND_LIGHT_SWITCH_DEACTIVATING
+  },
+  {
+    EL_DX_SUPABOMB, FALSE,                     ACTION_PUSHING,
+    SND_DX_SUPABOMB_PUSHING
+  },
+  {
+    EL_TRAP, FALSE,                            ACTION_DIGGING,
+    SND_TRAP_DIGGING
+  },
+  {
+    EL_TRAP, FALSE,                            ACTION_ACTIVATING,
+    SND_TRAP_ACTIVATING
+  },
+  {
+    EL_TUBE_ANY, TRUE,                         ACTION_PASSING,
+    SND_CLASS_TUBE_PASSING
+  },
+  {
+    EL_SPEED_PILL, FALSE,                      ACTION_COLLECTING,
+    SND_SPEED_PILL_COLLECTING
+  },
+  {
+    EL_DYNABOMB_INCREASE_NUMBER, FALSE,                ACTION_COLLECTING,
+    SND_DYNABOMB_INCREASE_NUMBER_COLLECTING
+  },
+  {
+    EL_DYNABOMB_INCREASE_SIZE, FALSE,          ACTION_COLLECTING,
+    SND_DYNABOMB_INCREASE_SIZE_COLLECTING
+  },
+  {
+    EL_DYNABOMB_INCREASE_POWER, FALSE,         ACTION_COLLECTING,
+    SND_DYNABOMB_INCREASE_POWER_COLLECTING
+  },
+  {
+    EL_DYNABOMB_INCREASE_NUMBER, TRUE,         ACTION_DROPPING,
+    SND_CLASS_DYNABOMB_DROPPING
+  },
+  {
+    EL_DYNABOMB_INCREASE_NUMBER, TRUE,         ACTION_ACTIVE,
+    SND_CLASS_DYNABOMB_ACTIVE
+  },
+  {
+    EL_SATELLITE, FALSE,                       ACTION_MOVING,
+    SND_SATELLITE_MOVING
+  },
+  {
+    EL_SATELLITE, FALSE,                       ACTION_WAITING,
+    SND_SATELLITE_WAITING
+  },
+  {
+    EL_SATELLITE, FALSE,                       ACTION_PUSHING,
+    SND_SATELLITE_PUSHING
+  },
+  {
+    EL_LAMP, FALSE,                            ACTION_ACTIVATING,
+    SND_LAMP_ACTIVATING
+  },
+  {
+    EL_LAMP, FALSE,                            ACTION_DEACTIVATING,
+    SND_LAMP_DEACTIVATING
+  },
+  {
+    EL_TIME_ORB_FULL, FALSE,                   ACTION_COLLECTING,
+    SND_TIME_ORB_FULL_COLLECTING
+  },
+  {
+    EL_TIME_ORB_FULL, FALSE,                   ACTION_IMPACT,
+    SND_TIME_ORB_FULL_IMPACT
+  },
+  {
+    EL_TIME_ORB_EMPTY, FALSE,                  ACTION_PUSHING,
+    SND_TIME_ORB_EMPTY_PUSHING
+  },
+  {
+    EL_TIME_ORB_EMPTY, FALSE,                  ACTION_IMPACT,
+    SND_TIME_ORB_EMPTY_IMPACT
+  },
+  {
+    EL_GAME_OF_LIFE, FALSE,                    ACTION_WAITING,
+    SND_GAME_OF_LIFE_WAITING
+  },
+  {
+    EL_GAME_OF_LIFE, FALSE,                    ACTION_GROWING,
+    SND_GAME_OF_LIFE_GROWING
+  },
+  {
+    EL_BIOMAZE, FALSE,                         ACTION_WAITING,
+    SND_BIOMAZE_WAITING
+  },
+  {
+    EL_BIOMAZE, FALSE,                         ACTION_GROWING,
+    SND_BIOMAZE_GROWING
+  },
+  {
+    EL_PACMAN, FALSE,                          ACTION_MOVING,
+    SND_PACMAN_MOVING
+  },
+  {
+    EL_PACMAN, FALSE,                          ACTION_WAITING,
+    SND_PACMAN_WAITING
+  },
+  {
+    EL_PACMAN, FALSE,                          ACTION_DIGGING,
+    SND_PACMAN_DIGGING
+  },
+  {
+    EL_DARK_YAMYAM, FALSE,                     ACTION_MOVING,
+    SND_DARK_YAMYAM_MOVING
+  },
+  {
+    EL_DARK_YAMYAM, FALSE,                     ACTION_WAITING,
+    SND_DARK_YAMYAM_WAITING
+  },
+  {
+    EL_DARK_YAMYAM, FALSE,                     ACTION_DIGGING,
+    SND_DARK_YAMYAM_DIGGING
+  },
+  {
+    EL_PENGUIN, FALSE,                         ACTION_MOVING,
+    SND_PENGUIN_MOVING
+  },
+  {
+    EL_PENGUIN, FALSE,                         ACTION_WAITING,
+    SND_PENGUIN_WAITING
+  },
+  {
+    EL_PIG, FALSE,                             ACTION_MOVING,
+    SND_PIG_MOVING
+  },
+  {
+    EL_PIG, FALSE,                             ACTION_WAITING,
+    SND_PIG_WAITING
+  },
+  {
+    EL_PIG, FALSE,                             ACTION_DIGGING,
+    SND_PIG_DIGGING
+  },
+  {
+    EL_DRAGON, FALSE,                          ACTION_MOVING,
+    SND_DRAGON_MOVING
+  },
+  {
+    EL_DRAGON, FALSE,                          ACTION_WAITING,
+    SND_DRAGON_WAITING
+  },
+  {
+    EL_DRAGON, FALSE,                          ACTION_ATTACKING,
+    SND_DRAGON_ATTACKING
+  },
+  {
+    EL_PLAYER_OBSOLETE, TRUE,                  ACTION_DYING,
+    SND_CLASS_PLAYER_DYING
+  },
+  {
+    -1, -1,                                    -1,
+    -1
+  },
+};
+
+#endif /* CONF_E2S_C */
index 83ddda904ad4454547a4642f73748588c46781ce..12aec7994b2ae5afb03f5612f9b0e0d4518c116e 100644 (file)
 
 static struct
 {
-    int element;
-    int special;
+  int element;
+  int special;
 
-    int graphic;
+  int graphic;
 }
 element_to_special_graphic[] =
 {
@@ -80,20 +80,20 @@ element_to_special_graphic[] =
     IMG_AMOEBA_DEAD_EDITOR
   },
   {
-    EL_EM_GATE1_GRAY,                          GFX_SPECIAL_ARG_EDITOR,
-    IMG_EM_GATE1_GRAY_EDITOR
+    EL_EM_GATE_1_GRAY,                         GFX_SPECIAL_ARG_EDITOR,
+    IMG_EM_GATE_1_GRAY_EDITOR
   },
   {
-    EL_EM_GATE2_GRAY,                          GFX_SPECIAL_ARG_EDITOR,
-    IMG_EM_GATE2_GRAY_EDITOR
+    EL_EM_GATE_2_GRAY,                         GFX_SPECIAL_ARG_EDITOR,
+    IMG_EM_GATE_2_GRAY_EDITOR
   },
   {
-    EL_EM_GATE3_GRAY,                          GFX_SPECIAL_ARG_EDITOR,
-    IMG_EM_GATE3_GRAY_EDITOR
+    EL_EM_GATE_3_GRAY,                         GFX_SPECIAL_ARG_EDITOR,
+    IMG_EM_GATE_3_GRAY_EDITOR
   },
   {
-    EL_EM_GATE4_GRAY,                          GFX_SPECIAL_ARG_EDITOR,
-    IMG_EM_GATE4_GRAY_EDITOR
+    EL_EM_GATE_4_GRAY,                         GFX_SPECIAL_ARG_EDITOR,
+    IMG_EM_GATE_4_GRAY_EDITOR
   },
   {
     EL_INVISIBLE_STEELWALL,                    GFX_SPECIAL_ARG_EDITOR,
@@ -108,72 +108,72 @@ element_to_special_graphic[] =
     IMG_INVISIBLE_SAND_EDITOR
   },
   {
-    EL_KEY1,                                   GFX_SPECIAL_ARG_EDITOR,
-    IMG_KEY1_EDITOR
+    EL_KEY_1,                                  GFX_SPECIAL_ARG_EDITOR,
+    IMG_KEY_1_EDITOR
   },
   {
-    EL_KEY2,                                   GFX_SPECIAL_ARG_EDITOR,
-    IMG_KEY2_EDITOR
+    EL_KEY_2,                                  GFX_SPECIAL_ARG_EDITOR,
+    IMG_KEY_2_EDITOR
   },
   {
-    EL_KEY3,                                   GFX_SPECIAL_ARG_EDITOR,
-    IMG_KEY3_EDITOR
+    EL_KEY_3,                                  GFX_SPECIAL_ARG_EDITOR,
+    IMG_KEY_3_EDITOR
   },
   {
-    EL_KEY4,                                   GFX_SPECIAL_ARG_EDITOR,
-    IMG_KEY4_EDITOR
+    EL_KEY_4,                                  GFX_SPECIAL_ARG_EDITOR,
+    IMG_KEY_4_EDITOR
   },
   {
-    EL_GATE1_GRAY,                             GFX_SPECIAL_ARG_EDITOR,
-    IMG_GATE1_GRAY_EDITOR
+    EL_GATE_1_GRAY,                            GFX_SPECIAL_ARG_EDITOR,
+    IMG_GATE_1_GRAY_EDITOR
   },
   {
-    EL_GATE2_GRAY,                             GFX_SPECIAL_ARG_EDITOR,
-    IMG_GATE2_GRAY_EDITOR
+    EL_GATE_2_GRAY,                            GFX_SPECIAL_ARG_EDITOR,
+    IMG_GATE_2_GRAY_EDITOR
   },
   {
-    EL_GATE3_GRAY,                             GFX_SPECIAL_ARG_EDITOR,
-    IMG_GATE3_GRAY_EDITOR
+    EL_GATE_3_GRAY,                            GFX_SPECIAL_ARG_EDITOR,
+    IMG_GATE_3_GRAY_EDITOR
   },
   {
-    EL_GATE4_GRAY,                             GFX_SPECIAL_ARG_EDITOR,
-    IMG_GATE4_GRAY_EDITOR
+    EL_GATE_4_GRAY,                            GFX_SPECIAL_ARG_EDITOR,
+    IMG_GATE_4_GRAY_EDITOR
   },
   {
     EL_LAMP,                                   GFX_SPECIAL_ARG_EDITOR,
     IMG_LAMP_EDITOR
   },
   {
-    EL_WALL_GROWING_XY,                                GFX_SPECIAL_ARG_EDITOR,
-    IMG_WALL_GROWING_XY_EDITOR
+    EL_EXPANDABLE_WALL_HORIZONTAL,             GFX_SPECIAL_ARG_EDITOR,
+    IMG_EXPANDABLE_WALL_HORIZONTAL_EDITOR
   },
   {
-    EL_WALL_GROWING_X,                         GFX_SPECIAL_ARG_EDITOR,
-    IMG_WALL_GROWING_X_EDITOR
+    EL_EXPANDABLE_WALL_VERTICAL,               GFX_SPECIAL_ARG_EDITOR,
+    IMG_EXPANDABLE_WALL_VERTICAL_EDITOR
   },
   {
-    EL_WALL_GROWING_Y,                         GFX_SPECIAL_ARG_EDITOR,
-    IMG_WALL_GROWING_Y_EDITOR
+    EL_EXPANDABLE_WALL_ANY,                    GFX_SPECIAL_ARG_EDITOR,
+    IMG_EXPANDABLE_WALL_ANY_EDITOR
   },
   {
     EL_PENGUIN,                                        GFX_SPECIAL_ARG_EDITOR,
     IMG_PENGUIN_EDITOR
   },
   {
-    EL_PLAYER1,                                        GFX_SPECIAL_ARG_EDITOR,
-    IMG_PLAYER1_EDITOR
+    EL_PLAYER_1,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_PLAYER_1_EDITOR
   },
   {
-    EL_PLAYER2,                                        GFX_SPECIAL_ARG_EDITOR,
-    IMG_PLAYER2_EDITOR
+    EL_PLAYER_2,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_PLAYER_2_EDITOR
   },
   {
-    EL_PLAYER3,                                        GFX_SPECIAL_ARG_EDITOR,
-    IMG_PLAYER3_EDITOR
+    EL_PLAYER_3,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_PLAYER_3_EDITOR
   },
   {
-    EL_PLAYER4,                                        GFX_SPECIAL_ARG_EDITOR,
-    IMG_PLAYER4_EDITOR
+    EL_PLAYER_4,                               GFX_SPECIAL_ARG_EDITOR,
+    IMG_PLAYER_4_EDITOR
   },
   {
     EL_STEELWALL_TOPLEFT,                      GFX_SPECIAL_ARG_EDITOR,
index 63f5b690a4516520291a08a60432fc0001172ac5..2b839be3d79d642d6737ce93cbc7ff877e3b3b7c 100644 (file)
 
 static struct
 {
-    int font_nr;
-    int special;
+  int font_nr;
+  int special;
 
-    int graphic;
+  int graphic;
 }
 font_to_graphic[] =
 {
index afa0ffba4ad8dd928c80fb89eb53b15eb3164265..af832b3328f28c19b34d7e36f291da29eaa3df63 100644 (file)
@@ -113,13 +113,13 @@ struct ConfigInfo image_config[] =
   { "bd_magic_wall.active.anim_mode",          "reverse"               },
   { "bd_magic_wall.active.delay",              "4"                     },
   { "bd_magic_wall.active.global_sync",                "true"                  },
-  { "bd_magic_wall_filling",                   "RocksElements.pcx"     },
-  { "bd_magic_wall_filling.xpos",              "12"                    },
-  { "bd_magic_wall_filling.ypos",              "10"                    },
-  { "bd_magic_wall_filling.frames",            "4"                     },
-  { "bd_magic_wall_filling.anim_mode",         "reverse"               },
-  { "bd_magic_wall_filling.delay",             "4"                     },
-  { "bd_magic_wall_filling.global_sync",       "true"                  },
+  { "bd_magic_wall.filling",                   "RocksElements.pcx"     },
+  { "bd_magic_wall.filling.xpos",              "12"                    },
+  { "bd_magic_wall.filling.ypos",              "10"                    },
+  { "bd_magic_wall.filling.frames",            "4"                     },
+  { "bd_magic_wall.filling.anim_mode",         "reverse"               },
+  { "bd_magic_wall.filling.delay",             "4"                     },
+  { "bd_magic_wall.filling.global_sync",       "true"                  },
   { "bd_magic_wall_full",                      "RocksElements.pcx"     },
   { "bd_magic_wall_full.xpos",                 "12"                    },
   { "bd_magic_wall_full.ypos",                 "10"                    },
@@ -127,13 +127,13 @@ struct ConfigInfo image_config[] =
   { "bd_magic_wall_full.anim_mode",            "reverse"               },
   { "bd_magic_wall_full.delay",                        "4"                     },
   { "bd_magic_wall_full.global_sync",          "true"                  },
-  { "bd_magic_wall_emptying",                  "RocksElements.pcx"     },
-  { "bd_magic_wall_emptying.xpos",             "12"                    },
-  { "bd_magic_wall_emptying.ypos",             "10"                    },
-  { "bd_magic_wall_emptying.frames",           "4"                     },
-  { "bd_magic_wall_emptying.anim_mode",                "reverse"               },
-  { "bd_magic_wall_emptying.delay",            "4"                     },
-  { "bd_magic_wall_emptying.global_sync",      "true"                  },
+  { "bd_magic_wall.emptying",                  "RocksElements.pcx"     },
+  { "bd_magic_wall.emptying.xpos",             "12"                    },
+  { "bd_magic_wall.emptying.ypos",             "10"                    },
+  { "bd_magic_wall.emptying.frames",           "4"                     },
+  { "bd_magic_wall.emptying.anim_mode",                "reverse"               },
+  { "bd_magic_wall.emptying.delay",            "4"                     },
+  { "bd_magic_wall.emptying.global_sync",      "true"                  },
   { "bd_magic_wall_dead",                      "RocksElements.pcx"     },
   { "bd_magic_wall_dead.xpos",                 "12"                    },
   { "bd_magic_wall_dead.ypos",                 "10"                    },
@@ -209,11 +209,6 @@ struct ConfigInfo image_config[] =
 
   /* images for Supaplex style elements and actions */
 
-  { "sp_empty_space",                          "RocksSP.pcx"           },
-  { "sp_empty_space.xpos",                     "0"                     },
-  { "sp_empty_space.ypos",                     "0"                     },
-  { "sp_empty_space.frames",                   "1"                     },
-
   { "sp_zonk",                                 "RocksSP.pcx"           },
   { "sp_zonk.xpos",                            "1"                     },
   { "sp_zonk.ypos",                            "0"                     },
@@ -322,35 +317,35 @@ struct ConfigInfo image_config[] =
   { "sp_chip_right.xpos",                      "3"                     },
   { "sp_chip_right.ypos",                      "3"                     },
   { "sp_chip_right.frames",                    "1"                     },
-  { "sp_chip_upper",                           "RocksSP.pcx"           },
-  { "sp_chip_upper.xpos",                      "6"                     },
-  { "sp_chip_upper.ypos",                      "4"                     },
-  { "sp_chip_upper.frames",                    "1"                     },
-  { "sp_chip_lower",                           "RocksSP.pcx"           },
-  { "sp_chip_lower.xpos",                      "7"                     },
-  { "sp_chip_lower.ypos",                      "4"                     },
-  { "sp_chip_lower.frames",                    "1"                     },
-
-  { "sp_hard_gray",                            "RocksSP.pcx"           },
-  { "sp_hard_gray.xpos",                       "6"                     },
-  { "sp_hard_gray.ypos",                       "0"                     },
-  { "sp_hard_gray.frames",                     "1"                     },
-  { "sp_hard_green",                           "RocksSP.pcx"           },
-  { "sp_hard_green.xpos",                      "5"                     },
-  { "sp_hard_green.ypos",                      "3"                     },
-  { "sp_hard_green.frames",                    "1"                     },
-  { "sp_hard_blue",                            "RocksSP.pcx"           },
-  { "sp_hard_blue.xpos",                       "6"                     },
-  { "sp_hard_blue.ypos",                       "3"                     },
-  { "sp_hard_blue.frames",                     "1"                     },
-  { "sp_hard_red",                             "RocksSP.pcx"           },
-  { "sp_hard_red.xpos",                                "7"                     },
-  { "sp_hard_red.ypos",                                "3"                     },
-  { "sp_hard_red.frames",                      "1"                     },
-  { "sp_hard_yellow",                          "RocksSP.pcx"           },
-  { "sp_hard_yellow.xpos",                     "0"                     },
-  { "sp_hard_yellow.ypos",                     "4"                     },
-  { "sp_hard_yellow.frames",                   "1"                     },
+  { "sp_chip_top",                             "RocksSP.pcx"           },
+  { "sp_chip_top.xpos",                                "6"                     },
+  { "sp_chip_top.ypos",                                "4"                     },
+  { "sp_chip_top.frames",                      "1"                     },
+  { "sp_chip_bottom",                          "RocksSP.pcx"           },
+  { "sp_chip_bottom.xpos",                     "7"                     },
+  { "sp_chip_bottom.ypos",                     "4"                     },
+  { "sp_chip_bottom.frames",                   "1"                     },
+
+  { "sp_hardware_gray",                                "RocksSP.pcx"           },
+  { "sp_hardware_gray.xpos",                   "6"                     },
+  { "sp_hardware_gray.ypos",                   "0"                     },
+  { "sp_hardware_gray.frames",                 "1"                     },
+  { "sp_hardware_green",                       "RocksSP.pcx"           },
+  { "sp_hardware_green.xpos",                  "5"                     },
+  { "sp_hardware_green.ypos",                  "3"                     },
+  { "sp_hardware_green.frames",                        "1"                     },
+  { "sp_hardware_blue",                                "RocksSP.pcx"           },
+  { "sp_hardware_blue.xpos",                   "6"                     },
+  { "sp_hardware_blue.ypos",                   "3"                     },
+  { "sp_hardware_blue.frames",                 "1"                     },
+  { "sp_hardware_red",                         "RocksSP.pcx"           },
+  { "sp_hardware_red.xpos",                    "7"                     },
+  { "sp_hardware_red.ypos",                    "3"                     },
+  { "sp_hardware_red.frames",                  "1"                     },
+  { "sp_hardware_yellow",                      "RocksSP.pcx"           },
+  { "sp_hardware_yellow.xpos",                 "0"                     },
+  { "sp_hardware_yellow.ypos",                 "4"                     },
+  { "sp_hardware_yellow.frames",               "1"                     },
 
   { "sp_exit_closed",                          "RocksSP.pcx"           },
   { "sp_exit_closed.xpos",                     "7"                     },
@@ -396,50 +391,50 @@ struct ConfigInfo image_config[] =
   { "sp_disk_red.active.ypos",                 "2"                     },
   { "sp_disk_red.active.frames",               "1"                     },
 
-  { "sp_port1_right",                          "RocksSP.pcx"           },
-  { "sp_port1_right.xpos",                     "1"                     },
-  { "sp_port1_right.ypos",                     "1"                     },
-  { "sp_port1_right.frames",                   "1"                     },
-  { "sp_port1_down",                           "RocksSP.pcx"           },
-  { "sp_port1_down.xpos",                      "2"                     },
-  { "sp_port1_down.ypos",                      "1"                     },
-  { "sp_port1_down.frames",                    "1"                     },
-  { "sp_port1_left",                           "RocksSP.pcx"           },
-  { "sp_port1_left.xpos",                      "3"                     },
-  { "sp_port1_left.ypos",                      "1"                     },
-  { "sp_port1_left.frames",                    "1"                     },
-  { "sp_port1_up",                             "RocksSP.pcx"           },
-  { "sp_port1_up.xpos",                                "4"                     },
-  { "sp_port1_up.ypos",                                "1"                     },
-  { "sp_port1_up.frames",                      "1"                     },
-  { "sp_port2_right",                          "RocksSP.pcx"           },
-  { "sp_port2_right.xpos",                     "5"                     },
-  { "sp_port2_right.ypos",                     "1"                     },
-  { "sp_port2_right.frames",                   "1"                     },
-  { "sp_port2_down",                           "RocksSP.pcx"           },
-  { "sp_port2_down.xpos",                      "6"                     },
-  { "sp_port2_down.ypos",                      "1"                     },
-  { "sp_port2_down.frames",                    "1"                     },
-  { "sp_port2_left",                           "RocksSP.pcx"           },
-  { "sp_port2_left.xpos",                      "7"                     },
-  { "sp_port2_left.ypos",                      "1"                     },
-  { "sp_port2_left.frames",                    "1"                     },
-  { "sp_port2_up",                             "RocksSP.pcx"           },
-  { "sp_port2_up.xpos",                                "0"                     },
-  { "sp_port2_up.ypos",                                "2"                     },
-  { "sp_port2_up.frames",                      "1"                     },
-  { "sp_port_x",                               "RocksSP.pcx"           },
-  { "sp_port_x.xpos",                          "6"                     },
-  { "sp_port_x.ypos",                          "2"                     },
-  { "sp_port_x.frames",                                "1"                     },
-  { "sp_port_y",                               "RocksSP.pcx"           },
-  { "sp_port_y.xpos",                          "5"                     },
-  { "sp_port_y.ypos",                          "2"                     },
-  { "sp_port_y.frames",                                "1"                     },
-  { "sp_port_xy",                              "RocksSP.pcx"           },
-  { "sp_port_xy.xpos",                         "7"                     },
-  { "sp_port_xy.ypos",                         "2"                     },
-  { "sp_port_xy.frames",                       "1"                     },
+  { "sp_port_right",                           "RocksSP.pcx"           },
+  { "sp_port_right.xpos",                      "1"                     },
+  { "sp_port_right.ypos",                      "1"                     },
+  { "sp_port_right.frames",                    "1"                     },
+  { "sp_port_down",                            "RocksSP.pcx"           },
+  { "sp_port_down.xpos",                       "2"                     },
+  { "sp_port_down.ypos",                       "1"                     },
+  { "sp_port_down.frames",                     "1"                     },
+  { "sp_port_left",                            "RocksSP.pcx"           },
+  { "sp_port_left.xpos",                       "3"                     },
+  { "sp_port_left.ypos",                       "1"                     },
+  { "sp_port_left.frames",                     "1"                     },
+  { "sp_port_up",                              "RocksSP.pcx"           },
+  { "sp_port_up.xpos",                         "4"                     },
+  { "sp_port_up.ypos",                         "1"                     },
+  { "sp_port_up.frames",                       "1"                     },
+  { "sp_port_horizontal",                      "RocksSP.pcx"           },
+  { "sp_port_horizontal.xpos",                 "6"                     },
+  { "sp_port_horizontal.ypos",                 "2"                     },
+  { "sp_port_horizontal.frames",               "1"                     },
+  { "sp_port_vertical",                                "RocksSP.pcx"           },
+  { "sp_port_vertical.xpos",                   "5"                     },
+  { "sp_port_vertical.ypos",                   "2"                     },
+  { "sp_port_vertical.frames",                 "1"                     },
+  { "sp_port_any",                             "RocksSP.pcx"           },
+  { "sp_port_any.xpos",                                "7"                     },
+  { "sp_port_any.ypos",                                "2"                     },
+  { "sp_port_any.frames",                      "1"                     },
+  { "sp_gravity_port_right",                   "RocksSP.pcx"           },
+  { "sp_gravity_port_right.xpos",              "5"                     },
+  { "sp_gravity_port_right.ypos",              "1"                     },
+  { "sp_gravity_port_right.frames",            "1"                     },
+  { "sp_gravity_port_down",                    "RocksSP.pcx"           },
+  { "sp_gravity_port_down.xpos",               "6"                     },
+  { "sp_gravity_port_down.ypos",               "1"                     },
+  { "sp_gravity_port_down.frames",             "1"                     },
+  { "sp_gravity_port_left",                    "RocksSP.pcx"           },
+  { "sp_gravity_port_left.xpos",               "7"                     },
+  { "sp_gravity_port_left.ypos",               "1"                     },
+  { "sp_gravity_port_left.frames",             "1"                     },
+  { "sp_gravity_port_up",                      "RocksSP.pcx"           },
+  { "sp_gravity_port_up.xpos",                 "0"                     },
+  { "sp_gravity_port_up.ypos",                 "2"                     },
+  { "sp_gravity_port_up.frames",               "1"                     },
 
   { "sp_sniksnak",                             "RocksSP.pcx"           },
   { "sp_sniksnak.xpos",                                "1"                     },
@@ -464,7 +459,7 @@ struct ConfigInfo image_config[] =
   { "sp_sniksnak.down.xpos",                   "12"                    },
   { "sp_sniksnak.down.ypos",                   "9"                     },
   { "sp_sniksnak.down.frames",                 "4"                     },
-  { "sp_sniksnak.down.anim_mode",              "pingpong2"                     },
+  { "sp_sniksnak.down.anim_mode",              "pingpong2"             },
 
   { "sp_electron",                             "RocksSP.pcx"           },
   { "sp_electron.xpos",                                "8"                     },
@@ -503,30 +498,30 @@ struct ConfigInfo image_config[] =
   { "sp_buggy_base.active.frames",             "4"                     },
   { "sp_buggy_base.active.anim_mode",          "random"                },
 
-  { "sp_hard_base1",                           "RocksSP.pcx"           },
-  { "sp_hard_base1.xpos",                      "4"                     },
-  { "sp_hard_base1.ypos",                      "3"                     },
-  { "sp_hard_base1.frames",                    "1"                     },
-  { "sp_hard_base2",                           "RocksSP.pcx"           },
-  { "sp_hard_base2.xpos",                      "1"                     },
-  { "sp_hard_base2.ypos",                      "4"                     },
-  { "sp_hard_base2.frames",                    "1"                     },
-  { "sp_hard_base3",                           "RocksSP.pcx"           },
-  { "sp_hard_base3.xpos",                      "2"                     },
-  { "sp_hard_base3.ypos",                      "4"                     },
-  { "sp_hard_base3.frames",                    "1"                     },
-  { "sp_hard_base4",                           "RocksSP.pcx"           },
-  { "sp_hard_base4.xpos",                      "3"                     },
-  { "sp_hard_base4.ypos",                      "4"                     },
-  { "sp_hard_base4.frames",                    "1"                     },
-  { "sp_hard_base5",                           "RocksSP.pcx"           },
-  { "sp_hard_base5.xpos",                      "4"                     },
-  { "sp_hard_base5.ypos",                      "4"                     },
-  { "sp_hard_base5.frames",                    "1"                     },
-  { "sp_hard_base6",                           "RocksSP.pcx"           },
-  { "sp_hard_base6.xpos",                      "5"                     },
-  { "sp_hard_base6.ypos",                      "4"                     },
-  { "sp_hard_base6.frames",                    "1"                     },
+  { "sp_hardware_base_1",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_1.xpos",                 "4"                     },
+  { "sp_hardware_base_1.ypos",                 "3"                     },
+  { "sp_hardware_base_1.frames",               "1"                     },
+  { "sp_hardware_base_2",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_2.xpos",                 "1"                     },
+  { "sp_hardware_base_2.ypos",                 "4"                     },
+  { "sp_hardware_base_2.frames",               "1"                     },
+  { "sp_hardware_base_3",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_3.xpos",                 "2"                     },
+  { "sp_hardware_base_3.ypos",                 "4"                     },
+  { "sp_hardware_base_3.frames",               "1"                     },
+  { "sp_hardware_base_4",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_4.xpos",                 "3"                     },
+  { "sp_hardware_base_4.ypos",                 "4"                     },
+  { "sp_hardware_base_4.frames",               "1"                     },
+  { "sp_hardware_base_5",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_5.xpos",                 "4"                     },
+  { "sp_hardware_base_5.ypos",                 "4"                     },
+  { "sp_hardware_base_5.frames",               "1"                     },
+  { "sp_hardware_base_6",                      "RocksSP.pcx"           },
+  { "sp_hardware_base_6.xpos",                 "5"                     },
+  { "sp_hardware_base_6.ypos",                 "4"                     },
+  { "sp_hardware_base_6.frames",               "1"                     },
 
   { "sp_explosion",                            "RocksSP.pcx"           },
   { "sp_explosion.xpos",                       "8"                     },
@@ -663,12 +658,12 @@ struct ConfigInfo image_config[] =
   { "nut.moving.right.xpos",                   "12"                    },
   { "nut.moving.right.ypos",                   "1"                     },
   { "nut.moving.right.frames",                 "1"                     },
-  { "nut.cracking",                            "RocksElements.pcx"     },
-  { "nut.cracking.xpos",                       "13"                    },
-  { "nut.cracking.ypos",                       "1"                     },
-  { "nut.cracking.frames",                     "3"                     },
-  { "nut.cracking.delay",                      "2"                     },
-  { "nut.cracking.anim_mode",                  "linear"                },
+  { "nut.breaking",                            "RocksElements.pcx"     },
+  { "nut.breaking.xpos",                       "13"                    },
+  { "nut.breaking.ypos",                       "1"                     },
+  { "nut.breaking.frames",                     "3"                     },
+  { "nut.breaking.delay",                      "2"                     },
+  { "nut.breaking.anim_mode",                  "linear"                },
 
   { "dynamite",                                        "RocksElements.pcx"     },
   { "dynamite.xpos",                           "0"                     },
@@ -787,13 +782,13 @@ struct ConfigInfo image_config[] =
   { "magic_wall.active.anim_mode",             "reverse"               },
   { "magic_wall.active.delay",                 "4"                     },
   { "magic_wall.active.global_sync",           "true"                  },
-  { "magic_wall_filling",                      "RocksElements.pcx"     },
-  { "magic_wall_filling.xpos",                 "0"                     },
-  { "magic_wall_filling.ypos",                 "8"                     },
-  { "magic_wall_filling.frames",               "4"                     },
-  { "magic_wall_filling.anim_mode",            "reverse"               },
-  { "magic_wall_filling.delay",                        "4"                     },
-  { "magic_wall_filling.global_sync",          "true"                  },
+  { "magic_wall.filling",                      "RocksElements.pcx"     },
+  { "magic_wall.filling.xpos",                 "0"                     },
+  { "magic_wall.filling.ypos",                 "8"                     },
+  { "magic_wall.filling.frames",               "4"                     },
+  { "magic_wall.filling.anim_mode",            "reverse"               },
+  { "magic_wall.filling.delay",                        "4"                     },
+  { "magic_wall.filling.global_sync",          "true"                  },
   { "magic_wall_full",                         "RocksElements.pcx"     },
   { "magic_wall_full.xpos",                    "0"                     },
   { "magic_wall_full.ypos",                    "8"                     },
@@ -801,13 +796,13 @@ struct ConfigInfo image_config[] =
   { "magic_wall_full.anim_mode",               "reverse"               },
   { "magic_wall_full.delay",                   "4"                     },
   { "magic_wall_full.global_sync",             "true"                  },
-  { "magic_wall_emptying",                     "RocksElements.pcx"     },
-  { "magic_wall_emptying.xpos",                        "0"                     },
-  { "magic_wall_emptying.ypos",                        "8"                     },
-  { "magic_wall_emptying.frames",              "4"                     },
-  { "magic_wall_emptying.anim_mode",           "reverse"               },
-  { "magic_wall_emptying.delay",               "4"                     },
-  { "magic_wall_emptying.global_sync",         "true"                  },
+  { "magic_wall.emptying",                     "RocksElements.pcx"     },
+  { "magic_wall.emptying.xpos",                        "0"                     },
+  { "magic_wall.emptying.ypos",                        "8"                     },
+  { "magic_wall.emptying.frames",              "4"                     },
+  { "magic_wall.emptying.anim_mode",           "reverse"               },
+  { "magic_wall.emptying.delay",               "4"                     },
+  { "magic_wall.emptying.global_sync",         "true"                  },
   { "magic_wall_dead",                         "RocksElements.pcx"     },
   { "magic_wall_dead.xpos",                    "0"                     },
   { "magic_wall_dead.ypos",                    "8"                     },
@@ -817,10 +812,10 @@ struct ConfigInfo image_config[] =
   { "quicksand_empty.xpos",                    "2"                     },
   { "quicksand_empty.ypos",                    "0"                     },
   { "quicksand_empty.frames",                  "1"                     },
-  { "quicksand_filling",                       "RocksElements.pcx"     },
-  { "quicksand_filling.xpos",                  "3"                     },
-  { "quicksand_filling.ypos",                  "0"                     },
-  { "quicksand_filling.frames",                        "1"                     },
+  { "quicksand.filling",                       "RocksElements.pcx"     },
+  { "quicksand.filling.xpos",                  "3"                     },
+  { "quicksand.filling.ypos",                  "0"                     },
+  { "quicksand.filling.frames",                        "1"                     },
   { "quicksand_full",                          "RocksElements.pcx"     },
   { "quicksand_full.xpos",                     "3"                     },
   { "quicksand_full.ypos",                     "0"                     },
@@ -828,31 +823,31 @@ struct ConfigInfo image_config[] =
   { "quicksand_full.EDITOR",                   "RocksElements.pcx"     },
   { "quicksand_full.EDITOR.xpos",              "3"                     },
   { "quicksand_full.EDITOR.ypos",              "14"                    },
-  { "quicksand_emptying",                      "RocksElements.pcx"     },
-  { "quicksand_emptying.xpos",                 "3"                     },
-  { "quicksand_emptying.ypos",                 "0"                     },
-  { "quicksand_emptying.frames",               "1"                     },
-
-  { "acidpool_topleft",                                "RocksElements.pcx"     },
-  { "acidpool_topleft.xpos",                   "0"                     },
-  { "acidpool_topleft.ypos",                   "1"                     },
-  { "acidpool_topleft.frames",                 "1"                     },
-  { "acidpool_topright",                       "RocksElements.pcx"     },
-  { "acidpool_topright.xpos",                  "2"                     },
-  { "acidpool_topright.ypos",                  "1"                     },
-  { "acidpool_topright.frames",                        "1"                     },
-  { "acidpool_bottomleft",                     "RocksElements.pcx"     },
-  { "acidpool_bottomleft.xpos",                        "0"                     },
-  { "acidpool_bottomleft.ypos",                        "2"                     },
-  { "acidpool_bottomleft.frames",              "1"                     },
-  { "acidpool_bottom",                         "RocksElements.pcx"     },
-  { "acidpool_bottom.xpos",                    "1"                     },
-  { "acidpool_bottom.ypos",                    "2"                     },
-  { "acidpool_bottom.frames",                  "1"                     },
-  { "acidpool_bottomright",                    "RocksElements.pcx"     },
-  { "acidpool_bottomright.xpos",               "2"                     },
-  { "acidpool_bottomright.ypos",               "2"                     },
-  { "acidpool_bottomright.frames",             "1"                     },
+  { "quicksand.emptying",                      "RocksElements.pcx"     },
+  { "quicksand.emptying.xpos",                 "3"                     },
+  { "quicksand.emptying.ypos",                 "0"                     },
+  { "quicksand.emptying.frames",               "1"                     },
+
+  { "acid_pool_topleft",                       "RocksElements.pcx"     },
+  { "acid_pool_topleft.xpos",                  "0"                     },
+  { "acid_pool_topleft.ypos",                  "1"                     },
+  { "acid_pool_topleft.frames",                        "1"                     },
+  { "acid_pool_topright",                      "RocksElements.pcx"     },
+  { "acid_pool_topright.xpos",                 "2"                     },
+  { "acid_pool_topright.ypos",                 "1"                     },
+  { "acid_pool_topright.frames",               "1"                     },
+  { "acid_pool_bottomleft",                    "RocksElements.pcx"     },
+  { "acid_pool_bottomleft.xpos",               "0"                     },
+  { "acid_pool_bottomleft.ypos",               "2"                     },
+  { "acid_pool_bottomleft.frames",             "1"                     },
+  { "acid_pool_bottom",                                "RocksElements.pcx"     },
+  { "acid_pool_bottom.xpos",                   "1"                     },
+  { "acid_pool_bottom.ypos",                   "2"                     },
+  { "acid_pool_bottom.frames",                 "1"                     },
+  { "acid_pool_bottomright",                   "RocksElements.pcx"     },
+  { "acid_pool_bottomright.xpos",              "2"                     },
+  { "acid_pool_bottomright.ypos",              "2"                     },
+  { "acid_pool_bottomright.frames",            "1"                     },
 
   { "acid",                                    "RocksElements.pcx"     },
   { "acid.xpos",                               "12"                    },
@@ -860,29 +855,29 @@ struct ConfigInfo image_config[] =
   { "acid.frames",                             "4"                     },
   { "acid.delay",                              "10"                    },
 
-  { "acid_splash.left",                                "RocksHeroes.pcx"       },
-  { "acid_splash.left.xpos",                   "8"                     },
-  { "acid_splash.left.ypos",                   "10"                    },
-  { "acid_splash.left.frames",                 "4"                     },
-  { "acid_splash.left.delay",                  "2"                     },
-  { "acid_splash.left.anim_mode",              "linear"                },
-  { "acid_splash.right",                       "RocksHeroes.pcx"       },
-  { "acid_splash.right.xpos",                  "12"                    },
-  { "acid_splash.right.ypos",                  "10"                    },
-  { "acid_splash.right.frames",                        "4"                     },
-  { "acid_splash.right.delay",                 "2"                     },
-  { "acid_splash.right.anim_mode",             "linear"                },
+  { "acid_splash_left",                                "RocksHeroes.pcx"       },
+  { "acid_splash_left.xpos",                   "8"                     },
+  { "acid_splash_left.ypos",                   "10"                    },
+  { "acid_splash_left.frames",                 "4"                     },
+  { "acid_splash_left.delay",                  "2"                     },
+  { "acid_splash_left.anim_mode",              "linear"                },
+  { "acid_splash_right",                       "RocksHeroes.pcx"       },
+  { "acid_splash_right.xpos",                  "12"                    },
+  { "acid_splash_right.ypos",                  "10"                    },
+  { "acid_splash_right.frames",                        "4"                     },
+  { "acid_splash_right.delay",                 "2"                     },
+  { "acid_splash_right.anim_mode",             "linear"                },
 
   { "amoeba_drop",                             "RocksElements.pcx"     },
   { "amoeba_drop.xpos",                                "5"                     },
   { "amoeba_drop.ypos",                                "6"                     },
   { "amoeba_drop.frames",                      "1"                     },
-  { "amoeba_creating",                         "RocksElements.pcx"     },
-  { "amoeba_creating.xpos",                    "5"                     },
-  { "amoeba_creating.ypos",                    "6"                     },
-  { "amoeba_creating.frames",                  "3"                     },
-  { "amoeba_creating.delay",                   "2"                     },
-  { "amoeba_creating.anim_mode",               "linear"                },
+  { "amoeba.growing",                          "RocksElements.pcx"     },
+  { "amoeba.growing.xpos",                     "5"                     },
+  { "amoeba.growing.ypos",                     "6"                     },
+  { "amoeba.growing.frames",                   "3"                     },
+  { "amoeba.growing.delay",                    "2"                     },
+  { "amoeba.growing.anim_mode",                        "linear"                },
   { "amoeba.shrinking",                                "RocksElements.pcx"     },
   { "amoeba.shrinking.xpos",                   "5"                     },
   { "amoeba.shrinking.ypos",                   "6"                     },
@@ -898,12 +893,12 @@ struct ConfigInfo image_config[] =
   { "amoeba_wet.EDITOR",                       "RocksElements.pcx"     },
   { "amoeba_wet.EDITOR.xpos",                  "4"                     },
   { "amoeba_wet.EDITOR.ypos",                  "6"                     },
-  { "amoeba_dripping",                         "RocksElements.pcx"     },
-  { "amoeba_dripping.xpos",                    "8"                     },
-  { "amoeba_dripping.ypos",                    "6"                     },
-  { "amoeba_dripping.frames",                  "4"                     },
-  { "amoeba_dripping.delay",                   "1000000"               },
-  { "amoeba_dripping.anim_mode",               "random"                },
+  { "amoeba.dropping",                         "RocksElements.pcx"     },
+  { "amoeba.dropping.xpos",                    "8"                     },
+  { "amoeba.dropping.ypos",                    "6"                     },
+  { "amoeba.dropping.frames",                  "4"                     },
+  { "amoeba.dropping.delay",                   "1000000"               },
+  { "amoeba.dropping.anim_mode",               "random"                },
   { "amoeba_dry",                              "RocksElements.pcx"     },
   { "amoeba_dry.xpos",                         "8"                     },
   { "amoeba_dry.ypos",                         "6"                     },
@@ -929,67 +924,67 @@ struct ConfigInfo image_config[] =
   { "amoeba_dead.EDITOR.xpos",                 "12"                    },
   { "amoeba_dead.EDITOR.ypos",                 "6"                     },
 
-  { "em_key1",                                 "RocksSP.pcx"           },
-  { "em_key1.xpos",                            "4"                     },
-  { "em_key1.ypos",                            "6"                     },
-  { "em_key1.frames",                          "1"                     },
-  { "em_key2",                                 "RocksSP.pcx"           },
-  { "em_key2.xpos",                            "5"                     },
-  { "em_key2.ypos",                            "6"                     },
-  { "em_key2.frames",                          "1"                     },
-  { "em_key3",                                 "RocksSP.pcx"           },
-  { "em_key3.xpos",                            "6"                     },
-  { "em_key3.ypos",                            "6"                     },
-  { "em_key3.frames",                          "1"                     },
-  { "em_key4",                                 "RocksSP.pcx"           },
-  { "em_key4.xpos",                            "7"                     },
-  { "em_key4.ypos",                            "6"                     },
-  { "em_key4.frames",                          "1"                     },
-
-  { "em_gate1",                                        "RocksSP.pcx"           },
-  { "em_gate1.xpos",                           "0"                     },
-  { "em_gate1.ypos",                           "7"                     },
-  { "em_gate1.frames",                         "1"                     },
-  { "em_gate2",                                        "RocksSP.pcx"           },
-  { "em_gate2.xpos",                           "1"                     },
-  { "em_gate2.ypos",                           "7"                     },
-  { "em_gate2.frames",                         "1"                     },
-  { "em_gate3",                                        "RocksSP.pcx"           },
-  { "em_gate3.xpos",                           "2"                     },
-  { "em_gate3.ypos",                           "7"                     },
-  { "em_gate3.frames",                         "1"                     },
-  { "em_gate4",                                        "RocksSP.pcx"           },
-  { "em_gate4.xpos",                           "3"                     },
-  { "em_gate4.ypos",                           "7"                     },
-  { "em_gate4.frames",                         "1"                     },
-  { "em_gate1_gray",                           "RocksSP.pcx"           },
-  { "em_gate1_gray.xpos",                      "4"                     },
-  { "em_gate1_gray.ypos",                      "7"                     },
-  { "em_gate1_gray.frames",                    "1"                     },
-  { "em_gate1_gray.EDITOR",                    "RocksSP.pcx"           },
-  { "em_gate1_gray.EDITOR.xpos",               "12"                    },
-  { "em_gate1_gray.EDITOR.ypos",               "11"                    },
-  { "em_gate2_gray",                           "RocksSP.pcx"           },
-  { "em_gate2_gray.xpos",                      "5"                     },
-  { "em_gate2_gray.ypos",                      "7"                     },
-  { "em_gate2_gray.frames",                    "1"                     },
-  { "em_gate2_gray.EDITOR",                    "RocksSP.pcx"           },
-  { "em_gate2_gray.EDITOR.xpos",               "13"                    },
-  { "em_gate2_gray.EDITOR.ypos",               "11"                    },
-  { "em_gate3_gray",                           "RocksSP.pcx"           },
-  { "em_gate3_gray.xpos",                      "6"                     },
-  { "em_gate3_gray.ypos",                      "7"                     },
-  { "em_gate3_gray.frames",                    "1"                     },
-  { "em_gate3_gray.EDITOR",                    "RocksSP.pcx"           },
-  { "em_gate3_gray.EDITOR.xpos",               "14"                    },
-  { "em_gate3_gray.EDITOR.ypos",               "11"                    },
-  { "em_gate4_gray",                           "RocksSP.pcx"           },
-  { "em_gate4_gray.xpos",                      "7"                     },
-  { "em_gate4_gray.ypos",                      "7"                     },
-  { "em_gate4_gray.frames",                    "1"                     },
-  { "em_gate4_gray.EDITOR",                    "RocksSP.pcx"           },
-  { "em_gate4_gray.EDITOR.xpos",               "15"                    },
-  { "em_gate4_gray.EDITOR.ypos",               "11"                    },
+  { "em_key_1",                                        "RocksSP.pcx"           },
+  { "em_key_1.xpos",                           "4"                     },
+  { "em_key_1.ypos",                           "6"                     },
+  { "em_key_1.frames",                         "1"                     },
+  { "em_key_2",                                        "RocksSP.pcx"           },
+  { "em_key_2.xpos",                           "5"                     },
+  { "em_key_2.ypos",                           "6"                     },
+  { "em_key_2.frames",                         "1"                     },
+  { "em_key_3",                                        "RocksSP.pcx"           },
+  { "em_key_3.xpos",                           "6"                     },
+  { "em_key_3.ypos",                           "6"                     },
+  { "em_key_3.frames",                         "1"                     },
+  { "em_key_4",                                        "RocksSP.pcx"           },
+  { "em_key_4.xpos",                           "7"                     },
+  { "em_key_4.ypos",                           "6"                     },
+  { "em_key_4.frames",                         "1"                     },
+
+  { "em_gate_1",                               "RocksSP.pcx"           },
+  { "em_gate_1.xpos",                          "0"                     },
+  { "em_gate_1.ypos",                          "7"                     },
+  { "em_gate_1.frames",                                "1"                     },
+  { "em_gate_2",                               "RocksSP.pcx"           },
+  { "em_gate_2.xpos",                          "1"                     },
+  { "em_gate_2.ypos",                          "7"                     },
+  { "em_gate_2.frames",                                "1"                     },
+  { "em_gate_3",                               "RocksSP.pcx"           },
+  { "em_gate_3.xpos",                          "2"                     },
+  { "em_gate_3.ypos",                          "7"                     },
+  { "em_gate_3.frames",                                "1"                     },
+  { "em_gate_4",                               "RocksSP.pcx"           },
+  { "em_gate_4.xpos",                          "3"                     },
+  { "em_gate_4.ypos",                          "7"                     },
+  { "em_gate_4.frames",                                "1"                     },
+  { "em_gate_1_gray",                          "RocksSP.pcx"           },
+  { "em_gate_1_gray.xpos",                     "4"                     },
+  { "em_gate_1_gray.ypos",                     "7"                     },
+  { "em_gate_1_gray.frames",                   "1"                     },
+  { "em_gate_1_gray.EDITOR",                   "RocksSP.pcx"           },
+  { "em_gate_1_gray.EDITOR.xpos",              "12"                    },
+  { "em_gate_1_gray.EDITOR.ypos",              "11"                    },
+  { "em_gate_2_gray",                          "RocksSP.pcx"           },
+  { "em_gate_2_gray.xpos",                     "5"                     },
+  { "em_gate_2_gray.ypos",                     "7"                     },
+  { "em_gate_2_gray.frames",                   "1"                     },
+  { "em_gate_2_gray.EDITOR",                   "RocksSP.pcx"           },
+  { "em_gate_2_gray.EDITOR.xpos",              "13"                    },
+  { "em_gate_2_gray.EDITOR.ypos",              "11"                    },
+  { "em_gate_3_gray",                          "RocksSP.pcx"           },
+  { "em_gate_3_gray.xpos",                     "6"                     },
+  { "em_gate_3_gray.ypos",                     "7"                     },
+  { "em_gate_3_gray.frames",                   "1"                     },
+  { "em_gate_3_gray.EDITOR",                   "RocksSP.pcx"           },
+  { "em_gate_3_gray.EDITOR.xpos",              "14"                    },
+  { "em_gate_3_gray.EDITOR.ypos",              "11"                    },
+  { "em_gate_4_gray",                          "RocksSP.pcx"           },
+  { "em_gate_4_gray.xpos",                     "7"                     },
+  { "em_gate_4_gray.ypos",                     "7"                     },
+  { "em_gate_4_gray.frames",                   "1"                     },
+  { "em_gate_4_gray.EDITOR",                   "RocksSP.pcx"           },
+  { "em_gate_4_gray.EDITOR.xpos",              "15"                    },
+  { "em_gate_4_gray.EDITOR.ypos",              "11"                    },
 
   { "exit_closed",                             "RocksElements.pcx"     },
   { "exit_closed.xpos",                                "0"                     },
@@ -1021,26 +1016,26 @@ struct ConfigInfo image_config[] =
   { "balloon.moving.anim_mode",                        "pingpong"              },
   { "balloon.moving.delay",                    "2"                     },
 
-  { "balloon_send.left",                       "RocksDC.pcx"           },
-  { "balloon_send.left.xpos",                  "8"                     },
-  { "balloon_send.left.ypos",                  "7"                     },
-  { "balloon_send.left.frames",                        "1"                     },
-  { "balloon_send.right",                      "RocksDC.pcx"           },
-  { "balloon_send.right.xpos",                 "9"                     },
-  { "balloon_send.right.ypos",                 "7"                     },
-  { "balloon_send.right.frames",               "1"                     },
-  { "balloon_send.up",                         "RocksDC.pcx"           },
-  { "balloon_send.up.xpos",                    "10"                    },
-  { "balloon_send.up.ypos",                    "7"                     },
-  { "balloon_send.up.frames",                  "1"                     },
-  { "balloon_send.down",                       "RocksDC.pcx"           },
-  { "balloon_send.down.xpos",                  "11"                    },
-  { "balloon_send.down.ypos",                  "7"                     },
-  { "balloon_send.down.frames",                        "1"                     },
-  { "balloon_send_any_direction",              "RocksDC.pcx"           },
-  { "balloon_send_any_direction.xpos",         "15"                    },
-  { "balloon_send_any_direction.ypos",         "0"                     },
-  { "balloon_send_any_direction.frames",       "1"                     },
+  { "balloon_switch_left",                     "RocksDC.pcx"           },
+  { "balloon_switch_left.xpos",                        "8"                     },
+  { "balloon_switch_left.ypos",                        "7"                     },
+  { "balloon_switch_left.frames",              "1"                     },
+  { "balloon_switch_right",                    "RocksDC.pcx"           },
+  { "balloon_switch_right.xpos",               "9"                     },
+  { "balloon_switch_right.ypos",               "7"                     },
+  { "balloon_switch_right.frames",             "1"                     },
+  { "balloon_switch_up",                       "RocksDC.pcx"           },
+  { "balloon_switch_up.xpos",                  "10"                    },
+  { "balloon_switch_up.ypos",                  "7"                     },
+  { "balloon_switch_up.frames",                        "1"                     },
+  { "balloon_switch_down",                     "RocksDC.pcx"           },
+  { "balloon_switch_down.xpos",                        "11"                    },
+  { "balloon_switch_down.ypos",                        "7"                     },
+  { "balloon_switch_down.frames",              "1"                     },
+  { "balloon_switch_any",                      "RocksDC.pcx"           },
+  { "balloon_switch_any.xpos",                 "15"                    },
+  { "balloon_switch_any.ypos",                 "0"                     },
+  { "balloon_switch_any.frames",               "1"                     },
 
   { "spring",                                  "RocksDC.pcx"           },
   { "spring.xpos",                             "8"                     },
@@ -1051,56 +1046,55 @@ struct ConfigInfo image_config[] =
   { "spring.moving.ypos",                      "13"                    },
   { "spring.moving.frames",                    "1"                     },
 
-  { "emc_steelwall1",                          "RocksDC.pcx"           },
-  { "emc_steelwall1.xpos",                     "14"                    },
-  { "emc_steelwall1.ypos",                     "0"                     },
-  { "emc_steelwall1.frames",                   "1"                     },
-  { "emc_steelwall2",                          "RocksDC.pcx"           },
-  { "emc_steelwall2.xpos",                     "14"                    },
-  { "emc_steelwall2.ypos",                     "0"                     },
-  { "emc_steelwall2.frames",                   "1"                     },
-  { "emc_steelwall3",                          "RocksDC.pcx"           },
-  { "emc_steelwall3.xpos",                     "14"                    },
-  { "emc_steelwall3.ypos",                     "0"                     },
-  { "emc_steelwall3.frames",                   "1"                     },
-  { "emc_steelwall4",                          "RocksDC.pcx"           },
-  { "emc_steelwall4.xpos",                     "14"                    },
-  { "emc_steelwall4.ypos",                     "0"                     },
-  { "emc_steelwall4.frames",                   "1"                     },
-
-  { "emc_wall_pillar_upper",                   "RocksDC.pcx"           },
-  { "emc_wall_pillar_upper.xpos",              "13"                    },
-  { "emc_wall_pillar_upper.ypos",              "6"                     },
-  { "emc_wall_pillar_upper.frames",            "1"                     },
-  { "emc_wall_pillar_middle",                  "RocksDC.pcx"           },
-  { "emc_wall_pillar_middle.xpos",             "14"                    },
-  { "emc_wall_pillar_middle.ypos",             "6"                     },
-  { "emc_wall_pillar_middle.frames",           "1"                     },
-  { "emc_wall_pillar_lower",                   "RocksDC.pcx"           },
-  { "emc_wall_pillar_lower.xpos",              "15"                    },
-  { "emc_wall_pillar_lower.ypos",              "6"                     },
-  { "emc_wall_pillar_lower.frames",            "1"                     },
-
-  { "emc_wall4",                               "RocksDC.pcx"           },
-  { "emc_wall4.xpos",                          "14"                    },
-  { "emc_wall4.ypos",                          "1"                     },
-  { "emc_wall4.frames",                                "1"                     },
-  { "emc_wall5",                               "RocksDC.pcx"           },
-  { "emc_wall5.xpos",                          "15"                    },
-  { "emc_wall5.ypos",                          "1"                     },
-  { "emc_wall5.frames",                                "1"                     },
-  { "emc_wall6",                               "RocksDC.pcx"           },
-  { "emc_wall6.xpos",                          "14"                    },
-  { "emc_wall6.ypos",                          "2"                     },
-  { "emc_wall6.frames",                                "1"                     },
-  { "emc_wall7",                               "RocksDC.pcx"           },
-  { "emc_wall7.xpos",                          "15"                    },
-  { "emc_wall7.ypos",                          "2"                     },
-  { "emc_wall7.frames",                                "1"                     },
-  { "emc_wall8",                               "RocksDC.pcx"           },
-  { "emc_wall8.xpos",                          "14"                    },
-  { "emc_wall8.ypos",                          "1"                     },
-  { "emc_wall8.frames",                                "1"                     },
+  { "emc_steelwall_1",                         "RocksDC.pcx"           },
+  { "emc_steelwall_1.xpos",                    "14"                    },
+  { "emc_steelwall_1.ypos",                    "0"                     },
+  { "emc_steelwall_1.frames",                  "1"                     },
+  { "emc_steelwall_2",                         "RocksDC.pcx"           },
+  { "emc_steelwall_2.xpos",                    "14"                    },
+  { "emc_steelwall_2.ypos",                    "0"                     },
+  { "emc_steelwall_2.frames",                  "1"                     },
+  { "emc_steelwall_3",                         "RocksDC.pcx"           },
+  { "emc_steelwall_3.xpos",                    "14"                    },
+  { "emc_steelwall_3.ypos",                    "0"                     },
+  { "emc_steelwall_3.frames",                  "1"                     },
+  { "emc_steelwall_4",                         "RocksDC.pcx"           },
+  { "emc_steelwall_4.xpos",                    "14"                    },
+  { "emc_steelwall_4.ypos",                    "0"                     },
+  { "emc_steelwall_4.frames",                  "1"                     },
+
+  { "emc_wall_1",                              "RocksDC.pcx"           },
+  { "emc_wall_1.xpos",                         "13"                    },
+  { "emc_wall_1.ypos",                         "6"                     },
+  { "emc_wall_1.frames",                       "1"                     },
+  { "emc_wall_2",                              "RocksDC.pcx"           },
+  { "emc_wall_2.xpos",                         "14"                    },
+  { "emc_wall_2.ypos",                         "6"                     },
+  { "emc_wall_2.frames",                       "1"                     },
+  { "emc_wall_3",                              "RocksDC.pcx"           },
+  { "emc_wall_3.xpos",                         "15"                    },
+  { "emc_wall_3.ypos",                         "6"                     },
+  { "emc_wall_3.frames",                       "1"                     },
+  { "emc_wall_4",                              "RocksDC.pcx"           },
+  { "emc_wall_4.xpos",                         "14"                    },
+  { "emc_wall_4.ypos",                         "1"                     },
+  { "emc_wall_4.frames",                       "1"                     },
+  { "emc_wall_5",                              "RocksDC.pcx"           },
+  { "emc_wall_5.xpos",                         "15"                    },
+  { "emc_wall_5.ypos",                         "1"                     },
+  { "emc_wall_5.frames",                       "1"                     },
+  { "emc_wall_6",                              "RocksDC.pcx"           },
+  { "emc_wall_6.xpos",                         "14"                    },
+  { "emc_wall_6.ypos",                         "2"                     },
+  { "emc_wall_6.frames",                       "1"                     },
+  { "emc_wall_7",                              "RocksDC.pcx"           },
+  { "emc_wall_7.xpos",                         "15"                    },
+  { "emc_wall_7.ypos",                         "2"                     },
+  { "emc_wall_7.frames",                       "1"                     },
+  { "emc_wall_8",                              "RocksDC.pcx"           },
+  { "emc_wall_8.xpos",                         "14"                    },
+  { "emc_wall_8.ypos",                         "1"                     },
+  { "emc_wall_8.frames",                       "1"                     },
 
   /* images for Diamond Caves style elements and actions */
 
@@ -1140,165 +1134,165 @@ struct ConfigInfo image_config[] =
   { "invisible_sand.active.ypos",              "5"                     },
   { "invisible_sand.active.frames",            "1"                     },
 
-  { "conveyor_belt1_middle",                   "RocksDC.pcx"           },
-  { "conveyor_belt1_middle.xpos",              "0"                     },
-  { "conveyor_belt1_middle.ypos",              "0"                     },
-  { "conveyor_belt1_middle.frames",            "1"                     },
-  { "conveyor_belt1_middle.active",            "RocksDC.pcx"           },
-  { "conveyor_belt1_middle.active.xpos",       "0"                     },
-  { "conveyor_belt1_middle.active.ypos",       "0"                     },
-  { "conveyor_belt1_middle.active.frames",     "8"                     },
-  { "conveyor_belt1_middle.active.delay",      "2"                     },
-  { "conveyor_belt1_left",                     "RocksDC.pcx"           },
-  { "conveyor_belt1_left.xpos",                        "0"                     },
-  { "conveyor_belt1_left.ypos",                        "1"                     },
-  { "conveyor_belt1_left.frames",              "1"                     },
-  { "conveyor_belt1_left.active",              "RocksDC.pcx"           },
-  { "conveyor_belt1_left.active.xpos",         "0"                     },
-  { "conveyor_belt1_left.active.ypos",         "1"                     },
-  { "conveyor_belt1_left.active.frames",       "8"                     },
-  { "conveyor_belt1_left.active.delay",                "2"                     },
-  { "conveyor_belt1_right",                    "RocksDC.pcx"           },
-  { "conveyor_belt1_right.xpos",               "0"                     },
-  { "conveyor_belt1_right.ypos",               "2"                     },
-  { "conveyor_belt1_right.frames",             "1"                     },
-  { "conveyor_belt1_right.active",             "RocksDC.pcx"           },
-  { "conveyor_belt1_right.active.xpos",                "0"                     },
-  { "conveyor_belt1_right.active.ypos",                "2"                     },
-  { "conveyor_belt1_right.active.frames",      "8"                     },
-  { "conveyor_belt1_right.active.delay",       "2"                     },
-  { "conveyor_belt1_switch_left",              "RocksDC.pcx"           },
-  { "conveyor_belt1_switch_left.xpos",         "0"                     },
-  { "conveyor_belt1_switch_left.ypos",         "12"                    },
-  { "conveyor_belt1_switch_left.frames",       "1"                     },
-  { "conveyor_belt1_switch_middle",            "RocksDC.pcx"           },
-  { "conveyor_belt1_switch_middle.xpos",       "0"                     },
-  { "conveyor_belt1_switch_middle.ypos",       "13"                    },
-  { "conveyor_belt1_switch_middle.frames",     "1"                     },
-  { "conveyor_belt1_switch_right",             "RocksDC.pcx"           },
-  { "conveyor_belt1_switch_right.xpos",                "0"                     },
-  { "conveyor_belt1_switch_right.ypos",                "14"                    },
-  { "conveyor_belt1_switch_right.frames",      "1"                     },
-
-  { "conveyor_belt2_middle",                   "RocksDC.pcx"           },
-  { "conveyor_belt2_middle.xpos",              "0"                     },
-  { "conveyor_belt2_middle.ypos",              "3"                     },
-  { "conveyor_belt2_middle.frames",            "1"                     },
-  { "conveyor_belt2_middle.active",            "RocksDC.pcx"           },
-  { "conveyor_belt2_middle.active.xpos",       "0"                     },
-  { "conveyor_belt2_middle.active.ypos",       "3"                     },
-  { "conveyor_belt2_middle.active.frames",     "8"                     },
-  { "conveyor_belt2_middle.active.delay",      "2"                     },
-  { "conveyor_belt2_left",                     "RocksDC.pcx"           },
-  { "conveyor_belt2_left.xpos",                        "0"                     },
-  { "conveyor_belt2_left.ypos",                        "4"                     },
-  { "conveyor_belt2_left.frames",              "1"                     },
-  { "conveyor_belt2_left.active",              "RocksDC.pcx"           },
-  { "conveyor_belt2_left.active.xpos",         "0"                     },
-  { "conveyor_belt2_left.active.ypos",         "4"                     },
-  { "conveyor_belt2_left.active.frames",       "8"                     },
-  { "conveyor_belt2_left.active.delay",                "2"                     },
-  { "conveyor_belt2_right",                    "RocksDC.pcx"           },
-  { "conveyor_belt2_right.xpos",               "0"                     },
-  { "conveyor_belt2_right.ypos",               "5"                     },
-  { "conveyor_belt2_right.frames",             "1"                     },
-  { "conveyor_belt2_right.active",             "RocksDC.pcx"           },
-  { "conveyor_belt2_right.active.xpos",                "0"                     },
-  { "conveyor_belt2_right.active.ypos",                "5"                     },
-  { "conveyor_belt2_right.active.frames",      "8"                     },
-  { "conveyor_belt2_right.active.delay",       "2"                     },
-  { "conveyor_belt2_switch_left",              "RocksDC.pcx"           },
-  { "conveyor_belt2_switch_left.xpos",         "1"                     },
-  { "conveyor_belt2_switch_left.ypos",         "12"                    },
-  { "conveyor_belt2_switch_left.frames",       "1"                     },
-  { "conveyor_belt2_switch_middle",            "RocksDC.pcx"           },
-  { "conveyor_belt2_switch_middle.xpos",       "1"                     },
-  { "conveyor_belt2_switch_middle.ypos",       "13"                    },
-  { "conveyor_belt2_switch_middle.frames",     "1"                     },
-  { "conveyor_belt2_switch_right",             "RocksDC.pcx"           },
-  { "conveyor_belt2_switch_right.xpos",                "1"                     },
-  { "conveyor_belt2_switch_right.ypos",                "14"                    },
-  { "conveyor_belt2_switch_right.frames",      "1"                     },
-
-  { "conveyor_belt3_middle",                   "RocksDC.pcx"           },
-  { "conveyor_belt3_middle.xpos",              "0"                     },
-  { "conveyor_belt3_middle.ypos",              "6"                     },
-  { "conveyor_belt3_middle.frames",            "1"                     },
-  { "conveyor_belt3_middle.active",            "RocksDC.pcx"           },
-  { "conveyor_belt3_middle.active.xpos",       "0"                     },
-  { "conveyor_belt3_middle.active.ypos",       "6"                     },
-  { "conveyor_belt3_middle.active.frames",     "8"                     },
-  { "conveyor_belt3_middle.active.delay",      "2"                     },
-  { "conveyor_belt3_left",                     "RocksDC.pcx"           },
-  { "conveyor_belt3_left.xpos",                        "0"                     },
-  { "conveyor_belt3_left.ypos",                        "7"                     },
-  { "conveyor_belt3_left.frames",              "1"                     },
-  { "conveyor_belt3_left.active",              "RocksDC.pcx"           },
-  { "conveyor_belt3_left.active.xpos",         "0"                     },
-  { "conveyor_belt3_left.active.ypos",         "7"                     },
-  { "conveyor_belt3_left.active.frames",       "8"                     },
-  { "conveyor_belt3_left.active.delay",                "2"                     },
-  { "conveyor_belt3_right",                    "RocksDC.pcx"           },
-  { "conveyor_belt3_right.xpos",               "0"                     },
-  { "conveyor_belt3_right.ypos",               "8"                     },
-  { "conveyor_belt3_right.frames",             "1"                     },
-  { "conveyor_belt3_right.active",             "RocksDC.pcx"           },
-  { "conveyor_belt3_right.active.xpos",                "0"                     },
-  { "conveyor_belt3_right.active.ypos",                "8"                     },
-  { "conveyor_belt3_right.active.frames",      "8"                     },
-  { "conveyor_belt3_right.active.delay",       "2"                     },
-  { "conveyor_belt3_switch_left",              "RocksDC.pcx"           },
-  { "conveyor_belt3_switch_left.xpos",         "2"                     },
-  { "conveyor_belt3_switch_left.ypos",         "12"                    },
-  { "conveyor_belt3_switch_left.frames",       "1"                     },
-  { "conveyor_belt3_switch_middle",            "RocksDC.pcx"           },
-  { "conveyor_belt3_switch_middle.xpos",       "2"                     },
-  { "conveyor_belt3_switch_middle.ypos",       "13"                    },
-  { "conveyor_belt3_switch_middle.frames",     "1"                     },
-  { "conveyor_belt3_switch_right",             "RocksDC.pcx"           },
-  { "conveyor_belt3_switch_right.xpos",                "2"                     },
-  { "conveyor_belt3_switch_right.ypos",                "14"                    },
-  { "conveyor_belt3_switch_right.frames",      "1"                     },
-
-  { "conveyor_belt4_middle",                   "RocksDC.pcx"           },
-  { "conveyor_belt4_middle.xpos",              "0"                     },
-  { "conveyor_belt4_middle.ypos",              "9"                     },
-  { "conveyor_belt4_middle.frames",            "1"                     },
-  { "conveyor_belt4_middle.active",            "RocksDC.pcx"           },
-  { "conveyor_belt4_middle.active.xpos",       "0"                     },
-  { "conveyor_belt4_middle.active.ypos",       "9"                     },
-  { "conveyor_belt4_middle.active.frames",     "8"                     },
-  { "conveyor_belt4_middle.active.delay",      "2"                     },
-  { "conveyor_belt4_left",                     "RocksDC.pcx"           },
-  { "conveyor_belt4_left.xpos",                        "0"                     },
-  { "conveyor_belt4_left.ypos",                        "10"                    },
-  { "conveyor_belt4_left.frames",              "1"                     },
-  { "conveyor_belt4_left.active",              "RocksDC.pcx"           },
-  { "conveyor_belt4_left.active.xpos",         "0"                     },
-  { "conveyor_belt4_left.active.ypos",         "10"                    },
-  { "conveyor_belt4_left.active.frames",       "8"                     },
-  { "conveyor_belt4_left.active.delay",                "2"                     },
-  { "conveyor_belt4_right",                    "RocksDC.pcx"           },
-  { "conveyor_belt4_right.xpos",               "0"                     },
-  { "conveyor_belt4_right.ypos",               "11"                    },
-  { "conveyor_belt4_right.frames",             "1"                     },
-  { "conveyor_belt4_right.active",             "RocksDC.pcx"           },
-  { "conveyor_belt4_right.active.xpos",                "0"                     },
-  { "conveyor_belt4_right.active.ypos",                "11"                    },
-  { "conveyor_belt4_right.active.frames",      "8"                     },
-  { "conveyor_belt4_right.active.delay",       "2"                     },
-  { "conveyor_belt4_switch_left",              "RocksDC.pcx"           },
-  { "conveyor_belt4_switch_left.xpos",         "3"                     },
-  { "conveyor_belt4_switch_left.ypos",         "12"                    },
-  { "conveyor_belt4_switch_left.frames",       "1"                     },
-  { "conveyor_belt4_switch_middle",            "RocksDC.pcx"           },
-  { "conveyor_belt4_switch_middle.xpos",       "3"                     },
-  { "conveyor_belt4_switch_middle.ypos",       "13"                    },
-  { "conveyor_belt4_switch_middle.frames",     "1"                     },
-  { "conveyor_belt4_switch_right",             "RocksDC.pcx"           },
-  { "conveyor_belt4_switch_right.xpos",                "3"                     },
-  { "conveyor_belt4_switch_right.ypos",                "14"                    },
-  { "conveyor_belt4_switch_right.frames",      "1"                     },
+  { "conveyor_belt_1_middle",                  "RocksDC.pcx"           },
+  { "conveyor_belt_1_middle.xpos",             "0"                     },
+  { "conveyor_belt_1_middle.ypos",             "0"                     },
+  { "conveyor_belt_1_middle.frames",           "1"                     },
+  { "conveyor_belt_1_middle.active",           "RocksDC.pcx"           },
+  { "conveyor_belt_1_middle.active.xpos",      "0"                     },
+  { "conveyor_belt_1_middle.active.ypos",      "0"                     },
+  { "conveyor_belt_1_middle.active.frames",    "8"                     },
+  { "conveyor_belt_1_middle.active.delay",     "2"                     },
+  { "conveyor_belt_1_left",                    "RocksDC.pcx"           },
+  { "conveyor_belt_1_left.xpos",               "0"                     },
+  { "conveyor_belt_1_left.ypos",               "1"                     },
+  { "conveyor_belt_1_left.frames",             "1"                     },
+  { "conveyor_belt_1_left.active",             "RocksDC.pcx"           },
+  { "conveyor_belt_1_left.active.xpos",                "0"                     },
+  { "conveyor_belt_1_left.active.ypos",                "1"                     },
+  { "conveyor_belt_1_left.active.frames",      "8"                     },
+  { "conveyor_belt_1_left.active.delay",       "2"                     },
+  { "conveyor_belt_1_right",                   "RocksDC.pcx"           },
+  { "conveyor_belt_1_right.xpos",              "0"                     },
+  { "conveyor_belt_1_right.ypos",              "2"                     },
+  { "conveyor_belt_1_right.frames",            "1"                     },
+  { "conveyor_belt_1_right.active",            "RocksDC.pcx"           },
+  { "conveyor_belt_1_right.active.xpos",       "0"                     },
+  { "conveyor_belt_1_right.active.ypos",       "2"                     },
+  { "conveyor_belt_1_right.active.frames",     "8"                     },
+  { "conveyor_belt_1_right.active.delay",      "2"                     },
+  { "conveyor_belt_1_switch_left",             "RocksDC.pcx"           },
+  { "conveyor_belt_1_switch_left.xpos",                "0"                     },
+  { "conveyor_belt_1_switch_left.ypos",                "12"                    },
+  { "conveyor_belt_1_switch_left.frames",      "1"                     },
+  { "conveyor_belt_1_switch_middle",           "RocksDC.pcx"           },
+  { "conveyor_belt_1_switch_middle.xpos",      "0"                     },
+  { "conveyor_belt_1_switch_middle.ypos",      "13"                    },
+  { "conveyor_belt_1_switch_middle.frames",    "1"                     },
+  { "conveyor_belt_1_switch_right",            "RocksDC.pcx"           },
+  { "conveyor_belt_1_switch_right.xpos",       "0"                     },
+  { "conveyor_belt_1_switch_right.ypos",       "14"                    },
+  { "conveyor_belt_1_switch_right.frames",     "1"                     },
+
+  { "conveyor_belt_2_middle",                  "RocksDC.pcx"           },
+  { "conveyor_belt_2_middle.xpos",             "0"                     },
+  { "conveyor_belt_2_middle.ypos",             "3"                     },
+  { "conveyor_belt_2_middle.frames",           "1"                     },
+  { "conveyor_belt_2_middle.active",           "RocksDC.pcx"           },
+  { "conveyor_belt_2_middle.active.xpos",      "0"                     },
+  { "conveyor_belt_2_middle.active.ypos",      "3"                     },
+  { "conveyor_belt_2_middle.active.frames",    "8"                     },
+  { "conveyor_belt_2_middle.active.delay",     "2"                     },
+  { "conveyor_belt_2_left",                    "RocksDC.pcx"           },
+  { "conveyor_belt_2_left.xpos",               "0"                     },
+  { "conveyor_belt_2_left.ypos",               "4"                     },
+  { "conveyor_belt_2_left.frames",             "1"                     },
+  { "conveyor_belt_2_left.active",             "RocksDC.pcx"           },
+  { "conveyor_belt_2_left.active.xpos",                "0"                     },
+  { "conveyor_belt_2_left.active.ypos",                "4"                     },
+  { "conveyor_belt_2_left.active.frames",      "8"                     },
+  { "conveyor_belt_2_left.active.delay",       "2"                     },
+  { "conveyor_belt_2_right",                   "RocksDC.pcx"           },
+  { "conveyor_belt_2_right.xpos",              "0"                     },
+  { "conveyor_belt_2_right.ypos",              "5"                     },
+  { "conveyor_belt_2_right.frames",            "1"                     },
+  { "conveyor_belt_2_right.active",            "RocksDC.pcx"           },
+  { "conveyor_belt_2_right.active.xpos",       "0"                     },
+  { "conveyor_belt_2_right.active.ypos",       "5"                     },
+  { "conveyor_belt_2_right.active.frames",     "8"                     },
+  { "conveyor_belt_2_right.active.delay",      "2"                     },
+  { "conveyor_belt_2_switch_left",             "RocksDC.pcx"           },
+  { "conveyor_belt_2_switch_left.xpos",                "1"                     },
+  { "conveyor_belt_2_switch_left.ypos",                "12"                    },
+  { "conveyor_belt_2_switch_left.frames",      "1"                     },
+  { "conveyor_belt_2_switch_middle",           "RocksDC.pcx"           },
+  { "conveyor_belt_2_switch_middle.xpos",      "1"                     },
+  { "conveyor_belt_2_switch_middle.ypos",      "13"                    },
+  { "conveyor_belt_2_switch_middle.frames",    "1"                     },
+  { "conveyor_belt_2_switch_right",            "RocksDC.pcx"           },
+  { "conveyor_belt_2_switch_right.xpos",       "1"                     },
+  { "conveyor_belt_2_switch_right.ypos",       "14"                    },
+  { "conveyor_belt_2_switch_right.frames",     "1"                     },
+
+  { "conveyor_belt_3_middle",                  "RocksDC.pcx"           },
+  { "conveyor_belt_3_middle.xpos",             "0"                     },
+  { "conveyor_belt_3_middle.ypos",             "6"                     },
+  { "conveyor_belt_3_middle.frames",           "1"                     },
+  { "conveyor_belt_3_middle.active",           "RocksDC.pcx"           },
+  { "conveyor_belt_3_middle.active.xpos",      "0"                     },
+  { "conveyor_belt_3_middle.active.ypos",      "6"                     },
+  { "conveyor_belt_3_middle.active.frames",    "8"                     },
+  { "conveyor_belt_3_middle.active.delay",     "2"                     },
+  { "conveyor_belt_3_left",                    "RocksDC.pcx"           },
+  { "conveyor_belt_3_left.xpos",               "0"                     },
+  { "conveyor_belt_3_left.ypos",               "7"                     },
+  { "conveyor_belt_3_left.frames",             "1"                     },
+  { "conveyor_belt_3_left.active",             "RocksDC.pcx"           },
+  { "conveyor_belt_3_left.active.xpos",                "0"                     },
+  { "conveyor_belt_3_left.active.ypos",                "7"                     },
+  { "conveyor_belt_3_left.active.frames",      "8"                     },
+  { "conveyor_belt_3_left.active.delay",       "2"                     },
+  { "conveyor_belt_3_right",                   "RocksDC.pcx"           },
+  { "conveyor_belt_3_right.xpos",              "0"                     },
+  { "conveyor_belt_3_right.ypos",              "8"                     },
+  { "conveyor_belt_3_right.frames",            "1"                     },
+  { "conveyor_belt_3_right.active",            "RocksDC.pcx"           },
+  { "conveyor_belt_3_right.active.xpos",       "0"                     },
+  { "conveyor_belt_3_right.active.ypos",       "8"                     },
+  { "conveyor_belt_3_right.active.frames",     "8"                     },
+  { "conveyor_belt_3_right.active.delay",      "2"                     },
+  { "conveyor_belt_3_switch_left",             "RocksDC.pcx"           },
+  { "conveyor_belt_3_switch_left.xpos",                "2"                     },
+  { "conveyor_belt_3_switch_left.ypos",                "12"                    },
+  { "conveyor_belt_3_switch_left.frames",      "1"                     },
+  { "conveyor_belt_3_switch_middle",           "RocksDC.pcx"           },
+  { "conveyor_belt_3_switch_middle.xpos",      "2"                     },
+  { "conveyor_belt_3_switch_middle.ypos",      "13"                    },
+  { "conveyor_belt_3_switch_middle.frames",    "1"                     },
+  { "conveyor_belt_3_switch_right",            "RocksDC.pcx"           },
+  { "conveyor_belt_3_switch_right.xpos",       "2"                     },
+  { "conveyor_belt_3_switch_right.ypos",       "14"                    },
+  { "conveyor_belt_3_switch_right.frames",     "1"                     },
+
+  { "conveyor_belt_4_middle",                  "RocksDC.pcx"           },
+  { "conveyor_belt_4_middle.xpos",             "0"                     },
+  { "conveyor_belt_4_middle.ypos",             "9"                     },
+  { "conveyor_belt_4_middle.frames",           "1"                     },
+  { "conveyor_belt_4_middle.active",           "RocksDC.pcx"           },
+  { "conveyor_belt_4_middle.active.xpos",      "0"                     },
+  { "conveyor_belt_4_middle.active.ypos",      "9"                     },
+  { "conveyor_belt_4_middle.active.frames",    "8"                     },
+  { "conveyor_belt_4_middle.active.delay",     "2"                     },
+  { "conveyor_belt_4_left",                    "RocksDC.pcx"           },
+  { "conveyor_belt_4_left.xpos",               "0"                     },
+  { "conveyor_belt_4_left.ypos",               "10"                    },
+  { "conveyor_belt_4_left.frames",             "1"                     },
+  { "conveyor_belt_4_left.active",             "RocksDC.pcx"           },
+  { "conveyor_belt_4_left.active.xpos",                "0"                     },
+  { "conveyor_belt_4_left.active.ypos",                "10"                    },
+  { "conveyor_belt_4_left.active.frames",      "8"                     },
+  { "conveyor_belt_4_left.active.delay",       "2"                     },
+  { "conveyor_belt_4_right",                   "RocksDC.pcx"           },
+  { "conveyor_belt_4_right.xpos",              "0"                     },
+  { "conveyor_belt_4_right.ypos",              "11"                    },
+  { "conveyor_belt_4_right.frames",            "1"                     },
+  { "conveyor_belt_4_right.active",            "RocksDC.pcx"           },
+  { "conveyor_belt_4_right.active.xpos",       "0"                     },
+  { "conveyor_belt_4_right.active.ypos",       "11"                    },
+  { "conveyor_belt_4_right.active.frames",     "8"                     },
+  { "conveyor_belt_4_right.active.delay",      "2"                     },
+  { "conveyor_belt_4_switch_left",             "RocksDC.pcx"           },
+  { "conveyor_belt_4_switch_left.xpos",                "3"                     },
+  { "conveyor_belt_4_switch_left.ypos",                "12"                    },
+  { "conveyor_belt_4_switch_left.frames",      "1"                     },
+  { "conveyor_belt_4_switch_middle",           "RocksDC.pcx"           },
+  { "conveyor_belt_4_switch_middle.xpos",      "3"                     },
+  { "conveyor_belt_4_switch_middle.ypos",      "13"                    },
+  { "conveyor_belt_4_switch_middle.frames",    "1"                     },
+  { "conveyor_belt_4_switch_right",            "RocksDC.pcx"           },
+  { "conveyor_belt_4_switch_right.xpos",       "3"                     },
+  { "conveyor_belt_4_switch_right.ypos",       "14"                    },
+  { "conveyor_belt_4_switch_right.frames",     "1"                     },
 
   { "switchgate_switch_up",                    "RocksDC.pcx"           },
   { "switchgate_switch_up.xpos",               "4"                     },
@@ -1475,10 +1469,10 @@ struct ConfigInfo image_config[] =
   { "tube_vertical_right.ypos",                        "14"                    },
   { "tube_vertical_right.frames",              "1"                     },
 
-  { "tube_all",                                        "RocksDC.pcx"           },
-  { "tube_all.xpos",                           "10"                    },
-  { "tube_all.ypos",                           "14"                    },
-  { "tube_all.frames",                         "1"                     },
+  { "tube_any",                                        "RocksDC.pcx"           },
+  { "tube_any.xpos",                           "10"                    },
+  { "tube_any.ypos",                           "14"                    },
+  { "tube_any.frames",                         "1"                     },
 
   { "tube_vertical_left",                      "RocksDC.pcx"           },
   { "tube_vertical_left.xpos",                 "11"                    },
@@ -1523,84 +1517,84 @@ struct ConfigInfo image_config[] =
 
   /* images for Rocks'n'Diamonds style elements and actions */
 
-  { "key1",                                    "RocksElements.pcx"     },
-  { "key1.xpos",                               "4"                     },
-  { "key1.ypos",                               "1"                     },
-  { "key1.frames",                             "1"                     },
-  { "key1.EDITOR",                             "RocksElements.pcx"     },
-  { "key1.EDITOR.xpos",                                "4"                     },
-  { "key1.EDITOR.ypos",                                "14"                    },
-  { "key2",                                    "RocksElements.pcx"     },
-  { "key2.xpos",                               "5"                     },
-  { "key2.ypos",                               "1"                     },
-  { "key2.frames",                             "1"                     },
-  { "key2.EDITOR",                             "RocksElements.pcx"     },
-  { "key2.EDITOR.xpos",                                "5"                     },
-  { "key2.EDITOR.ypos",                                "14"                    },
-  { "key3",                                    "RocksElements.pcx"     },
-  { "key3.xpos",                               "6"                     },
-  { "key3.ypos",                               "1"                     },
-  { "key3.frames",                             "1"                     },
-  { "key3.EDITOR",                             "RocksElements.pcx"     },
-  { "key3.EDITOR.xpos",                                "6"                     },
-  { "key3.EDITOR.ypos",                                "14"                    },
-  { "key4",                                    "RocksElements.pcx"     },
-  { "key4.xpos",                               "7"                     },
-  { "key4.ypos",                               "1"                     },
-  { "key4.frames",                             "1"                     },
-  { "key4.EDITOR",                             "RocksElements.pcx"     },
-  { "key4.EDITOR.xpos",                                "7"                     },
-  { "key4.EDITOR.ypos",                                "14"                    },
-
-  { "gate1",                                   "RocksElements.pcx"     },
-  { "gate1.xpos",                              "4"                     },
-  { "gate1.ypos",                              "2"                     },
-  { "gate1.frames",                            "1"                     },
-  { "gate2",                                   "RocksElements.pcx"     },
-  { "gate2.xpos",                              "5"                     },
-  { "gate2.ypos",                              "2"                     },
-  { "gate2.frames",                            "1"                     },
-  { "gate3",                                   "RocksElements.pcx"     },
-  { "gate3.xpos",                              "6"                     },
-  { "gate3.ypos",                              "2"                     },
-  { "gate3.frames",                            "1"                     },
-  { "gate4",                                   "RocksElements.pcx"     },
-  { "gate4.xpos",                              "7"                     },
-  { "gate4.ypos",                              "2"                     },
-  { "gate4.frames",                            "1"                     },
-  { "gate1_gray",                              "RocksElements.pcx"     },
-  { "gate1_gray.xpos",                         "8"                     },
-  { "gate1_gray.ypos",                         "2"                     },
-  { "gate1_gray.frames",                       "1"                     },
-  { "gate1_gray.EDITOR",                       "RocksElements.pcx"     },
-  { "gate1_gray.EDITOR.xpos",                  "8"                     },
-  { "gate1_gray.EDITOR.ypos",                  "14"                    },
-  { "gate2_gray",                              "RocksElements.pcx"     },
-  { "gate2_gray.xpos",                         "9"                     },
-  { "gate2_gray.ypos",                         "2"                     },
-  { "gate2_gray.frames",                       "1"                     },
-  { "gate2_gray.EDITOR",                       "RocksElements.pcx"     },
-  { "gate2_gray.EDITOR.xpos",                  "9"                     },
-  { "gate2_gray.EDITOR.ypos",                  "14"                    },
-  { "gate3_gray",                              "RocksElements.pcx"     },
-  { "gate3_gray.xpos",                         "10"                    },
-  { "gate3_gray.ypos",                         "2"                     },
-  { "gate3_gray.frames",                       "1"                     },
-  { "gate3_gray.EDITOR",                       "RocksElements.pcx"     },
-  { "gate3_gray.EDITOR.xpos",                  "10"                    },
-  { "gate3_gray.EDITOR.ypos",                  "14"                    },
-  { "gate4_gray",                              "RocksElements.pcx"     },
-  { "gate4_gray.xpos",                         "11"                    },
-  { "gate4_gray.ypos",                         "2"                     },
-  { "gate4_gray.frames",                       "1"                     },
-  { "gate4_gray.EDITOR",                       "RocksElements.pcx"     },
-  { "gate4_gray.EDITOR.xpos",                  "11"                    },
-  { "gate4_gray.EDITOR.ypos",                  "14"                    },
-
-  { "gameoflife",                              "RocksElements.pcx"     },
-  { "gameoflife.xpos",                         "8"                     },
-  { "gameoflife.ypos",                         "1"                     },
-  { "gameoflife.frames",                       "1"                     },
+  { "key_1",                                   "RocksElements.pcx"     },
+  { "key_1.xpos",                              "4"                     },
+  { "key_1.ypos",                              "1"                     },
+  { "key_1.frames",                            "1"                     },
+  { "key_1.EDITOR",                            "RocksElements.pcx"     },
+  { "key_1.EDITOR.xpos",                       "4"                     },
+  { "key_1.EDITOR.ypos",                       "14"                    },
+  { "key_2",                                   "RocksElements.pcx"     },
+  { "key_2.xpos",                              "5"                     },
+  { "key_2.ypos",                              "1"                     },
+  { "key_2.frames",                            "1"                     },
+  { "key_2.EDITOR",                            "RocksElements.pcx"     },
+  { "key_2.EDITOR.xpos",                       "5"                     },
+  { "key_2.EDITOR.ypos",                       "14"                    },
+  { "key_3",                                   "RocksElements.pcx"     },
+  { "key_3.xpos",                              "6"                     },
+  { "key_3.ypos",                              "1"                     },
+  { "key_3.frames",                            "1"                     },
+  { "key_3.EDITOR",                            "RocksElements.pcx"     },
+  { "key_3.EDITOR.xpos",                       "6"                     },
+  { "key_3.EDITOR.ypos",                       "14"                    },
+  { "key_4",                                   "RocksElements.pcx"     },
+  { "key_4.xpos",                              "7"                     },
+  { "key_4.ypos",                              "1"                     },
+  { "key_4.frames",                            "1"                     },
+  { "key_4.EDITOR",                            "RocksElements.pcx"     },
+  { "key_4.EDITOR.xpos",                       "7"                     },
+  { "key_4.EDITOR.ypos",                       "14"                    },
+
+  { "gate_1",                                  "RocksElements.pcx"     },
+  { "gate_1.xpos",                             "4"                     },
+  { "gate_1.ypos",                             "2"                     },
+  { "gate_1.frames",                           "1"                     },
+  { "gate_2",                                  "RocksElements.pcx"     },
+  { "gate_2.xpos",                             "5"                     },
+  { "gate_2.ypos",                             "2"                     },
+  { "gate_2.frames",                           "1"                     },
+  { "gate_3",                                  "RocksElements.pcx"     },
+  { "gate_3.xpos",                             "6"                     },
+  { "gate_3.ypos",                             "2"                     },
+  { "gate_3.frames",                           "1"                     },
+  { "gate_4",                                  "RocksElements.pcx"     },
+  { "gate_4.xpos",                             "7"                     },
+  { "gate_4.ypos",                             "2"                     },
+  { "gate_4.frames",                           "1"                     },
+  { "gate_1_gray",                             "RocksElements.pcx"     },
+  { "gate_1_gray.xpos",                                "8"                     },
+  { "gate_1_gray.ypos",                                "2"                     },
+  { "gate_1_gray.frames",                      "1"                     },
+  { "gate_1_gray.EDITOR",                      "RocksElements.pcx"     },
+  { "gate_1_gray.EDITOR.xpos",                 "8"                     },
+  { "gate_1_gray.EDITOR.ypos",                 "14"                    },
+  { "gate_2_gray",                             "RocksElements.pcx"     },
+  { "gate_2_gray.xpos",                                "9"                     },
+  { "gate_2_gray.ypos",                                "2"                     },
+  { "gate_2_gray.frames",                      "1"                     },
+  { "gate_2_gray.EDITOR",                      "RocksElements.pcx"     },
+  { "gate_2_gray.EDITOR.xpos",                 "9"                     },
+  { "gate_2_gray.EDITOR.ypos",                 "14"                    },
+  { "gate_3_gray",                             "RocksElements.pcx"     },
+  { "gate_3_gray.xpos",                                "10"                    },
+  { "gate_3_gray.ypos",                                "2"                     },
+  { "gate_3_gray.frames",                      "1"                     },
+  { "gate_3_gray.EDITOR",                      "RocksElements.pcx"     },
+  { "gate_3_gray.EDITOR.xpos",                 "10"                    },
+  { "gate_3_gray.EDITOR.ypos",                 "14"                    },
+  { "gate_4_gray",                             "RocksElements.pcx"     },
+  { "gate_4_gray.xpos",                                "11"                    },
+  { "gate_4_gray.ypos",                                "2"                     },
+  { "gate_4_gray.frames",                      "1"                     },
+  { "gate_4_gray.EDITOR",                      "RocksElements.pcx"     },
+  { "gate_4_gray.EDITOR.xpos",                 "11"                    },
+  { "gate_4_gray.EDITOR.ypos",                 "14"                    },
+
+  { "game_of_life",                            "RocksElements.pcx"     },
+  { "game_of_life.xpos",                       "8"                     },
+  { "game_of_life.ypos",                       "1"                     },
+  { "game_of_life.frames",                     "1"                     },
 
   { "biomaze",                                 "RocksElements.pcx"     },
   { "biomaze.xpos",                            "9"                     },
@@ -1717,56 +1711,56 @@ struct ConfigInfo image_config[] =
   { "wall_bd_diamond.ypos",                    "8"                     },
   { "wall_bd_diamond.frames",                  "1"                     },
 
-  { "wall_growing",                            "RocksElements.pcx"     },
-  { "wall_growing.xpos",                       "11"                    },
-  { "wall_growing.ypos",                       "10"                    },
-  { "wall_growing.frames",                     "1"                     },
-  { "wall_growing_xy",                         "RocksElements.pcx"     },
-  { "wall_growing_xy.xpos",                    "4"                     },
-  { "wall_growing_xy.ypos",                    "9"                     },
-  { "wall_growing_xy.frames",                  "1"                     },
-  { "wall_growing_xy.EDITOR",                  "RocksElements.pcx"     },
-  { "wall_growing_xy.EDITOR.xpos",             "12"                    },
-  { "wall_growing_xy.EDITOR.ypos",             "13"                    },
-  { "wall_growing_x",                          "RocksElements.pcx"     },
-  { "wall_growing_x.xpos",                     "5"                     },
-  { "wall_growing_x.ypos",                     "9"                     },
-  { "wall_growing_x.frames",                   "1"                     },
-  { "wall_growing_x.EDITOR",                   "RocksElements.pcx"     },
-  { "wall_growing_x.EDITOR.xpos",              "13"                    },
-  { "wall_growing_x.EDITOR.ypos",              "13"                    },
-  { "wall_growing_y",                          "RocksElements.pcx"     },
-  { "wall_growing_y.xpos",                     "6"                     },
-  { "wall_growing_y.ypos",                     "9"                     },
-  { "wall_growing_y.frames",                   "1"                     },
-  { "wall_growing_y.EDITOR",                   "RocksElements.pcx"     },
-  { "wall_growing_y.EDITOR.xpos",              "14"                    },
-  { "wall_growing_y.EDITOR.ypos",              "13"                    },
-
-  { "wall_growing.active.left",                        "RocksElements.pcx"     },
-  { "wall_growing.active.left.xpos",           "8"                     },
-  { "wall_growing.active.left.ypos",           "10"                    },
-  { "wall_growing.active.left.frames",         "3"                     },
-  { "wall_growing.active.left.delay",          "6"                     },
-  { "wall_growing.active.left.anim_mode",      "linear"                },
-  { "wall_growing.active.right",               "RocksElements.pcx"     },
-  { "wall_growing.active.right.xpos",          "5"                     },
-  { "wall_growing.active.right.ypos",          "10"                    },
-  { "wall_growing.active.right.frames",                "3"                     },
-  { "wall_growing.active.right.delay",         "6"                     },
-  { "wall_growing.active.right.anim_mode",     "linear"                },
-  { "wall_growing.active.up",                  "RocksHeroes.pcx"       },
-  { "wall_growing.active.up.xpos",             "3"                     },
-  { "wall_growing.active.up.ypos",             "12"                    },
-  { "wall_growing.active.up.frames",           "3"                     },
-  { "wall_growing.active.up.delay",            "6"                     },
-  { "wall_growing.active.up.anim_mode",                "linear"                },
-  { "wall_growing.active.down",                        "RocksHeroes.pcx"       },
-  { "wall_growing.active.down.xpos",           "0"                     },
-  { "wall_growing.active.down.ypos",           "12"                    },
-  { "wall_growing.active.down.frames",         "3"                     },
-  { "wall_growing.active.down.delay",          "6"                     },
-  { "wall_growing.active.down.anim_mode",      "linear"                },
+  { "expandable_wall",                         "RocksElements.pcx"     },
+  { "expandable_wall.xpos",                    "11"                    },
+  { "expandable_wall.ypos",                    "10"                    },
+  { "expandable_wall.frames",                  "1"                     },
+  { "expandable_wall_horizontal",              "RocksElements.pcx"     },
+  { "expandable_wall_horizontal.xpos",         "5"                     },
+  { "expandable_wall_horizontal.ypos",         "9"                     },
+  { "expandable_wall_horizontal.frames",       "1"                     },
+  { "expandable_wall_horizontal.EDITOR",       "RocksElements.pcx"     },
+  { "expandable_wall_horizontal.EDITOR.xpos",  "13"                    },
+  { "expandable_wall_horizontal.EDITOR.ypos",  "13"                    },
+  { "expandable_wall_vertical",                        "RocksElements.pcx"     },
+  { "expandable_wall_vertical.xpos",           "6"                     },
+  { "expandable_wall_vertical.ypos",           "9"                     },
+  { "expandable_wall_vertical.frames",         "1"                     },
+  { "expandable_wall_vertical.EDITOR",         "RocksElements.pcx"     },
+  { "expandable_wall_vertical.EDITOR.xpos",    "14"                    },
+  { "expandable_wall_vertical.EDITOR.ypos",    "13"                    },
+  { "expandable_wall_any",                     "RocksElements.pcx"     },
+  { "expandable_wall_any.xpos",                        "4"                     },
+  { "expandable_wall_any.ypos",                        "9"                     },
+  { "expandable_wall_any.frames",              "1"                     },
+  { "expandable_wall_any.EDITOR",              "RocksElements.pcx"     },
+  { "expandable_wall_any.EDITOR.xpos",         "12"                    },
+  { "expandable_wall_any.EDITOR.ypos",         "13"                    },
+
+  { "expandable_wall.growing.left",            "RocksElements.pcx"     },
+  { "expandable_wall.growing.left.xpos",       "8"                     },
+  { "expandable_wall.growing.left.ypos",       "10"                    },
+  { "expandable_wall.growing.left.frames",     "3"                     },
+  { "expandable_wall.growing.left.delay",      "6"                     },
+  { "expandable_wall.growing.left.anim_mode",  "linear"                },
+  { "expandable_wall.growing.right",           "RocksElements.pcx"     },
+  { "expandable_wall.growing.right.xpos",      "5"                     },
+  { "expandable_wall.growing.right.ypos",      "10"                    },
+  { "expandable_wall.growing.right.frames",    "3"                     },
+  { "expandable_wall.growing.right.delay",     "6"                     },
+  { "expandable_wall.growing.right.anim_mode", "linear"                },
+  { "expandable_wall.growing.up",              "RocksHeroes.pcx"       },
+  { "expandable_wall.growing.up.xpos",         "3"                     },
+  { "expandable_wall.growing.up.ypos",         "12"                    },
+  { "expandable_wall.growing.up.frames",       "3"                     },
+  { "expandable_wall.growing.up.delay",                "6"                     },
+  { "expandable_wall.growing.up.anim_mode",    "linear"                },
+  { "expandable_wall.growing.down",            "RocksHeroes.pcx"       },
+  { "expandable_wall.growing.down.xpos",       "0"                     },
+  { "expandable_wall.growing.down.ypos",       "12"                    },
+  { "expandable_wall.growing.down.frames",     "3"                     },
+  { "expandable_wall.growing.down.delay",      "6"                     },
+  { "expandable_wall.growing.down.anim_mode",  "linear"                },
 
   { "black_orb",                               "RocksElements.pcx"     },
   { "black_orb.xpos",                          "13"                    },
@@ -1790,42 +1784,42 @@ struct ConfigInfo image_config[] =
   { "dynabomb.active.frames",                  "4"                     },
   { "dynabomb.active.delay",                   "6"                     },
   { "dynabomb.active.anim_mode",               "pingpong"              },
-  { "dynabomb_player1.active",                 "RocksElements.pcx"     },
-  { "dynabomb_player1.active.xpos",            "12"                    },
-  { "dynabomb_player1.active.ypos",            "11"                    },
-  { "dynabomb_player1.active.frames",          "4"                     },
-  { "dynabomb_player1.active.delay",           "6"                     },
-  { "dynabomb_player1.active.anim_mode",       "pingpong"              },
-  { "dynabomb_player2.active",                 "RocksElements.pcx"     },
-  { "dynabomb_player2.active.xpos",            "12"                    },
-  { "dynabomb_player2.active.ypos",            "11"                    },
-  { "dynabomb_player2.active.frames",          "4"                     },
-  { "dynabomb_player2.active.delay",           "6"                     },
-  { "dynabomb_player2.active.anim_mode",       "pingpong"              },
-  { "dynabomb_player3.active",                 "RocksElements.pcx"     },
-  { "dynabomb_player3.active.xpos",            "12"                    },
-  { "dynabomb_player3.active.ypos",            "11"                    },
-  { "dynabomb_player3.active.frames",          "4"                     },
-  { "dynabomb_player3.active.delay",           "6"                     },
-  { "dynabomb_player3.active.anim_mode",       "pingpong"              },
-  { "dynabomb_player4.active",                 "RocksElements.pcx"     },
-  { "dynabomb_player4.active.xpos",            "12"                    },
-  { "dynabomb_player4.active.ypos",            "11"                    },
-  { "dynabomb_player4.active.frames",          "4"                     },
-  { "dynabomb_player4.active.delay",           "6"                     },
-  { "dynabomb_player4.active.anim_mode",       "pingpong"              },
-  { "dynabomb_nr",                             "RocksElements.pcx"     },
-  { "dynabomb_nr.xpos",                                "12"                    },
-  { "dynabomb_nr.ypos",                                "11"                    },
-  { "dynabomb_nr.frames",                      "1"                     },
-  { "dynabomb_sz",                             "RocksElements.pcx"     },
-  { "dynabomb_sz.xpos",                                "15"                    },
-  { "dynabomb_sz.ypos",                                "11"                    },
-  { "dynabomb_sz.frames",                      "1"                     },
-  { "dynabomb_xl",                             "RocksElements.pcx"     },
-  { "dynabomb_xl.xpos",                                "12"                    },
-  { "dynabomb_xl.ypos",                                "9"                     },
-  { "dynabomb_xl.frames",                      "1"                     },
+  { "dynabomb_player_1.active",                        "RocksElements.pcx"     },
+  { "dynabomb_player_1.active.xpos",           "12"                    },
+  { "dynabomb_player_1.active.ypos",           "11"                    },
+  { "dynabomb_player_1.active.frames",         "4"                     },
+  { "dynabomb_player_1.active.delay",          "6"                     },
+  { "dynabomb_player_1.active.anim_mode",      "pingpong"              },
+  { "dynabomb_player_2.active",                        "RocksElements.pcx"     },
+  { "dynabomb_player_2.active.xpos",           "12"                    },
+  { "dynabomb_player_2.active.ypos",           "11"                    },
+  { "dynabomb_player_2.active.frames",         "4"                     },
+  { "dynabomb_player_2.active.delay",          "6"                     },
+  { "dynabomb_player_2.active.anim_mode",      "pingpong"              },
+  { "dynabomb_player_3.active",                        "RocksElements.pcx"     },
+  { "dynabomb_player_3.active.xpos",           "12"                    },
+  { "dynabomb_player_3.active.ypos",           "11"                    },
+  { "dynabomb_player_3.active.frames",         "4"                     },
+  { "dynabomb_player_3.active.delay",          "6"                     },
+  { "dynabomb_player_3.active.anim_mode",      "pingpong"              },
+  { "dynabomb_player_4.active",                        "RocksElements.pcx"     },
+  { "dynabomb_player_4.active.xpos",           "12"                    },
+  { "dynabomb_player_4.active.ypos",           "11"                    },
+  { "dynabomb_player_4.active.frames",         "4"                     },
+  { "dynabomb_player_4.active.delay",          "6"                     },
+  { "dynabomb_player_4.active.anim_mode",      "pingpong"              },
+  { "dynabomb_increase_number",                        "RocksElements.pcx"     },
+  { "dynabomb_increase_number.xpos",           "12"                    },
+  { "dynabomb_increase_number.ypos",           "11"                    },
+  { "dynabomb_increase_number.frames",         "1"                     },
+  { "dynabomb_increase_size",                  "RocksElements.pcx"     },
+  { "dynabomb_increase_size.xpos",             "15"                    },
+  { "dynabomb_increase_size.ypos",             "11"                    },
+  { "dynabomb_increase_size.frames",           "1"                     },
+  { "dynabomb_increase_power",                 "RocksElements.pcx"     },
+  { "dynabomb_increase_power.xpos",            "12"                    },
+  { "dynabomb_increase_power.ypos",            "9"                     },
+  { "dynabomb_increase_power.frames",          "1"                     },
 
   { "pig",                                     "RocksHeroes.pcx"       },
   { "pig.xpos",                                        "8"                     },
@@ -1867,26 +1861,26 @@ struct ConfigInfo image_config[] =
   { "pig.moving.right.ypos",                   "1"                     },
   { "pig.moving.right.frames",                 "4"                     },
   { "pig.moving.right.delay",                  "2"                     },
-  { "pig.eating.down",                         "RocksHeroes.pcx"       },
-  { "pig.eating.down.xpos",                    "8"                     },
-  { "pig.eating.down.ypos",                    "0"                     },
-  { "pig.eating.down.frames",                  "4"                     },
-  { "pig.eating.down.delay",                   "2"                     },
-  { "pig.eating.up",                           "RocksHeroes.pcx"       },
-  { "pig.eating.up.xpos",                      "12"                    },
-  { "pig.eating.up.ypos",                      "0"                     },
-  { "pig.eating.up.frames",                    "4"                     },
-  { "pig.eating.up.delay",                     "2"                     },
-  { "pig.eating.left",                         "RocksHeroes.pcx"       },
-  { "pig.eating.left.xpos",                    "8"                     },
-  { "pig.eating.left.ypos",                    "1"                     },
-  { "pig.eating.left.frames",                  "4"                     },
-  { "pig.eating.left.delay",                   "2"                     },
-  { "pig.eating.right",                                "RocksHeroes.pcx"       },
-  { "pig.eating.right.xpos",                   "12"                    },
-  { "pig.eating.right.ypos",                   "1"                     },
-  { "pig.eating.right.frames",                 "4"                     },
-  { "pig.eating.right.delay",                  "2"                     },
+  { "pig.digging.down",                                "RocksHeroes.pcx"       },
+  { "pig.digging.down.xpos",                   "8"                     },
+  { "pig.digging.down.ypos",                   "0"                     },
+  { "pig.digging.down.frames",                 "4"                     },
+  { "pig.digging.down.delay",                  "2"                     },
+  { "pig.digging.up",                          "RocksHeroes.pcx"       },
+  { "pig.digging.up.xpos",                     "12"                    },
+  { "pig.digging.up.ypos",                     "0"                     },
+  { "pig.digging.up.frames",                   "4"                     },
+  { "pig.digging.up.delay",                    "2"                     },
+  { "pig.digging.left",                                "RocksHeroes.pcx"       },
+  { "pig.digging.left.xpos",                   "8"                     },
+  { "pig.digging.left.ypos",                   "1"                     },
+  { "pig.digging.left.frames",                 "4"                     },
+  { "pig.digging.left.delay",                  "2"                     },
+  { "pig.digging.right",                       "RocksHeroes.pcx"       },
+  { "pig.digging.right.xpos",                  "12"                    },
+  { "pig.digging.right.ypos",                  "1"                     },
+  { "pig.digging.right.frames",                        "4"                     },
+  { "pig.digging.right.delay",                 "2"                     },
 
   { "dragon",                                  "RocksHeroes.pcx"       },
   { "dragon.xpos",                             "8"                     },
@@ -2062,69 +2056,69 @@ struct ConfigInfo image_config[] =
   { "satellite.moving.delay",                  "2"                     },
   { "satellite.moving.global_sync",            "true"                  },
 
-  { "flames1.left",                            "RocksHeroes.pcx"       },
-  { "flames1.left.xpos",                       "8"                     },
-  { "flames1.left.ypos",                       "12"                    },
-  { "flames1.left.frames",                     "2"                     },
-  { "flames1.left.offset",                     "96"                    },
-  { "flames2.left",                            "RocksHeroes.pcx"       },
-  { "flames2.left.xpos",                       "9"                     },
-  { "flames2.left.ypos",                       "12"                    },
-  { "flames2.left.frames",                     "2"                     },
-  { "flames2.left.offset",                     "96"                    },
-  { "flames3.left",                            "RocksHeroes.pcx"       },
-  { "flames3.left.xpos",                       "10"                    },
-  { "flames3.left.ypos",                       "12"                    },
-  { "flames3.left.frames",                     "2"                     },
-  { "flames3.left.offset",                     "96"                    },
-
-  { "flames1.right",                           "RocksHeroes.pcx"       },
-  { "flames1.right.xpos",                      "8"                     },
-  { "flames1.right.ypos",                      "13"                    },
-  { "flames1.right.frames",                    "2"                     },
-  { "flames1.right.offset",                    "96"                    },
-  { "flames2.right",                           "RocksHeroes.pcx"       },
-  { "flames2.right.xpos",                      "9"                     },
-  { "flames2.right.ypos",                      "13"                    },
-  { "flames2.right.frames",                    "2"                     },
-  { "flames2.right.offset",                    "96"                    },
-  { "flames3.right",                           "RocksHeroes.pcx"       },
-  { "flames3.right.xpos",                      "10"                    },
-  { "flames3.right.ypos",                      "13"                    },
-  { "flames3.right.frames",                    "2"                     },
-  { "flames3.right.offset",                    "96"                    },
-
-  { "flames1.up",                              "RocksHeroes.pcx"       },
-  { "flames1.up.xpos",                         "8"                     },
-  { "flames1.up.ypos",                         "14"                    },
-  { "flames1.up.frames",                       "2"                     },
-  { "flames1.up.offset",                       "96"                    },
-  { "flames2.up",                              "RocksHeroes.pcx"       },
-  { "flames2.up.xpos",                         "9"                     },
-  { "flames2.up.ypos",                         "14"                    },
-  { "flames2.up.frames",                       "2"                     },
-  { "flames2.up.offset",                       "96"                    },
-  { "flames3.up",                              "RocksHeroes.pcx"       },
-  { "flames3.up.xpos",                         "10"                    },
-  { "flames3.up.ypos",                         "14"                    },
-  { "flames3.up.frames",                       "2"                     },
-  { "flames3.up.offset",                       "96"                    },
-
-  { "flames1.down",                            "RocksHeroes.pcx"       },
-  { "flames1.down.xpos",                       "8"                     },
-  { "flames1.down.ypos",                       "15"                    },
-  { "flames1.down.frames",                     "2"                     },
-  { "flames1.down.offset",                     "96"                    },
-  { "flames2.down",                            "RocksHeroes.pcx"       },
-  { "flames2.down.xpos",                       "9"                     },
-  { "flames2.down.ypos",                       "15"                    },
-  { "flames2.down.frames",                     "2"                     },
-  { "flames2.down.offset",                     "96"                    },
-  { "flames3.down",                            "RocksHeroes.pcx"       },
-  { "flames3.down.xpos",                       "10"                    },
-  { "flames3.down.ypos",                       "15"                    },
-  { "flames3.down.frames",                     "2"                     },
-  { "flames3.down.offset",                     "96"                    },
+  { "flames_1_left",                           "RocksHeroes.pcx"       },
+  { "flames_1_left.xpos",                      "8"                     },
+  { "flames_1_left.ypos",                      "12"                    },
+  { "flames_1_left.frames",                    "2"                     },
+  { "flames_1_left.offset",                    "96"                    },
+  { "flames_2_left",                           "RocksHeroes.pcx"       },
+  { "flames_2_left.xpos",                      "9"                     },
+  { "flames_2_left.ypos",                      "12"                    },
+  { "flames_2_left.frames",                    "2"                     },
+  { "flames_2_left.offset",                    "96"                    },
+  { "flames_3_left",                           "RocksHeroes.pcx"       },
+  { "flames_3_left.xpos",                      "10"                    },
+  { "flames_3_left.ypos",                      "12"                    },
+  { "flames_3_left.frames",                    "2"                     },
+  { "flames_3_left.offset",                    "96"                    },
+
+  { "flames_1_right",                          "RocksHeroes.pcx"       },
+  { "flames_1_right.xpos",                     "8"                     },
+  { "flames_1_right.ypos",                     "13"                    },
+  { "flames_1_right.frames",                   "2"                     },
+  { "flames_1_right.offset",                   "96"                    },
+  { "flames_2_right",                          "RocksHeroes.pcx"       },
+  { "flames_2_right.xpos",                     "9"                     },
+  { "flames_2_right.ypos",                     "13"                    },
+  { "flames_2_right.frames",                   "2"                     },
+  { "flames_2_right.offset",                   "96"                    },
+  { "flames_3_right",                          "RocksHeroes.pcx"       },
+  { "flames_3_right.xpos",                     "10"                    },
+  { "flames_3_right.ypos",                     "13"                    },
+  { "flames_3_right.frames",                   "2"                     },
+  { "flames_3_right.offset",                   "96"                    },
+
+  { "flames_1_up",                             "RocksHeroes.pcx"       },
+  { "flames_1_up.xpos",                                "8"                     },
+  { "flames_1_up.ypos",                                "14"                    },
+  { "flames_1_up.frames",                      "2"                     },
+  { "flames_1_up.offset",                      "96"                    },
+  { "flames_2_up",                             "RocksHeroes.pcx"       },
+  { "flames_2_up.xpos",                                "9"                     },
+  { "flames_2_up.ypos",                                "14"                    },
+  { "flames_2_up.frames",                      "2"                     },
+  { "flames_2_up.offset",                      "96"                    },
+  { "flames_3_up",                             "RocksHeroes.pcx"       },
+  { "flames_3_up.xpos",                                "10"                    },
+  { "flames_3_up.ypos",                                "14"                    },
+  { "flames_3_up.frames",                      "2"                     },
+  { "flames_3_up.offset",                      "96"                    },
+
+  { "flames_1_down",                           "RocksHeroes.pcx"       },
+  { "flames_1_down.xpos",                      "8"                     },
+  { "flames_1_down.ypos",                      "15"                    },
+  { "flames_1_down.frames",                    "2"                     },
+  { "flames_1_down.offset",                    "96"                    },
+  { "flames_2_down",                           "RocksHeroes.pcx"       },
+  { "flames_2_down.xpos",                      "9"                     },
+  { "flames_2_down.ypos",                      "15"                    },
+  { "flames_2_down.frames",                    "2"                     },
+  { "flames_2_down.offset",                    "96"                    },
+  { "flames_3_down",                           "RocksHeroes.pcx"       },
+  { "flames_3_down.xpos",                      "10"                    },
+  { "flames_3_down.ypos",                      "15"                    },
+  { "flames_3_down.frames",                    "2"                     },
+  { "flames_3_down.offset",                    "96"                    },
 
   { "stoneblock",                              "RocksElements.pcx"     },
   { "stoneblock.xpos",                         "10"                    },
@@ -2133,389 +2127,389 @@ struct ConfigInfo image_config[] =
 
   /* images for other elements and actions */
 
-  { "player1",                                 "RocksHeroes.pcx"       },
-  { "player1.xpos",                            "0"                     },
-  { "player1.ypos",                            "0"                     },
-  { "player1.frames",                          "1"                     },
-  { "player1.EDITOR",                          "RocksElements.pcx"     },
-  { "player1.EDITOR.xpos",                     "4"                     },
-  { "player1.EDITOR.ypos",                     "7"                     },
-  { "player1.down",                            "RocksHeroes.pcx"       },
-  { "player1.down.xpos",                       "0"                     },
-  { "player1.down.ypos",                       "0"                     },
-  { "player1.down.frames",                     "1"                     },
-  { "player1.up",                              "RocksHeroes.pcx"       },
-  { "player1.up.xpos",                         "4"                     },
-  { "player1.up.ypos",                         "0"                     },
-  { "player1.up.frames",                       "1"                     },
-  { "player1.left",                            "RocksHeroes.pcx"       },
-  { "player1.left.xpos",                       "0"                     },
-  { "player1.left.ypos",                       "1"                     },
-  { "player1.left.frames",                     "1"                     },
-  { "player1.right",                           "RocksHeroes.pcx"       },
-  { "player1.right.xpos",                      "4"                     },
-  { "player1.right.ypos",                      "1"                     },
-  { "player1.right.frames",                    "1"                     },
-  { "player1.moving.down",                     "RocksHeroes.pcx"       },
-  { "player1.moving.down.xpos",                        "0"                     },
-  { "player1.moving.down.ypos",                        "0"                     },
-  { "player1.moving.down.frames",              "4"                     },
-  { "player1.moving.down.start_frame",         "1"                     },
-  { "player1.moving.down.delay",               "4"                     },
-  { "player1.moving.up",                       "RocksHeroes.pcx"       },
-  { "player1.moving.up.xpos",                  "4"                     },
-  { "player1.moving.up.ypos",                  "0"                     },
-  { "player1.moving.up.frames",                        "4"                     },
-  { "player1.moving.up.start_frame",           "1"                     },
-  { "player1.moving.up.delay",                 "4"                     },
-  { "player1.moving.left",                     "RocksHeroes.pcx"       },
-  { "player1.moving.left.xpos",                        "0"                     },
-  { "player1.moving.left.ypos",                        "1"                     },
-  { "player1.moving.left.frames",              "4"                     },
-  { "player1.moving.left.start_frame",         "1"                     },
-  { "player1.moving.left.delay",               "4"                     },
-  { "player1.moving.right",                    "RocksHeroes.pcx"       },
-  { "player1.moving.right.xpos",               "4"                     },
-  { "player1.moving.right.ypos",               "1"                     },
-  { "player1.moving.right.frames",             "4"                     },
-  { "player1.moving.right.start_frame",                "1"                     },
-  { "player1.moving.right.delay",              "4"                     },
-  { "player1.digging.down",                    "RocksHeroes.pcx"       },
-  { "player1.digging.down.xpos",               "0"                     },
-  { "player1.digging.down.ypos",               "0"                     },
-  { "player1.digging.down.frames",             "4"                     },
-  { "player1.digging.down.start_frame",                "1"                     },
-  { "player1.digging.down.delay",              "4"                     },
-  { "player1.digging.up",                      "RocksHeroes.pcx"       },
-  { "player1.digging.up.xpos",                 "4"                     },
-  { "player1.digging.up.ypos",                 "0"                     },
-  { "player1.digging.up.frames",               "4"                     },
-  { "player1.digging.up.start_frame",          "1"                     },
-  { "player1.digging.up.delay",                        "4"                     },
-  { "player1.digging.left",                    "RocksHeroes.pcx"       },
-  { "player1.digging.left.xpos",               "0"                     },
-  { "player1.digging.left.ypos",               "1"                     },
-  { "player1.digging.left.frames",             "4"                     },
-  { "player1.digging.left.start_frame",                "1"                     },
-  { "player1.digging.left.delay",              "4"                     },
-  { "player1.digging.right",                   "RocksHeroes.pcx"       },
-  { "player1.digging.right.xpos",              "4"                     },
-  { "player1.digging.right.ypos",              "1"                     },
-  { "player1.digging.right.frames",            "4"                     },
-  { "player1.digging.right.start_frame",       "1"                     },
-  { "player1.digging.right.delay",             "4"                     },
-  { "player1.pushing.down",                    "RocksHeroes.pcx"       },
-  { "player1.pushing.down.xpos",               "0"                     },
-  { "player1.pushing.down.ypos",               "0"                     },
-  { "player1.pushing.down.frames",             "4"                     },
-  { "player1.pushing.down.delay",              "4"                     },
-  { "player1.pushing.up",                      "RocksHeroes.pcx"       },
-  { "player1.pushing.up.xpos",                 "4"                     },
-  { "player1.pushing.up.ypos",                 "0"                     },
-  { "player1.pushing.up.frames",               "4"                     },
-  { "player1.pushing.up.delay",                        "4"                     },
-  { "player1.pushing.left",                    "RocksHeroes.pcx"       },
-  { "player1.pushing.left.xpos",               "4"                     },
-  { "player1.pushing.left.ypos",               "2"                     },
-  { "player1.pushing.left.frames",             "4"                     },
-  { "player1.pushing.left.delay",              "4"                     },
-  { "player1.pushing.right",                   "RocksHeroes.pcx"       },
-  { "player1.pushing.right.xpos",              "0"                     },
-  { "player1.pushing.right.ypos",              "2"                     },
-  { "player1.pushing.right.frames",            "4"                     },
-  { "player1.pushing.right.delay",             "4"                     },
-  { "player1.snapping.down",                   "RocksHeroes.pcx"       },
-  { "player1.snapping.down.xpos",              "0"                     },
-  { "player1.snapping.down.ypos",              "0"                     },
-  { "player1.snapping.down.frames",            "1"                     },
-  { "player1.snapping.up",                     "RocksHeroes.pcx"       },
-  { "player1.snapping.up.xpos",                        "4"                     },
-  { "player1.snapping.up.ypos",                        "0"                     },
-  { "player1.snapping.up.frames",              "1"                     },
-  { "player1.snapping.left",                   "RocksHeroes.pcx"       },
-  { "player1.snapping.left.xpos",              "0"                     },
-  { "player1.snapping.left.ypos",              "1"                     },
-  { "player1.snapping.left.frames",            "1"                     },
-  { "player1.snapping.right",                  "RocksHeroes.pcx"       },
-  { "player1.snapping.right.xpos",             "4"                     },
-  { "player1.snapping.right.ypos",             "1"                     },
-  { "player1.snapping.right.frames",           "1"                     },
-
-  { "player2",                                 "RocksHeroes.pcx"       },
-  { "player2.xpos",                            "0"                     },
-  { "player2.ypos",                            "3"                     },
-  { "player2.frames",                          "1"                     },
-  { "player2.EDITOR",                          "RocksElements.pcx"     },
-  { "player2.EDITOR.xpos",                     "5"                     },
-  { "player2.EDITOR.ypos",                     "7"                     },
-  { "player2.down",                            "RocksHeroes.pcx"       },
-  { "player2.down.xpos",                       "0"                     },
-  { "player2.down.ypos",                       "3"                     },
-  { "player2.down.frames",                     "1"                     },
-  { "player2.up",                              "RocksHeroes.pcx"       },
-  { "player2.up.xpos",                         "4"                     },
-  { "player2.up.ypos",                         "3"                     },
-  { "player2.up.frames",                       "1"                     },
-  { "player2.left",                            "RocksHeroes.pcx"       },
-  { "player2.left.xpos",                       "0"                     },
-  { "player2.left.ypos",                       "4"                     },
-  { "player2.left.frames",                     "1"                     },
-  { "player2.right",                           "RocksHeroes.pcx"       },
-  { "player2.right.xpos",                      "4"                     },
-  { "player2.right.ypos",                      "4"                     },
-  { "player2.right.frames",                    "1"                     },
-  { "player2.moving.down",                     "RocksHeroes.pcx"       },
-  { "player2.moving.down.xpos",                        "0"                     },
-  { "player2.moving.down.ypos",                        "3"                     },
-  { "player2.moving.down.frames",              "4"                     },
-  { "player2.moving.up",                       "RocksHeroes.pcx"       },
-  { "player2.moving.up.xpos",                  "4"                     },
-  { "player2.moving.up.ypos",                  "3"                     },
-  { "player2.moving.up.frames",                        "4"                     },
-  { "player2.moving.left",                     "RocksHeroes.pcx"       },
-  { "player2.moving.left.xpos",                        "0"                     },
-  { "player2.moving.left.ypos",                        "4"                     },
-  { "player2.moving.left.frames",              "4"                     },
-  { "player2.moving.right",                    "RocksHeroes.pcx"       },
-  { "player2.moving.right.xpos",               "4"                     },
-  { "player2.moving.right.ypos",               "4"                     },
-  { "player2.moving.right.frames",             "4"                     },
-  { "player2.digging.down",                    "RocksHeroes.pcx"       },
-  { "player2.digging.down.xpos",               "0"                     },
-  { "player2.digging.down.ypos",               "3"                     },
-  { "player2.digging.down.frames",             "4"                     },
-  { "player2.digging.up",                      "RocksHeroes.pcx"       },
-  { "player2.digging.up.xpos",                 "4"                     },
-  { "player2.digging.up.ypos",                 "3"                     },
-  { "player2.digging.up.frames",               "4"                     },
-  { "player2.digging.left",                    "RocksHeroes.pcx"       },
-  { "player2.digging.left.xpos",               "0"                     },
-  { "player2.digging.left.ypos",               "4"                     },
-  { "player2.digging.left.frames",             "4"                     },
-  { "player2.digging.right",                   "RocksHeroes.pcx"       },
-  { "player2.digging.right.xpos",              "4"                     },
-  { "player2.digging.right.ypos",              "4"                     },
-  { "player2.digging.right.frames",            "4"                     },
-  { "player2.pushing.down",                    "RocksHeroes.pcx"       },
-  { "player2.pushing.down.xpos",               "0"                     },
-  { "player2.pushing.down.ypos",               "3"                     },
-  { "player2.pushing.down.frames",             "4"                     },
-  { "player2.pushing.down.delay",              "4"                     },
-  { "player2.pushing.up",                      "RocksHeroes.pcx"       },
-  { "player2.pushing.up.xpos",                 "4"                     },
-  { "player2.pushing.up.ypos",                 "3"                     },
-  { "player2.pushing.up.frames",               "4"                     },
-  { "player2.pushing.up.delay",                        "4"                     },
-  { "player2.pushing.left",                    "RocksHeroes.pcx"       },
-  { "player2.pushing.left.xpos",               "4"                     },
-  { "player2.pushing.left.ypos",               "5"                     },
-  { "player2.pushing.left.frames",             "4"                     },
-  { "player2.pushing.left.delay",              "4"                     },
-  { "player2.pushing.right",                   "RocksHeroes.pcx"       },
-  { "player2.pushing.right.xpos",              "0"                     },
-  { "player2.pushing.right.ypos",              "5"                     },
-  { "player2.pushing.right.frames",            "4"                     },
-  { "player2.pushing.right.delay",             "4"                     },
-  { "player2.snapping.down",                   "RocksHeroes.pcx"       },
-  { "player2.snapping.down.xpos",              "0"                     },
-  { "player2.snapping.down.ypos",              "3"                     },
-  { "player2.snapping.down.frames",            "1"                     },
-  { "player2.snapping.up",                     "RocksHeroes.pcx"       },
-  { "player2.snapping.up.xpos",                        "4"                     },
-  { "player2.snapping.up.ypos",                        "3"                     },
-  { "player2.snapping.up.frames",              "1"                     },
-  { "player2.snapping.left",                   "RocksHeroes.pcx"       },
-  { "player2.snapping.left.xpos",              "0"                     },
-  { "player2.snapping.left.ypos",              "4"                     },
-  { "player2.snapping.left.frames",            "1"                     },
-  { "player2.snapping.right",                  "RocksHeroes.pcx"       },
-  { "player2.snapping.right.xpos",             "4"                     },
-  { "player2.snapping.right.ypos",             "4"                     },
-  { "player2.snapping.right.frames",           "1"                     },
-
-  { "player3",                                 "RocksHeroes.pcx"       },
-  { "player3.xpos",                            "0"                     },
-  { "player3.ypos",                            "6"                     },
-  { "player3.frames",                          "1"                     },
-  { "player3.EDITOR",                          "RocksElements.pcx"     },
-  { "player3.EDITOR.xpos",                     "6"                     },
-  { "player3.EDITOR.ypos",                     "7"                     },
-  { "player3.down",                            "RocksHeroes.pcx"       },
-  { "player3.down.xpos",                       "0"                     },
-  { "player3.down.ypos",                       "6"                     },
-  { "player3.down.frames",                     "1"                     },
-  { "player3.up",                              "RocksHeroes.pcx"       },
-  { "player3.up.xpos",                         "4"                     },
-  { "player3.up.ypos",                         "6"                     },
-  { "player3.up.frames",                       "1"                     },
-  { "player3.left",                            "RocksHeroes.pcx"       },
-  { "player3.left.xpos",                       "0"                     },
-  { "player3.left.ypos",                       "7"                     },
-  { "player3.left.frames",                     "1"                     },
-  { "player3.right",                           "RocksHeroes.pcx"       },
-  { "player3.right.xpos",                      "4"                     },
-  { "player3.right.ypos",                      "7"                     },
-  { "player3.right.frames",                    "1"                     },
-  { "player3.moving.down",                     "RocksHeroes.pcx"       },
-  { "player3.moving.down.xpos",                        "0"                     },
-  { "player3.moving.down.ypos",                        "6"                     },
-  { "player3.moving.down.frames",              "4"                     },
-  { "player3.moving.up",                       "RocksHeroes.pcx"       },
-  { "player3.moving.up.xpos",                  "4"                     },
-  { "player3.moving.up.ypos",                  "6"                     },
-  { "player3.moving.up.frames",                        "4"                     },
-  { "player3.moving.left",                     "RocksHeroes.pcx"       },
-  { "player3.moving.left.xpos",                        "0"                     },
-  { "player3.moving.left.ypos",                        "7"                     },
-  { "player3.moving.left.frames",              "4"                     },
-  { "player3.moving.right",                    "RocksHeroes.pcx"       },
-  { "player3.moving.right.xpos",               "4"                     },
-  { "player3.moving.right.ypos",               "7"                     },
-  { "player3.moving.right.frames",             "4"                     },
-  { "player3.digging.down",                    "RocksHeroes.pcx"       },
-  { "player3.digging.down.xpos",               "0"                     },
-  { "player3.digging.down.ypos",               "6"                     },
-  { "player3.digging.down.frames",             "4"                     },
-  { "player3.digging.up",                      "RocksHeroes.pcx"       },
-  { "player3.digging.up.xpos",                 "4"                     },
-  { "player3.digging.up.ypos",                 "6"                     },
-  { "player3.digging.up.frames",               "4"                     },
-  { "player3.digging.left",                    "RocksHeroes.pcx"       },
-  { "player3.digging.left.xpos",               "0"                     },
-  { "player3.digging.left.ypos",               "7"                     },
-  { "player3.digging.left.frames",             "4"                     },
-  { "player3.digging.right",                   "RocksHeroes.pcx"       },
-  { "player3.digging.right.xpos",              "4"                     },
-  { "player3.digging.right.ypos",              "7"                     },
-  { "player3.digging.right.frames",            "4"                     },
-  { "player3.pushing.down",                    "RocksHeroes.pcx"       },
-  { "player3.pushing.down.xpos",               "0"                     },
-  { "player3.pushing.down.ypos",               "6"                     },
-  { "player3.pushing.down.frames",             "4"                     },
-  { "player3.pushing.down.delay",              "4"                     },
-  { "player3.pushing.up",                      "RocksHeroes.pcx"       },
-  { "player3.pushing.up.xpos",                 "4"                     },
-  { "player3.pushing.up.ypos",                 "6"                     },
-  { "player3.pushing.up.frames",               "4"                     },
-  { "player3.pushing.up.delay",                        "4"                     },
-  { "player3.pushing.left",                    "RocksHeroes.pcx"       },
-  { "player3.pushing.left.xpos",               "4"                     },
-  { "player3.pushing.left.ypos",               "8"                     },
-  { "player3.pushing.left.frames",             "4"                     },
-  { "player3.pushing.left.delay",              "4"                     },
-  { "player3.pushing.right",                   "RocksHeroes.pcx"       },
-  { "player3.pushing.right.xpos",              "0"                     },
-  { "player3.pushing.right.ypos",              "8"                     },
-  { "player3.pushing.right.frames",            "4"                     },
-  { "player3.pushing.right.delay",             "4"                     },
-  { "player3.snapping.down",                   "RocksHeroes.pcx"       },
-  { "player3.snapping.down.xpos",              "0"                     },
-  { "player3.snapping.down.ypos",              "6"                     },
-  { "player3.snapping.down.frames",            "1"                     },
-  { "player3.snapping.up",                     "RocksHeroes.pcx"       },
-  { "player3.snapping.up.xpos",                        "4"                     },
-  { "player3.snapping.up.ypos",                        "6"                     },
-  { "player3.snapping.up.frames",              "1"                     },
-  { "player3.snapping.left",                   "RocksHeroes.pcx"       },
-  { "player3.snapping.left.xpos",              "0"                     },
-  { "player3.snapping.left.ypos",              "7"                     },
-  { "player3.snapping.left.frames",            "1"                     },
-  { "player3.snapping.right",                  "RocksHeroes.pcx"       },
-  { "player3.snapping.right.xpos",             "4"                     },
-  { "player3.snapping.right.ypos",             "7"                     },
-  { "player3.snapping.right.frames",           "1"                     },
-
-  { "player4",                                 "RocksHeroes.pcx"       },
-  { "player4.xpos",                            "0"                     },
-  { "player4.ypos",                            "9"                     },
-  { "player4.frames",                          "1"                     },
-  { "player4.EDITOR",                          "RocksElements.pcx"     },
-  { "player4.EDITOR.xpos",                     "7"                     },
-  { "player4.EDITOR.ypos",                     "7"                     },
-  { "player4.down",                            "RocksHeroes.pcx"       },
-  { "player4.down.xpos",                       "0"                     },
-  { "player4.down.ypos",                       "9"                     },
-  { "player4.down.frames",                     "1"                     },
-  { "player4.up",                              "RocksHeroes.pcx"       },
-  { "player4.up.xpos",                         "4"                     },
-  { "player4.up.ypos",                         "9"                     },
-  { "player4.up.frames",                       "1"                     },
-  { "player4.left",                            "RocksHeroes.pcx"       },
-  { "player4.left.xpos",                       "0"                     },
-  { "player4.left.ypos",                       "10"                    },
-  { "player4.left.frames",                     "1"                     },
-  { "player4.right",                           "RocksHeroes.pcx"       },
-  { "player4.right.xpos",                      "4"                     },
-  { "player4.right.ypos",                      "10"                    },
-  { "player4.right.frames",                    "1"                     },
-  { "player4.moving.down",                     "RocksHeroes.pcx"       },
-  { "player4.moving.down.xpos",                        "0"                     },
-  { "player4.moving.down.ypos",                        "9"                     },
-  { "player4.moving.down.frames",              "4"                     },
-  { "player4.moving.up",                       "RocksHeroes.pcx"       },
-  { "player4.moving.up.xpos",                  "4"                     },
-  { "player4.moving.up.ypos",                  "9"                     },
-  { "player4.moving.up.frames",                        "4"                     },
-  { "player4.moving.left",                     "RocksHeroes.pcx"       },
-  { "player4.moving.left.xpos",                        "0"                     },
-  { "player4.moving.left.ypos",                        "10"                    },
-  { "player4.moving.left.frames",              "4"                     },
-  { "player4.moving.right",                    "RocksHeroes.pcx"       },
-  { "player4.moving.right.xpos",               "4"                     },
-  { "player4.moving.right.ypos",               "10"                    },
-  { "player4.moving.right.frames",             "4"                     },
-  { "player4.digging.down",                    "RocksHeroes.pcx"       },
-  { "player4.digging.down.xpos",               "0"                     },
-  { "player4.digging.down.ypos",               "9"                     },
-  { "player4.digging.down.frames",             "4"                     },
-  { "player4.digging.up",                      "RocksHeroes.pcx"       },
-  { "player4.digging.up.xpos",                 "4"                     },
-  { "player4.digging.up.ypos",                 "9"                     },
-  { "player4.digging.up.frames",               "4"                     },
-  { "player4.digging.left",                    "RocksHeroes.pcx"       },
-  { "player4.digging.left.xpos",               "0"                     },
-  { "player4.digging.left.ypos",               "10"                    },
-  { "player4.digging.left.frames",             "4"                     },
-  { "player4.digging.right",                   "RocksHeroes.pcx"       },
-  { "player4.digging.right.xpos",              "4"                     },
-  { "player4.digging.right.ypos",              "10"                    },
-  { "player4.digging.right.frames",            "4"                     },
-  { "player4.pushing.down",                    "RocksHeroes.pcx"       },
-  { "player4.pushing.down.xpos",               "0"                     },
-  { "player4.pushing.down.ypos",               "9"                     },
-  { "player4.pushing.down.frames",             "4"                     },
-  { "player4.pushing.down.delay",              "4"                     },
-  { "player4.pushing.up",                      "RocksHeroes.pcx"       },
-  { "player4.pushing.up.xpos",                 "4"                     },
-  { "player4.pushing.up.ypos",                 "9"                     },
-  { "player4.pushing.up.frames",               "4"                     },
-  { "player4.pushing.up.delay",                        "4"                     },
-  { "player4.pushing.left",                    "RocksHeroes.pcx"       },
-  { "player4.pushing.left.xpos",               "4"                     },
-  { "player4.pushing.left.ypos",               "11"                    },
-  { "player4.pushing.left.frames",             "4"                     },
-  { "player4.pushing.left.delay",              "4"                     },
-  { "player4.pushing.right",                   "RocksHeroes.pcx"       },
-  { "player4.pushing.right.xpos",              "0"                     },
-  { "player4.pushing.right.ypos",              "11"                    },
-  { "player4.pushing.right.frames",            "4"                     },
-  { "player4.pushing.right.delay",             "4"                     },
-  { "player4.snapping.down",                   "RocksHeroes.pcx"       },
-  { "player4.snapping.down.xpos",              "0"                     },
-  { "player4.snapping.down.ypos",              "9"                     },
-  { "player4.snapping.down.frames",            "1"                     },
-  { "player4.snapping.up",                     "RocksHeroes.pcx"       },
-  { "player4.snapping.up.xpos",                        "4"                     },
-  { "player4.snapping.up.ypos",                        "9"                     },
-  { "player4.snapping.up.frames",              "1"                     },
-  { "player4.snapping.left",                   "RocksHeroes.pcx"       },
-  { "player4.snapping.left.xpos",              "0"                     },
-  { "player4.snapping.left.ypos",              "10"                    },
-  { "player4.snapping.left.frames",            "1"                     },
-  { "player4.snapping.right",                  "RocksHeroes.pcx"       },
-  { "player4.snapping.right.xpos",             "4"                     },
-  { "player4.snapping.right.ypos",             "10"                    },
-  { "player4.snapping.right.frames",           "1"                     },
+  { "player_1",                                        "RocksHeroes.pcx"       },
+  { "player_1.xpos",                           "0"                     },
+  { "player_1.ypos",                           "0"                     },
+  { "player_1.frames",                         "1"                     },
+  { "player_1.EDITOR",                         "RocksElements.pcx"     },
+  { "player_1.EDITOR.xpos",                    "4"                     },
+  { "player_1.EDITOR.ypos",                    "7"                     },
+  { "player_1.down",                           "RocksHeroes.pcx"       },
+  { "player_1.down.xpos",                      "0"                     },
+  { "player_1.down.ypos",                      "0"                     },
+  { "player_1.down.frames",                    "1"                     },
+  { "player_1.up",                             "RocksHeroes.pcx"       },
+  { "player_1.up.xpos",                                "4"                     },
+  { "player_1.up.ypos",                                "0"                     },
+  { "player_1.up.frames",                      "1"                     },
+  { "player_1.left",                           "RocksHeroes.pcx"       },
+  { "player_1.left.xpos",                      "0"                     },
+  { "player_1.left.ypos",                      "1"                     },
+  { "player_1.left.frames",                    "1"                     },
+  { "player_1.right",                          "RocksHeroes.pcx"       },
+  { "player_1.right.xpos",                     "4"                     },
+  { "player_1.right.ypos",                     "1"                     },
+  { "player_1.right.frames",                   "1"                     },
+  { "player_1.moving.down",                    "RocksHeroes.pcx"       },
+  { "player_1.moving.down.xpos",               "0"                     },
+  { "player_1.moving.down.ypos",               "0"                     },
+  { "player_1.moving.down.frames",             "4"                     },
+  { "player_1.moving.down.start_frame",                "1"                     },
+  { "player_1.moving.down.delay",              "4"                     },
+  { "player_1.moving.up",                      "RocksHeroes.pcx"       },
+  { "player_1.moving.up.xpos",                 "4"                     },
+  { "player_1.moving.up.ypos",                 "0"                     },
+  { "player_1.moving.up.frames",               "4"                     },
+  { "player_1.moving.up.start_frame",          "1"                     },
+  { "player_1.moving.up.delay",                        "4"                     },
+  { "player_1.moving.left",                    "RocksHeroes.pcx"       },
+  { "player_1.moving.left.xpos",               "0"                     },
+  { "player_1.moving.left.ypos",               "1"                     },
+  { "player_1.moving.left.frames",             "4"                     },
+  { "player_1.moving.left.start_frame",                "1"                     },
+  { "player_1.moving.left.delay",              "4"                     },
+  { "player_1.moving.right",                   "RocksHeroes.pcx"       },
+  { "player_1.moving.right.xpos",              "4"                     },
+  { "player_1.moving.right.ypos",              "1"                     },
+  { "player_1.moving.right.frames",            "4"                     },
+  { "player_1.moving.right.start_frame",       "1"                     },
+  { "player_1.moving.right.delay",             "4"                     },
+  { "player_1.digging.down",                   "RocksHeroes.pcx"       },
+  { "player_1.digging.down.xpos",              "0"                     },
+  { "player_1.digging.down.ypos",              "0"                     },
+  { "player_1.digging.down.frames",            "4"                     },
+  { "player_1.digging.down.start_frame",       "1"                     },
+  { "player_1.digging.down.delay",             "4"                     },
+  { "player_1.digging.up",                     "RocksHeroes.pcx"       },
+  { "player_1.digging.up.xpos",                        "4"                     },
+  { "player_1.digging.up.ypos",                        "0"                     },
+  { "player_1.digging.up.frames",              "4"                     },
+  { "player_1.digging.up.start_frame",         "1"                     },
+  { "player_1.digging.up.delay",               "4"                     },
+  { "player_1.digging.left",                   "RocksHeroes.pcx"       },
+  { "player_1.digging.left.xpos",              "0"                     },
+  { "player_1.digging.left.ypos",              "1"                     },
+  { "player_1.digging.left.frames",            "4"                     },
+  { "player_1.digging.left.start_frame",       "1"                     },
+  { "player_1.digging.left.delay",             "4"                     },
+  { "player_1.digging.right",                  "RocksHeroes.pcx"       },
+  { "player_1.digging.right.xpos",             "4"                     },
+  { "player_1.digging.right.ypos",             "1"                     },
+  { "player_1.digging.right.frames",           "4"                     },
+  { "player_1.digging.right.start_frame",      "1"                     },
+  { "player_1.digging.right.delay",            "4"                     },
+  { "player_1.pushing.down",                   "RocksHeroes.pcx"       },
+  { "player_1.pushing.down.xpos",              "0"                     },
+  { "player_1.pushing.down.ypos",              "0"                     },
+  { "player_1.pushing.down.frames",            "4"                     },
+  { "player_1.pushing.down.delay",             "4"                     },
+  { "player_1.pushing.up",                     "RocksHeroes.pcx"       },
+  { "player_1.pushing.up.xpos",                        "4"                     },
+  { "player_1.pushing.up.ypos",                        "0"                     },
+  { "player_1.pushing.up.frames",              "4"                     },
+  { "player_1.pushing.up.delay",               "4"                     },
+  { "player_1.pushing.left",                   "RocksHeroes.pcx"       },
+  { "player_1.pushing.left.xpos",              "4"                     },
+  { "player_1.pushing.left.ypos",              "2"                     },
+  { "player_1.pushing.left.frames",            "4"                     },
+  { "player_1.pushing.left.delay",             "4"                     },
+  { "player_1.pushing.right",                  "RocksHeroes.pcx"       },
+  { "player_1.pushing.right.xpos",             "0"                     },
+  { "player_1.pushing.right.ypos",             "2"                     },
+  { "player_1.pushing.right.frames",           "4"                     },
+  { "player_1.pushing.right.delay",            "4"                     },
+  { "player_1.snapping.down",                  "RocksHeroes.pcx"       },
+  { "player_1.snapping.down.xpos",             "0"                     },
+  { "player_1.snapping.down.ypos",             "0"                     },
+  { "player_1.snapping.down.frames",           "1"                     },
+  { "player_1.snapping.up",                    "RocksHeroes.pcx"       },
+  { "player_1.snapping.up.xpos",               "4"                     },
+  { "player_1.snapping.up.ypos",               "0"                     },
+  { "player_1.snapping.up.frames",             "1"                     },
+  { "player_1.snapping.left",                  "RocksHeroes.pcx"       },
+  { "player_1.snapping.left.xpos",             "0"                     },
+  { "player_1.snapping.left.ypos",             "1"                     },
+  { "player_1.snapping.left.frames",           "1"                     },
+  { "player_1.snapping.right",                 "RocksHeroes.pcx"       },
+  { "player_1.snapping.right.xpos",            "4"                     },
+  { "player_1.snapping.right.ypos",            "1"                     },
+  { "player_1.snapping.right.frames",          "1"                     },
+
+  { "player_2",                                        "RocksHeroes.pcx"       },
+  { "player_2.xpos",                           "0"                     },
+  { "player_2.ypos",                           "3"                     },
+  { "player_2.frames",                         "1"                     },
+  { "player_2.EDITOR",                         "RocksElements.pcx"     },
+  { "player_2.EDITOR.xpos",                    "5"                     },
+  { "player_2.EDITOR.ypos",                    "7"                     },
+  { "player_2.down",                           "RocksHeroes.pcx"       },
+  { "player_2.down.xpos",                      "0"                     },
+  { "player_2.down.ypos",                      "3"                     },
+  { "player_2.down.frames",                    "1"                     },
+  { "player_2.up",                             "RocksHeroes.pcx"       },
+  { "player_2.up.xpos",                                "4"                     },
+  { "player_2.up.ypos",                                "3"                     },
+  { "player_2.up.frames",                      "1"                     },
+  { "player_2.left",                           "RocksHeroes.pcx"       },
+  { "player_2.left.xpos",                      "0"                     },
+  { "player_2.left.ypos",                      "4"                     },
+  { "player_2.left.frames",                    "1"                     },
+  { "player_2.right",                          "RocksHeroes.pcx"       },
+  { "player_2.right.xpos",                     "4"                     },
+  { "player_2.right.ypos",                     "4"                     },
+  { "player_2.right.frames",                   "1"                     },
+  { "player_2.moving.down",                    "RocksHeroes.pcx"       },
+  { "player_2.moving.down.xpos",               "0"                     },
+  { "player_2.moving.down.ypos",               "3"                     },
+  { "player_2.moving.down.frames",             "4"                     },
+  { "player_2.moving.up",                      "RocksHeroes.pcx"       },
+  { "player_2.moving.up.xpos",                 "4"                     },
+  { "player_2.moving.up.ypos",                 "3"                     },
+  { "player_2.moving.up.frames",               "4"                     },
+  { "player_2.moving.left",                    "RocksHeroes.pcx"       },
+  { "player_2.moving.left.xpos",               "0"                     },
+  { "player_2.moving.left.ypos",               "4"                     },
+  { "player_2.moving.left.frames",             "4"                     },
+  { "player_2.moving.right",                   "RocksHeroes.pcx"       },
+  { "player_2.moving.right.xpos",              "4"                     },
+  { "player_2.moving.right.ypos",              "4"                     },
+  { "player_2.moving.right.frames",            "4"                     },
+  { "player_2.digging.down",                   "RocksHeroes.pcx"       },
+  { "player_2.digging.down.xpos",              "0"                     },
+  { "player_2.digging.down.ypos",              "3"                     },
+  { "player_2.digging.down.frames",            "4"                     },
+  { "player_2.digging.up",                     "RocksHeroes.pcx"       },
+  { "player_2.digging.up.xpos",                        "4"                     },
+  { "player_2.digging.up.ypos",                        "3"                     },
+  { "player_2.digging.up.frames",              "4"                     },
+  { "player_2.digging.left",                   "RocksHeroes.pcx"       },
+  { "player_2.digging.left.xpos",              "0"                     },
+  { "player_2.digging.left.ypos",              "4"                     },
+  { "player_2.digging.left.frames",            "4"                     },
+  { "player_2.digging.right",                  "RocksHeroes.pcx"       },
+  { "player_2.digging.right.xpos",             "4"                     },
+  { "player_2.digging.right.ypos",             "4"                     },
+  { "player_2.digging.right.frames",           "4"                     },
+  { "player_2.pushing.down",                   "RocksHeroes.pcx"       },
+  { "player_2.pushing.down.xpos",              "0"                     },
+  { "player_2.pushing.down.ypos",              "3"                     },
+  { "player_2.pushing.down.frames",            "4"                     },
+  { "player_2.pushing.down.delay",             "4"                     },
+  { "player_2.pushing.up",                     "RocksHeroes.pcx"       },
+  { "player_2.pushing.up.xpos",                        "4"                     },
+  { "player_2.pushing.up.ypos",                        "3"                     },
+  { "player_2.pushing.up.frames",              "4"                     },
+  { "player_2.pushing.up.delay",               "4"                     },
+  { "player_2.pushing.left",                   "RocksHeroes.pcx"       },
+  { "player_2.pushing.left.xpos",              "4"                     },
+  { "player_2.pushing.left.ypos",              "5"                     },
+  { "player_2.pushing.left.frames",            "4"                     },
+  { "player_2.pushing.left.delay",             "4"                     },
+  { "player_2.pushing.right",                  "RocksHeroes.pcx"       },
+  { "player_2.pushing.right.xpos",             "0"                     },
+  { "player_2.pushing.right.ypos",             "5"                     },
+  { "player_2.pushing.right.frames",           "4"                     },
+  { "player_2.pushing.right.delay",            "4"                     },
+  { "player_2.snapping.down",                  "RocksHeroes.pcx"       },
+  { "player_2.snapping.down.xpos",             "0"                     },
+  { "player_2.snapping.down.ypos",             "3"                     },
+  { "player_2.snapping.down.frames",           "1"                     },
+  { "player_2.snapping.up",                    "RocksHeroes.pcx"       },
+  { "player_2.snapping.up.xpos",               "4"                     },
+  { "player_2.snapping.up.ypos",               "3"                     },
+  { "player_2.snapping.up.frames",             "1"                     },
+  { "player_2.snapping.left",                  "RocksHeroes.pcx"       },
+  { "player_2.snapping.left.xpos",             "0"                     },
+  { "player_2.snapping.left.ypos",             "4"                     },
+  { "player_2.snapping.left.frames",           "1"                     },
+  { "player_2.snapping.right",                 "RocksHeroes.pcx"       },
+  { "player_2.snapping.right.xpos",            "4"                     },
+  { "player_2.snapping.right.ypos",            "4"                     },
+  { "player_2.snapping.right.frames",          "1"                     },
+
+  { "player_3",                                        "RocksHeroes.pcx"       },
+  { "player_3.xpos",                           "0"                     },
+  { "player_3.ypos",                           "6"                     },
+  { "player_3.frames",                         "1"                     },
+  { "player_3.EDITOR",                         "RocksElements.pcx"     },
+  { "player_3.EDITOR.xpos",                    "6"                     },
+  { "player_3.EDITOR.ypos",                    "7"                     },
+  { "player_3.down",                           "RocksHeroes.pcx"       },
+  { "player_3.down.xpos",                      "0"                     },
+  { "player_3.down.ypos",                      "6"                     },
+  { "player_3.down.frames",                    "1"                     },
+  { "player_3.up",                             "RocksHeroes.pcx"       },
+  { "player_3.up.xpos",                                "4"                     },
+  { "player_3.up.ypos",                                "6"                     },
+  { "player_3.up.frames",                      "1"                     },
+  { "player_3.left",                           "RocksHeroes.pcx"       },
+  { "player_3.left.xpos",                      "0"                     },
+  { "player_3.left.ypos",                      "7"                     },
+  { "player_3.left.frames",                    "1"                     },
+  { "player_3.right",                          "RocksHeroes.pcx"       },
+  { "player_3.right.xpos",                     "4"                     },
+  { "player_3.right.ypos",                     "7"                     },
+  { "player_3.right.frames",                   "1"                     },
+  { "player_3.moving.down",                    "RocksHeroes.pcx"       },
+  { "player_3.moving.down.xpos",               "0"                     },
+  { "player_3.moving.down.ypos",               "6"                     },
+  { "player_3.moving.down.frames",             "4"                     },
+  { "player_3.moving.up",                      "RocksHeroes.pcx"       },
+  { "player_3.moving.up.xpos",                 "4"                     },
+  { "player_3.moving.up.ypos",                 "6"                     },
+  { "player_3.moving.up.frames",               "4"                     },
+  { "player_3.moving.left",                    "RocksHeroes.pcx"       },
+  { "player_3.moving.left.xpos",               "0"                     },
+  { "player_3.moving.left.ypos",               "7"                     },
+  { "player_3.moving.left.frames",             "4"                     },
+  { "player_3.moving.right",                   "RocksHeroes.pcx"       },
+  { "player_3.moving.right.xpos",              "4"                     },
+  { "player_3.moving.right.ypos",              "7"                     },
+  { "player_3.moving.right.frames",            "4"                     },
+  { "player_3.digging.down",                   "RocksHeroes.pcx"       },
+  { "player_3.digging.down.xpos",              "0"                     },
+  { "player_3.digging.down.ypos",              "6"                     },
+  { "player_3.digging.down.frames",            "4"                     },
+  { "player_3.digging.up",                     "RocksHeroes.pcx"       },
+  { "player_3.digging.up.xpos",                        "4"                     },
+  { "player_3.digging.up.ypos",                        "6"                     },
+  { "player_3.digging.up.frames",              "4"                     },
+  { "player_3.digging.left",                   "RocksHeroes.pcx"       },
+  { "player_3.digging.left.xpos",              "0"                     },
+  { "player_3.digging.left.ypos",              "7"                     },
+  { "player_3.digging.left.frames",            "4"                     },
+  { "player_3.digging.right",                  "RocksHeroes.pcx"       },
+  { "player_3.digging.right.xpos",             "4"                     },
+  { "player_3.digging.right.ypos",             "7"                     },
+  { "player_3.digging.right.frames",           "4"                     },
+  { "player_3.pushing.down",                   "RocksHeroes.pcx"       },
+  { "player_3.pushing.down.xpos",              "0"                     },
+  { "player_3.pushing.down.ypos",              "6"                     },
+  { "player_3.pushing.down.frames",            "4"                     },
+  { "player_3.pushing.down.delay",             "4"                     },
+  { "player_3.pushing.up",                     "RocksHeroes.pcx"       },
+  { "player_3.pushing.up.xpos",                        "4"                     },
+  { "player_3.pushing.up.ypos",                        "6"                     },
+  { "player_3.pushing.up.frames",              "4"                     },
+  { "player_3.pushing.up.delay",               "4"                     },
+  { "player_3.pushing.left",                   "RocksHeroes.pcx"       },
+  { "player_3.pushing.left.xpos",              "4"                     },
+  { "player_3.pushing.left.ypos",              "8"                     },
+  { "player_3.pushing.left.frames",            "4"                     },
+  { "player_3.pushing.left.delay",             "4"                     },
+  { "player_3.pushing.right",                  "RocksHeroes.pcx"       },
+  { "player_3.pushing.right.xpos",             "0"                     },
+  { "player_3.pushing.right.ypos",             "8"                     },
+  { "player_3.pushing.right.frames",           "4"                     },
+  { "player_3.pushing.right.delay",            "4"                     },
+  { "player_3.snapping.down",                  "RocksHeroes.pcx"       },
+  { "player_3.snapping.down.xpos",             "0"                     },
+  { "player_3.snapping.down.ypos",             "6"                     },
+  { "player_3.snapping.down.frames",           "1"                     },
+  { "player_3.snapping.up",                    "RocksHeroes.pcx"       },
+  { "player_3.snapping.up.xpos",               "4"                     },
+  { "player_3.snapping.up.ypos",               "6"                     },
+  { "player_3.snapping.up.frames",             "1"                     },
+  { "player_3.snapping.left",                  "RocksHeroes.pcx"       },
+  { "player_3.snapping.left.xpos",             "0"                     },
+  { "player_3.snapping.left.ypos",             "7"                     },
+  { "player_3.snapping.left.frames",           "1"                     },
+  { "player_3.snapping.right",                 "RocksHeroes.pcx"       },
+  { "player_3.snapping.right.xpos",            "4"                     },
+  { "player_3.snapping.right.ypos",            "7"                     },
+  { "player_3.snapping.right.frames",          "1"                     },
+
+  { "player_4",                                        "RocksHeroes.pcx"       },
+  { "player_4.xpos",                           "0"                     },
+  { "player_4.ypos",                           "9"                     },
+  { "player_4.frames",                         "1"                     },
+  { "player_4.EDITOR",                         "RocksElements.pcx"     },
+  { "player_4.EDITOR.xpos",                    "7"                     },
+  { "player_4.EDITOR.ypos",                    "7"                     },
+  { "player_4.down",                           "RocksHeroes.pcx"       },
+  { "player_4.down.xpos",                      "0"                     },
+  { "player_4.down.ypos",                      "9"                     },
+  { "player_4.down.frames",                    "1"                     },
+  { "player_4.up",                             "RocksHeroes.pcx"       },
+  { "player_4.up.xpos",                                "4"                     },
+  { "player_4.up.ypos",                                "9"                     },
+  { "player_4.up.frames",                      "1"                     },
+  { "player_4.left",                           "RocksHeroes.pcx"       },
+  { "player_4.left.xpos",                      "0"                     },
+  { "player_4.left.ypos",                      "10"                    },
+  { "player_4.left.frames",                    "1"                     },
+  { "player_4.right",                          "RocksHeroes.pcx"       },
+  { "player_4.right.xpos",                     "4"                     },
+  { "player_4.right.ypos",                     "10"                    },
+  { "player_4.right.frames",                   "1"                     },
+  { "player_4.moving.down",                    "RocksHeroes.pcx"       },
+  { "player_4.moving.down.xpos",               "0"                     },
+  { "player_4.moving.down.ypos",               "9"                     },
+  { "player_4.moving.down.frames",             "4"                     },
+  { "player_4.moving.up",                      "RocksHeroes.pcx"       },
+  { "player_4.moving.up.xpos",                 "4"                     },
+  { "player_4.moving.up.ypos",                 "9"                     },
+  { "player_4.moving.up.frames",               "4"                     },
+  { "player_4.moving.left",                    "RocksHeroes.pcx"       },
+  { "player_4.moving.left.xpos",               "0"                     },
+  { "player_4.moving.left.ypos",               "10"                    },
+  { "player_4.moving.left.frames",             "4"                     },
+  { "player_4.moving.right",                   "RocksHeroes.pcx"       },
+  { "player_4.moving.right.xpos",              "4"                     },
+  { "player_4.moving.right.ypos",              "10"                    },
+  { "player_4.moving.right.frames",            "4"                     },
+  { "player_4.digging.down",                   "RocksHeroes.pcx"       },
+  { "player_4.digging.down.xpos",              "0"                     },
+  { "player_4.digging.down.ypos",              "9"                     },
+  { "player_4.digging.down.frames",            "4"                     },
+  { "player_4.digging.up",                     "RocksHeroes.pcx"       },
+  { "player_4.digging.up.xpos",                        "4"                     },
+  { "player_4.digging.up.ypos",                        "9"                     },
+  { "player_4.digging.up.frames",              "4"                     },
+  { "player_4.digging.left",                   "RocksHeroes.pcx"       },
+  { "player_4.digging.left.xpos",              "0"                     },
+  { "player_4.digging.left.ypos",              "10"                    },
+  { "player_4.digging.left.frames",            "4"                     },
+  { "player_4.digging.right",                  "RocksHeroes.pcx"       },
+  { "player_4.digging.right.xpos",             "4"                     },
+  { "player_4.digging.right.ypos",             "10"                    },
+  { "player_4.digging.right.frames",           "4"                     },
+  { "player_4.pushing.down",                   "RocksHeroes.pcx"       },
+  { "player_4.pushing.down.xpos",              "0"                     },
+  { "player_4.pushing.down.ypos",              "9"                     },
+  { "player_4.pushing.down.frames",            "4"                     },
+  { "player_4.pushing.down.delay",             "4"                     },
+  { "player_4.pushing.up",                     "RocksHeroes.pcx"       },
+  { "player_4.pushing.up.xpos",                        "4"                     },
+  { "player_4.pushing.up.ypos",                        "9"                     },
+  { "player_4.pushing.up.frames",              "4"                     },
+  { "player_4.pushing.up.delay",               "4"                     },
+  { "player_4.pushing.left",                   "RocksHeroes.pcx"       },
+  { "player_4.pushing.left.xpos",              "4"                     },
+  { "player_4.pushing.left.ypos",              "11"                    },
+  { "player_4.pushing.left.frames",            "4"                     },
+  { "player_4.pushing.left.delay",             "4"                     },
+  { "player_4.pushing.right",                  "RocksHeroes.pcx"       },
+  { "player_4.pushing.right.xpos",             "0"                     },
+  { "player_4.pushing.right.ypos",             "11"                    },
+  { "player_4.pushing.right.frames",           "4"                     },
+  { "player_4.pushing.right.delay",            "4"                     },
+  { "player_4.snapping.down",                  "RocksHeroes.pcx"       },
+  { "player_4.snapping.down.xpos",             "0"                     },
+  { "player_4.snapping.down.ypos",             "9"                     },
+  { "player_4.snapping.down.frames",           "1"                     },
+  { "player_4.snapping.up",                    "RocksHeroes.pcx"       },
+  { "player_4.snapping.up.xpos",               "4"                     },
+  { "player_4.snapping.up.ypos",               "9"                     },
+  { "player_4.snapping.up.frames",             "1"                     },
+  { "player_4.snapping.left",                  "RocksHeroes.pcx"       },
+  { "player_4.snapping.left.xpos",             "0"                     },
+  { "player_4.snapping.left.ypos",             "10"                    },
+  { "player_4.snapping.left.frames",           "1"                     },
+  { "player_4.snapping.right",                 "RocksHeroes.pcx"       },
+  { "player_4.snapping.right.xpos",            "4"                     },
+  { "player_4.snapping.right.ypos",            "10"                    },
+  { "player_4.snapping.right.frames",          "1"                     },
 
   { "explosion",                               "RocksElements.pcx"     },
   { "explosion.xpos",                          "0"                     },
index 09418f341333c05d5e94e1d271bc3b823bae0d8b..91ae02fa181d4622240c6fe2b6f63eb41cdc38f7 100644 (file)
 #define IMG_BD_FIREFLY_LEFT                            27
 #define IMG_BD_FIREFLY_DOWN                            28
 #define IMG_BD_FIREFLY_MOVING                          29
-#define IMG_SP_EMPTY_SPACE                             30
-#define IMG_SP_ZONK                                    31
-#define IMG_SP_ZONK_FALLING                            32
-#define IMG_SP_ZONK_MOVING_LEFT                                33
-#define IMG_SP_ZONK_MOVING_RIGHT                       34
-#define IMG_SP_BASE                                    35
-#define IMG_SP_MURPHY                                  36
-#define IMG_SP_MURPHY_MOVING_LEFT                      37
-#define IMG_SP_MURPHY_MOVING_RIGHT                     38
-#define IMG_SP_MURPHY_DIGGING_LEFT                     39
-#define IMG_SP_MURPHY_DIGGING_RIGHT                    40
-#define IMG_SP_MURPHY_PUSHING_LEFT                     41
-#define IMG_SP_MURPHY_PUSHING_RIGHT                    42
-#define IMG_SP_MURPHY_SNAPPING_LEFT                    43
-#define IMG_SP_MURPHY_SNAPPING_RIGHT                   44
-#define IMG_SP_MURPHY_SNAPPING_UP                      45
-#define IMG_SP_MURPHY_SNAPPING_DOWN                    46
-#define IMG_SP_MURPHY_CLONE                            47
-#define IMG_SP_INFOTRON                                        48
-#define IMG_SP_INFOTRON_EDITOR                         49
-#define IMG_SP_INFOTRON_FALLING                                50
-#define IMG_SP_CHIP_SINGLE                             51
-#define IMG_SP_CHIP_LEFT                               52
-#define IMG_SP_CHIP_RIGHT                              53
-#define IMG_SP_CHIP_UPPER                              54
-#define IMG_SP_CHIP_LOWER                              55
-#define IMG_SP_HARD_GRAY                               56
-#define IMG_SP_HARD_GREEN                              57
-#define IMG_SP_HARD_BLUE                               58
-#define IMG_SP_HARD_RED                                        59
-#define IMG_SP_HARD_YELLOW                             60
-#define IMG_SP_EXIT_CLOSED                             61
-#define IMG_SP_EXIT_OPEN                               62
-#define IMG_SP_DISK_ORANGE                             63
-#define IMG_SP_DISK_ORANGE_FALLING                     64
-#define IMG_SP_DISK_ORANGE_PUSHING                     65
-#define IMG_SP_DISK_YELLOW                             66
-#define IMG_SP_DISK_YELLOW_PUSHING                     67
-#define IMG_SP_DISK_RED                                        68
-#define IMG_SP_DISK_RED_COLLECTING                     69
-#define IMG_SP_DISK_RED_ACTIVE                         70
-#define IMG_SP_PORT1_RIGHT                             71
-#define IMG_SP_PORT1_DOWN                              72
-#define IMG_SP_PORT1_LEFT                              73
-#define IMG_SP_PORT1_UP                                        74
-#define IMG_SP_PORT2_RIGHT                             75
-#define IMG_SP_PORT2_DOWN                              76
-#define IMG_SP_PORT2_LEFT                              77
-#define IMG_SP_PORT2_UP                                        78
-#define IMG_SP_PORT_X                                  79
-#define IMG_SP_PORT_Y                                  80
-#define IMG_SP_PORT_XY                                 81
-#define IMG_SP_SNIKSNAK                                        82
-#define IMG_SP_SNIKSNAK_LEFT                           83
-#define IMG_SP_SNIKSNAK_RIGHT                          84
-#define IMG_SP_SNIKSNAK_UP                             85
-#define IMG_SP_SNIKSNAK_DOWN                           86
-#define IMG_SP_ELECTRON                                        87
-#define IMG_SP_ELECTRON_EDITOR                         88
-#define IMG_SP_TERMINAL                                        89
-#define IMG_SP_TERMINAL_EDITOR                         90
-#define IMG_SP_TERMINAL_ACTIVE                         91
-#define IMG_SP_BUGGY_BASE                              92
-#define IMG_SP_BUGGY_BASE_ACTIVATING                   93
-#define IMG_SP_BUGGY_BASE_ACTIVE                       94
-#define IMG_SP_HARD_BASE1                              95
-#define IMG_SP_HARD_BASE2                              96
-#define IMG_SP_HARD_BASE3                              97
-#define IMG_SP_HARD_BASE4                              98
-#define IMG_SP_HARD_BASE5                              99
-#define IMG_SP_HARD_BASE6                              100
-#define IMG_SP_EXPLOSION                               101
-#define IMG_SP_EXPLOSION_INFOTRON                      102
-#define IMG_SOKOBAN_OBJECT                             103
-#define IMG_SOKOBAN_OBJECT_EDITOR                      104
-#define IMG_SOKOBAN_FIELD_EMPTY                                105
-#define IMG_SOKOBAN_FIELD_FULL                         106
-#define IMG_EMPTY_SPACE                                        107
-#define IMG_SAND                                       108
-#define IMG_SAND_CRUMBLED                              109
-#define IMG_WALL                                       110
-#define IMG_WALL_CRUMBLED                              111
-#define IMG_STEELWALL                                  112
-#define IMG_ROCK                                       113
-#define IMG_ROCK_FALLING                               114
-#define IMG_ROCK_MOVING_LEFT                           115
-#define IMG_ROCK_MOVING_RIGHT                          116
-#define IMG_EMERALD                                    117
-#define IMG_EMERALD_MOVING                             118
-#define IMG_EMERALD_FALLING                            119
-#define IMG_DIAMOND                                    120
-#define IMG_DIAMOND_MOVING                             121
-#define IMG_DIAMOND_FALLING                            122
-#define IMG_BOMB                                       123
-#define IMG_NUT                                                124
-#define IMG_NUT_FALLING                                        125
-#define IMG_NUT_MOVING_LEFT                            126
-#define IMG_NUT_MOVING_RIGHT                           127
-#define IMG_NUT_CRACKING                               128
-#define IMG_DYNAMITE                                   129
-#define IMG_DYNAMITE_EDITOR                            130
-#define IMG_DYNAMITE_ACTIVE                            131
-#define IMG_DYNAMITE_ACTIVE_EDITOR                     132
-#define IMG_WALL_EMERALD                               133
-#define IMG_WALL_DIAMOND                               134
-#define IMG_BUG_RIGHT                                  135
-#define IMG_BUG_UP                                     136
-#define IMG_BUG_LEFT                                   137
-#define IMG_BUG_DOWN                                   138
-#define IMG_SPACESHIP_RIGHT                            139
-#define IMG_SPACESHIP_UP                               140
-#define IMG_SPACESHIP_LEFT                             141
-#define IMG_SPACESHIP_DOWN                             142
-#define IMG_YAMYAM                                     143
-#define IMG_YAMYAM_MOVING                              144
-#define IMG_ROBOT                                      145
-#define IMG_ROBOT_MOVING                               146
-#define IMG_ROBOT_WHEEL                                        147
-#define IMG_ROBOT_WHEEL_ACTIVE                         148
-#define IMG_MAGIC_WALL                                 149
-#define IMG_MAGIC_WALL_ACTIVE                          150
-#define IMG_MAGIC_WALL_FILLING                         151
-#define IMG_MAGIC_WALL_FULL                            152
-#define IMG_MAGIC_WALL_EMPTYING                                153
-#define IMG_MAGIC_WALL_DEAD                            154
-#define IMG_QUICKSAND_EMPTY                            155
-#define IMG_QUICKSAND_FILLING                          156
-#define IMG_QUICKSAND_FULL                             157
-#define IMG_QUICKSAND_FULL_EDITOR                      158
-#define IMG_QUICKSAND_EMPTYING                         159
-#define IMG_ACIDPOOL_TOPLEFT                           160
-#define IMG_ACIDPOOL_TOPRIGHT                          161
-#define IMG_ACIDPOOL_BOTTOMLEFT                                162
-#define IMG_ACIDPOOL_BOTTOM                            163
-#define IMG_ACIDPOOL_BOTTOMRIGHT                       164
-#define IMG_ACID                                       165
-#define IMG_ACID_SPLASH_LEFT                           166
-#define IMG_ACID_SPLASH_RIGHT                          167
-#define IMG_AMOEBA_DROP                                        168
-#define IMG_AMOEBA_CREATING                            169
-#define IMG_AMOEBA_SHRINKING                           170
-#define IMG_AMOEBA_WET                                 171
-#define IMG_AMOEBA_WET_EDITOR                          172
-#define IMG_AMOEBA_DRIPPING                            173
-#define IMG_AMOEBA_DRY                                 174
-#define IMG_AMOEBA_FULL                                        175
-#define IMG_AMOEBA_FULL_EDITOR                         176
-#define IMG_AMOEBA_DEAD                                        177
-#define IMG_AMOEBA_DEAD_EDITOR                         178
-#define IMG_EM_KEY1                                    179
-#define IMG_EM_KEY2                                    180
-#define IMG_EM_KEY3                                    181
-#define IMG_EM_KEY4                                    182
-#define IMG_EM_GATE1                                   183
-#define IMG_EM_GATE2                                   184
-#define IMG_EM_GATE3                                   185
-#define IMG_EM_GATE4                                   186
-#define IMG_EM_GATE1_GRAY                              187
-#define IMG_EM_GATE1_GRAY_EDITOR                       188
-#define IMG_EM_GATE2_GRAY                              189
-#define IMG_EM_GATE2_GRAY_EDITOR                       190
-#define IMG_EM_GATE3_GRAY                              191
-#define IMG_EM_GATE3_GRAY_EDITOR                       192
-#define IMG_EM_GATE4_GRAY                              193
-#define IMG_EM_GATE4_GRAY_EDITOR                       194
-#define IMG_EXIT_CLOSED                                        195
-#define IMG_EXIT_OPENING                               196
-#define IMG_EXIT_OPEN                                  197
-#define IMG_BALLOON                                    198
-#define IMG_BALLOON_MOVING                             199
-#define IMG_BALLOON_SEND_LEFT                          200
-#define IMG_BALLOON_SEND_RIGHT                         201
-#define IMG_BALLOON_SEND_UP                            202
-#define IMG_BALLOON_SEND_DOWN                          203
-#define IMG_BALLOON_SEND_ANY_DIRECTION                 204
-#define IMG_SPRING                                     205
-#define IMG_SPRING_MOVING                              206
-#define IMG_EMC_STEELWALL1                             207
-#define IMG_EMC_STEELWALL2                             208
-#define IMG_EMC_STEELWALL3                             209
-#define IMG_EMC_STEELWALL4                             210
-#define IMG_EMC_WALL_PILLAR_UPPER                      211
-#define IMG_EMC_WALL_PILLAR_MIDDLE                     212
-#define IMG_EMC_WALL_PILLAR_LOWER                      213
-#define IMG_EMC_WALL4                                  214
-#define IMG_EMC_WALL5                                  215
-#define IMG_EMC_WALL6                                  216
-#define IMG_EMC_WALL7                                  217
-#define IMG_EMC_WALL8                                  218
-#define IMG_INVISIBLE_STEELWALL                                219
-#define IMG_INVISIBLE_STEELWALL_EDITOR                 220
-#define IMG_INVISIBLE_STEELWALL_ACTIVE                 221
-#define IMG_INVISIBLE_WALL                             222
-#define IMG_INVISIBLE_WALL_EDITOR                      223
-#define IMG_INVISIBLE_WALL_ACTIVE                      224
-#define IMG_INVISIBLE_SAND                             225
-#define IMG_INVISIBLE_SAND_EDITOR                      226
-#define IMG_INVISIBLE_SAND_ACTIVE                      227
-#define IMG_CONVEYOR_BELT1_MIDDLE                      228
-#define IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE               229
-#define IMG_CONVEYOR_BELT1_LEFT                                230
-#define IMG_CONVEYOR_BELT1_LEFT_ACTIVE                 231
-#define IMG_CONVEYOR_BELT1_RIGHT                       232
-#define IMG_CONVEYOR_BELT1_RIGHT_ACTIVE                        233
-#define IMG_CONVEYOR_BELT1_SWITCH_LEFT                 234
-#define IMG_CONVEYOR_BELT1_SWITCH_MIDDLE               235
-#define IMG_CONVEYOR_BELT1_SWITCH_RIGHT                        236
-#define IMG_CONVEYOR_BELT2_MIDDLE                      237
-#define IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE               238
-#define IMG_CONVEYOR_BELT2_LEFT                                239
-#define IMG_CONVEYOR_BELT2_LEFT_ACTIVE                 240
-#define IMG_CONVEYOR_BELT2_RIGHT                       241
-#define IMG_CONVEYOR_BELT2_RIGHT_ACTIVE                        242
-#define IMG_CONVEYOR_BELT2_SWITCH_LEFT                 243
-#define IMG_CONVEYOR_BELT2_SWITCH_MIDDLE               244
-#define IMG_CONVEYOR_BELT2_SWITCH_RIGHT                        245
-#define IMG_CONVEYOR_BELT3_MIDDLE                      246
-#define IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE               247
-#define IMG_CONVEYOR_BELT3_LEFT                                248
-#define IMG_CONVEYOR_BELT3_LEFT_ACTIVE                 249
-#define IMG_CONVEYOR_BELT3_RIGHT                       250
-#define IMG_CONVEYOR_BELT3_RIGHT_ACTIVE                        251
-#define IMG_CONVEYOR_BELT3_SWITCH_LEFT                 252
-#define IMG_CONVEYOR_BELT3_SWITCH_MIDDLE               253
-#define IMG_CONVEYOR_BELT3_SWITCH_RIGHT                        254
-#define IMG_CONVEYOR_BELT4_MIDDLE                      255
-#define IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE               256
-#define IMG_CONVEYOR_BELT4_LEFT                                257
-#define IMG_CONVEYOR_BELT4_LEFT_ACTIVE                 258
-#define IMG_CONVEYOR_BELT4_RIGHT                       259
-#define IMG_CONVEYOR_BELT4_RIGHT_ACTIVE                        260
-#define IMG_CONVEYOR_BELT4_SWITCH_LEFT                 261
-#define IMG_CONVEYOR_BELT4_SWITCH_MIDDLE               262
-#define IMG_CONVEYOR_BELT4_SWITCH_RIGHT                        263
-#define IMG_SWITCHGATE_SWITCH_UP                       264
-#define IMG_SWITCHGATE_SWITCH_DOWN                     265
-#define IMG_LIGHT_SWITCH                               266
-#define IMG_LIGHT_SWITCH_ACTIVE                                267
-#define IMG_TIMEGATE_SWITCH                            268
-#define IMG_TIMEGATE_SWITCH_ACTIVE                     269
-#define IMG_ENVELOPE                                   270
-#define IMG_SIGN_EXCLAMATION                           271
-#define IMG_SIGN_STOP                                  272
-#define IMG_LANDMINE                                   273
-#define IMG_STEELWALL_SLANTED                          274
-#define IMG_EXTRA_TIME                                 275
-#define IMG_SHIELD_NORMAL                              276
-#define IMG_SHIELD_NORMAL_ACTIVE                       277
-#define IMG_SHIELD_DEADLY                              278
-#define IMG_SHIELD_DEADLY_ACTIVE                       279
-#define IMG_SWITCHGATE_CLOSED                          280
-#define IMG_SWITCHGATE_OPENING                         281
-#define IMG_SWITCHGATE_OPEN                            282
-#define IMG_SWITCHGATE_CLOSING                         283
-#define IMG_TIMEGATE_CLOSED                            284
-#define IMG_TIMEGATE_OPENING                           285
-#define IMG_TIMEGATE_OPEN                              286
-#define IMG_TIMEGATE_CLOSING                           287
-#define IMG_PEARL                                      288
-#define IMG_PEARL_BREAKING                             289
-#define IMG_CRYSTAL                                    290
-#define IMG_WALL_PEARL                                 291
-#define IMG_WALL_CRYSTAL                               292
-#define IMG_TUBE_RIGHT_DOWN                            293
-#define IMG_TUBE_HORIZONTAL_DOWN                       294
-#define IMG_TUBE_LEFT_DOWN                             295
-#define IMG_TUBE_HORIZONTAL                            296
-#define IMG_TUBE_VERTICAL_RIGHT                                297
-#define IMG_TUBE_ALL                                   298
-#define IMG_TUBE_VERTICAL_LEFT                         299
-#define IMG_TUBE_VERTICAL                              300
-#define IMG_TUBE_RIGHT_UP                              301
-#define IMG_TUBE_HORIZONTAL_UP                         302
-#define IMG_TUBE_LEFT_UP                               303
-#define IMG_TRAP                                       304
-#define IMG_TRAP_ACTIVE                                        305
-#define IMG_DX_SUPABOMB                                        306
-#define IMG_KEY1                                       307
-#define IMG_KEY1_EDITOR                                        308
-#define IMG_KEY2                                       309
-#define IMG_KEY2_EDITOR                                        310
-#define IMG_KEY3                                       311
-#define IMG_KEY3_EDITOR                                        312
-#define IMG_KEY4                                       313
-#define IMG_KEY4_EDITOR                                        314
-#define IMG_GATE1                                      315
-#define IMG_GATE2                                      316
-#define IMG_GATE3                                      317
-#define IMG_GATE4                                      318
-#define IMG_GATE1_GRAY                                 319
-#define IMG_GATE1_GRAY_EDITOR                          320
-#define IMG_GATE2_GRAY                                 321
-#define IMG_GATE2_GRAY_EDITOR                          322
-#define IMG_GATE3_GRAY                                 323
-#define IMG_GATE3_GRAY_EDITOR                          324
-#define IMG_GATE4_GRAY                                 325
-#define IMG_GATE4_GRAY_EDITOR                          326
-#define IMG_GAMEOFLIFE                                 327
-#define IMG_BIOMAZE                                    328
-#define IMG_PACMAN_RIGHT                               329
-#define IMG_PACMAN_UP                                  330
-#define IMG_PACMAN_LEFT                                        331
-#define IMG_PACMAN_DOWN                                        332
-#define IMG_LAMP                                       333
-#define IMG_LAMP_EDITOR                                        334
-#define IMG_LAMP_ACTIVE                                        335
-#define IMG_TIME_ORB_FULL                              336
-#define IMG_TIME_ORB_EMPTY                             337
-#define IMG_EMERALD_YELLOW                             338
-#define IMG_EMERALD_YELLOW_MOVING                      339
-#define IMG_EMERALD_YELLOW_FALLING                     340
-#define IMG_EMERALD_RED                                        341
-#define IMG_EMERALD_RED_MOVING                         342
-#define IMG_EMERALD_RED_FALLING                                343
-#define IMG_EMERALD_PURPLE                             344
-#define IMG_EMERALD_PURPLE_MOVING                      345
-#define IMG_EMERALD_PURPLE_FALLING                     346
-#define IMG_WALL_EMERALD_YELLOW                                347
-#define IMG_WALL_EMERALD_RED                           348
-#define IMG_WALL_EMERALD_PURPLE                                349
-#define IMG_WALL_BD_DIAMOND                            350
-#define IMG_WALL_GROWING                               351
-#define IMG_WALL_GROWING_XY                            352
-#define IMG_WALL_GROWING_XY_EDITOR                     353
-#define IMG_WALL_GROWING_X                             354
-#define IMG_WALL_GROWING_X_EDITOR                      355
-#define IMG_WALL_GROWING_Y                             356
-#define IMG_WALL_GROWING_Y_EDITOR                      357
-#define IMG_WALL_GROWING_ACTIVE_LEFT                   358
-#define IMG_WALL_GROWING_ACTIVE_RIGHT                  359
-#define IMG_WALL_GROWING_ACTIVE_UP                     360
-#define IMG_WALL_GROWING_ACTIVE_DOWN                   361
-#define IMG_BLACK_ORB                                  362
-#define IMG_SPEED_PILL                                 363
-#define IMG_DARK_YAMYAM                                        364
-#define IMG_DYNABOMB_ACTIVE                            365
-#define IMG_DYNABOMB_PLAYER1_ACTIVE                    366
-#define IMG_DYNABOMB_PLAYER2_ACTIVE                    367
-#define IMG_DYNABOMB_PLAYER3_ACTIVE                    368
-#define IMG_DYNABOMB_PLAYER4_ACTIVE                    369
-#define IMG_DYNABOMB_NR                                        370
-#define IMG_DYNABOMB_SZ                                        371
-#define IMG_DYNABOMB_XL                                        372
-#define IMG_PIG                                                373
-#define IMG_PIG_DOWN                                   374
-#define IMG_PIG_UP                                     375
-#define IMG_PIG_LEFT                                   376
-#define IMG_PIG_RIGHT                                  377
-#define IMG_PIG_MOVING_DOWN                            378
-#define IMG_PIG_MOVING_UP                              379
-#define IMG_PIG_MOVING_LEFT                            380
-#define IMG_PIG_MOVING_RIGHT                           381
-#define IMG_PIG_EATING_DOWN                            382
-#define IMG_PIG_EATING_UP                              383
-#define IMG_PIG_EATING_LEFT                            384
-#define IMG_PIG_EATING_RIGHT                           385
-#define IMG_DRAGON                                     386
-#define IMG_DRAGON_DOWN                                        387
-#define IMG_DRAGON_UP                                  388
-#define IMG_DRAGON_LEFT                                        389
-#define IMG_DRAGON_RIGHT                               390
-#define IMG_DRAGON_MOVING_DOWN                         391
-#define IMG_DRAGON_MOVING_UP                           392
-#define IMG_DRAGON_MOVING_LEFT                         393
-#define IMG_DRAGON_MOVING_RIGHT                                394
-#define IMG_DRAGON_ATTACKING_DOWN                      395
-#define IMG_DRAGON_ATTACKING_UP                                396
-#define IMG_DRAGON_ATTACKING_LEFT                      397
-#define IMG_DRAGON_ATTACKING_RIGHT                     398
-#define IMG_MOLE                                       399
-#define IMG_MOLE_DOWN                                  400
-#define IMG_MOLE_UP                                    401
-#define IMG_MOLE_LEFT                                  402
-#define IMG_MOLE_RIGHT                                 403
-#define IMG_MOLE_MOVING_DOWN                           404
-#define IMG_MOLE_MOVING_UP                             405
-#define IMG_MOLE_MOVING_LEFT                           406
-#define IMG_MOLE_MOVING_RIGHT                          407
-#define IMG_MOLE_DIGGING_DOWN                          408
-#define IMG_MOLE_DIGGING_UP                            409
-#define IMG_MOLE_DIGGING_LEFT                          410
-#define IMG_MOLE_DIGGING_RIGHT                         411
-#define IMG_PENGUIN                                    412
-#define IMG_PENGUIN_EDITOR                             413
-#define IMG_PENGUIN_DOWN                               414
-#define IMG_PENGUIN_UP                                 415
-#define IMG_PENGUIN_LEFT                               416
-#define IMG_PENGUIN_RIGHT                              417
-#define IMG_PENGUIN_MOVING_DOWN                                418
-#define IMG_PENGUIN_MOVING_UP                          419
-#define IMG_PENGUIN_MOVING_LEFT                                420
-#define IMG_PENGUIN_MOVING_RIGHT                       421
-#define IMG_SATELLITE                                  422
-#define IMG_SATELLITE_MOVING                           423
-#define IMG_FLAMES1_LEFT                               424
-#define IMG_FLAMES2_LEFT                               425
-#define IMG_FLAMES3_LEFT                               426
-#define IMG_FLAMES1_RIGHT                              427
-#define IMG_FLAMES2_RIGHT                              428
-#define IMG_FLAMES3_RIGHT                              429
-#define IMG_FLAMES1_UP                                 430
-#define IMG_FLAMES2_UP                                 431
-#define IMG_FLAMES3_UP                                 432
-#define IMG_FLAMES1_DOWN                               433
-#define IMG_FLAMES2_DOWN                               434
-#define IMG_FLAMES3_DOWN                               435
-#define IMG_STONEBLOCK                                 436
-#define IMG_PLAYER1                                    437
-#define IMG_PLAYER1_EDITOR                             438
-#define IMG_PLAYER1_DOWN                               439
-#define IMG_PLAYER1_UP                                 440
-#define IMG_PLAYER1_LEFT                               441
-#define IMG_PLAYER1_RIGHT                              442
-#define IMG_PLAYER1_MOVING_DOWN                                443
-#define IMG_PLAYER1_MOVING_UP                          444
-#define IMG_PLAYER1_MOVING_LEFT                                445
-#define IMG_PLAYER1_MOVING_RIGHT                       446
-#define IMG_PLAYER1_DIGGING_DOWN                       447
-#define IMG_PLAYER1_DIGGING_UP                         448
-#define IMG_PLAYER1_DIGGING_LEFT                       449
-#define IMG_PLAYER1_DIGGING_RIGHT                      450
-#define IMG_PLAYER1_PUSHING_DOWN                       451
-#define IMG_PLAYER1_PUSHING_UP                         452
-#define IMG_PLAYER1_PUSHING_LEFT                       453
-#define IMG_PLAYER1_PUSHING_RIGHT                      454
-#define IMG_PLAYER1_SNAPPING_DOWN                      455
-#define IMG_PLAYER1_SNAPPING_UP                                456
-#define IMG_PLAYER1_SNAPPING_LEFT                      457
-#define IMG_PLAYER1_SNAPPING_RIGHT                     458
-#define IMG_PLAYER2                                    459
-#define IMG_PLAYER2_EDITOR                             460
-#define IMG_PLAYER2_DOWN                               461
-#define IMG_PLAYER2_UP                                 462
-#define IMG_PLAYER2_LEFT                               463
-#define IMG_PLAYER2_RIGHT                              464
-#define IMG_PLAYER2_MOVING_DOWN                                465
-#define IMG_PLAYER2_MOVING_UP                          466
-#define IMG_PLAYER2_MOVING_LEFT                                467
-#define IMG_PLAYER2_MOVING_RIGHT                       468
-#define IMG_PLAYER2_DIGGING_DOWN                       469
-#define IMG_PLAYER2_DIGGING_UP                         470
-#define IMG_PLAYER2_DIGGING_LEFT                       471
-#define IMG_PLAYER2_DIGGING_RIGHT                      472
-#define IMG_PLAYER2_PUSHING_DOWN                       473
-#define IMG_PLAYER2_PUSHING_UP                         474
-#define IMG_PLAYER2_PUSHING_LEFT                       475
-#define IMG_PLAYER2_PUSHING_RIGHT                      476
-#define IMG_PLAYER2_SNAPPING_DOWN                      477
-#define IMG_PLAYER2_SNAPPING_UP                                478
-#define IMG_PLAYER2_SNAPPING_LEFT                      479
-#define IMG_PLAYER2_SNAPPING_RIGHT                     480
-#define IMG_PLAYER3                                    481
-#define IMG_PLAYER3_EDITOR                             482
-#define IMG_PLAYER3_DOWN                               483
-#define IMG_PLAYER3_UP                                 484
-#define IMG_PLAYER3_LEFT                               485
-#define IMG_PLAYER3_RIGHT                              486
-#define IMG_PLAYER3_MOVING_DOWN                                487
-#define IMG_PLAYER3_MOVING_UP                          488
-#define IMG_PLAYER3_MOVING_LEFT                                489
-#define IMG_PLAYER3_MOVING_RIGHT                       490
-#define IMG_PLAYER3_DIGGING_DOWN                       491
-#define IMG_PLAYER3_DIGGING_UP                         492
-#define IMG_PLAYER3_DIGGING_LEFT                       493
-#define IMG_PLAYER3_DIGGING_RIGHT                      494
-#define IMG_PLAYER3_PUSHING_DOWN                       495
-#define IMG_PLAYER3_PUSHING_UP                         496
-#define IMG_PLAYER3_PUSHING_LEFT                       497
-#define IMG_PLAYER3_PUSHING_RIGHT                      498
-#define IMG_PLAYER3_SNAPPING_DOWN                      499
-#define IMG_PLAYER3_SNAPPING_UP                                500
-#define IMG_PLAYER3_SNAPPING_LEFT                      501
-#define IMG_PLAYER3_SNAPPING_RIGHT                     502
-#define IMG_PLAYER4                                    503
-#define IMG_PLAYER4_EDITOR                             504
-#define IMG_PLAYER4_DOWN                               505
-#define IMG_PLAYER4_UP                                 506
-#define IMG_PLAYER4_LEFT                               507
-#define IMG_PLAYER4_RIGHT                              508
-#define IMG_PLAYER4_MOVING_DOWN                                509
-#define IMG_PLAYER4_MOVING_UP                          510
-#define IMG_PLAYER4_MOVING_LEFT                                511
-#define IMG_PLAYER4_MOVING_RIGHT                       512
-#define IMG_PLAYER4_DIGGING_DOWN                       513
-#define IMG_PLAYER4_DIGGING_UP                         514
-#define IMG_PLAYER4_DIGGING_LEFT                       515
-#define IMG_PLAYER4_DIGGING_RIGHT                      516
-#define IMG_PLAYER4_PUSHING_DOWN                       517
-#define IMG_PLAYER4_PUSHING_UP                         518
-#define IMG_PLAYER4_PUSHING_LEFT                       519
-#define IMG_PLAYER4_PUSHING_RIGHT                      520
-#define IMG_PLAYER4_SNAPPING_DOWN                      521
-#define IMG_PLAYER4_SNAPPING_UP                                522
-#define IMG_PLAYER4_SNAPPING_LEFT                      523
-#define IMG_PLAYER4_SNAPPING_RIGHT                     524
-#define IMG_EXPLOSION                                  525
-#define IMG_TWINKLE_BLUE                               526
-#define IMG_TWINKLE_WHITE                              527
-#define IMG_STEELWALL_TOPLEFT                          528
-#define IMG_STEELWALL_TOPRIGHT                         529
-#define IMG_STEELWALL_BOTTOMLEFT                       530
-#define IMG_STEELWALL_BOTTOMRIGHT                      531
-#define IMG_STEELWALL_HORIZONTAL                       532
-#define IMG_STEELWALL_VERTICAL                         533
-#define IMG_STEELWALL_TOPLEFT_EDITOR                   534
-#define IMG_STEELWALL_TOPRIGHT_EDITOR                  535
-#define IMG_STEELWALL_BOTTOMLEFT_EDITOR                        536
-#define IMG_STEELWALL_BOTTOMRIGHT_EDITOR               537
-#define IMG_STEELWALL_HORIZONTAL_EDITOR                        538
-#define IMG_STEELWALL_VERTICAL_EDITOR                  539
-#define IMG_INVISIBLE_STEELWALL_TOPLEFT                        540
-#define IMG_INVISIBLE_STEELWALL_TOPRIGHT               541
-#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT             542
-#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT            543
-#define IMG_INVISIBLE_STEELWALL_HORIZONTAL             544
-#define IMG_INVISIBLE_STEELWALL_VERTICAL               545
-#define IMG_INVISIBLE_STEELWALL_TOPLEFT_EDITOR         546
-#define IMG_INVISIBLE_STEELWALL_TOPRIGHT_EDITOR                547
-#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT_EDITOR      548
-#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT_EDITOR     549
-#define IMG_INVISIBLE_STEELWALL_HORIZONTAL_EDITOR      550
-#define IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR                551
-#define IMG_ARROW_LEFT                                 552
-#define IMG_ARROW_RIGHT                                        553
-#define IMG_ARROW_UP                                   554
-#define IMG_ARROW_DOWN                                 555
-#define IMG_CHAR_SPACE                                 556
-#define IMG_CHAR_EXCLAM                                        557
-#define IMG_CHAR_QUOTEDBL                              558
-#define IMG_CHAR_NUMBERSIGN                            559
-#define IMG_CHAR_DOLLAR                                        560
-#define IMG_CHAR_PROCENT                               561
-#define IMG_CHAR_AMPERSAND                             562
-#define IMG_CHAR_APOSTROPHE                            563
-#define IMG_CHAR_PARENLEFT                             564
-#define IMG_CHAR_PARENRIGHT                            565
-#define IMG_CHAR_ASTERISK                              566
-#define IMG_CHAR_PLUS                                  567
-#define IMG_CHAR_COMMA                                 568
-#define IMG_CHAR_MINUS                                 569
-#define IMG_CHAR_PERIOD                                        570
-#define IMG_CHAR_SLASH                                 571
-#define IMG_CHAR_0                                     572
-#define IMG_CHAR_1                                     573
-#define IMG_CHAR_2                                     574
-#define IMG_CHAR_3                                     575
-#define IMG_CHAR_4                                     576
-#define IMG_CHAR_5                                     577
-#define IMG_CHAR_6                                     578
-#define IMG_CHAR_7                                     579
-#define IMG_CHAR_8                                     580
-#define IMG_CHAR_9                                     581
-#define IMG_CHAR_COLON                                 582
-#define IMG_CHAR_SEMICOLON                             583
-#define IMG_CHAR_LESS                                  584
-#define IMG_CHAR_EQUAL                                 585
-#define IMG_CHAR_GREATER                               586
-#define IMG_CHAR_QUESTION                              587
-#define IMG_CHAR_AT                                    588
-#define IMG_CHAR_A                                     589
-#define IMG_CHAR_B                                     590
-#define IMG_CHAR_C                                     591
-#define IMG_CHAR_D                                     592
-#define IMG_CHAR_E                                     593
-#define IMG_CHAR_F                                     594
-#define IMG_CHAR_G                                     595
-#define IMG_CHAR_H                                     596
-#define IMG_CHAR_I                                     597
-#define IMG_CHAR_J                                     598
-#define IMG_CHAR_K                                     599
-#define IMG_CHAR_L                                     600
-#define IMG_CHAR_M                                     601
-#define IMG_CHAR_N                                     602
-#define IMG_CHAR_O                                     603
-#define IMG_CHAR_P                                     604
-#define IMG_CHAR_Q                                     605
-#define IMG_CHAR_R                                     606
-#define IMG_CHAR_S                                     607
-#define IMG_CHAR_T                                     608
-#define IMG_CHAR_U                                     609
-#define IMG_CHAR_V                                     610
-#define IMG_CHAR_W                                     611
-#define IMG_CHAR_X                                     612
-#define IMG_CHAR_Y                                     613
-#define IMG_CHAR_Z                                     614
-#define IMG_CHAR_AE                                    615
-#define IMG_CHAR_OE                                    616
-#define IMG_CHAR_UE                                    617
-#define IMG_CHAR_COPYRIGHT                             618
-#define IMG_CHAR_UNDERSCORE                            619
-#define IMG_CHAR_EMPTY                                 620
-#define IMG_CHAR_DEGREE                                        621
-#define IMG_CHAR_TM                                    622
-#define IMG_CHAR_CURSOR                                        623
-#define IMG_CUSTOM_1                                   624
-#define IMG_CUSTOM_2                                   625
-#define IMG_CUSTOM_3                                   626
-#define IMG_CUSTOM_4                                   627
-#define IMG_CUSTOM_5                                   628
-#define IMG_CUSTOM_6                                   629
-#define IMG_CUSTOM_7                                   630
-#define IMG_CUSTOM_8                                   631
-#define IMG_CUSTOM_9                                   632
-#define IMG_CUSTOM_10                                  633
-#define IMG_CUSTOM_11                                  634
-#define IMG_CUSTOM_12                                  635
-#define IMG_CUSTOM_13                                  636
-#define IMG_CUSTOM_14                                  637
-#define IMG_CUSTOM_15                                  638
-#define IMG_CUSTOM_16                                  639
-#define IMG_CUSTOM_17                                  640
-#define IMG_CUSTOM_18                                  641
-#define IMG_CUSTOM_19                                  642
-#define IMG_CUSTOM_20                                  643
-#define IMG_CUSTOM_21                                  644
-#define IMG_CUSTOM_22                                  645
-#define IMG_CUSTOM_23                                  646
-#define IMG_CUSTOM_24                                  647
-#define IMG_CUSTOM_25                                  648
-#define IMG_CUSTOM_26                                  649
-#define IMG_CUSTOM_27                                  650
-#define IMG_CUSTOM_28                                  651
-#define IMG_CUSTOM_29                                  652
-#define IMG_CUSTOM_30                                  653
-#define IMG_CUSTOM_31                                  654
-#define IMG_CUSTOM_32                                  655
-#define IMG_CUSTOM_33                                  656
-#define IMG_CUSTOM_34                                  657
-#define IMG_CUSTOM_35                                  658
-#define IMG_CUSTOM_36                                  659
-#define IMG_CUSTOM_37                                  660
-#define IMG_CUSTOM_38                                  661
-#define IMG_CUSTOM_39                                  662
-#define IMG_CUSTOM_40                                  663
-#define IMG_CUSTOM_41                                  664
-#define IMG_CUSTOM_42                                  665
-#define IMG_CUSTOM_43                                  666
-#define IMG_CUSTOM_44                                  667
-#define IMG_CUSTOM_45                                  668
-#define IMG_CUSTOM_46                                  669
-#define IMG_CUSTOM_47                                  670
-#define IMG_CUSTOM_48                                  671
-#define IMG_CUSTOM_49                                  672
-#define IMG_CUSTOM_50                                  673
-#define IMG_CUSTOM_51                                  674
-#define IMG_CUSTOM_52                                  675
-#define IMG_CUSTOM_53                                  676
-#define IMG_CUSTOM_54                                  677
-#define IMG_CUSTOM_55                                  678
-#define IMG_CUSTOM_56                                  679
-#define IMG_CUSTOM_57                                  680
-#define IMG_CUSTOM_58                                  681
-#define IMG_CUSTOM_59                                  682
-#define IMG_CUSTOM_60                                  683
-#define IMG_CUSTOM_61                                  684
-#define IMG_CUSTOM_62                                  685
-#define IMG_CUSTOM_63                                  686
-#define IMG_CUSTOM_64                                  687
-#define IMG_CUSTOM_65                                  688
-#define IMG_CUSTOM_66                                  689
-#define IMG_CUSTOM_67                                  690
-#define IMG_CUSTOM_68                                  691
-#define IMG_CUSTOM_69                                  692
-#define IMG_CUSTOM_70                                  693
-#define IMG_CUSTOM_71                                  694
-#define IMG_CUSTOM_72                                  695
-#define IMG_CUSTOM_73                                  696
-#define IMG_CUSTOM_74                                  697
-#define IMG_CUSTOM_75                                  698
-#define IMG_CUSTOM_76                                  699
-#define IMG_CUSTOM_77                                  700
-#define IMG_CUSTOM_78                                  701
-#define IMG_CUSTOM_79                                  702
-#define IMG_CUSTOM_80                                  703
-#define IMG_CUSTOM_81                                  704
-#define IMG_CUSTOM_82                                  705
-#define IMG_CUSTOM_83                                  706
-#define IMG_CUSTOM_84                                  707
-#define IMG_CUSTOM_85                                  708
-#define IMG_CUSTOM_86                                  709
-#define IMG_CUSTOM_87                                  710
-#define IMG_CUSTOM_88                                  711
-#define IMG_CUSTOM_89                                  712
-#define IMG_CUSTOM_90                                  713
-#define IMG_CUSTOM_91                                  714
-#define IMG_CUSTOM_92                                  715
-#define IMG_CUSTOM_93                                  716
-#define IMG_CUSTOM_94                                  717
-#define IMG_CUSTOM_95                                  718
-#define IMG_CUSTOM_96                                  719
-#define IMG_CUSTOM_97                                  720
-#define IMG_CUSTOM_98                                  721
-#define IMG_CUSTOM_99                                  722
-#define IMG_CUSTOM_100                                 723
-#define IMG_CUSTOM_101                                 724
-#define IMG_CUSTOM_102                                 725
-#define IMG_CUSTOM_103                                 726
-#define IMG_CUSTOM_104                                 727
-#define IMG_CUSTOM_105                                 728
-#define IMG_CUSTOM_106                                 729
-#define IMG_CUSTOM_107                                 730
-#define IMG_CUSTOM_108                                 731
-#define IMG_CUSTOM_109                                 732
-#define IMG_CUSTOM_110                                 733
-#define IMG_CUSTOM_111                                 734
-#define IMG_CUSTOM_112                                 735
-#define IMG_CUSTOM_113                                 736
-#define IMG_CUSTOM_114                                 737
-#define IMG_CUSTOM_115                                 738
-#define IMG_CUSTOM_116                                 739
-#define IMG_CUSTOM_117                                 740
-#define IMG_CUSTOM_118                                 741
-#define IMG_CUSTOM_119                                 742
-#define IMG_CUSTOM_120                                 743
-#define IMG_CUSTOM_121                                 744
-#define IMG_CUSTOM_122                                 745
-#define IMG_CUSTOM_123                                 746
-#define IMG_CUSTOM_124                                 747
-#define IMG_CUSTOM_125                                 748
-#define IMG_CUSTOM_126                                 749
-#define IMG_CUSTOM_127                                 750
-#define IMG_CUSTOM_128                                 751
-#define IMG_TOON_1                                     752
-#define IMG_TOON_2                                     753
-#define IMG_TOON_3                                     754
-#define IMG_TOON_4                                     755
-#define IMG_TOON_5                                     756
-#define IMG_TOON_6                                     757
-#define IMG_TOON_7                                     758
-#define IMG_TOON_8                                     759
-#define IMG_TOON_9                                     760
-#define IMG_TOON_10                                    761
-#define IMG_TOON_11                                    762
-#define IMG_TOON_12                                    763
-#define IMG_TOON_13                                    764
-#define IMG_TOON_14                                    765
-#define IMG_TOON_15                                    766
-#define IMG_TOON_16                                    767
-#define IMG_TOON_17                                    768
-#define IMG_TOON_18                                    769
-#define IMG_TOON_19                                    770
-#define IMG_TOON_20                                    771
-#define IMG_MENU_CALIBRATE_RED                         772
-#define IMG_MENU_CALIBRATE_BLUE                                773
-#define IMG_MENU_CALIBRATE_YELLOW                      774
-#define IMG_MENU_BUTTON                                        775
-#define IMG_MENU_BUTTON_ACTIVE                         776
-#define IMG_MENU_BUTTON_LEFT                           777
-#define IMG_MENU_BUTTON_RIGHT                          778
-#define IMG_MENU_BUTTON_UP                             779
-#define IMG_MENU_BUTTON_DOWN                           780
-#define IMG_MENU_BUTTON_LEFT_ACTIVE                    781
-#define IMG_MENU_BUTTON_RIGHT_ACTIVE                   782
-#define IMG_MENU_BUTTON_UP_ACTIVE                      783
-#define IMG_MENU_BUTTON_DOWN_ACTIVE                    784
-#define IMG_MENU_SCROLLBAR                             785
-#define IMG_MENU_SCROLLBAR_ACTIVE                      786
-#define IMG_FONT_INITIAL_1                             787
-#define IMG_FONT_INITIAL_2                             788
-#define IMG_FONT_INITIAL_3                             789
-#define IMG_FONT_INITIAL_4                             790
-#define IMG_FONT_TITLE_1                               791
-#define IMG_FONT_TITLE_1_LEVELS                                792
-#define IMG_FONT_TITLE_2                               793
-#define IMG_FONT_MENU_1                                        794
-#define IMG_FONT_MENU_2                                        795
-#define IMG_FONT_TEXT_1                                        796
-#define IMG_FONT_TEXT_1_LEVELS                         797
-#define IMG_FONT_TEXT_1_SCORES                         798
-#define IMG_FONT_TEXT_1_PREVIEW                                799
-#define IMG_FONT_TEXT_2                                        800
-#define IMG_FONT_TEXT_2_LEVELS                         801
-#define IMG_FONT_TEXT_2_SCORES                         802
-#define IMG_FONT_TEXT_2_PREVIEW                                803
-#define IMG_FONT_TEXT_3                                        804
-#define IMG_FONT_TEXT_3_LEVELS                         805
-#define IMG_FONT_TEXT_3_SCORES                         806
-#define IMG_FONT_TEXT_3_PREVIEW                                807
-#define IMG_FONT_TEXT_4                                        808
-#define IMG_FONT_TEXT_4_LEVELS                         809
-#define IMG_FONT_TEXT_4_SCORES                         810
-#define IMG_FONT_INPUT                                 811
-#define IMG_FONT_INPUT_MAIN                            812
-#define IMG_FONT_INPUT_ACTIVE                          813
-#define IMG_FONT_INPUT_ACTIVE_MAIN                     814
-#define IMG_FONT_INPUT_ACTIVE_SETUP                    815
-#define IMG_FONT_OPTION_OFF                            816
-#define IMG_FONT_OPTION_ON                             817
-#define IMG_FONT_VALUE_1                               818
-#define IMG_FONT_VALUE_2                               819
-#define IMG_FONT_VALUE_OLD                             820
-#define IMG_FONT_LEVEL_NUMBER                          821
-#define IMG_FONT_TAPE_RECORDER                         822
-#define IMG_GLOBAL_BORDER                              823
-#define IMG_GLOBAL_DOOR                                        824
-#define IMG_EDITOR_ELEMENT_BORDER                      825
-#define IMG_BACKGROUND                                 826
-#define IMG_BACKGROUND_MAIN                            827
-#define IMG_BACKGROUND_LEVELS                          828
-#define IMG_BACKGROUND_SCORES                          829
-#define IMG_BACKGROUND_EDITOR                          830
-#define IMG_BACKGROUND_INFO                            831
-#define IMG_BACKGROUND_SETUP                           832
-#define IMG_BACKGROUND_DOOR                            833
-#define IMG_INFO_FONT_EM_1                             834
-#define IMG_INFO_FONT_EM_2                             835
-#define IMG_INFO_FONT_EM_3                             836
-#define IMG_INFO_FONT_EM_4                             837
-#define IMG_INFO_FONT_EM_5                             838
+#define IMG_SP_ZONK                                    30
+#define IMG_SP_ZONK_FALLING                            31
+#define IMG_SP_ZONK_MOVING_LEFT                                32
+#define IMG_SP_ZONK_MOVING_RIGHT                       33
+#define IMG_SP_BASE                                    34
+#define IMG_SP_MURPHY                                  35
+#define IMG_SP_MURPHY_MOVING_LEFT                      36
+#define IMG_SP_MURPHY_MOVING_RIGHT                     37
+#define IMG_SP_MURPHY_DIGGING_LEFT                     38
+#define IMG_SP_MURPHY_DIGGING_RIGHT                    39
+#define IMG_SP_MURPHY_PUSHING_LEFT                     40
+#define IMG_SP_MURPHY_PUSHING_RIGHT                    41
+#define IMG_SP_MURPHY_SNAPPING_LEFT                    42
+#define IMG_SP_MURPHY_SNAPPING_RIGHT                   43
+#define IMG_SP_MURPHY_SNAPPING_UP                      44
+#define IMG_SP_MURPHY_SNAPPING_DOWN                    45
+#define IMG_SP_MURPHY_CLONE                            46
+#define IMG_SP_INFOTRON                                        47
+#define IMG_SP_INFOTRON_EDITOR                         48
+#define IMG_SP_INFOTRON_FALLING                                49
+#define IMG_SP_CHIP_SINGLE                             50
+#define IMG_SP_CHIP_LEFT                               51
+#define IMG_SP_CHIP_RIGHT                              52
+#define IMG_SP_CHIP_TOP                                        53
+#define IMG_SP_CHIP_BOTTOM                             54
+#define IMG_SP_HARDWARE_GRAY                           55
+#define IMG_SP_HARDWARE_GREEN                          56
+#define IMG_SP_HARDWARE_BLUE                           57
+#define IMG_SP_HARDWARE_RED                            58
+#define IMG_SP_HARDWARE_YELLOW                         59
+#define IMG_SP_EXIT_CLOSED                             60
+#define IMG_SP_EXIT_OPEN                               61
+#define IMG_SP_DISK_ORANGE                             62
+#define IMG_SP_DISK_ORANGE_FALLING                     63
+#define IMG_SP_DISK_ORANGE_PUSHING                     64
+#define IMG_SP_DISK_YELLOW                             65
+#define IMG_SP_DISK_YELLOW_PUSHING                     66
+#define IMG_SP_DISK_RED                                        67
+#define IMG_SP_DISK_RED_COLLECTING                     68
+#define IMG_SP_DISK_RED_ACTIVE                         69
+#define IMG_SP_PORT_RIGHT                              70
+#define IMG_SP_PORT_DOWN                               71
+#define IMG_SP_PORT_LEFT                               72
+#define IMG_SP_PORT_UP                                 73
+#define IMG_SP_PORT_HORIZONTAL                         74
+#define IMG_SP_PORT_VERTICAL                           75
+#define IMG_SP_PORT_ANY                                        76
+#define IMG_SP_GRAVITY_PORT_RIGHT                      77
+#define IMG_SP_GRAVITY_PORT_DOWN                       78
+#define IMG_SP_GRAVITY_PORT_LEFT                       79
+#define IMG_SP_GRAVITY_PORT_UP                         80
+#define IMG_SP_SNIKSNAK                                        81
+#define IMG_SP_SNIKSNAK_LEFT                           82
+#define IMG_SP_SNIKSNAK_RIGHT                          83
+#define IMG_SP_SNIKSNAK_UP                             84
+#define IMG_SP_SNIKSNAK_DOWN                           85
+#define IMG_SP_ELECTRON                                        86
+#define IMG_SP_ELECTRON_EDITOR                         87
+#define IMG_SP_TERMINAL                                        88
+#define IMG_SP_TERMINAL_EDITOR                         89
+#define IMG_SP_TERMINAL_ACTIVE                         90
+#define IMG_SP_BUGGY_BASE                              91
+#define IMG_SP_BUGGY_BASE_ACTIVATING                   92
+#define IMG_SP_BUGGY_BASE_ACTIVE                       93
+#define IMG_SP_HARDWARE_BASE_1                         94
+#define IMG_SP_HARDWARE_BASE_2                         95
+#define IMG_SP_HARDWARE_BASE_3                         96
+#define IMG_SP_HARDWARE_BASE_4                         97
+#define IMG_SP_HARDWARE_BASE_5                         98
+#define IMG_SP_HARDWARE_BASE_6                         99
+#define IMG_SP_EXPLOSION                               100
+#define IMG_SP_EXPLOSION_INFOTRON                      101
+#define IMG_SOKOBAN_OBJECT                             102
+#define IMG_SOKOBAN_OBJECT_EDITOR                      103
+#define IMG_SOKOBAN_FIELD_EMPTY                                104
+#define IMG_SOKOBAN_FIELD_FULL                         105
+#define IMG_EMPTY_SPACE                                        106
+#define IMG_SAND                                       107
+#define IMG_SAND_CRUMBLED                              108
+#define IMG_WALL                                       109
+#define IMG_WALL_CRUMBLED                              110
+#define IMG_STEELWALL                                  111
+#define IMG_ROCK                                       112
+#define IMG_ROCK_FALLING                               113
+#define IMG_ROCK_MOVING_LEFT                           114
+#define IMG_ROCK_MOVING_RIGHT                          115
+#define IMG_EMERALD                                    116
+#define IMG_EMERALD_MOVING                             117
+#define IMG_EMERALD_FALLING                            118
+#define IMG_DIAMOND                                    119
+#define IMG_DIAMOND_MOVING                             120
+#define IMG_DIAMOND_FALLING                            121
+#define IMG_BOMB                                       122
+#define IMG_NUT                                                123
+#define IMG_NUT_FALLING                                        124
+#define IMG_NUT_MOVING_LEFT                            125
+#define IMG_NUT_MOVING_RIGHT                           126
+#define IMG_NUT_BREAKING                               127
+#define IMG_DYNAMITE                                   128
+#define IMG_DYNAMITE_EDITOR                            129
+#define IMG_DYNAMITE_ACTIVE                            130
+#define IMG_DYNAMITE_ACTIVE_EDITOR                     131
+#define IMG_WALL_EMERALD                               132
+#define IMG_WALL_DIAMOND                               133
+#define IMG_BUG_RIGHT                                  134
+#define IMG_BUG_UP                                     135
+#define IMG_BUG_LEFT                                   136
+#define IMG_BUG_DOWN                                   137
+#define IMG_SPACESHIP_RIGHT                            138
+#define IMG_SPACESHIP_UP                               139
+#define IMG_SPACESHIP_LEFT                             140
+#define IMG_SPACESHIP_DOWN                             141
+#define IMG_YAMYAM                                     142
+#define IMG_YAMYAM_MOVING                              143
+#define IMG_ROBOT                                      144
+#define IMG_ROBOT_MOVING                               145
+#define IMG_ROBOT_WHEEL                                        146
+#define IMG_ROBOT_WHEEL_ACTIVE                         147
+#define IMG_MAGIC_WALL                                 148
+#define IMG_MAGIC_WALL_ACTIVE                          149
+#define IMG_MAGIC_WALL_FILLING                         150
+#define IMG_MAGIC_WALL_FULL                            151
+#define IMG_MAGIC_WALL_EMPTYING                                152
+#define IMG_MAGIC_WALL_DEAD                            153
+#define IMG_QUICKSAND_EMPTY                            154
+#define IMG_QUICKSAND_FILLING                          155
+#define IMG_QUICKSAND_FULL                             156
+#define IMG_QUICKSAND_FULL_EDITOR                      157
+#define IMG_QUICKSAND_EMPTYING                         158
+#define IMG_ACID_POOL_TOPLEFT                          159
+#define IMG_ACID_POOL_TOPRIGHT                         160
+#define IMG_ACID_POOL_BOTTOMLEFT                       161
+#define IMG_ACID_POOL_BOTTOM                           162
+#define IMG_ACID_POOL_BOTTOMRIGHT                      163
+#define IMG_ACID                                       164
+#define IMG_ACID_SPLASH_LEFT                           165
+#define IMG_ACID_SPLASH_RIGHT                          166
+#define IMG_AMOEBA_DROP                                        167
+#define IMG_AMOEBA_GROWING                             168
+#define IMG_AMOEBA_SHRINKING                           169
+#define IMG_AMOEBA_WET                                 170
+#define IMG_AMOEBA_WET_EDITOR                          171
+#define IMG_AMOEBA_DROPPING                            172
+#define IMG_AMOEBA_DRY                                 173
+#define IMG_AMOEBA_FULL                                        174
+#define IMG_AMOEBA_FULL_EDITOR                         175
+#define IMG_AMOEBA_DEAD                                        176
+#define IMG_AMOEBA_DEAD_EDITOR                         177
+#define IMG_EM_KEY_1                                   178
+#define IMG_EM_KEY_2                                   179
+#define IMG_EM_KEY_3                                   180
+#define IMG_EM_KEY_4                                   181
+#define IMG_EM_GATE_1                                  182
+#define IMG_EM_GATE_2                                  183
+#define IMG_EM_GATE_3                                  184
+#define IMG_EM_GATE_4                                  185
+#define IMG_EM_GATE_1_GRAY                             186
+#define IMG_EM_GATE_1_GRAY_EDITOR                      187
+#define IMG_EM_GATE_2_GRAY                             188
+#define IMG_EM_GATE_2_GRAY_EDITOR                      189
+#define IMG_EM_GATE_3_GRAY                             190
+#define IMG_EM_GATE_3_GRAY_EDITOR                      191
+#define IMG_EM_GATE_4_GRAY                             192
+#define IMG_EM_GATE_4_GRAY_EDITOR                      193
+#define IMG_EXIT_CLOSED                                        194
+#define IMG_EXIT_OPENING                               195
+#define IMG_EXIT_OPEN                                  196
+#define IMG_BALLOON                                    197
+#define IMG_BALLOON_MOVING                             198
+#define IMG_BALLOON_SWITCH_LEFT                                199
+#define IMG_BALLOON_SWITCH_RIGHT                       200
+#define IMG_BALLOON_SWITCH_UP                          201
+#define IMG_BALLOON_SWITCH_DOWN                                202
+#define IMG_BALLOON_SWITCH_ANY                         203
+#define IMG_SPRING                                     204
+#define IMG_SPRING_MOVING                              205
+#define IMG_EMC_STEELWALL_1                            206
+#define IMG_EMC_STEELWALL_2                            207
+#define IMG_EMC_STEELWALL_3                            208
+#define IMG_EMC_STEELWALL_4                            209
+#define IMG_EMC_WALL_1                                 210
+#define IMG_EMC_WALL_2                                 211
+#define IMG_EMC_WALL_3                                 212
+#define IMG_EMC_WALL_4                                 213
+#define IMG_EMC_WALL_5                                 214
+#define IMG_EMC_WALL_6                                 215
+#define IMG_EMC_WALL_7                                 216
+#define IMG_EMC_WALL_8                                 217
+#define IMG_INVISIBLE_STEELWALL                                218
+#define IMG_INVISIBLE_STEELWALL_EDITOR                 219
+#define IMG_INVISIBLE_STEELWALL_ACTIVE                 220
+#define IMG_INVISIBLE_WALL                             221
+#define IMG_INVISIBLE_WALL_EDITOR                      222
+#define IMG_INVISIBLE_WALL_ACTIVE                      223
+#define IMG_INVISIBLE_SAND                             224
+#define IMG_INVISIBLE_SAND_EDITOR                      225
+#define IMG_INVISIBLE_SAND_ACTIVE                      226
+#define IMG_CONVEYOR_BELT_1_MIDDLE                     227
+#define IMG_CONVEYOR_BELT_1_MIDDLE_ACTIVE              228
+#define IMG_CONVEYOR_BELT_1_LEFT                       229
+#define IMG_CONVEYOR_BELT_1_LEFT_ACTIVE                        230
+#define IMG_CONVEYOR_BELT_1_RIGHT                      231
+#define IMG_CONVEYOR_BELT_1_RIGHT_ACTIVE               232
+#define IMG_CONVEYOR_BELT_1_SWITCH_LEFT                        233
+#define IMG_CONVEYOR_BELT_1_SWITCH_MIDDLE              234
+#define IMG_CONVEYOR_BELT_1_SWITCH_RIGHT               235
+#define IMG_CONVEYOR_BELT_2_MIDDLE                     236
+#define IMG_CONVEYOR_BELT_2_MIDDLE_ACTIVE              237
+#define IMG_CONVEYOR_BELT_2_LEFT                       238
+#define IMG_CONVEYOR_BELT_2_LEFT_ACTIVE                        239
+#define IMG_CONVEYOR_BELT_2_RIGHT                      240
+#define IMG_CONVEYOR_BELT_2_RIGHT_ACTIVE               241
+#define IMG_CONVEYOR_BELT_2_SWITCH_LEFT                        242
+#define IMG_CONVEYOR_BELT_2_SWITCH_MIDDLE              243
+#define IMG_CONVEYOR_BELT_2_SWITCH_RIGHT               244
+#define IMG_CONVEYOR_BELT_3_MIDDLE                     245
+#define IMG_CONVEYOR_BELT_3_MIDDLE_ACTIVE              246
+#define IMG_CONVEYOR_BELT_3_LEFT                       247
+#define IMG_CONVEYOR_BELT_3_LEFT_ACTIVE                        248
+#define IMG_CONVEYOR_BELT_3_RIGHT                      249
+#define IMG_CONVEYOR_BELT_3_RIGHT_ACTIVE               250
+#define IMG_CONVEYOR_BELT_3_SWITCH_LEFT                        251
+#define IMG_CONVEYOR_BELT_3_SWITCH_MIDDLE              252
+#define IMG_CONVEYOR_BELT_3_SWITCH_RIGHT               253
+#define IMG_CONVEYOR_BELT_4_MIDDLE                     254
+#define IMG_CONVEYOR_BELT_4_MIDDLE_ACTIVE              255
+#define IMG_CONVEYOR_BELT_4_LEFT                       256
+#define IMG_CONVEYOR_BELT_4_LEFT_ACTIVE                        257
+#define IMG_CONVEYOR_BELT_4_RIGHT                      258
+#define IMG_CONVEYOR_BELT_4_RIGHT_ACTIVE               259
+#define IMG_CONVEYOR_BELT_4_SWITCH_LEFT                        260
+#define IMG_CONVEYOR_BELT_4_SWITCH_MIDDLE              261
+#define IMG_CONVEYOR_BELT_4_SWITCH_RIGHT               262
+#define IMG_SWITCHGATE_SWITCH_UP                       263
+#define IMG_SWITCHGATE_SWITCH_DOWN                     264
+#define IMG_LIGHT_SWITCH                               265
+#define IMG_LIGHT_SWITCH_ACTIVE                                266
+#define IMG_TIMEGATE_SWITCH                            267
+#define IMG_TIMEGATE_SWITCH_ACTIVE                     268
+#define IMG_ENVELOPE                                   269
+#define IMG_SIGN_EXCLAMATION                           270
+#define IMG_SIGN_STOP                                  271
+#define IMG_LANDMINE                                   272
+#define IMG_STEELWALL_SLANTED                          273
+#define IMG_EXTRA_TIME                                 274
+#define IMG_SHIELD_NORMAL                              275
+#define IMG_SHIELD_NORMAL_ACTIVE                       276
+#define IMG_SHIELD_DEADLY                              277
+#define IMG_SHIELD_DEADLY_ACTIVE                       278
+#define IMG_SWITCHGATE_CLOSED                          279
+#define IMG_SWITCHGATE_OPENING                         280
+#define IMG_SWITCHGATE_OPEN                            281
+#define IMG_SWITCHGATE_CLOSING                         282
+#define IMG_TIMEGATE_CLOSED                            283
+#define IMG_TIMEGATE_OPENING                           284
+#define IMG_TIMEGATE_OPEN                              285
+#define IMG_TIMEGATE_CLOSING                           286
+#define IMG_PEARL                                      287
+#define IMG_PEARL_BREAKING                             288
+#define IMG_CRYSTAL                                    289
+#define IMG_WALL_PEARL                                 290
+#define IMG_WALL_CRYSTAL                               291
+#define IMG_TUBE_RIGHT_DOWN                            292
+#define IMG_TUBE_HORIZONTAL_DOWN                       293
+#define IMG_TUBE_LEFT_DOWN                             294
+#define IMG_TUBE_HORIZONTAL                            295
+#define IMG_TUBE_VERTICAL_RIGHT                                296
+#define IMG_TUBE_ANY                                   297
+#define IMG_TUBE_VERTICAL_LEFT                         298
+#define IMG_TUBE_VERTICAL                              299
+#define IMG_TUBE_RIGHT_UP                              300
+#define IMG_TUBE_HORIZONTAL_UP                         301
+#define IMG_TUBE_LEFT_UP                               302
+#define IMG_TRAP                                       303
+#define IMG_TRAP_ACTIVE                                        304
+#define IMG_DX_SUPABOMB                                        305
+#define IMG_KEY_1                                      306
+#define IMG_KEY_1_EDITOR                               307
+#define IMG_KEY_2                                      308
+#define IMG_KEY_2_EDITOR                               309
+#define IMG_KEY_3                                      310
+#define IMG_KEY_3_EDITOR                               311
+#define IMG_KEY_4                                      312
+#define IMG_KEY_4_EDITOR                               313
+#define IMG_GATE_1                                     314
+#define IMG_GATE_2                                     315
+#define IMG_GATE_3                                     316
+#define IMG_GATE_4                                     317
+#define IMG_GATE_1_GRAY                                        318
+#define IMG_GATE_1_GRAY_EDITOR                         319
+#define IMG_GATE_2_GRAY                                        320
+#define IMG_GATE_2_GRAY_EDITOR                         321
+#define IMG_GATE_3_GRAY                                        322
+#define IMG_GATE_3_GRAY_EDITOR                         323
+#define IMG_GATE_4_GRAY                                        324
+#define IMG_GATE_4_GRAY_EDITOR                         325
+#define IMG_GAME_OF_LIFE                               326
+#define IMG_BIOMAZE                                    327
+#define IMG_PACMAN_RIGHT                               328
+#define IMG_PACMAN_UP                                  329
+#define IMG_PACMAN_LEFT                                        330
+#define IMG_PACMAN_DOWN                                        331
+#define IMG_LAMP                                       332
+#define IMG_LAMP_EDITOR                                        333
+#define IMG_LAMP_ACTIVE                                        334
+#define IMG_TIME_ORB_FULL                              335
+#define IMG_TIME_ORB_EMPTY                             336
+#define IMG_EMERALD_YELLOW                             337
+#define IMG_EMERALD_YELLOW_MOVING                      338
+#define IMG_EMERALD_YELLOW_FALLING                     339
+#define IMG_EMERALD_RED                                        340
+#define IMG_EMERALD_RED_MOVING                         341
+#define IMG_EMERALD_RED_FALLING                                342
+#define IMG_EMERALD_PURPLE                             343
+#define IMG_EMERALD_PURPLE_MOVING                      344
+#define IMG_EMERALD_PURPLE_FALLING                     345
+#define IMG_WALL_EMERALD_YELLOW                                346
+#define IMG_WALL_EMERALD_RED                           347
+#define IMG_WALL_EMERALD_PURPLE                                348
+#define IMG_WALL_BD_DIAMOND                            349
+#define IMG_EXPANDABLE_WALL                            350
+#define IMG_EXPANDABLE_WALL_HORIZONTAL                 351
+#define IMG_EXPANDABLE_WALL_HORIZONTAL_EDITOR          352
+#define IMG_EXPANDABLE_WALL_VERTICAL                   353
+#define IMG_EXPANDABLE_WALL_VERTICAL_EDITOR            354
+#define IMG_EXPANDABLE_WALL_ANY                                355
+#define IMG_EXPANDABLE_WALL_ANY_EDITOR                 356
+#define IMG_EXPANDABLE_WALL_GROWING_LEFT               357
+#define IMG_EXPANDABLE_WALL_GROWING_RIGHT              358
+#define IMG_EXPANDABLE_WALL_GROWING_UP                 359
+#define IMG_EXPANDABLE_WALL_GROWING_DOWN               360
+#define IMG_BLACK_ORB                                  361
+#define IMG_SPEED_PILL                                 362
+#define IMG_DARK_YAMYAM                                        363
+#define IMG_DYNABOMB_ACTIVE                            364
+#define IMG_DYNABOMB_PLAYER_1_ACTIVE                   365
+#define IMG_DYNABOMB_PLAYER_2_ACTIVE                   366
+#define IMG_DYNABOMB_PLAYER_3_ACTIVE                   367
+#define IMG_DYNABOMB_PLAYER_4_ACTIVE                   368
+#define IMG_DYNABOMB_INCREASE_NUMBER                   369
+#define IMG_DYNABOMB_INCREASE_SIZE                     370
+#define IMG_DYNABOMB_INCREASE_POWER                    371
+#define IMG_PIG                                                372
+#define IMG_PIG_DOWN                                   373
+#define IMG_PIG_UP                                     374
+#define IMG_PIG_LEFT                                   375
+#define IMG_PIG_RIGHT                                  376
+#define IMG_PIG_MOVING_DOWN                            377
+#define IMG_PIG_MOVING_UP                              378
+#define IMG_PIG_MOVING_LEFT                            379
+#define IMG_PIG_MOVING_RIGHT                           380
+#define IMG_PIG_DIGGING_DOWN                           381
+#define IMG_PIG_DIGGING_UP                             382
+#define IMG_PIG_DIGGING_LEFT                           383
+#define IMG_PIG_DIGGING_RIGHT                          384
+#define IMG_DRAGON                                     385
+#define IMG_DRAGON_DOWN                                        386
+#define IMG_DRAGON_UP                                  387
+#define IMG_DRAGON_LEFT                                        388
+#define IMG_DRAGON_RIGHT                               389
+#define IMG_DRAGON_MOVING_DOWN                         390
+#define IMG_DRAGON_MOVING_UP                           391
+#define IMG_DRAGON_MOVING_LEFT                         392
+#define IMG_DRAGON_MOVING_RIGHT                                393
+#define IMG_DRAGON_ATTACKING_DOWN                      394
+#define IMG_DRAGON_ATTACKING_UP                                395
+#define IMG_DRAGON_ATTACKING_LEFT                      396
+#define IMG_DRAGON_ATTACKING_RIGHT                     397
+#define IMG_MOLE                                       398
+#define IMG_MOLE_DOWN                                  399
+#define IMG_MOLE_UP                                    400
+#define IMG_MOLE_LEFT                                  401
+#define IMG_MOLE_RIGHT                                 402
+#define IMG_MOLE_MOVING_DOWN                           403
+#define IMG_MOLE_MOVING_UP                             404
+#define IMG_MOLE_MOVING_LEFT                           405
+#define IMG_MOLE_MOVING_RIGHT                          406
+#define IMG_MOLE_DIGGING_DOWN                          407
+#define IMG_MOLE_DIGGING_UP                            408
+#define IMG_MOLE_DIGGING_LEFT                          409
+#define IMG_MOLE_DIGGING_RIGHT                         410
+#define IMG_PENGUIN                                    411
+#define IMG_PENGUIN_EDITOR                             412
+#define IMG_PENGUIN_DOWN                               413
+#define IMG_PENGUIN_UP                                 414
+#define IMG_PENGUIN_LEFT                               415
+#define IMG_PENGUIN_RIGHT                              416
+#define IMG_PENGUIN_MOVING_DOWN                                417
+#define IMG_PENGUIN_MOVING_UP                          418
+#define IMG_PENGUIN_MOVING_LEFT                                419
+#define IMG_PENGUIN_MOVING_RIGHT                       420
+#define IMG_SATELLITE                                  421
+#define IMG_SATELLITE_MOVING                           422
+#define IMG_FLAMES_1_LEFT                              423
+#define IMG_FLAMES_2_LEFT                              424
+#define IMG_FLAMES_3_LEFT                              425
+#define IMG_FLAMES_1_RIGHT                             426
+#define IMG_FLAMES_2_RIGHT                             427
+#define IMG_FLAMES_3_RIGHT                             428
+#define IMG_FLAMES_1_UP                                        429
+#define IMG_FLAMES_2_UP                                        430
+#define IMG_FLAMES_3_UP                                        431
+#define IMG_FLAMES_1_DOWN                              432
+#define IMG_FLAMES_2_DOWN                              433
+#define IMG_FLAMES_3_DOWN                              434
+#define IMG_STONEBLOCK                                 435
+#define IMG_PLAYER_1                                   436
+#define IMG_PLAYER_1_EDITOR                            437
+#define IMG_PLAYER_1_DOWN                              438
+#define IMG_PLAYER_1_UP                                        439
+#define IMG_PLAYER_1_LEFT                              440
+#define IMG_PLAYER_1_RIGHT                             441
+#define IMG_PLAYER_1_MOVING_DOWN                       442
+#define IMG_PLAYER_1_MOVING_UP                         443
+#define IMG_PLAYER_1_MOVING_LEFT                       444
+#define IMG_PLAYER_1_MOVING_RIGHT                      445
+#define IMG_PLAYER_1_DIGGING_DOWN                      446
+#define IMG_PLAYER_1_DIGGING_UP                                447
+#define IMG_PLAYER_1_DIGGING_LEFT                      448
+#define IMG_PLAYER_1_DIGGING_RIGHT                     449
+#define IMG_PLAYER_1_PUSHING_DOWN                      450
+#define IMG_PLAYER_1_PUSHING_UP                                451
+#define IMG_PLAYER_1_PUSHING_LEFT                      452
+#define IMG_PLAYER_1_PUSHING_RIGHT                     453
+#define IMG_PLAYER_1_SNAPPING_DOWN                     454
+#define IMG_PLAYER_1_SNAPPING_UP                       455
+#define IMG_PLAYER_1_SNAPPING_LEFT                     456
+#define IMG_PLAYER_1_SNAPPING_RIGHT                    457
+#define IMG_PLAYER_2                                   458
+#define IMG_PLAYER_2_EDITOR                            459
+#define IMG_PLAYER_2_DOWN                              460
+#define IMG_PLAYER_2_UP                                        461
+#define IMG_PLAYER_2_LEFT                              462
+#define IMG_PLAYER_2_RIGHT                             463
+#define IMG_PLAYER_2_MOVING_DOWN                       464
+#define IMG_PLAYER_2_MOVING_UP                         465
+#define IMG_PLAYER_2_MOVING_LEFT                       466
+#define IMG_PLAYER_2_MOVING_RIGHT                      467
+#define IMG_PLAYER_2_DIGGING_DOWN                      468
+#define IMG_PLAYER_2_DIGGING_UP                                469
+#define IMG_PLAYER_2_DIGGING_LEFT                      470
+#define IMG_PLAYER_2_DIGGING_RIGHT                     471
+#define IMG_PLAYER_2_PUSHING_DOWN                      472
+#define IMG_PLAYER_2_PUSHING_UP                                473
+#define IMG_PLAYER_2_PUSHING_LEFT                      474
+#define IMG_PLAYER_2_PUSHING_RIGHT                     475
+#define IMG_PLAYER_2_SNAPPING_DOWN                     476
+#define IMG_PLAYER_2_SNAPPING_UP                       477
+#define IMG_PLAYER_2_SNAPPING_LEFT                     478
+#define IMG_PLAYER_2_SNAPPING_RIGHT                    479
+#define IMG_PLAYER_3                                   480
+#define IMG_PLAYER_3_EDITOR                            481
+#define IMG_PLAYER_3_DOWN                              482
+#define IMG_PLAYER_3_UP                                        483
+#define IMG_PLAYER_3_LEFT                              484
+#define IMG_PLAYER_3_RIGHT                             485
+#define IMG_PLAYER_3_MOVING_DOWN                       486
+#define IMG_PLAYER_3_MOVING_UP                         487
+#define IMG_PLAYER_3_MOVING_LEFT                       488
+#define IMG_PLAYER_3_MOVING_RIGHT                      489
+#define IMG_PLAYER_3_DIGGING_DOWN                      490
+#define IMG_PLAYER_3_DIGGING_UP                                491
+#define IMG_PLAYER_3_DIGGING_LEFT                      492
+#define IMG_PLAYER_3_DIGGING_RIGHT                     493
+#define IMG_PLAYER_3_PUSHING_DOWN                      494
+#define IMG_PLAYER_3_PUSHING_UP                                495
+#define IMG_PLAYER_3_PUSHING_LEFT                      496
+#define IMG_PLAYER_3_PUSHING_RIGHT                     497
+#define IMG_PLAYER_3_SNAPPING_DOWN                     498
+#define IMG_PLAYER_3_SNAPPING_UP                       499
+#define IMG_PLAYER_3_SNAPPING_LEFT                     500
+#define IMG_PLAYER_3_SNAPPING_RIGHT                    501
+#define IMG_PLAYER_4                                   502
+#define IMG_PLAYER_4_EDITOR                            503
+#define IMG_PLAYER_4_DOWN                              504
+#define IMG_PLAYER_4_UP                                        505
+#define IMG_PLAYER_4_LEFT                              506
+#define IMG_PLAYER_4_RIGHT                             507
+#define IMG_PLAYER_4_MOVING_DOWN                       508
+#define IMG_PLAYER_4_MOVING_UP                         509
+#define IMG_PLAYER_4_MOVING_LEFT                       510
+#define IMG_PLAYER_4_MOVING_RIGHT                      511
+#define IMG_PLAYER_4_DIGGING_DOWN                      512
+#define IMG_PLAYER_4_DIGGING_UP                                513
+#define IMG_PLAYER_4_DIGGING_LEFT                      514
+#define IMG_PLAYER_4_DIGGING_RIGHT                     515
+#define IMG_PLAYER_4_PUSHING_DOWN                      516
+#define IMG_PLAYER_4_PUSHING_UP                                517
+#define IMG_PLAYER_4_PUSHING_LEFT                      518
+#define IMG_PLAYER_4_PUSHING_RIGHT                     519
+#define IMG_PLAYER_4_SNAPPING_DOWN                     520
+#define IMG_PLAYER_4_SNAPPING_UP                       521
+#define IMG_PLAYER_4_SNAPPING_LEFT                     522
+#define IMG_PLAYER_4_SNAPPING_RIGHT                    523
+#define IMG_EXPLOSION                                  524
+#define IMG_TWINKLE_BLUE                               525
+#define IMG_TWINKLE_WHITE                              526
+#define IMG_STEELWALL_TOPLEFT                          527
+#define IMG_STEELWALL_TOPRIGHT                         528
+#define IMG_STEELWALL_BOTTOMLEFT                       529
+#define IMG_STEELWALL_BOTTOMRIGHT                      530
+#define IMG_STEELWALL_HORIZONTAL                       531
+#define IMG_STEELWALL_VERTICAL                         532
+#define IMG_STEELWALL_TOPLEFT_EDITOR                   533
+#define IMG_STEELWALL_TOPRIGHT_EDITOR                  534
+#define IMG_STEELWALL_BOTTOMLEFT_EDITOR                        535
+#define IMG_STEELWALL_BOTTOMRIGHT_EDITOR               536
+#define IMG_STEELWALL_HORIZONTAL_EDITOR                        537
+#define IMG_STEELWALL_VERTICAL_EDITOR                  538
+#define IMG_INVISIBLE_STEELWALL_TOPLEFT                        539
+#define IMG_INVISIBLE_STEELWALL_TOPRIGHT               540
+#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT             541
+#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT            542
+#define IMG_INVISIBLE_STEELWALL_HORIZONTAL             543
+#define IMG_INVISIBLE_STEELWALL_VERTICAL               544
+#define IMG_INVISIBLE_STEELWALL_TOPLEFT_EDITOR         545
+#define IMG_INVISIBLE_STEELWALL_TOPRIGHT_EDITOR                546
+#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT_EDITOR      547
+#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT_EDITOR     548
+#define IMG_INVISIBLE_STEELWALL_HORIZONTAL_EDITOR      549
+#define IMG_INVISIBLE_STEELWALL_VERTICAL_EDITOR                550
+#define IMG_ARROW_LEFT                                 551
+#define IMG_ARROW_RIGHT                                        552
+#define IMG_ARROW_UP                                   553
+#define IMG_ARROW_DOWN                                 554
+#define IMG_CHAR_SPACE                                 555
+#define IMG_CHAR_EXCLAM                                        556
+#define IMG_CHAR_QUOTEDBL                              557
+#define IMG_CHAR_NUMBERSIGN                            558
+#define IMG_CHAR_DOLLAR                                        559
+#define IMG_CHAR_PROCENT                               560
+#define IMG_CHAR_AMPERSAND                             561
+#define IMG_CHAR_APOSTROPHE                            562
+#define IMG_CHAR_PARENLEFT                             563
+#define IMG_CHAR_PARENRIGHT                            564
+#define IMG_CHAR_ASTERISK                              565
+#define IMG_CHAR_PLUS                                  566
+#define IMG_CHAR_COMMA                                 567
+#define IMG_CHAR_MINUS                                 568
+#define IMG_CHAR_PERIOD                                        569
+#define IMG_CHAR_SLASH                                 570
+#define IMG_CHAR_0                                     571
+#define IMG_CHAR_1                                     572
+#define IMG_CHAR_2                                     573
+#define IMG_CHAR_3                                     574
+#define IMG_CHAR_4                                     575
+#define IMG_CHAR_5                                     576
+#define IMG_CHAR_6                                     577
+#define IMG_CHAR_7                                     578
+#define IMG_CHAR_8                                     579
+#define IMG_CHAR_9                                     580
+#define IMG_CHAR_COLON                                 581
+#define IMG_CHAR_SEMICOLON                             582
+#define IMG_CHAR_LESS                                  583
+#define IMG_CHAR_EQUAL                                 584
+#define IMG_CHAR_GREATER                               585
+#define IMG_CHAR_QUESTION                              586
+#define IMG_CHAR_AT                                    587
+#define IMG_CHAR_A                                     588
+#define IMG_CHAR_B                                     589
+#define IMG_CHAR_C                                     590
+#define IMG_CHAR_D                                     591
+#define IMG_CHAR_E                                     592
+#define IMG_CHAR_F                                     593
+#define IMG_CHAR_G                                     594
+#define IMG_CHAR_H                                     595
+#define IMG_CHAR_I                                     596
+#define IMG_CHAR_J                                     597
+#define IMG_CHAR_K                                     598
+#define IMG_CHAR_L                                     599
+#define IMG_CHAR_M                                     600
+#define IMG_CHAR_N                                     601
+#define IMG_CHAR_O                                     602
+#define IMG_CHAR_P                                     603
+#define IMG_CHAR_Q                                     604
+#define IMG_CHAR_R                                     605
+#define IMG_CHAR_S                                     606
+#define IMG_CHAR_T                                     607
+#define IMG_CHAR_U                                     608
+#define IMG_CHAR_V                                     609
+#define IMG_CHAR_W                                     610
+#define IMG_CHAR_X                                     611
+#define IMG_CHAR_Y                                     612
+#define IMG_CHAR_Z                                     613
+#define IMG_CHAR_AE                                    614
+#define IMG_CHAR_OE                                    615
+#define IMG_CHAR_UE                                    616
+#define IMG_CHAR_COPYRIGHT                             617
+#define IMG_CHAR_UNDERSCORE                            618
+#define IMG_CHAR_EMPTY                                 619
+#define IMG_CHAR_DEGREE                                        620
+#define IMG_CHAR_TM                                    621
+#define IMG_CHAR_CURSOR                                        622
+#define IMG_CUSTOM_1                                   623
+#define IMG_CUSTOM_2                                   624
+#define IMG_CUSTOM_3                                   625
+#define IMG_CUSTOM_4                                   626
+#define IMG_CUSTOM_5                                   627
+#define IMG_CUSTOM_6                                   628
+#define IMG_CUSTOM_7                                   629
+#define IMG_CUSTOM_8                                   630
+#define IMG_CUSTOM_9                                   631
+#define IMG_CUSTOM_10                                  632
+#define IMG_CUSTOM_11                                  633
+#define IMG_CUSTOM_12                                  634
+#define IMG_CUSTOM_13                                  635
+#define IMG_CUSTOM_14                                  636
+#define IMG_CUSTOM_15                                  637
+#define IMG_CUSTOM_16                                  638
+#define IMG_CUSTOM_17                                  639
+#define IMG_CUSTOM_18                                  640
+#define IMG_CUSTOM_19                                  641
+#define IMG_CUSTOM_20                                  642
+#define IMG_CUSTOM_21                                  643
+#define IMG_CUSTOM_22                                  644
+#define IMG_CUSTOM_23                                  645
+#define IMG_CUSTOM_24                                  646
+#define IMG_CUSTOM_25                                  647
+#define IMG_CUSTOM_26                                  648
+#define IMG_CUSTOM_27                                  649
+#define IMG_CUSTOM_28                                  650
+#define IMG_CUSTOM_29                                  651
+#define IMG_CUSTOM_30                                  652
+#define IMG_CUSTOM_31                                  653
+#define IMG_CUSTOM_32                                  654
+#define IMG_CUSTOM_33                                  655
+#define IMG_CUSTOM_34                                  656
+#define IMG_CUSTOM_35                                  657
+#define IMG_CUSTOM_36                                  658
+#define IMG_CUSTOM_37                                  659
+#define IMG_CUSTOM_38                                  660
+#define IMG_CUSTOM_39                                  661
+#define IMG_CUSTOM_40                                  662
+#define IMG_CUSTOM_41                                  663
+#define IMG_CUSTOM_42                                  664
+#define IMG_CUSTOM_43                                  665
+#define IMG_CUSTOM_44                                  666
+#define IMG_CUSTOM_45                                  667
+#define IMG_CUSTOM_46                                  668
+#define IMG_CUSTOM_47                                  669
+#define IMG_CUSTOM_48                                  670
+#define IMG_CUSTOM_49                                  671
+#define IMG_CUSTOM_50                                  672
+#define IMG_CUSTOM_51                                  673
+#define IMG_CUSTOM_52                                  674
+#define IMG_CUSTOM_53                                  675
+#define IMG_CUSTOM_54                                  676
+#define IMG_CUSTOM_55                                  677
+#define IMG_CUSTOM_56                                  678
+#define IMG_CUSTOM_57                                  679
+#define IMG_CUSTOM_58                                  680
+#define IMG_CUSTOM_59                                  681
+#define IMG_CUSTOM_60                                  682
+#define IMG_CUSTOM_61                                  683
+#define IMG_CUSTOM_62                                  684
+#define IMG_CUSTOM_63                                  685
+#define IMG_CUSTOM_64                                  686
+#define IMG_CUSTOM_65                                  687
+#define IMG_CUSTOM_66                                  688
+#define IMG_CUSTOM_67                                  689
+#define IMG_CUSTOM_68                                  690
+#define IMG_CUSTOM_69                                  691
+#define IMG_CUSTOM_70                                  692
+#define IMG_CUSTOM_71                                  693
+#define IMG_CUSTOM_72                                  694
+#define IMG_CUSTOM_73                                  695
+#define IMG_CUSTOM_74                                  696
+#define IMG_CUSTOM_75                                  697
+#define IMG_CUSTOM_76                                  698
+#define IMG_CUSTOM_77                                  699
+#define IMG_CUSTOM_78                                  700
+#define IMG_CUSTOM_79                                  701
+#define IMG_CUSTOM_80                                  702
+#define IMG_CUSTOM_81                                  703
+#define IMG_CUSTOM_82                                  704
+#define IMG_CUSTOM_83                                  705
+#define IMG_CUSTOM_84                                  706
+#define IMG_CUSTOM_85                                  707
+#define IMG_CUSTOM_86                                  708
+#define IMG_CUSTOM_87                                  709
+#define IMG_CUSTOM_88                                  710
+#define IMG_CUSTOM_89                                  711
+#define IMG_CUSTOM_90                                  712
+#define IMG_CUSTOM_91                                  713
+#define IMG_CUSTOM_92                                  714
+#define IMG_CUSTOM_93                                  715
+#define IMG_CUSTOM_94                                  716
+#define IMG_CUSTOM_95                                  717
+#define IMG_CUSTOM_96                                  718
+#define IMG_CUSTOM_97                                  719
+#define IMG_CUSTOM_98                                  720
+#define IMG_CUSTOM_99                                  721
+#define IMG_CUSTOM_100                                 722
+#define IMG_CUSTOM_101                                 723
+#define IMG_CUSTOM_102                                 724
+#define IMG_CUSTOM_103                                 725
+#define IMG_CUSTOM_104                                 726
+#define IMG_CUSTOM_105                                 727
+#define IMG_CUSTOM_106                                 728
+#define IMG_CUSTOM_107                                 729
+#define IMG_CUSTOM_108                                 730
+#define IMG_CUSTOM_109                                 731
+#define IMG_CUSTOM_110                                 732
+#define IMG_CUSTOM_111                                 733
+#define IMG_CUSTOM_112                                 734
+#define IMG_CUSTOM_113                                 735
+#define IMG_CUSTOM_114                                 736
+#define IMG_CUSTOM_115                                 737
+#define IMG_CUSTOM_116                                 738
+#define IMG_CUSTOM_117                                 739
+#define IMG_CUSTOM_118                                 740
+#define IMG_CUSTOM_119                                 741
+#define IMG_CUSTOM_120                                 742
+#define IMG_CUSTOM_121                                 743
+#define IMG_CUSTOM_122                                 744
+#define IMG_CUSTOM_123                                 745
+#define IMG_CUSTOM_124                                 746
+#define IMG_CUSTOM_125                                 747
+#define IMG_CUSTOM_126                                 748
+#define IMG_CUSTOM_127                                 749
+#define IMG_CUSTOM_128                                 750
+#define IMG_TOON_1                                     751
+#define IMG_TOON_2                                     752
+#define IMG_TOON_3                                     753
+#define IMG_TOON_4                                     754
+#define IMG_TOON_5                                     755
+#define IMG_TOON_6                                     756
+#define IMG_TOON_7                                     757
+#define IMG_TOON_8                                     758
+#define IMG_TOON_9                                     759
+#define IMG_TOON_10                                    760
+#define IMG_TOON_11                                    761
+#define IMG_TOON_12                                    762
+#define IMG_TOON_13                                    763
+#define IMG_TOON_14                                    764
+#define IMG_TOON_15                                    765
+#define IMG_TOON_16                                    766
+#define IMG_TOON_17                                    767
+#define IMG_TOON_18                                    768
+#define IMG_TOON_19                                    769
+#define IMG_TOON_20                                    770
+#define IMG_MENU_CALIBRATE_RED                         771
+#define IMG_MENU_CALIBRATE_BLUE                                772
+#define IMG_MENU_CALIBRATE_YELLOW                      773
+#define IMG_MENU_BUTTON                                        774
+#define IMG_MENU_BUTTON_ACTIVE                         775
+#define IMG_MENU_BUTTON_LEFT                           776
+#define IMG_MENU_BUTTON_RIGHT                          777
+#define IMG_MENU_BUTTON_UP                             778
+#define IMG_MENU_BUTTON_DOWN                           779
+#define IMG_MENU_BUTTON_LEFT_ACTIVE                    780
+#define IMG_MENU_BUTTON_RIGHT_ACTIVE                   781
+#define IMG_MENU_BUTTON_UP_ACTIVE                      782
+#define IMG_MENU_BUTTON_DOWN_ACTIVE                    783
+#define IMG_MENU_SCROLLBAR                             784
+#define IMG_MENU_SCROLLBAR_ACTIVE                      785
+#define IMG_FONT_INITIAL_1                             786
+#define IMG_FONT_INITIAL_2                             787
+#define IMG_FONT_INITIAL_3                             788
+#define IMG_FONT_INITIAL_4                             789
+#define IMG_FONT_TITLE_1                               790
+#define IMG_FONT_TITLE_1_LEVELS                                791
+#define IMG_FONT_TITLE_2                               792
+#define IMG_FONT_MENU_1                                        793
+#define IMG_FONT_MENU_2                                        794
+#define IMG_FONT_TEXT_1                                        795
+#define IMG_FONT_TEXT_1_LEVELS                         796
+#define IMG_FONT_TEXT_1_SCORES                         797
+#define IMG_FONT_TEXT_1_PREVIEW                                798
+#define IMG_FONT_TEXT_2                                        799
+#define IMG_FONT_TEXT_2_LEVELS                         800
+#define IMG_FONT_TEXT_2_SCORES                         801
+#define IMG_FONT_TEXT_2_PREVIEW                                802
+#define IMG_FONT_TEXT_3                                        803
+#define IMG_FONT_TEXT_3_LEVELS                         804
+#define IMG_FONT_TEXT_3_SCORES                         805
+#define IMG_FONT_TEXT_3_PREVIEW                                806
+#define IMG_FONT_TEXT_4                                        807
+#define IMG_FONT_TEXT_4_LEVELS                         808
+#define IMG_FONT_TEXT_4_SCORES                         809
+#define IMG_FONT_INPUT                                 810
+#define IMG_FONT_INPUT_MAIN                            811
+#define IMG_FONT_INPUT_ACTIVE                          812
+#define IMG_FONT_INPUT_ACTIVE_MAIN                     813
+#define IMG_FONT_INPUT_ACTIVE_SETUP                    814
+#define IMG_FONT_OPTION_OFF                            815
+#define IMG_FONT_OPTION_ON                             816
+#define IMG_FONT_VALUE_1                               817
+#define IMG_FONT_VALUE_2                               818
+#define IMG_FONT_VALUE_OLD                             819
+#define IMG_FONT_LEVEL_NUMBER                          820
+#define IMG_FONT_TAPE_RECORDER                         821
+#define IMG_GLOBAL_BORDER                              822
+#define IMG_GLOBAL_DOOR                                        823
+#define IMG_EDITOR_ELEMENT_BORDER                      824
+#define IMG_BACKGROUND                                 825
+#define IMG_BACKGROUND_MAIN                            826
+#define IMG_BACKGROUND_LEVELS                          827
+#define IMG_BACKGROUND_SCORES                          828
+#define IMG_BACKGROUND_EDITOR                          829
+#define IMG_BACKGROUND_INFO                            830
+#define IMG_BACKGROUND_SETUP                           831
+#define IMG_BACKGROUND_DOOR                            832
+#define IMG_INFO_FONT_EM_1                             833
+#define IMG_INFO_FONT_EM_2                             834
+#define IMG_INFO_FONT_EM_3                             835
+#define IMG_INFO_FONT_EM_4                             836
+#define IMG_INFO_FONT_EM_5                             837
 
-#define NUM_IMAGE_FILES                                        839
+#define NUM_IMAGE_FILES                                        838
 
 #endif /* CONF_GFX_H */
index 0dc227f9b730ae7f3bdd5a548c71b74e85caa5a9..23f2e50662897c76dec68bb630f8ba75468ab7ca 100644 (file)
@@ -29,27 +29,23 @@ struct ConfigInfo sound_config_suffix[] =
 struct ConfigInfo sound_config[] =
 {
   /* sounds for Boulder Dash style elements and actions */
-  { "bd_empty_space.digging",          "empty.wav"             },
-  { "bd_sand.digging",                 "schlurf.wav"           },
   { "bd_diamond.collecting",           "pong.wav"              },
   { "bd_diamond.impact",               "pling.wav"             },
   { "bd_rock.pushing",                 "pusch.wav"             },
   { "bd_rock.impact",                  "klopf.wav"             },
   { "bd_magic_wall.activating",                "quirk.wav"             },
   { "bd_magic_wall.active",            "miep.wav"              },
-  { "bd_magic_wall.changing",          "quirk.wav"             },
-  { "bd_amoeba.waiting",               SND_FILE_UNDEFINED      },
-  { "bd_amoeba.creating",              "amoebe.wav"            },
+  { "bd_magic_wall.filling",           "quirk.wav"             },
+  { "bd_amoeba.waiting",               UNDEFINED_FILENAME      },
+  { "bd_amoeba.growing",               "amoebe.wav"            },
   { "bd_amoeba.turning_to_gem",                "pling.wav"             },
   { "bd_amoeba.turning_to_rock",       "klopf.wav"             },
   { "bd_butterfly.moving",             "klapper.wav"           },
   { "bd_butterfly.waiting",            "klapper.wav"           },
   { "bd_firefly.moving",               "roehr.wav"             },
   { "bd_firefly.waiting",              "roehr.wav"             },
-  { "bd_exit.passing",                 "buing.wav"             },
 
   /* sounds for Supaplex style elements and actions */
-  { "sp_empty_space.digging",          "empty.wav"             },
   { "sp_base.digging",                 "base.wav"              },
   { "sp_buggy_base.digging",           "base.wav"              },
   { "sp_buggy_base.active",            "bug.wav"               },
@@ -60,22 +56,20 @@ struct ConfigInfo sound_config[] =
   { "sp_disk_red.collecting",          "infotron.wav"          },
   { "sp_disk_orange.pushing",          "zonkpush.wav"          },
   { "sp_disk_yellow.pushing",          "pusch.wav"             },
-  { "sp_port.passing",                 "gate.wav"              },
-  { "sp_exit.passing",                 "exit.wav"              },
-  { "sp_exit.opening",                 SND_FILE_UNDEFINED      },
-  { "sp_element.exploding",            "booom.wav"             },
-  { "sp_sniksnak.moving",              SND_FILE_UNDEFINED      },
-  { "sp_sniksnak.waiting",             SND_FILE_UNDEFINED      },
-  { "sp_electron.moving",              SND_FILE_UNDEFINED      },
-  { "sp_electron.waiting",             SND_FILE_UNDEFINED      },
-  { "sp_terminal.activating",          SND_FILE_UNDEFINED      },
-  { "sp_terminal.active",              SND_FILE_UNDEFINED      },
+  { "[sp_port].passing",               "gate.wav"              },
+  { "[sp_exit].passing",               "exit.wav"              },
+  { "[sp_exit].opening",               UNDEFINED_FILENAME      },
+  { "sp_sniksnak.moving",              UNDEFINED_FILENAME      },
+  { "sp_sniksnak.waiting",             UNDEFINED_FILENAME      },
+  { "sp_electron.moving",              UNDEFINED_FILENAME      },
+  { "sp_electron.waiting",             UNDEFINED_FILENAME      },
+  { "sp_terminal.activating",          UNDEFINED_FILENAME      },
+  { "sp_terminal.active",              UNDEFINED_FILENAME      },
 
   /* sounds for Sokoban style elements and actions */
-  { "sokoban_object.pushing",          "pusch.wav"             },
-  { "sokoban_field.filling",           "deng.wav"              },
-  { "sokoban_field.emptying",          SND_FILE_UNDEFINED      },
-  { "sokoban_game.solving",            "buing.wav"             },
+  { "[sokoban].pushing",               "pusch.wav"             },
+  { "[sokoban].filling",               "deng.wav"              },
+  { "[sokoban].emptying",              UNDEFINED_FILENAME      },
 
   /* sounds for Emerald Mine style elements and actions */
   { "empty_space.digging",             "empty.wav"             },
@@ -89,47 +83,46 @@ struct ConfigInfo sound_config[] =
   { "rock.impact",                     "klopf.wav"             },
   { "bomb.pushing",                    "pusch.wav"             },
   { "nut.pushing",                     "knurk.wav"             },
-  { "nut.cracking",                    "knack.wav"             },
+  { "nut.breaking",                    "knack.wav"             },
   { "nut.impact",                      "klumpf.wav"            },
-  { "dynamite.collecting",             "pong.wav"              },
-  { "dynamite.dropping",               "deng.wav"              },
-  { "dynamite.active",                 "zisch.wav"             },
-  { "key.collecting",                  "pong.wav"              },
-  { "gate.passing",                    "gate.wav"              },
+  { "[dynamite].collecting",           "pong.wav"              },
+  { "[dynamite].dropping",             "deng.wav"              },
+  { "[dynamite].active",               "zisch.wav"             },
+  { "[key].collecting",                        "pong.wav"              },
+  { "[gate].passing",                  "gate.wav"              },
   { "bug.moving",                      "klapper.wav"           },
   { "bug.waiting",                     "klapper.wav"           },
   { "spaceship.moving",                        "roehr.wav"             },
   { "spaceship.waiting",               "roehr.wav"             },
-  { "yamyam.moving",                   SND_FILE_UNDEFINED      },
+  { "yamyam.moving",                   UNDEFINED_FILENAME      },
   { "yamyam.waiting",                  "njam.wav"              },
-  { "yamyam.eating",                   SND_FILE_UNDEFINED      },
+  { "yamyam.digging",                  UNDEFINED_FILENAME      },
   { "robot.moving",                    "schlurf.wav"           },
   { "robot.moving.mode_loop",          "false"                 },
-  { "robot.waiting",                   SND_FILE_UNDEFINED      },
+  { "robot.waiting",                   UNDEFINED_FILENAME      },
   { "robot_wheel.activating",          "deng.wav"              },
   { "robot_wheel.active",              "miep.wav"              },
   { "magic_wall.activating",           "quirk.wav"             },
   { "magic_wall.active",               "miep.wav"              },
-  { "magic_wall.changing",             "quirk.wav"             },
-  { "amoeba.waiting",                  SND_FILE_UNDEFINED      },
-  { "amoeba.creating",                 "amoebe.wav"            },
-  { "amoeba_drop.creating",            SND_FILE_UNDEFINED      },
+  { "magic_wall.filling",              "quirk.wav"             },
+  { "[amoeba].waiting",                        UNDEFINED_FILENAME      },
+  { "[amoeba].growing",                        "amoebe.wav"            },
+  { "[amoeba].dropping",               UNDEFINED_FILENAME      },
   { "acid.splashing",                  "blurb.wav"             },
-  { "quicksand.filling",               SND_FILE_UNDEFINED      },
-  { "quicksand.slipping",              SND_FILE_UNDEFINED      },
-  { "quicksand.emptying",              SND_FILE_UNDEFINED      },
-  { "exit.opening",                    "oeffnen.wav"           },
-  { "exit.passing",                    "buing.wav"             },
+  { "[quicksand].filling",             UNDEFINED_FILENAME      },
+  { "[quicksand].emptying",            UNDEFINED_FILENAME      },
+  { "[exit].opening",                  "oeffnen.wav"           },
+  { "[exit].passing",                  "buing.wav"             },
 
   /* sounds for Emerald Mine Club style elements and actions */
-  { "balloon.moving",                  SND_FILE_UNDEFINED      },
-  { "balloon.waiting",                 SND_FILE_UNDEFINED      },
+  { "balloon.moving",                  UNDEFINED_FILENAME      },
+  { "balloon.waiting",                 UNDEFINED_FILENAME      },
   { "balloon.pushing",                 "schlurf.wav"           },
-  { "balloon_switch.activating",       SND_FILE_UNDEFINED      },
-  { "spring.moving",                   SND_FILE_UNDEFINED      },
+  { "[balloon_switch].activating",     UNDEFINED_FILENAME      },
+  { "spring.moving",                   UNDEFINED_FILENAME      },
   { "spring.pushing",                  "pusch.wav"             },
   { "spring.impact",                   "klopf.wav"             },
-  { "wall.growing",                    SND_FILE_UNDEFINED      },
+  { "[wall].growing",                  UNDEFINED_FILENAME      },
 
   /* sounds for Diamond Caves style elements and actions */
   { "pearl.collecting",                        "pong.wav"              },
@@ -138,47 +131,48 @@ struct ConfigInfo sound_config[] =
   { "crystal.collecting",              "pong.wav"              },
   { "crystal.impact",                  "pling.wav"             },
   { "envelope.collecting",             "pong.wav"              },
-  { "sand_invisible.digging",          "schlurf.wav"           },
+  { "invisible_sand.digging",          "schlurf.wav"           },
   { "shield_normal.collecting",                "pong.wav"              },
-  { "shield_normal.active",            SND_FILE_UNDEFINED      },
+  { "shield_normal.active",            UNDEFINED_FILENAME      },
   { "shield_deadly.collecting",                "pong.wav"              },
-  { "shield_deadly.active",            SND_FILE_UNDEFINED      },
+  { "shield_deadly.active",            UNDEFINED_FILENAME      },
   { "extra_time.collecting",           "gong.wav"              },
-  { "mole.moving",                     SND_FILE_UNDEFINED      },
-  { "mole.waiting",                    SND_FILE_UNDEFINED      },
-  { "mole.eating",                     "blurb.wav"             },
-  { "switchgate_switch.activating",    SND_FILE_UNDEFINED      },
-  { "switchgate.opening",              "oeffnen.wav"           },
-  { "switchgate.closing",              "oeffnen.wav"           },
-  { "switchgate.passing",              "gate.wav"              },
+  { "mole.moving",                     UNDEFINED_FILENAME      },
+  { "mole.waiting",                    UNDEFINED_FILENAME      },
+  { "mole.digging",                    "blurb.wav"             },
+  { "[switchgate_switch].activating",  UNDEFINED_FILENAME      },
+  { "[switchgate].opening",            "oeffnen.wav"           },
+  { "[switchgate].closing",            "oeffnen.wav"           },
+  { "[switchgate].passing",            "gate.wav"              },
   { "timegate_switch.activating",      "deng.wav"              },
   { "timegate_switch.active",          "miep.wav"              },
+  { "timegate_switch.deactivating",    UNDEFINED_FILENAME      },
   { "timegate.opening",                        "oeffnen.wav"           },
-  { "timegate.closing",                        "oeffnen.wav"           },
-  { "timegate.passing",                        "gate.wav"              },
-  { "conveyor_belt_switch.activating", SND_FILE_UNDEFINED      },
-  { "conveyor_belt_switch.deactivating",SND_FILE_UNDEFINED     },
-  { "conveyor_belt.active",            SND_FILE_UNDEFINED      },
-  { "light_switch.activating",         SND_FILE_UNDEFINED      },
-  { "light_switch.deactivating",       SND_FILE_UNDEFINED      },
+  { "[timegate].closing",              "oeffnen.wav"           },
+  { "[timegate].passing",              "gate.wav"              },
+  { "[conveyor_belt_switch].activating",UNDEFINED_FILENAME     },
+  { "[conveyor_belt].active",          UNDEFINED_FILENAME      },
+  { "[conveyor_belt_switch].deactivating",UNDEFINED_FILENAME   },
+  { "light_switch.activating",         UNDEFINED_FILENAME      },
+  { "light_switch.deactivating",       UNDEFINED_FILENAME      },
 
   /* sounds for DX Boulderdash style elements and actions */
-  { "dx_bomb.pushing",                 "pusch.wav"             },
-  { "trap_inactive.digging",           "schlurf.wav"           },
-  { "trap.activating",                 SND_FILE_UNDEFINED      },
-  { "tube.passing",                    SND_FILE_UNDEFINED      },
+  { "dx_supabomb.pushing",             "pusch.wav"             },
+  { "trap.digging",                    "schlurf.wav"           },
+  { "trap.activating",                 UNDEFINED_FILENAME      },
+  { "[tube].passing",                  UNDEFINED_FILENAME      },
 
   /* sounds for Rocks'n'Diamonds style elements and actions */
   { "amoeba.turning_to_gem",           "pling.wav"             },
   { "amoeba.turning_to_rock",          "klopf.wav"             },
   { "speed_pill.collecting",           "pong.wav"              },
-  { "dynabomb_nr.collecting",          "pong.wav"              },
-  { "dynabomb_sz.collecting",          "pong.wav"              },
-  { "dynabomb_xl.collecting",          "pong.wav"              },
-  { "dynabomb.dropping",               "deng.wav"              },
-  { "dynabomb.active",                 "zisch.wav"             },
-  { "satellite.moving",                        SND_FILE_UNDEFINED      },
-  { "satellite.waiting",               SND_FILE_UNDEFINED      },
+  { "dynabomb_increase_number.collecting","pong.wav"           },
+  { "dynabomb_increase_size.collecting","pong.wav"             },
+  { "dynabomb_increase_power.collecting","pong.wav"            },
+  { "[dynabomb].dropping",             "deng.wav"              },
+  { "[dynabomb].active",               "zisch.wav"             },
+  { "satellite.moving",                        UNDEFINED_FILENAME      },
+  { "satellite.waiting",               UNDEFINED_FILENAME      },
   { "satellite.pushing",               "pusch.wav"             },
   { "lamp.activating",                 "deng.wav"              },
   { "lamp.deactivating",               "deng.wav"              },
@@ -186,36 +180,40 @@ struct ConfigInfo sound_config[] =
   { "time_orb_full.impact",            "deng.wav"              },
   { "time_orb_empty.pushing",          "pusch.wav"             },
   { "time_orb_empty.impact",           "deng.wav"              },
-  { "gameoflife.waiting",              SND_FILE_UNDEFINED      },
-  { "gameoflife.creating",             "amoebe.wav"            },
-  { "biomaze.waiting",                 SND_FILE_UNDEFINED      },
-  { "biomaze.creating",                        "amoebe.wav"            },
-  { "pacman.moving",                   SND_FILE_UNDEFINED      },
-  { "pacman.waiting",                  SND_FILE_UNDEFINED      },
-  { "pacman.eating",                   SND_FILE_UNDEFINED      },
-  { "dark_yamyam.moving",              SND_FILE_UNDEFINED      },
+  { "game_of_life.waiting",            UNDEFINED_FILENAME      },
+  { "game_of_life.growing",            "amoebe.wav"            },
+  { "biomaze.waiting",                 UNDEFINED_FILENAME      },
+  { "biomaze.growing",                 "amoebe.wav"            },
+  { "pacman.moving",                   UNDEFINED_FILENAME      },
+  { "pacman.waiting",                  UNDEFINED_FILENAME      },
+  { "pacman.digging",                  UNDEFINED_FILENAME      },
+  { "dark_yamyam.moving",              UNDEFINED_FILENAME      },
   { "dark_yamyam.waiting",             "njam.wav"              },
-  { "dark_yamyam.eating",              SND_FILE_UNDEFINED      },
-  { "penguin.moving",                  SND_FILE_UNDEFINED      },
-  { "penguin.waiting",                 SND_FILE_UNDEFINED      },
-  { "penguin.passing_exit",            "buing.wav"             },
-  { "pig.moving",                      SND_FILE_UNDEFINED      },
-  { "pig.waiting",                     SND_FILE_UNDEFINED      },
-  { "pig.eating",                      SND_FILE_UNDEFINED      },
-  { "dragon.moving",                   SND_FILE_UNDEFINED      },
-  { "dragon.waiting",                  SND_FILE_UNDEFINED      },
-  { "dragon.attacking",                        SND_FILE_UNDEFINED      },
+  { "dark_yamyam.digging",             UNDEFINED_FILENAME      },
+  { "penguin.moving",                  UNDEFINED_FILENAME      },
+  { "penguin.waiting",                 UNDEFINED_FILENAME      },
+  { "pig.moving",                      UNDEFINED_FILENAME      },
+  { "pig.waiting",                     UNDEFINED_FILENAME      },
+  { "pig.digging",                     UNDEFINED_FILENAME      },
+  { "dragon.moving",                   UNDEFINED_FILENAME      },
+  { "dragon.waiting",                  UNDEFINED_FILENAME      },
+  { "dragon.attacking",                        UNDEFINED_FILENAME      },
 
   /* sounds for generic elements and actions */
-  { "player.dying",                    "autsch.wav"            },
+  { "[player].dying",                  "autsch.wav"            },
   { "element.exploding",               "roaaar.wav"            },
+  { "sp_element.exploding",            "booom.wav"             },
+
+  /* sounds not associated to game elements (used for menu screens etc.) */
+  /* keyword to stop parser: "NO_MORE_ELEMENT_SOUNDS" <-- do not change! */
 
   /* sounds for other game actions */
-  { "game.starting",                   SND_FILE_UNDEFINED      },
+  { "game.starting",                   UNDEFINED_FILENAME      },
   { "game.running_out_of_time",                "gong.wav"              },
   { "game.leveltime_bonus",            "sirr.wav"              },
   { "game.losing",                     "lachen.wav"            },
-  { "game.winning",                    SND_FILE_UNDEFINED      },
+  { "game.winning",                    UNDEFINED_FILENAME      },
+  { "game.sokoban_solving",            "buing.wav"             },
 
   /* sounds for other non-game actions */
   { "menu.door_opening",               "oeffnen.wav"           },
index 60ea119fa792e3a71b3f81461fb4887a52b62f7d..5e820d48de44dd36203619c3781130dad7c43220 100644 (file)
 
 /* values for sounds configuration */
 
-#define SND_BD_EMPTY_SPACE_DIGGING             0
-#define SND_BD_SAND_DIGGING                    1
-#define SND_BD_DIAMOND_COLLECTING              2
-#define SND_BD_DIAMOND_IMPACT                  3
-#define SND_BD_ROCK_PUSHING                    4
-#define SND_BD_ROCK_IMPACT                     5
-#define SND_BD_MAGIC_WALL_ACTIVATING           6
-#define SND_BD_MAGIC_WALL_ACTIVE               7
-#define SND_BD_MAGIC_WALL_CHANGING             8
-#define SND_BD_AMOEBA_WAITING                  9
-#define SND_BD_AMOEBA_CREATING                 10
-#define SND_BD_AMOEBA_TURNING_TO_GEM           11
-#define SND_BD_AMOEBA_TURNING_TO_ROCK          12
-#define SND_BD_BUTTERFLY_MOVING                        13
-#define SND_BD_BUTTERFLY_WAITING               14
-#define SND_BD_FIREFLY_MOVING                  15
-#define SND_BD_FIREFLY_WAITING                 16
-#define SND_BD_EXIT_PASSING                    17
-#define SND_SP_EMPTY_SPACE_DIGGING             18
-#define SND_SP_BASE_DIGGING                    19
-#define SND_SP_BUGGY_BASE_DIGGING              20
-#define SND_SP_BUGGY_BASE_ACTIVE               21
-#define SND_SP_INFOTRON_COLLECTING             22
-#define SND_SP_INFOTRON_IMPACT                 23
-#define SND_SP_ZONK_PUSHING                    24
-#define SND_SP_ZONK_IMPACT                     25
-#define SND_SP_DISK_RED_COLLECTING             26
-#define SND_SP_DISK_ORANGE_PUSHING             27
-#define SND_SP_DISK_YELLOW_PUSHING             28
-#define SND_SP_PORT_PASSING                    29
-#define SND_SP_EXIT_PASSING                    30
-#define SND_SP_EXIT_OPENING                    31
-#define SND_SP_ELEMENT_EXPLODING               32
-#define SND_SP_SNIKSNAK_MOVING                 33
-#define SND_SP_SNIKSNAK_WAITING                        34
-#define SND_SP_ELECTRON_MOVING                 35
-#define SND_SP_ELECTRON_WAITING                        36
-#define SND_SP_TERMINAL_ACTIVATING             37
-#define SND_SP_TERMINAL_ACTIVE                 38
-#define SND_SOKOBAN_OBJECT_PUSHING             39
-#define SND_SOKOBAN_FIELD_FILLING              40
-#define SND_SOKOBAN_FIELD_EMPTYING             41
-#define SND_SOKOBAN_GAME_SOLVING               42
-#define SND_EMPTY_SPACE_DIGGING                        43
-#define SND_SAND_DIGGING                       44
-#define SND_EMERALD_COLLECTING                 45
-#define SND_EMERALD_IMPACT                     46
-#define SND_DIAMOND_COLLECTING                 47
-#define SND_DIAMOND_IMPACT                     48
-#define SND_DIAMOND_BREAKING                   49
-#define SND_ROCK_PUSHING                       50
-#define SND_ROCK_IMPACT                                51
-#define SND_BOMB_PUSHING                       52
-#define SND_NUT_PUSHING                                53
-#define SND_NUT_CRACKING                       54
-#define SND_NUT_IMPACT                         55
-#define SND_DYNAMITE_COLLECTING                        56
-#define SND_DYNAMITE_DROPPING                  57
-#define SND_DYNAMITE_ACTIVE                    58
-#define SND_KEY_COLLECTING                     59
-#define SND_GATE_PASSING                       60
-#define SND_BUG_MOVING                         61
-#define SND_BUG_WAITING                                62
-#define SND_SPACESHIP_MOVING                   63
-#define SND_SPACESHIP_WAITING                  64
-#define SND_YAMYAM_MOVING                      65
-#define SND_YAMYAM_WAITING                     66
-#define SND_YAMYAM_EATING                      67
-#define SND_ROBOT_MOVING                       68
-#define SND_ROBOT_WAITING                      69
-#define SND_ROBOT_WHEEL_ACTIVATING             70
-#define SND_ROBOT_WHEEL_ACTIVE                 71
-#define SND_MAGIC_WALL_ACTIVATING              72
-#define SND_MAGIC_WALL_ACTIVE                  73
-#define SND_MAGIC_WALL_CHANGING                        74
-#define SND_AMOEBA_WAITING                     75
-#define SND_AMOEBA_CREATING                    76
-#define SND_AMOEBA_DROP_CREATING               77
-#define SND_ACID_SPLASHING                     78
-#define SND_QUICKSAND_FILLING                  79
-#define SND_QUICKSAND_SLIPPING                 80
-#define SND_QUICKSAND_EMPTYING                 81
-#define SND_EXIT_OPENING                       82
-#define SND_EXIT_PASSING                       83
-#define SND_BALLOON_MOVING                     84
-#define SND_BALLOON_WAITING                    85
-#define SND_BALLOON_PUSHING                    86
-#define SND_BALLOON_SWITCH_ACTIVATING          87
-#define SND_SPRING_MOVING                      88
-#define SND_SPRING_PUSHING                     89
-#define SND_SPRING_IMPACT                      90
-#define SND_WALL_GROWING                       91
-#define SND_PEARL_COLLECTING                   92
-#define SND_PEARL_BREAKING                     93
-#define SND_PEARL_IMPACT                       94
-#define SND_CRYSTAL_COLLECTING                 95
-#define SND_CRYSTAL_IMPACT                     96
-#define SND_ENVELOPE_COLLECTING                        97
-#define SND_SAND_INVISIBLE_DIGGING             98
-#define SND_SHIELD_NORMAL_COLLECTING           99
-#define SND_SHIELD_NORMAL_ACTIVE               100
-#define SND_SHIELD_DEADLY_COLLECTING           101
-#define SND_SHIELD_DEADLY_ACTIVE               102
-#define SND_EXTRA_TIME_COLLECTING              103
-#define SND_MOLE_MOVING                                104
-#define SND_MOLE_WAITING                       105
-#define SND_MOLE_EATING                                106
-#define SND_SWITCHGATE_SWITCH_ACTIVATING       107
-#define SND_SWITCHGATE_OPENING                 108
-#define SND_SWITCHGATE_CLOSING                 109
-#define SND_SWITCHGATE_PASSING                 110
-#define SND_TIMEGATE_SWITCH_ACTIVATING         111
-#define SND_TIMEGATE_SWITCH_ACTIVE             112
-#define SND_TIMEGATE_OPENING                   113
-#define SND_TIMEGATE_CLOSING                   114
-#define SND_TIMEGATE_PASSING                   115
-#define SND_CONVEYOR_BELT_SWITCH_ACTIVATING    116
-#define SND_CONVEYOR_BELT_SWITCH_DEACTIVATING  117
-#define SND_CONVEYOR_BELT_ACTIVE               118
-#define SND_LIGHT_SWITCH_ACTIVATING            119
-#define SND_LIGHT_SWITCH_DEACTIVATING          120
-#define SND_DX_BOMB_PUSHING                    121
-#define SND_TRAP_INACTIVE_DIGGING              122
-#define SND_TRAP_ACTIVATING                    123
-#define SND_TUBE_PASSING                       124
-#define SND_AMOEBA_TURNING_TO_GEM              125
-#define SND_AMOEBA_TURNING_TO_ROCK             126
-#define SND_SPEED_PILL_COLLECTING              127
-#define SND_DYNABOMB_NR_COLLECTING             128
-#define SND_DYNABOMB_SZ_COLLECTING             129
-#define SND_DYNABOMB_XL_COLLECTING             130
-#define SND_DYNABOMB_DROPPING                  131
-#define SND_DYNABOMB_ACTIVE                    132
-#define SND_SATELLITE_MOVING                   133
-#define SND_SATELLITE_WAITING                  134
-#define SND_SATELLITE_PUSHING                  135
-#define SND_LAMP_ACTIVATING                    136
-#define SND_LAMP_DEACTIVATING                  137
-#define SND_TIME_ORB_FULL_COLLECTING           138
-#define SND_TIME_ORB_FULL_IMPACT               139
-#define SND_TIME_ORB_EMPTY_PUSHING             140
-#define SND_TIME_ORB_EMPTY_IMPACT              141
-#define SND_GAMEOFLIFE_WAITING                 142
-#define SND_GAMEOFLIFE_CREATING                        143
-#define SND_BIOMAZE_WAITING                    144
-#define SND_BIOMAZE_CREATING                   145
-#define SND_PACMAN_MOVING                      146
-#define SND_PACMAN_WAITING                     147
-#define SND_PACMAN_EATING                      148
-#define SND_DARK_YAMYAM_MOVING                 149
-#define SND_DARK_YAMYAM_WAITING                        150
-#define SND_DARK_YAMYAM_EATING                 151
-#define SND_PENGUIN_MOVING                     152
-#define SND_PENGUIN_WAITING                    153
-#define SND_PENGUIN_PASSING_EXIT               154
-#define SND_PIG_MOVING                         155
-#define SND_PIG_WAITING                                156
-#define SND_PIG_EATING                         157
-#define SND_DRAGON_MOVING                      158
-#define SND_DRAGON_WAITING                     159
-#define SND_DRAGON_ATTACKING                   160
-#define SND_PLAYER_DYING                       161
-#define SND_ELEMENT_EXPLODING                  162
-#define SND_GAME_STARTING                      163
-#define SND_GAME_RUNNING_OUT_OF_TIME           164
-#define SND_GAME_LEVELTIME_BONUS               165
-#define SND_GAME_LOSING                                166
-#define SND_GAME_WINNING                       167
-#define SND_MENU_DOOR_OPENING                  168
-#define SND_MENU_DOOR_CLOSING                  169
-#define SND_MENU_HALL_OF_FAME                  170
-#define SND_MENU_INFO_SCREEN                   171
+#define SND_BD_DIAMOND_COLLECTING                              0
+#define SND_BD_DIAMOND_IMPACT                          1
+#define SND_BD_ROCK_PUSHING                                    2
+#define SND_BD_ROCK_IMPACT                                     3
+#define SND_BD_MAGIC_WALL_ACTIVATING                   4
+#define SND_BD_MAGIC_WALL_ACTIVE                               5
+#define SND_BD_MAGIC_WALL_FILLING                              6
+#define SND_BD_AMOEBA_WAITING                          7
+#define SND_BD_AMOEBA_GROWING                          8
+#define SND_BD_AMOEBA_TURNING_TO_GEM                   9
+#define SND_BD_AMOEBA_TURNING_TO_ROCK                  10
+#define SND_BD_BUTTERFLY_MOVING                                11
+#define SND_BD_BUTTERFLY_WAITING                               12
+#define SND_BD_FIREFLY_MOVING                          13
+#define SND_BD_FIREFLY_WAITING                         14
+#define SND_SP_BASE_DIGGING                                    15
+#define SND_SP_BUGGY_BASE_DIGGING                              16
+#define SND_SP_BUGGY_BASE_ACTIVE                               17
+#define SND_SP_INFOTRON_COLLECTING                             18
+#define SND_SP_INFOTRON_IMPACT                         19
+#define SND_SP_ZONK_PUSHING                                    20
+#define SND_SP_ZONK_IMPACT                                     21
+#define SND_SP_DISK_RED_COLLECTING                             22
+#define SND_SP_DISK_ORANGE_PUSHING                             23
+#define SND_SP_DISK_YELLOW_PUSHING                             24
+#define SND_CLASS_SP_PORT_PASSING                              25
+#define SND_CLASS_SP_EXIT_PASSING                              26
+#define SND_CLASS_SP_EXIT_OPENING                              27
+#define SND_SP_SNIKSNAK_MOVING                         28
+#define SND_SP_SNIKSNAK_WAITING                                29
+#define SND_SP_ELECTRON_MOVING                         30
+#define SND_SP_ELECTRON_WAITING                                31
+#define SND_SP_TERMINAL_ACTIVATING                             32
+#define SND_SP_TERMINAL_ACTIVE                         33
+#define SND_CLASS_SOKOBAN_PUSHING                              34
+#define SND_CLASS_SOKOBAN_FILLING                              35
+#define SND_CLASS_SOKOBAN_EMPTYING                             36
+#define SND_EMPTY_SPACE_DIGGING                                37
+#define SND_SAND_DIGGING                                       38
+#define SND_EMERALD_COLLECTING                         39
+#define SND_EMERALD_IMPACT                                     40
+#define SND_DIAMOND_COLLECTING                         41
+#define SND_DIAMOND_IMPACT                                     42
+#define SND_DIAMOND_BREAKING                           43
+#define SND_ROCK_PUSHING                                       44
+#define SND_ROCK_IMPACT                                        45
+#define SND_BOMB_PUSHING                                       46
+#define SND_NUT_PUSHING                                        47
+#define SND_NUT_BREAKING                                       48
+#define SND_NUT_IMPACT                                 49
+#define SND_CLASS_DYNAMITE_COLLECTING                          50
+#define SND_CLASS_DYNAMITE_DROPPING                            51
+#define SND_CLASS_DYNAMITE_ACTIVE                              52
+#define SND_CLASS_KEY_COLLECTING                               53
+#define SND_CLASS_GATE_PASSING                                 54
+#define SND_BUG_MOVING                                 55
+#define SND_BUG_WAITING                                        56
+#define SND_SPACESHIP_MOVING                           57
+#define SND_SPACESHIP_WAITING                          58
+#define SND_YAMYAM_MOVING                                      59
+#define SND_YAMYAM_WAITING                                     60
+#define SND_YAMYAM_DIGGING                                     61
+#define SND_ROBOT_MOVING                                       62
+#define SND_ROBOT_WAITING                                      63
+#define SND_ROBOT_WHEEL_ACTIVATING                             64
+#define SND_ROBOT_WHEEL_ACTIVE                         65
+#define SND_MAGIC_WALL_ACTIVATING                              66
+#define SND_MAGIC_WALL_ACTIVE                          67
+#define SND_MAGIC_WALL_FILLING                         68
+#define SND_CLASS_AMOEBA_WAITING                               69
+#define SND_CLASS_AMOEBA_GROWING                               70
+#define SND_CLASS_AMOEBA_DROPPING                              71
+#define SND_ACID_SPLASHING                                     72
+#define SND_CLASS_QUICKSAND_FILLING                            73
+#define SND_CLASS_QUICKSAND_EMPTYING                           74
+#define SND_CLASS_EXIT_OPENING                                 75
+#define SND_CLASS_EXIT_PASSING                                 76
+#define SND_BALLOON_MOVING                                     77
+#define SND_BALLOON_WAITING                                    78
+#define SND_BALLOON_PUSHING                                    79
+#define SND_CLASS_BALLOON_SWITCH_ACTIVATING                    80
+#define SND_SPRING_MOVING                                      81
+#define SND_SPRING_PUSHING                                     82
+#define SND_SPRING_IMPACT                                      83
+#define SND_CLASS_WALL_GROWING                                 84
+#define SND_PEARL_COLLECTING                           85
+#define SND_PEARL_BREAKING                                     86
+#define SND_PEARL_IMPACT                                       87
+#define SND_CRYSTAL_COLLECTING                         88
+#define SND_CRYSTAL_IMPACT                                     89
+#define SND_ENVELOPE_COLLECTING                                90
+#define SND_INVISIBLE_SAND_DIGGING                             91
+#define SND_SHIELD_NORMAL_COLLECTING                   92
+#define SND_SHIELD_NORMAL_ACTIVE                               93
+#define SND_SHIELD_DEADLY_COLLECTING                   94
+#define SND_SHIELD_DEADLY_ACTIVE                               95
+#define SND_EXTRA_TIME_COLLECTING                              96
+#define SND_MOLE_MOVING                                        97
+#define SND_MOLE_WAITING                                       98
+#define SND_MOLE_DIGGING                                       99
+#define SND_CLASS_SWITCHGATE_SWITCH_ACTIVATING                 100
+#define SND_CLASS_SWITCHGATE_OPENING                           101
+#define SND_CLASS_SWITCHGATE_CLOSING                           102
+#define SND_CLASS_SWITCHGATE_PASSING                           103
+#define SND_TIMEGATE_SWITCH_ACTIVATING                 104
+#define SND_TIMEGATE_SWITCH_ACTIVE                             105
+#define SND_TIMEGATE_SWITCH_DEACTIVATING                       106
+#define SND_TIMEGATE_OPENING                           107
+#define SND_CLASS_TIMEGATE_CLOSING                             108
+#define SND_CLASS_TIMEGATE_PASSING                             109
+#define SND_CLASS_CONVEYOR_BELT_SWITCH_ACTIVATING              110
+#define SND_CLASS_CONVEYOR_BELT_ACTIVE                         111
+#define SND_CLASS_CONVEYOR_BELT_SWITCH_DEACTIVATING            112
+#define SND_LIGHT_SWITCH_ACTIVATING                            113
+#define SND_LIGHT_SWITCH_DEACTIVATING                  114
+#define SND_DX_SUPABOMB_PUSHING                                115
+#define SND_TRAP_DIGGING                                       116
+#define SND_TRAP_ACTIVATING                                    117
+#define SND_CLASS_TUBE_PASSING                                 118
+#define SND_AMOEBA_TURNING_TO_GEM                              119
+#define SND_AMOEBA_TURNING_TO_ROCK                             120
+#define SND_SPEED_PILL_COLLECTING                              121
+#define SND_DYNABOMB_INCREASE_NUMBER_COLLECTING                122
+#define SND_DYNABOMB_INCREASE_SIZE_COLLECTING          123
+#define SND_DYNABOMB_INCREASE_POWER_COLLECTING         124
+#define SND_CLASS_DYNABOMB_DROPPING                            125
+#define SND_CLASS_DYNABOMB_ACTIVE                              126
+#define SND_SATELLITE_MOVING                           127
+#define SND_SATELLITE_WAITING                          128
+#define SND_SATELLITE_PUSHING                          129
+#define SND_LAMP_ACTIVATING                                    130
+#define SND_LAMP_DEACTIVATING                          131
+#define SND_TIME_ORB_FULL_COLLECTING                   132
+#define SND_TIME_ORB_FULL_IMPACT                               133
+#define SND_TIME_ORB_EMPTY_PUSHING                             134
+#define SND_TIME_ORB_EMPTY_IMPACT                              135
+#define SND_GAME_OF_LIFE_WAITING                               136
+#define SND_GAME_OF_LIFE_GROWING                               137
+#define SND_BIOMAZE_WAITING                                    138
+#define SND_BIOMAZE_GROWING                                    139
+#define SND_PACMAN_MOVING                                      140
+#define SND_PACMAN_WAITING                                     141
+#define SND_PACMAN_DIGGING                                     142
+#define SND_DARK_YAMYAM_MOVING                         143
+#define SND_DARK_YAMYAM_WAITING                                144
+#define SND_DARK_YAMYAM_DIGGING                                145
+#define SND_PENGUIN_MOVING                                     146
+#define SND_PENGUIN_WAITING                                    147
+#define SND_PIG_MOVING                                 148
+#define SND_PIG_WAITING                                        149
+#define SND_PIG_DIGGING                                        150
+#define SND_DRAGON_MOVING                                      151
+#define SND_DRAGON_WAITING                                     152
+#define SND_DRAGON_ATTACKING                           153
+#define SND_CLASS_PLAYER_DYING                                 154
+#define SND_ELEMENT_EXPLODING                          155
+#define SND_SP_ELEMENT_EXPLODING                               156
+#define SND_GAME_STARTING                                      157
+#define SND_GAME_RUNNING_OUT_OF_TIME                   158
+#define SND_GAME_LEVELTIME_BONUS                               159
+#define SND_GAME_LOSING                                        160
+#define SND_GAME_WINNING                                       161
+#define SND_GAME_SOKOBAN_SOLVING                               162
+#define SND_MENU_DOOR_OPENING                          163
+#define SND_MENU_DOOR_CLOSING                          164
+#define SND_MENU_HALL_OF_FAME                          165
+#define SND_MENU_INFO_SCREEN                           166
 
-#define NUM_SOUND_FILES                                172
+#define NUM_SOUND_FILES                                167
 
 #endif /* CONF_SND_H */
index d0b39e1bb4fce8080b3824d1639456853fbead69..8ede53f993835479152ca491326d2a0d7e8b3bd5 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2003-03-04 17:59]"
+#define COMPILE_DATE_STRING "[2003-03-05 05:42]"
index 075bed040f75ec6b4d8324ac02a604de4de27a48..be1011655149e4e55f290c04942df948074272fc 100644 (file)
@@ -802,7 +802,7 @@ static int editor_el_boulderdash[] =
   EL_CHAR('S'),
   EL_CHAR('H'),
 
-  EL_PLAYER1,
+  EL_PLAYER_1,
   EL_EMPTY,
   EL_SAND,
   EL_STEELWALL,
@@ -846,12 +846,12 @@ static int editor_el_emerald_mine[] =
   EL_CHAR('N'),
   EL_CHAR('E'),
 
-  EL_PLAYER1,
-  EL_PLAYER2,
-  EL_PLAYER3,
-  EL_PLAYER4,
+  EL_PLAYER_1,
+  EL_PLAYER_2,
+  EL_PLAYER_3,
+  EL_PLAYER_4,
 
-  EL_PLAYER1,
+  EL_PLAYER_1,
   EL_EMPTY,
   EL_SAND,
   EL_ROCK,
@@ -891,14 +891,14 @@ static int editor_el_emerald_mine[] =
   EL_SPACESHIP_DOWN,
   EL_INVISIBLE_WALL,
 
-  EL_ACIDPOOL_TOPLEFT,
+  EL_ACID_POOL_TOPLEFT,
   EL_ACID,
-  EL_ACIDPOOL_TOPRIGHT,
+  EL_ACID_POOL_TOPRIGHT,
   EL_EMPTY,
 
-  EL_ACIDPOOL_BOTTOMLEFT,
-  EL_ACIDPOOL_BOTTOM,
-  EL_ACIDPOOL_BOTTOMRIGHT,
+  EL_ACID_POOL_BOTTOMLEFT,
+  EL_ACID_POOL_BOTTOM,
+  EL_ACID_POOL_BOTTOMRIGHT,
   EL_EMPTY,
 
   EL_AMOEBA_DROP,
@@ -906,20 +906,20 @@ static int editor_el_emerald_mine[] =
   EL_AMOEBA_WET,
   EL_AMOEBA_DRY,
 
-  EL_EM_KEY1_FILE,
-  EL_EM_KEY2_FILE,
-  EL_EM_KEY3_FILE,
-  EL_EM_KEY4_FILE,
+  EL_EM_KEY_1_FILE,
+  EL_EM_KEY_2_FILE,
+  EL_EM_KEY_3_FILE,
+  EL_EM_KEY_4_FILE,
 
-  EL_EM_GATE1,
-  EL_EM_GATE2,
-  EL_EM_GATE3,
-  EL_EM_GATE4,
+  EL_EM_GATE_1,
+  EL_EM_GATE_2,
+  EL_EM_GATE_3,
+  EL_EM_GATE_4,
 
-  EL_EM_GATE1_GRAY,
-  EL_EM_GATE2_GRAY,
-  EL_EM_GATE3_GRAY,
-  EL_EM_GATE4_GRAY,
+  EL_EM_GATE_1_GRAY,
+  EL_EM_GATE_2_GRAY,
+  EL_EM_GATE_3_GRAY,
+  EL_EM_GATE_4_GRAY,
 };
 static int num_editor_el_emerald_mine = SIZEOF_ARRAY_INT(editor_el_emerald_mine);
 
@@ -930,20 +930,20 @@ static int editor_el_more[] =
   EL_CHAR('R'),
   EL_CHAR('E'),
 
-  EL_KEY1,
-  EL_KEY2,
-  EL_KEY3,
-  EL_KEY4,
+  EL_KEY_1,
+  EL_KEY_2,
+  EL_KEY_3,
+  EL_KEY_4,
 
-  EL_GATE1,
-  EL_GATE2,
-  EL_GATE3,
-  EL_GATE4,
+  EL_GATE_1,
+  EL_GATE_2,
+  EL_GATE_3,
+  EL_GATE_4,
 
-  EL_GATE1_GRAY,
-  EL_GATE2_GRAY,
-  EL_GATE3_GRAY,
-  EL_GATE4_GRAY,
+  EL_GATE_1_GRAY,
+  EL_GATE_2_GRAY,
+  EL_GATE_3_GRAY,
+  EL_GATE_4_GRAY,
 
   EL_ARROW_LEFT,
   EL_ARROW_RIGHT,
@@ -960,7 +960,7 @@ static int editor_el_more[] =
   EL_WALL_EMERALD_RED,
   EL_WALL_EMERALD_PURPLE,
 
-  EL_GAMEOFLIFE,
+  EL_GAME_OF_LIFE,
   EL_PACMAN_UP,
   EL_TIME_ORB_FULL,
   EL_TIME_ORB_EMPTY,
@@ -968,16 +968,16 @@ static int editor_el_more[] =
   EL_PACMAN_LEFT,
   EL_DARK_YAMYAM,
   EL_PACMAN_RIGHT,
-  EL_WALL_GROWING,
+  EL_EXPANDABLE_WALL,
 
   EL_BIOMAZE,
   EL_PACMAN_DOWN,
   EL_LAMP,
   EL_LAMP_ACTIVE,
 
-  EL_DYNABOMB_NR,
-  EL_DYNABOMB_SZ,
-  EL_DYNABOMB_XL,
+  EL_DYNABOMB_INCREASE_NUMBER,
+  EL_DYNABOMB_INCREASE_SIZE,
+  EL_DYNABOMB_INCREASE_POWER,
   EL_STONEBLOCK,
 
   EL_MOLE,
@@ -998,32 +998,32 @@ static int editor_el_more[] =
   EL_EMPTY,
   EL_MOLE_DOWN,
   EL_BALLOON,
-  EL_BALLOON_SEND_ANY_DIRECTION,
+  EL_BALLOON_SWITCH_ANY,
 
-  EL_BALLOON_SEND_LEFT,
-  EL_BALLOON_SEND_RIGHT,
-  EL_BALLOON_SEND_UP,
-  EL_BALLOON_SEND_DOWN,
+  EL_BALLOON_SWITCH_LEFT,
+  EL_BALLOON_SWITCH_RIGHT,
+  EL_BALLOON_SWITCH_UP,
+  EL_BALLOON_SWITCH_DOWN,
 
   EL_SATELLITE,
-  EL_WALL_GROWING_X,
-  EL_WALL_GROWING_Y,
-  EL_WALL_GROWING_XY,
+  EL_EXPANDABLE_WALL_HORIZONTAL,
+  EL_EXPANDABLE_WALL_VERTICAL,
+  EL_EXPANDABLE_WALL_ANY,
 
   EL_INVISIBLE_STEELWALL,
   EL_INVISIBLE_WALL,
   EL_SPEED_PILL,
   EL_BLACK_ORB,
 
-  EL_EMC_STEELWALL1,
-  EL_EMC_WALL_PILLAR_UPPER,
-  EL_EMC_WALL_PILLAR_MIDDLE,
-  EL_EMC_WALL_PILLAR_LOWER,
+  EL_EMC_STEELWALL_1,
+  EL_EMC_WALL_1,
+  EL_EMC_WALL_2,
+  EL_EMC_WALL_3,
 
-  EL_EMC_WALL4,
-  EL_EMC_WALL5,
-  EL_EMC_WALL6,
-  EL_EMC_WALL7,
+  EL_EMC_WALL_4,
+  EL_EMC_WALL_5,
+  EL_EMC_WALL_6,
+  EL_EMC_WALL_7,
 };
 static int num_editor_el_more = SIZEOF_ARRAY_INT(editor_el_more);
 
@@ -1065,48 +1065,48 @@ static int editor_el_supaplex[] =
 
   EL_SP_INFOTRON,
   EL_SP_CHIP_SINGLE,
-  EL_SP_HARD_GRAY,
+  EL_SP_HARDWARE_GRAY,
   EL_SP_EXIT_CLOSED,
 
   EL_SP_DISK_ORANGE,
-  EL_SP_PORT1_RIGHT,
-  EL_SP_PORT1_DOWN,
-  EL_SP_PORT1_LEFT,
+  EL_SP_PORT_RIGHT,
+  EL_SP_PORT_DOWN,
+  EL_SP_PORT_LEFT,
 
-  EL_SP_PORT1_UP,
-  EL_SP_PORT2_RIGHT,
-  EL_SP_PORT2_DOWN,
-  EL_SP_PORT2_LEFT,
+  EL_SP_PORT_UP,
+  EL_SP_GRAVITY_PORT_RIGHT,
+  EL_SP_GRAVITY_PORT_DOWN,
+  EL_SP_GRAVITY_PORT_LEFT,
 
-  EL_SP_PORT2_UP,
+  EL_SP_GRAVITY_PORT_UP,
   EL_SP_SNIKSNAK,
   EL_SP_DISK_YELLOW,
   EL_SP_TERMINAL,
 
   EL_SP_DISK_RED,
-  EL_SP_PORT_Y,
-  EL_SP_PORT_X,
-  EL_SP_PORT_XY,
+  EL_SP_PORT_VERTICAL,
+  EL_SP_PORT_HORIZONTAL,
+  EL_SP_PORT_ANY,
 
   EL_SP_ELECTRON,
   EL_SP_BUGGY_BASE,
   EL_SP_CHIP_LEFT,
   EL_SP_CHIP_RIGHT,
 
-  EL_SP_HARD_BASE1,
-  EL_SP_HARD_GREEN,
-  EL_SP_HARD_BLUE,
-  EL_SP_HARD_RED,
+  EL_SP_HARDWARE_BASE_1,
+  EL_SP_HARDWARE_GREEN,
+  EL_SP_HARDWARE_BLUE,
+  EL_SP_HARDWARE_RED,
 
-  EL_SP_HARD_YELLOW,
-  EL_SP_HARD_BASE2,
-  EL_SP_HARD_BASE3,
-  EL_SP_HARD_BASE4,
+  EL_SP_HARDWARE_YELLOW,
+  EL_SP_HARDWARE_BASE_2,
+  EL_SP_HARDWARE_BASE_3,
+  EL_SP_HARDWARE_BASE_4,
 
-  EL_SP_HARD_BASE5,
-  EL_SP_HARD_BASE6,
-  EL_SP_CHIP_UPPER,
-  EL_SP_CHIP_LOWER,
+  EL_SP_HARDWARE_BASE_5,
+  EL_SP_HARDWARE_BASE_6,
+  EL_SP_CHIP_TOP,
+  EL_SP_CHIP_BOTTOM,
 };
 static int num_editor_el_supaplex = SIZEOF_ARRAY_INT(editor_el_supaplex);
 
@@ -1137,35 +1137,35 @@ static int editor_el_diamond_caves[] =
   EL_WALL_PEARL,
   EL_WALL_CRYSTAL,
 
-  EL_CONVEYOR_BELT1_LEFT,
-  EL_CONVEYOR_BELT1_MIDDLE,
-  EL_CONVEYOR_BELT1_RIGHT,
-  EL_CONVEYOR_BELT1_SWITCH_MIDDLE,
+  EL_CONVEYOR_BELT_1_LEFT,
+  EL_CONVEYOR_BELT_1_MIDDLE,
+  EL_CONVEYOR_BELT_1_RIGHT,
+  EL_CONVEYOR_BELT_1_SWITCH_MIDDLE,
 
-  EL_CONVEYOR_BELT2_LEFT,
-  EL_CONVEYOR_BELT2_MIDDLE,
-  EL_CONVEYOR_BELT2_RIGHT,
-  EL_CONVEYOR_BELT2_SWITCH_MIDDLE,
+  EL_CONVEYOR_BELT_2_LEFT,
+  EL_CONVEYOR_BELT_2_MIDDLE,
+  EL_CONVEYOR_BELT_2_RIGHT,
+  EL_CONVEYOR_BELT_2_SWITCH_MIDDLE,
 
-  EL_CONVEYOR_BELT3_LEFT,
-  EL_CONVEYOR_BELT3_MIDDLE,
-  EL_CONVEYOR_BELT3_RIGHT,
-  EL_CONVEYOR_BELT3_SWITCH_MIDDLE,
+  EL_CONVEYOR_BELT_3_LEFT,
+  EL_CONVEYOR_BELT_3_MIDDLE,
+  EL_CONVEYOR_BELT_3_RIGHT,
+  EL_CONVEYOR_BELT_3_SWITCH_MIDDLE,
 
-  EL_CONVEYOR_BELT4_LEFT,
-  EL_CONVEYOR_BELT4_MIDDLE,
-  EL_CONVEYOR_BELT4_RIGHT,
-  EL_CONVEYOR_BELT4_SWITCH_MIDDLE,
+  EL_CONVEYOR_BELT_4_LEFT,
+  EL_CONVEYOR_BELT_4_MIDDLE,
+  EL_CONVEYOR_BELT_4_RIGHT,
+  EL_CONVEYOR_BELT_4_SWITCH_MIDDLE,
 
-  EL_CONVEYOR_BELT1_SWITCH_LEFT,
-  EL_CONVEYOR_BELT2_SWITCH_LEFT,
-  EL_CONVEYOR_BELT3_SWITCH_LEFT,
-  EL_CONVEYOR_BELT4_SWITCH_LEFT,
+  EL_CONVEYOR_BELT_1_SWITCH_LEFT,
+  EL_CONVEYOR_BELT_2_SWITCH_LEFT,
+  EL_CONVEYOR_BELT_3_SWITCH_LEFT,
+  EL_CONVEYOR_BELT_4_SWITCH_LEFT,
 
-  EL_CONVEYOR_BELT1_SWITCH_RIGHT,
-  EL_CONVEYOR_BELT2_SWITCH_RIGHT,
-  EL_CONVEYOR_BELT3_SWITCH_RIGHT,
-  EL_CONVEYOR_BELT4_SWITCH_RIGHT,
+  EL_CONVEYOR_BELT_1_SWITCH_RIGHT,
+  EL_CONVEYOR_BELT_2_SWITCH_RIGHT,
+  EL_CONVEYOR_BELT_3_SWITCH_RIGHT,
+  EL_CONVEYOR_BELT_4_SWITCH_RIGHT,
 
   EL_SWITCHGATE_OPEN,
   EL_SWITCHGATE_CLOSED,
@@ -1223,7 +1223,7 @@ static int editor_el_dx_boulderdash[] =
 
   EL_TUBE_HORIZONTAL,
   EL_TUBE_VERTICAL_RIGHT,
-  EL_TUBE_ALL,
+  EL_TUBE_ANY,
   EL_TUBE_VERTICAL_LEFT,
 
   EL_TUBE_VERTICAL,
@@ -2473,7 +2473,7 @@ static boolean LevelContainsPlayer()
 
   for(y=0; y<lev_fieldy; y++) 
     for(x=0; x<lev_fieldx; x++)
-      if (Feld[x][y] == EL_PLAYER1 ||
+      if (Feld[x][y] == EL_PLAYER_1 ||
          Feld[x][y] == EL_SP_MURPHY) 
        player_found = TRUE;
 
@@ -3048,14 +3048,14 @@ static void DrawPropertiesWindow()
     { EL_PACMAN_DOWN,  &level.score[SC_PACMAN],        TEXT_SMASHING },
     { EL_NUT,          &level.score[SC_KOKOSNUSS],     TEXT_CRACKING },
     { EL_DYNAMITE,     &level.score[SC_DYNAMIT],       TEXT_COLLECTING },
-    { EL_KEY1,         &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
-    { EL_KEY2,         &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
-    { EL_KEY3,         &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
-    { EL_KEY4,         &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
-    { EL_EM_KEY1_FILE, &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
-    { EL_EM_KEY2_FILE, &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
-    { EL_EM_KEY3_FILE, &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
-    { EL_EM_KEY4_FILE, &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
+    { EL_KEY_1,                &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
+    { EL_KEY_2,                &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
+    { EL_KEY_3,                &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
+    { EL_KEY_4,                &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
+    { EL_EM_KEY_1_FILE,        &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
+    { EL_EM_KEY_2_FILE,        &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
+    { EL_EM_KEY_3_FILE,        &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
+    { EL_EM_KEY_4_FILE,        &level.score[SC_SCHLUESSEL],    TEXT_COLLECTING },
     { EL_AMOEBA_WET,   &level.amoeba_speed,            TEXT_SPEED },
     { EL_AMOEBA_DRY,   &level.amoeba_speed,            TEXT_SPEED },
     { EL_AMOEBA_FULL,  &level.amoeba_speed,            TEXT_SPEED },
@@ -3905,14 +3905,14 @@ static void HandleDrawingAreas(struct GadgetInfo *gi)
        }
        else if (new_element != Feld[lx][ly])
        {
-         if (new_element == EL_PLAYER1)
+         if (new_element == EL_PLAYER_1)
          {
            /* remove player at old position */
            for(y=0; y<lev_fieldy; y++)
            {
              for(x=0; x<lev_fieldx; x++)
              {
-               if (Feld[x][y] == EL_PLAYER1)
+               if (Feld[x][y] == EL_PLAYER_1)
                {
                  Feld[x][y] = EL_EMPTY;
                  if (x - level_xpos >= 0 && x - level_xpos < ed_fieldx &&
index 0c2a98d147cf600d40d72de71838a1ca86225be1..d9d927b7d77ae2220bad90aed4c4628e99cc2fb0 100644 (file)
@@ -90,7 +90,7 @@ static void setLevelInfoToDefaults()
        level.yam_content[i][x][y] =
          (i < STD_ELEMENT_CONTENTS ? EL_ROCK : EL_EMPTY);
 
-  Feld[0][0] = Ur[0][0] = EL_PLAYER1;
+  Feld[0][0] = Ur[0][0] = EL_PLAYER_1;
   Feld[STD_LEV_FIELDX-1][STD_LEV_FIELDY-1] =
     Ur[STD_LEV_FIELDX-1][STD_LEV_FIELDY-1] = EL_EXIT_CLOSED;
 
@@ -143,9 +143,9 @@ static int checkLevelElement(int element)
     element = EL_CHAR_QUESTION;
   }
   else if (element == EL_PLAYER_OBSOLETE)
-    element = EL_PLAYER1;
+    element = EL_PLAYER_1;
   else if (element == EL_KEY_OBSOLETE)
-    element = EL_KEY1;
+    element = EL_KEY_1;
 
   return element;
 }
index 6a62ab77dfb49fdeae9289a7d94a9b7ff0608d64..13110880ec46d7dad1189c95e64e9a2e298fdea4 100644 (file)
@@ -113,6 +113,8 @@ static void PlaySoundLevel(int, int, int);
 static void PlaySoundLevelNearest(int, int, int);
 static void PlaySoundLevelAction(int, int, int);
 static void PlaySoundLevelElementAction(int, int, int, int);
+static void PlaySoundLevelActionIfLoop(int, int, int);
+static void StopSoundLevelActionIfLoop(int, int, int);
 
 static void MapGameButtons();
 static void HandleGameButtons(struct GadgetInfo *);
@@ -152,7 +154,7 @@ struct ChangingElementInfo
 
 static struct ChangingElementInfo changing_element_list[] =
 {
-  { EL_NUT_CRACKING,           EL_EMERALD,              6, NULL, NULL, NULL },
+  { EL_NUT_BREAKING,           EL_EMERALD,              6, NULL, NULL, NULL },
   { EL_PEARL_BREAKING,         EL_EMPTY,                8, NULL, NULL, NULL },
   { EL_EXIT_OPENING,           EL_EXIT_OPEN,           29, NULL, NULL, NULL },
 
@@ -213,33 +215,33 @@ void GetPlayerConfig()
 
 static int getBeltNrFromBeltElement(int element)
 {
-  return (element < EL_CONVEYOR_BELT2_LEFT ? 0 :
-         element < EL_CONVEYOR_BELT3_LEFT ? 1 :
-         element < EL_CONVEYOR_BELT4_LEFT ? 2 : 3);
+  return (element < EL_CONVEYOR_BELT_2_LEFT ? 0 :
+         element < EL_CONVEYOR_BELT_3_LEFT ? 1 :
+         element < EL_CONVEYOR_BELT_4_LEFT ? 2 : 3);
 }
 
 static int getBeltNrFromBeltActiveElement(int element)
 {
-  return (element < EL_CONVEYOR_BELT2_LEFT_ACTIVE ? 0 :
-         element < EL_CONVEYOR_BELT3_LEFT_ACTIVE ? 1 :
-         element < EL_CONVEYOR_BELT4_LEFT_ACTIVE ? 2 : 3);
+  return (element < EL_CONVEYOR_BELT_2_LEFT_ACTIVE ? 0 :
+         element < EL_CONVEYOR_BELT_3_LEFT_ACTIVE ? 1 :
+         element < EL_CONVEYOR_BELT_4_LEFT_ACTIVE ? 2 : 3);
 }
 
 static int getBeltNrFromBeltSwitchElement(int element)
 {
-  return (element < EL_CONVEYOR_BELT2_SWITCH_LEFT ? 0 :
-         element < EL_CONVEYOR_BELT3_SWITCH_LEFT ? 1 :
-         element < EL_CONVEYOR_BELT4_SWITCH_LEFT ? 2 : 3);
+  return (element < EL_CONVEYOR_BELT_2_SWITCH_LEFT ? 0 :
+         element < EL_CONVEYOR_BELT_3_SWITCH_LEFT ? 1 :
+         element < EL_CONVEYOR_BELT_4_SWITCH_LEFT ? 2 : 3);
 }
 
 static int getBeltDirNrFromBeltSwitchElement(int element)
 {
   static int belt_base_element[4] =
   {
-    EL_CONVEYOR_BELT1_SWITCH_LEFT,
-    EL_CONVEYOR_BELT2_SWITCH_LEFT,
-    EL_CONVEYOR_BELT3_SWITCH_LEFT,
-    EL_CONVEYOR_BELT4_SWITCH_LEFT
+    EL_CONVEYOR_BELT_1_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_2_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_3_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_4_SWITCH_LEFT
   };
 
   int belt_nr = getBeltNrFromBeltSwitchElement(element);
@@ -279,16 +281,16 @@ static void InitField(int x, int y, boolean init_game)
          stored_player[0].use_murphy_graphic = TRUE;
        }
 
-       Feld[x][y] = EL_PLAYER1;
+       Feld[x][y] = EL_PLAYER_1;
       }
       /* no break! */
-    case EL_PLAYER1:
-    case EL_PLAYER2:
-    case EL_PLAYER3:
-    case EL_PLAYER4:
+    case EL_PLAYER_1:
+    case EL_PLAYER_2:
+    case EL_PLAYER_3:
+    case EL_PLAYER_4:
       if (init_game)
       {
-       struct PlayerInfo *player = &stored_player[Feld[x][y] - EL_PLAYER1];
+       struct PlayerInfo *player = &stored_player[Feld[x][y] - EL_PLAYER_1];
        int jx = player->jx, jy = player->jy;
 
        player->present = TRUE;
@@ -320,15 +322,15 @@ static void InitField(int x, int y, boolean init_game)
 
     case EL_STONEBLOCK:
       if (x < lev_fieldx-1 && Feld[x+1][y] == EL_ACID)
-       Feld[x][y] = EL_ACIDPOOL_TOPLEFT;
+       Feld[x][y] = EL_ACID_POOL_TOPLEFT;
       else if (x > 0 && Feld[x-1][y] == EL_ACID)
-       Feld[x][y] = EL_ACIDPOOL_TOPRIGHT;
-      else if (y > 0 && Feld[x][y-1] == EL_ACIDPOOL_TOPLEFT)
-       Feld[x][y] = EL_ACIDPOOL_BOTTOMLEFT;
+       Feld[x][y] = EL_ACID_POOL_TOPRIGHT;
+      else if (y > 0 && Feld[x][y-1] == EL_ACID_POOL_TOPLEFT)
+       Feld[x][y] = EL_ACID_POOL_BOTTOMLEFT;
       else if (y > 0 && Feld[x][y-1] == EL_ACID)
-       Feld[x][y] = EL_ACIDPOOL_BOTTOM;
-      else if (y > 0 && Feld[x][y-1] == EL_ACIDPOOL_TOPRIGHT)
-       Feld[x][y] = EL_ACIDPOOL_BOTTOMRIGHT;
+       Feld[x][y] = EL_ACID_POOL_BOTTOM;
+      else if (y > 0 && Feld[x][y-1] == EL_ACID_POOL_TOPRIGHT)
+       Feld[x][y] = EL_ACID_POOL_BOTTOMRIGHT;
       break;
 
     case EL_BUG_RIGHT:
@@ -377,7 +379,7 @@ static void InitField(int x, int y, boolean init_game)
     case EL_AMOEBA_DROP:
       if (y == lev_fieldy - 1)
       {
-       Feld[x][y] = EL_AMOEBA_CREATING;
+       Feld[x][y] = EL_AMOEBA_GROWING;
        Store[x][y] = EL_AMOEBA_WET;
       }
       break;
@@ -407,31 +409,31 @@ static void InitField(int x, int y, boolean init_game)
       Feld[x][y] = EL_EMPTY;
       break;
 
-    case EL_EM_KEY1_FILE:
-      Feld[x][y] = EL_EM_KEY1;
+    case EL_EM_KEY_1_FILE:
+      Feld[x][y] = EL_EM_KEY_1;
       break;
-    case EL_EM_KEY2_FILE:
-      Feld[x][y] = EL_EM_KEY2;
+    case EL_EM_KEY_2_FILE:
+      Feld[x][y] = EL_EM_KEY_2;
       break;
-    case EL_EM_KEY3_FILE:
-      Feld[x][y] = EL_EM_KEY3;
+    case EL_EM_KEY_3_FILE:
+      Feld[x][y] = EL_EM_KEY_3;
       break;
-    case EL_EM_KEY4_FILE:
-      Feld[x][y] = EL_EM_KEY4;
+    case EL_EM_KEY_4_FILE:
+      Feld[x][y] = EL_EM_KEY_4;
       break;
 
-    case EL_CONVEYOR_BELT1_SWITCH_LEFT:
-    case EL_CONVEYOR_BELT1_SWITCH_MIDDLE:
-    case EL_CONVEYOR_BELT1_SWITCH_RIGHT:
-    case EL_CONVEYOR_BELT2_SWITCH_LEFT:
-    case EL_CONVEYOR_BELT2_SWITCH_MIDDLE:
-    case EL_CONVEYOR_BELT2_SWITCH_RIGHT:
-    case EL_CONVEYOR_BELT3_SWITCH_LEFT:
-    case EL_CONVEYOR_BELT3_SWITCH_MIDDLE:
-    case EL_CONVEYOR_BELT3_SWITCH_RIGHT:
-    case EL_CONVEYOR_BELT4_SWITCH_LEFT:
-    case EL_CONVEYOR_BELT4_SWITCH_MIDDLE:
-    case EL_CONVEYOR_BELT4_SWITCH_RIGHT:
+    case EL_CONVEYOR_BELT_1_SWITCH_LEFT:
+    case EL_CONVEYOR_BELT_1_SWITCH_MIDDLE:
+    case EL_CONVEYOR_BELT_1_SWITCH_RIGHT:
+    case EL_CONVEYOR_BELT_2_SWITCH_LEFT:
+    case EL_CONVEYOR_BELT_2_SWITCH_MIDDLE:
+    case EL_CONVEYOR_BELT_2_SWITCH_RIGHT:
+    case EL_CONVEYOR_BELT_3_SWITCH_LEFT:
+    case EL_CONVEYOR_BELT_3_SWITCH_MIDDLE:
+    case EL_CONVEYOR_BELT_3_SWITCH_RIGHT:
+    case EL_CONVEYOR_BELT_4_SWITCH_LEFT:
+    case EL_CONVEYOR_BELT_4_SWITCH_MIDDLE:
+    case EL_CONVEYOR_BELT_4_SWITCH_RIGHT:
       if (init_game)
       {
        int belt_nr = getBeltNrFromBeltSwitchElement(Feld[x][y]);
@@ -473,7 +475,7 @@ void DrawGameDoorValues()
     for (j=0; j<4; j++)
       if (stored_player[i].key[j])
        DrawMiniGraphicExt(drawto, DX_KEYS + j * MINI_TILEX, DY_KEYS,
-                          el2edimg(EL_KEY1 + j));
+                          el2edimg(EL_KEY_1 + j));
 
   DrawText(DX + XX_EMERALDS, DY + YY_EMERALDS,
           int2str(local_player->gems_still_needed, 3), FONT_TEXT_2);
@@ -524,10 +526,10 @@ static void InitGameEngine()
     {
       EL_STEELWALL,
       EL_WALL,
-      EL_WALL_GROWING,
-      EL_WALL_GROWING_X,
-      EL_WALL_GROWING_Y,
-      EL_WALL_GROWING_XY
+      EL_EXPANDABLE_WALL,
+      EL_EXPANDABLE_WALL_HORIZONTAL,
+      EL_EXPANDABLE_WALL_VERTICAL,
+      EL_EXPANDABLE_WALL_ANY
     };
     static int ep_em_slippery_wall_num = SIZEOF_ARRAY_INT(ep_em_slippery_wall);
 
@@ -541,11 +543,11 @@ static void InitGameEngine()
          ~EP_BIT_EM_SLIPPERY_WALL;
     }
 
-    /* "EL_WALL_GROWING_ACTIVE" wasn't slippery for EM gems in version 2.0.1 */
+    /* "EL_EXPANDABLE_WALL_GROWING" wasn't slippery for EM gems in 2.0.1 */
     if (level.em_slippery_gems && game.engine_version > VERSION_IDENT(2,0,1))
-      Properties2[EL_WALL_GROWING_ACTIVE] |= EP_BIT_EM_SLIPPERY_WALL;
+      Properties2[EL_EXPANDABLE_WALL_GROWING] |= EP_BIT_EM_SLIPPERY_WALL;
     else
-      Properties2[EL_WALL_GROWING_ACTIVE] &=~EP_BIT_EM_SLIPPERY_WALL;
+      Properties2[EL_EXPANDABLE_WALL_GROWING] &=~EP_BIT_EM_SLIPPERY_WALL;
   }
 
   /* initialize changing elements information */
@@ -612,7 +614,7 @@ void InitGame()
     struct PlayerInfo *player = &stored_player[i];
 
     player->index_nr = i;
-    player->element_nr = EL_PLAYER1 + i;
+    player->element_nr = EL_PLAYER_1 + i;
 
     player->present = FALSE;
     player->active = FALSE;
@@ -1400,7 +1402,7 @@ void RemoveMovingField(int x, int y)
       (Feld[oldx][oldy] == EL_QUICKSAND_EMPTYING ||
        Feld[oldx][oldy] == EL_MAGIC_WALL_EMPTYING ||
        Feld[oldx][oldy] == EL_BD_MAGIC_WALL_EMPTYING ||
-       Feld[oldx][oldy] == EL_AMOEBA_DRIPPING))
+       Feld[oldx][oldy] == EL_AMOEBA_DROPPING))
     Feld[oldx][oldy] = get_next_element(Feld[oldx][oldy]);
   else
     Feld[oldx][oldy] = EL_EMPTY;
@@ -1454,19 +1456,21 @@ void CheckDynamite(int x, int y)
     if (MovDelay[x][y] != 0)
     {
       DrawDynamite(x, y);
-
-      /* !!! correct: "PlaySoundLevelActionIfLoop" etc. !!! */
-      PlaySoundLevelAction(x, y, ACTION_ACTIVE);
+      PlaySoundLevelActionIfLoop(x, y, ACTION_ACTIVE);
 
       return;
     }
   }
 
+#if 1
+  StopSoundLevelActionIfLoop(x, y, ACTION_ACTIVE);
+#else
   if (Feld[x][y] == EL_DYNAMITE_ACTIVE ||
       Feld[x][y] == EL_SP_DISK_RED_ACTIVE)
     StopSound(SND_DYNAMITE_ACTIVE);
   else
     StopSound(SND_DYNABOMB_ACTIVE);
+#endif
 
   Bang(x, y);
 }
@@ -1537,16 +1541,16 @@ void Explode(int ex, int ey, int phase, int mode)
       {
        switch(StorePlayer[ex][ey])
        {
-         case EL_PLAYER2:
+         case EL_PLAYER_2:
            Store[x][y] = EL_EMERALD_RED;
            break;
-         case EL_PLAYER3:
+         case EL_PLAYER_3:
            Store[x][y] = EL_EMERALD;
            break;
-         case EL_PLAYER4:
+         case EL_PLAYER_4:
            Store[x][y] = EL_EMERALD_PURPLE;
            break;
-         case EL_PLAYER1:
+         case EL_PLAYER_1:
          default:
            Store[x][y] = EL_EMERALD_YELLOW;
            break;
@@ -1595,7 +1599,7 @@ void Explode(int ex, int ey, int phase, int mode)
       if (AmoebaNr[x][y] &&
          (element == EL_AMOEBA_FULL ||
           element == EL_BD_AMOEBA ||
-          element == EL_AMOEBA_CREATING))
+          element == EL_AMOEBA_GROWING))
       {
        AmoebaCnt[AmoebaNr[x][y]]--;
        AmoebaCnt2[AmoebaNr[x][y]]--;
@@ -1701,7 +1705,7 @@ void DynaExplode(int ex, int ey)
 
   if (IS_ACTIVE_BOMB(Feld[ex][ey]))
   {
-    player = &stored_player[Feld[ex][ey] - EL_DYNABOMB_PLAYER1_ACTIVE];
+    player = &stored_player[Feld[ex][ey] - EL_DYNABOMB_PLAYER_1_ACTIVE];
     dynabomb_size = player->dynabomb_size;
     dynabomb_xl = player->dynabomb_xl;
     player->dynabombs_left++;
@@ -1765,13 +1769,13 @@ void Bang(int x, int y)
       RaiseScoreElement(element);
       Explode(x, y, EX_PHASE_START, EX_NORMAL);
       break;
-    case EL_DYNABOMB_PLAYER1_ACTIVE:
-    case EL_DYNABOMB_PLAYER2_ACTIVE:
-    case EL_DYNABOMB_PLAYER3_ACTIVE:
-    case EL_DYNABOMB_PLAYER4_ACTIVE:
-    case EL_DYNABOMB_NR:
-    case EL_DYNABOMB_SZ:
-    case EL_DYNABOMB_XL:
+    case EL_DYNABOMB_PLAYER_1_ACTIVE:
+    case EL_DYNABOMB_PLAYER_2_ACTIVE:
+    case EL_DYNABOMB_PLAYER_3_ACTIVE:
+    case EL_DYNABOMB_PLAYER_4_ACTIVE:
+    case EL_DYNABOMB_INCREASE_NUMBER:
+    case EL_DYNABOMB_INCREASE_SIZE:
+    case EL_DYNABOMB_INCREASE_POWER:
       DynaExplode(x, y);
       break;
     case EL_PENGUIN:
@@ -1813,17 +1817,17 @@ static void InitBeltMovement()
 {
   static int belt_base_element[4] =
   {
-    EL_CONVEYOR_BELT1_LEFT,
-    EL_CONVEYOR_BELT2_LEFT,
-    EL_CONVEYOR_BELT3_LEFT,
-    EL_CONVEYOR_BELT4_LEFT
+    EL_CONVEYOR_BELT_1_LEFT,
+    EL_CONVEYOR_BELT_2_LEFT,
+    EL_CONVEYOR_BELT_3_LEFT,
+    EL_CONVEYOR_BELT_4_LEFT
   };
   static int belt_base_active_element[4] =
   {
-    EL_CONVEYOR_BELT1_LEFT_ACTIVE,
-    EL_CONVEYOR_BELT2_LEFT_ACTIVE,
-    EL_CONVEYOR_BELT3_LEFT_ACTIVE,
-    EL_CONVEYOR_BELT4_LEFT_ACTIVE
+    EL_CONVEYOR_BELT_1_LEFT_ACTIVE,
+    EL_CONVEYOR_BELT_2_LEFT_ACTIVE,
+    EL_CONVEYOR_BELT_3_LEFT_ACTIVE,
+    EL_CONVEYOR_BELT_4_LEFT_ACTIVE
   };
 
   int x, y, i, j;
@@ -1874,24 +1878,24 @@ static void ToggleBeltSwitch(int x, int y)
 {
   static int belt_base_element[4] =
   {
-    EL_CONVEYOR_BELT1_LEFT,
-    EL_CONVEYOR_BELT2_LEFT,
-    EL_CONVEYOR_BELT3_LEFT,
-    EL_CONVEYOR_BELT4_LEFT
+    EL_CONVEYOR_BELT_1_LEFT,
+    EL_CONVEYOR_BELT_2_LEFT,
+    EL_CONVEYOR_BELT_3_LEFT,
+    EL_CONVEYOR_BELT_4_LEFT
   };
   static int belt_base_active_element[4] =
   {
-    EL_CONVEYOR_BELT1_LEFT_ACTIVE,
-    EL_CONVEYOR_BELT2_LEFT_ACTIVE,
-    EL_CONVEYOR_BELT3_LEFT_ACTIVE,
-    EL_CONVEYOR_BELT4_LEFT_ACTIVE
+    EL_CONVEYOR_BELT_1_LEFT_ACTIVE,
+    EL_CONVEYOR_BELT_2_LEFT_ACTIVE,
+    EL_CONVEYOR_BELT_3_LEFT_ACTIVE,
+    EL_CONVEYOR_BELT_4_LEFT_ACTIVE
   };
   static int belt_base_switch_element[4] =
   {
-    EL_CONVEYOR_BELT1_SWITCH_LEFT,
-    EL_CONVEYOR_BELT2_SWITCH_LEFT,
-    EL_CONVEYOR_BELT3_SWITCH_LEFT,
-    EL_CONVEYOR_BELT4_SWITCH_LEFT
+    EL_CONVEYOR_BELT_1_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_2_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_3_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_4_SWITCH_LEFT
   };
   static int belt_move_dir[4] =
   {
@@ -1994,13 +1998,21 @@ static void ToggleSwitchgateSwitch(int x, int y)
               element == EL_SWITCHGATE_OPENING)
       {
        Feld[xx][yy] = EL_SWITCHGATE_CLOSING;
+#if 1
+       PlaySoundLevelAction(xx, yy, ACTION_CLOSING);
+#else
        PlaySoundLevel(xx, yy, SND_SWITCHGATE_CLOSING);
+#endif
       }
       else if (element == EL_SWITCHGATE_CLOSED ||
               element == EL_SWITCHGATE_CLOSING)
       {
        Feld[xx][yy] = EL_SWITCHGATE_OPENING;
+#if 1
+       PlaySoundLevelAction(xx, yy, ACTION_OPENING);
+#else
        PlaySoundLevel(xx, yy, SND_SWITCHGATE_OPENING);
+#endif
       }
     }
   }
@@ -2162,7 +2174,7 @@ void Impact(int x, int y)
       Bang(x, y+1);
     else
     {
-      Feld[x][y] = EL_AMOEBA_CREATING;
+      Feld[x][y] = EL_AMOEBA_GROWING;
       Store[x][y] = EL_AMOEBA_WET;
 
       ResetRandomAnimationValue(x, y);
@@ -2248,8 +2260,8 @@ void Impact(int x, int y)
        }
        else if (smashed == EL_NUT)
        {
-         Feld[x][y+1] = EL_NUT_CRACKING;
-         PlaySoundLevel(x, y, SND_NUT_CRACKING);
+         Feld[x][y+1] = EL_NUT_BREAKING;
+         PlaySoundLevel(x, y, SND_NUT_BREAKING);
          RaiseScoreElement(EL_NUT);
          return;
        }
@@ -2289,9 +2301,9 @@ void Impact(int x, int y)
        Feld[x][y+1] == EL_BD_MAGIC_WALL_ACTIVE))
   {
     if (Feld[x][y+1] == EL_MAGIC_WALL_ACTIVE)
-      PlaySoundLevel(x, y, SND_MAGIC_WALL_CHANGING);
+      PlaySoundLevel(x, y, SND_MAGIC_WALL_FILLING);
     else if (Feld[x][y+1] == EL_BD_MAGIC_WALL_ACTIVE)
-      PlaySoundLevel(x, y, SND_BD_MAGIC_WALL_CHANGING);
+      PlaySoundLevel(x, y, SND_BD_MAGIC_WALL_FILLING);
 
     return;
   }
@@ -2770,7 +2782,11 @@ void StartMoving(int x, int y)
 
        Feld[x][y] = EL_QUICKSAND_EMPTYING;
        Store[x][y] = EL_ROCK;
+#if 1
+       PlaySoundLevelAction(x, y, ACTION_EMPTYING);
+#else
        PlaySoundLevel(x, y, SND_QUICKSAND_EMPTYING);
+#endif
       }
       else if (Feld[x][y+1] == EL_QUICKSAND_EMPTY)
       {
@@ -2788,7 +2804,11 @@ void StartMoving(int x, int y)
        Feld[x][y+1] = EL_QUICKSAND_FULL;
        Store[x][y+1] = Store[x][y];
        Store[x][y] = 0;
-       PlaySoundLevel(x, y, SND_QUICKSAND_SLIPPING);
+#if 1
+       PlaySoundLevelAction(x, y, ACTION_FILLING);
+#else
+       PlaySoundLevel(x, y, SND_QUICKSAND_FILLING);
+#endif
       }
     }
     else if ((element == EL_ROCK || element == EL_BD_ROCK) &&
@@ -2799,7 +2819,11 @@ void StartMoving(int x, int y)
 
       Feld[x][y] = EL_QUICKSAND_FILLING;
       Store[x][y] = element;
+#if 1
+      PlaySoundLevelAction(x, y, ACTION_FILLING);
+#else
       PlaySoundLevel(x, y, SND_QUICKSAND_FILLING);
+#endif
     }
     else if (element == EL_MAGIC_WALL_FULL)
     {
@@ -2909,7 +2933,7 @@ void StartMoving(int x, int y)
     }
     else if (element == EL_AMOEBA_DROP)
     {
-      Feld[x][y] = EL_AMOEBA_CREATING;
+      Feld[x][y] = EL_AMOEBA_GROWING;
       Store[x][y] = EL_AMOEBA_WET;
     }
     /* Store[x][y+1] must be zero, because:
@@ -3028,10 +3052,10 @@ void StartMoving(int x, int y)
        int dir = MovDir[x][y];
        int dx = (dir == MV_LEFT ? -1 : dir == MV_RIGHT ? +1 : 0);
        int dy = (dir == MV_UP   ? -1 : dir == MV_DOWN  ? +1 : 0);
-       int graphic = (dir == MV_LEFT   ? IMG_FLAMES1_LEFT :
-                      dir == MV_RIGHT  ? IMG_FLAMES1_RIGHT :
-                      dir == MV_UP     ? IMG_FLAMES1_UP :
-                      dir == MV_DOWN   ? IMG_FLAMES1_DOWN : IMG_EMPTY);
+       int graphic = (dir == MV_LEFT   ? IMG_FLAMES_1_LEFT :
+                      dir == MV_RIGHT  ? IMG_FLAMES_1_RIGHT :
+                      dir == MV_UP     ? IMG_FLAMES_1_UP :
+                      dir == MV_DOWN   ? IMG_FLAMES_1_DOWN : IMG_EMPTY);
        int frame = getGraphicAnimationFrame(graphic, -1);
 
        for (i=1; i<=3; i++)
@@ -3108,7 +3132,7 @@ void StartMoving(int x, int y)
        Feld[x][y] = EL_EMPTY;
        DrawLevelField(x, y);
 
-       PlaySoundLevel(newx, newy, SND_PENGUIN_PASSING_EXIT);
+       PlaySoundLevel(newx, newy, SND_CLASS_EXIT_PASSING);
        if (IN_SCR_FIELD(SCREENX(newx), SCREENY(newy)))
          DrawGraphicThruMask(SCREENX(newx),SCREENY(newy), el2img(element), 0);
 
@@ -3147,7 +3171,7 @@ void StartMoving(int x, int y)
          DrawLevelField(newx, newy);
        }
 
-       PlaySoundLevel(x, y, SND_PIG_EATING);
+       PlaySoundLevel(x, y, SND_PIG_DIGGING);
       }
       else if (!IS_FREE(newx, newy))
       {
@@ -3211,7 +3235,7 @@ void StartMoving(int x, int y)
        DrawLevelField(newx, newy);
       }
 
-      PlaySoundLevel(x, y, SND_YAMYAM_EATING);
+      PlaySoundLevel(x, y, SND_YAMYAM_DIGGING);
     }
     else if (element == EL_DARK_YAMYAM && IN_LEV_FIELD(newx, newy) &&
             IS_MAMPF2(Feld[newx][newy]))
@@ -3232,7 +3256,7 @@ void StartMoving(int x, int y)
        DrawLevelField(newx, newy);
       }
 
-      PlaySoundLevel(x, y, SND_DARK_YAMYAM_EATING);
+      PlaySoundLevel(x, y, SND_DARK_YAMYAM_DIGGING);
     }
     else if ((element == EL_PACMAN || element == EL_MOLE)
             && IN_LEV_FIELD(newx, newy) && IS_AMOEBOID(Feld[newx][newy]))
@@ -3248,7 +3272,7 @@ void StartMoving(int x, int y)
       if (element == EL_MOLE)
       {
        Feld[newx][newy] = EL_AMOEBA_SHRINKING;
-       PlaySoundLevel(x, y, SND_MOLE_EATING);
+       PlaySoundLevel(x, y, SND_MOLE_DIGGING);
        MovDelay[newx][newy] = 0;       /* start amoeba shrinking delay */
        return;                         /* wait for shrinking amoeba */
       }
@@ -3256,7 +3280,7 @@ void StartMoving(int x, int y)
       {
        Feld[newx][newy] = EL_EMPTY;
        DrawLevelField(newx, newy);
-       PlaySoundLevel(x, y, SND_PACMAN_EATING);
+       PlaySoundLevel(x, y, SND_PACMAN_DIGGING);
       }
     }
     else if (element == EL_MOLE && IN_LEV_FIELD(newx, newy) &&
@@ -3312,7 +3336,7 @@ void ContinueMoving(int x, int y)
   int newx = x + dx, newy = y + dy;
   int step = (horiz_move ? dx : dy) * TILEX / 8;
 
-  if (element == EL_AMOEBA_DROP || element == EL_AMOEBA_DRIPPING)
+  if (element == EL_AMOEBA_DROP || element == EL_AMOEBA_DROPPING)
     step /= 2;
   else if (element == EL_QUICKSAND_FILLING ||
           element == EL_QUICKSAND_EMPTYING)
@@ -3404,7 +3428,7 @@ void ContinueMoving(int x, int y)
        Feld[x][y] = EL_BD_MAGIC_WALL_DEAD;
       element = Feld[newx][newy] = Store[x][y];
     }
-    else if (element == EL_AMOEBA_DRIPPING)
+    else if (element == EL_AMOEBA_DROPPING)
     {
       Feld[x][y] = get_next_element(element);
       element = Feld[newx][newy] = Store[x][y];
@@ -3628,7 +3652,7 @@ void AmoebeUmwandelnBD(int ax, int ay, int new_element)
       if (AmoebaNr[x][y] == group_nr &&
          (Feld[x][y] == EL_AMOEBA_DEAD ||
           Feld[x][y] == EL_BD_AMOEBA ||
-          Feld[x][y] == EL_AMOEBA_CREATING))
+          Feld[x][y] == EL_AMOEBA_GROWING))
       {
        AmoebaNr[x][y] = 0;
        Feld[x][y] = new_element;
@@ -3656,10 +3680,14 @@ void AmoebeWaechst(int x, int y)
 
     if (DelayReached(&sound_delay, sound_delay_value))
     {
+#if 1
+      PlaySoundLevelElementAction(x, y, Store[x][y], ACTION_GROWING);
+#else
       if (Store[x][y] == EL_BD_AMOEBA)
-       PlaySoundLevel(x, y, SND_BD_AMOEBA_CREATING);
+       PlaySoundLevel(x, y, SND_BD_AMOEBA_GROWING);
       else
-       PlaySoundLevel(x, y, SND_AMOEBA_CREATING);
+       PlaySoundLevel(x, y, SND_AMOEBA_GROWING);
+#endif
       sound_delay_value = 30;
     }
   }
@@ -3669,10 +3697,10 @@ void AmoebeWaechst(int x, int y)
     MovDelay[x][y]--;
     if (MovDelay[x][y]/2 && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
     {
-      int frame = getGraphicAnimationFrame(IMG_AMOEBA_CREATING,
+      int frame = getGraphicAnimationFrame(IMG_AMOEBA_GROWING,
                                           6 - MovDelay[x][y]);
 
-      DrawGraphic(SCREENX(x), SCREENY(y), IMG_AMOEBA_CREATING, frame);
+      DrawGraphic(SCREENX(x), SCREENY(y), IMG_AMOEBA_GROWING, frame);
     }
 
     if (!MovDelay[x][y])
@@ -3849,18 +3877,22 @@ void AmoebeAbleger(int ax, int ay)
   if (element != EL_AMOEBA_WET || neway < ay || !IS_FREE(newax, neway) ||
       (neway == lev_fieldy - 1 && newax != ax))
   {
-    Feld[newax][neway] = EL_AMOEBA_CREATING;   /* creation of new amoeba */
+    Feld[newax][neway] = EL_AMOEBA_GROWING;    /* creation of new amoeba */
     Store[newax][neway] = element;
   }
   else if (neway == ay)
   {
     Feld[newax][neway] = EL_AMOEBA_DROP;       /* drop left/right of amoeba */
-    PlaySoundLevel(newax, neway, SND_AMOEBA_DROP_CREATING);
+#if 1
+    PlaySoundLevelAction(newax, neway, ACTION_GROWING);
+#else
+    PlaySoundLevel(newax, neway, SND_AMOEBA_GROWING);
+#endif
   }
   else
   {
     InitMovingField(ax, ay, MV_DOWN);          /* drop dripping from amoeba */
-    Feld[ax][ay] = EL_AMOEBA_DRIPPING;
+    Feld[ax][ay] = EL_AMOEBA_DROPPING;
     Store[ax][ay] = EL_AMOEBA_DROP;
     ContinueMoving(ax, ay);
     return;
@@ -3910,7 +3942,7 @@ void Life(int ax, int ay)
        continue;
 
       if (((Feld[x][y] == element ||
-           (element == EL_GAMEOFLIFE && IS_PLAYER(x, y))) &&
+           (element == EL_GAME_OF_LIFE && IS_PLAYER(x, y))) &&
           !Stop[x][y]) ||
          (IS_FREE(x, y) && Stop[x][y]))
        nachbarn++;
@@ -3932,7 +3964,7 @@ void Life(int ax, int ay)
       if (nachbarn >= life[2] && nachbarn <= life[3])
       {
        Feld[xx][yy] = element;
-       MovDelay[xx][yy] = (element == EL_GAMEOFLIFE ? 0 : life_time-1);
+       MovDelay[xx][yy] = (element == EL_GAME_OF_LIFE ? 0 : life_time-1);
        if (!Stop[xx][yy])
          DrawLevelField(xx, yy);
        Stop[xx][yy] = TRUE;
@@ -3942,8 +3974,8 @@ void Life(int ax, int ay)
   }
 
   if (changed)
-    PlaySoundLevel(ax, ay, element == EL_GAMEOFLIFE ? SND_GAMEOFLIFE_CREATING :
-                  SND_BIOMAZE_CREATING);
+    PlaySoundLevel(ax, ay, element == EL_BIOMAZE ? SND_BIOMAZE_GROWING :
+                  SND_GAME_OF_LIFE_GROWING);
 }
 
 static void InitRobotWheel(int x, int y)
@@ -3989,7 +4021,7 @@ void CheckExit(int x, int y)
 
   Feld[x][y] = EL_EXIT_OPENING;
 
-  PlaySoundLevelNearest(x, y, SND_EXIT_OPENING);
+  PlaySoundLevelNearest(x, y, SND_CLASS_EXIT_OPENING);
 }
 
 void CheckExitSP(int x, int y)
@@ -4007,7 +4039,7 @@ void CheckExitSP(int x, int y)
 
   Feld[x][y] = EL_SP_EXIT_OPEN;
 
-  PlaySoundLevelNearest(x, y, SND_SP_EXIT_OPENING);
+  PlaySoundLevelNearest(x, y, SND_CLASS_SP_EXIT_OPENING);
 }
 
 static void CloseAllOpenTimegates()
@@ -4023,7 +4055,11 @@ static void CloseAllOpenTimegates()
       if (element == EL_TIMEGATE_OPEN || element == EL_TIMEGATE_OPENING)
       {
        Feld[x][y] = EL_TIMEGATE_CLOSING;
+#if 1
+       PlaySoundLevelAction(x, y, ACTION_CLOSING);
+#else
        PlaySoundLevel(x, y, SND_TIMEGATE_CLOSING);
+#endif
       }
     }
   }
@@ -4153,57 +4189,59 @@ void MauerAbleger(int ax, int ay)
   if (IN_LEV_FIELD(ax+1, ay) && IS_FREE(ax+1, ay))
     rechts_frei = TRUE;
 
-  if (element == EL_WALL_GROWING_Y || element == EL_WALL_GROWING_XY)
+  if (element == EL_EXPANDABLE_WALL_VERTICAL ||
+      element == EL_EXPANDABLE_WALL_ANY)
   {
     if (oben_frei)
     {
-      Feld[ax][ay-1] = EL_WALL_GROWING_ACTIVE;
+      Feld[ax][ay-1] = EL_EXPANDABLE_WALL_GROWING;
       Store[ax][ay-1] = element;
       MovDir[ax][ay-1] = MV_UP;
       if (IN_SCR_FIELD(SCREENX(ax), SCREENY(ay-1)))
        DrawGraphic(SCREENX(ax), SCREENY(ay - 1),
-                   IMG_WALL_GROWING_ACTIVE_UP, 0);
+                   IMG_EXPANDABLE_WALL_GROWING_UP, 0);
       new_wall = TRUE;
     }
     if (unten_frei)
     {
-      Feld[ax][ay+1] = EL_WALL_GROWING_ACTIVE;
+      Feld[ax][ay+1] = EL_EXPANDABLE_WALL_GROWING;
       Store[ax][ay+1] = element;
       MovDir[ax][ay+1] = MV_DOWN;
       if (IN_SCR_FIELD(SCREENX(ax), SCREENY(ay+1)))
        DrawGraphic(SCREENX(ax), SCREENY(ay + 1),
-                   IMG_WALL_GROWING_ACTIVE_DOWN, 0);
+                   IMG_EXPANDABLE_WALL_GROWING_DOWN, 0);
       new_wall = TRUE;
     }
   }
 
-  if (element == EL_WALL_GROWING_X || element == EL_WALL_GROWING_XY ||
-      element == EL_WALL_GROWING)
+  if (element == EL_EXPANDABLE_WALL_HORIZONTAL ||
+      element == EL_EXPANDABLE_WALL_ANY ||
+      element == EL_EXPANDABLE_WALL)
   {
     if (links_frei)
     {
-      Feld[ax-1][ay] = EL_WALL_GROWING_ACTIVE;
+      Feld[ax-1][ay] = EL_EXPANDABLE_WALL_GROWING;
       Store[ax-1][ay] = element;
       MovDir[ax-1][ay] = MV_LEFT;
       if (IN_SCR_FIELD(SCREENX(ax-1), SCREENY(ay)))
        DrawGraphic(SCREENX(ax - 1), SCREENY(ay),
-                   IMG_WALL_GROWING_ACTIVE_LEFT, 0);
+                   IMG_EXPANDABLE_WALL_GROWING_LEFT, 0);
       new_wall = TRUE;
     }
 
     if (rechts_frei)
     {
-      Feld[ax+1][ay] = EL_WALL_GROWING_ACTIVE;
+      Feld[ax+1][ay] = EL_EXPANDABLE_WALL_GROWING;
       Store[ax+1][ay] = element;
       MovDir[ax+1][ay] = MV_RIGHT;
       if (IN_SCR_FIELD(SCREENX(ax+1), SCREENY(ay)))
        DrawGraphic(SCREENX(ax + 1), SCREENY(ay),
-                   IMG_WALL_GROWING_ACTIVE_RIGHT, 0);
+                   IMG_EXPANDABLE_WALL_GROWING_RIGHT, 0);
       new_wall = TRUE;
     }
   }
 
-  if (element == EL_WALL_GROWING && (links_frei || rechts_frei))
+  if (element == EL_EXPANDABLE_WALL && (links_frei || rechts_frei))
     DrawLevelField(ax, ay);
 
   if (!IN_LEV_FIELD(ax, ay-1) || IS_MAUER(Feld[ax][ay-1]))
@@ -4216,13 +4254,18 @@ void MauerAbleger(int ax, int ay)
     rechts_massiv = TRUE;
 
   if (((oben_massiv && unten_massiv) ||
-       element == EL_WALL_GROWING_X || element == EL_WALL_GROWING) &&
+       element == EL_EXPANDABLE_WALL_HORIZONTAL ||
+       element == EL_EXPANDABLE_WALL) &&
       ((links_massiv && rechts_massiv) ||
-       element == EL_WALL_GROWING_Y))
+       element == EL_EXPANDABLE_WALL_VERTICAL))
     Feld[ax][ay] = EL_WALL;
 
   if (new_wall)
-    PlaySoundLevel(ax, ay, SND_WALL_GROWING);
+#if 1
+    PlaySoundLevelAction(ax, ay, ACTION_GROWING);
+#else
+    PlaySoundLevel(ax, ay, SND_EXPANDABLE_WALL_GROWING);
+#endif
 }
 
 void CheckForDragon(int x, int y)
@@ -4604,26 +4647,28 @@ void GameActions()
     else if (element == EL_EXPLOSION && !game.explosions_delayed)
       Explode(x, y, ExplodePhase[x][y], EX_NORMAL);
 #endif
-    else if (element == EL_AMOEBA_CREATING)
+    else if (element == EL_AMOEBA_GROWING)
       AmoebeWaechst(x, y);
     else if (element == EL_AMOEBA_SHRINKING)
       AmoebaDisappearing(x, y);
+
 #if !USE_NEW_AMOEBA_CODE
     else if (IS_AMOEBALIVE(element))
       AmoebeAbleger(x, y);
 #endif
-    else if (element == EL_GAMEOFLIFE || element == EL_BIOMAZE)
+
+    else if (element == EL_GAME_OF_LIFE || element == EL_BIOMAZE)
       Life(x, y);
     else if (element == EL_EXIT_CLOSED)
       CheckExit(x, y);
     else if (element == EL_SP_EXIT_CLOSED)
       CheckExitSP(x, y);
-    else if (element == EL_WALL_GROWING_ACTIVE)
+    else if (element == EL_EXPANDABLE_WALL_GROWING)
       MauerWaechst(x, y);
-    else if (element == EL_WALL_GROWING ||
-            element == EL_WALL_GROWING_X ||
-            element == EL_WALL_GROWING_Y ||
-            element == EL_WALL_GROWING_XY)
+    else if (element == EL_EXPANDABLE_WALL ||
+            element == EL_EXPANDABLE_WALL_HORIZONTAL ||
+            element == EL_EXPANDABLE_WALL_VERTICAL ||
+            element == EL_EXPANDABLE_WALL_ANY)
       MauerAbleger(x, y);
     else if (element == EL_FLAMES)
       CheckForDragon(x, y);
@@ -4976,7 +5021,7 @@ boolean MoveFigureOneStep(struct PlayerInfo *player,
     if (element == EL_ACID && dx == 0 && dy == 1)
     {
       SplashAcid(jx, jy);
-      Feld[jx][jy] = EL_PLAYER1;
+      Feld[jx][jy] = EL_PLAYER_1;
       InitMovingField(jx, jy, MV_DOWN);
       Store[jx][jy] = EL_ACID;
       ContinueMoving(jx, jy);
@@ -5483,8 +5528,8 @@ void TestIfBadThingTouchesOtherBadThing(int bad_x, int bad_y)
       continue;
 
     element = Feld[x][y];
-    if (IS_AMOEBOID(element) || element == EL_GAMEOFLIFE ||
-       element == EL_AMOEBA_CREATING || element == EL_AMOEBA_DROP)
+    if (IS_AMOEBOID(element) || element == EL_GAME_OF_LIFE ||
+       element == EL_AMOEBA_GROWING || element == EL_AMOEBA_DROP)
     {
       kill_x = x;
       kill_y = y;
@@ -5527,7 +5572,7 @@ void BuryHero(struct PlayerInfo *player)
   if (!player->active)
     return;
 
-  PlaySoundLevel(jx, jy, SND_PLAYER_DYING);
+  PlaySoundLevel(jx, jy, SND_CLASS_PLAYER_DYING);
   PlaySoundLevel(jx, jy, SND_GAME_LOSING);
 
   player->GameOver = TRUE;
@@ -5587,7 +5632,7 @@ int DigField(struct PlayerInfo *player,
     int i = 0;
     int tube_leave_directions[][2] =
     {
-      { EL_TUBE_ALL,                   MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN },
+      { EL_TUBE_ANY,                   MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN },
       { EL_TUBE_VERTICAL,                                   MV_UP | MV_DOWN },
       { EL_TUBE_HORIZONTAL,            MV_LEFT | MV_RIGHT                   },
       { EL_TUBE_VERTICAL_LEFT,         MV_LEFT |            MV_UP | MV_DOWN },
@@ -5694,34 +5739,34 @@ int DigField(struct PlayerInfo *player,
       PlaySoundLevelElementAction(x, y, element, ACTION_COLLECTING);
       break;
 
-    case EL_DYNABOMB_NR:
+    case EL_DYNABOMB_INCREASE_NUMBER:
       RemoveField(x, y);
       player->dynabomb_count++;
       player->dynabombs_left++;
       RaiseScoreElement(EL_DYNAMITE);
-      PlaySoundLevel(x, y, SND_DYNABOMB_NR_COLLECTING);
+      PlaySoundLevel(x, y, SND_DYNABOMB_INCREASE_NUMBER_COLLECTING);
       break;
 
-    case EL_DYNABOMB_SZ:
+    case EL_DYNABOMB_INCREASE_SIZE:
       RemoveField(x, y);
       player->dynabomb_size++;
       RaiseScoreElement(EL_DYNAMITE);
-      PlaySoundLevel(x, y, SND_DYNABOMB_SZ_COLLECTING);
+      PlaySoundLevel(x, y, SND_DYNABOMB_INCREASE_SIZE_COLLECTING);
       break;
 
-    case EL_DYNABOMB_XL:
+    case EL_DYNABOMB_INCREASE_POWER:
       RemoveField(x, y);
       player->dynabomb_xl = TRUE;
       RaiseScoreElement(EL_DYNAMITE);
-      PlaySoundLevel(x, y, SND_DYNABOMB_XL_COLLECTING);
+      PlaySoundLevel(x, y, SND_DYNABOMB_INCREASE_POWER_COLLECTING);
       break;
 
-    case EL_KEY1:
-    case EL_KEY2:
-    case EL_KEY3:
-    case EL_KEY4:
+    case EL_KEY_1:
+    case EL_KEY_2:
+    case EL_KEY_3:
+    case EL_KEY_4:
     {
-      int key_nr = element - EL_KEY1;
+      int key_nr = element - EL_KEY_1;
       int graphic = el2edimg(element);
 
       RemoveField(x, y);
@@ -5731,17 +5776,17 @@ int DigField(struct PlayerInfo *player,
                         graphic);
       DrawMiniGraphicExt(window, DX_KEYS + key_nr * MINI_TILEX, DY_KEYS,
                         graphic);
-      PlaySoundLevel(x, y, SND_KEY_COLLECTING);
+      PlaySoundLevel(x, y, SND_CLASS_KEY_COLLECTING);
       break;
     }
 
-    case EL_EM_KEY1:
-    case EL_EM_KEY2:
-    case EL_EM_KEY3:
-    case EL_EM_KEY4:
+    case EL_EM_KEY_1:
+    case EL_EM_KEY_2:
+    case EL_EM_KEY_3:
+    case EL_EM_KEY_4:
     {
-      int key_nr = element - EL_EM_KEY1;
-      int graphic = el2edimg(EL_KEY1 + key_nr);
+      int key_nr = element - EL_EM_KEY_1;
+      int graphic = el2edimg(EL_KEY_1 + key_nr);
 
       RemoveField(x, y);
       player->key[key_nr] = TRUE;
@@ -5750,7 +5795,7 @@ int DigField(struct PlayerInfo *player,
                         graphic);
       DrawMiniGraphicExt(window, DX_KEYS + key_nr * MINI_TILEX, DY_KEYS,
                         graphic);
-      PlaySoundLevel(x, y, SND_KEY_COLLECTING);
+      PlaySoundLevel(x, y, SND_CLASS_KEY_COLLECTING);
       break;
     }
 
@@ -5784,23 +5829,23 @@ int DigField(struct PlayerInfo *player,
       }
       break;
 
-    case EL_CONVEYOR_BELT1_SWITCH_LEFT:
-    case EL_CONVEYOR_BELT1_SWITCH_MIDDLE:
-    case EL_CONVEYOR_BELT1_SWITCH_RIGHT:
-    case EL_CONVEYOR_BELT2_SWITCH_LEFT:
-    case EL_CONVEYOR_BELT2_SWITCH_MIDDLE:
-    case EL_CONVEYOR_BELT2_SWITCH_RIGHT:
-    case EL_CONVEYOR_BELT3_SWITCH_LEFT:
-    case EL_CONVEYOR_BELT3_SWITCH_MIDDLE:
-    case EL_CONVEYOR_BELT3_SWITCH_RIGHT:
-    case EL_CONVEYOR_BELT4_SWITCH_LEFT:
-    case EL_CONVEYOR_BELT4_SWITCH_MIDDLE:
-    case EL_CONVEYOR_BELT4_SWITCH_RIGHT:
+    case EL_CONVEYOR_BELT_1_SWITCH_LEFT:
+    case EL_CONVEYOR_BELT_1_SWITCH_MIDDLE:
+    case EL_CONVEYOR_BELT_1_SWITCH_RIGHT:
+    case EL_CONVEYOR_BELT_2_SWITCH_LEFT:
+    case EL_CONVEYOR_BELT_2_SWITCH_MIDDLE:
+    case EL_CONVEYOR_BELT_2_SWITCH_RIGHT:
+    case EL_CONVEYOR_BELT_3_SWITCH_LEFT:
+    case EL_CONVEYOR_BELT_3_SWITCH_MIDDLE:
+    case EL_CONVEYOR_BELT_3_SWITCH_RIGHT:
+    case EL_CONVEYOR_BELT_4_SWITCH_LEFT:
+    case EL_CONVEYOR_BELT_4_SWITCH_MIDDLE:
+    case EL_CONVEYOR_BELT_4_SWITCH_RIGHT:
       if (!player->Switching)
       {
        player->Switching = TRUE;
        ToggleBeltSwitch(x, y);
-       PlaySoundLevel(x, y, SND_CONVEYOR_BELT_SWITCH_ACTIVATING);
+       PlaySoundLevel(x, y, SND_CLASS_CONVEYOR_BELT_SWITCH_ACTIVATING);
       }
       return MF_ACTION;
       break;
@@ -5811,7 +5856,7 @@ int DigField(struct PlayerInfo *player,
       {
        player->Switching = TRUE;
        ToggleSwitchgateSwitch(x, y);
-       PlaySoundLevel(x, y, SND_SWITCHGATE_SWITCH_ACTIVATING);
+       PlaySoundLevel(x, y, SND_CLASS_SWITCHGATE_SWITCH_ACTIVATING);
       }
       return MF_ACTION;
       break;
@@ -5836,20 +5881,20 @@ int DigField(struct PlayerInfo *player,
       return MF_ACTION;
       break;
 
-    case EL_BALLOON_SEND_LEFT:
-    case EL_BALLOON_SEND_RIGHT:
-    case EL_BALLOON_SEND_UP:
-    case EL_BALLOON_SEND_DOWN:
-    case EL_BALLOON_SEND_ANY_DIRECTION:
-      if (element == EL_BALLOON_SEND_ANY_DIRECTION)
+    case EL_BALLOON_SWITCH_LEFT:
+    case EL_BALLOON_SWITCH_RIGHT:
+    case EL_BALLOON_SWITCH_UP:
+    case EL_BALLOON_SWITCH_DOWN:
+    case EL_BALLOON_SWITCH_ANY:
+      if (element == EL_BALLOON_SWITCH_ANY)
        game.balloon_dir = move_direction;
       else
-       game.balloon_dir = (element == EL_BALLOON_SEND_LEFT  ? MV_LEFT :
-                           element == EL_BALLOON_SEND_RIGHT ? MV_RIGHT :
-                           element == EL_BALLOON_SEND_UP    ? MV_UP :
-                           element == EL_BALLOON_SEND_DOWN  ? MV_DOWN :
+       game.balloon_dir = (element == EL_BALLOON_SWITCH_LEFT  ? MV_LEFT :
+                           element == EL_BALLOON_SWITCH_RIGHT ? MV_RIGHT :
+                           element == EL_BALLOON_SWITCH_UP    ? MV_UP :
+                           element == EL_BALLOON_SWITCH_DOWN  ? MV_DOWN :
                            MV_NO_MOVING);
-      PlaySoundLevel(x, y, SND_BALLOON_SWITCH_ACTIVATING);
+      PlaySoundLevel(x, y, SND_CLASS_BALLOON_SWITCH_ACTIVATING);
 
       return MF_ACTION;
       break;
@@ -5921,27 +5966,27 @@ int DigField(struct PlayerInfo *player,
       PlaySoundLevelElementAction(x, y, element, ACTION_PUSHING);
       break;
 
-    case EL_GATE1:
-    case EL_GATE2:
-    case EL_GATE3:
-    case EL_GATE4:
-      if (!player->key[element - EL_GATE1])
+    case EL_GATE_1:
+    case EL_GATE_2:
+    case EL_GATE_3:
+    case EL_GATE_4:
+      if (!player->key[element - EL_GATE_1])
        return MF_NO_ACTION;
       break;
 
-    case EL_GATE1_GRAY:
-    case EL_GATE2_GRAY:
-    case EL_GATE3_GRAY:
-    case EL_GATE4_GRAY:
-      if (!player->key[element - EL_GATE1_GRAY])
+    case EL_GATE_1_GRAY:
+    case EL_GATE_2_GRAY:
+    case EL_GATE_3_GRAY:
+    case EL_GATE_4_GRAY:
+      if (!player->key[element - EL_GATE_1_GRAY])
        return MF_NO_ACTION;
       break;
 
-    case EL_EM_GATE1:
-    case EL_EM_GATE2:
-    case EL_EM_GATE3:
-    case EL_EM_GATE4:
-      if (!player->key[element - EL_EM_GATE1])
+    case EL_EM_GATE_1:
+    case EL_EM_GATE_2:
+    case EL_EM_GATE_3:
+    case EL_EM_GATE_4:
+      if (!player->key[element - EL_EM_GATE_1])
        return MF_NO_ACTION;
       if (!IN_LEV_FIELD(x + dx, y + dy) || !IS_FREE(x + dx, y + dy))
        return MF_NO_ACTION;
@@ -5950,14 +5995,14 @@ int DigField(struct PlayerInfo *player,
       player->programmed_action = move_direction;
       DOUBLE_PLAYER_SPEED(player);
 
-      PlaySoundLevel(x, y, SND_GATE_PASSING);
+      PlaySoundLevel(x, y, SND_CLASS_GATE_PASSING);
       break;
 
-    case EL_EM_GATE1_GRAY:
-    case EL_EM_GATE2_GRAY:
-    case EL_EM_GATE3_GRAY:
-    case EL_EM_GATE4_GRAY:
-      if (!player->key[element - EL_EM_GATE1_GRAY])
+    case EL_EM_GATE_1_GRAY:
+    case EL_EM_GATE_2_GRAY:
+    case EL_EM_GATE_3_GRAY:
+    case EL_EM_GATE_4_GRAY:
+      if (!player->key[element - EL_EM_GATE_1_GRAY])
        return MF_NO_ACTION;
       if (!IN_LEV_FIELD(x + dx, y + dy) || !IS_FREE(x + dx, y + dy))
        return MF_NO_ACTION;
@@ -5966,7 +6011,11 @@ int DigField(struct PlayerInfo *player,
       player->programmed_action = move_direction;
       DOUBLE_PLAYER_SPEED(player);
 
+#if 1
+      PlaySoundLevelAction(x, y, ACTION_PASSING);
+#else
       PlaySoundLevel(x, y, SND_GATE_PASSING);
+#endif
       break;
 
     case EL_SWITCHGATE_OPEN:
@@ -5981,37 +6030,37 @@ int DigField(struct PlayerInfo *player,
       PlaySoundLevelElementAction(x, y, element, ACTION_PASSING);
       break;
 
-    case EL_SP_PORT1_LEFT:
-    case EL_SP_PORT2_LEFT:
-    case EL_SP_PORT1_RIGHT:
-    case EL_SP_PORT2_RIGHT:
-    case EL_SP_PORT1_UP:
-    case EL_SP_PORT2_UP:
-    case EL_SP_PORT1_DOWN:
-    case EL_SP_PORT2_DOWN:
-    case EL_SP_PORT_X:
-    case EL_SP_PORT_Y:
-    case EL_SP_PORT_XY:
+    case EL_SP_PORT_LEFT:
+    case EL_SP_GRAVITY_PORT_LEFT:
+    case EL_SP_PORT_RIGHT:
+    case EL_SP_GRAVITY_PORT_RIGHT:
+    case EL_SP_PORT_UP:
+    case EL_SP_GRAVITY_PORT_UP:
+    case EL_SP_PORT_DOWN:
+    case EL_SP_GRAVITY_PORT_DOWN:
+    case EL_SP_PORT_HORIZONTAL:
+    case EL_SP_PORT_VERTICAL:
+    case EL_SP_PORT_ANY:
       if ((dx == -1 &&
-          element != EL_SP_PORT1_LEFT &&
-          element != EL_SP_PORT2_LEFT &&
-          element != EL_SP_PORT_X &&
-          element != EL_SP_PORT_XY) ||
+          element != EL_SP_PORT_LEFT &&
+          element != EL_SP_GRAVITY_PORT_LEFT &&
+          element != EL_SP_PORT_HORIZONTAL &&
+          element != EL_SP_PORT_ANY) ||
          (dx == +1 &&
-          element != EL_SP_PORT1_RIGHT &&
-          element != EL_SP_PORT2_RIGHT &&
-          element != EL_SP_PORT_X &&
-          element != EL_SP_PORT_XY) ||
+          element != EL_SP_PORT_RIGHT &&
+          element != EL_SP_GRAVITY_PORT_RIGHT &&
+          element != EL_SP_PORT_HORIZONTAL &&
+          element != EL_SP_PORT_ANY) ||
          (dy == -1 &&
-          element != EL_SP_PORT1_UP &&
-          element != EL_SP_PORT2_UP &&
-          element != EL_SP_PORT_Y &&
-          element != EL_SP_PORT_XY) ||
+          element != EL_SP_PORT_UP &&
+          element != EL_SP_GRAVITY_PORT_UP &&
+          element != EL_SP_PORT_VERTICAL &&
+          element != EL_SP_PORT_ANY) ||
          (dy == +1 &&
-          element != EL_SP_PORT1_DOWN &&
-          element != EL_SP_PORT2_DOWN &&
-          element != EL_SP_PORT_Y &&
-          element != EL_SP_PORT_XY) ||
+          element != EL_SP_PORT_DOWN &&
+          element != EL_SP_GRAVITY_PORT_DOWN &&
+          element != EL_SP_PORT_VERTICAL &&
+          element != EL_SP_PORT_ANY) ||
          !IN_LEV_FIELD(x + dx, y + dy) ||
          !IS_FREE(x + dx, y + dy))
        return MF_NO_ACTION;
@@ -6020,10 +6069,10 @@ int DigField(struct PlayerInfo *player,
       player->programmed_action = move_direction;
       DOUBLE_PLAYER_SPEED(player);
 
-      PlaySoundLevel(x, y, SND_SP_PORT_PASSING);
+      PlaySoundLevel(x, y, SND_CLASS_SP_PORT_PASSING);
       break;
 
-    case EL_TUBE_ALL:
+    case EL_TUBE_ANY:
     case EL_TUBE_VERTICAL:
     case EL_TUBE_HORIZONTAL:
     case EL_TUBE_VERTICAL_LEFT:
@@ -6038,7 +6087,7 @@ int DigField(struct PlayerInfo *player,
        int i = 0;
        int tube_enter_directions[][2] =
        {
-         { EL_TUBE_ALL,                MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN },
+         { EL_TUBE_ANY,                MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN },
          { EL_TUBE_VERTICAL,                                MV_UP | MV_DOWN },
          { EL_TUBE_HORIZONTAL,         MV_LEFT | MV_RIGHT                   },
          { EL_TUBE_VERTICAL_LEFT,                MV_RIGHT | MV_UP | MV_DOWN },
@@ -6062,7 +6111,7 @@ int DigField(struct PlayerInfo *player,
        if (!(tube_enter_directions[i][1] & move_direction))
          return MF_NO_ACTION;  /* tube has no opening in this direction */
 
-       PlaySoundLevel(x, y, SND_TUBE_PASSING);
+       PlaySoundLevel(x, y, SND_CLASS_TUBE_PASSING);
       }
       break;
 
@@ -6078,9 +6127,9 @@ int DigField(struct PlayerInfo *player,
        return MF_NO_ACTION;
 
       if (element == EL_EXIT_OPEN)
-       PlaySoundLevel(x, y, SND_EXIT_PASSING);
+       PlaySoundLevel(x, y, SND_CLASS_EXIT_PASSING);
       else
-       PlaySoundLevel(x, y, SND_SP_EXIT_PASSING);
+       PlaySoundLevel(x, y, SND_CLASS_SP_EXIT_PASSING);
 
       break;
 
@@ -6159,17 +6208,33 @@ int DigField(struct PlayerInfo *player,
          Feld[x+dx][y+dy] = EL_SOKOBAN_FIELD_FULL;
          local_player->sokobanfields_still_needed--;
          if (element == EL_SOKOBAN_OBJECT)
-           PlaySoundLevel(x, y, SND_SOKOBAN_FIELD_FILLING);
+#if 1
+           PlaySoundLevelAction(x+dx, y+dy, ACTION_FILLING);
+#else
+           PlaySoundLevel(x, y, SND_CLASS_SOKOBAN_FIELD_FILLING);
+#endif
          else
+#if 1
+           PlaySoundLevelAction(x+dx, y+dy, ACTION_PUSHING);
+#else
            PlaySoundLevel(x, y, SND_SOKOBAN_OBJECT_PUSHING);
+#endif
        }
        else
        {
          Feld[x+dx][y+dy] = EL_SOKOBAN_OBJECT;
          if (element == EL_SOKOBAN_FIELD_FULL)
+#if 1
+           PlaySoundLevelAction(x+dx, y+dy, ACTION_EMPTYING);
+#else
            PlaySoundLevel(x, y, SND_SOKOBAN_FIELD_EMPTYING);
+#endif
          else
+#if 1
+           PlaySoundLevelAction(x+dx, y+dy, ACTION_PUSHING);
+#else
            PlaySoundLevel(x, y, SND_SOKOBAN_OBJECT_PUSHING);
+#endif
        }
       }
       else
@@ -6189,7 +6254,7 @@ int DigField(struct PlayerInfo *player,
          game.emulation == EMU_SOKOBAN)
       {
        player->LevelSolved = player->GameOver = TRUE;
-       PlaySoundLevel(x, y, SND_SOKOBAN_GAME_SOLVING);
+       PlaySoundLevel(x, y, SND_GAME_SOKOBAN_SOLVING);
       }
 
       break;
@@ -6335,18 +6400,18 @@ boolean PlaceBomb(struct PlayerInfo *player)
 #endif
     }
 
-    PlaySoundLevel(jx, jy, SND_DYNAMITE_DROPPING);
+    PlaySoundLevelAction(jx, jy, ACTION_DROPPING);
   }
   else
   {
     Feld[jx][jy] =
-      EL_DYNABOMB_PLAYER1_ACTIVE + (player->element_nr - EL_PLAYER1);
+      EL_DYNABOMB_PLAYER_1_ACTIVE + (player->element_nr - EL_PLAYER_1);
     player->dynabombs_left--;
 
     if (IN_SCR_FIELD(SCREENX(jx), SCREENY(jy)))
       DrawGraphicThruMask(SCREENX(jx), SCREENY(jy), el2img(Feld[jx][jy]), 0);
 
-    PlaySoundLevel(jx, jy, SND_DYNABOMB_DROPPING);
+    PlaySoundLevelAction(jx, jy, ACTION_DROPPING);
   }
 
   return TRUE;
@@ -6427,20 +6492,35 @@ static void PlaySoundLevelNearest(int x, int y, int sound_action)
                 sound_action);
 }
 
-static void PlaySoundLevelAction(int x, int y, int sound_action)
+static void PlaySoundLevelAction(int x, int y, int action)
 {
-  PlaySoundLevelElementAction(x, y, Feld[x][y], sound_action);
+  PlaySoundLevelElementAction(x, y, Feld[x][y], action);
 }
 
-static void PlaySoundLevelElementAction(int x, int y, int element,
-                                       int sound_action)
+static void PlaySoundLevelElementAction(int x, int y, int element, int action)
 {
-  int sound_effect = element_info[element].sound[sound_action];
+  int sound_effect = element_info[element].sound[action];
 
   if (sound_effect != SND_UNDEFINED)
     PlaySoundLevel(x, y, sound_effect);
 }
 
+static void PlaySoundLevelActionIfLoop(int x, int y, int action)
+{
+  int sound_effect = element_info[Feld[x][y]].sound[action];
+
+  if (sound_effect != SND_UNDEFINED && IS_LOOP_SOUND(sound_effect))
+    PlaySoundLevel(x, y, sound_effect);
+}
+
+static void StopSoundLevelActionIfLoop(int x, int y, int action)
+{
+  int sound_effect = element_info[Feld[x][y]].sound[action];
+
+  if (sound_effect != SND_UNDEFINED && IS_LOOP_SOUND(sound_effect))
+    StopSoundExt(sound_effect, SND_CTRL_STOP_SOUND);
+}
+
 void RaiseScore(int value)
 {
   local_player->score += value;
@@ -6485,10 +6565,10 @@ void RaiseScoreElement(int element)
     case EL_DYNAMITE:
       RaiseScore(level.score[SC_DYNAMIT]);
       break;
-    case EL_KEY1:
-    case EL_KEY2:
-    case EL_KEY3:
-    case EL_KEY4:
+    case EL_KEY_1:
+    case EL_KEY_2:
+    case EL_KEY_3:
+    case EL_KEY_4:
       RaiseScore(level.score[SC_SCHLUESSEL]);
       break;
     default:
index 5f05b082af4a6367e2bbffe75b4eecc38b828f8b..222d4c15124a78dcc55c3ba32207560f9e76d80e 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "conf_e2g.c"  /* include auto-generated data structure definitions */
 #include "conf_esg.c"  /* include auto-generated data structure definitions */
+#include "conf_e2s.c"  /* include auto-generated data structure definitions */
 #include "conf_fnt.c"  /* include auto-generated data structure definitions */
 
 #define CONFIG_TOKEN_FONT_INITIAL              "font.initial"
@@ -164,10 +165,20 @@ static void InitArtworkInfo()
   LoadArtworkInfo();
 }
 
+static char *get_element_class_token(int element)
+{
+  char *element_class_name = element_info[element].class_name;
+  char *element_class_token = checked_malloc(strlen(element_class_name) + 3);
+
+  sprintf(element_class_token, "[%s]", element_class_name);
+
+  return element_class_token;
+}
+
 static void InitArtworkConfig()
 {
   static char *image_id_prefix[MAX_NUM_ELEMENTS + NUM_FONTS + 1];
-  static char *sound_id_prefix[MAX_NUM_ELEMENTS + 1];
+  static char *sound_id_prefix[MAX_NUM_ELEMENTS + MAX_NUM_ELEMENTS + 1];
   static char *action_id_suffix[NUM_ACTIONS + 1];
   static char *direction_id_suffix[NUM_DIRECTIONS + 1];
   static char *special_id_suffix[NUM_SPECIAL_GFX_ARGS + 1];
@@ -189,20 +200,27 @@ static void InitArtworkConfig()
 
   for (i=0; i<MAX_NUM_ELEMENTS; i++)
     image_id_prefix[i] = element_info[i].token_name;
-  for (i=0; i<NUM_FONTS + 1; i++)
+  for (i=0; i<NUM_FONTS; i++)
     image_id_prefix[MAX_NUM_ELEMENTS + i] = font_info[i].token_name;
+  image_id_prefix[MAX_NUM_ELEMENTS + NUM_FONTS] = NULL;
 
-  for (i=0; i<MAX_NUM_ELEMENTS + 1; i++)
-    sound_id_prefix[i] = element_info[i].sound_class_name;
+  for (i=0; i<MAX_NUM_ELEMENTS; i++)
+    sound_id_prefix[i] = element_info[i].token_name;
+  for (i=0; i<MAX_NUM_ELEMENTS; i++)
+    sound_id_prefix[MAX_NUM_ELEMENTS + i] = get_element_class_token(i);
+  sound_id_prefix[MAX_NUM_ELEMENTS + MAX_NUM_ELEMENTS] = NULL;
 
-  for (i=0; i<NUM_ACTIONS + 1; i++)
+  for (i=0; i<NUM_ACTIONS; i++)
     action_id_suffix[i] = element_action_info[i].suffix;
+  action_id_suffix[NUM_ACTIONS] = NULL;
 
-  for (i=0; i<NUM_DIRECTIONS + 1; i++)
+  for (i=0; i<NUM_DIRECTIONS; i++)
     direction_id_suffix[i] = element_direction_info[i].suffix;
+  direction_id_suffix[NUM_DIRECTIONS] = NULL;
 
-  for (i=0; i<NUM_SPECIAL_GFX_ARGS + 1; i++)
+  for (i=0; i<NUM_SPECIAL_GFX_ARGS; i++)
     special_id_suffix[i] = special_suffix_info[i].suffix;
+  special_id_suffix[NUM_SPECIAL_GFX_ARGS] = NULL;
 
   InitImageList(image_config, NUM_IMAGE_FILES, image_config_suffix,
                image_id_prefix, action_id_suffix, direction_id_suffix,
@@ -267,6 +285,10 @@ static void ReinitializeSounds()
   InitElementSoundInfo();      /* element game sound mapping */
   InitSoundInfo();             /* sound properties mapping */
 
+#if 1
+  InitElementSoundInfo();      /* element game sound mapping */
+#endif
+
   InitPlaySoundLevel();                /* internal game sound settings */
 }
 
@@ -1279,7 +1301,82 @@ static void InitGraphicInfo()
 
 static void InitElementSoundInfo()
 {
-  /* !!! soon to come !!! */
+  struct PropertyMapping *property_mapping = getSoundListPropertyMapping();
+  int num_property_mappings = getSoundListPropertyMappingSize();
+  int i, j, act;
+
+  /* set values to -1 to identify later as "uninitialized" values */
+  for (i=0; i < MAX_NUM_ELEMENTS; i++)
+    for (act=0; act < NUM_ACTIONS; act++)
+      element_info[i].sound[act] = -1;
+
+  /* initialize element/sound mapping from static configuration */
+  for (i=0; element_to_sound[i].element > -1; i++)
+  {
+    int element      = element_to_sound[i].element;
+    int action       = element_to_sound[i].action;
+    int sound        = element_to_sound[i].sound;
+    boolean is_class = element_to_sound[i].is_class;
+
+    if (action < 0)
+      action = ACTION_DEFAULT;
+
+    if (!is_class)
+      element_info[element].sound[action] = sound;
+    else
+      for (j=0; j < MAX_NUM_ELEMENTS; j++)
+       if (strcmp(element_info[j].class_name,
+                  element_info[element].class_name) == 0)
+         element_info[j].sound[action] = sound;
+  }
+
+  /* initialize element/sound mapping from dynamic configuration */
+  for (i=0; i < num_property_mappings; i++)
+  {
+    int element = property_mapping[i].base_index;
+    int action  = property_mapping[i].ext1_index;
+    int sound   = property_mapping[i].artwork_index;
+
+    if (element >= MAX_NUM_ELEMENTS)
+      continue;
+
+    if (action < 0)
+      action = ACTION_DEFAULT;
+
+    element_info[element].sound[action] = sound;
+  }
+
+  /* initialize element class/sound mapping from dynamic configuration */
+  for (i=0; i < num_property_mappings; i++)
+  {
+    int element_class = property_mapping[i].base_index - MAX_NUM_ELEMENTS;
+    int action        = property_mapping[i].ext1_index;
+    int sound         = property_mapping[i].artwork_index;
+
+    if (element_class < 0 || element_class >= MAX_NUM_ELEMENTS)
+      continue;
+
+    if (action < 0)
+      action = ACTION_DEFAULT;
+
+    for (j=0; j < MAX_NUM_ELEMENTS; j++)
+      if (strcmp(element_info[j].class_name,
+                element_info[element_class].class_name) == 0)
+       element_info[j].sound[action] = sound;
+  }
+
+  /* now set all '-1' values to element specific default values */
+  for (i=0; i<MAX_NUM_ELEMENTS; i++)
+  {
+    int default_action_sound = element_info[i].sound[ACTION_DEFAULT];
+
+    for (act=0; act < NUM_ACTIONS; act++)
+    {
+      /* no sound for this specific action -- use default action sound */
+      if (element_info[i].sound[act] == -1)
+       element_info[i].sound[act] = default_action_sound;
+    }
+  }
 }
 
 static void set_sound_parameters(int sound, char **parameter_raw)
@@ -1346,13 +1443,13 @@ static void InitSoundInfo()
 
     for (j=0; j<MAX_NUM_ELEMENTS; j++)
     {
-      if (element_info[j].sound_class_name)
+      if (element_info[j].class_name)
       {
-       int len_class_text = strlen(element_info[j].sound_class_name);
+       int len_class_text = strlen(element_info[j].class_name);
 
        if (len_class_text + 1 < len_effect_text &&
            strncmp(sound->token,
-                   element_info[j].sound_class_name, len_class_text) == 0 &&
+                   element_info[j].class_name, len_class_text) == 0 &&
            sound->token[len_class_text] == '.')
        {
          int sound_action_value = sound_effect_properties[i];
@@ -1442,35 +1539,35 @@ void InitElementProperties()
 
   static int ep_schluessel[] =
   {
-    EL_KEY1,
-    EL_KEY2,
-    EL_KEY3,
-    EL_KEY4,
-    EL_EM_KEY1,
-    EL_EM_KEY2,
-    EL_EM_KEY3,
-    EL_EM_KEY4
+    EL_KEY_1,
+    EL_KEY_2,
+    EL_KEY_3,
+    EL_KEY_4,
+    EL_EM_KEY_1,
+    EL_EM_KEY_2,
+    EL_EM_KEY_3,
+    EL_EM_KEY_4
   };
   static int ep_schluessel_num = SIZEOF_ARRAY_INT(ep_schluessel);
 
   static int ep_pforte[] =
   {
-    EL_GATE1,
-    EL_GATE2,
-    EL_GATE3,
-    EL_GATE4,
-    EL_GATE1_GRAY,
-    EL_GATE2_GRAY,
-    EL_GATE3_GRAY,
-    EL_GATE4_GRAY,
-    EL_EM_GATE1,
-    EL_EM_GATE2,
-    EL_EM_GATE3,
-    EL_EM_GATE4,
-    EL_EM_GATE1_GRAY,
-    EL_EM_GATE2_GRAY,
-    EL_EM_GATE3_GRAY,
-    EL_EM_GATE4_GRAY,
+    EL_GATE_1,
+    EL_GATE_2,
+    EL_GATE_3,
+    EL_GATE_4,
+    EL_GATE_1_GRAY,
+    EL_GATE_2_GRAY,
+    EL_GATE_3_GRAY,
+    EL_GATE_4_GRAY,
+    EL_EM_GATE_1,
+    EL_EM_GATE_2,
+    EL_EM_GATE_3,
+    EL_EM_GATE_4,
+    EL_EM_GATE_1_GRAY,
+    EL_EM_GATE_2_GRAY,
+    EL_EM_GATE_3_GRAY,
+    EL_EM_GATE_4_GRAY,
     EL_SWITCHGATE_OPEN,
     EL_SWITCHGATE_OPENING,
     EL_SWITCHGATE_CLOSED,
@@ -1479,7 +1576,7 @@ void InitElementProperties()
     EL_TIMEGATE_OPENING,
     EL_TIMEGATE_CLOSED,
     EL_TIMEGATE_CLOSING,
-    EL_TUBE_ALL,
+    EL_TUBE_ANY,
     EL_TUBE_VERTICAL,
     EL_TUBE_HORIZONTAL,
     EL_TUBE_VERTICAL_LEFT,
@@ -1496,10 +1593,10 @@ void InitElementProperties()
   static int ep_solid[] =
   {
     EL_WALL,
-    EL_WALL_GROWING,
-    EL_WALL_GROWING_X,
-    EL_WALL_GROWING_Y,
-    EL_WALL_GROWING_XY,
+    EL_EXPANDABLE_WALL,
+    EL_EXPANDABLE_WALL_HORIZONTAL,
+    EL_EXPANDABLE_WALL_VERTICAL,
+    EL_EXPANDABLE_WALL_ANY,
     EL_BD_WALL,
     EL_WALL_CRUMBLED,
     EL_EXIT_CLOSED,
@@ -1510,8 +1607,8 @@ void InitElementProperties()
     EL_AMOEBA_DRY,
     EL_AMOEBA_FULL,
     EL_BD_AMOEBA,
-    EL_QUICKSAND_FULL,
     EL_QUICKSAND_EMPTY,
+    EL_QUICKSAND_FULL,
     EL_QUICKSAND_FILLING,
     EL_QUICKSAND_EMPTYING,
     EL_MAGIC_WALL,
@@ -1526,13 +1623,13 @@ void InitElementProperties()
     EL_BD_MAGIC_WALL_FULL,
     EL_BD_MAGIC_WALL_FILLING,
     EL_BD_MAGIC_WALL_DEAD,
-    EL_GAMEOFLIFE,
+    EL_GAME_OF_LIFE,
     EL_BIOMAZE,
     EL_SP_CHIP_SINGLE,
     EL_SP_CHIP_LEFT,
     EL_SP_CHIP_RIGHT,
-    EL_SP_CHIP_UPPER,
-    EL_SP_CHIP_LOWER,
+    EL_SP_CHIP_TOP,
+    EL_SP_CHIP_BOTTOM,
     EL_SP_TERMINAL,
     EL_SP_TERMINAL_ACTIVE,
     EL_SP_EXIT_CLOSED,
@@ -1543,14 +1640,14 @@ void InitElementProperties()
     EL_SWITCHGATE_SWITCH_DOWN,
     EL_TIMEGATE_SWITCH,
     EL_TIMEGATE_SWITCH_ACTIVE,
-    EL_EMC_WALL_PILLAR_UPPER,
-    EL_EMC_WALL_PILLAR_MIDDLE,
-    EL_EMC_WALL_PILLAR_LOWER,
-    EL_EMC_WALL4,
-    EL_EMC_WALL5,
-    EL_EMC_WALL6,
-    EL_EMC_WALL7,
-    EL_EMC_WALL8,
+    EL_EMC_WALL_1,
+    EL_EMC_WALL_2,
+    EL_EMC_WALL_3,
+    EL_EMC_WALL_4,
+    EL_EMC_WALL_5,
+    EL_EMC_WALL_6,
+    EL_EMC_WALL_7,
+    EL_EMC_WALL_8,
     EL_WALL_PEARL,
     EL_WALL_CRYSTAL,
 
@@ -1560,36 +1657,36 @@ void InitElementProperties()
     EL_ACID,
 #endif
     EL_STEELWALL,
-    EL_ACIDPOOL_TOPLEFT,
-    EL_ACIDPOOL_TOPRIGHT,
-    EL_ACIDPOOL_BOTTOMLEFT,
-    EL_ACIDPOOL_BOTTOM,
-    EL_ACIDPOOL_BOTTOMRIGHT,
-    EL_SP_HARD_GRAY,
-    EL_SP_HARD_GREEN,
-    EL_SP_HARD_BLUE,
-    EL_SP_HARD_RED,
-    EL_SP_HARD_YELLOW,
-    EL_SP_HARD_BASE1,
-    EL_SP_HARD_BASE2,
-    EL_SP_HARD_BASE3,
-    EL_SP_HARD_BASE4,
-    EL_SP_HARD_BASE5,
-    EL_SP_HARD_BASE6,
+    EL_ACID_POOL_TOPLEFT,
+    EL_ACID_POOL_TOPRIGHT,
+    EL_ACID_POOL_BOTTOMLEFT,
+    EL_ACID_POOL_BOTTOM,
+    EL_ACID_POOL_BOTTOMRIGHT,
+    EL_SP_HARDWARE_GRAY,
+    EL_SP_HARDWARE_GREEN,
+    EL_SP_HARDWARE_BLUE,
+    EL_SP_HARDWARE_RED,
+    EL_SP_HARDWARE_YELLOW,
+    EL_SP_HARDWARE_BASE_1,
+    EL_SP_HARDWARE_BASE_2,
+    EL_SP_HARDWARE_BASE_3,
+    EL_SP_HARDWARE_BASE_4,
+    EL_SP_HARDWARE_BASE_5,
+    EL_SP_HARDWARE_BASE_6,
     EL_INVISIBLE_STEELWALL,
     EL_INVISIBLE_STEELWALL_ACTIVE,
-    EL_CONVEYOR_BELT1_SWITCH_LEFT,
-    EL_CONVEYOR_BELT1_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT1_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT2_SWITCH_LEFT,
-    EL_CONVEYOR_BELT2_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT2_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT3_SWITCH_LEFT,
-    EL_CONVEYOR_BELT3_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT3_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT4_SWITCH_LEFT,
-    EL_CONVEYOR_BELT4_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT4_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_1_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_1_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_1_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_2_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_2_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_2_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_3_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_3_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_3_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_4_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_4_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_4_SWITCH_RIGHT,
     EL_LIGHT_SWITCH,
     EL_LIGHT_SWITCH_ACTIVE,
     EL_SIGN_EXCLAMATION,
@@ -1605,27 +1702,27 @@ void InitElementProperties()
     EL_SIGN_YINYANG,
     EL_SIGN_OTHER,
     EL_STEELWALL_SLANTED,
-    EL_EMC_STEELWALL1,
-    EL_EMC_STEELWALL2,
-    EL_EMC_STEELWALL3,
-    EL_EMC_STEELWALL4,
+    EL_EMC_STEELWALL_1,
+    EL_EMC_STEELWALL_2,
+    EL_EMC_STEELWALL_3,
+    EL_EMC_STEELWALL_4,
     EL_CRYSTAL,
-    EL_GATE1,
-    EL_GATE2,
-    EL_GATE3,
-    EL_GATE4,
-    EL_GATE1_GRAY,
-    EL_GATE2_GRAY,
-    EL_GATE3_GRAY,
-    EL_GATE4_GRAY,
-    EL_EM_GATE1,
-    EL_EM_GATE2,
-    EL_EM_GATE3,
-    EL_EM_GATE4,
-    EL_EM_GATE1_GRAY,
-    EL_EM_GATE2_GRAY,
-    EL_EM_GATE3_GRAY,
-    EL_EM_GATE4_GRAY,
+    EL_GATE_1,
+    EL_GATE_2,
+    EL_GATE_3,
+    EL_GATE_4,
+    EL_GATE_1_GRAY,
+    EL_GATE_2_GRAY,
+    EL_GATE_3_GRAY,
+    EL_GATE_4_GRAY,
+    EL_EM_GATE_1,
+    EL_EM_GATE_2,
+    EL_EM_GATE_3,
+    EL_EM_GATE_4,
+    EL_EM_GATE_1_GRAY,
+    EL_EM_GATE_2_GRAY,
+    EL_EM_GATE_3_GRAY,
+    EL_EM_GATE_4_GRAY,
     EL_SWITCHGATE_OPEN,
     EL_SWITCHGATE_OPENING,
     EL_SWITCHGATE_CLOSED,
@@ -1634,7 +1731,7 @@ void InitElementProperties()
     EL_TIMEGATE_OPENING,
     EL_TIMEGATE_CLOSED,
     EL_TIMEGATE_CLOSING,
-    EL_TUBE_ALL,
+    EL_TUBE_ANY,
     EL_TUBE_VERTICAL,
     EL_TUBE_HORIZONTAL,
     EL_TUBE_VERTICAL_LEFT,
@@ -1652,36 +1749,36 @@ void InitElementProperties()
   {
     EL_STEELWALL,
     EL_ACID,
-    EL_ACIDPOOL_TOPLEFT,
-    EL_ACIDPOOL_TOPRIGHT,
-    EL_ACIDPOOL_BOTTOMLEFT,
-    EL_ACIDPOOL_BOTTOM,
-    EL_ACIDPOOL_BOTTOMRIGHT,
-    EL_SP_HARD_GRAY,
-    EL_SP_HARD_GREEN,
-    EL_SP_HARD_BLUE,
-    EL_SP_HARD_RED,
-    EL_SP_HARD_YELLOW,
-    EL_SP_HARD_BASE1,
-    EL_SP_HARD_BASE2,
-    EL_SP_HARD_BASE3,
-    EL_SP_HARD_BASE4,
-    EL_SP_HARD_BASE5,
-    EL_SP_HARD_BASE6,
+    EL_ACID_POOL_TOPLEFT,
+    EL_ACID_POOL_TOPRIGHT,
+    EL_ACID_POOL_BOTTOMLEFT,
+    EL_ACID_POOL_BOTTOM,
+    EL_ACID_POOL_BOTTOMRIGHT,
+    EL_SP_HARDWARE_GRAY,
+    EL_SP_HARDWARE_GREEN,
+    EL_SP_HARDWARE_BLUE,
+    EL_SP_HARDWARE_RED,
+    EL_SP_HARDWARE_YELLOW,
+    EL_SP_HARDWARE_BASE_1,
+    EL_SP_HARDWARE_BASE_2,
+    EL_SP_HARDWARE_BASE_3,
+    EL_SP_HARDWARE_BASE_4,
+    EL_SP_HARDWARE_BASE_5,
+    EL_SP_HARDWARE_BASE_6,
     EL_INVISIBLE_STEELWALL,
     EL_INVISIBLE_STEELWALL_ACTIVE,
-    EL_CONVEYOR_BELT1_SWITCH_LEFT,
-    EL_CONVEYOR_BELT1_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT1_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT2_SWITCH_LEFT,
-    EL_CONVEYOR_BELT2_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT2_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT3_SWITCH_LEFT,
-    EL_CONVEYOR_BELT3_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT3_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT4_SWITCH_LEFT,
-    EL_CONVEYOR_BELT4_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT4_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_1_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_1_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_1_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_2_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_2_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_2_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_3_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_3_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_3_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_4_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_4_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_4_SWITCH_RIGHT,
     EL_LIGHT_SWITCH,
     EL_LIGHT_SWITCH_ACTIVE,
     EL_SIGN_EXCLAMATION,
@@ -1697,27 +1794,27 @@ void InitElementProperties()
     EL_SIGN_YINYANG,
     EL_SIGN_OTHER,
     EL_STEELWALL_SLANTED,
-    EL_EMC_STEELWALL1,
-    EL_EMC_STEELWALL2,
-    EL_EMC_STEELWALL3,
-    EL_EMC_STEELWALL4,
+    EL_EMC_STEELWALL_1,
+    EL_EMC_STEELWALL_2,
+    EL_EMC_STEELWALL_3,
+    EL_EMC_STEELWALL_4,
     EL_CRYSTAL,
-    EL_GATE1,
-    EL_GATE2,
-    EL_GATE3,
-    EL_GATE4,
-    EL_GATE1_GRAY,
-    EL_GATE2_GRAY,
-    EL_GATE3_GRAY,
-    EL_GATE4_GRAY,
-    EL_EM_GATE1,
-    EL_EM_GATE2,
-    EL_EM_GATE3,
-    EL_EM_GATE4,
-    EL_EM_GATE1_GRAY,
-    EL_EM_GATE2_GRAY,
-    EL_EM_GATE3_GRAY,
-    EL_EM_GATE4_GRAY,
+    EL_GATE_1,
+    EL_GATE_2,
+    EL_GATE_3,
+    EL_GATE_4,
+    EL_GATE_1_GRAY,
+    EL_GATE_2_GRAY,
+    EL_GATE_3_GRAY,
+    EL_GATE_4_GRAY,
+    EL_EM_GATE_1,
+    EL_EM_GATE_2,
+    EL_EM_GATE_3,
+    EL_EM_GATE_4,
+    EL_EM_GATE_1_GRAY,
+    EL_EM_GATE_2_GRAY,
+    EL_EM_GATE_3_GRAY,
+    EL_EM_GATE_4_GRAY,
     EL_SWITCHGATE_OPEN,
     EL_SWITCHGATE_OPENING,
     EL_SWITCHGATE_CLOSED,
@@ -1726,7 +1823,7 @@ void InitElementProperties()
     EL_TIMEGATE_OPENING,
     EL_TIMEGATE_CLOSED,
     EL_TIMEGATE_CLOSING,
-    EL_TUBE_ALL,
+    EL_TUBE_ANY,
     EL_TUBE_VERTICAL,
     EL_TUBE_HORIZONTAL,
     EL_TUBE_VERTICAL_LEFT,
@@ -1760,16 +1857,16 @@ void InitElementProperties()
     EL_TIME_ORB_EMPTY,
     EL_LAMP_ACTIVE,
     EL_LAMP,
-    EL_ACIDPOOL_TOPLEFT,
-    EL_ACIDPOOL_TOPRIGHT,
+    EL_ACID_POOL_TOPLEFT,
+    EL_ACID_POOL_TOPRIGHT,
     EL_SATELLITE,
     EL_SP_ZONK,
     EL_SP_INFOTRON,
     EL_SP_CHIP_SINGLE,
     EL_SP_CHIP_LEFT,
     EL_SP_CHIP_RIGHT,
-    EL_SP_CHIP_UPPER,
-    EL_SP_CHIP_LOWER,
+    EL_SP_CHIP_TOP,
+    EL_SP_CHIP_BOTTOM,
     EL_SPEED_PILL,
     EL_STEELWALL_SLANTED,
     EL_PEARL,
@@ -1795,49 +1892,49 @@ void InitElementProperties()
   static int ep_mauer[] =
   {
     EL_STEELWALL,
-    EL_GATE1,
-    EL_GATE2,
-    EL_GATE3,
-    EL_GATE4,
-    EL_GATE1_GRAY,
-    EL_GATE2_GRAY,
-    EL_GATE3_GRAY,
-    EL_GATE4_GRAY,
-    EL_EM_GATE1,
-    EL_EM_GATE2,
-    EL_EM_GATE3,
-    EL_EM_GATE4,
-    EL_EM_GATE1_GRAY,
-    EL_EM_GATE2_GRAY,
-    EL_EM_GATE3_GRAY,
-    EL_EM_GATE4_GRAY,
+    EL_GATE_1,
+    EL_GATE_2,
+    EL_GATE_3,
+    EL_GATE_4,
+    EL_GATE_1_GRAY,
+    EL_GATE_2_GRAY,
+    EL_GATE_3_GRAY,
+    EL_GATE_4_GRAY,
+    EL_EM_GATE_1,
+    EL_EM_GATE_2,
+    EL_EM_GATE_3,
+    EL_EM_GATE_4,
+    EL_EM_GATE_1_GRAY,
+    EL_EM_GATE_2_GRAY,
+    EL_EM_GATE_3_GRAY,
+    EL_EM_GATE_4_GRAY,
     EL_EXIT_CLOSED,
     EL_EXIT_OPENING,
     EL_EXIT_OPEN,
     EL_WALL,
     EL_WALL_CRUMBLED,
-    EL_WALL_GROWING,
-    EL_WALL_GROWING_X,
-    EL_WALL_GROWING_Y,
-    EL_WALL_GROWING_XY,
-    EL_WALL_GROWING_ACTIVE,
+    EL_EXPANDABLE_WALL,
+    EL_EXPANDABLE_WALL_HORIZONTAL,
+    EL_EXPANDABLE_WALL_VERTICAL,
+    EL_EXPANDABLE_WALL_ANY,
+    EL_EXPANDABLE_WALL_GROWING,
     EL_BD_WALL,
     EL_SP_CHIP_SINGLE,
     EL_SP_CHIP_LEFT,
     EL_SP_CHIP_RIGHT,
-    EL_SP_CHIP_UPPER,
-    EL_SP_CHIP_LOWER,
-    EL_SP_HARD_GRAY,
-    EL_SP_HARD_GREEN,
-    EL_SP_HARD_BLUE,
-    EL_SP_HARD_RED,
-    EL_SP_HARD_YELLOW,
-    EL_SP_HARD_BASE1,
-    EL_SP_HARD_BASE2,
-    EL_SP_HARD_BASE3,
-    EL_SP_HARD_BASE4,
-    EL_SP_HARD_BASE5,
-    EL_SP_HARD_BASE6,
+    EL_SP_CHIP_TOP,
+    EL_SP_CHIP_BOTTOM,
+    EL_SP_HARDWARE_GRAY,
+    EL_SP_HARDWARE_GREEN,
+    EL_SP_HARDWARE_BLUE,
+    EL_SP_HARDWARE_RED,
+    EL_SP_HARDWARE_YELLOW,
+    EL_SP_HARDWARE_BASE_1,
+    EL_SP_HARDWARE_BASE_2,
+    EL_SP_HARDWARE_BASE_3,
+    EL_SP_HARDWARE_BASE_4,
+    EL_SP_HARDWARE_BASE_5,
+    EL_SP_HARDWARE_BASE_6,
     EL_SP_TERMINAL,
     EL_SP_TERMINAL_ACTIVE,
     EL_SP_EXIT_CLOSED,
@@ -1847,18 +1944,18 @@ void InitElementProperties()
     EL_INVISIBLE_WALL,
     EL_INVISIBLE_WALL_ACTIVE,
     EL_STEELWALL_SLANTED,
-    EL_EMC_STEELWALL1,
-    EL_EMC_STEELWALL2,
-    EL_EMC_STEELWALL3,
-    EL_EMC_STEELWALL4,
-    EL_EMC_WALL_PILLAR_UPPER,
-    EL_EMC_WALL_PILLAR_MIDDLE,
-    EL_EMC_WALL_PILLAR_LOWER,
-    EL_EMC_WALL4,
-    EL_EMC_WALL5,
-    EL_EMC_WALL6,
-    EL_EMC_WALL7,
-    EL_EMC_WALL8
+    EL_EMC_STEELWALL_1,
+    EL_EMC_STEELWALL_2,
+    EL_EMC_STEELWALL_3,
+    EL_EMC_STEELWALL_4,
+    EL_EMC_WALL_1,
+    EL_EMC_WALL_2,
+    EL_EMC_WALL_3,
+    EL_EMC_WALL_4,
+    EL_EMC_WALL_5,
+    EL_EMC_WALL_6,
+    EL_EMC_WALL_7,
+    EL_EMC_WALL_8
   };
   static int ep_mauer_num = SIZEOF_ARRAY_INT(ep_mauer);
 
@@ -2044,7 +2141,7 @@ void InitElementProperties()
     EL_EXIT_CLOSED,
     EL_EXIT_OPEN,
     EL_STEELWALL,
-    EL_PLAYER1,
+    EL_PLAYER_1,
     EL_BD_FIREFLY,
     EL_BD_FIREFLY_1,
     EL_BD_FIREFLY_2,
@@ -2067,7 +2164,7 @@ void InitElementProperties()
     EL_SOKOBAN_OBJECT,
     EL_SOKOBAN_FIELD_EMPTY,
     EL_SOKOBAN_FIELD_FULL,
-    EL_PLAYER1,
+    EL_PLAYER_1,
     EL_INVISIBLE_STEELWALL
   };
   static int ep_sb_element_num = SIZEOF_ARRAY_INT(ep_sb_element);
@@ -2095,30 +2192,30 @@ void InitElementProperties()
     EL_QUICKSAND_EMPTY,
     EL_STONEBLOCK,
     EL_ROBOT_WHEEL,
-    EL_KEY1,
-    EL_KEY2,
-    EL_KEY3,
-    EL_KEY4,
-    EL_EM_KEY1,
-    EL_EM_KEY2,
-    EL_EM_KEY3,
-    EL_EM_KEY4,
-    EL_GATE1,
-    EL_GATE2,
-    EL_GATE3,
-    EL_GATE4,
-    EL_GATE1_GRAY,
-    EL_GATE2_GRAY,
-    EL_GATE3_GRAY,
-    EL_GATE4_GRAY,
-    EL_EM_GATE1,
-    EL_EM_GATE2,
-    EL_EM_GATE3,
-    EL_EM_GATE4,
-    EL_EM_GATE1_GRAY,
-    EL_EM_GATE2_GRAY,
-    EL_EM_GATE3_GRAY,
-    EL_EM_GATE4_GRAY,
+    EL_KEY_1,
+    EL_KEY_2,
+    EL_KEY_3,
+    EL_KEY_4,
+    EL_EM_KEY_1,
+    EL_EM_KEY_2,
+    EL_EM_KEY_3,
+    EL_EM_KEY_4,
+    EL_GATE_1,
+    EL_GATE_2,
+    EL_GATE_3,
+    EL_GATE_4,
+    EL_GATE_1_GRAY,
+    EL_GATE_2_GRAY,
+    EL_GATE_3_GRAY,
+    EL_GATE_4_GRAY,
+    EL_EM_GATE_1,
+    EL_EM_GATE_2,
+    EL_EM_GATE_3,
+    EL_EM_GATE_4,
+    EL_EM_GATE_1_GRAY,
+    EL_EM_GATE_2_GRAY,
+    EL_EM_GATE_3_GRAY,
+    EL_EM_GATE_4_GRAY,
     EL_DYNAMITE,
     EL_INVISIBLE_STEELWALL,
     EL_INVISIBLE_WALL,
@@ -2129,19 +2226,19 @@ void InitElementProperties()
     EL_WALL_DIAMOND,
     EL_WALL_BD_DIAMOND,
     EL_WALL_EMERALD_YELLOW,
-    EL_DYNABOMB_NR,
-    EL_DYNABOMB_SZ,
-    EL_DYNABOMB_XL,
+    EL_DYNABOMB_INCREASE_NUMBER,
+    EL_DYNABOMB_INCREASE_SIZE,
+    EL_DYNABOMB_INCREASE_POWER,
     EL_SOKOBAN_OBJECT,
     EL_SOKOBAN_FIELD_EMPTY,
     EL_SOKOBAN_FIELD_FULL,
     EL_WALL_EMERALD_RED,
     EL_WALL_EMERALD_PURPLE,
-    EL_ACIDPOOL_TOPLEFT,
-    EL_ACIDPOOL_TOPRIGHT,
-    EL_ACIDPOOL_BOTTOMLEFT,
-    EL_ACIDPOOL_BOTTOM,
-    EL_ACIDPOOL_BOTTOMRIGHT,
+    EL_ACID_POOL_TOPLEFT,
+    EL_ACID_POOL_TOPRIGHT,
+    EL_ACID_POOL_BOTTOMLEFT,
+    EL_ACID_POOL_BOTTOM,
+    EL_ACID_POOL_BOTTOMRIGHT,
     EL_MAGIC_WALL,
     EL_MAGIC_WALL_DEAD,
     EL_BD_MAGIC_WALL,
@@ -2150,47 +2247,47 @@ void InitElementProperties()
     EL_BLOCKED,
     EL_SP_EMPTY,
     EL_SP_BASE,
-    EL_SP_PORT1_RIGHT,
-    EL_SP_PORT1_DOWN,
-    EL_SP_PORT1_LEFT,
-    EL_SP_PORT1_UP,
-    EL_SP_PORT2_RIGHT,
-    EL_SP_PORT2_DOWN,
-    EL_SP_PORT2_LEFT,
-    EL_SP_PORT2_UP,
-    EL_SP_PORT_X,
-    EL_SP_PORT_Y,
-    EL_SP_PORT_XY,
+    EL_SP_PORT_RIGHT,
+    EL_SP_PORT_DOWN,
+    EL_SP_PORT_LEFT,
+    EL_SP_PORT_UP,
+    EL_SP_GRAVITY_PORT_RIGHT,
+    EL_SP_GRAVITY_PORT_DOWN,
+    EL_SP_GRAVITY_PORT_LEFT,
+    EL_SP_GRAVITY_PORT_UP,
+    EL_SP_PORT_HORIZONTAL,
+    EL_SP_PORT_VERTICAL,
+    EL_SP_PORT_ANY,
     EL_SP_DISK_RED,
     EL_SP_DISK_YELLOW,
     EL_SP_CHIP_SINGLE,
     EL_SP_CHIP_LEFT,
     EL_SP_CHIP_RIGHT,
-    EL_SP_CHIP_UPPER,
-    EL_SP_CHIP_LOWER,
-    EL_SP_HARD_GRAY,
-    EL_SP_HARD_GREEN,
-    EL_SP_HARD_BLUE,
-    EL_SP_HARD_RED,
-    EL_SP_HARD_YELLOW,
-    EL_SP_HARD_BASE1,
-    EL_SP_HARD_BASE2,
-    EL_SP_HARD_BASE3,
-    EL_SP_HARD_BASE4,
-    EL_SP_HARD_BASE5,
-    EL_SP_HARD_BASE6,
-    EL_CONVEYOR_BELT1_SWITCH_LEFT,
-    EL_CONVEYOR_BELT1_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT1_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT2_SWITCH_LEFT,
-    EL_CONVEYOR_BELT2_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT2_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT3_SWITCH_LEFT,
-    EL_CONVEYOR_BELT3_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT3_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT4_SWITCH_LEFT,
-    EL_CONVEYOR_BELT4_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT4_SWITCH_RIGHT,
+    EL_SP_CHIP_TOP,
+    EL_SP_CHIP_BOTTOM,
+    EL_SP_HARDWARE_GRAY,
+    EL_SP_HARDWARE_GREEN,
+    EL_SP_HARDWARE_BLUE,
+    EL_SP_HARDWARE_RED,
+    EL_SP_HARDWARE_YELLOW,
+    EL_SP_HARDWARE_BASE_1,
+    EL_SP_HARDWARE_BASE_2,
+    EL_SP_HARDWARE_BASE_3,
+    EL_SP_HARDWARE_BASE_4,
+    EL_SP_HARDWARE_BASE_5,
+    EL_SP_HARDWARE_BASE_6,
+    EL_CONVEYOR_BELT_1_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_1_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_1_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_2_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_2_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_2_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_3_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_3_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_3_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_4_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_4_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_4_SWITCH_RIGHT,
     EL_SIGN_EXCLAMATION,
     EL_SIGN_RADIOACTIVITY,
     EL_SIGN_STOP,
@@ -2204,18 +2301,18 @@ void InitElementProperties()
     EL_SIGN_YINYANG,
     EL_SIGN_OTHER,
     EL_STEELWALL_SLANTED,
-    EL_EMC_STEELWALL1,
-    EL_EMC_STEELWALL2,
-    EL_EMC_STEELWALL3,
-    EL_EMC_STEELWALL4,
-    EL_EMC_WALL_PILLAR_UPPER,
-    EL_EMC_WALL_PILLAR_MIDDLE,
-    EL_EMC_WALL_PILLAR_LOWER,
-    EL_EMC_WALL4,
-    EL_EMC_WALL5,
-    EL_EMC_WALL6,
-    EL_EMC_WALL7,
-    EL_EMC_WALL8
+    EL_EMC_STEELWALL_1,
+    EL_EMC_STEELWALL_2,
+    EL_EMC_STEELWALL_3,
+    EL_EMC_STEELWALL_4,
+    EL_EMC_WALL_1,
+    EL_EMC_WALL_2,
+    EL_EMC_WALL_3,
+    EL_EMC_WALL_4,
+    EL_EMC_WALL_5,
+    EL_EMC_WALL_6,
+    EL_EMC_WALL_7,
+    EL_EMC_WALL_8
   };
   static int ep_inactive_num = SIZEOF_ARRAY_INT(ep_inactive);
 
@@ -2224,13 +2321,13 @@ void InitElementProperties()
     EL_BOMB,
     EL_DYNAMITE_ACTIVE,
     EL_DYNAMITE,
-    EL_DYNABOMB_PLAYER1_ACTIVE,
-    EL_DYNABOMB_PLAYER2_ACTIVE,
-    EL_DYNABOMB_PLAYER3_ACTIVE,
-    EL_DYNABOMB_PLAYER4_ACTIVE,
-    EL_DYNABOMB_NR,
-    EL_DYNABOMB_SZ,
-    EL_DYNABOMB_XL,
+    EL_DYNABOMB_PLAYER_1_ACTIVE,
+    EL_DYNABOMB_PLAYER_2_ACTIVE,
+    EL_DYNABOMB_PLAYER_3_ACTIVE,
+    EL_DYNABOMB_PLAYER_4_ACTIVE,
+    EL_DYNABOMB_INCREASE_NUMBER,
+    EL_DYNABOMB_INCREASE_SIZE,
+    EL_DYNABOMB_INCREASE_POWER,
     EL_SP_DISK_RED_ACTIVE,
     EL_BUG,
     EL_MOLE,
@@ -2281,10 +2378,10 @@ void InitElementProperties()
 
   static int ep_player[] =
   {
-    EL_PLAYER1,
-    EL_PLAYER2,
-    EL_PLAYER3,
-    EL_PLAYER4
+    EL_PLAYER_1,
+    EL_PLAYER_2,
+    EL_PLAYER_3,
+    EL_PLAYER_4
   };
   static int ep_player_num = SIZEOF_ARRAY_INT(ep_player);
 
@@ -2318,41 +2415,41 @@ void InitElementProperties()
     EL_SP_MURPHY,
     EL_SP_INFOTRON,
     EL_SP_CHIP_SINGLE,
-    EL_SP_HARD_GRAY,
+    EL_SP_HARDWARE_GRAY,
     EL_SP_EXIT_CLOSED,
     EL_SP_EXIT_OPEN,
     EL_SP_DISK_ORANGE,
-    EL_SP_PORT1_RIGHT,
-    EL_SP_PORT1_DOWN,
-    EL_SP_PORT1_LEFT,
-    EL_SP_PORT1_UP,
-    EL_SP_PORT2_RIGHT,
-    EL_SP_PORT2_DOWN,
-    EL_SP_PORT2_LEFT,
-    EL_SP_PORT2_UP,
+    EL_SP_PORT_RIGHT,
+    EL_SP_PORT_DOWN,
+    EL_SP_PORT_LEFT,
+    EL_SP_PORT_UP,
+    EL_SP_GRAVITY_PORT_RIGHT,
+    EL_SP_GRAVITY_PORT_DOWN,
+    EL_SP_GRAVITY_PORT_LEFT,
+    EL_SP_GRAVITY_PORT_UP,
     EL_SP_SNIKSNAK,
     EL_SP_DISK_YELLOW,
     EL_SP_TERMINAL,
     EL_SP_DISK_RED,
-    EL_SP_PORT_Y,
-    EL_SP_PORT_X,
-    EL_SP_PORT_XY,
+    EL_SP_PORT_VERTICAL,
+    EL_SP_PORT_HORIZONTAL,
+    EL_SP_PORT_ANY,
     EL_SP_ELECTRON,
     EL_SP_BUGGY_BASE,
     EL_SP_CHIP_LEFT,
     EL_SP_CHIP_RIGHT,
-    EL_SP_HARD_BASE1,
-    EL_SP_HARD_GREEN,
-    EL_SP_HARD_BLUE,
-    EL_SP_HARD_RED,
-    EL_SP_HARD_YELLOW,
-    EL_SP_HARD_BASE2,
-    EL_SP_HARD_BASE3,
-    EL_SP_HARD_BASE4,
-    EL_SP_HARD_BASE5,
-    EL_SP_HARD_BASE6,
-    EL_SP_CHIP_UPPER,
-    EL_SP_CHIP_LOWER,
+    EL_SP_HARDWARE_BASE_1,
+    EL_SP_HARDWARE_GREEN,
+    EL_SP_HARDWARE_BLUE,
+    EL_SP_HARDWARE_RED,
+    EL_SP_HARDWARE_YELLOW,
+    EL_SP_HARDWARE_BASE_2,
+    EL_SP_HARDWARE_BASE_3,
+    EL_SP_HARDWARE_BASE_4,
+    EL_SP_HARDWARE_BASE_5,
+    EL_SP_HARDWARE_BASE_6,
+    EL_SP_CHIP_TOP,
+    EL_SP_CHIP_BOTTOM,
     /* additional elements that appeared in newer Supaplex levels */
     EL_INVISIBLE_WALL,
     /* more than one murphy in a level results in an inactive clone */
@@ -2362,25 +2459,25 @@ void InitElementProperties()
 
   static int ep_quick_gate[] =
   {
-    EL_EM_GATE1,
-    EL_EM_GATE2,
-    EL_EM_GATE3,
-    EL_EM_GATE4,
-    EL_EM_GATE1_GRAY,
-    EL_EM_GATE2_GRAY,
-    EL_EM_GATE3_GRAY,
-    EL_EM_GATE4_GRAY,
-    EL_SP_PORT1_LEFT,
-    EL_SP_PORT2_LEFT,
-    EL_SP_PORT1_RIGHT,
-    EL_SP_PORT2_RIGHT,
-    EL_SP_PORT1_UP,
-    EL_SP_PORT2_UP,
-    EL_SP_PORT1_DOWN,
-    EL_SP_PORT2_DOWN,
-    EL_SP_PORT_X,
-    EL_SP_PORT_Y,
-    EL_SP_PORT_XY,
+    EL_EM_GATE_1,
+    EL_EM_GATE_2,
+    EL_EM_GATE_3,
+    EL_EM_GATE_4,
+    EL_EM_GATE_1_GRAY,
+    EL_EM_GATE_2_GRAY,
+    EL_EM_GATE_3_GRAY,
+    EL_EM_GATE_4_GRAY,
+    EL_SP_PORT_LEFT,
+    EL_SP_PORT_RIGHT,
+    EL_SP_PORT_UP,
+    EL_SP_PORT_DOWN,
+    EL_SP_GRAVITY_PORT_LEFT,
+    EL_SP_GRAVITY_PORT_RIGHT,
+    EL_SP_GRAVITY_PORT_UP,
+    EL_SP_GRAVITY_PORT_DOWN,
+    EL_SP_PORT_HORIZONTAL,
+    EL_SP_PORT_VERTICAL,
+    EL_SP_PORT_ANY,
     EL_SWITCHGATE_OPEN,
     EL_TIMEGATE_OPEN
   };
@@ -2388,18 +2485,18 @@ void InitElementProperties()
 
   static int ep_over_player[] =
   {
-    EL_SP_PORT1_LEFT,
-    EL_SP_PORT2_LEFT,
-    EL_SP_PORT1_RIGHT,
-    EL_SP_PORT2_RIGHT,
-    EL_SP_PORT1_UP,
-    EL_SP_PORT2_UP,
-    EL_SP_PORT1_DOWN,
-    EL_SP_PORT2_DOWN,
-    EL_SP_PORT_X,
-    EL_SP_PORT_Y,
-    EL_SP_PORT_XY,
-    EL_TUBE_ALL,
+    EL_SP_PORT_LEFT,
+    EL_SP_PORT_RIGHT,
+    EL_SP_PORT_UP,
+    EL_SP_PORT_DOWN,
+    EL_SP_GRAVITY_PORT_LEFT,
+    EL_SP_GRAVITY_PORT_RIGHT,
+    EL_SP_GRAVITY_PORT_UP,
+    EL_SP_GRAVITY_PORT_DOWN,
+    EL_SP_PORT_HORIZONTAL,
+    EL_SP_PORT_VERTICAL,
+    EL_SP_PORT_ANY,
+    EL_TUBE_ANY,
     EL_TUBE_VERTICAL,
     EL_TUBE_HORIZONTAL,
     EL_TUBE_VERTICAL_LEFT,
@@ -2416,68 +2513,68 @@ void InitElementProperties()
   static int ep_active_bomb[] =
   {
     EL_DYNAMITE_ACTIVE,
-    EL_DYNABOMB_PLAYER1_ACTIVE,
-    EL_DYNABOMB_PLAYER2_ACTIVE,
-    EL_DYNABOMB_PLAYER3_ACTIVE,
-    EL_DYNABOMB_PLAYER4_ACTIVE,
+    EL_DYNABOMB_PLAYER_1_ACTIVE,
+    EL_DYNABOMB_PLAYER_2_ACTIVE,
+    EL_DYNABOMB_PLAYER_3_ACTIVE,
+    EL_DYNABOMB_PLAYER_4_ACTIVE,
     EL_SP_DISK_RED_ACTIVE
   };
   static int ep_active_bomb_num = SIZEOF_ARRAY_INT(ep_active_bomb);
 
   static int ep_belt[] =
   {
-    EL_CONVEYOR_BELT1_LEFT,
-    EL_CONVEYOR_BELT1_MIDDLE,
-    EL_CONVEYOR_BELT1_RIGHT,
-    EL_CONVEYOR_BELT2_LEFT,
-    EL_CONVEYOR_BELT2_MIDDLE,
-    EL_CONVEYOR_BELT2_RIGHT,
-    EL_CONVEYOR_BELT3_LEFT,
-    EL_CONVEYOR_BELT3_MIDDLE,
-    EL_CONVEYOR_BELT3_RIGHT,
-    EL_CONVEYOR_BELT4_LEFT,
-    EL_CONVEYOR_BELT4_MIDDLE,
-    EL_CONVEYOR_BELT4_RIGHT,
+    EL_CONVEYOR_BELT_1_LEFT,
+    EL_CONVEYOR_BELT_1_MIDDLE,
+    EL_CONVEYOR_BELT_1_RIGHT,
+    EL_CONVEYOR_BELT_2_LEFT,
+    EL_CONVEYOR_BELT_2_MIDDLE,
+    EL_CONVEYOR_BELT_2_RIGHT,
+    EL_CONVEYOR_BELT_3_LEFT,
+    EL_CONVEYOR_BELT_3_MIDDLE,
+    EL_CONVEYOR_BELT_3_RIGHT,
+    EL_CONVEYOR_BELT_4_LEFT,
+    EL_CONVEYOR_BELT_4_MIDDLE,
+    EL_CONVEYOR_BELT_4_RIGHT,
   };
   static int ep_belt_num = SIZEOF_ARRAY_INT(ep_belt);
 
   static int ep_belt_active[] =
   {
-    EL_CONVEYOR_BELT1_LEFT_ACTIVE,
-    EL_CONVEYOR_BELT1_MIDDLE_ACTIVE,
-    EL_CONVEYOR_BELT1_RIGHT_ACTIVE,
-    EL_CONVEYOR_BELT2_LEFT_ACTIVE,
-    EL_CONVEYOR_BELT2_MIDDLE_ACTIVE,
-    EL_CONVEYOR_BELT2_RIGHT_ACTIVE,
-    EL_CONVEYOR_BELT3_LEFT_ACTIVE,
-    EL_CONVEYOR_BELT3_MIDDLE_ACTIVE,
-    EL_CONVEYOR_BELT3_RIGHT_ACTIVE,
-    EL_CONVEYOR_BELT4_LEFT_ACTIVE,
-    EL_CONVEYOR_BELT4_MIDDLE_ACTIVE,
-    EL_CONVEYOR_BELT4_RIGHT_ACTIVE,
+    EL_CONVEYOR_BELT_1_LEFT_ACTIVE,
+    EL_CONVEYOR_BELT_1_MIDDLE_ACTIVE,
+    EL_CONVEYOR_BELT_1_RIGHT_ACTIVE,
+    EL_CONVEYOR_BELT_2_LEFT_ACTIVE,
+    EL_CONVEYOR_BELT_2_MIDDLE_ACTIVE,
+    EL_CONVEYOR_BELT_2_RIGHT_ACTIVE,
+    EL_CONVEYOR_BELT_3_LEFT_ACTIVE,
+    EL_CONVEYOR_BELT_3_MIDDLE_ACTIVE,
+    EL_CONVEYOR_BELT_3_RIGHT_ACTIVE,
+    EL_CONVEYOR_BELT_4_LEFT_ACTIVE,
+    EL_CONVEYOR_BELT_4_MIDDLE_ACTIVE,
+    EL_CONVEYOR_BELT_4_RIGHT_ACTIVE,
   };
   static int ep_belt_active_num = SIZEOF_ARRAY_INT(ep_belt_active);
 
   static int ep_belt_switch[] =
   {
-    EL_CONVEYOR_BELT1_SWITCH_LEFT,
-    EL_CONVEYOR_BELT1_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT1_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT2_SWITCH_LEFT,
-    EL_CONVEYOR_BELT2_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT2_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT3_SWITCH_LEFT,
-    EL_CONVEYOR_BELT3_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT3_SWITCH_RIGHT,
-    EL_CONVEYOR_BELT4_SWITCH_LEFT,
-    EL_CONVEYOR_BELT4_SWITCH_MIDDLE,
-    EL_CONVEYOR_BELT4_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_1_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_1_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_1_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_2_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_2_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_2_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_3_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_3_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_3_SWITCH_RIGHT,
+    EL_CONVEYOR_BELT_4_SWITCH_LEFT,
+    EL_CONVEYOR_BELT_4_SWITCH_MIDDLE,
+    EL_CONVEYOR_BELT_4_SWITCH_RIGHT,
   };
   static int ep_belt_switch_num = SIZEOF_ARRAY_INT(ep_belt_switch);
 
   static int ep_tube[] =
   {
-    EL_TUBE_ALL,
+    EL_TUBE_ANY,
     EL_TUBE_VERTICAL,
     EL_TUBE_HORIZONTAL,
     EL_TUBE_VERTICAL_LEFT,
index 2bc5444c0c5daebff2abc914c6b7a78889acebb8..e5cdfe26da8efec03bb294f2c2218c7081074b01 100644 (file)
@@ -429,6 +429,7 @@ char *getPath2(char *path1, char *path2)
                                       strlen(path2) + 1);
 
   sprintf(complete_path, "%s/%s", path1, path2);
+
   return complete_path;
 }
 
@@ -439,6 +440,7 @@ char *getPath3(char *path1, char *path2, char *path3)
                                       strlen(path3) + 1);
 
   sprintf(complete_path, "%s/%s/%s", path1, path2, path3);
+
   return complete_path;
 }
 
@@ -447,6 +449,7 @@ char *getStringCat2(char *s1, char *s2)
   char *complete_string = checked_malloc(strlen(s1) + strlen(s2) + 1);
 
   sprintf(complete_string, "%s%s", s1, s2);
+
   return complete_string;
 }
 
@@ -458,8 +461,8 @@ char *getStringCopy(char *s)
     return NULL;
 
   s_copy = checked_malloc(strlen(s) + 1);
-
   strcpy(s_copy, s);
+
   return s_copy;
 }
 
index a23f03f0010c4007851dfb1c7b92a855e296fa9b..feb41d4739eaf020a73c7ea3ea3b165797874791 100644 (file)
 #define SOUND_MAX_LEFT2RIGHT           255
 #define SOUND_MIDDLE                   (SOUND_MAX_LEFT2RIGHT / 2)
 
-/* value for undefined sound effect filename */
-#define SND_FILE_UNDEFINED             UNDEFINED_FILENAME
-
 
 /* general sound functions */
 void UnixOpenAudio(void);
index e4206751ca2c707dea905b4409477e46205cb7be..e4f9e1923958d3573d01d802540633bdd5bd0ba7 100644 (file)
@@ -100,6 +100,8 @@ struct SoundInfo       *sound_info = NULL;
 
 struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
 {
+  /* keyword to start parser: "ELEMENT_INFO_START" <-- do not change! */
+
   /* ----------------------------------------------------------------------- */
   /* "real" level file elements                                              */
   /* ----------------------------------------------------------------------- */
@@ -235,8 +237,8 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "nut with emerald"
   },
   {
-    "gameoflife",
-    "gameoflife",
+    "game_of_life",
+    "game_of_life",
     "Conway's wall of life"
   },
   {
@@ -265,60 +267,60 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "magic wheel (running)"
   },
   {
-    "key1",
+    "key_1",
     "key",
     "red key"
   },
   {
-    "key2",
+    "key_2",
     "key",
     "yellow key"
   },
   {
-    "key3",
+    "key_3",
     "key",
     "green key"
   },
   {
-    "key4",
+    "key_4",
     "key",
     "blue key"
   },
   {
-    "gate1",
+    "gate_1",
     "gate",
     "red door"
   },
   {
-    "gate2",
+    "gate_2",
     "gate",
     "yellow door"
   },
   {
-    "gate3",
+    "gate_3",
     "gate",
     "green door"
   },
   {
-    "gate4",
+    "gate_4",
     "gate",
     "blue door"
   },
   {
-    "gate1_gray",
+    "gate_1_gray",
     "gate",
     "gray door (opened by red key)"
   },
   {
-    "gate2_gray",
+    "gate_2_gray",
     "gate",
     "gray door (opened by yellow key)"},
   {
-    "gate3_gray",
+    "gate_3_gray",
     "gate",
     "gray door (opened by green key)"},
   {
-    "gate4_gray",
+    "gate_4_gray",
     "gate",
     "gray door (opened by blue key)"},
   {
@@ -377,7 +379,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "time orb (empty)"
   },
   {
-    "wall_growing",
+    "expandable_wall",
     "wall",
     "growing wall"
   },
@@ -422,33 +424,33 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "(not used)"
   },
   {
-    "dynabomb_nr",
-    "dynabomb_nr",
+    "dynabomb_increase_number",
+    "dynabomb",
     "increases number of bombs"
   },
   {
-    "dynabomb_sz",
-    "dynabomb_sz",
+    "dynabomb_increase_size",
+    "dynabomb",
     "increases explosion size"
   },
   {
-    "dynabomb_xl",
-    "dynabomb_xl",
+    "dynabomb_increase_power",
+    "dynabomb",
     "increases power of explosion"
   },
   {
     "sokoban_object",
-    "sokoban_object",
+    "sokoban",
     "sokoban object"
   },
   {
     "sokoban_field_empty",
-    "sokoban_field",
+    "sokoban",
     "sokoban empty field"
   },
   {
     "sokoban_field_full",
-    "sokoban_field",
+    "sokoban",
     "sokoban field with object"
   },
   {
@@ -499,22 +501,22 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "firefly"
   },
   {
-    "player1",
+    "player_1",
     "player",
     "yellow player"
   },
   {
-    "player2",
+    "player_2",
     "player",
     "red player"
   },
   {
-    "player3",
+    "player_3",
     "player",
     "green player"
   },
   {
-    "player4",
+    "player_4",
     "player",
     "blue player"
   },
@@ -596,27 +598,27 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "wall with purple emerald"
   },
   {
-    "acidpool_topleft",
+    "acid_pool_topleft",
     "wall",
     "acid pool (top left)"
   },
   {
-    "acidpool_topright",
+    "acid_pool_topright",
     "wall",
     "acid pool (top right)"
   },
   {
-    "acidpool_bottomleft",
+    "acid_pool_bottomleft",
     "wall",
     "acid pool (bottom left)"
   },
   {
-    "acidpool_bottom",
+    "acid_pool_bottom",
     "wall",
     "acid pool (bottom)"
   },
   {
-    "acidpool_bottomright",
+    "acid_pool_bottomright",
     "wall",
     "acid pool (bottom right)"
   },
@@ -638,7 +640,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
   {
     "black_orb",
     "black_orb",
-    "black orb bomb"
+    "bomb"
   },
   {
     "amoeba_to_diamond",
@@ -661,22 +663,22 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "satellite"
   },
   {
-    "arrow_blue_left",
+    "arrow_left",
     "arrow",
     "arrow left"
   },
   {
-    "arrow_blue_right",
+    "arrow_right",
     "arrow",
     "arrow right"
   },
   {
-    "arrow_blue_up",
+    "arrow_up",
     "arrow",
     "arrow up"
   },
   {
-    "arrow_blue_down",
+    "arrow_down",
     "arrow",
     "arrow down"
   },
@@ -691,7 +693,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "fire breathing dragon"
   },
   {
-    "em_key1_file",
+    "em_key_1_file",
     "key",
     "red key (EM style)"
   },
@@ -1096,52 +1098,52 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "letter ''"
   },
   {
-    "wall_growing_x",
+    "expandable_wall_horizontal",
     "wall",
     "growing wall (horizontal)"
   },
   {
-    "wall_growing_y",
+    "expandable_wall_vertical",
     "wall",
     "growing wall (vertical)"
   },
   {
-    "wall_growing_xy",
+    "expandable_wall_any",
     "wall",
-    "growing wall (all directions)"
+    "growing wall (any direction)"
   },
   {
-    "em_gate1",
+    "em_gate_1",
     "gate",
     "red door (EM style)"
   },
   {
-    "em_gate2",
+    "em_gate_2",
     "gate",
     "yellow door (EM style)"
   },
   {
-    "em_gate3",
+    "em_gate_3",
     "gate",
     "green door (EM style)"
   },
   {
-    "em_gate4",
+    "em_gate_4",
     "gate",
     "blue door (EM style)"
   },
   {
-    "em_key2_file",
+    "em_key_2_file",
     "key",
     "yellow key (EM style)"
   },
   {
-    "em_key3_file",
+    "em_key_3_file",
     "key",
     "green key (EM style)"
   },
   {
-    "em_key4_file",
+    "em_key_4_file",
     "key",
     "blue key (EM style)"
   },
@@ -1176,7 +1178,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "chip (single)"
   },
   {
-    "sp_hard_gray",
+    "sp_hardware_gray",
     "wall",
     "hardware"
   },
@@ -1191,42 +1193,42 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "orange disk"
   },
   {
-    "sp_port1_right",
+    "sp_port_right",
     "sp_port",
     "port (leading right)"
   },
   {
-    "sp_port1_down",
+    "sp_port_down",
     "sp_port",
     "port (leading down)"
   },
   {
-    "sp_port1_left",
+    "sp_port_left",
     "sp_port",
     "port (leading left)"
   },
   {
-    "sp_port1_up",
+    "sp_port_up",
     "sp_port",
     "port (leading up)"
   },
   {
-    "sp_port2_right",
+    "sp_gravity_port_right",
     "sp_port",
     "port (leading right)"
   },
   {
-    "sp_port2_down",
+    "sp_gravity_port_down",
     "sp_port",
     "port (leading down)"
   },
   {
-    "sp_port2_left",
+    "sp_gravity_port_left",
     "sp_port",
     "port (leading left)"
   },
   {
-    "sp_port2_up",
+    "sp_gravity_port_up",
     "sp_port",
     "port (leading up)"
   },
@@ -1247,23 +1249,23 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
   },
   {
     "sp_disk_red",
-    "sp_disk_red",
+    "dynamite",
     "red disk"
   },
   {
-    "sp_port_y",
+    "sp_port_vertical",
     "sp_port",
     "port (vertical)"
   },
   {
-    "sp_port_x",
+    "sp_port_horizontal",
     "sp_port",
     "port (horizontal)"
   },
   {
-    "sp_port_xy",
+    "sp_port_any",
     "sp_port",
-    "port (all directions)"
+    "port (any direction)"
   },
   {
     "sp_electron",
@@ -1286,82 +1288,82 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "chip (right half)"
   },
   {
-    "sp_hard_base1",
+    "sp_hardware_base_1",
     "wall",
     "hardware"
   },
   {
-    "sp_hard_green",
+    "sp_hardware_green",
     "wall",
     "hardware"
   },
   {
-    "sp_hard_blue",
+    "sp_hardware_blue",
     "wall",
     "hardware"
   },
   {
-    "sp_hard_red",
+    "sp_hardware_red",
     "wall",
     "hardware"
   },
   {
-    "sp_hard_yellow",
+    "sp_hardware_yellow",
     "wall",
     "hardware"
   },
   {
-    "sp_hard_base2",
+    "sp_hardware_base_2",
     "wall",
     "hardware"
   },
   {
-    "sp_hard_base3",
+    "sp_hardware_base_3",
     "wall",
     "hardware"
   },
   {
-    "sp_hard_base4",
+    "sp_hardware_base_4",
     "wall",
     "hardware"
   },
   {
-    "sp_hard_base5",
+    "sp_hardware_base_5",
     "wall",
     "hardware"
   },
   {
-    "sp_hard_base6",
+    "sp_hardware_base_6",
     "wall",
     "hardware"
   },
   {
-    "sp_chip_upper",
+    "sp_chip_top",
     "wall",
     "chip (upper half)"
   },
   {
-    "sp_chip_lower",
+    "sp_chip_bottom",
     "wall",
     "chip (lower half)"
   },
   {
-    "em_gate1_gray",
+    "em_gate_1_gray",
     "gate",
     "gray door (EM style, red key)"
   },
   {
-    "em_gate2_gray",
+    "em_gate_2_gray",
     "gate",
     "gray door (EM style, yellow key)"
   },
   {
-    "em_gate3_gray",
+    "em_gate_3_gray",
     "gate",
     "gray door (EM style, green key)"
   },
   {
-    "em_gate4_gray",
+    "em_gate_4_gray",
     "gate",
     "gray door (EM style, blue key)"
   },
@@ -1451,122 +1453,122 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "-"
   },
   {
-    "conveyor_belt1_left",
+    "conveyor_belt_1_left",
     "conveyor_belt",
     "red conveyor belt (left)"
   },
   {
-    "conveyor_belt1_middle",
+    "conveyor_belt_1_middle",
     "conveyor_belt",
     "red conveyor belt (middle)"
   },
   {
-    "conveyor_belt1_right",
+    "conveyor_belt_1_right",
     "conveyor_belt",
     "red conveyor belt (right)"
   },
   {
-    "conveyor_belt1_switch_left",
+    "conveyor_belt_1_switch_left",
     "conveyor_belt_switch",
     "switch for red conveyor belt (left)"
   },
   {
-    "conveyor_belt1_switch_middle",
+    "conveyor_belt_1_switch_middle",
     "conveyor_belt_switch",
     "switch for red conveyor belt (middle)"
   },
   {
-    "conveyor_belt1_switch_right",
+    "conveyor_belt_1_switch_right",
     "conveyor_belt_switch",
     "switch for red conveyor belt (right)"
   },
   {
-    "conveyor_belt2_left",
+    "conveyor_belt_2_left",
     "conveyor_belt",
     "yellow conveyor belt (left)"
   },
   {
-    "conveyor_belt2_middle",
+    "conveyor_belt_2_middle",
     "conveyor_belt",
     "yellow conveyor belt (middle)"
   },
   {
-    "conveyor_belt2_right",
+    "conveyor_belt_2_right",
     "conveyor_belt",
     "yellow conveyor belt (right)"
   },
   {
-    "conveyor_belt2_switch_left",
+    "conveyor_belt_2_switch_left",
     "conveyor_belt_switch",
     "switch for yellow conveyor belt (left)"
   },
   {
-    "conveyor_belt2_switch_middle",
+    "conveyor_belt_2_switch_middle",
     "conveyor_belt_switch",
     "switch for yellow conveyor belt (middle)"
   },
   {
-    "conveyor_belt2_switch_right",
+    "conveyor_belt_2_switch_right",
     "conveyor_belt_switch",
     "switch for yellow conveyor belt (right)"
   },
   {
-    "conveyor_belt3_left",
+    "conveyor_belt_3_left",
     "conveyor_belt",
     "green conveyor belt (left)"
   },
   {
-    "conveyor_belt3_middle",
+    "conveyor_belt_3_middle",
     "conveyor_belt",
     "green conveyor belt (middle)"
   },
   {
-    "conveyor_belt3_right",
+    "conveyor_belt_3_right",
     "conveyor_belt",
     "green conveyor belt (right)"
   },
   {
-    "conveyor_belt3_switch_left",
+    "conveyor_belt_3_switch_left",
     "conveyor_belt_switch",
     "switch for green conveyor belt (left)"
   },
   {
-    "conveyor_belt3_switch_middle",
+    "conveyor_belt_3_switch_middle",
     "conveyor_belt_switch",
     "switch for green conveyor belt (middle)"
   },
   {
-    "conveyor_belt3_switch_right",
+    "conveyor_belt_3_switch_right",
     "conveyor_belt_switch",
     "switch for green conveyor belt (right)"
   },
   {
-    "conveyor_belt4_left",
+    "conveyor_belt_4_left",
     "conveyor_belt",
     "blue conveyor belt (left)"
   },
   {
-    "conveyor_belt4_middle",
+    "conveyor_belt_4_middle",
     "conveyor_belt",
     "blue conveyor belt (middle)"
   },
   {
-    "conveyor_belt4_right",
+    "conveyor_belt_4_right",
     "conveyor_belt",
     "blue conveyor belt (right)"
   },
   {
-    "conveyor_belt4_switch_left",
+    "conveyor_belt_4_switch_left",
     "conveyor_belt_switch",
     "switch for blue conveyor belt (left)"
   },
   {
-    "conveyor_belt4_switch_middle",
+    "conveyor_belt_4_switch_middle",
     "conveyor_belt_switch",
     "switch for blue conveyor belt (middle)"
   },
   {
-    "conveyor_belt4_switch_right",
+    "conveyor_belt_4_switch_right",
     "conveyor_belt_switch",
     "switch for blue conveyor belt (right)"
   },
@@ -1731,94 +1733,94 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "balloon"
   },
   {
-    "balloon_send_left",
+    "balloon_switch_left",
     "balloon_switch",
     "send balloon to the left"
   },
   {
-    "balloon_send_right",
+    "balloon_switch_right",
     "balloon_switch",
     "send balloon to the right"
   },
   {
-    "balloon_send_up",
+    "balloon_switch_up",
     "balloon_switch",
     "send balloon up"
   },
   {
-    "balloon_send_down",
+    "balloon_switch_down",
     "balloon_switch",
     "send balloon down"
   },
   {
-    "balloon_send_any_direction",
+    "balloon_switch_any",
     "balloon_switch",
     "send balloon in any direction"
   },
   {
-    "emc_steelwall1",
+    "emc_steelwall_1",
     "wall",
     "steel wall"
   },
   {
-    "emc_steelwall2",
+    "emc_steelwall_2",
     "wall",
     "steel wall"
   },
   {
-    "emc_steelwall3",
+    "emc_steelwall_3",
     "wall",
     "steel wall"
   },
   {
-    "emc_steelwall4",
+    "emc_steelwall_4",
     "wall",
     "steel wall"
   },
   {
-    "emc_wall_pillar_upper",
+    "emc_wall_1",
     "wall",
     "normal wall"
   },
   {
-    "emc_wall_pillar_middle",
+    "emc_wall_2",
     "wall",
     "normal wall"
   },
   {
-    "emc_wall_pillar_lower",
+    "emc_wall_3",
     "wall",
     "normal wall"
   },
   {
-    "emc_wall4",
+    "emc_wall_4",
     "wall",
     "normal wall"
   },
   {
-    "emc_wall5",
+    "emc_wall_5",
     "wall",
     "normal wall"
   },
   {
-    "emc_wall6",
+    "emc_wall_6",
     "wall",
     "normal wall"
   },
   {
-    "emc_wall7",
+    "emc_wall_7",
     "wall",
     "normal wall"
   },
   {
-    "emc_wall8",
+    "emc_wall_8",
     "wall",
     "normal wall"
   },
   {
-    "tube_all",
+    "tube_any",
     "tube",
-    "tube (all directions)"
+    "tube (any direction)"
   },
   {
     "tube_vertical",
@@ -1882,7 +1884,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
   },
   {
     "dx_supabomb",
-    "dx_bomb",
+    "bomb",
     "stable bomb (DX style)"
   },
   {
@@ -1897,642 +1899,642 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
   },
   {
     "custom_1",
-    "custom_1",
+    "custom",
     "custom element 1"
   },
   {
     "custom_2",
-    "custom_2",
+    "custom",
     "custom element 2"
   },
   {
     "custom_3",
-    "custom_3",
+    "custom",
     "custom element 3"
   },
   {
     "custom_4",
-    "custom_4",
+    "custom",
     "custom element 4"
   },
   {
     "custom_5",
-    "custom_5",
+    "custom",
     "custom element 5"
   },
   {
     "custom_6",
-    "custom_6",
+    "custom",
     "custom element 6"
   },
   {
     "custom_7",
-    "custom_7",
+    "custom",
     "custom element 7"
   },
   {
     "custom_8",
-    "custom_8",
+    "custom",
     "custom element 8"
   },
   {
     "custom_9",
-    "custom_9",
+    "custom",
     "custom element 9"
   },
   {
     "custom_10",
-    "custom_10",
+    "custom",
     "custom element 10"
   },
   {
     "custom_11",
-    "custom_11",
+    "custom",
     "custom element 11"
   },
   {
     "custom_12",
-    "custom_12",
+    "custom",
     "custom element 12"
   },
   {
     "custom_13",
-    "custom_13",
+    "custom",
     "custom element 13"
   },
   {
     "custom_14",
-    "custom_14",
+    "custom",
     "custom element 14"
   },
   {
     "custom_15",
-    "custom_15",
+    "custom",
     "custom element 15"
   },
   {
     "custom_16",
-    "custom_16",
+    "custom",
     "custom element 16"
   },
   {
     "custom_17",
-    "custom_17",
+    "custom",
     "custom element 17"
   },
   {
     "custom_18",
-    "custom_18",
+    "custom",
     "custom element 18"
   },
   {
     "custom_19",
-    "custom_19",
+    "custom",
     "custom element 19"
   },
   {
     "custom_20",
-    "custom_20",
+    "custom",
     "custom element 20"
   },
   {
     "custom_21",
-    "custom_21",
+    "custom",
     "custom element 21"
   },
   {
     "custom_22",
-    "custom_22",
+    "custom",
     "custom element 22"
   },
   {
     "custom_23",
-    "custom_23",
+    "custom",
     "custom element 23"
   },
   {
     "custom_24",
-    "custom_24",
+    "custom",
     "custom element 24"
   },
   {
     "custom_25",
-    "custom_25",
+    "custom",
     "custom element 25"
   },
   {
     "custom_26",
-    "custom_26",
+    "custom",
     "custom element 26"
   },
   {
     "custom_27",
-    "custom_27",
+    "custom",
     "custom element 27"
   },
   {
     "custom_28",
-    "custom_28",
+    "custom",
     "custom element 28"
   },
   {
     "custom_29",
-    "custom_29",
+    "custom",
     "custom element 29"
   },
   {
     "custom_30",
-    "custom_30",
+    "custom",
     "custom element 30"
   },
   {
     "custom_31",
-    "custom_31",
+    "custom",
     "custom element 31"
   },
   {
     "custom_32",
-    "custom_32",
+    "custom",
     "custom element 32"
   },
   {
     "custom_33",
-    "custom_33",
+    "custom",
     "custom element 33"
   },
   {
     "custom_34",
-    "custom_34",
+    "custom",
     "custom element 34"
   },
   {
     "custom_35",
-    "custom_35",
+    "custom",
     "custom element 35"
   },
   {
     "custom_36",
-    "custom_36",
+    "custom",
     "custom element 36"
   },
   {
     "custom_37",
-    "custom_37",
+    "custom",
     "custom element 37"
   },
   {
     "custom_38",
-    "custom_38",
+    "custom",
     "custom element 38"
   },
   {
     "custom_39",
-    "custom_39",
+    "custom",
     "custom element 39"
   },
   {
     "custom_40",
-    "custom_40",
+    "custom",
     "custom element 40"
   },
   {
     "custom_41",
-    "custom_41",
+    "custom",
     "custom element 41"
   },
   {
     "custom_42",
-    "custom_42",
+    "custom",
     "custom element 42"
   },
   {
     "custom_43",
-    "custom_43",
+    "custom",
     "custom element 43"
   },
   {
     "custom_44",
-    "custom_44",
+    "custom",
     "custom element 44"
   },
   {
     "custom_45",
-    "custom_45",
+    "custom",
     "custom element 45"
   },
   {
     "custom_46",
-    "custom_46",
+    "custom",
     "custom element 46"
   },
   {
     "custom_47",
-    "custom_47",
+    "custom",
     "custom element 47"
   },
   {
     "custom_48",
-    "custom_48",
+    "custom",
     "custom element 48"
   },
   {
     "custom_49",
-    "custom_49",
+    "custom",
     "custom element 49"
   },
   {
     "custom_50",
-    "custom_50",
+    "custom",
     "custom element 50"
   },
   {
     "custom_51",
-    "custom_51",
+    "custom",
     "custom element 51"
   },
   {
     "custom_52",
-    "custom_52",
+    "custom",
     "custom element 52"
   },
   {
     "custom_53",
-    "custom_53",
+    "custom",
     "custom element 53"
   },
   {
     "custom_54",
-    "custom_54",
+    "custom",
     "custom element 54"
   },
   {
     "custom_55",
-    "custom_55",
+    "custom",
     "custom element 55"
   },
   {
     "custom_56",
-    "custom_56",
+    "custom",
     "custom element 56"
   },
   {
     "custom_57",
-    "custom_57",
+    "custom",
     "custom element 57"
   },
   {
     "custom_58",
-    "custom_58",
+    "custom",
     "custom element 58"
   },
   {
     "custom_59",
-    "custom_59",
+    "custom",
     "custom element 59"
   },
   {
     "custom_60",
-    "custom_60",
+    "custom",
     "custom element 60"
   },
   {
     "custom_61",
-    "custom_61",
+    "custom",
     "custom element 61"
   },
   {
     "custom_62",
-    "custom_62",
+    "custom",
     "custom element 62"
   },
   {
     "custom_63",
-    "custom_63",
+    "custom",
     "custom element 63"
   },
   {
     "custom_64",
-    "custom_64",
+    "custom",
     "custom element 64"
   },
   {
     "custom_65",
-    "custom_65",
+    "custom",
     "custom element 65"
   },
   {
     "custom_66",
-    "custom_66",
+    "custom",
     "custom element 66"
   },
   {
     "custom_67",
-    "custom_67",
+    "custom",
     "custom element 67"
   },
   {
     "custom_68",
-    "custom_68",
+    "custom",
     "custom element 68"
   },
   {
     "custom_69",
-    "custom_69",
+    "custom",
     "custom element 69"
   },
   {
     "custom_70",
-    "custom_70",
+    "custom",
     "custom element 70"
   },
   {
     "custom_71",
-    "custom_71",
+    "custom",
     "custom element 71"
   },
   {
     "custom_72",
-    "custom_72",
+    "custom",
     "custom element 72"
   },
   {
     "custom_73",
-    "custom_73",
+    "custom",
     "custom element 73"
   },
   {
     "custom_74",
-    "custom_74",
+    "custom",
     "custom element 74"
   },
   {
     "custom_75",
-    "custom_75",
+    "custom",
     "custom element 75"
   },
   {
     "custom_76",
-    "custom_76",
+    "custom",
     "custom element 76"
   },
   {
     "custom_77",
-    "custom_77",
+    "custom",
     "custom element 77"
   },
   {
     "custom_78",
-    "custom_78",
+    "custom",
     "custom element 78"
   },
   {
     "custom_79",
-    "custom_79",
+    "custom",
     "custom element 79"
   },
   {
     "custom_80",
-    "custom_80",
+    "custom",
     "custom element 80"
   },
   {
     "custom_81",
-    "custom_81",
+    "custom",
     "custom element 81"
   },
   {
     "custom_82",
-    "custom_82",
+    "custom",
     "custom element 82"
   },
   {
     "custom_83",
-    "custom_83",
+    "custom",
     "custom element 83"
   },
   {
     "custom_84",
-    "custom_84",
+    "custom",
     "custom element 84"
   },
   {
     "custom_85",
-    "custom_85",
+    "custom",
     "custom element 85"
   },
   {
     "custom_86",
-    "custom_86",
+    "custom",
     "custom element 86"
   },
   {
     "custom_87",
-    "custom_87",
+    "custom",
     "custom element 87"
   },
   {
     "custom_88",
-    "custom_88",
+    "custom",
     "custom element 88"
   },
   {
     "custom_89",
-    "custom_89",
+    "custom",
     "custom element 89"
   },
   {
     "custom_90",
-    "custom_90",
+    "custom",
     "custom element 90"
   },
   {
     "custom_91",
-    "custom_91",
+    "custom",
     "custom element 91"
   },
   {
     "custom_92",
-    "custom_92",
+    "custom",
     "custom element 92"
   },
   {
     "custom_93",
-    "custom_93",
+    "custom",
     "custom element 93"
   },
   {
     "custom_94",
-    "custom_94",
+    "custom",
     "custom element 94"
   },
   {
     "custom_95",
-    "custom_95",
+    "custom",
     "custom element 95"
   },
   {
     "custom_96",
-    "custom_96",
+    "custom",
     "custom element 96"
   },
   {
     "custom_97",
-    "custom_97",
+    "custom",
     "custom element 97"
   },
   {
     "custom_98",
-    "custom_98",
+    "custom",
     "custom element 98"
   },
   {
     "custom_99",
-    "custom_99",
+    "custom",
     "custom element 99"
   },
   {
     "custom_100",
-    "custom_100",
+    "custom",
     "custom element 100"
   },
   {
     "custom_101",
-    "custom_101",
+    "custom",
     "custom element 101"
   },
   {
     "custom_102",
-    "custom_102",
+    "custom",
     "custom element 102"
   },
   {
     "custom_103",
-    "custom_103",
+    "custom",
     "custom element 103"
   },
   {
     "custom_104",
-    "custom_104",
+    "custom",
     "custom element 104"
   },
   {
     "custom_105",
-    "custom_105",
+    "custom",
     "custom element 105"
   },
   {
     "custom_106",
-    "custom_106",
+    "custom",
     "custom element 106"
   },
   {
     "custom_107",
-    "custom_107",
+    "custom",
     "custom element 107"
   },
   {
     "custom_108",
-    "custom_108",
+    "custom",
     "custom element 108"
   },
   {
     "custom_109",
-    "custom_109",
+    "custom",
     "custom element 109"
   },
   {
     "custom_110",
-    "custom_110",
+    "custom",
     "custom element 110"
   },
   {
     "custom_111",
-    "custom_111",
+    "custom",
     "custom element 111"
   },
   {
     "custom_112",
-    "custom_112",
+    "custom",
     "custom element 112"
   },
   {
     "custom_113",
-    "custom_113",
+    "custom",
     "custom element 113"
   },
   {
     "custom_114",
-    "custom_114",
+    "custom",
     "custom element 114"
   },
   {
     "custom_115",
-    "custom_115",
+    "custom",
     "custom element 115"
   },
   {
     "custom_116",
-    "custom_116",
+    "custom",
     "custom element 116"
   },
   {
     "custom_117",
-    "custom_117",
+    "custom",
     "custom element 117"
   },
   {
     "custom_118",
-    "custom_118",
+    "custom",
     "custom element 118"
   },
   {
     "custom_119",
-    "custom_119",
+    "custom",
     "custom element 119"
   },
   {
     "custom_120",
-    "custom_120",
+    "custom",
     "custom element 120"
   },
   {
     "custom_121",
-    "custom_121",
+    "custom",
     "custom element 121"
   },
   {
     "custom_122",
-    "custom_122",
+    "custom",
     "custom element 122"
   },
   {
     "custom_123",
-    "custom_123",
+    "custom",
     "custom element 123"
   },
   {
     "custom_124",
-    "custom_124",
+    "custom",
     "custom element 124"
   },
   {
     "custom_125",
-    "custom_125",
+    "custom",
     "custom element 125"
   },
   {
     "custom_126",
-    "custom_126",
+    "custom",
     "custom element 126"
   },
   {
     "custom_127",
-    "custom_127",
+    "custom",
     "custom element 127"
   },
   {
     "custom_128",
-    "custom_128",
+    "custom",
     "custom element 128"
   },
 
@@ -2541,42 +2543,42 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
   /* ----------------------------------------------------------------------- */
 
   {
-    "em_key1",
+    "em_key_1",
     "key",
     "-"
     },
   {
-    "em_key2",
+    "em_key_2",
     "key",
     "-"
     },
   {
-    "em_key3",
+    "em_key_3",
     "key",
     "-"
   },
   {
-    "em_key4",
+    "em_key_4",
     "key",
     "-"
   },
   {
-    "dynabomb_player1_active",
+    "dynabomb_player_1_active",
     "dynabomb",
     "-"
   },
   {
-    "dynabomb_player2_active",
+    "dynabomb_player_2_active",
     "dynabomb",
     "-"
   },
   {
-    "dynabomb_player3_active",
+    "dynabomb_player_3_active",
     "dynabomb",
     "-"
   },
   {
-    "dynabomb_player4_active",
+    "dynabomb_player_4_active",
     "dynabomb",
     "-"
   },
@@ -2631,62 +2633,62 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "-"
   },
   {
-    "conveyor_belt1_left_active",
+    "conveyor_belt_1_left_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt1_middle_active",
+    "conveyor_belt_1_middle_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt1_right_active",
+    "conveyor_belt_1_right_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt2_left_active",
+    "conveyor_belt_2_left_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt2_middle_active",
+    "conveyor_belt_2_middle_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt2_right_active",
+    "conveyor_belt_2_right_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt3_left_active",
+    "conveyor_belt_3_left_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt3_middle_active",
+    "conveyor_belt_3_middle_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt3_right_active",
+    "conveyor_belt_3_right_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt4_left_active",
+    "conveyor_belt_4_left_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt4_middle_active",
+    "conveyor_belt_4_middle_active",
     "conveyor_belt",
     "-"
   },
   {
-    "conveyor_belt4_right_active",
+    "conveyor_belt_4_right_active",
     "conveyor_belt",
     "-"
   },
@@ -2721,7 +2723,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "-"
   },
   {
-    "amoeba_dripping",
+    "amoeba_dropping",
     "amoeba",
     "-"
   },
@@ -2786,7 +2788,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "-"
   },
   {
-    "nut_cracking",
+    "nut_breaking",
     "-",
     "-"
   },
@@ -2801,7 +2803,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "-"
   },
   {
-    "amoeba_creating",
+    "amoeba_growing",
     "-",
     "-"
   },
@@ -2811,7 +2813,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "-"
   },
   {
-    "wall_growing_active",
+    "expandable_wall_growing",
     "-",
     "-"
   },
@@ -2827,7 +2829,7 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
   },
   {
     "quicksand_filling",
-    "-",
+    "quicksand",
     "-"
   },
   {
@@ -2926,10 +2928,12 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "-"
   },
 
+  /* keyword to stop parser: "ELEMENT_INFO_END" <-- do not change! */
+
   {
     NULL,
     NULL,
-    "-"
+    NULL
   }
 };
 
@@ -2947,19 +2951,24 @@ struct ElementActionInfo element_action_info[NUM_ACTIONS + 1] =
   { ".digging",                ACTION_DIGGING,         FALSE   },
   { ".snapping",       ACTION_SNAPPING,        FALSE   },
   { ".collecting",     ACTION_COLLECTING,      FALSE   },
+  { ".dropping",       ACTION_DROPPING,        FALSE   },
   { ".pushing",                ACTION_PUSHING,         FALSE   },
   { ".passing",                ACTION_PASSING,         FALSE   },
   { ".impact",         ACTION_IMPACT,          FALSE   },
-  { ".cracking",       ACTION_CRACKING,        FALSE   },
   { ".breaking",       ACTION_BREAKING,        FALSE   },
   { ".activating",     ACTION_ACTIVATING,      FALSE   },
+  { ".deactivating",   ACTION_DEACTIVATING,    FALSE   },
   { ".opening",                ACTION_OPENING,         FALSE   },
   { ".closing",                ACTION_CLOSING,         FALSE   },
-  { ".eating",         ACTION_EATING,          FALSE   },
   { ".attacking",      ACTION_ATTACKING,       TRUE    },
   { ".growing",                ACTION_GROWING,         TRUE    },
   { ".shrinking",      ACTION_SHRINKING,       FALSE   },
   { ".active",         ACTION_ACTIVE,          TRUE    },
+  { ".filling",                ACTION_FILLING,         FALSE   },
+  { ".emptying",       ACTION_EMPTYING,        FALSE   },
+  { ".changing",       ACTION_CHANGING,        FALSE   },
+  { ".exploding",      ACTION_EXPLODING,       FALSE   },
+  { ".dying",          ACTION_DYING,           FALSE   },
   { ".other",          ACTION_OTHER,           FALSE   },
 
   { NULL,              0,                      0       }
index 772176a84f786523fa9669a1edc2b6e19facd101..991d0eca677e8daaa8c0f7d0fe8d370d27ad5f3f 100644 (file)
 #define TAPE_IS_EMPTY(x)       ((x).length == 0)
 #define TAPE_IS_STOPPED(x)     (!(x).recording && !(x).playing)
 
-#define PLAYERINFO(x,y)                (&stored_player[StorePlayer[x][y]-EL_PLAYER1])
+#define PLAYERINFO(x,y)                (&stored_player[StorePlayer[x][y]-EL_PLAYER_1])
 #define SHIELD_ON(p)           ((p)->shield_normal_time_left > 0)
 #define PROTECTED_FIELD(x,y)   (IS_TUBE(Feld[x][y]))
 #define PLAYER_PROTECTED(x,y)  (SHIELD_ON(PLAYERINFO(x, y)) ||         \
                                 PROTECTED_FIELD(x, y))
 
-#define PLAYER_NR_GFX(g,i)     ((g) + i * (IMG_PLAYER2 - IMG_PLAYER1))
+#define PLAYER_NR_GFX(g,i)     ((g) + i * (IMG_PLAYER_2 - IMG_PLAYER_1))
 
 #define ANIM_FRAMES(g)         (graphic_info[g].anim_frames)
 #define ANIM_DELAY(g)          (graphic_info[g].anim_delay)
 #define EL_WALL                                2
 #define EL_WALL_CRUMBLED               3
 #define EL_ROCK                                4
-#define EL_KEY_OBSOLETE                        5  /* obsolete; mapped to EL_KEY1 */
+#define EL_KEY_OBSOLETE                        5 /* obsolete; mapped to EL_KEY_1 */
 #define EL_EMERALD                     6
 #define EL_EXIT_CLOSED                 7
-#define EL_PLAYER_OBSOLETE             8  /* obsolete; mapped to EL_PLAYER1 */
+#define EL_PLAYER_OBSOLETE             8 /* obsolete; mapped to EL_PLAYER_1 */
 #define EL_BUG                         9
 #define EL_SPACESHIP                   10
 #define EL_YAMYAM                      11
 #define EL_AMOEBA_WET                  23
 #define EL_AMOEBA_DRY                  24
 #define EL_NUT                         25
-#define EL_GAMEOFLIFE                  26
+#define EL_GAME_OF_LIFE                        26
 #define EL_BIOMAZE                     27
 #define EL_DYNAMITE_ACTIVE             28
 #define EL_STONEBLOCK                  29
 #define EL_ROBOT_WHEEL                 30
 #define EL_ROBOT_WHEEL_ACTIVE          31
-#define EL_KEY1                                32
-#define EL_KEY2                                33
-#define EL_KEY3                                34
-#define EL_KEY4                                35
-#define EL_GATE                      36
-#define EL_GATE                      37
-#define EL_GATE                      38
-#define EL_GATE                      39
-#define EL_GATE1_GRAY                  40
-#define EL_GATE2_GRAY                  41
-#define EL_GATE3_GRAY                  42
-#define EL_GATE4_GRAY                  43
+#define EL_KEY_1                       32
+#define EL_KEY_2                       33
+#define EL_KEY_3                       34
+#define EL_KEY_4                       35
+#define EL_GATE_1                      36
+#define EL_GATE_2                      37
+#define EL_GATE_3                      38
+#define EL_GATE_4                      39
+#define EL_GATE_1_GRAY                 40
+#define EL_GATE_2_GRAY                 41
+#define EL_GATE_3_GRAY                 42
+#define EL_GATE_4_GRAY                 43
 #define EL_DYNAMITE                    44
 #define EL_PACMAN                      45
 #define EL_INVISIBLE_WALL              46
 #define EL_BD_AMOEBA                   52
 #define EL_TIME_ORB_FULL               53
 #define EL_TIME_ORB_EMPTY              54
-#define EL_WALL_GROWING                        55
+#define EL_EXPANDABLE_WALL             55
 #define EL_BD_DIAMOND                  56
 #define EL_EMERALD_YELLOW              57
 #define EL_WALL_BD_DIAMOND             58
 
 #define EL_UNUSED_63                   63
 
-#define EL_DYNABOMB_NR                 64
-#define EL_DYNABOMB_SZ                 65
-#define EL_DYNABOMB_XL                 66
+#define EL_DYNABOMB_INCREASE_NUMBER    64
+#define EL_DYNABOMB_INCREASE_SIZE      65
+#define EL_DYNABOMB_INCREASE_POWER     66
 #define EL_SOKOBAN_OBJECT              67
 #define EL_SOKOBAN_FIELD_EMPTY         68
 #define EL_SOKOBAN_FIELD_FULL          69
 #define EL_BD_FIREFLY_4                        EL_BD_FIREFLY_UP
 #define EL_BD_BUTTERFLY                        78
 #define EL_BD_FIREFLY                  79
-#define EL_PLAYER                    80
-#define EL_PLAYER                    81
-#define EL_PLAYER                    82
-#define EL_PLAYER                    83
+#define EL_PLAYER_1                    80
+#define EL_PLAYER_2                    81
+#define EL_PLAYER_3                    82
+#define EL_PLAYER_4                    83
 #define EL_BUG_RIGHT                   84
 #define EL_BUG_UP                      85
 #define EL_BUG_LEFT                    86
 #define EL_EMERALD_PURPLE              97
 #define EL_WALL_EMERALD_RED            98
 #define EL_WALL_EMERALD_PURPLE         99
-#define EL_ACIDPOOL_TOPLEFT            100
-#define EL_ACIDPOOL_TOPRIGHT           101
-#define EL_ACIDPOOL_BOTTOMLEFT         102
-#define EL_ACIDPOOL_BOTTOM             103
-#define EL_ACIDPOOL_BOTTOMRIGHT                104
+#define EL_ACID_POOL_TOPLEFT           100
+#define EL_ACID_POOL_TOPRIGHT          101
+#define EL_ACID_POOL_BOTTOMLEFT                102
+#define EL_ACID_POOL_BOTTOM            103
+#define EL_ACID_POOL_BOTTOMRIGHT       104
 #define EL_BD_WALL                     105
 #define EL_BD_ROCK                     106
 #define EL_EXIT_OPEN                   107
 #define EL_PIG                         117
 #define EL_DRAGON                      118
 
-#define EL_EM_KEY1_FILE                        119
+#define EL_EM_KEY_1_FILE               119
 
 #define EL_CHAR_START                  120
 #define EL_CHAR_ASCII0                 (EL_CHAR_START  - 32)
                                         (x) == '|' ? EL_CHAR_CURSOR     : \
                                         EL_CHAR_A + (x) - 'A')
 
-#define EL_WALL_GROWING_X              200
-#define EL_WALL_GROWING_Y              201
-#define EL_WALL_GROWING_XY             202
+#define EL_EXPANDABLE_WALL_HORIZONTAL  200
+#define EL_EXPANDABLE_WALL_VERTICAL    201
+#define EL_EXPANDABLE_WALL_ANY         202
 
-#define EL_EM_GATE                   203
-#define EL_EM_GATE                   204
-#define EL_EM_GATE                   205
-#define EL_EM_GATE                   206
+#define EL_EM_GATE_1                   203
+#define EL_EM_GATE_2                   204
+#define EL_EM_GATE_3                   205
+#define EL_EM_GATE_4                   206
 
-#define EL_EM_KEY2_FILE                        207
-#define EL_EM_KEY3_FILE                        208
-#define EL_EM_KEY4_FILE                        209
+#define EL_EM_KEY_2_FILE                       207
+#define EL_EM_KEY_3_FILE                       208
+#define EL_EM_KEY_4_FILE                       209
 
 #define EL_SP_START                    210
 #define EL_SP_EMPTY_SPACE              (EL_SP_START + 0)
 #define EL_SP_MURPHY                   (EL_SP_START + 3)
 #define EL_SP_INFOTRON                 (EL_SP_START + 4)
 #define EL_SP_CHIP_SINGLE              (EL_SP_START + 5)
-#define EL_SP_HARD_GRAY                        (EL_SP_START + 6)
+#define EL_SP_HARDWARE_GRAY            (EL_SP_START + 6)
 #define EL_SP_EXIT_CLOSED              (EL_SP_START + 7)
 #define EL_SP_DISK_ORANGE              (EL_SP_START + 8)
-#define EL_SP_PORT1_RIGHT              (EL_SP_START + 9)
-#define EL_SP_PORT1_DOWN               (EL_SP_START + 10)
-#define EL_SP_PORT1_LEFT               (EL_SP_START + 11)
-#define EL_SP_PORT1_UP                 (EL_SP_START + 12)
-#define EL_SP_PORT2_RIGHT              (EL_SP_START + 13)
-#define EL_SP_PORT2_DOWN               (EL_SP_START + 14)
-#define EL_SP_PORT2_LEFT               (EL_SP_START + 15)
-#define EL_SP_PORT2_UP                 (EL_SP_START + 16)
+#define EL_SP_PORT_RIGHT               (EL_SP_START + 9)
+#define EL_SP_PORT_DOWN                        (EL_SP_START + 10)
+#define EL_SP_PORT_LEFT                        (EL_SP_START + 11)
+#define EL_SP_PORT_UP                  (EL_SP_START + 12)
+#define EL_SP_GRAVITY_PORT_RIGHT       (EL_SP_START + 13)
+#define EL_SP_GRAVITY_PORT_DOWN                (EL_SP_START + 14)
+#define EL_SP_GRAVITY_PORT_LEFT                (EL_SP_START + 15)
+#define EL_SP_GRAVITY_PORT_UP          (EL_SP_START + 16)
 #define EL_SP_SNIKSNAK                 (EL_SP_START + 17)
 #define EL_SP_DISK_YELLOW              (EL_SP_START + 18)
 #define EL_SP_TERMINAL                 (EL_SP_START + 19)
 #define EL_SP_DISK_RED                 (EL_SP_START + 20)
-#define EL_SP_PORT_Y                   (EL_SP_START + 21)
-#define EL_SP_PORT_X                   (EL_SP_START + 22)
-#define EL_SP_PORT_XY                  (EL_SP_START + 23)
+#define EL_SP_PORT_VERTICAL            (EL_SP_START + 21)
+#define EL_SP_PORT_HORIZONTAL          (EL_SP_START + 22)
+#define EL_SP_PORT_ANY                 (EL_SP_START + 23)
 #define EL_SP_ELECTRON                 (EL_SP_START + 24)
 #define EL_SP_BUGGY_BASE               (EL_SP_START + 25)
 #define EL_SP_CHIP_LEFT                        (EL_SP_START + 26)
 #define EL_SP_CHIP_RIGHT               (EL_SP_START + 27)
-#define EL_SP_HARD_BASE1               (EL_SP_START + 28)
-#define EL_SP_HARD_GREEN               (EL_SP_START + 29)
-#define EL_SP_HARD_BLUE                        (EL_SP_START + 30)
-#define EL_SP_HARD_RED                 (EL_SP_START + 31)
-#define EL_SP_HARD_YELLOW              (EL_SP_START + 32)
-#define EL_SP_HARD_BASE2               (EL_SP_START + 33)
-#define EL_SP_HARD_BASE3               (EL_SP_START + 34)
-#define EL_SP_HARD_BASE4               (EL_SP_START + 35)
-#define EL_SP_HARD_BASE5               (EL_SP_START + 36)
-#define EL_SP_HARD_BASE6               (EL_SP_START + 37)
-#define EL_SP_CHIP_UPPER               (EL_SP_START + 38)
-#define EL_SP_CHIP_LOWER               (EL_SP_START + 39)
+#define EL_SP_HARDWARE_BASE_1          (EL_SP_START + 28)
+#define EL_SP_HARDWARE_GREEN           (EL_SP_START + 29)
+#define EL_SP_HARDWARE_BLUE            (EL_SP_START + 30)
+#define EL_SP_HARDWARE_RED             (EL_SP_START + 31)
+#define EL_SP_HARDWARE_YELLOW          (EL_SP_START + 32)
+#define EL_SP_HARDWARE_BASE_2          (EL_SP_START + 33)
+#define EL_SP_HARDWARE_BASE_3          (EL_SP_START + 34)
+#define EL_SP_HARDWARE_BASE_4          (EL_SP_START + 35)
+#define EL_SP_HARDWARE_BASE_5          (EL_SP_START + 36)
+#define EL_SP_HARDWARE_BASE_6          (EL_SP_START + 37)
+#define EL_SP_CHIP_TOP                 (EL_SP_START + 38)
+#define EL_SP_CHIP_BOTTOM              (EL_SP_START + 39)
 #define EL_SP_END                      (EL_SP_START + 39)
 
-#define EL_EM_GATE1_GRAY               250
-#define EL_EM_GATE2_GRAY               251
-#define EL_EM_GATE3_GRAY               252
-#define EL_EM_GATE4_GRAY               253
+#define EL_EM_GATE_1_GRAY              250
+#define EL_EM_GATE_2_GRAY              251
+#define EL_EM_GATE_3_GRAY              252
+#define EL_EM_GATE_4_GRAY              253
 
 #define EL_UNUSED_254                  254
 #define EL_UNUSED_255                  255
 #define EL_UNUSED_269                  269
 #define EL_UNUSED_270                  270
 
-#define EL_CONVEYOR_BELT1_LEFT         271
-#define EL_CONVEYOR_BELT1_MIDDLE       272
-#define EL_CONVEYOR_BELT1_RIGHT                273
-#define EL_CONVEYOR_BELT1_SWITCH_LEFT  274
-#define EL_CONVEYOR_BELT1_SWITCH_MIDDLE        275
-#define EL_CONVEYOR_BELT1_SWITCH_RIGHT 276
-#define EL_CONVEYOR_BELT2_LEFT         277
-#define EL_CONVEYOR_BELT2_MIDDLE       278
-#define EL_CONVEYOR_BELT2_RIGHT                279
-#define EL_CONVEYOR_BELT2_SWITCH_LEFT  280
-#define EL_CONVEYOR_BELT2_SWITCH_MIDDLE        281
-#define EL_CONVEYOR_BELT2_SWITCH_RIGHT 282
-#define EL_CONVEYOR_BELT3_LEFT         283
-#define EL_CONVEYOR_BELT3_MIDDLE       284
-#define EL_CONVEYOR_BELT3_RIGHT                285
-#define EL_CONVEYOR_BELT3_SWITCH_LEFT  286
-#define EL_CONVEYOR_BELT3_SWITCH_MIDDLE        287
-#define EL_CONVEYOR_BELT3_SWITCH_RIGHT 288
-#define EL_CONVEYOR_BELT4_LEFT         289
-#define EL_CONVEYOR_BELT4_MIDDLE       290
-#define EL_CONVEYOR_BELT4_RIGHT                291
-#define EL_CONVEYOR_BELT4_SWITCH_LEFT  292
-#define EL_CONVEYOR_BELT4_SWITCH_MIDDLE        293
-#define EL_CONVEYOR_BELT4_SWITCH_RIGHT 294
+#define EL_CONVEYOR_BELT_1_LEFT                 271
+#define EL_CONVEYOR_BELT_1_MIDDLE       272
+#define EL_CONVEYOR_BELT_1_RIGHT        273
+#define EL_CONVEYOR_BELT_1_SWITCH_LEFT  274
+#define EL_CONVEYOR_BELT_1_SWITCH_MIDDLE 275
+#define EL_CONVEYOR_BELT_1_SWITCH_RIGHT         276
+#define EL_CONVEYOR_BELT_2_LEFT                 277
+#define EL_CONVEYOR_BELT_2_MIDDLE       278
+#define EL_CONVEYOR_BELT_2_RIGHT        279
+#define EL_CONVEYOR_BELT_2_SWITCH_LEFT  280
+#define EL_CONVEYOR_BELT_2_SWITCH_MIDDLE 281
+#define EL_CONVEYOR_BELT_2_SWITCH_RIGHT         282
+#define EL_CONVEYOR_BELT_3_LEFT                 283
+#define EL_CONVEYOR_BELT_3_MIDDLE       284
+#define EL_CONVEYOR_BELT_3_RIGHT        285
+#define EL_CONVEYOR_BELT_3_SWITCH_LEFT  286
+#define EL_CONVEYOR_BELT_3_SWITCH_MIDDLE 287
+#define EL_CONVEYOR_BELT_3_SWITCH_RIGHT         288
+#define EL_CONVEYOR_BELT_4_LEFT                 289
+#define EL_CONVEYOR_BELT_4_MIDDLE       290
+#define EL_CONVEYOR_BELT_4_RIGHT        291
+#define EL_CONVEYOR_BELT_4_SWITCH_LEFT  292
+#define EL_CONVEYOR_BELT_4_SWITCH_MIDDLE 293
+#define EL_CONVEYOR_BELT_4_SWITCH_RIGHT         294
 #define EL_LANDMINE                    295
 #define EL_ENVELOPE                    296
 #define EL_LIGHT_SWITCH                        297
 #define EL_TIMEGATE_SWITCH             325
 
 #define EL_BALLOON                     326
-#define EL_BALLOON_SEND_LEFT           327
-#define EL_BALLOON_SEND_RIGHT          328
-#define EL_BALLOON_SEND_UP             329
-#define EL_BALLOON_SEND_DOWN           330
-#define EL_BALLOON_SEND_ANY_DIRECTION  331
-
-#define EL_EMC_STEELWALL             332
-#define EL_EMC_STEELWALL             333
-#define EL_EMC_STEELWALL             334
-#define EL_EMC_STEELWALL             335
-#define EL_EMC_WALL_PILLAR_UPPER       336
-#define EL_EMC_WALL_PILLAR_MIDDLE      337
-#define EL_EMC_WALL_PILLAR_LOWER       338
-#define EL_EMC_WALL                  339
-#define EL_EMC_WALL                  340
-#define EL_EMC_WALL                  341
-#define EL_EMC_WALL                  342
-#define EL_EMC_WALL                  343
-
-#define EL_TUBE_ALL                    344
+#define EL_BALLOON_SWITCH_LEFT         327
+#define EL_BALLOON_SWITCH_RIGHT                328
+#define EL_BALLOON_SWITCH_UP           329
+#define EL_BALLOON_SWITCH_DOWN         330
+#define EL_BALLOON_SWITCH_ANY          331
+
+#define EL_EMC_STEELWALL_1             332
+#define EL_EMC_STEELWALL_2             333
+#define EL_EMC_STEELWALL_3             334
+#define EL_EMC_STEELWALL_4             335
+#define EL_EMC_WALL_1                  336
+#define EL_EMC_WALL_2                  337
+#define EL_EMC_WALL_3                  338
+#define EL_EMC_WALL_4                  339
+#define EL_EMC_WALL_5                  340
+#define EL_EMC_WALL_6                  341
+#define EL_EMC_WALL_7                  342
+#define EL_EMC_WALL_8                  343
+
+#define EL_TUBE_ANY                    344
 #define EL_TUBE_VERTICAL               345
 #define EL_TUBE_HORIZONTAL             346
 #define EL_TUBE_VERTICAL_LEFT          347
 /* "real" (and therefore drawable) runtime elements */
 #define EL_FIRST_RUNTIME_REAL          NUM_FILE_ELEMENTS
 
-#define EL_EM_KEY                    (EL_FIRST_RUNTIME_REAL + 0)
-#define EL_EM_KEY                    (EL_FIRST_RUNTIME_REAL + 1)
-#define EL_EM_KEY                    (EL_FIRST_RUNTIME_REAL + 2)
-#define EL_EM_KEY                    (EL_FIRST_RUNTIME_REAL + 3)
-#define EL_DYNABOMB_PLAYER1_ACTIVE     (EL_FIRST_RUNTIME_REAL + 4)
-#define EL_DYNABOMB_PLAYER2_ACTIVE     (EL_FIRST_RUNTIME_REAL + 5)
-#define EL_DYNABOMB_PLAYER3_ACTIVE     (EL_FIRST_RUNTIME_REAL + 6)
-#define EL_DYNABOMB_PLAYER4_ACTIVE     (EL_FIRST_RUNTIME_REAL + 7)
+#define EL_EM_KEY_1                    (EL_FIRST_RUNTIME_REAL + 0)
+#define EL_EM_KEY_2                    (EL_FIRST_RUNTIME_REAL + 1)
+#define EL_EM_KEY_3                    (EL_FIRST_RUNTIME_REAL + 2)
+#define EL_EM_KEY_4                    (EL_FIRST_RUNTIME_REAL + 3)
+#define EL_DYNABOMB_PLAYER_1_ACTIVE    (EL_FIRST_RUNTIME_REAL + 4)
+#define EL_DYNABOMB_PLAYER_2_ACTIVE    (EL_FIRST_RUNTIME_REAL + 5)
+#define EL_DYNABOMB_PLAYER_3_ACTIVE    (EL_FIRST_RUNTIME_REAL + 6)
+#define EL_DYNABOMB_PLAYER_4_ACTIVE    (EL_FIRST_RUNTIME_REAL + 7)
 #define EL_SP_DISK_RED_ACTIVE          (EL_FIRST_RUNTIME_REAL + 8)
 #define EL_SWITCHGATE_OPENING          (EL_FIRST_RUNTIME_REAL + 9)
 #define EL_SWITCHGATE_CLOSING          (EL_FIRST_RUNTIME_REAL + 10)
 #define EL_INVISIBLE_STEELWALL_ACTIVE  (EL_FIRST_RUNTIME_REAL + 15)
 #define EL_INVISIBLE_WALL_ACTIVE       (EL_FIRST_RUNTIME_REAL + 16)
 #define EL_INVISIBLE_SAND_ACTIVE       (EL_FIRST_RUNTIME_REAL + 17)
-#define EL_CONVEYOR_BELT1_LEFT_ACTIVE  (EL_FIRST_RUNTIME_REAL + 18)
-#define EL_CONVEYOR_BELT1_MIDDLE_ACTIVE        (EL_FIRST_RUNTIME_REAL + 19)
-#define EL_CONVEYOR_BELT1_RIGHT_ACTIVE (EL_FIRST_RUNTIME_REAL + 20)
-#define EL_CONVEYOR_BELT2_LEFT_ACTIVE  (EL_FIRST_RUNTIME_REAL + 21)
-#define EL_CONVEYOR_BELT2_MIDDLE_ACTIVE        (EL_FIRST_RUNTIME_REAL + 22)
-#define EL_CONVEYOR_BELT2_RIGHT_ACTIVE (EL_FIRST_RUNTIME_REAL + 23)
-#define EL_CONVEYOR_BELT3_LEFT_ACTIVE  (EL_FIRST_RUNTIME_REAL + 24)
-#define EL_CONVEYOR_BELT3_MIDDLE_ACTIVE        (EL_FIRST_RUNTIME_REAL + 25)
-#define EL_CONVEYOR_BELT3_RIGHT_ACTIVE (EL_FIRST_RUNTIME_REAL + 26)
-#define EL_CONVEYOR_BELT4_LEFT_ACTIVE  (EL_FIRST_RUNTIME_REAL + 27)
-#define EL_CONVEYOR_BELT4_MIDDLE_ACTIVE        (EL_FIRST_RUNTIME_REAL + 28)
-#define EL_CONVEYOR_BELT4_RIGHT_ACTIVE (EL_FIRST_RUNTIME_REAL + 29)
+#define EL_CONVEYOR_BELT_1_LEFT_ACTIVE  (EL_FIRST_RUNTIME_REAL + 18)
+#define EL_CONVEYOR_BELT_1_MIDDLE_ACTIVE (EL_FIRST_RUNTIME_REAL + 19)
+#define EL_CONVEYOR_BELT_1_RIGHT_ACTIVE         (EL_FIRST_RUNTIME_REAL + 20)
+#define EL_CONVEYOR_BELT_2_LEFT_ACTIVE  (EL_FIRST_RUNTIME_REAL + 21)
+#define EL_CONVEYOR_BELT_2_MIDDLE_ACTIVE (EL_FIRST_RUNTIME_REAL + 22)
+#define EL_CONVEYOR_BELT_2_RIGHT_ACTIVE         (EL_FIRST_RUNTIME_REAL + 23)
+#define EL_CONVEYOR_BELT_3_LEFT_ACTIVE  (EL_FIRST_RUNTIME_REAL + 24)
+#define EL_CONVEYOR_BELT_3_MIDDLE_ACTIVE (EL_FIRST_RUNTIME_REAL + 25)
+#define EL_CONVEYOR_BELT_3_RIGHT_ACTIVE         (EL_FIRST_RUNTIME_REAL + 26)
+#define EL_CONVEYOR_BELT_4_LEFT_ACTIVE  (EL_FIRST_RUNTIME_REAL + 27)
+#define EL_CONVEYOR_BELT_4_MIDDLE_ACTIVE (EL_FIRST_RUNTIME_REAL + 28)
+#define EL_CONVEYOR_BELT_4_RIGHT_ACTIVE         (EL_FIRST_RUNTIME_REAL + 29)
 #define EL_EXIT_OPENING                        (EL_FIRST_RUNTIME_REAL + 30)
 #define EL_SP_EXIT_OPEN                        (EL_FIRST_RUNTIME_REAL + 31)
 #define EL_SP_TERMINAL_ACTIVE          (EL_FIRST_RUNTIME_REAL + 32)
 #define EL_SP_BUGGY_BASE_ACTIVATING    (EL_FIRST_RUNTIME_REAL + 33)
 #define EL_SP_BUGGY_BASE_ACTIVE                (EL_FIRST_RUNTIME_REAL + 34)
 #define EL_SP_MURPHY_CLONE             (EL_FIRST_RUNTIME_REAL + 35)
-#define EL_AMOEBA_DRIPPING             (EL_FIRST_RUNTIME_REAL + 36)
+#define EL_AMOEBA_DROPPING             (EL_FIRST_RUNTIME_REAL + 36)
 #define EL_QUICKSAND_EMPTYING          (EL_FIRST_RUNTIME_REAL + 37)
 #define EL_MAGIC_WALL_ACTIVE           (EL_FIRST_RUNTIME_REAL + 38)
 #define EL_BD_MAGIC_WALL_ACTIVE                (EL_FIRST_RUNTIME_REAL + 39)
 
 #define EL_BLOCKED                     (EL_FIRST_RUNTIME_UNREAL + 0)
 #define EL_EXPLOSION                   (EL_FIRST_RUNTIME_UNREAL + 1)
-#define EL_NUT_CRACKING                        (EL_FIRST_RUNTIME_UNREAL + 2)
+#define EL_NUT_BREAKING                        (EL_FIRST_RUNTIME_UNREAL + 2)
 #define EL_ACID_SPLASH_LEFT            (EL_FIRST_RUNTIME_UNREAL + 3)
 #define EL_ACID_SPLASH_RIGHT           (EL_FIRST_RUNTIME_UNREAL + 4)
-#define EL_AMOEBA_CREATING             (EL_FIRST_RUNTIME_UNREAL + 5)
+#define EL_AMOEBA_GROWING              (EL_FIRST_RUNTIME_UNREAL + 5)
 #define EL_AMOEBA_SHRINKING            (EL_FIRST_RUNTIME_UNREAL + 6)
-#define EL_WALL_GROWING_ACTIVE         (EL_FIRST_RUNTIME_UNREAL + 7)
+#define EL_EXPANDABLE_WALL_GROWING     (EL_FIRST_RUNTIME_UNREAL + 7)
 #define EL_FLAMES                      (EL_FIRST_RUNTIME_UNREAL + 8)
 #define EL_PLAYER_IS_LEAVING           (EL_FIRST_RUNTIME_UNREAL + 9)
 #define EL_QUICKSAND_FILLING           (EL_FIRST_RUNTIME_UNREAL + 10)
 #define ACTION_DIGGING                         4
 #define ACTION_SNAPPING                                5
 #define ACTION_COLLECTING                      6
-#define ACTION_PUSHING                         7
-#define ACTION_PASSING                         8
-#define ACTION_IMPACT                          9
-#define ACTION_CRACKING                                10
+#define ACTION_DROPPING                                7
+#define ACTION_PUSHING                         8
+#define ACTION_PASSING                         9
+#define ACTION_IMPACT                          10
 #define ACTION_BREAKING                                11
 #define ACTION_ACTIVATING                      12
-#define ACTION_OPENING                         13
-#define ACTION_CLOSING                         14
-#define ACTION_EATING                          15
+#define ACTION_DEACTIVATING                    13
+#define ACTION_OPENING                         14
+#define ACTION_CLOSING                         15
 #define ACTION_ATTACKING                       16
 #define ACTION_GROWING                         17
 #define ACTION_SHRINKING                       18
 #define ACTION_ACTIVE                          19
-#define ACTION_OTHER                           20
+#define ACTION_FILLING                         20
+#define ACTION_EMPTYING                                21
+#define ACTION_CHANGING                                22
+#define ACTION_EXPLODING                       23
+#define ACTION_DYING                           24
+#define ACTION_OTHER                           25
 
-#define NUM_ACTIONS                            21
+#define NUM_ACTIONS                            26
 
 /* values for special image configuration suffixes */
 #define GFX_SPECIAL_ARG_MAIN                   0
@@ -1053,7 +1058,7 @@ struct GlobalInfo
 struct ElementInfo
 {
   char *token_name;            /* element token used in config files */
-  char *sound_class_name;      /* classification for custom sound effects */
+  char *class_name;            /* element class used in config files */
   char *editor_description;    /* short description for level editor */
   char *custom_description;    /* custom description for level editor */
 
index 88f6987587652a447f619a432696ae5db4ef7a3c..b16ca49c1140568a351dcaa880ddecdc5d984f42 100644 (file)
@@ -581,12 +581,12 @@ static int OLD_helpscreen_action[] =
 
 static int helpscreen_action[] =
 {
-  IMG_PLAYER1_MOVING_DOWN,             16,
-  IMG_PLAYER1_MOVING_UP,               16,
-  IMG_PLAYER1_MOVING_LEFT,             16,
-  IMG_PLAYER1_MOVING_RIGHT,            16,
-  IMG_PLAYER1_PUSHING_LEFT,            16,
-  IMG_PLAYER1_PUSHING_RIGHT,           16,                     HA_NEXT,
+  IMG_PLAYER_1_MOVING_DOWN,            16,
+  IMG_PLAYER_1_MOVING_UP,              16,
+  IMG_PLAYER_1_MOVING_LEFT,            16,
+  IMG_PLAYER_1_MOVING_RIGHT,           16,
+  IMG_PLAYER_1_PUSHING_LEFT,           16,
+  IMG_PLAYER_1_PUSHING_RIGHT,          16,                     HA_NEXT,
 
   IMG_SAND,                            -1,                     HA_NEXT,
 
@@ -598,16 +598,16 @@ static int helpscreen_action[] =
 
   IMG_WALL,                            -1,                     HA_NEXT,
 
-  IMG_WALL_GROWING_ACTIVE_LEFT,                20,
+  IMG_EXPANDABLE_WALL_GROWING_LEFT,    20,
   IMG_WALL,                            50,
   IMG_EMPTY_SPACE,                     20,
-  IMG_WALL_GROWING_ACTIVE_RIGHT,       20,
+  IMG_EXPANDABLE_WALL_GROWING_RIGHT,   20,
   IMG_WALL,                            50,
   IMG_EMPTY_SPACE,                     20,
-  IMG_WALL_GROWING_ACTIVE_UP,          20,
+  IMG_EXPANDABLE_WALL_GROWING_UP,      20,
   IMG_WALL,                            50,
   IMG_EMPTY_SPACE,                     20,
-  IMG_WALL_GROWING_ACTIVE_DOWN,                20,
+  IMG_EXPANDABLE_WALL_GROWING_DOWN,    20,
   IMG_WALL,                            50,
   IMG_EMPTY_SPACE,                     20,                     HA_NEXT,
 
@@ -638,7 +638,7 @@ static int helpscreen_action[] =
   IMG_EMPTY_SPACE,                     10,                     HA_NEXT,
 
   IMG_NUT,                             100,
-  IMG_NUT_CRACKING,                    6,
+  IMG_NUT_BREAKING,                    6,
   IMG_EMERALD,                         20,                     HA_NEXT,
 
   IMG_WALL_EMERALD,                    100,
@@ -665,20 +665,20 @@ static int helpscreen_action[] =
 
   IMG_ACID,                            -1,                     HA_NEXT,
 
-  IMG_KEY1,                            50,
-  IMG_KEY2,                            50,
-  IMG_KEY3,                            50,
-  IMG_KEY4,                            50,                     HA_NEXT,
+  IMG_KEY_1,                           50,
+  IMG_KEY_2,                           50,
+  IMG_KEY_3,                           50,
+  IMG_KEY_4,                           50,                     HA_NEXT,
 
-  IMG_GATE1,                           50,
-  IMG_GATE2,                           50,
-  IMG_GATE3,                           50,
-  IMG_GATE4,                           50,                     HA_NEXT,
+  IMG_GATE_1,                          50,
+  IMG_GATE_2,                          50,
+  IMG_GATE_3,                          50,
+  IMG_GATE_4,                          50,                     HA_NEXT,
 
-  IMG_GATE1_GRAY,                      50,
-  IMG_GATE2_GRAY,                      50,
-  IMG_GATE3_GRAY,                      50,
-  IMG_GATE4_GRAY,                      50,                     HA_NEXT,
+  IMG_GATE_1_GRAY,                     50,
+  IMG_GATE_2_GRAY,                     50,
+  IMG_GATE_3_GRAY,                     50,
+  IMG_GATE_4_GRAY,                     50,                     HA_NEXT,
 
   IMG_DYNAMITE,                                -1,                     HA_NEXT,
 
@@ -690,9 +690,9 @@ static int helpscreen_action[] =
   IMG_EXPLOSION,                       16,
   IMG_EMPTY_SPACE,                     20,                     HA_NEXT,
 
-  IMG_DYNABOMB_NR,                     -1,                     HA_NEXT,
+  EL_DYNABOMB_INCREASE_NUMBER,         -1,                     HA_NEXT,
 
-  IMG_DYNABOMB_SZ,                     -1,                     HA_NEXT,
+  EL_DYNABOMB_INCREASE_SIZE,           -1,                     HA_NEXT,
 
   IMG_SPACESHIP_RIGHT,                 16,
   IMG_SPACESHIP_UP,                    16,
@@ -751,7 +751,7 @@ static int helpscreen_action[] =
   IMG_TIME_ORB_EMPTY,                  50,                     HA_NEXT,
 
   IMG_AMOEBA_DROP,                     50,
-  IMG_AMOEBA_CREATING,                 6,
+  IMG_AMOEBA_GROWING,                  6,
   IMG_AMOEBA_WET,                      20,                     HA_NEXT,
 
   IMG_AMOEBA_DEAD,                     -1,                     HA_NEXT,
@@ -759,14 +759,14 @@ static int helpscreen_action[] =
   IMG_AMOEBA_WET,                      -1,                     HA_NEXT,
 
   IMG_AMOEBA_WET,                      100,
-  IMG_AMOEBA_CREATING,                 6,                      HA_NEXT,
+  IMG_AMOEBA_GROWING,                  6,                      HA_NEXT,
 
   IMG_AMOEBA_FULL,                     50,
   IMG_AMOEBA_DEAD,                     50,
   IMG_EXPLOSION,                       16,
   IMG_DIAMOND,                         20,                     HA_NEXT,
 
-  IMG_GAMEOFLIFE,                      -1,                     HA_NEXT,
+  IMG_GAME_OF_LIFE,                    -1,                     HA_NEXT,
 
   IMG_BIOMAZE,                         -1,                     HA_NEXT,
 
@@ -2290,7 +2290,7 @@ static void drawPlayerSetupInputInfo(int player_nr)
   custom_key = setup.input[player_nr].key;
 
   DrawText(SX+11*32, SY+2*32, int2str(player_nr + 1, 1), FONT_INPUT_ACTIVE);
-  DrawGraphicThruMask(8, 2, PLAYER_NR_GFX(IMG_PLAYER1, player_nr), 0);
+  DrawGraphicThruMask(8, 2, PLAYER_NR_GFX(IMG_PLAYER_1, player_nr), 0);
 
   if (setup.input[player_nr].use_joystick)
   {
index 2e0cd128aedf43fb2a5c724fddb5a9aeadfb307b..a58a51c22bfa466675615c2d8e25321fe80f04f0 100644 (file)
@@ -1045,7 +1045,7 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element,
     frame = getGraphicAnimationFrame(graphic, -1);
   }
 
-  if (element == EL_WALL_GROWING)
+  if (element == EL_EXPANDABLE_WALL)
   {
     boolean left_stopped = FALSE, right_stopped = FALSE;
 
@@ -1058,17 +1058,17 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element,
       graphic = IMG_WALL;
     else if (left_stopped)
     {
-      graphic = IMG_WALL_GROWING_ACTIVE_RIGHT;
+      graphic = IMG_EXPANDABLE_WALL_GROWING_RIGHT;
       frame = graphic_info[graphic].anim_frames - 1;
     }
     else if (right_stopped)
     {
-      graphic = IMG_WALL_GROWING_ACTIVE_LEFT;
+      graphic = IMG_EXPANDABLE_WALL_GROWING_LEFT;
       frame = graphic_info[graphic].anim_frames - 1;
     }
   }
 #if 0
-  else if (IS_AMOEBOID(element) || element == EL_AMOEBA_DRIPPING)
+  else if (IS_AMOEBOID(element) || element == EL_AMOEBA_DROPPING)
   {
     graphic = (element == EL_BD_AMOEBA ? IMG_BD_AMOEBA_PART1 :
               element == EL_AMOEBA_WET ? IMG_AMOEBA_WET_PART1 :
@@ -1081,9 +1081,9 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element,
 #endif
 
 #if 0
-  if (IS_AMOEBOID(element) || element == EL_AMOEBA_DRIPPING)
+  if (IS_AMOEBOID(element) || element == EL_AMOEBA_DROPPING)
   {
-    if (Feld[lx][ly] == EL_AMOEBA_DRIPPING)
+    if (Feld[lx][ly] == EL_AMOEBA_DROPPING)
       printf("---> %d -> %d / %d [%d]\n",
             element, graphic, frame, GfxRandom[lx][ly]);
   }
@@ -1322,7 +1322,7 @@ void DrawScreenField(int x, int y)
     if (element == EL_QUICKSAND_EMPTYING ||
        element == EL_MAGIC_WALL_EMPTYING ||
        element == EL_BD_MAGIC_WALL_EMPTYING ||
-       element == EL_AMOEBA_DRIPPING)
+       element == EL_AMOEBA_DROPPING)
       cut_mode = CUT_ABOVE;
     else if (element == EL_QUICKSAND_FILLING ||
             element == EL_MAGIC_WALL_FILLING ||
@@ -1364,7 +1364,7 @@ void DrawScreenField(int x, int y)
     if (element_old == EL_QUICKSAND_EMPTYING ||
        element_old == EL_MAGIC_WALL_EMPTYING ||
        element_old == EL_BD_MAGIC_WALL_EMPTYING ||
-       element_old == EL_AMOEBA_DRIPPING)
+       element_old == EL_AMOEBA_DROPPING)
       cut_mode = CUT_ABOVE;
 
     DrawScreenElement(x, y, EL_EMPTY);
@@ -2313,7 +2313,7 @@ void CreateToolButtons()
     {
       int player_nr = id - TOOL_CTRL_ID_PLAYER_1;
 
-      getMiniGraphicSource(PLAYER_NR_GFX(IMG_PLAYER1, player_nr),
+      getMiniGraphicSource(PLAYER_NR_GFX(IMG_PLAYER_1, player_nr),
                           &deco_bitmap, &deco_x, &deco_y);
       deco_xpos = (toolbutton_info[i].width - MINI_TILEX) / 2;
       deco_ypos = (toolbutton_info[i].height - MINI_TILEY) / 2;
@@ -2375,7 +2375,7 @@ int get_next_element(int element)
     case EL_MAGIC_WALL_EMPTYING:       return EL_MAGIC_WALL_ACTIVE;
     case EL_BD_MAGIC_WALL_FILLING:     return EL_BD_MAGIC_WALL_FULL;
     case EL_BD_MAGIC_WALL_EMPTYING:    return EL_BD_MAGIC_WALL_ACTIVE;
-    case EL_AMOEBA_DRIPPING:           return EL_AMOEBA_WET;
+    case EL_AMOEBA_DROPPING:           return EL_AMOEBA_WET;
 
     default:                           return element;
   }