From 0c67ff9ed0c2c20bd43195fe3d17f1ef07de5719 Mon Sep 17 00:00:00 2001 From: scrawl Date: Sat, 6 Sep 2014 03:49:28 +0200 Subject: [PATCH] Don't trigger CellChanged events when crossing exterior cell borders (Fixes #1874) --- apps/openmw/mwworld/scene.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwworld/scene.cpp b/apps/openmw/mwworld/scene.cpp index 80ad66743f..f01018ed0f 100644 --- a/apps/openmw/mwworld/scene.cpp +++ b/apps/openmw/mwworld/scene.cpp @@ -259,6 +259,10 @@ namespace MWWorld void Scene::changeCell (int X, int Y, const ESM::Position& position, bool adjustPlayerPos) { + // CellChanged events should not trigger when crossing exterior cell borders + // TODO: check worldspace + bool cellChanged = !mCurrentCell || !mCurrentCell->isExterior(); + Loading::Listener* loadingListener = MWBase::Environment::get().getWindowManager()->getLoadingScreen(); Loading::ScopedLoad load(loadingListener); @@ -358,7 +362,7 @@ namespace MWWorld // Sky system MWBase::Environment::get().getWorld()->adjustSky(); - mCellChanged = true; + mCellChanged = cellChanged; } //We need the ogre renderer and a scene node.