Edit: After a short coffee break I found the problem. On lines 228 and 229 of worldimp.cpp, the shared section of mStore was being populated after the call to remove it. I think this is tiny for a pull request, though, isn't it? I've never actually used Git before, so I'm not sure. If you could walk me through the procedure I'll show you what changed, or use GitHub's pull request feature, whichever you prefer.
Original Post:
I've compiled it successfully (I think), under Windows using MSVC 2012, but the game crashes on the loading screen. I've run it through the debugger of course, and it seems to fail here:
Code: Select all
// apps/openmw/mwworld/store.hpp : line 256
if (it != mStatic.end() && Misc::StringUtils::ciEqual(it->second.mId, id)) {
// delete from the static part of mShared
typename std::vector<T *>::iterator sharedIter = mShared.begin();
typename std::vector<T *>::iterator end = sharedIter + mStatic.size(); // Fails here: Can't increment shared Iter since sharedIter == mShared.end()
while (sharedIter != mShared.end() && sharedIter != end) {
I'm eager to help with some of the stuff piling up on the tracker, so I hope I can get my environment ready soon!