aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/vqa_decoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/vqa_decoder.h')
-rw-r--r--engines/bladerunner/vqa_decoder.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/engines/bladerunner/vqa_decoder.h b/engines/bladerunner/vqa_decoder.h
index fecc14db9b..eb486c8413 100644
--- a/engines/bladerunner/vqa_decoder.h
+++ b/engines/bladerunner/vqa_decoder.h
@@ -24,7 +24,6 @@
#define BLADERUNNER_VQA_DECODER_H
#include "bladerunner/adpcm_decoder.h"
-#include "bladerunner/view.h"
#include "audio/audiostream.h"
@@ -39,6 +38,9 @@
namespace BladeRunner {
+class Lights;
+class View;
+
class VQADecoder
{
public:
@@ -53,8 +55,8 @@ public:
const Graphics::Surface *decodeVideoFrame();
const uint16 *decodeZBuffer();
Audio::SeekableAudioStream *decodeAudioFrame();
-
- const View &getView() { return _videoTrack->getView(); }
+ void decodeView(View *view);
+ void decodeLights(Lights *lights);
uint16 numFrames() const { return _header.numFrames; }
uint8 frameRate() const { return _header.frameRate; }
@@ -166,7 +168,8 @@ private:
int getFrameCount() const;
const Graphics::Surface *decodeVideoFrame();
const uint16 *decodeZBuffer();
- const View &getView() { return _view; }
+ void decodeView(View *view);
+ void decodeLights(Lights *lights);
bool readVQFR(Common::SeekableReadStream *s, uint32 size);
bool readVPTR(Common::SeekableReadStream *s, uint32 size);
@@ -210,7 +213,10 @@ private:
int _curFrame;
- View _view;
+ uint8 *_viewData;
+ uint32 _viewDataSize;
+ uint8 *_lightsData;
+ uint32 _lightsDataSize;
void VPTRWriteBlock(uint16 *frame, unsigned int dstBlock, unsigned int srcBlock, int count, bool alpha = false);
bool decodeFrame(uint16 *frame);