From 1bbd7c271f43512a1d7a94b8862d6ab763cfbcb2 Mon Sep 17 00:00:00 2001 From: David Cernat Date: Wed, 17 Aug 2016 07:27:40 +0300 Subject: [PATCH] Add fail-safes to DedicatedPlayer cell updating to narrow down problems --- apps/openmw/mwmp/DedicatedPlayer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwmp/DedicatedPlayer.cpp b/apps/openmw/mwmp/DedicatedPlayer.cpp index db556ee2a..1583ca782 100644 --- a/apps/openmw/mwmp/DedicatedPlayer.cpp +++ b/apps/openmw/mwmp/DedicatedPlayer.cpp @@ -406,13 +406,20 @@ void DedicatedPlayer::UpdateDrawState() void DedicatedPlayer::updateCell() { + // Prevent cell update when player hasn't been instantiated yet + if (state == 0) + return; MWBase::World *world = MWBase::Environment::get().getWorld(); MWWorld::CellStore *cellStore; + if (cell.isExterior() == 1) cellStore = world->getExterior(cell.mCellId.mIndex.mX, cell.mCellId.mIndex.mY); - else + else if (!cell.mName.empty()) cellStore = world->getInterior(cell.mName); + // Go no further if cell data is invalid + else + return; // tes3mp debug start printf("Server says %s (%s) moved to %s\n",