X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2FDoGameStuff.c;h=7a7c1ac77919bfb0dc60bef1f6cc901e2999715d;hb=520916c89d7d96944bf3d66e3caa5afd840df74c;hp=3bef36841c1bf6941f2757c8575fd624e7fa6b74;hpb=ce0bba1a070e5e64939491eb68087f68ef8fe870;p=rocksndiamonds.git diff --git a/src/game_sp/DoGameStuff.c b/src/game_sp/DoGameStuff.c index 3bef3684..7a7c1ac7 100644 --- a/src/game_sp/DoGameStuff.c +++ b/src/game_sp/DoGameStuff.c @@ -8,8 +8,8 @@ static void CallAnimation(int si, byte bl); static boolean IsToBeAnimated(int bl); -int *AnimationPosTable; -byte *AnimationSubTable; +int AnimationPosTable[SP_MAX_PLAYFIELD_SIZE]; +byte AnimationSubTable[SP_MAX_PLAYFIELD_SIZE]; // ========================================================================== @@ -20,9 +20,13 @@ byte *AnimationSubTable; void subDoGameStuff() { int si, cx, dx, bl; + int InfotronsNeeded_last = InfotronsNeeded; subAnimateMurphy(&MurphyPosIndex); // move Murphy in any direction + if (InfotronsNeeded != InfotronsNeeded_last) + game.snapshot.collected_item = TRUE; + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Build a database of locations and subs-to-call of animatable fields only: // Make a snapshot from the field before the animation cycle starts. @@ -70,19 +74,10 @@ void subDoGameStuff() !game_sp.LevelSolved && !game_sp.GameOver) { -#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 - printf("::: DoGameStuff.c: !!!!!!!!!! GAME OVER !!!!!!!!!!\n"); - printf("::: [KillMurphyFlag == %d]\n", KillMurphyFlag); -#endif - /* give Murphy some more time (LeadOutCounter) to reach the exit */ } } // loc_g_22FB: