aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/bbdou/bbdou_specialcode.h
diff options
context:
space:
mode:
authorjohndoe1232014-03-28 21:53:21 +0100
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit3b3f84c764f8cab8f54b06bbafc607cfb6899fdd (patch)
tree8ef0d8e3af51b7e0a4f232e36c250aa89aeae655 /engines/illusions/bbdou/bbdou_specialcode.h
parent33d28deb690c79a6aca190c5b1bc998c39d95662 (diff)
downloadscummvm-rg350-3b3f84c764f8cab8f54b06bbafc607cfb6899fdd.tar.gz
scummvm-rg350-3b3f84c764f8cab8f54b06bbafc607cfb6899fdd.tar.bz2
scummvm-rg350-3b3f84c764f8cab8f54b06bbafc607cfb6899fdd.zip
ILLUSIONS: Implement inventory
- Implement cursor camera tracking - Various bugfixes
Diffstat (limited to 'engines/illusions/bbdou/bbdou_specialcode.h')
-rw-r--r--engines/illusions/bbdou/bbdou_specialcode.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/engines/illusions/bbdou/bbdou_specialcode.h b/engines/illusions/bbdou/bbdou_specialcode.h
index 9781c6d15d..dcfb5baf63 100644
--- a/engines/illusions/bbdou/bbdou_specialcode.h
+++ b/engines/illusions/bbdou/bbdou_specialcode.h
@@ -32,6 +32,7 @@ namespace Illusions {
class IllusionsEngine;
class BbdouBubble;
class BbdouCursor;
+class BbdouInventory;
struct CursorData;
struct Item10;
@@ -74,6 +75,7 @@ public:
Map _map;
BbdouCursor *_cursor;
BbdouBubble *_bubble;
+ BbdouInventory *_inventory;
// Special code interface functions
void spcInitCursor(OpCall &opCall);
void spcEnableCursor(OpCall &opCall);
@@ -82,10 +84,18 @@ public:
void spcInitBubble(OpCall &opCall);
void spcSetupBubble(OpCall &opCall);
void spcSetObjectInteractMode(OpCall &opCall);
-protected:
- // Internal functions
+ void spcRegisterInventoryBag(OpCall &opCall);
+ void spcRegisterInventorySlot(OpCall &opCall);
+ void spcRegisterInventoryItem(OpCall &opCall);
+ void spcOpenInventory(OpCall &opCall);
+ void spcAddInventoryItem(OpCall &opCall);
+ void spcCloseInventory(OpCall &opCall);
+
void playSoundEffect(int soundIndex);
void resetItem10(uint32 objectId, Item10 *item10);
+
+protected:
+ // Internal functions
bool testValueRange(int value);
void setCursorControlRoutine(uint32 objectId, int num);
Common::Point getBackgroundCursorPos(Common::Point cursorPos);
@@ -94,7 +104,6 @@ protected:
bool findVerbId(Item10 *item10, uint32 currOverlappedObjectId, int always0, uint32 &outVerbId);
void cursorInteractControlRoutine(Control *cursorControl, uint32 deltaTime);
void cursorControlRoutine2(Control *cursorControl, uint32 deltaTime);
- bool updateTrackingCursor(Control *cursorControl);
bool testVerbId(uint32 verbId, uint32 holdingObjectId, uint32 overlappedObjectId);
bool getCause(uint32 sceneId, uint32 verbId, uint32 objectId2, uint32 objectId,
uint32 &outVerbId, uint32 &outObjectId2, uint32 &outObjectId);