[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