HandleSetupScreen(mx, my, 0, 0, button);
break;
-#if defined(TARGET_SDL2)
case GAME_MODE_PLAYING:
- HandleFollowFinger(mx, my, button);
+ if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
+ ClickElement(mx, my, button);
+#if defined(TARGET_SDL2)
+ else
+ HandleFollowFinger(mx, my, button);
#endif
#ifdef DEBUG
void HandleNoEvent()
{
// if (button_status && game_status != GAME_MODE_PLAYING)
- if (button_status && (game_status != GAME_MODE_PLAYING || tape.pausing))
+ if (button_status && (game_status != GAME_MODE_PLAYING ||
+ tape.pausing ||
+ level.game_engine_type == GAME_ENGINE_TYPE_MM))
{
HandleButton(0, 0, button_status, -button_status);
}
extern void InitGameEngine_MM();
extern void GameActions_MM(byte *, boolean);
+extern void ClickElement(int, int, int);
+
extern unsigned int InitEngineRandom_MM(int);
extern void setLevelInfoToDefaults_MM();
}
}
-void GameActions_MM(byte action[MAX_PLAYERS], boolean warp_mode)
+static void GameActions_MM_Ext(byte action[MAX_PLAYERS], boolean warp_mode)
{
static unsigned int action_delay = 0;
static unsigned int pacman_delay = 0;
return;
}
+void GameActions_MM(byte action[MAX_PLAYERS], boolean warp_mode)
+{
+ if (!button_status)
+ ClickElement(0, 0, MB_NOT_PRESSED);
+
+ GameActions_MM_Ext(action, warp_mode);
+}
+
void MovePacMen()
{
static int p = -1;
boolean HitLaserDestination(int, int);
boolean HitReflectingWalls(int, int);
boolean HitAbsorbingWalls(int, int);
-void ClickElement(int, int, int);
void RotateMirror(int, int, int);
boolean ObjHit(int, int, int);
void DeletePacMan(int, int);