changed variable name
[rocksndiamonds.git] / src / game.c
index 4a3d1eef4d4e63bbe088da3b3209f31ce03088ad..a780952b9749960b09146a81745a8dbf496be539 100644 (file)
@@ -1683,6 +1683,30 @@ int GetElementFromGroupElement(int element)
   return element;
 }
 
+static void IncrementPlayerSokobanFieldsNeeded(struct PlayerInfo *player)
+{
+  if (level.sb_fields_needed)
+    player->sokoban_fields_still_needed++;
+}
+
+static void IncrementPlayerSokobanObjectsNeeded(struct PlayerInfo *player)
+{
+  if (level.sb_objects_needed)
+    player->sokoban_objects_still_needed++;
+}
+
+static void DecrementPlayerSokobanFieldsNeeded(struct PlayerInfo *player)
+{
+  if (player->sokoban_fields_still_needed > 0)
+    player->sokoban_fields_still_needed--;
+}
+
+static void DecrementPlayerSokobanObjectsNeeded(struct PlayerInfo *player)
+{
+  if (player->sokoban_objects_still_needed > 0)
+    player->sokoban_objects_still_needed--;
+}
+
 static void InitPlayerField(int x, int y, int element, boolean init_game)
 {
   if (element == EL_SP_MURPHY)
@@ -1792,11 +1816,11 @@ static void InitField(int x, int y, boolean init_game)
       break;
 
     case EL_SOKOBAN_FIELD_EMPTY:
-      local_player->sokoban_fields_still_needed++;
+      IncrementPlayerSokobanFieldsNeeded(local_player);
       break;
 
     case EL_SOKOBAN_OBJECT:
-      local_player->sokoban_objects_still_needed++;
+      IncrementPlayerSokobanObjectsNeeded(local_player);
       break;
 
     case EL_STONEBLOCK:
@@ -11110,17 +11134,17 @@ static void CheckLevelSolved(void)
   }
   else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
   {
-    if (game_sp.LevelSolved &&
-       !game_sp.GameOver)                              // game won
+    if (game_sp.level_solved &&
+       !game_sp.game_over)                             // game won
     {
       PlayerWins(local_player);
 
-      game_sp.GameOver = TRUE;
+      game_sp.game_over = TRUE;
 
       AllPlayersGone = TRUE;
     }
 
-    if (game_sp.GameOver)                              // game lost
+    if (game_sp.game_over)                             // game lost
       AllPlayersGone = TRUE;
   }
   else if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
@@ -13948,15 +13972,17 @@ static int DigField(struct PlayerInfo *player,
       if (element == EL_SOKOBAN_FIELD_FULL)
       {
        Back[x][y] = EL_SOKOBAN_FIELD_EMPTY;
-       local_player->sokoban_fields_still_needed++;
-       local_player->sokoban_objects_still_needed++;
+
+       IncrementPlayerSokobanFieldsNeeded(local_player);
+       IncrementPlayerSokobanObjectsNeeded(local_player);
       }
 
       if (Feld[nextx][nexty] == EL_SOKOBAN_FIELD_EMPTY)
       {
        Back[nextx][nexty] = EL_SOKOBAN_FIELD_EMPTY;
-       local_player->sokoban_fields_still_needed--;
-       local_player->sokoban_objects_still_needed--;
+
+       DecrementPlayerSokobanFieldsNeeded(local_player);
+       DecrementPlayerSokobanObjectsNeeded(local_player);
 
        // sokoban object was pushed from empty field to sokoban field
        if (Back[x][y] == EL_EMPTY)
@@ -15017,7 +15043,7 @@ boolean checkGameFailed(void)
   if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
     return (level.native_em_level->lev->home > 0);
   else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
-    return (game_sp.GameOver && !game_sp.LevelSolved);
+    return (game_sp.game_over && !game_sp.level_solved);
   else if (level.game_engine_type == GAME_ENGINE_TYPE_MM)
     return (game_mm.game_over && !game_mm.level_solved);
   else                         // GAME_ENGINE_TYPE_RND