aboutsummaryrefslogtreecommitdiff
path: root/engines/director/director.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/director/director.cpp')
-rw-r--r--engines/director/director.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index a6422df519..8616317d60 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -52,28 +52,37 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
// Setup mixer
syncSoundSettings();
-
- _mainArchive = 0;
- _macBinary = 0;
- _currentPalette = 0;
- //FIXME
- _sharedMMM = "SHARDCST.MMM";
_sharedCasts = new Common::HashMap<int, Cast *>();
_sharedDIB = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>();
_sharedBMP = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>();
_sharedSTXT = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>();
_sharedSound = new Common::HashMap<int, Common::SeekableSubReadStreamEndian *>();
+ _mainArchive = 0;
+ _macBinary = 0;
+ //FIXME
+ _sharedMMM = "SHARDCST.MMM";
_movies = new Common::HashMap<Common::String, Score *>();
+
const Common::FSNode gameDataDir(ConfMan.get("path"));
SearchMan.addSubDirectoryMatching(gameDataDir, "data");
SearchMan.addSubDirectoryMatching(gameDataDir, "install");
}
DirectorEngine::~DirectorEngine() {
+ delete[] _sharedCasts;
+ delete[] _sharedSound;
+ delete[] _sharedBMP;
+ delete[] _sharedSTXT;
+ delete[] _sharedDIB;
+ delete[] _movies;
+
delete _mainArchive;
delete _macBinary;
- delete[] _currentPalette;
+ delete _soundManager;
+ delete _lingo;
+ delete _currentScore;
+ delete _currentPalette;
}
Common::Error DirectorEngine::run() {