fixed sound for charging level time (energy) for MM engine
[rocksndiamonds.git] / src / game_mm / export.h
index 2bbd5dc4f74a3bdb2f7c463f91a03685a3b3629a..1ea220b43c492cf92d8062f19f4ad301c113edfd 100644 (file)
 #define MM_MAX_PLAYFIELD_SIZE          (MM_MAX_PLAYFIELD_WIDTH *       \
                                         MM_MAX_PLAYFIELD_HEIGHT)
 
 #define MM_MAX_PLAYFIELD_SIZE          (MM_MAX_PLAYFIELD_WIDTH *       \
                                         MM_MAX_PLAYFIELD_HEIGHT)
 
-#define MAX_NUM_AMOEBA         100
-#define MAX_NUM_BEAMERS                8
+#define MAX_NUM_AMOEBA                 100
+#define MAX_NUM_BEAMERS                        8
 
 
-#define MAX_LASER_LEN          256
-#define MAX_LASER_ENERGY       100
-#define MAX_LASER_OVERLOAD     100
+#define MAX_LASER_LEN                  256
+#define MAX_LASER_ENERGY               100
+#define MAX_LASER_OVERLOAD             100
 
 
-#define MM_LEVEL_SCORE_ELEMENTS        16
+#define MM_LEVEL_SCORE_ELEMENTS                16
 
 
-#define MM_MAX_LEVEL_NAME_LEN  32
-#define MM_MAX_LEVEL_AUTHOR_LEN        32
+#define MM_MAX_LEVEL_NAME_LEN          32
+#define MM_MAX_LEVEL_AUTHOR_LEN                32
+
+
+#define EL_MM_START_1_NATIVE           0
+#define EL_MM_END_1_NATIVE             155
+
+#define EL_MM_CHAR_START_NATIVE                160
+#define EL_MM_CHAR_END_NATIVE          239
+
+#define EL_MM_START_2_NATIVE           240
+#define EL_MM_END_2_NATIVE             430
+
+#define EL_MM_RUNTIME_START_NATIVE     500
+#define EL_MM_RUNTIME_END_NATIVE       504
+
+#define EL_MM_DUMMY_START_NATIVE       700
+#define EL_MM_DUMMY_END_NATIVE         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
 
 
 /* ------------------------------------------------------------------------- */
 
 
 /* ------------------------------------------------------------------------- */
@@ -125,6 +148,8 @@ struct GameInfo_MM
 
   boolean cheat_no_overload;
   boolean cheat_no_explosion;
 
   boolean cheat_no_overload;
   boolean cheat_no_explosion;
+
+  int laser_overload_value;
 };
 
 struct LevelInfo_MM
 };
 
 struct LevelInfo_MM
@@ -154,6 +179,7 @@ struct GraphicInfo_MM
 
 struct EngineSnapshotInfo_MM
 {
 
 struct EngineSnapshotInfo_MM
 {
+  struct GameInfo_MM game_mm;
 };
 
 
 };
 
 
@@ -166,13 +192,20 @@ extern struct GameInfo_MM game_mm;
 extern struct LevelInfo_MM native_mm_level;
 extern struct EngineSnapshotInfo_MM engine_snapshot_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();
 
 extern void mm_open_all();
 extern void mm_close_all();
 
+void InitElementProperties_MM();
+
 extern void InitGfxBuffers_MM();
 
 extern void InitGameEngine_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 ClickElement(int, int, int);
 
 extern unsigned int InitEngineRandom_MM(int);
 
 
 extern unsigned int InitEngineRandom_MM(int);