1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-15 11:03:00 +01:00

Merge pull request #13224 from Broxzier/feature/refactor-autosave

Small autosave refactor
This commit is contained in:
Michael Steenbeek
2020-10-18 20:20:41 +02:00
committed by GitHub

View File

@@ -686,20 +686,20 @@ static void limit_autosave_count(const size_t numberOfFilesToKeep, bool processL
size_t autosavesCount = 0;
size_t numAutosavesToDelete = 0;
utf8 filter[MAX_PATH];
auto environment = GetContext()->GetPlatformEnvironment();
auto folderDirectory = environment->GetDirectoryPath(DIRBASE::USER, DIRID::SAVE);
char const* fileFilter = "autosave_*.sv6";
if (processLandscapeFolder)
{
platform_get_user_directory(filter, "landscape", sizeof(filter));
safe_strcat_path(filter, "autosave", sizeof(filter));
safe_strcat_path(filter, "autosave_*.sc6", sizeof(filter));
}
else
{
platform_get_user_directory(filter, "save", sizeof(filter));
safe_strcat_path(filter, "autosave", sizeof(filter));
safe_strcat_path(filter, "autosave_*.sv6", sizeof(filter));
folderDirectory = environment->GetDirectoryPath(DIRBASE::USER, DIRID::LANDSCAPE);
fileFilter = "autosave_*.sc6";
}
utf8 filter[MAX_PATH];
safe_strcpy(filter, folderDirectory.c_str(), sizeof(filter));
safe_strcat_path(filter, "autosave", sizeof(filter));
safe_strcat_path(filter, fileFilter, sizeof(filter));
// At first, count how many autosaves there are
{
auto scanner = std::unique_ptr<IFileScanner>(Path::ScanDirectory(filter, false));
@@ -723,14 +723,7 @@ static void limit_autosave_count(const size_t numberOfFilesToKeep, bool processL
autosaveFiles[i].resize(MAX_PATH, 0);
if (scanner->Next())
{
if (processLandscapeFolder)
{
platform_get_user_directory(autosaveFiles[i].data(), "landscape", sizeof(utf8) * MAX_PATH);
}
else
{
platform_get_user_directory(autosaveFiles[i].data(), "save", sizeof(utf8) * MAX_PATH);
}
platform_get_user_directory(autosaveFiles[i].data(), folderDirectory.c_str(), sizeof(utf8) * MAX_PATH);
safe_strcat_path(autosaveFiles[i].data(), "autosave", sizeof(utf8) * MAX_PATH);
safe_strcat_path(autosaveFiles[i].data(), scanner->GetPathRelative(), sizeof(utf8) * MAX_PATH);
}