added option to explode gray ball instead of melting for MM engine
[rocksndiamonds.git] / src / main.h
index 72434f6d63728a7d56c137e4156243c565c41690..bd672e761804526e148f6ffcc0201baad76df192 100644 (file)
 #define EL_EMC_SPRING_BUMPER_ACTIVE    (EL_FIRST_RUNTIME_REAL + 71)
 #define EL_MM_EXIT_OPENING             (EL_FIRST_RUNTIME_REAL + 72)
 #define EL_MM_EXIT_CLOSING             (EL_FIRST_RUNTIME_REAL + 73)
-#define EL_MM_GRAY_BALL_OPENING                (EL_FIRST_RUNTIME_REAL + 74)
-#define EL_MM_ICE_WALL_SHRINKING       (EL_FIRST_RUNTIME_REAL + 75)
-#define EL_MM_AMOEBA_WALL_GROWING      (EL_FIRST_RUNTIME_REAL + 76)
-#define EL_MM_PACMAN_EATING_RIGHT      (EL_FIRST_RUNTIME_REAL + 77)
-#define EL_MM_PACMAN_EATING_UP         (EL_FIRST_RUNTIME_REAL + 78)
-#define EL_MM_PACMAN_EATING_LEFT       (EL_FIRST_RUNTIME_REAL + 79)
-#define EL_MM_PACMAN_EATING_DOWN       (EL_FIRST_RUNTIME_REAL + 80)
-#define EL_MM_BOMB_ACTIVE              (EL_FIRST_RUNTIME_REAL + 81)
-#define EL_DF_MINE_ACTIVE              (EL_FIRST_RUNTIME_REAL + 82)
-
-#define NUM_DRAWABLE_ELEMENTS          (EL_FIRST_RUNTIME_REAL + 83)
+#define EL_MM_GRAY_BALL_ACTIVE         (EL_FIRST_RUNTIME_REAL + 74)
+#define EL_MM_GRAY_BALL_OPENING                (EL_FIRST_RUNTIME_REAL + 75)
+#define EL_MM_ICE_WALL_SHRINKING       (EL_FIRST_RUNTIME_REAL + 76)
+#define EL_MM_AMOEBA_WALL_GROWING      (EL_FIRST_RUNTIME_REAL + 77)
+#define EL_MM_PACMAN_EATING_RIGHT      (EL_FIRST_RUNTIME_REAL + 78)
+#define EL_MM_PACMAN_EATING_UP         (EL_FIRST_RUNTIME_REAL + 79)
+#define EL_MM_PACMAN_EATING_LEFT       (EL_FIRST_RUNTIME_REAL + 80)
+#define EL_MM_PACMAN_EATING_DOWN       (EL_FIRST_RUNTIME_REAL + 81)
+#define EL_MM_BOMB_ACTIVE              (EL_FIRST_RUNTIME_REAL + 82)
+#define EL_DF_MINE_ACTIVE              (EL_FIRST_RUNTIME_REAL + 83)
+
+#define NUM_DRAWABLE_ELEMENTS          (EL_FIRST_RUNTIME_REAL + 84)
 
 #define EL_MM_RUNTIME_START            EL_MM_EXIT_OPENING
 #define EL_MM_RUNTIME_END              EL_MM_AMOEBA_WALL_GROWING
@@ -2340,6 +2341,7 @@ enum
   GFX_SPECIAL_ARG_SCORESNEW,
   GFX_SPECIAL_ARG_NO_TITLE,
   GFX_SPECIAL_ARG_FADING,
+  GFX_SPECIAL_ARG_RESTARTING,
   GFX_SPECIAL_ARG_QUIT,
 
   NUM_SPECIAL_GFX_ARGS
@@ -2599,6 +2601,7 @@ enum
 #define GAME_MODE_PSEUDO_SCORESNEW     GFX_SPECIAL_ARG_SCORESNEW
 #define GAME_MODE_PSEUDO_NO_TITLE      GFX_SPECIAL_ARG_NO_TITLE
 #define GAME_MODE_PSEUDO_FADING                GFX_SPECIAL_ARG_FADING
+#define GAME_MODE_PSEUDO_RESTARTING    GFX_SPECIAL_ARG_RESTARTING
 #define GAME_MODE_QUIT                 GFX_SPECIAL_ARG_QUIT
 
 #define NUM_GAME_MODES                 NUM_SPECIAL_GFX_ARGS
@@ -2616,7 +2619,7 @@ enum
 #define PROGRAM_VERSION_SUPER          4
 #define PROGRAM_VERSION_MAJOR          3
 #define PROGRAM_VERSION_MINOR          5
-#define PROGRAM_VERSION_PATCH          0
+#define PROGRAM_VERSION_PATCH          2
 #define PROGRAM_VERSION_EXTRA          ""
 
 #define PROGRAM_TITLE_STRING           "Rocks'n'Diamonds"
@@ -3308,6 +3311,8 @@ struct LevelInfo
   int num_mm_ball_contents;
   int mm_ball_choice_mode;
   int mm_ball_content[MAX_MM_BALL_CONTENTS];
+  boolean rotate_mm_ball_content;
+  boolean explode_mm_ball;
 
   // ('int' instead of 'boolean' because used as selectbox value in editor)
   int use_step_counter;                // count steps instead of seconds for level