aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v6he.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/script_v6he.cpp')
-rw-r--r--scumm/script_v6he.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/scumm/script_v6he.cpp b/scumm/script_v6he.cpp
index 28f0523e90..960524fd0a 100644
--- a/scumm/script_v6he.cpp
+++ b/scumm/script_v6he.cpp
@@ -24,6 +24,7 @@
#include "stdafx.h"
#include "common/config-manager.h"
+#include "common/savefile.h"
#include "scumm/actor.h"
#include "scumm/charset.h"
@@ -1028,12 +1029,18 @@ void ScummEngine_v60he::o60_openFile() {
}
if (slot != -1) {
- if (mode == 1)
- _hFileTable[slot].open((char*)filename + r, File::kFileReadMode);
- else if (mode == 2)
- _hFileTable[slot].open((char*)filename + r, File::kFileWriteMode);
- else
- error("o60_openFile(): wrong open file mode");
+ switch(mode) {
+ case 1:
+ _hFileTable[slot].open((char*)filename + r, File::kFileReadMode, _saveFileMan->getSavePath());
+ if (_hFileTable[slot].isOpen() == false)
+ _hFileTable[slot].open((char*)filename + r, File::kFileReadMode);
+ break;
+ case 2:
+ _hFileTable[slot].open((char*)filename + r, File::kFileWriteMode, _saveFileMan->getSavePath());
+ break;
+ default:
+ error("o60_openFile(): wrong open file mode %d", mode);
+ }
if (_hFileTable[slot].isOpen() == false)
slot = -1;