rnd-20060207-2-src
[rocksndiamonds.git] / src / screens.c
index 013993c02a80b859c3ba1b0e856f0a19ea20b041..999e933ea408dc2e322386f679ce2b33f7eb40a9 100644 (file)
@@ -3091,8 +3091,10 @@ void HandleGameActions()
        return;
     }
 
-    if (level.native_em_level->ply1->alive == 0 &&
-       level.native_em_level->ply2->alive == 0)        /* all dead */
+    if (level.native_em_level->ply[0]->alive == 0 &&
+       level.native_em_level->ply[1]->alive == 0 &&
+       level.native_em_level->ply[2]->alive == 0 &&
+       level.native_em_level->ply[3]->alive == 0)      /* all dead */
       AllPlayersGone = TRUE;
 
     if (AllPlayersGone && !TAPE_IS_STOPPED(tape))
@@ -3146,7 +3148,18 @@ void HandleGameActions()
     if (tape.recording)
       TapeRecordAction(tape_action);
 
+#if 1
+    {
+      byte effective_action[MAX_PLAYERS];
+
+      for (i = 0; i < MAX_PLAYERS; i++)
+       effective_action[i] = stored_player[i].effective_action;
+
+      GameActions_EM(effective_action);
+    }
+#else
     GameActions_EM(local_player->effective_action);
+#endif
 
     if (TimeFrames >= FRAMES_PER_SECOND)
     {