diff options
author | Sven Hesse | 2010-08-08 01:09:20 +0000 |
---|---|---|
committer | Sven Hesse | 2010-08-08 01:09:20 +0000 |
commit | f5d1482c64d1969bf77f5107a792bff84dc7e903 (patch) | |
tree | e43bd779ae030bc49035f9f5cfe205e65f5409e6 /engines/sci/video | |
parent | 96e079a9f78d20344ff5699182194a5b35691e5e (diff) | |
download | scummvm-rg350-f5d1482c64d1969bf77f5107a792bff84dc7e903.tar.gz scummvm-rg350-f5d1482c64d1969bf77f5107a792bff84dc7e903.tar.bz2 scummvm-rg350-f5d1482c64d1969bf77f5107a792bff84dc7e903.zip |
SCI: Remove the now useless Sci::VMDDecoder wrapper
svn-id: r51923
Diffstat (limited to 'engines/sci/video')
-rw-r--r-- | engines/sci/video/vmd_decoder.cpp | 119 | ||||
-rw-r--r-- | engines/sci/video/vmd_decoder.h | 89 |
2 files changed, 0 insertions, 208 deletions
diff --git a/engines/sci/video/vmd_decoder.cpp b/engines/sci/video/vmd_decoder.cpp deleted file mode 100644 index 680a449207..0000000000 --- a/engines/sci/video/vmd_decoder.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - * - */ - -#ifdef ENABLE_SCI32 - -#include "sci/video/vmd_decoder.h" - -#include "common/endian.h" -#include "common/util.h" -#include "common/stream.h" -#include "common/system.h" - -#include "graphics/dither.h" - -#include "sound/mixer.h" -#include "sound/audiostream.h" - -namespace Sci { - -VMDDecoder::VMDDecoder(Audio::Mixer *mixer) : _mixer(mixer) { - _vmdDecoder = new Graphics::Vmd(new Graphics::PaletteLUT(5, Graphics::PaletteLUT::kPaletteYUV)); - _surface = 0; - _dirtyPalette = false; - _fileStream = 0; -} - -VMDDecoder::~VMDDecoder() { - close(); -} - -bool VMDDecoder::load(Common::SeekableReadStream *stream) { - close(); - - if (!_vmdDecoder->load(stream)) - return false; - - _fileStream = stream; - - if (_vmdDecoder->getFeatures() & Graphics::CoktelVideo::kFeaturesPalette) - loadPaletteFromVMD(); - - if (_vmdDecoder->getFeatures() & Graphics::CoktelVideo::kFeaturesSound) - _vmdDecoder->enableSound(*_mixer); - - if (_vmdDecoder->hasExtraData()) - warning("This VMD video has extra embedded data, which is currently not handled"); - - _surface = new Graphics::Surface(); - _surface->create(_vmdDecoder->getWidth(), _vmdDecoder->getHeight(), 1); - _vmdDecoder->setVideoMemory((byte *)_surface->pixels, _surface->w, _surface->h); - return true; -} - -void VMDDecoder::close() { - if (!_fileStream) - return; - - _vmdDecoder->unload(); - - delete _fileStream; - _fileStream = 0; - - _surface->free(); - delete _surface; - _surface = 0; - - reset(); -} - -Graphics::Surface *VMDDecoder::decodeNextFrame() { - Graphics::CoktelVideo::State state = _vmdDecoder->nextFrame(); - - if (state.flags & Graphics::CoktelVideo::kStatePalette) - loadPaletteFromVMD(); - - if (_curFrame == -1) - _startTime = g_system->getMillis(); - - _curFrame++; - return _surface; -} - -void VMDDecoder::loadPaletteFromVMD() { - const byte *pal = _vmdDecoder->getPalette(); - - for (int i = 0; i < 256; i++) { - _palette[i * 3 + 0] = pal[i * 3 + 0] << 2; - _palette[i * 3 + 1] = pal[i * 3 + 1] << 2; - _palette[i * 3 + 2] = pal[i * 3 + 2] << 2; - } - - _dirtyPalette = true; -} - -} // End of namespace Graphics - -#endif diff --git a/engines/sci/video/vmd_decoder.h b/engines/sci/video/vmd_decoder.h deleted file mode 100644 index e79064b1f7..0000000000 --- a/engines/sci/video/vmd_decoder.h +++ /dev/null @@ -1,89 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - * - */ - -#ifdef ENABLE_SCI32 - -#ifndef GRAPHICS_VIDEO_VMD_DECODER_H -#define GRAPHICS_VIDEO_VMD_DECODER_H - -#include "graphics/video/coktelvideo/coktelvideo.h" -#include "graphics/video/video_decoder.h" -#include "sound/mixer.h" - -namespace Sci { - -/** - * Wrapper for the Coktel Vision VMD video decoder - * for videos by Coktel Vision/Sierra. - * - * VMD videos were used in the following SCI21/SCI3 - * adventure games, developed by Sierra: - * - Gabriel Knight 2: The Beast Within - * - Leisure Suit Larry 7 - * - Lighthouse - * - Phantasmagoria 1 - * - RAMA - * - Shivers - * - Shivers 2: Harvest of Souls - * - Torin's Passage - */ -class VMDDecoder : public Graphics::FixedRateVideoDecoder { -public: - VMDDecoder(Audio::Mixer *mixer); - virtual ~VMDDecoder(); - - uint32 getFrameWaitTime(); - - bool load(Common::SeekableReadStream *stream); - void close(); - - bool isVideoLoaded() const { return _fileStream != 0; } - uint16 getWidth() const { return _surface->w; } - uint16 getHeight() const { return _surface->h; } - uint32 getFrameCount() const { return _vmdDecoder->getFramesCount(); } - Graphics::Surface *decodeNextFrame(); - Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); } - byte *getPalette() { _dirtyPalette = false; return _palette; } - bool hasDirtyPalette() const { return _dirtyPalette; } - -protected: - Common::Rational getFrameRate() const { return _vmdDecoder->getFrameRate(); } - -private: - Graphics::Vmd *_vmdDecoder; - Audio::Mixer *_mixer; - Graphics::Surface *_surface; - Common::SeekableReadStream *_fileStream; - byte _palette[256 * 3]; - bool _dirtyPalette; - - void loadPaletteFromVMD(); -}; - -} // End of namespace Graphics - -#endif - -#endif |