From b3ad8728457c37302ccf3125a6c1745752a7cd0e Mon Sep 17 00:00:00 2001 From: greye Date: Tue, 6 Nov 2012 13:43:48 +0400 Subject: [PATCH] new interface in manualref, fix various typos --- apps/openmw/mwdialogue/dialoguemanagerimp.cpp | 5 +- apps/openmw/mwdialogue/journalentry.cpp | 3 +- apps/openmw/mwgui/container.cpp | 2 +- apps/openmw/mwgui/trainingwindow.cpp | 5 +- apps/openmw/mwmechanics/spellsuccess.hpp | 2 +- apps/openmw/mwscript/compilercontext.cpp | 2 +- apps/openmw/mwscript/globalscripts.cpp | 10 ++-- apps/openmw/mwscript/scriptmanagerimp.cpp | 2 +- apps/openmw/mwworld/manualref.hpp | 59 +++++++------------ apps/openmw/mwworld/store.hpp | 2 +- 10 files changed, 41 insertions(+), 51 deletions(-) diff --git a/apps/openmw/mwdialogue/dialoguemanagerimp.cpp b/apps/openmw/mwdialogue/dialoguemanagerimp.cpp index 059c1ce88c..7e9525e61b 100644 --- a/apps/openmw/mwdialogue/dialoguemanagerimp.cpp +++ b/apps/openmw/mwdialogue/dialoguemanagerimp.cpp @@ -90,7 +90,8 @@ namespace if (scriptName.empty()) return false; // no script - const ESM::Script *script = store.scripts.find (scriptName); + const ESM::Script *script = + store.get().find (scriptName); int i = 0; @@ -751,7 +752,7 @@ namespace MWDialogue MWBase::Environment::get().getWorld()->getStore().get(); - MWWordl::Store::iterator it = dialogs.begin(); + MWWorld::Store::iterator it = dialogs.begin(); for (; it != dialogs.end(); ++it) { if(it->mType == ESM::Dialogue::Topic) diff --git a/apps/openmw/mwdialogue/journalentry.cpp b/apps/openmw/mwdialogue/journalentry.cpp index df9129b4d5..e6141884cb 100644 --- a/apps/openmw/mwdialogue/journalentry.cpp +++ b/apps/openmw/mwdialogue/journalentry.cpp @@ -18,7 +18,8 @@ namespace MWDialogue std::string JournalEntry::getText (const MWWorld::ESMStore& store) const { - const ESM::Dialogue *dialogue = store.dialogs.find (mTopic); + const ESM::Dialogue *dialogue = + store.get().find (mTopic); for (std::vector::const_iterator iter (dialogue->mInfo.begin()); iter!=dialogue->mInfo.end(); ++iter) diff --git a/apps/openmw/mwgui/container.cpp b/apps/openmw/mwgui/container.cpp index db286a7fca..20bc95445b 100644 --- a/apps/openmw/mwgui/container.cpp +++ b/apps/openmw/mwgui/container.cpp @@ -128,7 +128,7 @@ void ContainerBase::onSelectedItem(MyGUI::Widget* _sender) if (isInventory()) { const MWWorld::Store &gmst = - MWWorld::Environment::get().getWorld()->getStore()->get(); + MWBase::Environment::get().getWorld()->getStore().get(); // the player is trying to sell an item, check if the merchant accepts it // also, don't allow selling gold (let's be better than Morrowind at this, can we?) diff --git a/apps/openmw/mwgui/trainingwindow.cpp b/apps/openmw/mwgui/trainingwindow.cpp index 08e64eba88..1e9841afb0 100644 --- a/apps/openmw/mwgui/trainingwindow.cpp +++ b/apps/openmw/mwgui/trainingwindow.cpp @@ -73,10 +73,13 @@ namespace MWGui MWWorld::Ptr player = MWBase::Environment::get().getWorld ()->getPlayer ().getPlayer (); MWMechanics::NpcStats& pcStats = MWWorld::Class::get(player).getNpcStats (player); + const MWWorld::Store &gmst = + MWBase::Environment::get().getWorld()->getStore().get(); + for (int i=0; i<3; ++i) { /// \todo mercantile skill - int price = pcStats.getSkill (bestSkills[i].first).getBase() * MWBase::Environment::get().getWorld ()->getStore ().gameSettings.find("iTrainingMod")->getInt (); + int price = pcStats.getSkill (bestSkills[i].first).getBase() * gmst.find("iTrainingMod")->getInt (); std::string skin = (price > mWindowManager.getInventoryWindow ()->getPlayerGold ()) ? "SandTextGreyedOut" : "SandTextButton"; diff --git a/apps/openmw/mwmechanics/spellsuccess.hpp b/apps/openmw/mwmechanics/spellsuccess.hpp index 2dacee57b9..57c600df50 100644 --- a/apps/openmw/mwmechanics/spellsuccess.hpp +++ b/apps/openmw/mwmechanics/spellsuccess.hpp @@ -63,7 +63,7 @@ namespace MWMechanics inline int getSpellSchool(const std::string& spellId, const MWWorld::Ptr& actor) { const ESM::Spell* spell = - MWBase::Environment::get().getWorld()->getStore().getgetStore().get().find(spellId); return getSpellSchool(spell, actor); } diff --git a/apps/openmw/mwscript/compilercontext.cpp b/apps/openmw/mwscript/compilercontext.cpp index d568cab219..57d93512f4 100644 --- a/apps/openmw/mwscript/compilercontext.cpp +++ b/apps/openmw/mwscript/compilercontext.cpp @@ -51,7 +51,7 @@ namespace MWScript store.get().search (name) || store.get().search (name) || store.get().search (name) || - store.get().search (name) || + store.get().search (name) || store.get().search (name) || store.get().search (name) || store.get().search (name) || diff --git a/apps/openmw/mwscript/globalscripts.cpp b/apps/openmw/mwscript/globalscripts.cpp index b8287e7a3b..3ef138432d 100644 --- a/apps/openmw/mwscript/globalscripts.cpp +++ b/apps/openmw/mwscript/globalscripts.cpp @@ -17,10 +17,12 @@ namespace MWScript { addScript ("Main"); - for (MWWorld::RecListT::MapType::const_iterator iter - (store.startScripts.list.begin()); - iter != store.startScripts.list.end(); ++iter) - addScript (iter->second.mScript); + MWWorld::Store::iterator iter = + store.get().begin(); + + for (; iter != store.get().end(); ++iter) { + addScript (iter->mScript); + } } void GlobalScripts::addScript (const std::string& name) diff --git a/apps/openmw/mwscript/scriptmanagerimp.cpp b/apps/openmw/mwscript/scriptmanagerimp.cpp index 5d29e6e016..1f338edbd3 100644 --- a/apps/openmw/mwscript/scriptmanagerimp.cpp +++ b/apps/openmw/mwscript/scriptmanagerimp.cpp @@ -131,7 +131,7 @@ namespace MWScript const MWWorld::Store& scripts = mStore.get(); MWWorld::Store::iterator it = scripts.begin(); - for (; it != scripts.end(); ++iter, ++count) + for (; it != scripts.end(); ++it, ++count) if (compile (it->mId)) ++success; diff --git a/apps/openmw/mwworld/manualref.hpp b/apps/openmw/mwworld/manualref.hpp index 88d0e90fc3..91b8cf8cd4 100644 --- a/apps/openmw/mwworld/manualref.hpp +++ b/apps/openmw/mwworld/manualref.hpp @@ -19,24 +19,7 @@ namespace MWWorld ManualRef& operator= (const ManualRef&); template - bool create (const MWWorld::RecListT& list, const std::string& name) - { - if (const T *instance = list.search (name)) - { - LiveCellRef ref; - ref.mBase = instance; - - mRef = ref; - mPtr = Ptr (&boost::any_cast&> (mRef), 0); - - return true; - } - - return false; - } - - template - bool create (const MWWorld::RecListWithIDT& list, const std::string& name) + bool create (const MWWorld::Store& list, const std::string& name) { if (const T *instance = list.search (name)) { @@ -57,26 +40,26 @@ namespace MWWorld ManualRef (const MWWorld::ESMStore& store, const std::string& name) { // create - if (!create (store.activators, name) && - !create (store.potions, name) && - !create (store.appas, name) && - !create (store.armors, name) && - !create (store.books, name) && - !create (store.clothes, name) && - !create (store.containers, name) && - !create (store.creatures, name) && - !create (store.doors, name) && - !create (store.ingreds, name) && - !create (store.creatureLists, name) && - !create (store.itemLists, name) && - !create (store.lights, name) && - !create (store.lockpicks, name) && - !create (store.miscItems, name) && - !create (store.npcs, name) && - !create (store.probes, name) && - !create (store.repairs, name) && - !create (store.statics, name) && - !create (store.weapons, name)) + if (!create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name) && + !create (store.get(), name)) throw std::logic_error ("failed to create manual cell ref for " + name); // initialise diff --git a/apps/openmw/mwworld/store.hpp b/apps/openmw/mwworld/store.hpp index 58039e2496..5171621feb 100644 --- a/apps/openmw/mwworld/store.hpp +++ b/apps/openmw/mwworld/store.hpp @@ -844,7 +844,7 @@ namespace MWWorld } const T *find(int index) const { - T *ptr = search(index); + const T *ptr = search(index); if (ptr == 0) { std::ostringstream msg; msg << "Object with index " << index << " not found";