COMMON: Include hidden files in directory listings by default

Hidden files are now only ignored in the GUI file browser when the user
has not checked 'show hidden files'.

Myst III has the hidden flag set for one of the directories containing
datafiles on the CD-ROM. When users copy the files to their hard drives
the hidden flag is kept. Detection worked previously because hidden
files were explicitly requested in the AD code. The engine would fail
to open the datafiles because SearchMan.addSubDirectoryMatching
ignored hidden directories.

Fixes #1516.
This commit is contained in:
Bastien Bouclet 2019-01-31 09:01:14 +01:00
parent 32178ee0dc
commit 3333aea405
3 changed files with 3 additions and 3 deletions

View File

@ -257,7 +257,7 @@ void FSDirectory::cacheDirectoryRecursive(FSNode node, int depth, const String&
return;
FSList list;
node.getChildren(list, FSNode::kListAll, true);
node.getChildren(list, FSNode::kListAll);
FSList::iterator it = list.begin();
for ( ; it != list.end(); ++it) {

View File

@ -135,7 +135,7 @@ public:
*
* @return true if successful, false otherwise (e.g. when the directory does not exist).
*/
bool getChildren(FSList &fslist, ListMode mode = kListDirectoriesOnly, bool hidden = false) const;
bool getChildren(FSList &fslist, ListMode mode = kListDirectoriesOnly, bool hidden = true) const;
/**
* Return a human readable string for this node, usable for display (e.g.

View File

@ -244,7 +244,7 @@ Common::Error AdvancedMetaEngine::createInstance(OSystem *syst, Engine **engine)
}
Common::FSNode dir(path);
Common::FSList files;
if (!dir.isDirectory() || !dir.getChildren(files, Common::FSNode::kListAll, true)) {
if (!dir.isDirectory() || !dir.getChildren(files, Common::FSNode::kListAll)) {
warning("Game data path does not exist or is not a directory (%s)", path.c_str());
return Common::kNoGameDataFoundError;
}