From f06db87a0ee0323ceb5a1e946fa9ed1f8576abca Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 31 Aug 2010 18:37:59 +0000 Subject: SWORD25: Implement playback. Blitting is TODO. svn-id: r53298 --- engines/sword25/fmv/movieplayer.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'engines/sword25/fmv/movieplayer.cpp') diff --git a/engines/sword25/fmv/movieplayer.cpp b/engines/sword25/fmv/movieplayer.cpp index 3114d68bdc..e4b417adc5 100644 --- a/engines/sword25/fmv/movieplayer.cpp +++ b/engines/sword25/fmv/movieplayer.cpp @@ -54,7 +54,7 @@ MoviePlayer::MoviePlayer(Kernel *pKernel) : Service(pKernel) { _decoder = new TheoraDecoder(); } -bool MoviePlayer::LoadMovie(const Common::String &filename, unsigned int Z) { +bool MoviePlayer::LoadMovie(const Common::String &filename, unsigned int z) { Common::SeekableReadStream *in = Kernel::GetInstance()->GetPackage()->GetStream(filename); if (!in) { @@ -62,11 +62,15 @@ bool MoviePlayer::LoadMovie(const Common::String &filename, unsigned int Z) { return false; } + debug(2, "LoadMovie(%s, %d)", filename.c_str(), z); + if (!_decoder->load(in)) { BS_LOG_ERRORLN("Could not load movie file \"%s\".", filename.c_str()); return false; } + warning("STUB: MoviePlayer::LoadMovie(). Z is not handled"); + return true; } @@ -77,22 +81,30 @@ bool MoviePlayer::UnloadMovie() { } bool MoviePlayer::Play() { + _decoder->pauseVideo(false); + return true; } bool MoviePlayer::Pause() { + _decoder->pauseVideo(true); + return true; } void MoviePlayer::Update() { + if (!_decoder->isVideoLoaded()) + return; + + Graphics::Surface *surface = _decoder->decodeNextFrame(); } bool MoviePlayer::IsMovieLoaded() { - return true; + return _decoder->isVideoLoaded(); } bool MoviePlayer::IsPaused() { - return true; + return _decoder->isPaused(); } float MoviePlayer::GetScaleFactor() { @@ -103,7 +115,7 @@ void MoviePlayer::SetScaleFactor(float ScaleFactor) { } double MoviePlayer::GetTime() { - return 1.0; + return (double)_decoder->getElapsedTime() / 1000.0; } -- cgit v1.2.3