From dccc157f4c619e17fb968bf86adad048f4144919 Mon Sep 17 00:00:00 2001 From: greye Date: Tue, 6 Nov 2012 15:26:55 +0400 Subject: [PATCH] setting up --- apps/openmw/mwworld/esmstore.cpp | 4 ++-- apps/openmw/mwworld/store.hpp | 4 ++++ apps/openmw/mwworld/worldimp.cpp | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwworld/esmstore.cpp b/apps/openmw/mwworld/esmstore.cpp index eb236d1bc..a69a8fde7 100644 --- a/apps/openmw/mwworld/esmstore.cpp +++ b/apps/openmw/mwworld/esmstore.cpp @@ -60,8 +60,8 @@ void ESMStore::load(ESM::ESMReader &esm) if (n.val==ESM::REC_DIAL) { // dirty hack, but it is better than non-const search() // or friends - dialogue = const_cast(mDialogs.search(id)); - assert (dialogue != NULL); + dialogue = &mDialogs.mStatic.back(); + assert (dialogue->mId == id); } else { dialogue = 0; } diff --git a/apps/openmw/mwworld/store.hpp b/apps/openmw/mwworld/store.hpp index 12f7c7f01..1adc2677e 100644 --- a/apps/openmw/mwworld/store.hpp +++ b/apps/openmw/mwworld/store.hpp @@ -80,6 +80,8 @@ namespace MWWorld } }; + class ESMStore; + template class Store : public StoreBase { @@ -89,6 +91,8 @@ namespace MWWorld typedef std::map Dynamic; + friend class ESMStore; + public: Store() {} diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index 4e98b3682..2b212c3db 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -188,6 +188,7 @@ namespace MWWorld mEsm.setEncoding(encoding); mEsm.open (masterPath.string()); mStore.load (mEsm); + mStore.setUp(); mPlayer = new MWWorld::Player (mStore.get().find ("player"), *this); mRendering->attachCameraTo(mPlayer->getPlayer());