From 5683f076331d2831eb4720b65bb53e8d01ca33ee Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Sat, 21 Jul 2012 18:19:07 +0200 Subject: WINTERMUTE: Rename CamelCased filenames to prefixed_under_score-filenames This is mostly a lead-up to namespacing the Ad/Base folders, and then possibly removing the prefixes from the files, it also has the added benefit of getting rid of the odd case-typos that makes for issues on platforms that don't ignore case. --- engines/wintermute/video/video_theora_player.h | 151 +++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 engines/wintermute/video/video_theora_player.h (limited to 'engines/wintermute/video/video_theora_player.h') diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h new file mode 100644 index 0000000000..5bf8e165c7 --- /dev/null +++ b/engines/wintermute/video/video_theora_player.h @@ -0,0 +1,151 @@ +/* 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. + * + */ + +/* + * This file is based on WME Lite. + * http://dead-code.org/redir.php?target=wmelite + * Copyright (c) 2011 Jan Nedoma + */ + +#ifndef WINTERMUTE_VIDTHEORAPLAYER_H +#define WINTERMUTE_VIDTHEORAPLAYER_H + +#include "engines/wintermute/base/base.h" +#include "engines/wintermute/base/file/base_file.h" +#include "engines/wintermute/persistent.h" +#include "video/video_decoder.h" +#include "common/stream.h" +#include "graphics/surface.h" + +namespace WinterMute { +class CBSurface; +class CBImage; +class CVidTheoraPlayer : public CBBase { +private: + enum { + THEORA_STATE_NONE = 0, + THEORA_STATE_PLAYING = 1, + THEORA_STATE_PAUSED = 2, + THEORA_STATE_FINISHED = 3 + }; + Video::RewindableVideoDecoder *_theoraDecoder; + Graphics::Surface _surface; +public: + DECLARE_PERSISTENT(CVidTheoraPlayer, CBBase) + + CVidTheoraPlayer(CBGame *inGame); + virtual ~CVidTheoraPlayer(void); + + // external objects + Common::SeekableReadStream *_file; + Common::String _filename; + + CBSurface *_texture; + //CVidSubtitler *_subtitler; + + // control methods + bool initialize(const Common::String &filename, const Common::String &subtitleFile = NULL); + bool initializeSimple(); + bool update(); + bool play(TVideoPlayback type = VID_PLAY_CENTER, int x = 0, int y = 0, bool freezeGame = false, bool freezeMusic = true, bool Looping = false, uint32 startTime = 0, float forceZoom = -1.0f, int volume = -1); + bool stop(); + bool display(uint32 alpha = 0xFFFFFFFF); + //bool RenderFrame(CBSurface *Texture, yuv_buffer *yuv); + + bool pause(); + bool resume(); + + bool isPlaying() { + return _state == THEORA_STATE_PLAYING; + }; + bool isFinished() { + return _state == THEORA_STATE_FINISHED; + }; + bool isPaused() { + return _state == THEORA_STATE_PAUSED; + }; + + uint32 getMovieTime(); + uint32 getMovieFrame(); + + CBSurface *getTexture(); + + int _state; + uint32 _startTime; + + int _savedState; + uint32 _savedPos; + + + // alpha related + CBImage *_alphaImage; + Common::String _alphaFilename; + bool setAlphaImage(const Common::String &filename); + __inline byte getAlphaAt(int x, int y); + void writeAlpha(); + + bool SeekToTime(uint32 Time); + + + void cleanup(); + bool resetStream(); + + // video properties + TVideoPlayback _playbackType; + int _posX; + int _posY; + float _playZoom; + int _volume; + + bool _looping; + bool _dontDropFrames; + bool _freezeGame; + uint32 _currentTime; + + +private: + // seeking support + bool _seekingKeyframe; + float _timeOffset; + + bool _frameRendered; + + bool getIsFrameReady() { + return _videoFrameReady; + } +private: + bool _audioFrameReady; + bool _videoFrameReady; + float _videobufTime; + + bool WriteVideo(); + + bool _playbackStarted; + + // helpers + void SetDefaults(); + +}; + +} // end of namespace WinterMute + +#endif -- cgit v1.2.3 From b5a07fef8ebf29f7f44b15d9b34799c7e115fdad Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Sat, 21 Jul 2012 21:01:47 +0200 Subject: WINTERMUTE: Get rid of the C-prefix for class-definitions. --- engines/wintermute/video/video_theora_player.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'engines/wintermute/video/video_theora_player.h') diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h index 5bf8e165c7..6e0e4b3152 100644 --- a/engines/wintermute/video/video_theora_player.h +++ b/engines/wintermute/video/video_theora_player.h @@ -37,9 +37,9 @@ #include "graphics/surface.h" namespace WinterMute { -class CBSurface; -class CBImage; -class CVidTheoraPlayer : public CBBase { +class BaseSurface; +class BaseImage; +class VideoTheoraPlayer : public BaseClass { private: enum { THEORA_STATE_NONE = 0, @@ -50,16 +50,16 @@ private: Video::RewindableVideoDecoder *_theoraDecoder; Graphics::Surface _surface; public: - DECLARE_PERSISTENT(CVidTheoraPlayer, CBBase) + DECLARE_PERSISTENT(VideoTheoraPlayer, BaseClass) - CVidTheoraPlayer(CBGame *inGame); - virtual ~CVidTheoraPlayer(void); + VideoTheoraPlayer(BaseGame *inGame); + virtual ~VideoTheoraPlayer(void); // external objects Common::SeekableReadStream *_file; Common::String _filename; - CBSurface *_texture; + BaseSurface *_texture; //CVidSubtitler *_subtitler; // control methods @@ -69,7 +69,7 @@ public: bool play(TVideoPlayback type = VID_PLAY_CENTER, int x = 0, int y = 0, bool freezeGame = false, bool freezeMusic = true, bool Looping = false, uint32 startTime = 0, float forceZoom = -1.0f, int volume = -1); bool stop(); bool display(uint32 alpha = 0xFFFFFFFF); - //bool RenderFrame(CBSurface *Texture, yuv_buffer *yuv); + //bool RenderFrame(BaseSurface *Texture, yuv_buffer *yuv); bool pause(); bool resume(); @@ -87,7 +87,7 @@ public: uint32 getMovieTime(); uint32 getMovieFrame(); - CBSurface *getTexture(); + BaseSurface *getTexture(); int _state; uint32 _startTime; @@ -97,7 +97,7 @@ public: // alpha related - CBImage *_alphaImage; + BaseImage *_alphaImage; Common::String _alphaFilename; bool setAlphaImage(const Common::String &filename); __inline byte getAlphaAt(int x, int y); -- cgit v1.2.3 From dd6d093cf33f3ab3cf49f848ba6298733bad5831 Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Mon, 23 Jul 2012 02:36:57 +0200 Subject: WINTERMUTE: Remove 2 more unecessary includes. --- engines/wintermute/video/video_theora_player.h | 1 - 1 file changed, 1 deletion(-) (limited to 'engines/wintermute/video/video_theora_player.h') diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h index 6e0e4b3152..3d17aed31e 100644 --- a/engines/wintermute/video/video_theora_player.h +++ b/engines/wintermute/video/video_theora_player.h @@ -30,7 +30,6 @@ #define WINTERMUTE_VIDTHEORAPLAYER_H #include "engines/wintermute/base/base.h" -#include "engines/wintermute/base/file/base_file.h" #include "engines/wintermute/persistent.h" #include "video/video_decoder.h" #include "common/stream.h" -- cgit v1.2.3 From e9a847fb352dd0e59fe45fd27c41a93d40f2bd1f Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Thu, 26 Jul 2012 18:20:58 +0200 Subject: WINTERMUTE: Remove #if 0 - commented out code. --- engines/wintermute/video/video_theora_player.h | 1 - 1 file changed, 1 deletion(-) (limited to 'engines/wintermute/video/video_theora_player.h') diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h index 3d17aed31e..58fe700d75 100644 --- a/engines/wintermute/video/video_theora_player.h +++ b/engines/wintermute/video/video_theora_player.h @@ -84,7 +84,6 @@ public: }; uint32 getMovieTime(); - uint32 getMovieFrame(); BaseSurface *getTexture(); -- cgit v1.2.3 From 3a49f2bad407787ef65d04c5f9ae423485629b41 Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Thu, 26 Jul 2012 22:20:55 +0200 Subject: WINTERMUTE: More variable/function renaming VarName->varName --- engines/wintermute/video/video_theora_player.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'engines/wintermute/video/video_theora_player.h') diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h index 58fe700d75..fe71ae0f35 100644 --- a/engines/wintermute/video/video_theora_player.h +++ b/engines/wintermute/video/video_theora_player.h @@ -65,10 +65,10 @@ public: bool initialize(const Common::String &filename, const Common::String &subtitleFile = NULL); bool initializeSimple(); bool update(); - bool play(TVideoPlayback type = VID_PLAY_CENTER, int x = 0, int y = 0, bool freezeGame = false, bool freezeMusic = true, bool Looping = false, uint32 startTime = 0, float forceZoom = -1.0f, int volume = -1); + bool play(TVideoPlayback type = VID_PLAY_CENTER, int x = 0, int y = 0, bool freezeGame = false, bool freezeMusic = true, bool looping = false, uint32 startTime = 0, float forceZoom = -1.0f, int volume = -1); bool stop(); bool display(uint32 alpha = 0xFFFFFFFF); - //bool RenderFrame(BaseSurface *Texture, yuv_buffer *yuv); + //bool renderFrame(BaseSurface *texture, yuv_buffer *yuv); bool pause(); bool resume(); @@ -101,7 +101,7 @@ public: __inline byte getAlphaAt(int x, int y); void writeAlpha(); - bool SeekToTime(uint32 Time); + bool seekToTime(uint32 Time); void cleanup(); @@ -135,7 +135,7 @@ private: bool _videoFrameReady; float _videobufTime; - bool WriteVideo(); + bool writeVideo(); bool _playbackStarted; -- cgit v1.2.3 From fed19cb66ae5b56dd7dc81b90edd5a0d15986678 Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Mon, 13 Aug 2012 03:42:30 +0200 Subject: WINTERMUTE: WinterMute -> Wintermute --- engines/wintermute/video/video_theora_player.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'engines/wintermute/video/video_theora_player.h') diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h index fe71ae0f35..cd358381f1 100644 --- a/engines/wintermute/video/video_theora_player.h +++ b/engines/wintermute/video/video_theora_player.h @@ -35,7 +35,7 @@ #include "common/stream.h" #include "graphics/surface.h" -namespace WinterMute { +namespace Wintermute { class BaseSurface; class BaseImage; class VideoTheoraPlayer : public BaseClass { @@ -144,6 +144,6 @@ private: }; -} // end of namespace WinterMute +} // end of namespace Wintermute #endif -- cgit v1.2.3 From 10ca0f136d120677d776981fc58aba548181c033 Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Wed, 15 Aug 2012 02:35:11 +0200 Subject: WINTERMUTE: Clear out some commented-out code. --- engines/wintermute/video/video_theora_player.h | 1 - 1 file changed, 1 deletion(-) (limited to 'engines/wintermute/video/video_theora_player.h') diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h index cd358381f1..41b45d2289 100644 --- a/engines/wintermute/video/video_theora_player.h +++ b/engines/wintermute/video/video_theora_player.h @@ -68,7 +68,6 @@ public: bool play(TVideoPlayback type = VID_PLAY_CENTER, int x = 0, int y = 0, bool freezeGame = false, bool freezeMusic = true, bool looping = false, uint32 startTime = 0, float forceZoom = -1.0f, int volume = -1); bool stop(); bool display(uint32 alpha = 0xFFFFFFFF); - //bool renderFrame(BaseSurface *texture, yuv_buffer *yuv); bool pause(); bool resume(); -- cgit v1.2.3 From 16b27090b1c7dc11cdc199b1a98c0f2973db5f45 Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Fri, 31 Aug 2012 13:49:38 +0200 Subject: WINTERMUTE: Update to use new TGA-decoder and new Video-system --- engines/wintermute/video/video_theora_player.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engines/wintermute/video/video_theora_player.h') diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h index 41b45d2289..fd1b7b94b3 100644 --- a/engines/wintermute/video/video_theora_player.h +++ b/engines/wintermute/video/video_theora_player.h @@ -46,7 +46,7 @@ private: THEORA_STATE_PAUSED = 2, THEORA_STATE_FINISHED = 3 }; - Video::RewindableVideoDecoder *_theoraDecoder; + Video::VideoDecoder *_theoraDecoder; Graphics::Surface _surface; public: DECLARE_PERSISTENT(VideoTheoraPlayer, BaseClass) -- cgit v1.2.3 From e067520bb904615ed75217808ba27235eb244336 Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Fri, 31 Aug 2012 21:01:53 +0200 Subject: WINTERMUTE: Use tabs in enums --- engines/wintermute/video/video_theora_player.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'engines/wintermute/video/video_theora_player.h') diff --git a/engines/wintermute/video/video_theora_player.h b/engines/wintermute/video/video_theora_player.h index fd1b7b94b3..593c1b9666 100644 --- a/engines/wintermute/video/video_theora_player.h +++ b/engines/wintermute/video/video_theora_player.h @@ -41,10 +41,10 @@ class BaseImage; class VideoTheoraPlayer : public BaseClass { private: enum { - THEORA_STATE_NONE = 0, - THEORA_STATE_PLAYING = 1, - THEORA_STATE_PAUSED = 2, - THEORA_STATE_FINISHED = 3 + THEORA_STATE_NONE = 0, + THEORA_STATE_PLAYING = 1, + THEORA_STATE_PAUSED = 2, + THEORA_STATE_FINISHED = 3 }; Video::VideoDecoder *_theoraDecoder; Graphics::Surface _surface; -- cgit v1.2.3