diff options
author | Travis Howell | 2008-11-17 11:09:57 +0000 |
---|---|---|
committer | Travis Howell | 2008-11-17 11:09:57 +0000 |
commit | df9a1baadcae2f0d31b30f03bf96db9610f740ca (patch) | |
tree | a256fdd947f814f8c5b7357e39aa1cc0a7257ba8 /engines/scumm/he/script_v80he.cpp | |
parent | 1067a2ec7786a61ad9cc1f69ec1d368a53ed75fa (diff) | |
download | scummvm-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.cpp | 14 |
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; } |