[Scummvm-git-logs] scummvm master -> d9381a9d8646fc35c0f3a73ea85c6facb5bab3d1
dreammaster
dreammaster at scummvm.org
Sun Mar 21 01:57:43 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
d9381a9d86 AGS: Fixes for importing character into QFG2
Commit: d9381a9d8646fc35c0f3a73ea85c6facb5bab3d1
https://github.com/scummvm/scummvm/commit/d9381a9d8646fc35c0f3a73ea85c6facb5bab3d1
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-03-20T18:57:13-07:00
Commit Message:
AGS: Fixes for importing character into QFG2
Changed paths:
engines/ags/engine/ac/listbox.cpp
engines/ags/shared/util/path.h
diff --git a/engines/ags/engine/ac/listbox.cpp b/engines/ags/engine/ac/listbox.cpp
index 1634dc78c4..520246cd51 100644
--- a/engines/ags/engine/ac/listbox.cpp
+++ b/engines/ags/engine/ac/listbox.cpp
@@ -76,16 +76,19 @@ void ListBox_Clear(GUIListBox *listbox) {
void FillDirList(std::set<String> &files, const String &path) {
String dirName = Path::GetDirectoryPath(path);
String filePattern = Path::get_filename(path);
+
if (dirName.CompareLeftNoCase(get_install_dir()) == 0) {
String subDir = dirName.Mid(get_install_dir().GetLength());
if (!subDir.IsEmpty() && subDir[0u] == '/')
subDir.ClipLeft(1);
dirName = ConfMan.get("path");
} else if (dirName.CompareLeftNoCase(get_save_game_directory()) == 0) {
- String subDir = dirName.Mid(get_save_game_directory().GetLength());
- if (!subDir.IsEmpty() && subDir[0u] == '/')
- subDir.ClipLeft(1);
- dirName = Path::ConcatPaths(ConfMan.get("savepath"), subDir);
+ // Save files listing
+ Common::StringArray matches = g_system->getSavefileManager()->listSavefiles(filePattern);
+ for (uint idx = 0; idx < matches.size(); ++idx)
+ files.insert(matches[idx]);
+ return;
+
}
Common::FSDirectory dir(dirName);
@@ -101,7 +104,6 @@ void ListBox_FillDirList(GUIListBox *listbox, const char *filemask) {
_G(guis_need_update) = 1;
ResolvedPath rp;
- ResolveScriptPath("$SAVEGAMEDIR$/agssave.*", true, rp);
if (!ResolveScriptPath(filemask, true, rp))
return;
diff --git a/engines/ags/shared/util/path.h b/engines/ags/shared/util/path.h
index 9afee49861..d33ac26371 100644
--- a/engines/ags/shared/util/path.h
+++ b/engines/ags/shared/util/path.h
@@ -86,6 +86,9 @@ String GetPathInASCII(const String &path);
String GetCmdLinePathInASCII(const char *arg, int arg_index);
inline String get_filename(const String &pathAndName) {
+ size_t p = pathAndName.FindCharReverse('/');
+ if (p != String::npos)
+ return String(pathAndName.GetNullableCStr() + p + 1);
return Common::FSNode(pathAndName).getName();
}
More information about the Scummvm-git-logs
mailing list