aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorcraigsc2020-01-11 12:08:21 -0800
committercraigsc2020-01-11 12:08:21 -0800
commit3dd4fb16f017a8eab5c6c11fd119a397b457866e (patch)
tree5b80b5c5038d8577c2d674a5a4742b335deca515 /engines/scumm
parentf9f81ea9baecb714f26cf1c17a1b0ae58431467b (diff)
parent5893672b80f00fced33c42e63471d68ba47d7dd4 (diff)
downloadscummvm-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.cpp5
-rw-r--r--engines/scumm/he/moonbase/moonbase.h6
-rw-r--r--engines/scumm/he/moonbase/moonbase_fow.cpp5
-rw-r--r--engines/scumm/he/resource_he.cpp8
-rw-r--r--engines/scumm/he/resource_he.h9
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);
};