added command to automatically test tapes and try to fix if broken
[rocksndiamonds.git] / src / main.c
index eafc7dc3b8b55407081a289ec1a1dd01f1f67220..ca4be86d05615216959671464a53987732226652 100644 (file)
@@ -4,7 +4,7 @@
 // (c) 1995-2014 by Artsoft Entertainment
 //                         Holger Schemel
 //                 info@artsoft.org
-//                 http://www.artsoft.org/
+//                 https://www.artsoft.org/
 // ----------------------------------------------------------------------------
 // main.c
 // ============================================================================
@@ -38,7 +38,7 @@ SDL_Thread           *server_thread;
 
 int                    key_joystick_mapping = 0;
 
-short                  Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+short                  Tile[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  Last[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
@@ -6269,6 +6269,16 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] =
     "df_wooden_wall",
     "wooden wall (DF style)",
   },
+  {
+    "spring.left",
+    "spring",
+    "spring (starts moving left)"
+  },
+  {
+    "spring.right",
+    "spring",
+    "spring (starts moving right)"
+  },
 
   // --------------------------------------------------------------------------
   // "real" (and therefore drawable) runtime elements
@@ -7623,10 +7633,12 @@ static void print_usage(void)
        "  \"print helptext.conf\"            print default helptext config\n"
        "  \"dump level FILE\"                dump level data from FILE\n"
        "  \"dump tape FILE\"                 dump tape data from FILE\n"
-       "  \"autotest LEVELDIR [NR ...]\"     test level tapes for LEVELDIR\n"
        "  \"autoplay LEVELDIR [NR ...]\"     play level tapes for LEVELDIR\n"
        "  \"autoffwd LEVELDIR [NR ...]\"     ffwd level tapes for LEVELDIR\n"
        "  \"autowarp LEVELDIR [NR ...]\"     warp level tapes for LEVELDIR\n"
+       "  \"autotest LEVELDIR [NR ...]\"     test level tapes for LEVELDIR\n"
+       "  \"autofix LEVELDIR [NR ...]\"      test and fix tapes for LEVELDIR\n"
+       "  \"patch tapes MODE LEVELDIR [NR]\" patch level tapes for LEVELDIR\n"
        "  \"convert LEVELDIR [NR]\"          convert levels in LEVELDIR\n"
        "  \"create images DIRECTORY\"        write BMP images to DIRECTORY\n"
        "  \"create CE image DIRECTORY\"      write BMP image to DIRECTORY\n"
@@ -7689,7 +7701,9 @@ static void InitProgramConfig(char *command_filename)
   char *config_filename = getProgramConfigFilename(command_filename);
   char *userdata_basename = getBaseNameNoSuffix(command_filename);
   char *userdata_subdir;
+#if defined(PLATFORM_UNIX)
   char *userdata_subdir_unix;
+#endif
 
   // read default program config, if existing
   if (fileExists(config_filename))
@@ -7707,8 +7721,10 @@ static void InitProgramConfig(char *command_filename)
     LoadSetupFromFilename(config_filename);
   }
 
+#if defined(PLATFORM_UNIX)
   // set user data directory for Linux/Unix (but not Mac OS X)
   userdata_subdir_unix = getStringCat2(".", userdata_basename);
+#endif
 
   // set program title from potentially redefined program title
   if (setup.internal.program_title != NULL &&