aboutsummaryrefslogtreecommitdiff
path: root/queen/graphics.h
diff options
context:
space:
mode:
authorGregory Montoir2003-10-13 16:49:53 +0000
committerGregory Montoir2003-10-13 16:49:53 +0000
commitcf47fb1c691676f4f415ca37e6a69a2dfe394aa3 (patch)
tree3f09de6ec64074b32974a49a13b4319a8c4cb299 /queen/graphics.h
parentd9f247231cade61a3d52a3941161cd7f71c02ea0 (diff)
downloadscummvm-rg350-cf47fb1c691676f4f415ca37e6a69a2dfe394aa3.tar.gz
scummvm-rg350-cf47fb1c691676f4f415ca37e6a69a2dfe394aa3.tar.bz2
scummvm-rg350-cf47fb1c691676f4f415ca37e6a69a2dfe394aa3.zip
dynalum implementation
svn-id: r10781
Diffstat (limited to 'queen/graphics.h')
-rw-r--r--queen/graphics.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/queen/graphics.h b/queen/graphics.h
index 787e7da5e7..152a662826 100644
--- a/queen/graphics.h
+++ b/queen/graphics.h
@@ -101,6 +101,14 @@ struct TextSlot {
};
+struct Dynalum {
+ uint8 msk[50 * 160]; // mask
+ int8 lum[8 * 3]; // rgb
+ int8 oldColMask;
+ Dynalum(): oldColMask(-1) {}
+};
+
+
//class Display;
class Graphics {
@@ -155,10 +163,14 @@ public:
void displayText(const TextSlot *pts, uint16 y); // FIXME: move to Display class
void displayChar(uint16 x, uint16 y, uint8 color, const uint8 *chr); // FIXME: move to Display class
static void displayBlit(uint8 *dst_buf, uint16 dst_x, uint16 dst_y, uint16 dst_pitch, const uint8 *src_buf, uint16 src_w, uint16 src_h, uint16 src_pitch, bool xflip, bool masked); // FIXME: move to Display class
- void displaySetPal(uint8 *pal, int start, int end);
void displayScreen();
void setScreenMode(int comPanel, bool inCutaway);
+ void setRoomPal(const uint8 *pal, int start, int end);
+
+ void dynalumInit(const char* roomPrefix, uint16 room);
+ void dynalumUpdate(uint16 x, uint16 y); // dynalum()
+
private:
@@ -188,6 +200,7 @@ private:
//! bobs to display
BobSlot *_sortedBobs[MAX_BOBS_NUMBER];
+ //! number of bobs to display
uint16 _sortedBobsCount;
//! used to scale a BobFrame
@@ -212,7 +225,8 @@ private:
uint16 _horizontalScroll;
- uint8 *_palette;
+ uint8 *_paletteRoom; // palette
+ uint8 *_paletteScreen; // tpal
//! panel storage area
uint8 *_panel;
@@ -220,6 +234,8 @@ private:
Resource *_resource;
// Display *_display;
+ Dynalum _dynalum;
+
//! font used to render the text
static const uint8 FONT[]; // FIXME: move to Display class