aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/animation.cpp
diff options
context:
space:
mode:
authorMatthew Hoops2012-07-23 21:04:51 -0400
committerMatthew Hoops2012-07-23 21:04:51 -0400
commita652f6669e2e9225aee17431784b433397b41ae3 (patch)
tree9b3c000e20ab019f5927132025868ca898877b2f /engines/agos/animation.cpp
parent3a780a63db79c2a1b2527e6510182a74f6fcfe12 (diff)
downloadscummvm-rg350-a652f6669e2e9225aee17431784b433397b41ae3.tar.gz
scummvm-rg350-a652f6669e2e9225aee17431784b433397b41ae3.tar.bz2
scummvm-rg350-a652f6669e2e9225aee17431784b433397b41ae3.zip
VIDEO: Rewrite SmackerDecoder to use the new API
Diffstat (limited to 'engines/agos/animation.cpp')
-rw-r--r--engines/agos/animation.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/engines/agos/animation.cpp b/engines/agos/animation.cpp
index 10c01741ae..3e8488d7d5 100644
--- a/engines/agos/animation.cpp
+++ b/engines/agos/animation.cpp
@@ -415,7 +415,7 @@ void MoviePlayerDXA::updateBalance() {
MoviePlayerSMK::MoviePlayerSMK(AGOSEngine_Feeble *vm, const char *name)
- : MoviePlayer(vm), SmackerDecoder(vm->_mixer) {
+ : MoviePlayer(vm), SmackerDecoder() {
debug(0, "Creating SMK cutscene player");
memset(baseName, 0, sizeof(baseName));
@@ -431,12 +431,12 @@ bool MoviePlayerSMK::load() {
if (!loadStream(videoStream))
error("Failed to load video stream from file %s", videoName.c_str());
+ start();
+
debug(0, "Playing video %s", videoName.c_str());
CursorMan.showMouse(false);
- _firstFrameOffset = _fileStream->pos();
-
return true;
}
@@ -477,10 +477,8 @@ void MoviePlayerSMK::handleNextFrame() {
}
void MoviePlayerSMK::nextFrame() {
- if (_vm->_interactiveVideo == TYPE_LOOPING && endOfVideo()) {
- _fileStream->seek(_firstFrameOffset);
- _curFrame = -1;
- }
+ if (_vm->_interactiveVideo == TYPE_LOOPING && endOfVideo())
+ rewind();
if (!endOfVideo()) {
decodeNextFrame();