DREAMWEB: Make DreamBase::engine protected

This commit is contained in:
Max Horn 2011-12-07 10:58:36 +01:00
parent 7b71bb6444
commit 641e1bff59
4 changed files with 10 additions and 7 deletions

View File

@ -644,7 +644,7 @@ namespace %s {
"""
class %sContext : public DreamBase, public Context {
public:
DreamGenContext() : DreamBase(), Context(data) {}
DreamGenContext(DreamWeb::DreamWebEngine *en) : DreamBase(en), Context(data) {}
void __start();
"""

View File

@ -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) {
}

View File

@ -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()

View File

@ -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"));