forked from mirror/openmw-tes3mp
[Client] Add LocalActor & DedicatedActor cell transition logic to World::moveObject()
This commit is contained in:
parent
4e86d8781f
commit
9ea69f4c1f
1 changed files with 13 additions and 3 deletions
|
@ -13,6 +13,8 @@
|
|||
#include "../mwmp/Main.hpp"
|
||||
#include "../mwmp/Networking.hpp"
|
||||
#include "../mwmp/DedicatedPlayer.hpp"
|
||||
#include "../mwmp/LocalActor.hpp"
|
||||
#include "../mwmp/DedicatedActor.hpp"
|
||||
#include "../mwmp/WorldEvent.hpp"
|
||||
#include "../mwmp/CellController.hpp"
|
||||
/*
|
||||
|
@ -1185,11 +1187,15 @@ namespace MWWorld
|
|||
/*
|
||||
Start of tes3mp addition
|
||||
|
||||
Check if DedicatedPlayer's new Ptr cell is the same as their packet cell, and deny the Ptr's cell change if it is not
|
||||
Check if a DedicatedPlayer or DedicatedActor's new Ptr cell is the same as their packet cell, and deny the Ptr's cell change
|
||||
if it is not
|
||||
*/
|
||||
if (mwmp::PlayerList::isDedicatedPlayer(ptr) &&
|
||||
!mwmp::Main::get().getCellController()->isSameCell(mwmp::PlayerList::getPlayer(ptr)->cell, *newCell->getCell()))
|
||||
return ptr;
|
||||
else if (mwmp::Main::get().getCellController()->isDedicatedActor(ptr) &&
|
||||
!mwmp::Main::get().getCellController()->isSameCell(mwmp::Main::get().getCellController()->getDedicatedActor(ptr)->cell, *newCell->getCell()))
|
||||
return ptr;
|
||||
/*
|
||||
End of tes3mp addition
|
||||
*/
|
||||
|
@ -1262,9 +1268,13 @@ namespace MWWorld
|
|||
/*
|
||||
Start of tes3mp addition
|
||||
|
||||
Update the Ptrs of DedicatedPlayers
|
||||
Update the Ptrs of LocalActors, DedicatedPlayers and DedicatedActors
|
||||
*/
|
||||
if (mwmp::PlayerList::isDedicatedPlayer(ptr))
|
||||
if (mwmp::Main::get().getCellController()->isLocalActor(ptr))
|
||||
mwmp::Main::get().getCellController()->getLocalActor(ptr)->setPtr(newPtr);
|
||||
else if (mwmp::Main::get().getCellController()->isDedicatedActor(ptr))
|
||||
mwmp::Main::get().getCellController()->getDedicatedActor(ptr)->setPtr(newPtr);
|
||||
else if (mwmp::PlayerList::isDedicatedPlayer(ptr))
|
||||
mwmp::PlayerList::getPlayer(ptr)->setPtr(newPtr);
|
||||
/*
|
||||
End of tes3mp addition
|
||||
|
|
Loading…
Reference in a new issue