[Scummvm-cvs-logs] scummvm master -> 37cc8df5a593ed6d76a5fa5f1221fc9a1b5df81e
m-kiewitz
m_kiewitz at users.sourceforge.net
Thu Jun 4 17:53:43 CEST 2015
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
37cc8df5a5 SHERLOCK: 3DO movie player improvements
Commit: 37cc8df5a593ed6d76a5fa5f1221fc9a1b5df81e
https://github.com/scummvm/scummvm/commit/37cc8df5a593ed6d76a5fa5f1221fc9a1b5df81e
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-06-04T17:54:13+02:00
Commit Message:
SHERLOCK: 3DO movie player improvements
- allow DACQ and JOIN chunks (skip them)
- improve unknown chunk tag error messages
Changed paths:
engines/sherlock/scalpel/3do/movie_decoder.cpp
diff --git a/engines/sherlock/scalpel/3do/movie_decoder.cpp b/engines/sherlock/scalpel/3do/movie_decoder.cpp
index 6e663f7..bd3d483 100644
--- a/engines/sherlock/scalpel/3do/movie_decoder.cpp
+++ b/engines/sherlock/scalpel/3do/movie_decoder.cpp
@@ -73,7 +73,7 @@ bool Scalpel3DOMovieDecoder::loadStream(Common::SeekableReadStream *stream) {
// Look for packets that we care about
static const int maxPacketCheckCount = 20;
for (int i = 0; i < maxPacketCheckCount; i++) {
- uint32 tag = _stream->readUint32BE();
+ uint32 chunkTag = _stream->readUint32BE();
uint32 chunkSize = _stream->readUint32BE() - 8;
// Bail out if done
@@ -82,7 +82,7 @@ bool Scalpel3DOMovieDecoder::loadStream(Common::SeekableReadStream *stream) {
uint32 dataStartOffset = _stream->pos();
- switch (tag) {
+ switch (chunkTag) {
case MKTAG('F','I','L','M'): {
// See if this is a FILM header
_stream->skip(4); // time stamp (based on 240 per second)
@@ -163,8 +163,10 @@ bool Scalpel3DOMovieDecoder::loadStream(Common::SeekableReadStream *stream) {
}
case MKTAG('C','T','R','L'):
- case MKTAG('F','I','L','L'):
- // Ignore but also accept CTRL + FILL packets
+ case MKTAG('F','I','L','L'): // filler chunk, fills to certain boundary
+ case MKTAG('D','A','C','Q'):
+ case MKTAG('J','O','I','N'): // add cel data (not used in sherlock)
+ // Ignore these chunks
break;
case MKTAG('S','H','D','R'):
@@ -172,7 +174,7 @@ bool Scalpel3DOMovieDecoder::loadStream(Common::SeekableReadStream *stream) {
break;
default:
- warning("Unknown header inside Sherlock 3DO movie");
+ warning("Unknown chunk-tag '%s' inside Sherlock 3DO movie", tag2str(chunkTag));
close();
return false;
}
@@ -337,8 +339,10 @@ void Scalpel3DOMovieDecoder::readNextPacket() {
break;
case MKTAG('C','T','R','L'):
- case MKTAG('F','I','L','L'):
- // Ignore but also accept CTRL + FILL packets
+ case MKTAG('F','I','L','L'): // filler chunk, fills to certain boundary
+ case MKTAG('D','A','C','Q'):
+ case MKTAG('J','O','I','N'): // add cel data (not used in sherlock)
+ // Ignore these chunks
break;
case MKTAG('S','H','D','R'):
@@ -346,7 +350,7 @@ void Scalpel3DOMovieDecoder::readNextPacket() {
break;
default:
- error("Unknown header inside Sherlock 3DO movie");
+ error("Unknown chunk-tag '%s' inside Sherlock 3DO movie", tag2str(chunkTag));
}
// Always seek to end of chunk
@@ -452,7 +456,7 @@ Audio::AudioStream *Scalpel3DOMovieDecoder::StreamAudioTrack::getAudioStream() c
// Code for showing a movie. Only meant for testing/debug purposes
void Scalpel3DOMoviePlay(const char *filename) {
// HACK
- initGraphics(320, 200, false, NULL);
+ initGraphics(320, 240, false, NULL);
Scalpel3DOMovieDecoder *videoDecoder = new Scalpel3DOMovieDecoder();
More information about the Scummvm-git-logs
mailing list