diff options
Diffstat (limited to 'engines/sherlock/inventory.h')
-rw-r--r-- | engines/sherlock/inventory.h | 24 |
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 |