diff options
author | Eugene Sandulenko | 2017-02-24 19:02:57 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-02-24 19:02:57 +0100 |
commit | e65df86ef1f22089eb9803502087daba3a29c2e2 (patch) | |
tree | 8047f18883733f54b4c70795187e52fe023a33b4 /engines/director/director.cpp | |
parent | 0bade39c41f9a351d1e703f1682f88c8e0b2e88d (diff) | |
download | scummvm-rg350-e65df86ef1f22089eb9803502087daba3a29c2e2.tar.gz scummvm-rg350-e65df86ef1f22089eb9803502087daba3a29c2e2.tar.bz2 scummvm-rg350-e65df86ef1f22089eb9803502087daba3a29c2e2.zip |
DIRECTOR: Encapsulated _nextMovie parameters into a string
Diffstat (limited to 'engines/director/director.cpp')
-rw-r--r-- | engines/director/director.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/engines/director/director.cpp b/engines/director/director.cpp index bfe9a724be..a1ee253087 100644 --- a/engines/director/director.cpp +++ b/engines/director/director.cpp @@ -78,7 +78,7 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam _movies = nullptr; - _nextMovieFrameI = -1; + _nextMovie.frameI = -1; _wm = nullptr; @@ -165,21 +165,25 @@ Common::Error DirectorEngine::run() { _currentScore->loadArchive(); // If we came in a loop, then skip as requested - if (!_nextMovieFrameS.empty()) - _currentScore->setStartToLabel(_nextMovieFrameS); + if (!_nextMovie.frameS.empty()) { + _currentScore->setStartToLabel(_nextMovie.frameS); + _nextMovie.frameS.clear(); + } - if (_nextMovieFrameI != -1) - _currentScore->setCurrentFrame(_nextMovieFrameI); + if (_nextMovie.frameI != -1) { + _currentScore->setCurrentFrame(_nextMovie.frameI); + _nextMovie.frameI = -1; + } _currentScore->startLoop(); // If a loop was requested, do it - if (!_nextMovie.empty()) { + if (!_nextMovie.movie.empty()) { _lingo->restartLingo(); delete _currentScore; - Archive *mov = openMainArchive(_nextMovie); + Archive *mov = openMainArchive(_nextMovie.movie); if (!mov) { warning("nextMovie: No score is loaded"); @@ -190,7 +194,7 @@ Common::Error DirectorEngine::run() { _currentScore = new Score(this, mov); debug(0, "Score name %s", _currentScore->getMacName().c_str()); - _nextMovie.clear(); + _nextMovie.movie.clear(); loop = true; } } |