diff options
author | craigsc | 2020-01-11 12:08:21 -0800 |
---|---|---|
committer | craigsc | 2020-01-11 12:08:21 -0800 |
commit | 3dd4fb16f017a8eab5c6c11fd119a397b457866e (patch) | |
tree | 5b80b5c5038d8577c2d674a5a4742b335deca515 /engines/scumm | |
parent | f9f81ea9baecb714f26cf1c17a1b0ae58431467b (diff) | |
parent | 5893672b80f00fced33c42e63471d68ba47d7dd4 (diff) | |
download | scummvm-rg350-3dd4fb16f017a8eab5c6c11fd119a397b457866e.tar.gz scummvm-rg350-3dd4fb16f017a8eab5c6c11fd119a397b457866e.tar.bz2 scummvm-rg350-3dd4fb16f017a8eab5c6c11fd119a397b457866e.zip |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/he/moonbase/moonbase.cpp | 5 | ||||
-rw-r--r-- | engines/scumm/he/moonbase/moonbase.h | 6 | ||||
-rw-r--r-- | engines/scumm/he/moonbase/moonbase_fow.cpp | 5 | ||||
-rw-r--r-- | engines/scumm/he/resource_he.cpp | 8 | ||||
-rw-r--r-- | engines/scumm/he/resource_he.h | 9 |
5 files changed, 25 insertions, 8 deletions
diff --git a/engines/scumm/he/moonbase/moonbase.cpp b/engines/scumm/he/moonbase/moonbase.cpp index cb76c3f273..890d9e4051 100644 --- a/engines/scumm/he/moonbase/moonbase.cpp +++ b/engines/scumm/he/moonbase/moonbase.cpp @@ -20,6 +20,8 @@ * */ +#include "common/winexe_pe.h" + #include "scumm/he/intern_he.h" #include "scumm/he/moonbase/moonbase.h" #include "scumm/he/moonbase/ai_main.h" @@ -30,6 +32,8 @@ namespace Scumm { Moonbase::Moonbase(ScummEngine_v100he *vm) : _vm(vm) { + _exe = new Common::PEResources(); + initFOW(); _ai = new AI(_vm); @@ -39,6 +43,7 @@ Moonbase::Moonbase(ScummEngine_v100he *vm) : _vm(vm) { } Moonbase::~Moonbase() { + delete _exe; delete _ai; #ifdef USE_LIBCURL delete _net; diff --git a/engines/scumm/he/moonbase/moonbase.h b/engines/scumm/he/moonbase/moonbase.h index d5fa4550ac..09eb197cb5 100644 --- a/engines/scumm/he/moonbase/moonbase.h +++ b/engines/scumm/he/moonbase/moonbase.h @@ -25,7 +25,9 @@ #ifdef ENABLE_HE -#include "common/winexe_pe.h" +namespace Common { +class PEResources; +} namespace Scumm { @@ -106,7 +108,7 @@ private: int32 _fowRenderTable[32768]; - Common::PEResources _exe; + Common::PEResources *_exe; Common::String _fileName; }; diff --git a/engines/scumm/he/moonbase/moonbase_fow.cpp b/engines/scumm/he/moonbase/moonbase_fow.cpp index 2e1265aff2..af58c11310 100644 --- a/engines/scumm/he/moonbase/moonbase_fow.cpp +++ b/engines/scumm/he/moonbase/moonbase_fow.cpp @@ -21,6 +21,7 @@ */ #include "common/config-manager.h" +#include "common/winexe_pe.h" #include "scumm/he/intern_he.h" #include "scumm/he/moonbase/moonbase.h" @@ -99,11 +100,11 @@ bool Moonbase::setFOWImage(int image) { if (_fileName.empty()) { // We are running for the first time _fileName = _vm->generateFilename(-3); - if (!_exe.loadFromEXE(_fileName)) + if (!_exe->loadFromEXE(_fileName)) error("Cannot open file %s", _fileName.c_str()); } - Common::SeekableReadStream *stream = _exe.getResource(Common::kWinRCData, resId); + Common::SeekableReadStream *stream = _exe->getResource(Common::kWinRCData, resId); if (stream->size()) { _fowImage = (uint8 *)malloc(stream->size()); diff --git a/engines/scumm/he/resource_he.cpp b/engines/scumm/he/resource_he.cpp index ddde352686..0d2c6f5365 100644 --- a/engines/scumm/he/resource_he.cpp +++ b/engines/scumm/he/resource_he.cpp @@ -35,6 +35,7 @@ #include "common/archive.h" #include "common/memstream.h" #include "common/system.h" +#include "common/winexe_pe.h" namespace Scumm { @@ -114,13 +115,18 @@ void ResExtractor::setCursor(int id) { Win32ResExtractor::Win32ResExtractor(ScummEngine_v70he *scumm) : ResExtractor(scumm) { + _exe = new Common::PEResources(); +} + +Win32ResExtractor::~Win32ResExtractor() { + delete _exe; } bool Win32ResExtractor::extractResource(int id, CachedCursor *cc) { if (_fileName.empty()) { // We are running for the first time _fileName = _vm->generateFilename(-3); - if (!_exe.loadFromEXE(_fileName)) + if (!_exe->loadFromEXE(_fileName)) error("Cannot open file %s", _fileName.c_str()); } diff --git a/engines/scumm/he/resource_he.h b/engines/scumm/he/resource_he.h index 49175db8d4..c3fca17737 100644 --- a/engines/scumm/he/resource_he.h +++ b/engines/scumm/he/resource_he.h @@ -24,7 +24,10 @@ #define SCUMM_HE_RESOURCE_HE_H #include "common/macresman.h" -#include "common/winexe_pe.h" + +namespace Common { +class PEResources; +} namespace Scumm { @@ -68,10 +71,10 @@ private: class Win32ResExtractor : public ResExtractor { public: Win32ResExtractor(ScummEngine_v70he *scumm); - ~Win32ResExtractor() {} + ~Win32ResExtractor(); private: - Common::PEResources _exe; + Common::PEResources *_exe; bool extractResource(int id, CachedCursor *cc); }; |