int si, cx, dx, bl;
- subAnimateMurphy(MurphyPosIndex); // move Murphy in any direction
+ subAnimateMurphy(&MurphyPosIndex); // move Murphy in any direction
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Build a database of locations and subs-to-call of animatable fields only:
} // loop locloop_g_22B8 ' until all animatables done
}
+#if 0
+ printf("::: DoGameStuff.c: KillMurphyFlag == %d [%d]\n",
+ KillMurphyFlag, MurphyMoveCounter);
+#endif
+
// All animations are done now
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if (KillMurphyFlag == 1 || MurphyMoveCounter == 0)
{
+#if 1
+ if (LeadOutCounter == 0 &&
+ !game_sp.LevelSolved &&
+ !game_sp.GameOver)
+#else
if (LeadOutCounter == 0)
+#endif
{
+#if 1
+ printf("::: DoGameStuff.c: killing murphy [%d] ...\n", KillMurphyFlag);
+#endif
+
KillMurphyFlag = 0; // no more "kill Murphy"
ExplodeFieldSP(MurphyExplodePos); // Explode
LeadOutCounter = 0x40; // quit: start lead-out
+
+#if 1
+
+#if 1
+ printf("::: DoGameStuff.c: !!!!!!!!!! GAME OVER !!!!!!!!!!\n");
+ printf("::: [KillMurphyFlag == %d]\n", KillMurphyFlag);
+#endif
+
+#if 1
+ /* give Murphy some more time (LeadOutCounter) to reach the exit */
+#else
+ game_sp.GameOver = TRUE;
+#endif
+
+#endif
}
+
+#if 1
+#if 0
+ printf("::: *** %d, %d, %d\n", KillMurphyFlag,
+ game_sp.LevelSolved, game_sp.GameOver);
+#endif
+
+#if 0
+ if (KillMurphyFlag == 1 &&
+ !game_sp.LevelSolved &&
+ !game_sp.GameOver)
+ {
+#if 1
+ printf("::: DoGameStuff.c: !!!!!!!!!! GAME OVER !!!!!!!!!!\n");
+#endif
+
+ game_sp.GameOver = TRUE;
+ }
+#endif
+#endif
+
} // loc_g_22FB: