diff options
author | Benjamin Haisch | 2009-01-22 13:04:29 +0000 |
---|---|---|
committer | Benjamin Haisch | 2009-01-22 13:04:29 +0000 |
commit | 5b8105afb3a345cfd66efa795726329f509572c3 (patch) | |
tree | 4ff90316c9dee6be8bda8a0c3f8413ab5d8178a5 /engines/made/pmvplayer.cpp | |
parent | d5d7175691ea3cde7aa941886e3197763c1398c6 (diff) | |
download | scummvm-rg350-5b8105afb3a345cfd66efa795726329f509572c3.tar.gz scummvm-rg350-5b8105afb3a345cfd66efa795726329f509572c3.tar.bz2 scummvm-rg350-5b8105afb3a345cfd66efa795726329f509572c3.zip |
- Added support for The Manhole EGA version
- Support for 'chunked' picture resources and EGA pictures
- Improved the mouth sync in RtZ (still not perfect, though)
- Removed obsolete TODOs
- Fixed sfPlayMovie to return if the movie playback was aborted or not; this is used by RtZ to determine if it should display the credits screen after the intro movie
svn-id: r35997
Diffstat (limited to 'engines/made/pmvplayer.cpp')
-rw-r--r-- | engines/made/pmvplayer.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/engines/made/pmvplayer.cpp b/engines/made/pmvplayer.cpp index c3f5879f53..5240a3980d 100644 --- a/engines/made/pmvplayer.cpp +++ b/engines/made/pmvplayer.cpp @@ -34,15 +34,15 @@ PmvPlayer::PmvPlayer(MadeEngine *vm, Audio::Mixer *mixer) : _fd(NULL), _vm(vm), PmvPlayer::~PmvPlayer() { } -void PmvPlayer::play(const char *filename) { +bool PmvPlayer::play(const char *filename) { - _abort = false; + _aborted = false; _surface = NULL; _fd = new Common::File(); if (!_fd->open(filename)) { delete _fd; - return; + return false; } uint32 chunkType, chunkSize; @@ -51,14 +51,14 @@ void PmvPlayer::play(const char *filename) { if (chunkType != MKID_BE('MOVE')) { warning("Unexpected PMV video header, expected 'MOVE'"); delete _fd; - return; + return false; } readChunk(chunkType, chunkSize); // "MHED" if (chunkType != MKID_BE('MHED')) { warning("Unexpected PMV video header, expected 'MHED'"); delete _fd; - return; + return false; } uint frameDelay = _fd->readUint16LE(); @@ -108,7 +108,7 @@ void PmvPlayer::play(const char *filename) { // get it to work well? _audioStream = Audio::makeAppendableAudioStream(soundFreq, Audio::Mixer::FLAG_UNSIGNED); - while (!_vm->shouldQuit() && !_abort && !_fd->eos()) { + while (!_vm->shouldQuit() && !_aborted && !_fd->eos()) { int32 frameTime = _vm->_system->getMillis(); @@ -208,6 +208,8 @@ void PmvPlayer::play(const char *filename) { delete _fd; delete _surface; + return !_aborted; + } void PmvPlayer::readChunk(uint32 &chunkType, uint32 &chunkSize) { @@ -227,7 +229,7 @@ void PmvPlayer::handleEvents() { switch (event.type) { case Common::EVENT_KEYDOWN: if (event.kbd.keycode == Common::KEYCODE_ESCAPE) - _abort = true; + _aborted = true; break; default: break; |