[Scummvm-cvs-logs] SF.net SVN: scummvm:[51915] scummvm/trunk/graphics/video

drmccoy at users.sourceforge.net drmccoy at users.sourceforge.net
Sun Aug 8 03:05:16 CEST 2010


Revision: 51915
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51915&view=rev
Author:   drmccoy
Date:     2010-08-08 01:05:16 +0000 (Sun, 08 Aug 2010)

Log Message:
-----------
VIDEO: Implement VMD subtitles

Modified Paths:
--------------
    scummvm/trunk/graphics/video/coktel_decoder.cpp
    scummvm/trunk/graphics/video/coktel_decoder.h

Modified: scummvm/trunk/graphics/video/coktel_decoder.cpp
===================================================================
--- scummvm/trunk/graphics/video/coktel_decoder.cpp	2010-08-08 01:04:46 UTC (rev 51914)
+++ scummvm/trunk/graphics/video/coktel_decoder.cpp	2010-08-08 01:05:16 UTC (rev 51915)
@@ -221,6 +221,10 @@
 	return 0;
 }
 
+int32 CoktelDecoder::getSubtitleIndex() const {
+	return -1;
+}
+
 void CoktelDecoder::close() {
 	disableSound();
 	freeSurface();
@@ -1473,7 +1477,8 @@
 	_audioFormat(kAudioFormat8bitRaw), _hasVideo(false), _videoCodec(0),
 	_blitMode(0), _bytesPerPixel(0), _firstFramePos(0),
 	_frameData(0), _frameDataSize(0), _frameDataLen(0),
-	_videoBuffer(0), _videoBufferSize(0), _externalCodec(false), _codec(0) {
+	_videoBuffer(0), _videoBufferSize(0), _externalCodec(false), _codec(0),
+	_subtitle(-1) {
 
 }
 
@@ -1499,6 +1504,8 @@
 	_stream->seek(_frames[frame + 1].offset);
 	_curFrame = frame;
 
+	_subtitle = -1;
+
 	return true;
 }
 
@@ -1927,6 +1934,7 @@
 	_dirtyRects.clear();
 
 	_paletteDirty = false;
+	_subtitle     = -1;
 
 	bool startSound = false;
 
@@ -2029,9 +2037,7 @@
 
 		} else if (part.type == kPartTypeSubtitle) {
 
-			// TODO:
-			// state.speechId = part.id;
-			// Always triggers when speech starts
+			_subtitle = part.id;
 			_stream->skip(part.size);
 
 		} else {
@@ -2443,6 +2449,10 @@
 	return stream;
 }
 
+int32 VMDDecoder::getSubtitleIndex() const {
+	return _subtitle;
+}
+
 } // End of namespace Graphics
 
 #endif // GRAPHICS_VIDEO_COKTELDECODER_H

Modified: scummvm/trunk/graphics/video/coktel_decoder.h
===================================================================
--- scummvm/trunk/graphics/video/coktel_decoder.h	2010-08-08 01:04:46 UTC (rev 51914)
+++ scummvm/trunk/graphics/video/coktel_decoder.h	2010-08-08 01:05:16 UTC (rev 51915)
@@ -110,7 +110,10 @@
 	/** Return that embedded file. */
 	virtual Common::MemoryReadStream *getEmbeddedFile(const Common::String &fileName) const;
 
+	/** Return the current subtitle index. */
+	virtual int32 getSubtitleIndex() const;
 
+
 	// VideoDecoder interface
 
 	void close();
@@ -351,7 +354,9 @@
 	bool hasEmbeddedFile(const Common::String &fileName) const;
 	Common::MemoryReadStream *getEmbeddedFile(const Common::String &fileName) const;
 
+	int32 getSubtitleIndex() const;
 
+
 	// VideoDecoder interface
 
 	bool load(Common::SeekableReadStream *stream);
@@ -459,6 +464,8 @@
 	bool _externalCodec;
 	Codec *_codec;
 
+	int32 _subtitle;
+
 	// Loading helper functions
 	bool assessVideoProperties();
 	bool assessAudioProperties();


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list