diff --git a/apps/openmw/mwclass/apparatus.cpp b/apps/openmw/mwclass/apparatus.cpp index cc30c6955..77819a97c 100644 --- a/apps/openmw/mwclass/apparatus.cpp +++ b/apps/openmw/mwclass/apparatus.cpp @@ -60,7 +60,7 @@ namespace MWClass } void Apparatus::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.appas); } diff --git a/apps/openmw/mwclass/apparatus.hpp b/apps/openmw/mwclass/apparatus.hpp index 9a5a9b955..95bcbd38b 100644 --- a/apps/openmw/mwclass/apparatus.hpp +++ b/apps/openmw/mwclass/apparatus.hpp @@ -23,7 +23,7 @@ namespace MWClass ///< Generate action for activation virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/armor.cpp b/apps/openmw/mwclass/armor.cpp index 9a0936027..f62167d4f 100644 --- a/apps/openmw/mwclass/armor.cpp +++ b/apps/openmw/mwclass/armor.cpp @@ -72,7 +72,7 @@ namespace MWClass } void Armor::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.armors); } diff --git a/apps/openmw/mwclass/armor.hpp b/apps/openmw/mwclass/armor.hpp index 123713a38..0950e0744 100644 --- a/apps/openmw/mwclass/armor.hpp +++ b/apps/openmw/mwclass/armor.hpp @@ -29,7 +29,7 @@ namespace MWClass ///< Return item max health or throw an exception, if class does not have item health virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/book.cpp b/apps/openmw/mwclass/book.cpp index 8c5be4793..2f3d1dcfa 100644 --- a/apps/openmw/mwclass/book.cpp +++ b/apps/openmw/mwclass/book.cpp @@ -62,7 +62,7 @@ namespace MWClass } void Book::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.books); } diff --git a/apps/openmw/mwclass/book.hpp b/apps/openmw/mwclass/book.hpp index 6e38ea0d3..41cf5ba4a 100644 --- a/apps/openmw/mwclass/book.hpp +++ b/apps/openmw/mwclass/book.hpp @@ -23,7 +23,7 @@ namespace MWClass ///< Generate action for activation virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/clothing.cpp b/apps/openmw/mwclass/clothing.cpp index 3826c6c40..c9d7f0b06 100644 --- a/apps/openmw/mwclass/clothing.cpp +++ b/apps/openmw/mwclass/clothing.cpp @@ -60,7 +60,7 @@ namespace MWClass } void Clothing::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.clothes); } diff --git a/apps/openmw/mwclass/clothing.hpp b/apps/openmw/mwclass/clothing.hpp index 353f7f606..25ba3456c 100644 --- a/apps/openmw/mwclass/clothing.hpp +++ b/apps/openmw/mwclass/clothing.hpp @@ -23,7 +23,7 @@ namespace MWClass ///< Generate action for activation virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/container.cpp b/apps/openmw/mwclass/container.cpp index 13a6241d4..1ad9e845e 100644 --- a/apps/openmw/mwclass/container.cpp +++ b/apps/openmw/mwclass/container.cpp @@ -15,7 +15,7 @@ namespace { struct CustomData : public MWWorld::CustomData { - MWWorld::ContainerStore mContainerStore; + MWWorld::ContainerStore mContainerStore; virtual MWWorld::CustomData *clone() const; }; @@ -79,7 +79,7 @@ namespace MWClass return ref->base->name; } - MWWorld::ContainerStore& Container::getContainerStore (const MWWorld::Ptr& ptr) + MWWorld::ContainerStore& Container::getContainerStore (const MWWorld::Ptr& ptr) const { ensureCustomData (ptr); diff --git a/apps/openmw/mwclass/container.hpp b/apps/openmw/mwclass/container.hpp index 78552ffe9..66a47a956 100644 --- a/apps/openmw/mwclass/container.hpp +++ b/apps/openmw/mwclass/container.hpp @@ -20,8 +20,7 @@ namespace MWClass ///< \return name (the one that is to be presented to the user; not the internal one); /// can return an empty string. - virtual MWWorld::ContainerStore& getContainerStore ( - const MWWorld::Ptr& ptr) const; + virtual MWWorld::ContainerStore& getContainerStore (const MWWorld::Ptr& ptr) const; ///< Return container store virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/creature.cpp b/apps/openmw/mwclass/creature.cpp index 12a56e0ee..7270fd22b 100644 --- a/apps/openmw/mwclass/creature.cpp +++ b/apps/openmw/mwclass/creature.cpp @@ -17,7 +17,7 @@ namespace struct CustomData : public MWWorld::CustomData { MWMechanics::CreatureStats mCreatureStats; - MWWorld::ContainerStore mContainerStore; + MWWorld::ContainerStore mContainerStore; virtual MWWorld::CustomData *clone() const; }; @@ -118,7 +118,7 @@ namespace MWClass return boost::shared_ptr (new MWWorld::ActionTalk (ptr)); } - MWWorld::ContainerStore& Creature::getContainerStore (const MWWorld::Ptr& ptr) + MWWorld::ContainerStore& Creature::getContainerStore (const MWWorld::Ptr& ptr) const { ensureCustomData (ptr); diff --git a/apps/openmw/mwclass/creature.hpp b/apps/openmw/mwclass/creature.hpp index 9afeffea8..8eb45e838 100644 --- a/apps/openmw/mwclass/creature.hpp +++ b/apps/openmw/mwclass/creature.hpp @@ -39,7 +39,7 @@ namespace MWClass const MWWorld::Ptr& actor, const MWWorld::Environment& environment) const; ///< Generate action for activation - virtual MWWorld::ContainerStore& getContainerStore ( + virtual MWWorld::ContainerStore& getContainerStore ( const MWWorld::Ptr& ptr) const; ///< Return container store diff --git a/apps/openmw/mwclass/ingredient.cpp b/apps/openmw/mwclass/ingredient.cpp index ac1076cc1..3a7594496 100644 --- a/apps/openmw/mwclass/ingredient.cpp +++ b/apps/openmw/mwclass/ingredient.cpp @@ -58,7 +58,7 @@ namespace MWClass } void Ingredient::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.ingreds); } diff --git a/apps/openmw/mwclass/ingredient.hpp b/apps/openmw/mwclass/ingredient.hpp index 6c7409665..60cb21fac 100644 --- a/apps/openmw/mwclass/ingredient.hpp +++ b/apps/openmw/mwclass/ingredient.hpp @@ -23,7 +23,7 @@ namespace MWClass ///< Generate action for activation virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/light.cpp b/apps/openmw/mwclass/light.cpp index 2c50472ac..dd3f4c922 100644 --- a/apps/openmw/mwclass/light.cpp +++ b/apps/openmw/mwclass/light.cpp @@ -90,7 +90,7 @@ namespace MWClass } void Light::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.lights); } diff --git a/apps/openmw/mwclass/light.hpp b/apps/openmw/mwclass/light.hpp index 7df82ae5d..aa5c1d544 100644 --- a/apps/openmw/mwclass/light.hpp +++ b/apps/openmw/mwclass/light.hpp @@ -28,7 +28,7 @@ namespace MWClass ///< Generate action for activation virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/lockpick.cpp b/apps/openmw/mwclass/lockpick.cpp index 67756f23c..1bfbd553f 100644 --- a/apps/openmw/mwclass/lockpick.cpp +++ b/apps/openmw/mwclass/lockpick.cpp @@ -61,7 +61,7 @@ namespace MWClass } void Lockpick::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.lockpicks); } diff --git a/apps/openmw/mwclass/lockpick.hpp b/apps/openmw/mwclass/lockpick.hpp index 074a07c93..35250f486 100644 --- a/apps/openmw/mwclass/lockpick.hpp +++ b/apps/openmw/mwclass/lockpick.hpp @@ -23,7 +23,7 @@ namespace MWClass ///< Generate action for activation virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/misc.cpp b/apps/openmw/mwclass/misc.cpp index 81e018d96..8d7e39fe5 100644 --- a/apps/openmw/mwclass/misc.cpp +++ b/apps/openmw/mwclass/misc.cpp @@ -60,7 +60,7 @@ namespace MWClass } void Miscellaneous::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.miscItems); } diff --git a/apps/openmw/mwclass/misc.hpp b/apps/openmw/mwclass/misc.hpp index cb1858315..7b586e183 100644 --- a/apps/openmw/mwclass/misc.hpp +++ b/apps/openmw/mwclass/misc.hpp @@ -23,7 +23,7 @@ namespace MWClass ///< Generate action for activation virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/npc.cpp b/apps/openmw/mwclass/npc.cpp index d94920041..cc7daa83e 100644 --- a/apps/openmw/mwclass/npc.cpp +++ b/apps/openmw/mwclass/npc.cpp @@ -29,7 +29,7 @@ namespace MWMechanics::NpcStats mNpcStats; MWMechanics::CreatureStats mCreatureStats; MWMechanics::Movement mMovement; - MWWorld::ContainerStore mContainerStore; + MWWorld::ContainerStore mContainerStore; virtual MWWorld::CustomData *clone() const; }; @@ -156,7 +156,7 @@ namespace MWClass return boost::shared_ptr (new MWWorld::ActionTalk (ptr)); } - MWWorld::ContainerStore& Npc::getContainerStore (const MWWorld::Ptr& ptr) + MWWorld::ContainerStore& Npc::getContainerStore (const MWWorld::Ptr& ptr) const { ensureCustomData (ptr); diff --git a/apps/openmw/mwclass/npc.hpp b/apps/openmw/mwclass/npc.hpp index bb9b131c9..bef417332 100644 --- a/apps/openmw/mwclass/npc.hpp +++ b/apps/openmw/mwclass/npc.hpp @@ -35,8 +35,7 @@ namespace MWClass virtual MWMechanics::NpcStats& getNpcStats (const MWWorld::Ptr& ptr) const; ///< Return NPC stats - virtual MWWorld::ContainerStore& getContainerStore ( - const MWWorld::Ptr& ptr) const; + virtual MWWorld::ContainerStore& getContainerStore (const MWWorld::Ptr& ptr) const; ///< Return container store virtual boost::shared_ptr activate (const MWWorld::Ptr& ptr, diff --git a/apps/openmw/mwclass/potion.cpp b/apps/openmw/mwclass/potion.cpp index 08047a2e8..71b3a1049 100644 --- a/apps/openmw/mwclass/potion.cpp +++ b/apps/openmw/mwclass/potion.cpp @@ -60,7 +60,7 @@ namespace MWClass } void Potion::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.potions); } diff --git a/apps/openmw/mwclass/potion.hpp b/apps/openmw/mwclass/potion.hpp index e1a54db3c..28cb68d2c 100644 --- a/apps/openmw/mwclass/potion.hpp +++ b/apps/openmw/mwclass/potion.hpp @@ -23,7 +23,7 @@ namespace MWClass ///< Generate action for activation virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/probe.cpp b/apps/openmw/mwclass/probe.cpp index a09a39e66..7af8f4b5e 100644 --- a/apps/openmw/mwclass/probe.cpp +++ b/apps/openmw/mwclass/probe.cpp @@ -20,7 +20,7 @@ namespace MWClass assert (ref->base != NULL); const std::string &model = ref->base->model; - + if (!model.empty()) { MWRender::Objects& objects = renderingInterface.getObjects(); @@ -59,7 +59,7 @@ namespace MWClass } void Probe::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.probes); } diff --git a/apps/openmw/mwclass/probe.hpp b/apps/openmw/mwclass/probe.hpp index 287dd0475..1611ae279 100644 --- a/apps/openmw/mwclass/probe.hpp +++ b/apps/openmw/mwclass/probe.hpp @@ -23,7 +23,7 @@ namespace MWClass ///< Generate action for activation virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/repair.cpp b/apps/openmw/mwclass/repair.cpp index 79c18d426..adb61687c 100644 --- a/apps/openmw/mwclass/repair.cpp +++ b/apps/openmw/mwclass/repair.cpp @@ -60,7 +60,7 @@ namespace MWClass } void Repair::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.repairs); } diff --git a/apps/openmw/mwclass/repair.hpp b/apps/openmw/mwclass/repair.hpp index 174197d9a..bf094ab9f 100644 --- a/apps/openmw/mwclass/repair.hpp +++ b/apps/openmw/mwclass/repair.hpp @@ -23,7 +23,7 @@ namespace MWClass ///< Generate action for activation virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwclass/weapon.cpp b/apps/openmw/mwclass/weapon.cpp index f136aaccd..9b8fbb9fe 100644 --- a/apps/openmw/mwclass/weapon.cpp +++ b/apps/openmw/mwclass/weapon.cpp @@ -73,7 +73,7 @@ namespace MWClass } void Weapon::insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const + MWWorld::ContainerStore& containerStore) const { insertIntoContainerStore (ptr, containerStore.weapons); } diff --git a/apps/openmw/mwclass/weapon.hpp b/apps/openmw/mwclass/weapon.hpp index 84c633ab3..a768bec95 100644 --- a/apps/openmw/mwclass/weapon.hpp +++ b/apps/openmw/mwclass/weapon.hpp @@ -29,7 +29,7 @@ namespace MWClass ///< Return item max health or throw an exception, if class does not have item health virtual void insertIntoContainer (const MWWorld::Ptr& ptr, - MWWorld::ContainerStore& containerStore) const; + MWWorld::ContainerStore& containerStore) const; ///< Insert into a containe virtual std::string getScript (const MWWorld::Ptr& ptr) const; diff --git a/apps/openmw/mwworld/class.cpp b/apps/openmw/mwworld/class.cpp index b4f93576a..ec864d983 100644 --- a/apps/openmw/mwworld/class.cpp +++ b/apps/openmw/mwworld/class.cpp @@ -71,12 +71,12 @@ namespace MWWorld return boost::shared_ptr (new NullAction); } - ContainerStore& Class::getContainerStore (const Ptr& ptr) const + ContainerStore& Class::getContainerStore (const Ptr& ptr) const { throw std::runtime_error ("class does not have a container store"); } - void Class::insertIntoContainer (const Ptr& ptr, ContainerStore& containerStore) const + void Class::insertIntoContainer (const Ptr& ptr, ContainerStore& containerStore) const { throw std::runtime_error ("class does not support inserting into a container"); } diff --git a/apps/openmw/mwworld/class.hpp b/apps/openmw/mwworld/class.hpp index 706b11aaa..c5e271e7a 100644 --- a/apps/openmw/mwworld/class.hpp +++ b/apps/openmw/mwworld/class.hpp @@ -61,8 +61,6 @@ namespace MWWorld ///< Return ID of \a ptr or throw an exception, if class does not support ID retrieval /// (default implementation: throw an exception) - - virtual void insertObjectRendering (const Ptr& ptr, MWRender::RenderingInterface& renderingInterface) const; virtual void insertObject(const Ptr& ptr, MWWorld::PhysicsSystem& physics, MWWorld::Environment& environment) const; ///< Add reference into a cell for rendering (default implementation: don't render anything). @@ -105,11 +103,11 @@ namespace MWWorld ///< Generate action for using via inventory menu (default implementation: return a /// null action). - virtual ContainerStore& getContainerStore (const Ptr& ptr) const; + virtual ContainerStore& getContainerStore (const Ptr& ptr) const; ///< Return container store or throw an exception, if class does not have a /// container store (default implementation: throw an exceoption) - virtual void insertIntoContainer (const Ptr& ptr, ContainerStore& containerStore) + virtual void insertIntoContainer (const Ptr& ptr, ContainerStore& containerStore) const; ///< Insert into a container or throw an exception, if class does not support inserting into /// a container. diff --git a/apps/openmw/mwworld/containerstore.hpp b/apps/openmw/mwworld/containerstore.hpp index 971a79c15..55bfc7ddb 100644 --- a/apps/openmw/mwworld/containerstore.hpp +++ b/apps/openmw/mwworld/containerstore.hpp @@ -3,23 +3,24 @@ #include +#include "refdata.hpp" + namespace MWWorld { - template struct ContainerStore { - ESMS::CellRefList potions; - ESMS::CellRefList appas; - ESMS::CellRefList armors; - ESMS::CellRefList books; - ESMS::CellRefList clothes; - ESMS::CellRefList ingreds; - ESMS::CellRefList lights; - ESMS::CellRefList lockpicks; - ESMS::CellRefList miscItems; - ESMS::CellRefList probes; - ESMS::CellRefList repairs; - ESMS::CellRefList weapons; + ESMS::CellRefList potions; + ESMS::CellRefList appas; + ESMS::CellRefList armors; + ESMS::CellRefList books; + ESMS::CellRefList clothes; + ESMS::CellRefList ingreds; + ESMS::CellRefList lights; + ESMS::CellRefList lockpicks; + ESMS::CellRefList miscItems; + ESMS::CellRefList probes; + ESMS::CellRefList repairs; + ESMS::CellRefList weapons; }; } diff --git a/apps/openmw/mwworld/containerutil.cpp b/apps/openmw/mwworld/containerutil.cpp index 7c7e5e5e8..ddcf8ad5e 100644 --- a/apps/openmw/mwworld/containerutil.cpp +++ b/apps/openmw/mwworld/containerutil.cpp @@ -24,7 +24,7 @@ namespace namespace MWWorld { void listItemsInContainer (const std::string& id, - ContainerStore& containerStore, + ContainerStore& containerStore, const ESMS::ESMStore& store, std::vector& list) { listItemsInContainerImp (id, containerStore.potions, store.potions, list); diff --git a/apps/openmw/mwworld/containerutil.hpp b/apps/openmw/mwworld/containerutil.hpp index 21e770404..b7d0c8ea2 100644 --- a/apps/openmw/mwworld/containerutil.hpp +++ b/apps/openmw/mwworld/containerutil.hpp @@ -8,11 +8,10 @@ #include "containerstore.hpp" #include "ptr.hpp" -#include "refdata.hpp" namespace MWWorld { - void listItemsInContainer (const std::string& id, ContainerStore& containerStore, + void listItemsInContainer (const std::string& id, ContainerStore& containerStore, const ESMS::ESMStore& store, std::vector& list); ///< append all references with the given id to list. }