aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/voyeur/data.cpp2
-rw-r--r--engines/voyeur/sound.cpp3
-rw-r--r--engines/voyeur/voyeur_game.cpp5
3 files changed, 6 insertions, 4 deletions
diff --git a/engines/voyeur/data.cpp b/engines/voyeur/data.cpp
index be22a58f28..64b15f72c6 100644
--- a/engines/voyeur/data.cpp
+++ b/engines/voyeur/data.cpp
@@ -153,7 +153,7 @@ void SVoy::addAudioEventStart() {
e._isAM = _isAM;
e._type = EVTYPE_AUDIO;
e._videoId = _vm->_videoId;
- e._computerOn = _field47A;
+ e._computerOn = _vocSecondsOffset;
e._dead = _vm->_eventsManager._videoDead;
}
diff --git a/engines/voyeur/sound.cpp b/engines/voyeur/sound.cpp
index 22751da48e..aab49be851 100644
--- a/engines/voyeur/sound.cpp
+++ b/engines/voyeur/sound.cpp
@@ -87,7 +87,8 @@ int SoundManager::getVOCStatus() {
}
uint32 SoundManager::getVOCFrame() {
- error("TODO: getVOCFrame");
+ Audio::Timestamp timestamp = _mixer->getElapsedTime(_soundHandle);
+ return timestamp.secs();
}
} // End of namespace Voyeur
diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp
index 1d7daef422..c645643163 100644
--- a/engines/voyeur/voyeur_game.cpp
+++ b/engines/voyeur/voyeur_game.cpp
@@ -688,10 +688,11 @@ void VoyeurEngine::reviewTape() {
// Play suond for the given duration
_soundManager.setVOCOffset(_voy._vocSecondsOffset);
_soundManager.startVOCPlay(_videoId + 159);
- uint32 offFrame = e._computerOff;
+ uint32 secondsDuration = e._computerOff;
+ _eventsManager.getMouseInfo();
while (!_eventsManager._mouseClicked && _soundManager.getVOCStatus() &&
- _soundManager.getVOCFrame() < offFrame) {
+ _soundManager.getVOCFrame() < secondsDuration) {
_eventsManager.getMouseInfo();
_eventsManager.delay(10);
}