diff options
author | johndoe123 | 2012-10-11 21:23:55 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:47:06 +0200 |
commit | 111b6d32c6c8e6aaafdb6e5efaeea0a0ae4aa998 (patch) | |
tree | 91cb6b29f206fd1b8b8ff6116bf394e40f63f252 /engines/neverhood/smackerscene.cpp | |
parent | 2e7d100a6f2834b68e4d5d18cf72f63871ddfdf9 (diff) | |
download | scummvm-rg350-111b6d32c6c8e6aaafdb6e5efaeea0a0ae4aa998.tar.gz scummvm-rg350-111b6d32c6c8e6aaafdb6e5efaeea0a0ae4aa998.tar.bz2 scummvm-rg350-111b6d32c6c8e6aaafdb6e5efaeea0a0ae4aa998.zip |
NEVERHOOD: Fix Smacker framerate bug after the video decoder changes
- React to the space key which can skip some videos and navigation transitions
- Minor renaming in SmackerScene
Diffstat (limited to 'engines/neverhood/smackerscene.cpp')
-rw-r--r-- | engines/neverhood/smackerscene.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/engines/neverhood/smackerscene.cpp b/engines/neverhood/smackerscene.cpp index e2cb7cdfa3..d4f65b3652 100644 --- a/engines/neverhood/smackerscene.cpp +++ b/engines/neverhood/smackerscene.cpp @@ -25,7 +25,7 @@ namespace Neverhood { SmackerScene::SmackerScene(NeverhoodEngine *vm, Module *parentModule, bool doubleSurface, bool flag1, bool canAbort) - : Scene(vm, parentModule, true), _doubleSurface(doubleSurface), _flag1(flag1), _canAbort(canAbort), _fieldDF(false), + : Scene(vm, parentModule, true), _doubleSurface(doubleSurface), _flag1(flag1), _canAbort(canAbort), _videoPlayedBefore(false), _fileHashListIndex(-1), _fileHashList(NULL), _playNextVideoFlag(false) { debug("SmackerScene::SmackerScene(%d, %d, %d)", doubleSurface, flag1, canAbort); @@ -77,10 +77,9 @@ void SmackerScene::nextVideo() { sendMessage(_parentModule, 0x1009, 0); return; } - _fieldDF = getSubVar(VA_SMACKER_PLAYED, smackerFileHash); - if (!_fieldDF) { + _videoPlayedBefore = getSubVar(VA_SMACKER_PLAYED, smackerFileHash); + if (!_videoPlayedBefore) setSubVar(VA_SMACKER_PLAYED, smackerFileHash, 1); - } if (_fileHashListIndex == 0) _smackerPlayer = addSmackerPlayer(new SmackerPlayer(_vm, this, smackerFileHash, _doubleSurface, false)); else @@ -105,7 +104,7 @@ uint32 SmackerScene::handleMessage(int messageNum, const MessageParam ¶m, En uint32 messageResult = Scene::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x0009: - if ((_fieldDF && _flag1) || (_canAbort && _flag1)) + if ((_videoPlayedBefore && _flag1) || (_canAbort && _flag1)) _playNextVideoFlag = true; break; case 0x000C: |