diff options
author | Paul Gilbert | 2016-04-08 20:46:03 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-04-08 20:46:03 -0400 |
commit | e3d02532f7a64f194a802e29abef4b03eb6395b4 (patch) | |
tree | 543f88f9044ce1de598b2292512994adc0af99ae /engines/titanic/support/movie.h | |
parent | 63e2a01ecf2d5d5c56f657a87c48c761a88c5eb7 (diff) | |
download | scummvm-rg350-e3d02532f7a64f194a802e29abef4b03eb6395b4.tar.gz scummvm-rg350-e3d02532f7a64f194a802e29abef4b03eb6395b4.tar.bz2 scummvm-rg350-e3d02532f7a64f194a802e29abef4b03eb6395b4.zip |
TITANIC: Implementing preliminary video playback code
Diffstat (limited to 'engines/titanic/support/movie.h')
-rw-r--r-- | engines/titanic/support/movie.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/engines/titanic/support/movie.h b/engines/titanic/support/movie.h index b5ae70de13..dfb0ca108a 100644 --- a/engines/titanic/support/movie.h +++ b/engines/titanic/support/movie.h @@ -29,11 +29,20 @@ namespace Titanic { +enum MovieState { + MOVIE_STOPPED = -1, MOVIE_NONE = 0, MOVIE_FINISHED = 1, MOVIE_FRAME = 2 +}; + class CVideoSurface; +class CMovie; + +class CMovieList : public List<CMovie> { +public: +}; class CMovie : public ListItem { protected: - int _state; + MovieState _state; int _field10; public: CMovie(); @@ -57,12 +66,20 @@ public: bool isActive() const; bool get10(); + + virtual MovieState getState() = 0; + virtual void update() = 0; }; class OSMovie : public CMovie { private: Video::VideoDecoder *_video; CVideoSurface *_videoSurface; + + /** + * Decodes the next frame + */ + void decodeFrame(); public: OSMovie(const CResourceKey &name, CVideoSurface *surface); virtual ~OSMovie(); @@ -86,10 +103,10 @@ public: virtual int proc19(); virtual void proc20(); virtual void *proc21(); -}; -class CGlobalMovies : public List<CMovie> { -public: + + virtual MovieState getState(); + virtual void update(); }; } // End of namespace Titanic |