From a5d0486c823f9d8b5c0ccdadcb2802e4dcc8e350 Mon Sep 17 00:00:00 2001 From: David Cernat Date: Mon, 10 Apr 2017 07:22:03 +0300 Subject: [PATCH] [General] Set actor data correctly --- apps/openmw/mwmp/Cell.cpp | 2 +- apps/openmw/mwmp/LocalActor.cpp | 4 ++++ components/openmw-mp/Base/BaseActor.hpp | 6 ++---- components/openmw-mp/Packets/Actor/PacketActorFrame.cpp | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/openmw/mwmp/Cell.cpp b/apps/openmw/mwmp/Cell.cpp index 220d4a997..e50513ba5 100644 --- a/apps/openmw/mwmp/Cell.cpp +++ b/apps/openmw/mwmp/Cell.cpp @@ -103,7 +103,7 @@ void Cell::readCellFrame(ActorList& actorList) if (dedicatedActors.count(mapIndex) > 0) { DedicatedActor *actor = dedicatedActors[mapIndex]; - actor->position = baseActor.pos; + actor->position = baseActor.position; actor->drawState = baseActor.drawState; actor->headPitch = baseActor.headPitch; diff --git a/apps/openmw/mwmp/LocalActor.cpp b/apps/openmw/mwmp/LocalActor.cpp index 768fbe4a3..09fe98e93 100644 --- a/apps/openmw/mwmp/LocalActor.cpp +++ b/apps/openmw/mwmp/LocalActor.cpp @@ -50,4 +50,8 @@ MWWorld::Ptr LocalActor::getPtr() void LocalActor::setPtr(const MWWorld::Ptr& newPtr) { ptr = newPtr; + + refId = newPtr.getCellRef().getRefId(); + refNumIndex = newPtr.getCellRef().getRefNum().mIndex; + mpNum = newPtr.getCellRef().getMpNum(); } diff --git a/components/openmw-mp/Base/BaseActor.hpp b/components/openmw-mp/Base/BaseActor.hpp index 9b1293eb7..0a5ea16ce 100644 --- a/components/openmw-mp/Base/BaseActor.hpp +++ b/components/openmw-mp/Base/BaseActor.hpp @@ -20,14 +20,12 @@ namespace mwmp int refNumIndex; int mpNum; - ESM::Position pos; + ESM::Position position; + ESM::Cell cell; char drawState; bool isFlying; - ESM::Position position; - ESM::Cell cell; - float headPitch; float headYaw; diff --git a/components/openmw-mp/Packets/Actor/PacketActorFrame.cpp b/components/openmw-mp/Packets/Actor/PacketActorFrame.cpp index e860ed0d9..a6ad35a21 100644 --- a/components/openmw-mp/Packets/Actor/PacketActorFrame.cpp +++ b/components/openmw-mp/Packets/Actor/PacketActorFrame.cpp @@ -37,7 +37,7 @@ void PacketActorFrame::Packet(RakNet::BitStream *bs, bool send) RW(actor.refId, send); RW(actor.refNumIndex, send); RW(actor.mpNum, send); - RW(actor.pos, send); + RW(actor.position, send); RW(actor.drawState, send); RW(actor.headPitch, send);