diff options
-rw-r--r-- | engines/wintermute/base/file/base_disk_file.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/engines/wintermute/base/file/base_disk_file.cpp b/engines/wintermute/base/file/base_disk_file.cpp index b051c2ec39..30c502665b 100644 --- a/engines/wintermute/base/file/base_disk_file.cpp +++ b/engines/wintermute/base/file/base_disk_file.cpp @@ -29,6 +29,7 @@ #include "engines/wintermute/dcgf.h" #include "engines/wintermute/base/file/base_disk_file.h" #include "engines/wintermute/base/base_file_manager.h" +#include "engines/wintermute/utils/path_util.h" #include "common/stream.h" #include "common/memstream.h" #include "common/file.h" @@ -37,6 +38,7 @@ #include "common/tokenizer.h" #include "common/config-manager.h" + namespace Wintermute { void correctSlashes(Common::String &fileName) { @@ -135,14 +137,7 @@ Common::SeekableReadStream *openDiskFile(const Common::String &filename) { } // File wasn't found in SearchMan, try to parse the path as a relative path. if (!file) { - Common::String filenameBackSlash = filename; - for (size_t i = 0; i < filenameBackSlash.size(); i++) { - if (filenameBackSlash[i] == '/') { - filenameBackSlash.setChar('\\', i); - } - } - - Common::FSNode searchNode = getNodeForRelativePath(filenameBackSlash); + Common::FSNode searchNode = getNodeForRelativePath(PathUtil::normalizeFileName(filename)); if (searchNode.exists() && !searchNode.isDirectory() && searchNode.isReadable()) { file = searchNode.createReadStream(); } |