aboutsummaryrefslogtreecommitdiff
path: root/engines/made/pmvplayer.h
diff options
context:
space:
mode:
authorFilippos Karapetis2008-04-20 14:43:56 +0000
committerFilippos Karapetis2008-04-20 14:43:56 +0000
commitd0590a09eac68d5cde64d37fb2e5bbd1471a676a (patch)
tree3e29857746449aaea4c9834bedad0d18ce487ff7 /engines/made/pmvplayer.h
parentd484c7ed434e9f8e8267049fccbe3dbb5c39fe0b (diff)
downloadscummvm-rg350-d0590a09eac68d5cde64d37fb2e5bbd1471a676a.tar.gz
scummvm-rg350-d0590a09eac68d5cde64d37fb2e5bbd1471a676a.tar.bz2
scummvm-rg350-d0590a09eac68d5cde64d37fb2e5bbd1471a676a.zip
Initial import of the work in progress MADE engine
svn-id: r31599
Diffstat (limited to 'engines/made/pmvplayer.h')
-rw-r--r--engines/made/pmvplayer.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/engines/made/pmvplayer.h b/engines/made/pmvplayer.h
new file mode 100644
index 0000000000..51f5a36734
--- /dev/null
+++ b/engines/made/pmvplayer.h
@@ -0,0 +1,39 @@
+#ifndef MADE_PMVPLAYER_H
+#define MADE_PMVPLAYER_H
+
+#include "common/system.h"
+#include "common/events.h"
+#include "common/file.h"
+#include "common/endian.h"
+#include "graphics/surface.h"
+#include "sound/mixer.h"
+#include "sound/audiostream.h"
+
+#include "made/graphics.h"
+#include "made/sound.h"
+
+namespace Made {
+
+class PmvPlayer {
+public:
+ PmvPlayer(OSystem *system, Audio::Mixer *mixer);
+ ~PmvPlayer();
+ void play(const char *filename);
+protected:
+ OSystem *_system;
+ Audio::Mixer *_mixer;
+ Common::File *_fd;
+ Audio::AppendableAudioStream *_audioStream;
+ Audio::SoundHandle _audioStreamHandle;
+ byte _palette[768];
+ Graphics::Surface *_surface;
+ bool _abort;
+ void readChunk(uint32 &chunkType, uint32 &chunkSize);
+ void handleEvents();
+ void updatePalette();
+ void updateScreen();
+};
+
+}
+
+#endif