#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
// data structure definitions
// ----------------------------------------------------------------------------
-struct GlobalInfo_MM
-{
-};
-
struct CycleList
{
int x, y;
int fuse_x, fuse_y;
int dest_element;
+ int dest_element_last;
+ int dest_element_last_x;
+ int dest_element_last_y;
boolean stops_inside_element;
boolean redraw;
short field[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
};
-struct GraphicInfo_MM
-{
-};
-
struct EngineSnapshotInfo_MM
{
struct GameInfo_MM game_mm;
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 hold_x, hold_y;
int pacman_nr;
- unsigned int rotate_delay;
- unsigned int pacman_delay;
- unsigned int energy_delay;
- unsigned int overload_delay;
+ DelayCounter rotate_delay;
+ DelayCounter pacman_delay;
+ DelayCounter energy_delay;
+ DelayCounter overload_delay;
};
// exported functions
// ----------------------------------------------------------------------------
-extern struct GlobalInfo_MM global_mm_info;
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];
void mm_open_all(void);
-void mm_close_all(void);
void InitElementProperties_MM(void);
void InitGameEngine_MM(void);
void InitGameActions_MM(void);
-void GameActions_MM(struct MouseActionInfo, boolean);
+void GameActions_MM(struct MouseActionInfo);
void DrawLaser_MM(void);
+void DrawTileCursor_MM(int, boolean);
boolean ClickElement(int, int, int);
void RedrawPlayfield_MM(void);
void LoadEngineSnapshotValues_MM(void);
-void SaveEngineSnapshotValues_MM(ListNode **);
+void SaveEngineSnapshotValues_MM(void);
int getButtonFromTouchPosition(int, int, int, int);