aboutsummaryrefslogtreecommitdiff
path: root/scumm/smush
diff options
context:
space:
mode:
authorPaweł Kołodziejski2006-01-28 16:30:39 +0000
committerPaweł Kołodziejski2006-01-28 16:30:39 +0000
commitdd02251cb30221a9b3e55602afff364b76dd9b3c (patch)
tree5b8991da4701e0b911793c59f6d812a7f72bca1b /scumm/smush
parenta0ac36c790f4163e59ba542f6e9f106af5a96fad (diff)
downloadscummvm-rg350-dd02251cb30221a9b3e55602afff364b76dd9b3c.tar.gz
scummvm-rg350-dd02251cb30221a9b3e55602afff364b76dd9b3c.tar.bz2
scummvm-rg350-dd02251cb30221a9b3e55602afff364b76dd9b3c.zip
experimental imuse without timer thread usage, it might still have issue stoped audio while switching rooms
svn-id: r20270
Diffstat (limited to 'scumm/smush')
-rw-r--r--scumm/smush/smush_player.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/scumm/smush/smush_player.cpp b/scumm/smush/smush_player.cpp
index 0002e260b8..002910f41b 100644
--- a/scumm/smush/smush_player.cpp
+++ b/scumm/smush/smush_player.cpp
@@ -1102,8 +1102,6 @@ void SmushPlayer::parseNextFrame() {
if (_insanity)
_vm->_sound->processSound();
-
- _vm->_imuseDigital->flushTracks();
}
void SmushPlayer::setPalette(const byte *palette) {
@@ -1270,6 +1268,9 @@ void SmushPlayer::play(const char *filename, int32 offset, int32 startFrame) {
if (_vm->_smushVideoShouldFinish || _vm->_quit || _vm->_saveLoadFlag)
break;
+ _vm->_imuseDigital->callback();
+ _vm->_imuseDigital->flushTracks();
+
lastTime = thisTime;
thisTime = _vm->_system->getMillis();
interval = 1000 * (thisTime - lastTime - diff);
@@ -1284,7 +1285,7 @@ void SmushPlayer::play(const char *filename, int32 offset, int32 startFrame) {
_vm->_system->warpMouse(_warpX, _warpY);
_warpNeeded = false;
}
-
+
int32 before = _vm->_system->getMillis();
_vm->parseEvents();
_vm->processKbd(true);