diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/dreamweb/dreambase.h | 10 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 2 | ||||
-rw-r--r-- | engines/dreamweb/dreamweb.cpp | 3 |
3 files changed, 9 insertions, 6 deletions
diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h index 4173499203..0d701c53ce 100644 --- a/engines/dreamweb/dreambase.h +++ b/engines/dreamweb/dreambase.h @@ -35,15 +35,19 @@ namespace DreamWeb { namespace DreamGen { class DreamBase { +protected: + DreamWeb::DreamWebEngine *engine; + public: enum { kDefaultDataSegment = 0x1000 }; - DreamWeb::DreamWebEngine *engine; - SegmentPtr _realData; ///< the primary data segment, points to a huge blob of binary data SegmentRef data; ///< fake segment register always pointing to data segment - DreamBase() : _realData(new Segment()), data(kDefaultDataSegment, _realData) { + DreamBase(DreamWeb::DreamWebEngine *en) : + engine(en), + _realData(new Segment()), + data(kDefaultDataSegment, _realData) { } diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 0dd7d8844a..8aab18d49d 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -538,7 +538,7 @@ static const uint16 kLenofreelrouts = (983-526); class DreamGenContext : public DreamBase, public Context { public: - DreamGenContext() : DreamBase(), Context(data) {} + DreamGenContext(DreamWeb::DreamWebEngine *en) : DreamBase(en), Context(data) {} void __start(); #include "stubs.h" // Allow hand-reversed functions to have a signature different than void f() diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index 2220cdb47a..f2a91fa098 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -42,9 +42,8 @@ namespace DreamWeb { DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gameDesc) : - Engine(syst), _gameDescription(gameDesc), _rnd("dreamweb") { + Engine(syst), _gameDescription(gameDesc), _rnd("dreamweb"), _context(this) { - _context.engine = this; // Setup mixer _mixer->setVolumeForSoundType(Audio::Mixer::kSFXSoundType, ConfMan.getInt("sfx_volume")); _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, ConfMan.getInt("music_volume")); |