diff options
| author | Sven Hesse | 2008-05-07 03:49:53 +0000 | 
|---|---|---|
| committer | Sven Hesse | 2008-05-07 03:49:53 +0000 | 
| commit | 9d5eea2d2c3f79147b15fb7920cd6d5de8e15d44 (patch) | |
| tree | 828ae2af338f062c2023b26d0c24d0d9d3e15ab5 | |
| parent | 5681ae1e82ba2c125928ecbfbd937cb187c06aa4 (diff) | |
| download | scummvm-rg350-9d5eea2d2c3f79147b15fb7920cd6d5de8e15d44.tar.gz scummvm-rg350-9d5eea2d2c3f79147b15fb7920cd6d5de8e15d44.tar.bz2 scummvm-rg350-9d5eea2d2c3f79147b15fb7920cd6d5de8e15d44.zip  | |
Sound in object videos works now, too
svn-id: r31916
| -rw-r--r-- | engines/gob/mult_v2.cpp | 5 | ||||
| -rw-r--r-- | engines/gob/videoplayer.cpp | 12 | ||||
| -rw-r--r-- | engines/gob/videoplayer.h | 1 | 
3 files changed, 17 insertions, 1 deletions
diff --git a/engines/gob/mult_v2.cpp b/engines/gob/mult_v2.cpp index 9045089632..5ff0612497 100644 --- a/engines/gob/mult_v2.cpp +++ b/engines/gob/mult_v2.cpp @@ -686,6 +686,11 @@ void Mult_v2::newCycleAnim(Mult_Object &animObj) {  			return;  		animLayer = _vm->_scenery->getAnimLayer(nAnim, nLayer); +	} else { +		if (animObj.videoSlot > 0) { +			_vm->_video->retrace(); +			_vm->_vidPlayer->slotWaitEndFrame(animObj.videoSlot - 1, true); +		}  	}  	if (animData.animType == 4) { diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp index e088646498..6b21c18676 100644 --- a/engines/gob/videoplayer.cpp +++ b/engines/gob/videoplayer.cpp @@ -334,7 +334,7 @@ int VideoPlayer::slotOpen(const char *videoFile, Type which) {  	}  	video->getVideo()->setVideoMemory(); -	video->getVideo()->disableSound(); +	video->getVideo()->enableSound(*_vm->_mixer);  	_videoSlots.push_back(video); @@ -388,6 +388,16 @@ void VideoPlayer::slotCopyPalette(int slot, int16 palStart, int16 palEnd) {  	copyPalette(*(_videoSlots[slot]->getVideo()), palStart, palEnd);  } +void VideoPlayer::slotWaitEndFrame(int slot, bool onlySound) { +	if ((slot < 0) || (((uint) slot) >= _videoSlots.size())) +		return; + +	CoktelVideo &video = *(_videoSlots[slot]->getVideo()); + +	if (!onlySound || (video.getFeatures() & CoktelVideo::kFeaturesSound)) +		video.waitEndFrame(); +} +  bool VideoPlayer::slotIsOpen(int slot) const {  	if ((slot >= 0) && (((uint) slot) < _videoSlots.size()))  		return true; diff --git a/engines/gob/videoplayer.h b/engines/gob/videoplayer.h index fd3c68aa1a..a04a0dbc9d 100644 --- a/engines/gob/videoplayer.h +++ b/engines/gob/videoplayer.h @@ -68,6 +68,7 @@ public:  			uint16 left, uint16 top, uint16 width, uint16 height,  			uint16 x, uint16 y, uint16 pitch, int16 transp = -1);  	void slotCopyPalette(int slot, int16 palStart = -1, int16 palEnd = -1); +	void slotWaitEndFrame(int slot, bool onlySound = false);  	bool slotIsOpen(int slot) const;  | 
