fixed name of element 'beamer' to 'teleporter'
[rocksndiamonds.git] / src / main.h
index 826d3d212b91f6c63441aad695167739eaf8d4a7..d1ca675ade4ee756a308854482c68e99617f5355 100644 (file)
@@ -75,6 +75,7 @@
                                        ((x) >= (xmin) && (x) <= (xmax) && \
                                         (y) >= (ymin) && (y) <= (ymax))
 
+#define IN_PIX_FIELD(x, y)             IN_FIELD(x, y, SXSIZE, SYSIZE)
 #define IN_VIS_FIELD(x, y)             IN_FIELD(x, y, SCR_FIELDX, SCR_FIELDY)
 #define IN_LEV_FIELD(x, y)             IN_FIELD(x, y, lev_fieldx, lev_fieldy)
 #define IN_SCR_FIELD(x, y)             IN_FIELD_MINMAX(x,y, BX1,BY1, BX2,BY2)
 #define SC_CRYSTAL             11
 #define SC_PEARL               12
 #define SC_SHIELD              13
-#define SC_UNKNOWN_14          14
+#define SC_ELEM_BONUS          14
 #define SC_UNKNOWN_15          15
 
 #define LEVEL_SCORE_ELEMENTS   16      /* level elements with score */
 #define EL_MM_WALL_EMPTY               EL_MM_WALL_START
 #define EL_MM_WALL_00                  EL_MM_WALL_START
 #define EL_MM_STEEL_WALL_START         EL_MM_WALL_00
+#define EL_MM_STEEL_WALL_1             EL_MM_STEEL_WALL_START
 #define EL_MM_WALL_15                  (EL_MM_START + 47)
 #define EL_MM_STEEL_WALL_END           EL_MM_WALL_15
 #define EL_MM_WALL_16                  (EL_MM_START + 48)
 #define EL_MM_WOODEN_WALL_START                EL_MM_WALL_16
+#define EL_MM_WOODEN_WALL_1            EL_MM_WOODEN_WALL_START
 #define EL_MM_WALL_31                  (EL_MM_START + 63)
 #define EL_MM_WOODEN_WALL_END          EL_MM_WALL_31
 #define EL_MM_WALL_32                  (EL_MM_START + 64)
 #define EL_MM_ICE_WALL_START           EL_MM_WALL_32
+#define EL_MM_ICE_WALL_1               EL_MM_ICE_WALL_START
 #define EL_MM_WALL_47                  (EL_MM_START + 79)
 #define EL_MM_ICE_WALL_END             EL_MM_WALL_47
 #define EL_MM_WALL_48                  (EL_MM_START + 80)
 #define EL_MM_AMOEBA_WALL_START                EL_MM_WALL_48
+#define EL_MM_AMOEBA_WALL_1            EL_MM_AMOEBA_WALL_START
 #define EL_MM_WALL_63                  (EL_MM_START + 95)
 #define EL_MM_AMOEBA_WALL_END          EL_MM_WALL_63
 #define EL_MM_WALL_END                 EL_MM_WALL_63
 #define EL_MM_WOODEN_BLOCK             (EL_MM_START + 96)
 #define EL_MM_GRAY_BALL                        (EL_MM_START + 97)
-#define EL_MM_BEAMER_START             (EL_MM_START + 98)
-#define EL_MM_BEAMER_1                 (EL_MM_BEAMER_START + 0)
-#define EL_MM_BEAMER_2                 (EL_MM_BEAMER_START + 1)
-#define EL_MM_BEAMER_3                 (EL_MM_BEAMER_START + 2)
-#define EL_MM_BEAMER_4                 (EL_MM_BEAMER_START + 3)
-#define EL_MM_BEAMER_5                 (EL_MM_BEAMER_START + 4)
-#define EL_MM_BEAMER_6                 (EL_MM_BEAMER_START + 5)
-#define EL_MM_BEAMER_7                 (EL_MM_BEAMER_START + 6)
-#define EL_MM_BEAMER_8                 (EL_MM_BEAMER_START + 7)
-#define EL_MM_BEAMER_9                 (EL_MM_BEAMER_START + 8)
-#define EL_MM_BEAMER_10                        (EL_MM_BEAMER_START + 9)
-#define EL_MM_BEAMER_11                        (EL_MM_BEAMER_START + 10)
-#define EL_MM_BEAMER_12                        (EL_MM_BEAMER_START + 11)
-#define EL_MM_BEAMER_13                        (EL_MM_BEAMER_START + 12)
-#define EL_MM_BEAMER_14                        (EL_MM_BEAMER_START + 13)
-#define EL_MM_BEAMER_15                        (EL_MM_BEAMER_START + 14)
-#define EL_MM_BEAMER_16                        (EL_MM_BEAMER_START + 15)
-#define EL_MM_BEAMER_END               EL_MM_BEAMER_15
+#define EL_MM_TELEPORTER_START         (EL_MM_START + 98)
+#define EL_MM_TELEPORTER_1             (EL_MM_TELEPORTER_START + 0)
+#define EL_MM_TELEPORTER_2             (EL_MM_TELEPORTER_START + 1)
+#define EL_MM_TELEPORTER_3             (EL_MM_TELEPORTER_START + 2)
+#define EL_MM_TELEPORTER_4             (EL_MM_TELEPORTER_START + 3)
+#define EL_MM_TELEPORTER_5             (EL_MM_TELEPORTER_START + 4)
+#define EL_MM_TELEPORTER_6             (EL_MM_TELEPORTER_START + 5)
+#define EL_MM_TELEPORTER_7             (EL_MM_TELEPORTER_START + 6)
+#define EL_MM_TELEPORTER_8             (EL_MM_TELEPORTER_START + 7)
+#define EL_MM_TELEPORTER_9             (EL_MM_TELEPORTER_START + 8)
+#define EL_MM_TELEPORTER_10            (EL_MM_TELEPORTER_START + 9)
+#define EL_MM_TELEPORTER_11            (EL_MM_TELEPORTER_START + 10)
+#define EL_MM_TELEPORTER_12            (EL_MM_TELEPORTER_START + 11)
+#define EL_MM_TELEPORTER_13            (EL_MM_TELEPORTER_START + 12)
+#define EL_MM_TELEPORTER_14            (EL_MM_TELEPORTER_START + 13)
+#define EL_MM_TELEPORTER_15            (EL_MM_TELEPORTER_START + 14)
+#define EL_MM_TELEPORTER_16            (EL_MM_TELEPORTER_START + 15)
+#define EL_MM_TELEPORTER_END           EL_MM_TELEPORTER_15
 #define EL_MM_FUSE_ACTIVE              (EL_MM_START + 114)
 #define EL_MM_PACMAN_START             (EL_MM_START + 115)
 #define EL_MM_PACMAN_RIGHT             (EL_MM_PACMAN_START + 0)
 #define EL_MM_PACMAN_LEFT              (EL_MM_PACMAN_START + 2)
 #define EL_MM_PACMAN_DOWN              (EL_MM_PACMAN_START + 3)
 #define EL_MM_PACMAN_END               EL_MM_PACMAN_DOWN
-#define EL_MM_POLARISATOR_START                (EL_MM_START + 119)
-#define EL_MM_POLARISATOR_1            (EL_MM_POLARISATOR_START + 0)
-#define EL_MM_POLARISATOR_2            (EL_MM_POLARISATOR_START + 1)
-#define EL_MM_POLARISATOR_3            (EL_MM_POLARISATOR_START + 2)
-#define EL_MM_POLARISATOR_4            (EL_MM_POLARISATOR_START + 3)
-#define EL_MM_POLARISATOR_5            (EL_MM_POLARISATOR_START + 4)
-#define EL_MM_POLARISATOR_6            (EL_MM_POLARISATOR_START + 5)
-#define EL_MM_POLARISATOR_7            (EL_MM_POLARISATOR_START + 6)
-#define EL_MM_POLARISATOR_8            (EL_MM_POLARISATOR_START + 7)
-#define EL_MM_POLARISATOR_9            (EL_MM_POLARISATOR_START + 8)
-#define EL_MM_POLARISATOR_10           (EL_MM_POLARISATOR_START + 9)
-#define EL_MM_POLARISATOR_11           (EL_MM_POLARISATOR_START + 10)
-#define EL_MM_POLARISATOR_12           (EL_MM_POLARISATOR_START + 11)
-#define EL_MM_POLARISATOR_13           (EL_MM_POLARISATOR_START + 12)
-#define EL_MM_POLARISATOR_14           (EL_MM_POLARISATOR_START + 13)
-#define EL_MM_POLARISATOR_15           (EL_MM_POLARISATOR_START + 14)
-#define EL_MM_POLARISATOR_16           (EL_MM_POLARISATOR_START + 15)
-#define EL_MM_POLARISATOR_END          EL_MM_POLARISATOR_15
-#define EL_MM_POLARISATOR_CROSS_START  (EL_MM_START + 135)
-#define EL_MM_POLARISATOR_CROSS_1      (EL_MM_POLARISATOR_CROSS_START + 0)
-#define EL_MM_POLARISATOR_CROSS_2      (EL_MM_POLARISATOR_CROSS_START + 1)
-#define EL_MM_POLARISATOR_CROSS_3      (EL_MM_POLARISATOR_CROSS_START + 2)
-#define EL_MM_POLARISATOR_CROSS_4      (EL_MM_POLARISATOR_CROSS_START + 3)
-#define EL_MM_POLARISATOR_CROSS_END    EL_MM_POLARISATOR_CROSS_03
+#define EL_MM_POLARIZER_START          (EL_MM_START + 119)
+#define EL_MM_POLARIZER_1              (EL_MM_POLARIZER_START + 0)
+#define EL_MM_POLARIZER_2              (EL_MM_POLARIZER_START + 1)
+#define EL_MM_POLARIZER_3              (EL_MM_POLARIZER_START + 2)
+#define EL_MM_POLARIZER_4              (EL_MM_POLARIZER_START + 3)
+#define EL_MM_POLARIZER_5              (EL_MM_POLARIZER_START + 4)
+#define EL_MM_POLARIZER_6              (EL_MM_POLARIZER_START + 5)
+#define EL_MM_POLARIZER_7              (EL_MM_POLARIZER_START + 6)
+#define EL_MM_POLARIZER_8              (EL_MM_POLARIZER_START + 7)
+#define EL_MM_POLARIZER_9              (EL_MM_POLARIZER_START + 8)
+#define EL_MM_POLARIZER_10             (EL_MM_POLARIZER_START + 9)
+#define EL_MM_POLARIZER_11             (EL_MM_POLARIZER_START + 10)
+#define EL_MM_POLARIZER_12             (EL_MM_POLARIZER_START + 11)
+#define EL_MM_POLARIZER_13             (EL_MM_POLARIZER_START + 12)
+#define EL_MM_POLARIZER_14             (EL_MM_POLARIZER_START + 13)
+#define EL_MM_POLARIZER_15             (EL_MM_POLARIZER_START + 14)
+#define EL_MM_POLARIZER_16             (EL_MM_POLARIZER_START + 15)
+#define EL_MM_POLARIZER_END            EL_MM_POLARIZER_15
+#define EL_MM_POLARIZER_CROSS_START    (EL_MM_START + 135)
+#define EL_MM_POLARIZER_CROSS_1                (EL_MM_POLARIZER_CROSS_START + 0)
+#define EL_MM_POLARIZER_CROSS_2                (EL_MM_POLARIZER_CROSS_START + 1)
+#define EL_MM_POLARIZER_CROSS_3                (EL_MM_POLARIZER_CROSS_START + 2)
+#define EL_MM_POLARIZER_CROSS_4                (EL_MM_POLARIZER_CROSS_START + 3)
+#define EL_MM_POLARIZER_CROSS_END      EL_MM_POLARIZER_CROSS_03
 #define EL_MM_MIRROR_FIXED_START       (EL_MM_START + 139)
 #define EL_MM_MIRROR_FIXED_1           (EL_MM_MIRROR_FIXED_START + 0)
 #define EL_MM_MIRROR_FIXED_2           (EL_MM_MIRROR_FIXED_START + 1)
 #define EL_DF_STEEL_GRID_FIXED_END     EL_DF_STEEL_GRID_FIXED_07
 
 #define EL_DF_WOODEN_WALL_START                (EL_DF_START2 + 272)
+#define EL_DF_WOODEN_WALL_1            (EL_DF_WOODEN_WALL_START + 0)
 #define EL_DF_WOODEN_WALL_END          (EL_DF_WOODEN_WALL_START + 15)
 
 #define EL_DF_STEEL_WALL_START         (EL_DF_START2 + 288)
+#define EL_DF_STEEL_WALL_1             (EL_DF_STEEL_WALL_START + 0)
 #define EL_DF_STEEL_WALL_END           (EL_DF_STEEL_WALL_START + 15)
 
 #define EL_DF_WALL_START               EL_DF_WOODEN_WALL_START
 
 #define EL_DF_END                      (EL_DF_START2 + 355)
 
-#define EL_MM_BEAMER_RED_START         (EL_DF_START2 + 356)
-#define EL_MM_BEAMER_RED_1             (EL_MM_BEAMER_RED_START + 0)
-#define EL_MM_BEAMER_RED_2             (EL_MM_BEAMER_RED_START + 1)
-#define EL_MM_BEAMER_RED_3             (EL_MM_BEAMER_RED_START + 2)
-#define EL_MM_BEAMER_RED_4             (EL_MM_BEAMER_RED_START + 3)
-#define EL_MM_BEAMER_RED_5             (EL_MM_BEAMER_RED_START + 4)
-#define EL_MM_BEAMER_RED_6             (EL_MM_BEAMER_RED_START + 5)
-#define EL_MM_BEAMER_RED_7             (EL_MM_BEAMER_RED_START + 6)
-#define EL_MM_BEAMER_RED_8             (EL_MM_BEAMER_RED_START + 7)
-#define EL_MM_BEAMER_RED_9             (EL_MM_BEAMER_RED_START + 8)
-#define EL_MM_BEAMER_RED_10            (EL_MM_BEAMER_RED_START + 9)
-#define EL_MM_BEAMER_RED_11            (EL_MM_BEAMER_RED_START + 10)
-#define EL_MM_BEAMER_RED_12            (EL_MM_BEAMER_RED_START + 11)
-#define EL_MM_BEAMER_RED_13            (EL_MM_BEAMER_RED_START + 12)
-#define EL_MM_BEAMER_RED_14            (EL_MM_BEAMER_RED_START + 13)
-#define EL_MM_BEAMER_RED_15            (EL_MM_BEAMER_RED_START + 14)
-#define EL_MM_BEAMER_RED_16            (EL_MM_BEAMER_RED_START + 15)
-#define EL_MM_BEAMER_RED_END           EL_MM_BEAMER_RED_16
-#define EL_MM_BEAMER_YELLOW_START      (EL_DF_START2 + 372)
-#define EL_MM_BEAMER_YELLOW_1          (EL_MM_BEAMER_YELLOW_START + 0)
-#define EL_MM_BEAMER_YELLOW_2          (EL_MM_BEAMER_YELLOW_START + 1)
-#define EL_MM_BEAMER_YELLOW_3          (EL_MM_BEAMER_YELLOW_START + 2)
-#define EL_MM_BEAMER_YELLOW_4          (EL_MM_BEAMER_YELLOW_START + 3)
-#define EL_MM_BEAMER_YELLOW_5          (EL_MM_BEAMER_YELLOW_START + 4)
-#define EL_MM_BEAMER_YELLOW_6          (EL_MM_BEAMER_YELLOW_START + 5)
-#define EL_MM_BEAMER_YELLOW_7          (EL_MM_BEAMER_YELLOW_START + 6)
-#define EL_MM_BEAMER_YELLOW_8          (EL_MM_BEAMER_YELLOW_START + 7)
-#define EL_MM_BEAMER_YELLOW_9          (EL_MM_BEAMER_YELLOW_START + 8)
-#define EL_MM_BEAMER_YELLOW_10         (EL_MM_BEAMER_YELLOW_START + 9)
-#define EL_MM_BEAMER_YELLOW_11         (EL_MM_BEAMER_YELLOW_START + 10)
-#define EL_MM_BEAMER_YELLOW_12         (EL_MM_BEAMER_YELLOW_START + 11)
-#define EL_MM_BEAMER_YELLOW_13         (EL_MM_BEAMER_YELLOW_START + 12)
-#define EL_MM_BEAMER_YELLOW_14         (EL_MM_BEAMER_YELLOW_START + 13)
-#define EL_MM_BEAMER_YELLOW_15         (EL_MM_BEAMER_YELLOW_START + 14)
-#define EL_MM_BEAMER_YELLOW_16         (EL_MM_BEAMER_YELLOW_START + 15)
-#define EL_MM_BEAMER_YELLOW_END                EL_MM_BEAMER_YELLOW_16
-#define EL_MM_BEAMER_GREEN_START       (EL_DF_START2 + 388)
-#define EL_MM_BEAMER_GREEN_1           (EL_MM_BEAMER_GREEN_START + 0)
-#define EL_MM_BEAMER_GREEN_2           (EL_MM_BEAMER_GREEN_START + 1)
-#define EL_MM_BEAMER_GREEN_3           (EL_MM_BEAMER_GREEN_START + 2)
-#define EL_MM_BEAMER_GREEN_4           (EL_MM_BEAMER_GREEN_START + 3)
-#define EL_MM_BEAMER_GREEN_5           (EL_MM_BEAMER_GREEN_START + 4)
-#define EL_MM_BEAMER_GREEN_6           (EL_MM_BEAMER_GREEN_START + 5)
-#define EL_MM_BEAMER_GREEN_7           (EL_MM_BEAMER_GREEN_START + 6)
-#define EL_MM_BEAMER_GREEN_8           (EL_MM_BEAMER_GREEN_START + 7)
-#define EL_MM_BEAMER_GREEN_9           (EL_MM_BEAMER_GREEN_START + 8)
-#define EL_MM_BEAMER_GREEN_10          (EL_MM_BEAMER_GREEN_START + 9)
-#define EL_MM_BEAMER_GREEN_11          (EL_MM_BEAMER_GREEN_START + 10)
-#define EL_MM_BEAMER_GREEN_12          (EL_MM_BEAMER_GREEN_START + 11)
-#define EL_MM_BEAMER_GREEN_13          (EL_MM_BEAMER_GREEN_START + 12)
-#define EL_MM_BEAMER_GREEN_14          (EL_MM_BEAMER_GREEN_START + 13)
-#define EL_MM_BEAMER_GREEN_15          (EL_MM_BEAMER_GREEN_START + 14)
-#define EL_MM_BEAMER_GREEN_16          (EL_MM_BEAMER_GREEN_START + 15)
-#define EL_MM_BEAMER_GREEN_END         EL_MM_BEAMER_GREEN_16
-#define EL_MM_BEAMER_BLUE_START                (EL_DF_START2 + 404)
-#define EL_MM_BEAMER_BLUE_1            (EL_MM_BEAMER_BLUE_START + 0)
-#define EL_MM_BEAMER_BLUE_2            (EL_MM_BEAMER_BLUE_START + 1)
-#define EL_MM_BEAMER_BLUE_3            (EL_MM_BEAMER_BLUE_START + 2)
-#define EL_MM_BEAMER_BLUE_4            (EL_MM_BEAMER_BLUE_START + 3)
-#define EL_MM_BEAMER_BLUE_5            (EL_MM_BEAMER_BLUE_START + 4)
-#define EL_MM_BEAMER_BLUE_6            (EL_MM_BEAMER_BLUE_START + 5)
-#define EL_MM_BEAMER_BLUE_7            (EL_MM_BEAMER_BLUE_START + 6)
-#define EL_MM_BEAMER_BLUE_8            (EL_MM_BEAMER_BLUE_START + 7)
-#define EL_MM_BEAMER_BLUE_9            (EL_MM_BEAMER_BLUE_START + 8)
-#define EL_MM_BEAMER_BLUE_10           (EL_MM_BEAMER_BLUE_START + 9)
-#define EL_MM_BEAMER_BLUE_11           (EL_MM_BEAMER_BLUE_START + 10)
-#define EL_MM_BEAMER_BLUE_12           (EL_MM_BEAMER_BLUE_START + 11)
-#define EL_MM_BEAMER_BLUE_13           (EL_MM_BEAMER_BLUE_START + 12)
-#define EL_MM_BEAMER_BLUE_14           (EL_MM_BEAMER_BLUE_START + 13)
-#define EL_MM_BEAMER_BLUE_15           (EL_MM_BEAMER_BLUE_START + 14)
-#define EL_MM_BEAMER_BLUE_16           (EL_MM_BEAMER_BLUE_START + 15)
-#define EL_MM_BEAMER_BLUE_END          EL_MM_BEAMER_BLUE_16
+#define EL_MM_TELEPORTER_RED_START     (EL_DF_START2 + 356)
+#define EL_MM_TELEPORTER_RED_1         (EL_MM_TELEPORTER_RED_START + 0)
+#define EL_MM_TELEPORTER_RED_2         (EL_MM_TELEPORTER_RED_START + 1)
+#define EL_MM_TELEPORTER_RED_3         (EL_MM_TELEPORTER_RED_START + 2)
+#define EL_MM_TELEPORTER_RED_4         (EL_MM_TELEPORTER_RED_START + 3)
+#define EL_MM_TELEPORTER_RED_5         (EL_MM_TELEPORTER_RED_START + 4)
+#define EL_MM_TELEPORTER_RED_6         (EL_MM_TELEPORTER_RED_START + 5)
+#define EL_MM_TELEPORTER_RED_7         (EL_MM_TELEPORTER_RED_START + 6)
+#define EL_MM_TELEPORTER_RED_8         (EL_MM_TELEPORTER_RED_START + 7)
+#define EL_MM_TELEPORTER_RED_9         (EL_MM_TELEPORTER_RED_START + 8)
+#define EL_MM_TELEPORTER_RED_10                (EL_MM_TELEPORTER_RED_START + 9)
+#define EL_MM_TELEPORTER_RED_11                (EL_MM_TELEPORTER_RED_START + 10)
+#define EL_MM_TELEPORTER_RED_12                (EL_MM_TELEPORTER_RED_START + 11)
+#define EL_MM_TELEPORTER_RED_13                (EL_MM_TELEPORTER_RED_START + 12)
+#define EL_MM_TELEPORTER_RED_14                (EL_MM_TELEPORTER_RED_START + 13)
+#define EL_MM_TELEPORTER_RED_15                (EL_MM_TELEPORTER_RED_START + 14)
+#define EL_MM_TELEPORTER_RED_16                (EL_MM_TELEPORTER_RED_START + 15)
+#define EL_MM_TELEPORTER_RED_END       EL_MM_TELEPORTER_RED_16
+#define EL_MM_TELEPORTER_YELLOW_START  (EL_DF_START2 + 372)
+#define EL_MM_TELEPORTER_YELLOW_1      (EL_MM_TELEPORTER_YELLOW_START + 0)
+#define EL_MM_TELEPORTER_YELLOW_2      (EL_MM_TELEPORTER_YELLOW_START + 1)
+#define EL_MM_TELEPORTER_YELLOW_3      (EL_MM_TELEPORTER_YELLOW_START + 2)
+#define EL_MM_TELEPORTER_YELLOW_4      (EL_MM_TELEPORTER_YELLOW_START + 3)
+#define EL_MM_TELEPORTER_YELLOW_5      (EL_MM_TELEPORTER_YELLOW_START + 4)
+#define EL_MM_TELEPORTER_YELLOW_6      (EL_MM_TELEPORTER_YELLOW_START + 5)
+#define EL_MM_TELEPORTER_YELLOW_7      (EL_MM_TELEPORTER_YELLOW_START + 6)
+#define EL_MM_TELEPORTER_YELLOW_8      (EL_MM_TELEPORTER_YELLOW_START + 7)
+#define EL_MM_TELEPORTER_YELLOW_9      (EL_MM_TELEPORTER_YELLOW_START + 8)
+#define EL_MM_TELEPORTER_YELLOW_10     (EL_MM_TELEPORTER_YELLOW_START + 9)
+#define EL_MM_TELEPORTER_YELLOW_11     (EL_MM_TELEPORTER_YELLOW_START + 10)
+#define EL_MM_TELEPORTER_YELLOW_12     (EL_MM_TELEPORTER_YELLOW_START + 11)
+#define EL_MM_TELEPORTER_YELLOW_13     (EL_MM_TELEPORTER_YELLOW_START + 12)
+#define EL_MM_TELEPORTER_YELLOW_14     (EL_MM_TELEPORTER_YELLOW_START + 13)
+#define EL_MM_TELEPORTER_YELLOW_15     (EL_MM_TELEPORTER_YELLOW_START + 14)
+#define EL_MM_TELEPORTER_YELLOW_16     (EL_MM_TELEPORTER_YELLOW_START + 15)
+#define EL_MM_TELEPORTER_YELLOW_END    EL_MM_TELEPORTER_YELLOW_16
+#define EL_MM_TELEPORTER_GREEN_START   (EL_DF_START2 + 388)
+#define EL_MM_TELEPORTER_GREEN_1       (EL_MM_TELEPORTER_GREEN_START + 0)
+#define EL_MM_TELEPORTER_GREEN_2       (EL_MM_TELEPORTER_GREEN_START + 1)
+#define EL_MM_TELEPORTER_GREEN_3       (EL_MM_TELEPORTER_GREEN_START + 2)
+#define EL_MM_TELEPORTER_GREEN_4       (EL_MM_TELEPORTER_GREEN_START + 3)
+#define EL_MM_TELEPORTER_GREEN_5       (EL_MM_TELEPORTER_GREEN_START + 4)
+#define EL_MM_TELEPORTER_GREEN_6       (EL_MM_TELEPORTER_GREEN_START + 5)
+#define EL_MM_TELEPORTER_GREEN_7       (EL_MM_TELEPORTER_GREEN_START + 6)
+#define EL_MM_TELEPORTER_GREEN_8       (EL_MM_TELEPORTER_GREEN_START + 7)
+#define EL_MM_TELEPORTER_GREEN_9       (EL_MM_TELEPORTER_GREEN_START + 8)
+#define EL_MM_TELEPORTER_GREEN_10      (EL_MM_TELEPORTER_GREEN_START + 9)
+#define EL_MM_TELEPORTER_GREEN_11      (EL_MM_TELEPORTER_GREEN_START + 10)
+#define EL_MM_TELEPORTER_GREEN_12      (EL_MM_TELEPORTER_GREEN_START + 11)
+#define EL_MM_TELEPORTER_GREEN_13      (EL_MM_TELEPORTER_GREEN_START + 12)
+#define EL_MM_TELEPORTER_GREEN_14      (EL_MM_TELEPORTER_GREEN_START + 13)
+#define EL_MM_TELEPORTER_GREEN_15      (EL_MM_TELEPORTER_GREEN_START + 14)
+#define EL_MM_TELEPORTER_GREEN_16      (EL_MM_TELEPORTER_GREEN_START + 15)
+#define EL_MM_TELEPORTER_GREEN_END     EL_MM_TELEPORTER_GREEN_16
+#define EL_MM_TELEPORTER_BLUE_START    (EL_DF_START2 + 404)
+#define EL_MM_TELEPORTER_BLUE_1                (EL_MM_TELEPORTER_BLUE_START + 0)
+#define EL_MM_TELEPORTER_BLUE_2                (EL_MM_TELEPORTER_BLUE_START + 1)
+#define EL_MM_TELEPORTER_BLUE_3                (EL_MM_TELEPORTER_BLUE_START + 2)
+#define EL_MM_TELEPORTER_BLUE_4                (EL_MM_TELEPORTER_BLUE_START + 3)
+#define EL_MM_TELEPORTER_BLUE_5                (EL_MM_TELEPORTER_BLUE_START + 4)
+#define EL_MM_TELEPORTER_BLUE_6                (EL_MM_TELEPORTER_BLUE_START + 5)
+#define EL_MM_TELEPORTER_BLUE_7                (EL_MM_TELEPORTER_BLUE_START + 6)
+#define EL_MM_TELEPORTER_BLUE_8                (EL_MM_TELEPORTER_BLUE_START + 7)
+#define EL_MM_TELEPORTER_BLUE_9                (EL_MM_TELEPORTER_BLUE_START + 8)
+#define EL_MM_TELEPORTER_BLUE_10       (EL_MM_TELEPORTER_BLUE_START + 9)
+#define EL_MM_TELEPORTER_BLUE_11       (EL_MM_TELEPORTER_BLUE_START + 10)
+#define EL_MM_TELEPORTER_BLUE_12       (EL_MM_TELEPORTER_BLUE_START + 11)
+#define EL_MM_TELEPORTER_BLUE_13       (EL_MM_TELEPORTER_BLUE_START + 12)
+#define EL_MM_TELEPORTER_BLUE_14       (EL_MM_TELEPORTER_BLUE_START + 13)
+#define EL_MM_TELEPORTER_BLUE_15       (EL_MM_TELEPORTER_BLUE_START + 14)
+#define EL_MM_TELEPORTER_BLUE_16       (EL_MM_TELEPORTER_BLUE_START + 15)
+#define EL_MM_TELEPORTER_BLUE_END      EL_MM_TELEPORTER_BLUE_16
 
 #define EL_MM_MCDUFFIN                 1204
 #define EL_MM_PACMAN                   1205
 #define ACTION_EATING                  49
 #define ACTION_TWINKLING               50
 #define ACTION_SPLASHING               51
-#define ACTION_PAGE_1                  52
-#define ACTION_PAGE_2                  53
-#define ACTION_PAGE_3                  54
-#define ACTION_PAGE_4                  55
-#define ACTION_PAGE_5                  56
-#define ACTION_PAGE_6                  57
-#define ACTION_PAGE_7                  58
-#define ACTION_PAGE_8                  59
-#define ACTION_PAGE_9                  60
-#define ACTION_PAGE_10                 61
-#define ACTION_PAGE_11                 62
-#define ACTION_PAGE_12                 63
-#define ACTION_PAGE_13                 64
-#define ACTION_PAGE_14                 65
-#define ACTION_PAGE_15                 66
-#define ACTION_PAGE_16                 67
-#define ACTION_PAGE_17                 68
-#define ACTION_PAGE_18                 69
-#define ACTION_PAGE_19                 70
-#define ACTION_PAGE_20                 71
-#define ACTION_PAGE_21                 72
-#define ACTION_PAGE_22                 73
-#define ACTION_PAGE_23                 74
-#define ACTION_PAGE_24                 75
-#define ACTION_PAGE_25                 76
-#define ACTION_PAGE_26                 77
-#define ACTION_PAGE_27                 78
-#define ACTION_PAGE_28                 79
-#define ACTION_PAGE_29                 80
-#define ACTION_PAGE_30                 81
-#define ACTION_PAGE_31                 82
-#define ACTION_PAGE_32                 83
-#define ACTION_PART_1                  84
-#define ACTION_PART_2                  85
-#define ACTION_PART_3                  86
-#define ACTION_PART_4                  87
-#define ACTION_PART_5                  88
-#define ACTION_PART_6                  89
-#define ACTION_PART_7                  90
-#define ACTION_PART_8                  91
-#define ACTION_PART_9                  92
-#define ACTION_PART_10                 93
-#define ACTION_PART_11                 94
-#define ACTION_PART_12                 95
-#define ACTION_PART_13                 96
-#define ACTION_PART_14                 97
-#define ACTION_PART_15                 98
-#define ACTION_PART_16                 99
-#define ACTION_PART_17                 100
-#define ACTION_PART_18                 101
-#define ACTION_PART_19                 102
-#define ACTION_PART_20                 103
-#define ACTION_PART_21                 104
-#define ACTION_PART_22                 105
-#define ACTION_PART_23                 106
-#define ACTION_PART_24                 107
-#define ACTION_PART_25                 108
-#define ACTION_PART_26                 109
-#define ACTION_PART_27                 110
-#define ACTION_PART_28                 111
-#define ACTION_PART_29                 112
-#define ACTION_PART_30                 113
-#define ACTION_PART_31                 114
-#define ACTION_PART_32                 115
-#define ACTION_OTHER                   116
-
-#define NUM_ACTIONS                    117
+#define ACTION_HITTING                 52
+#define ACTION_PAGE_1                  53
+#define ACTION_PAGE_2                  54
+#define ACTION_PAGE_3                  55
+#define ACTION_PAGE_4                  56
+#define ACTION_PAGE_5                  57
+#define ACTION_PAGE_6                  58
+#define ACTION_PAGE_7                  59
+#define ACTION_PAGE_8                  60
+#define ACTION_PAGE_9                  61
+#define ACTION_PAGE_10                 62
+#define ACTION_PAGE_11                 63
+#define ACTION_PAGE_12                 64
+#define ACTION_PAGE_13                 65
+#define ACTION_PAGE_14                 66
+#define ACTION_PAGE_15                 67
+#define ACTION_PAGE_16                 68
+#define ACTION_PAGE_17                 69
+#define ACTION_PAGE_18                 70
+#define ACTION_PAGE_19                 71
+#define ACTION_PAGE_20                 72
+#define ACTION_PAGE_21                 73
+#define ACTION_PAGE_22                 74
+#define ACTION_PAGE_23                 75
+#define ACTION_PAGE_24                 76
+#define ACTION_PAGE_25                 77
+#define ACTION_PAGE_26                 78
+#define ACTION_PAGE_27                 79
+#define ACTION_PAGE_28                 80
+#define ACTION_PAGE_29                 81
+#define ACTION_PAGE_30                 82
+#define ACTION_PAGE_31                 83
+#define ACTION_PAGE_32                 84
+#define ACTION_PART_1                  85
+#define ACTION_PART_2                  86
+#define ACTION_PART_3                  87
+#define ACTION_PART_4                  88
+#define ACTION_PART_5                  89
+#define ACTION_PART_6                  90
+#define ACTION_PART_7                  91
+#define ACTION_PART_8                  92
+#define ACTION_PART_9                  93
+#define ACTION_PART_10                 94
+#define ACTION_PART_11                 95
+#define ACTION_PART_12                 96
+#define ACTION_PART_13                 97
+#define ACTION_PART_14                 98
+#define ACTION_PART_15                 99
+#define ACTION_PART_16                 100
+#define ACTION_PART_17                 101
+#define ACTION_PART_18                 102
+#define ACTION_PART_19                 103
+#define ACTION_PART_20                 104
+#define ACTION_PART_21                 105
+#define ACTION_PART_22                 106
+#define ACTION_PART_23                 107
+#define ACTION_PART_24                 108
+#define ACTION_PART_25                 109
+#define ACTION_PART_26                 110
+#define ACTION_PART_27                 111
+#define ACTION_PART_28                 112
+#define ACTION_PART_29                 113
+#define ACTION_PART_30                 114
+#define ACTION_PART_31                 115
+#define ACTION_PART_32                 116
+#define ACTION_OTHER                   117
+
+#define NUM_ACTIONS                    118
 
 #define ACTION_BORING_LAST             ACTION_BORING_10
 #define ACTION_SLEEPING_LAST           ACTION_SLEEPING_3
@@ -2713,6 +2721,22 @@ struct MenuInfo
   int list_size[NUM_SPECIAL_GFX_ARGS];
   int list_size_info[NUM_SPECIAL_GFX_INFO_ARGS];
 
+  int paragraph_spacing[NUM_SPECIAL_GFX_INFO_ARGS];
+  int paragraph_spacing_info[NUM_SPECIAL_GFX_INFO_ARGS];
+  int paragraph_spacing_setup[NUM_SPECIAL_GFX_INFO_ARGS];
+  int headline1_spacing[NUM_SPECIAL_GFX_INFO_ARGS];
+  int headline1_spacing_info[NUM_SPECIAL_GFX_INFO_ARGS];
+  int headline1_spacing_setup[NUM_SPECIAL_GFX_INFO_ARGS];
+  int headline2_spacing[NUM_SPECIAL_GFX_INFO_ARGS];
+  int headline2_spacing_info[NUM_SPECIAL_GFX_INFO_ARGS];
+  int headline2_spacing_setup[NUM_SPECIAL_GFX_INFO_ARGS];
+  int line_spacing[NUM_SPECIAL_GFX_INFO_ARGS];
+  int line_spacing_info[NUM_SPECIAL_GFX_INFO_ARGS];
+  int line_spacing_setup[NUM_SPECIAL_GFX_INFO_ARGS];
+  int extra_spacing[NUM_SPECIAL_GFX_INFO_ARGS];
+  int extra_spacing_info[NUM_SPECIAL_GFX_INFO_ARGS];
+  int extra_spacing_setup[NUM_SPECIAL_GFX_INFO_ARGS];
+
   struct TitleFadingInfo enter_menu;
   struct TitleFadingInfo leave_menu;
   struct TitleFadingInfo enter_screen[NUM_SPECIAL_GFX_ARGS];
@@ -2742,6 +2766,7 @@ struct DoorInfo
   int height;
   int step_offset;
   int step_delay;
+  int post_delay;
   int anim_mode;
 };
 
@@ -2793,6 +2818,8 @@ struct EditorSettingsInfo
   struct XY element_name;
 
   struct EditorTabsInfo tabs;
+
+  struct XY tooltip;
 };
 
 struct EditorGadgetInfo
@@ -3054,6 +3081,9 @@ struct LevelInfo
   boolean mm_laser_red, mm_laser_green, mm_laser_blue;
   boolean df_laser_red, df_laser_green, df_laser_blue;
   int mm_time_fuse;
+  int mm_time_bomb;
+  int mm_time_ball;
+  int mm_time_block;
 
   /* ('int' instead of 'boolean' because used as selectbox value in editor) */
   int use_step_counter;                /* count steps instead of seconds for level */