aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins/objects.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hopkins/objects.h')
-rw-r--r--engines/hopkins/objects.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/engines/hopkins/objects.h b/engines/hopkins/objects.h
index 00317c064d..c1bfaddb96 100644
--- a/engines/hopkins/objects.h
+++ b/engines/hopkins/objects.h
@@ -91,11 +91,50 @@ struct BobItem {
int _zoomOutFactor;
};
+struct HidingItem {
+ int _x;
+ int _y;
+ int _spriteIndex;
+ int _width;
+ int _height;
+ int _useCount;
+ byte *_spriteData;
+ bool _resetUseCount;
+ int _yOffset;
+};
+
struct LockAnimItem {
bool _enableFl;
int _posX;
};
+struct VBobItem {
+ byte *_spriteData;
+ int _displayMode;
+ int _xp;
+ int _yp;
+ int _frameIndex;
+ byte *_surface;
+ int _oldX;
+ int _oldY;
+ int _oldFrameIndex;
+ byte *_oldSpriteData;
+};
+
+/**
+ * Mode for SortItem records
+ */
+enum SortMode { SORT_NONE = 0, SORT_BOB = 1, SORT_SPRITE = 2, SORT_HIDING = 3 };
+
+/**
+ * Structure to represent a pending display of either a Bob, Sprite, or Cache Item.
+ */
+struct SortItem {
+ SortMode _sortMode;
+ int _index;
+ int _priority;
+};
+
class HopkinsEngine;
class ObjectsManager {
@@ -125,6 +164,10 @@ private:
ObjectAuthIcon _objectAuthIcons[300];
int _curObjectFileNum;
byte *_objectDataBuf;
+ VBobItem VBob[30];
+
+ void initVBob();
+ void clearVBob();
void sprite_alone(const byte *objectData, byte *sprite, int objIndex);
void removeObjectDataBuf();