aboutsummaryrefslogtreecommitdiff
path: root/queen/graphics.h
diff options
context:
space:
mode:
authorGregory Montoir2004-01-08 22:46:42 +0000
committerGregory Montoir2004-01-08 22:46:42 +0000
commit1b1ce1faf71f1e7fca9cf030e08bffd343a2bf79 (patch)
tree1ffb8d13a258d8626d0b99fd122b49d276c344fa /queen/graphics.h
parent65bfcb71fe7910e16b5e4e0e6665fa3b9e77510e (diff)
downloadscummvm-rg350-1b1ce1faf71f1e7fca9cf030e08bffd343a2bf79.tar.gz
scummvm-rg350-1b1ce1faf71f1e7fca9cf030e08bffd343a2bf79.tar.bz2
scummvm-rg350-1b1ce1faf71f1e7fca9cf030e08bffd343a2bf79.zip
moved the remaining 'graphics' stuff from Logic to Graphics
svn-id: r12266
Diffstat (limited to 'queen/graphics.h')
-rw-r--r--queen/graphics.h40
1 files changed, 34 insertions, 6 deletions
diff --git a/queen/graphics.h b/queen/graphics.h
index 312246b77c..007d1af81c 100644
--- a/queen/graphics.h
+++ b/queen/graphics.h
@@ -114,13 +114,9 @@ public:
void bobCustomParallax(uint16 roomNum); // CHECK_PARALLAX()
- void bobSetText(
- BobSlot *bob,
- const char *text,
- int textX, int textY,
- int color, int flags); // MAKE_SPEAK_BOB
+ void bobSetText(BobSlot *bob, const char *text, int textX, int textY, int color, int flags);
- void textCurrentColor(uint8 color); // ink()
+ void textCurrentColor(uint8 color) { _curTextColor = color; }
void textSet(uint16 x, uint16 y, const char *text, bool outlined = true); // text()
void textSetCentered(uint16 y, const char *text, bool outlined = true);
void textDrawAll(); // drawtext()
@@ -129,6 +125,8 @@ public:
int textCenterX(const char *text) const; // MIDDLE()
void textColor(uint16 y, uint8 color) { _texts[y].color = color; }
+ void setupNewRoom(const char *room, uint16 roomNum, int16 *furniture, uint16 furnitureCount);
+
void fillAnimBuffer(const char *anim, AnimFrame *af);
uint16 countAnimFrames(const char *anim);
void setupObjectAnim(const GraphicData *gd, uint16 firstImage, uint16 bobNum, bool visible);
@@ -137,10 +135,26 @@ public:
void erasePersonAnim(uint16 bobNum);
void eraseAllAnims();
+ uint16 refreshObject(uint16 obj);
+
+ void setupRoomFurniture(int16 *furniture, uint16 furnitureCount);
+ void setupRoomObjects();
+
+ uint16 setupPerson(uint16 noun, uint16 curImage);
+ uint16 allocPerson(uint16 noun, uint16 curImage);
+
+ uint16 personFrames(uint16 bobNum) const { return _personFrames[bobNum]; }
+ void clearPersonFrames() { memset(_personFrames, 0, sizeof(_personFrames)); }
+ uint16 numFrames() const { return _numFrames; }
+ uint16 numStaticFurniture() const { return _numFurnitureStatic; }
+ uint16 numAnimatedFurniture() const { return _numFurnitureAnimated; }
+ uint16 numFurnitureFrames() const { return _numFurnitureStatic + _numFurnitureAnimatedLen; }
+
void putCameraOnBob(int bobNum) { _cameraBob = bobNum; }
void update(uint16 room);
+
enum {
MAX_BOBS_NUMBER = 64,
MAX_STRING_LENGTH = 255,
@@ -167,6 +181,20 @@ private:
AnimFrame _newAnim[17][30];
+ uint16 _personFrames[4];
+
+ //! Number of animated furniture in current room
+ uint16 _numFurnitureAnimated;
+
+ //! Number of static furniture in current room
+ uint16 _numFurnitureStatic;
+
+ //! Total number of frames for the animated furniture
+ uint16 _numFurnitureAnimatedLen;
+
+ //! Current number of frames unpacked
+ uint16 _numFrames;
+
int _cameraBob;
QueenEngine *_vm;