diff options
| author | Sven Hesse | 2010-08-08 01:05:46 +0000 | 
|---|---|---|
| committer | Sven Hesse | 2010-08-08 01:05:46 +0000 | 
| commit | a78ddb8488de0b6928b0135dfbd461e39380c436 (patch) | |
| tree | df8bfd05029eb9f8af2f3c9f8fc027e08a9fbd26 | |
| parent | 0be37b6b28bf0089dd1f23bc6b81fb256c2cb4ae (diff) | |
| download | scummvm-rg350-a78ddb8488de0b6928b0135dfbd461e39380c436.tar.gz scummvm-rg350-a78ddb8488de0b6928b0135dfbd461e39380c436.tar.bz2 scummvm-rg350-a78ddb8488de0b6928b0135dfbd461e39380c436.zip | |
GOB: Handle VMD subtitles again
svn-id: r51916
| -rw-r--r-- | engines/gob/scenery.cpp | 9 | ||||
| -rw-r--r-- | engines/gob/videoplayer.cpp | 16 | ||||
| -rw-r--r-- | engines/gob/videoplayer.h | 2 | 
3 files changed, 16 insertions, 11 deletions
| diff --git a/engines/gob/scenery.cpp b/engines/gob/scenery.cpp index c427e9299a..f9587dc0b3 100644 --- a/engines/gob/scenery.cpp +++ b/engines/gob/scenery.cpp @@ -636,12 +636,9 @@ void Scenery::updateAnim(int16 layer, int16 frame, int16 animation, int16 flags,  			_vm->_vidPlayer->play(obj.videoSlot - 1, props);  		} -		/* -		// Subtitle -		Graphics::CoktelVideo::State state = _vm->_vidPlayer->getState(obj.videoSlot - 1); -		if (state.flags & Graphics::CoktelVideo::kStateSpeech) -			_vm->_draw->printTotText(state.speechId); -		*/ +		int32 subtitle = _vm->_vidPlayer->getSubtitleIndex(obj.videoSlot - 1); +		if (subtitle != -1) +			_vm->_draw->printTotText(subtitle);  		destX  = 0;  		destY  = 0; diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp index d0d2f4309f..ae2ef32537 100644 --- a/engines/gob/videoplayer.cpp +++ b/engines/gob/videoplayer.cpp @@ -380,11 +380,9 @@ bool VideoPlayer::playFrame(int slot, Properties &properties) {  			// Only retrace if we're playing the frame we actually want to play  			_vm->_video->retrace(); -		/* -		// Subtitle -		if (state.flags & Graphics::CoktelDecoder::kStateSpeech) -			_vm->_draw->printTotText(state.speechId); -		*/ +		int32 subtitle = video->decoder->getSubtitleIndex(); +		if (subtitle != -1) +			_vm->_draw->printTotText(subtitle);  		if (modifiedPal && ((properties.palCmd == 2) || (properties.palCmd == 4)))  			_vm->_palAnim->fade(_vm->_global->_pPaletteDesc, -2, 0); @@ -510,6 +508,14 @@ Common::MemoryReadStream *VideoPlayer::getEmbeddedFile(const Common::String &fil  	return video->decoder->getEmbeddedFile(fileName);  } +int32 VideoPlayer::getSubtitleIndex(int slot) const { +	const Video *video = getVideoBySlot(slot); +	if (!video) +		return -1; + +	return video->decoder->getSubtitleIndex(); +} +  void VideoPlayer::writeVideoInfo(const Common::String &file, int16 varX, int16 varY,  		int16 varFrames, int16 varWidth, int16 varHeight) { diff --git a/engines/gob/videoplayer.h b/engines/gob/videoplayer.h index 7cb9c013b6..d91d0a3845 100644 --- a/engines/gob/videoplayer.h +++ b/engines/gob/videoplayer.h @@ -123,6 +123,8 @@ public:  	bool                      hasEmbeddedFile(const Common::String &fileName, int slot = 0) const;  	Common::MemoryReadStream *getEmbeddedFile(const Common::String &fileName, int slot = 0); +	int32 getSubtitleIndex(int slot = 0) const; +  	void writeVideoInfo(const Common::String &file, int16 varX, int16 varY,  			int16 varFrames, int16 varWidth, int16 varHeight); | 
