aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/smackerscene.cpp
diff options
context:
space:
mode:
authorjohndoe1232012-10-11 21:23:55 +0000
committerWillem Jan Palenstijn2013-05-08 20:47:06 +0200
commit111b6d32c6c8e6aaafdb6e5efaeea0a0ae4aa998 (patch)
tree91cb6b29f206fd1b8b8ff6116bf394e40f63f252 /engines/neverhood/smackerscene.cpp
parent2e7d100a6f2834b68e4d5d18cf72f63871ddfdf9 (diff)
downloadscummvm-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.cpp9
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 &param, 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: