aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he/script_v80he.cpp
diff options
context:
space:
mode:
authorTravis Howell2008-11-17 11:09:57 +0000
committerTravis Howell2008-11-17 11:09:57 +0000
commitdf9a1baadcae2f0d31b30f03bf96db9610f740ca (patch)
treea256fdd947f814f8c5b7357e39aa1cc0a7257ba8 /engines/scumm/he/script_v80he.cpp
parent1067a2ec7786a61ad9cc1f69ec1d368a53ed75fa (diff)
downloadscummvm-rg350-df9a1baadcae2f0d31b30f03bf96db9610f740ca.tar.gz
scummvm-rg350-df9a1baadcae2f0d31b30f03bf96db9610f740ca.tar.bz2
scummvm-rg350-df9a1baadcae2f0d31b30f03bf96db9610f740ca.zip
Fix regressions in HE games, when slashes are used in filenames for file opcodes.
svn-id: r35105
Diffstat (limited to 'engines/scumm/he/script_v80he.cpp')
-rw-r--r--engines/scumm/he/script_v80he.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/engines/scumm/he/script_v80he.cpp b/engines/scumm/he/script_v80he.cpp
index 46449d1683..a0a6ab1ef2 100644
--- a/engines/scumm/he/script_v80he.cpp
+++ b/engines/scumm/he/script_v80he.cpp
@@ -399,17 +399,19 @@ void ScummEngine_v80he::o80_createSound() {
}
void ScummEngine_v80he::o80_getFileSize() {
- byte filename[256];
+ byte buffer[256];
- copyScriptString(filename, sizeof(filename));
- convertFilePath(filename);
+ copyScriptString(buffer, sizeof(buffer));
+ const char *filename = (char *)buffer + convertFilePath(buffer);
- Common::SeekableReadStream *f = _saveFileMan->openForLoading((const char *)filename);
- if (!f) {
+ Common::SeekableReadStream *f = 0;
+ if (!_saveFileMan->listSavefiles(filename).empty()) {
+ f = _saveFileMan->openForLoading((const char *)filename);
+ } else {
Common::File *file = new Common::File();
file->open((const char *)filename);
if (!file->isOpen())
- delete f;
+ delete file;
else
f = file;
}