aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/inventory.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sherlock/inventory.h')
-rw-r--r--engines/sherlock/inventory.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/engines/sherlock/inventory.h b/engines/sherlock/inventory.h
index dc56e93841..e561f0318a 100644
--- a/engines/sherlock/inventory.h
+++ b/engines/sherlock/inventory.h
@@ -25,9 +25,13 @@
#include "common/scummsys.h"
#include "common/array.h"
+#include "common/str-array.h"
+#include "sherlock/resources.h"
namespace Sherlock {
+#define MAX_VISIBLE_INVENTORY 6
+
struct InventoryItem {
int _requiredFlag;
Common::String _name;
@@ -37,10 +41,26 @@ struct InventoryItem {
};
class Inventory : public Common::Array<InventoryItem> {
+private:
+ SherlockEngine *_vm;
+public:
+ ImageFile *_invShapes[MAX_VISIBLE_INVENTORY];
+ Common::StringArray _names;
+ bool _invGraphicsLoaded;
+ int _invIndex;
+ int _holdings;
+ void freeGraphics();
public:
- uint _holdings;
+ Inventory(SherlockEngine *vm);
+ ~Inventory();
+
+ void freeInventory();
+
+ void loadInv();
+
+ void loadGraphics();
- Inventory() : Common::Array<InventoryItem>(), _holdings(0) {}
+ int findInv(const Common::String &name);
};
} // End of namespace Sherlock