X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsetup.c;h=5784ac496183c72cf174fecd4649a923f3648908;hp=54e5eeeea21f6d9e51ed870c1c4fbd187a16eeb9;hb=cb69ffb72a904eb0704c7f0e6c593bfee19562df;hpb=1f03a0834b693a361bb98d883cec8f8ef9232681 diff --git a/src/libgame/setup.c b/src/libgame/setup.c index 54e5eeee..5784ac49 100644 --- a/src/libgame/setup.c +++ b/src/libgame/setup.c @@ -202,6 +202,28 @@ char *getCurrentLevelDir() return getLevelDirFromTreeInfo(leveldir_current); } +char *getNewUserLevelSubdir() +{ + static char *new_level_subdir = NULL; + char *subdir_prefix = getLoginName(); + char subdir_suffix[10]; + int max_suffix_number = 1000; + int i = 0; + + while (++i < max_suffix_number) + { + sprintf(subdir_suffix, "_%d", i); + + checked_free(new_level_subdir); + new_level_subdir = getStringCat2(subdir_prefix, subdir_suffix); + + if (!directoryExists(getUserLevelDir(new_level_subdir))) + break; + } + + return new_level_subdir; +} + static char *getTapeDir(char *level_subdir) { static char *tape_dir = NULL;