mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-24 21:38:39 -04:00
Merge pull request #1302 from fabiangreffrath/auto_organize_savefiles
enable "Organize save files" if no savegame found in old location
This commit is contained in:
commit
aec003bb3a
57
src/d_main.c
57
src/d_main.c
@ -2451,34 +2451,49 @@ void D_DoomMain(void)
|
||||
|
||||
PrintVersion();
|
||||
|
||||
if (!M_CheckParm("-save") && organize_savefiles)
|
||||
if (!M_CheckParm("-save"))
|
||||
{
|
||||
int i;
|
||||
char *wadname = wadfiles[0], *oldsavegame = basesavegame;
|
||||
|
||||
for (i = mainwadfile; i < numwadfiles; i++)
|
||||
if (organize_savefiles == -1)
|
||||
{
|
||||
if (FileContainsMaps(wadfiles[i]))
|
||||
{
|
||||
wadname = wadfiles[i];
|
||||
break;
|
||||
}
|
||||
// [FG] check for at least one savegame in the old location
|
||||
glob_t *glob = I_StartMultiGlob(basesavegame,
|
||||
GLOB_FLAG_NOCASE|GLOB_FLAG_SORTED,
|
||||
"*.dsg", NULL);
|
||||
|
||||
organize_savefiles = (I_NextGlob(glob) == NULL);
|
||||
|
||||
I_EndGlob(glob);
|
||||
}
|
||||
|
||||
basesavegame = M_StringJoin(oldsavegame, DIR_SEPARATOR_S,
|
||||
"savegames", NULL);
|
||||
free(oldsavegame);
|
||||
if (organize_savefiles)
|
||||
{
|
||||
int i;
|
||||
char *wadname = wadfiles[0], *oldsavegame = basesavegame;
|
||||
|
||||
NormalizeSlashes(basesavegame);
|
||||
M_MakeDirectory(basesavegame);
|
||||
for (i = mainwadfile; i < numwadfiles; i++)
|
||||
{
|
||||
if (FileContainsMaps(wadfiles[i]))
|
||||
{
|
||||
wadname = wadfiles[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
oldsavegame = basesavegame;
|
||||
basesavegame = M_StringJoin(oldsavegame, DIR_SEPARATOR_S,
|
||||
M_BaseName(wadname), NULL);
|
||||
free(oldsavegame);
|
||||
basesavegame = M_StringJoin(oldsavegame, DIR_SEPARATOR_S,
|
||||
"savegames", NULL);
|
||||
free(oldsavegame);
|
||||
|
||||
NormalizeSlashes(basesavegame);
|
||||
M_MakeDirectory(basesavegame);
|
||||
NormalizeSlashes(basesavegame);
|
||||
M_MakeDirectory(basesavegame);
|
||||
|
||||
oldsavegame = basesavegame;
|
||||
basesavegame = M_StringJoin(oldsavegame, DIR_SEPARATOR_S,
|
||||
M_BaseName(wadname), NULL);
|
||||
free(oldsavegame);
|
||||
|
||||
NormalizeSlashes(basesavegame);
|
||||
M_MakeDirectory(basesavegame);
|
||||
}
|
||||
}
|
||||
|
||||
I_Printf(VB_INFO, "Savegame directory: %s\n", basesavegame);
|
||||
|
@ -626,7 +626,7 @@ default_t defaults[] = {
|
||||
{
|
||||
"organize_savefiles",
|
||||
(config_t *) &organize_savefiles, NULL,
|
||||
{0}, {0,1}, number, ss_gen, wad_no,
|
||||
{-1}, {-1,1}, number, ss_gen, wad_no,
|
||||
"1 to organize save files"
|
||||
},
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user