fixed compiler warnings (after adding "-Wstrict-prototypes")
[rocksndiamonds.git] / src / game_sp / DoGameStuff.c
index 3bef36841c1bf6941f2757c8575fd624e7fa6b74..2ba35823a8db9fc16c5b24d9b05d71f797240a50 100644 (file)
@@ -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];
 
 
 // ==========================================================================
@@ -17,12 +17,16 @@ byte *AnimationSubTable;
 // Do game stuff
 // ==========================================================================
 
-void subDoGameStuff()
+void subDoGameStuff(void)
 {
   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: