added configurable delay times for some MM style elements (MM engine)
[rocksndiamonds.git] / src / game_mm / export.h
index 5ca618cdd30a231cd35f544c37da81f14674dfd3..f48cd4738eb8d28d20c51455eccb2c14d7088da0 100644 (file)
 #define MM_MAX_LEVEL_AUTHOR_LEN                32
 
 
-#define EL_EMPTY_NATIVE_MM             0
-#define EL_DF_EMPTY_NATIVE_MM          304
+#define EL_MM_START_1_NATIVE           0
+#define EL_MM_END_1_NATIVE             155
 
-#define EL_MM_START_NATIVE_MM          0
-#define EL_MM_END_NATIVE_MM            430
+#define EL_MM_CHAR_START_NATIVE                160
+#define EL_MM_CHAR_END_NATIVE          239
 
-#define EL_CHAR_START_NATIVE_MM                160
-#define EL_CHAR_END_NATIVE_MM          239
+#define EL_MM_START_2_NATIVE           240
+#define EL_MM_END_2_NATIVE             430
 
-#define EL_DF_START_NATIVE_MM          240
-#define EL_DF_END_NATIVE_MM            355
+#define EL_MM_RUNTIME_START_NATIVE     500
+#define EL_MM_RUNTIME_END_NATIVE       504
 
-#define EL_MM_RUNTIME_START_NATIVE_MM  500
-#define EL_MM_RUNTIME_END_NATIVE_MM    504
+#define EL_MM_DUMMY_START_NATIVE       700
+#define EL_MM_DUMMY_END_NATIVE         709
 
-#define EL_MM_DUMMY_START_NATIVE_MM    700
-#define EL_MM_DUMMY_END_NATIVE_MM      709
+/* elements to be specially mapped */
+#define EL_MM_EMPTY_NATIVE             0
+#define EL_DF_EMPTY_NATIVE             304
+
+/* sounds */
+#define SND_MM_GAME_LEVELTIME_CHARGING 0
+#define SND_MM_GAME_HEALTH_CHARGING    1
 
 
 /* ------------------------------------------------------------------------- */
@@ -144,6 +149,9 @@ struct GameInfo_MM
 
   boolean cheat_no_overload;
   boolean cheat_no_explosion;
+
+  int laser_overload_value;
+  boolean laser_enabled;
 };
 
 struct LevelInfo_MM
@@ -163,6 +171,9 @@ struct LevelInfo_MM
   int score[MM_LEVEL_SCORE_ELEMENTS];
   int amoeba_speed;
   int time_fuse;
+  int time_bomb;
+  int time_ball;
+  int time_block;
 
   short field[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
 };
@@ -186,13 +197,20 @@ extern struct GameInfo_MM game_mm;
 extern struct LevelInfo_MM native_mm_level;
 extern struct EngineSnapshotInfo_MM engine_snapshot_mm;
 
+extern short Ur[MM_MAX_PLAYFIELD_WIDTH][MM_MAX_PLAYFIELD_HEIGHT];
+
 extern void mm_open_all();
 extern void mm_close_all();
 
+void InitElementProperties_MM();
+
 extern void InitGfxBuffers_MM();
 
 extern void InitGameEngine_MM();
-extern void GameActions_MM(byte *, boolean);
+extern void InitGameActions_MM();
+extern void GameActions_MM(struct MouseActionInfo, boolean);
+
+extern void DrawLaser_MM();
 
 extern void ClickElement(int, int, int);