diff options
Diffstat (limited to 'engines/scumm/he/script_v72he.cpp')
-rw-r--r-- | engines/scumm/he/script_v72he.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/engines/scumm/he/script_v72he.cpp b/engines/scumm/he/script_v72he.cpp index baa57c7821..32c15abcba 100644 --- a/engines/scumm/he/script_v72he.cpp +++ b/engines/scumm/he/script_v72he.cpp @@ -36,7 +36,6 @@ #include "scumm/he/intern_he.h" #include "scumm/object.h" #include "scumm/resource.h" -#include "scumm/he/resource_he.h" #include "scumm/scumm.h" #include "scumm/he/sound_he.h" #include "scumm/util.h" @@ -173,7 +172,7 @@ int ScummEngine_v72he::readArray(int array, int idx2, int idx1) { } const int offset = (FROM_LE_32(ah->dim1end) - FROM_LE_32(ah->dim1start) + 1) * - (idx2 - FROM_LE_32(ah->dim2start)) - FROM_LE_32(ah->dim1start) + idx1; + (idx2 - FROM_LE_32(ah->dim2start)) + (idx1 - FROM_LE_32(ah->dim1start)); switch (FROM_LE_32(ah->type)) { case kByteArray: @@ -711,13 +710,11 @@ void ScummEngine_v72he::o72_roomOps() { case 221: byte buffer[256]; - int r; copyScriptString((byte *)buffer, sizeof(buffer)); - r = convertFilePath(buffer, sizeof(buffer)); - memcpy(_saveLoadFileName, buffer + r, sizeof(buffer) - r); - debug(1, "o72_roomOps: case 221: filename %s", _saveLoadFileName); + _saveLoadFileName = (char *)buffer + convertFilePath(buffer, sizeof(buffer)); + debug(1, "o72_roomOps: case 221: filename %s", _saveLoadFileName.c_str()); _saveLoadFlag = pop(); _saveLoadSlot = 255; @@ -1415,12 +1412,7 @@ void ScummEngine_v72he::o72_openFile() { if (!_saveFileMan->listSavefiles(filename).empty()) { _hInFileTable[slot] = _saveFileMan->openForLoading(filename); } else { - Common::File *f = new Common::File(); - f->open(filename); - if (!f->isOpen()) - delete f; - else - _hInFileTable[slot] = f; + _hInFileTable[slot] = SearchMan.createReadStreamForMember(filename); } break; case 2: |