diff options
author | johndoe123 | 2012-10-09 18:30:39 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:44:40 +0200 |
commit | fd13b546a7d2a2f63cca8ace7aa900a590f665bb (patch) | |
tree | 7807ad4e476fae139de05e91a3670867927557a3 /engines/neverhood/navigationscene.cpp | |
parent | 59901c5d13f59c64e4ed3174544f39b7b507b0ca (diff) | |
download | scummvm-rg350-fd13b546a7d2a2f63cca8ace7aa900a590f665bb.tar.gz scummvm-rg350-fd13b546a7d2a2f63cca8ace7aa900a590f665bb.tar.bz2 scummvm-rg350-fd13b546a7d2a2f63cca8ace7aa900a590f665bb.zip |
NEVERHOOD: Rename stuff in the Scene class and clean up a little
- Try to stay close to the actual frame rate
- Also use the Smacker frame rate when a video is playing to
keep videos in sync with the audio
Diffstat (limited to 'engines/neverhood/navigationscene.cpp')
-rw-r--r-- | engines/neverhood/navigationscene.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/neverhood/navigationscene.cpp b/engines/neverhood/navigationscene.cpp index 66b30cf79e..5594cce8da 100644 --- a/engines/neverhood/navigationscene.cpp +++ b/engines/neverhood/navigationscene.cpp @@ -51,10 +51,11 @@ NavigationScene::NavigationScene(NeverhoodEngine *vm, Module *parentModule, uint _smackerPlayer = new SmackerPlayer(_vm, this, (*_navigationList)[_navigationIndex].fileHash, true, true); addEntity(_smackerPlayer); addSurface(_smackerPlayer->getSurface()); - + createMouseCursor(); _vm->_screen->clear(); + _vm->_screen->setSmackerDecoder(_smackerPlayer->getSmackerDecoder()); sendMessage(_parentModule, 0x100A, _navigationIndex); @@ -77,10 +78,12 @@ void NavigationScene::update() { showMouse(false); _smackerPlayer->open(_smackerFileHash, false); _vm->_screen->clear(); + _vm->_screen->setSmackerDecoder(_smackerPlayer->getSmackerDecoder()); _smackerDone = false; _smackerFileHash = 0; } else if (_smackerDone) { if (_leaveSceneAfter) { + _vm->_screen->setSmackerDecoder(NULL); sendMessage(_parentModule, 0x1009, _navigationIndex); } else { const NavigationItem &navigationItem = (*_navigationList)[_navigationIndex]; @@ -94,6 +97,7 @@ void NavigationScene::update() { _smackerDone = false; _smackerPlayer->open(navigationItem.fileHash, true); _vm->_screen->clear(); + _vm->_screen->setSmackerDecoder(_smackerPlayer->getSmackerDecoder()); sendMessage(_parentModule, 0x100A, _navigationIndex); } } @@ -171,6 +175,7 @@ void NavigationScene::handleNavigation(const NPoint &mousePos) { } while (!(*_navigationList)[_navigationIndex].interactive); setGlobalVar(0x4200189E, _navigationIndex); } else { + _vm->_screen->setSmackerDecoder(NULL); sendMessage(_parentModule, 0x1009, _navigationIndex); } break; @@ -187,6 +192,7 @@ void NavigationScene::handleNavigation(const NPoint &mousePos) { } while (!(*_navigationList)[_navigationIndex].interactive); setGlobalVar(0x4200189E, _navigationIndex); } else { + _vm->_screen->setSmackerDecoder(NULL); sendMessage(_parentModule, 0x1009, _navigationIndex); } break; @@ -194,6 +200,7 @@ void NavigationScene::handleNavigation(const NPoint &mousePos) { case 3: case 4: if (navigationItem.middleFlag) { + _vm->_screen->setSmackerDecoder(NULL); sendMessage(_parentModule, 0x1009, _navigationIndex); } else if (navigationItem.middleSmackerFileHash != 0) { _smackerFileHash = navigationItem.middleSmackerFileHash; |