diff options
Diffstat (limited to 'engines/scumm/he/wiz_he.cpp')
-rw-r--r-- | engines/scumm/he/wiz_he.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/engines/scumm/he/wiz_he.cpp b/engines/scumm/he/wiz_he.cpp index 361a3bc165..807380272d 100644 --- a/engines/scumm/he/wiz_he.cpp +++ b/engines/scumm/he/wiz_he.cpp @@ -25,6 +25,7 @@ #ifdef ENABLE_HE +#include "common/archive.h" #include "common/system.h" #include "graphics/cursorman.h" #include "graphics/primitives.h" @@ -358,6 +359,7 @@ static bool calcClipRects(int dst_w, int dst_h, int src_x, int src_y, int src_w, void Wiz::writeColor(uint8 *dstPtr, int dstType, uint16 color) { switch (dstType) { + case kDstCursor: case kDstScreen: WRITE_UINT16(dstPtr, color); break; @@ -1519,7 +1521,7 @@ uint8 *Wiz::drawWizImage(int resNum, int state, int maskNum, int maskState, int cw = width; ch = height; dstPitch = cw * _vm->_bytesPerPixel; - dstType = kDstMemory; + dstType = (_cursorImage) ? kDstCursor : kDstMemory; } else { if (dstResNum) { uint8 *dstPtr = _vm->getResourceAddress(rtImage, dstResNum); @@ -2373,12 +2375,7 @@ void Wiz::processWizImage(const WizParameters *params) { if (!_vm->_saveFileMan->listSavefiles(filename).empty()) { f = _vm->_saveFileMan->openForLoading(filename); } else { - Common::File *nf = new Common::File(); - nf->open(filename); - if (!nf->isOpen()) - delete nf; - else - f = nf; + f = SearchMan.createReadStreamForMember(filename); } if (f) { |