From 085a0e9452b13bbb5de9c64d38402507fa893e37 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Sat, 17 Oct 2020 16:18:23 +0200 Subject: [PATCH 1/2] Reduce branching and duplicated lines in limit_autosave_count --- src/openrct2/Game.cpp | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/src/openrct2/Game.cpp b/src/openrct2/Game.cpp index 9602326ca4..45208988c0 100644 --- a/src/openrct2/Game.cpp +++ b/src/openrct2/Game.cpp @@ -686,20 +686,19 @@ static void limit_autosave_count(const size_t numberOfFilesToKeep, bool processL size_t autosavesCount = 0; size_t numAutosavesToDelete = 0; - utf8 filter[MAX_PATH]; + char const* folderDirectory = "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 = "landscape"; + fileFilter = "autosave_*.sc6"; } + utf8 filter[MAX_PATH]; + safe_strcpy(filter, folderDirectory, 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(Path::ScanDirectory(filter, false)); @@ -723,14 +722,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, 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); } From 0cf049c2f7e25a948fe0f8d123df405ee046babe Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Sat, 17 Oct 2020 16:57:18 +0200 Subject: [PATCH 2/2] Replace deprecated function call --- src/openrct2/Game.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/openrct2/Game.cpp b/src/openrct2/Game.cpp index 45208988c0..d6023d21b2 100644 --- a/src/openrct2/Game.cpp +++ b/src/openrct2/Game.cpp @@ -686,16 +686,17 @@ static void limit_autosave_count(const size_t numberOfFilesToKeep, bool processL size_t autosavesCount = 0; size_t numAutosavesToDelete = 0; - char const* folderDirectory = "save"; + auto environment = GetContext()->GetPlatformEnvironment(); + auto folderDirectory = environment->GetDirectoryPath(DIRBASE::USER, DIRID::SAVE); char const* fileFilter = "autosave_*.sv6"; if (processLandscapeFolder) { - folderDirectory = "landscape"; + folderDirectory = environment->GetDirectoryPath(DIRBASE::USER, DIRID::LANDSCAPE); fileFilter = "autosave_*.sc6"; } utf8 filter[MAX_PATH]; - safe_strcpy(filter, folderDirectory, sizeof(filter)); + safe_strcpy(filter, folderDirectory.c_str(), sizeof(filter)); safe_strcat_path(filter, "autosave", sizeof(filter)); safe_strcat_path(filter, fileFilter, sizeof(filter)); @@ -722,7 +723,7 @@ static void limit_autosave_count(const size_t numberOfFilesToKeep, bool processL autosaveFiles[i].resize(MAX_PATH, 0); if (scanner->Next()) { - platform_get_user_directory(autosaveFiles[i].data(), folderDirectory, 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); }