diff --git a/apps/openmw/mwworld/esmstore.cpp b/apps/openmw/mwworld/esmstore.cpp index 28c4d512b6..4f34eaead6 100644 --- a/apps/openmw/mwworld/esmstore.cpp +++ b/apps/openmw/mwworld/esmstore.cpp @@ -271,10 +271,8 @@ namespace MWWorld static int AssignStoreToIndex(ESMStore& stores, Store& store) { const int storeIndex = ESMStore::getTypeIndex(); - assert(ESMStore::getTypeIndex() == storeIndex); - const std::size_t index_t(storeIndex); - if (stores.mStores.size() <= index_t) - stores.mStores.resize(index_t + 1); + if (stores.mStores.size() <= storeIndex) + stores.mStores.resize(storeIndex + 1); assert(&store == &std::get>(stores.mStoreImp->mStores)); @@ -330,7 +328,7 @@ namespace MWWorld ESMStore::ESMStore() { mStoreImp = std::make_unique(*this); - std::apply([this](auto& ...x){std::make_tuple(ESMStoreImp::AssignStoreToIndex(*this, x)...);} , mStoreImp->mStores); + std::apply([this](auto& ...x) {(ESMStoreImp::AssignStoreToIndex(*this, x), ...); }, mStoreImp->mStores); mDynamicCount = 0; mStoreImp->SetupAfterStoresCreation(*this); getWritable().setCells(getWritable()); @@ -437,9 +435,9 @@ void ESMStore::load(ESM::ESMReader &esm, Loading::Listener* listener, ESM::Dialo } } -static int sTypeIndexCounter = 0; +static std::size_t sTypeIndexCounter = 0; -int& ESMStore::getTypeIndexCounter() +std::size_t& ESMStore::getTypeIndexCounter() { return sTypeIndexCounter; } diff --git a/apps/openmw/mwworld/esmstore.hpp b/apps/openmw/mwworld/esmstore.hpp index b4d6e86386..bd0ba0f107 100644 --- a/apps/openmw/mwworld/esmstore.hpp +++ b/apps/openmw/mwworld/esmstore.hpp @@ -31,12 +31,12 @@ namespace MWWorld { friend struct ESMStoreImp; //This allows StoreImp to extend esmstore without beeing included everywhere - static int& getTypeIndexCounter(); + static std::size_t &getTypeIndexCounter(); template - static int getTypeIndex() + static std::size_t getTypeIndex() { - static int index = getTypeIndexCounter()++; + static std::size_t index = getTypeIndexCounter()++; return index; }