From 36526cb27baa79ce50d16158a904eae96453693e Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 26 May 2016 21:30:02 +0200 Subject: [PATCH] SCUMM HE: Moved Moonbase to ScummEngine_v100he --- engines/scumm/he/intern_he.h | 3 ++- engines/scumm/he/moonbase/moonbase.cpp | 2 +- engines/scumm/he/moonbase/moonbase.h | 4 ++-- engines/scumm/scumm.cpp | 23 ++++++++++++++--------- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/engines/scumm/he/intern_he.h b/engines/scumm/he/intern_he.h index 72c11c95a1a3..cce76319f8a4 100644 --- a/engines/scumm/he/intern_he.h +++ b/engines/scumm/he/intern_he.h @@ -591,7 +591,8 @@ class ScummEngine_v100he : public ScummEngine_v99he { byte _debugInputBuffer[256]; public: - ScummEngine_v100he(OSystem *syst, const DetectorResult &dr) : ScummEngine_v99he(syst, dr) {} + ScummEngine_v100he(OSystem *syst, const DetectorResult &dr); + ~ScummEngine_v100he(); virtual void resetScumm(); diff --git a/engines/scumm/he/moonbase/moonbase.cpp b/engines/scumm/he/moonbase/moonbase.cpp index d61aa18344b9..15ababd32108 100644 --- a/engines/scumm/he/moonbase/moonbase.cpp +++ b/engines/scumm/he/moonbase/moonbase.cpp @@ -26,7 +26,7 @@ namespace Scumm { -Moonbase::Moonbase(ScummEngine_v90he *vm) : _vm(vm) { +Moonbase::Moonbase(ScummEngine_v100he *vm) : _vm(vm) { initFOW(); _ai = new AI(_vm); diff --git a/engines/scumm/he/moonbase/moonbase.h b/engines/scumm/he/moonbase/moonbase.h index cdb70ad19b2a..243d53a11def 100644 --- a/engines/scumm/he/moonbase/moonbase.h +++ b/engines/scumm/he/moonbase/moonbase.h @@ -33,7 +33,7 @@ class AI; class Moonbase { public: - Moonbase(ScummEngine_v90he *vm); + Moonbase(ScummEngine_v100he *vm); ~Moonbase(); int readFromArray(int array, int y, int x); @@ -71,7 +71,7 @@ class Moonbase { AI *_ai; private: - ScummEngine_v90he *_vm; + ScummEngine_v100he *_vm; int _fowFrameBaseNumber; int _fowAnimationFrames; diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index 4adf0c5066e8..d5727f2a7c96 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -885,7 +885,20 @@ ScummEngine_v90he::ScummEngine_v90he(OSystem *syst, const DetectorResult &dr) VAR_U32_VERSION = 0xFF; VAR_U32_ARRAY_UNK = 0xFF; +} +ScummEngine_v90he::~ScummEngine_v90he() { + delete _moviePlay; + delete _sprite; + if (_game.heversion >= 98) { + delete _logicHE; + } + if (_game.heversion >= 99) { + free(_hePalettes); + } +} + +ScummEngine_v100he::ScummEngine_v100he(OSystem *syst, const DetectorResult &dr) : ScummEngine_v99he(syst, dr) { /* Moonbase stuff */ _moonbase = 0; @@ -900,15 +913,7 @@ ScummEngine_v90he::ScummEngine_v90he(OSystem *syst, const DetectorResult &dr) VAR_U32_USER_VAR_F = 0xFF; } -ScummEngine_v90he::~ScummEngine_v90he() { - delete _moviePlay; - delete _sprite; - if (_game.heversion >= 98) { - delete _logicHE; - } - if (_game.heversion >= 99) { - free(_hePalettes); - } +ScummEngine_v100he::~ScummEngine_v100he() { delete _moonbase; }