aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/smackerplayer.cpp
diff options
context:
space:
mode:
authorjohndoe1232011-09-15 13:16:22 +0000
committerWillem Jan Palenstijn2013-05-08 20:39:38 +0200
commit38378d2090ef637c632e7d867d9519f57ef5db6e (patch)
treeb4e8a3da6481d41661782eb0404b45212b7333a5 /engines/neverhood/smackerplayer.cpp
parent3e122b002c08162fdbc841e9df8a73c95358b0a4 (diff)
downloadscummvm-rg350-38378d2090ef637c632e7d867d9519f57ef5db6e.tar.gz
scummvm-rg350-38378d2090ef637c632e7d867d9519f57ef5db6e.tar.bz2
scummvm-rg350-38378d2090ef637c632e7d867d9519f57ef5db6e.zip
NEVERHOOD: Add Scene1317
- Fix SmackerPlayer (last frame was dropped, this hopefully doesn't break other stuff...)
Diffstat (limited to 'engines/neverhood/smackerplayer.cpp')
-rw-r--r--engines/neverhood/smackerplayer.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/engines/neverhood/smackerplayer.cpp b/engines/neverhood/smackerplayer.cpp
index 39f49cb6e7..0ebec5ee9f 100644
--- a/engines/neverhood/smackerplayer.cpp
+++ b/engines/neverhood/smackerplayer.cpp
@@ -170,10 +170,9 @@ void SmackerPlayer::update() {
_dirtyFlag = false;
}
+#if 0
if (!_smackerDecoder->endOfVideo()) {
-
updateFrame();
-
if (_smackerDecoder->endOfVideo() && !_keepLastFrame) {
// Inform the scene about the end of the video playback
if (_scene) {
@@ -187,8 +186,23 @@ void SmackerPlayer::update() {
}
_flag2 = false;
}
-
}
+#endif
+
+ if (!_smackerDecoder->endOfVideo()) {
+ updateFrame();
+ } else if (!_keepLastFrame) {
+ // Inform the scene about the end of the video playback
+ if (_scene) {
+ _scene->sendMessage(0x3002, 0, this);
+ }
+ _flag2 = true;
+ } else {
+ rewind();
+ updateFrame();
+ _flag2 = false;
+ }
+
}
void SmackerPlayer::updateFrame() {