#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
+
/* ------------------------------------------------------------------------- */
/* data structure definitions */
boolean cheat_no_explosion;
int laser_overload_value;
+ boolean laser_enabled;
};
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];
};
struct EngineSnapshotInfo_MM
{
struct GameInfo_MM game_mm;
+
+ struct LaserInfo laser;
+
+ short Ur[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
+ short Hit[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
+ short Box[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
+ short Angle[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
+ short Frame[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
+
+ short LX,LY, XS,YS, ELX,ELY;
+ short CT,Ct;
+
+ int last_LX, last_LY, last_hit_mask;
+ int hold_x, hold_y;
+ int pacman_nr;
+
+ unsigned int rotate_delay;
+ unsigned int pacman_delay;
+ unsigned int energy_delay;
+ unsigned int overload_delay;
};
extern void InitGameEngine_MM();
extern void InitGameActions_MM();
-extern void GameActions_MM(byte *, boolean);
+extern void GameActions_MM(struct MouseActionInfo, boolean);
-extern void ClickElement(int, int, int);
+extern void DrawLaser_MM();
+
+extern boolean ClickElement(int, int, int);
extern unsigned int InitEngineRandom_MM(int);
extern void LoadEngineSnapshotValues_MM();
extern void SaveEngineSnapshotValues_MM(ListNode **);
+extern int getButtonFromTouchPosition(int, int, int, int);
+
#endif /* GAME_MM_EXPORT_H */