aboutsummaryrefslogtreecommitdiff
path: root/engines/startrek/graphics.h
diff options
context:
space:
mode:
authorMatthew Stewart2018-02-23 02:11:40 -0500
committerEugene Sandulenko2018-08-09 08:37:30 +0200
commitcd45502501787c8003cfd86b7adf48a6f86d68de (patch)
tree1d2a917fba484f3a5c7b4333ed290cb430bc3f92 /engines/startrek/graphics.h
parentc71a8a6d2acb3be145731e6af344cb16a38c6b46 (diff)
downloadscummvm-rg350-cd45502501787c8003cfd86b7adf48a6f86d68de.tar.gz
scummvm-rg350-cd45502501787c8003cfd86b7adf48a6f86d68de.tar.bz2
scummvm-rg350-cd45502501787c8003cfd86b7adf48a6f86d68de.zip
STARTREK: Implement draw modes 2 and 3 for sprites
Diffstat (limited to 'engines/startrek/graphics.h')
-rwxr-xr-xengines/startrek/graphics.h20
1 files changed, 6 insertions, 14 deletions
diff --git a/engines/startrek/graphics.h b/engines/startrek/graphics.h
index a2d9f4fa1c..884f7edde0 100755
--- a/engines/startrek/graphics.h
+++ b/engines/startrek/graphics.h
@@ -26,6 +26,7 @@
#ifndef STARTREK_GRAPHICS_H
#define STARTREK_GRAPHICS_H
+#include "startrek/bitmap.h"
#include "startrek/startrek.h"
#include "startrek/font.h"
@@ -42,18 +43,6 @@ const int SCREEN_WIDTH = 320;
const int SCREEN_HEIGHT = 200;
-struct Bitmap {
- uint16 xoffset;
- uint16 yoffset;
- uint16 width;
- uint16 height;
- byte *pixels;
-
- Bitmap(Common::ReadStreamEndian *stream);
- Bitmap(int w, int h);
- ~Bitmap();
-};
-
struct Sprite {
uint16 x,y;
uint16 drawPriority;
@@ -61,7 +50,7 @@ struct Sprite {
uint16 field8;
Bitmap *bitmap;
uint16 drawMode;
- uint16 fieldE;
+ uint16 textColor;
uint16 bitmapChanged;
uint16 redrawCondition2;
uint16 redrawCondition3;
@@ -78,10 +67,11 @@ public:
Graphics(StarTrekEngine *vm);
~Graphics();
- void loadPalette(const char *paletteFile);
+ void loadPalette(const Common::String &paletteFile);
void loadPri(const char *priFile);
void redrawScreen();
+ void drawSprite(const Sprite &sprite);
void drawSprite(const Sprite &sprite, const Common::Rect &rect);
void loadEGAData(const char *egaFile);
@@ -98,7 +88,9 @@ private:
bool _egaMode;
byte *_egaData;
byte *_priData;
+ byte *_lutData;
+ Common::Rect _screenRect;
Bitmap *_backgroundImage;
Bitmap *_canvas;
};