changed listing all invalid SP level file elements only in debug mode 4.0.1.2
authorHolger Schemel <info@artsoft.org>
Fri, 23 Feb 2018 00:04:25 +0000 (01:04 +0100)
committerHolger Schemel <info@artsoft.org>
Fri, 23 Feb 2018 00:04:25 +0000 (01:04 +0100)
src/files.c

index 757e32a3e63cc821ab87db56f7b010be0b57230b..85d171287bebb4703b146aa53aa283d27ad2ae37 100644 (file)
@@ -3664,6 +3664,7 @@ void CopyNativeLevel_SP_to_RND(struct LevelInfo *level)
 {
   struct LevelInfo_SP *level_sp = level->native_sp_level;
   LevelInfoType *header = &level_sp->header;
+  boolean num_invalid_elements = 0;
   int i, j, x, y;
 
   level->fieldx = level_sp->width;
@@ -3677,13 +3678,21 @@ void CopyNativeLevel_SP_to_RND(struct LevelInfo *level)
       int element_new = getMappedElement(map_element_SP_to_RND(element_old));
 
       if (element_new == EL_UNKNOWN)
-       Error(ERR_WARN, "invalid element %d at position %d, %d",
+      {
+       num_invalid_elements++;
+
+       Error(ERR_DEBUG, "invalid element %d at position %d, %d",
              element_old, x, y);
+      }
 
       level->field[x][y] = element_new;
     }
   }
 
+  if (num_invalid_elements > 0)
+    Error(ERR_WARN, "found %d invalid elements%s", num_invalid_elements,
+         (!options.debug ? " (use '--debug' for more details)" : ""));
+
   for (i = 0; i < MAX_PLAYERS; i++)
     level->initial_player_gravity[i] =
       (header->InitialGravity == 1 ? TRUE : FALSE);