aboutsummaryrefslogtreecommitdiff
path: root/engines/director
diff options
context:
space:
mode:
authorEugene Sandulenko2016-08-29 18:19:18 +0200
committerEugene Sandulenko2016-08-29 18:19:18 +0200
commit64587bbac7ef66228889b4263630003bf5972e01 (patch)
tree66e3bad2254eb32f6d9a3f21d42287bb7e8231ab /engines/director
parentd5009ee5c17b92ded3717428733b0d64654dd55d (diff)
downloadscummvm-rg350-64587bbac7ef66228889b4263630003bf5972e01.tar.gz
scummvm-rg350-64587bbac7ef66228889b4263630003bf5972e01.tar.bz2
scummvm-rg350-64587bbac7ef66228889b4263630003bf5972e01.zip
DIRECTOR: Fix cast scanning
Diffstat (limited to 'engines/director')
-rw-r--r--engines/director/archive.cpp2
-rw-r--r--engines/director/director.cpp4
-rw-r--r--engines/director/score.cpp4
-rw-r--r--engines/director/score.h2
4 files changed, 6 insertions, 6 deletions
diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp
index 6266ce386a..74a36e400a 100644
--- a/engines/director/archive.cpp
+++ b/engines/director/archive.cpp
@@ -191,7 +191,7 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) {
shardcst->openFile(filename);
- Score *castScore = new Score(this);
+ Score *castScore = new Score(this, shardcst);
Common::SeekableSubReadStreamEndian *castStream = shardcst->getResource(MKTAG('V','W','C','R'), 1024);
castScore->loadCastData(*castStream);
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 5adfbf3f02..d03236ebe1 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -114,7 +114,7 @@ Common::Error DirectorEngine::run() {
loadMMMNames(ConfMan.get("path"));
loadMainArchive();
- _currentScore = new Score(this);
+ _currentScore = new Score(this, _mainArchive);
debug(0, "Score name %s", _currentScore->getMacName().c_str());
_currentScore->loadArchive();
@@ -149,7 +149,7 @@ Common::HashMap<Common::String, Score *> DirectorEngine::loadMMMNames(Common::St
Archive *arc = createArchive();
arc->openFile(i->getPath());
- Score *sc = new Score(this);
+ Score *sc = new Score(this, arc);
nameMap[sc->getMacName()] = sc;
}
}
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 8a252a26ed..8278c2864f 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -87,11 +87,11 @@ static byte defaultPalette[768] = {
204, 51, 255, 204, 102, 255, 204, 153, 255, 204, 204, 255, 204, 255, 255, 255,
0, 255, 255, 51, 255, 255, 102, 255, 255, 153, 255, 255, 204, 255, 255, 255 };
-Score::Score(DirectorEngine *vm) {
+Score::Score(DirectorEngine *vm, Archive *archive) {
_vm = vm;
_surface = new Graphics::ManagedSurface;
_trailSurface = new Graphics::ManagedSurface;
- _movieArchive = _vm->getMainArchive();
+ _movieArchive = archive;
_lingo = _vm->getLingo();
_soundManager = _vm->getSoundManager();
_lingo->processEvent(kEventPrepareMovie, 0);
diff --git a/engines/director/score.h b/engines/director/score.h
index 8ddbed0bd5..35e6f975ea 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -170,7 +170,7 @@ struct Label {
class Score {
public:
- Score(DirectorEngine *vm);
+ Score(DirectorEngine *vm, Archive *);
~Score();
static Common::Rect readRect(Common::SeekableSubReadStreamEndian &stream);