X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FDoGameStuff.c;h=81f4a9546becbef16c27058cd7d70e6998385250;hb=f926e522aef77158e0011ae5ad2cf8805509d6d1;hp=27aa1c566c563625b2cb670727fc1a649258440a;hpb=8d3d7d213a9691455a49544624bf380e85f43461;p=rocksndiamonds.git diff --git a/src/game_sp/DoGameStuff.c b/src/game_sp/DoGameStuff.c index 27aa1c56..81f4a954 100644 --- a/src/game_sp/DoGameStuff.c +++ b/src/game_sp/DoGameStuff.c @@ -25,7 +25,7 @@ int subDoGameStuff() 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: @@ -66,16 +66,67 @@ int subDoGameStuff() } // 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: