removed using level number sub-directories when saving score tapes
[rocksndiamonds.git] / src / libgame / setup.c
index f1223d0dd238b0098f845f54b57f574d09b903c4..129be747af2f74255697c6e5d804fca741543160 100644 (file)
@@ -140,19 +140,6 @@ static char *getScoreCacheDir(char *level_subdir)
   return score_dir;
 }
 
-static char *getScoreTapeDir(char *level_subdir, int nr)
-{
-  static char *score_tape_dir = NULL;
-  char tape_subdir[MAX_FILENAME_LEN];
-
-  checked_free(score_tape_dir);
-
-  sprintf(tape_subdir, "%03d", nr);
-  score_tape_dir = getPath2(getScoreDir(level_subdir), tape_subdir);
-
-  return score_tape_dir;
-}
-
 static char *getUserSubdir(int nr)
 {
   static char user_subdir[16] = { 0 };
@@ -279,7 +266,7 @@ char *getNewUserLevelSubdir(void)
   return new_level_subdir;
 }
 
-static char *getTapeDir(char *level_subdir)
+char *getTapeDir(char *level_subdir)
 {
   static char *tape_dir = NULL;
   char *data_dir = getUserGameDataDir();
@@ -686,10 +673,10 @@ char *getScoreTapeFilename(char *basename_no_ext, int nr)
 
   checked_free(filename);
 
-  sprintf(basename, "%s.%s", basename_no_ext, TAPEFILE_EXTENSION);
+  sprintf(basename, "%03d.%s.%s", nr, basename_no_ext, TAPEFILE_EXTENSION);
 
   // used instead of "leveldir_current->subdir" (for network games)
-  filename = getPath2(getScoreTapeDir(levelset.identifier, nr), basename);
+  filename = getPath2(getScoreDir(levelset.identifier), basename);
 
   return filename;
 }
@@ -1177,13 +1164,6 @@ void InitScoreCacheDirectory(char *level_subdir)
   createDirectory(getScoreCacheDir(level_subdir), "level score", PERMS_PRIVATE);
 }
 
-void InitScoreTapeDirectory(char *level_subdir, int nr)
-{
-  InitScoreDirectory(level_subdir);
-
-  createDirectory(getScoreTapeDir(level_subdir, nr), "score tape", PERMS_PRIVATE);
-}
-
 static void SaveUserLevelInfo(void);
 
 void InitUserLevelDirectory(char *level_subdir)
@@ -1523,7 +1503,8 @@ int dumpTreeInfo(TreeInfo *node, int depth)
     DebugContinued("tree", "%c '%s' ['%s] [PARENT: '%s'] %s\n",
                   bullet, node->name, node->identifier,
                   (node->node_parent ? node->node_parent->identifier : "-"),
-                  (node->node_group ? "[GROUP]" : ""));
+                  (node->node_group ? "[GROUP]" :
+                   node->is_copy ? "[COPY]" : ""));
 
     if (!node->node_group && !node->parent_link)
       num_leaf_nodes++;
@@ -3598,7 +3579,7 @@ static boolean LoadLevelInfoFromLevelConf(TreeInfo **node_first,
     (leveldir_new->user_defined || !leveldir_new->handicap ?
      leveldir_new->last_level : leveldir_new->first_level);
 
-  DrawInitText(leveldir_new->name, 150, FC_YELLOW);
+  DrawInitTextItem(leveldir_new->name);
 
   pushTreeInfo(node_first, leveldir_new);
 
@@ -3714,7 +3695,7 @@ void LoadLevelInfo(void)
 {
   InitUserLevelDirectory(getLoginName());
 
-  DrawInitText("Loading level series", 120, FC_GREEN);
+  DrawInitTextHead("Loading level series");
 
   LoadLevelInfoFromLevelDir(&leveldir_first, NULL, options.level_directory);
   LoadLevelInfoFromLevelDir(&leveldir_first, NULL, getUserLevelDir(NULL));
@@ -3987,7 +3968,7 @@ void LoadArtworkInfo(void)
 {
   LoadArtworkInfoCache();
 
-  DrawInitText("Looking for custom artwork", 120, FC_GREEN);
+  DrawInitTextHead("Looking for custom artwork");
 
   LoadArtworkInfoFromArtworkDir(&artwork.gfx_first, NULL,
                                options.graphics_directory,
@@ -4122,7 +4103,7 @@ static void LoadArtworkInfoFromLevelInfoExt(ArtworkDirTree **artwork_node,
        setArtworkInfoCacheEntry(artwork_new, level_node, type);
     }
 
-    DrawInitText(level_node->name, 150, FC_YELLOW);
+    DrawInitTextItem(level_node->name);
 
     if (level_node->node_group != NULL)
     {
@@ -4191,7 +4172,7 @@ void LoadLevelArtworkInfo(void)
 {
   print_timestamp_init("LoadLevelArtworkInfo");
 
-  DrawInitText("Looking for custom level artwork", 120, FC_GREEN);
+  DrawInitTextHead("Looking for custom level artwork");
 
   print_timestamp_time("DrawTimeText");
 
@@ -4847,7 +4828,7 @@ static void SaveLevelSetup_LastSeries_Ext(boolean deactivate_last_level_series)
 
   for (i = 0; last_level_series[i] != NULL; i++)
   {
-    char token[strlen(TOKEN_STR_LAST_LEVEL_SERIES) + 10];
+    char token[strlen(TOKEN_STR_LAST_LEVEL_SERIES) + 1 + 10 + 1];
 
     sprintf(token, "%s.%03d", TOKEN_STR_LAST_LEVEL_SERIES, i);