mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-04-01 20:36:42 +00:00
Use WorldController to fetch CellStore for WorldPackets received
This commit is contained in:
parent
3dcb8738c1
commit
a430ee011a
3 changed files with 26 additions and 33 deletions
|
@ -706,9 +706,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
{
|
{
|
||||||
case ID_OBJECT_PLACE:
|
case ID_OBJECT_PLACE:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
@ -741,9 +739,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
}
|
}
|
||||||
case ID_OBJECT_DELETE:
|
case ID_OBJECT_DELETE:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
@ -768,9 +764,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
}
|
}
|
||||||
case ID_OBJECT_LOCK:
|
case ID_OBJECT_LOCK:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
@ -795,9 +789,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
}
|
}
|
||||||
case ID_OBJECT_UNLOCK:
|
case ID_OBJECT_UNLOCK:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
@ -822,9 +814,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
}
|
}
|
||||||
case ID_OBJECT_SCALE:
|
case ID_OBJECT_SCALE:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
@ -849,9 +839,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
}
|
}
|
||||||
case ID_OBJECT_MOVE:
|
case ID_OBJECT_MOVE:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
@ -877,9 +865,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
}
|
}
|
||||||
case ID_OBJECT_ROTATE:
|
case ID_OBJECT_ROTATE:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
@ -905,9 +891,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
}
|
}
|
||||||
case ID_OBJECT_ANIM_PLAY:
|
case ID_OBJECT_ANIM_PLAY:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
@ -933,9 +917,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
}
|
}
|
||||||
case ID_DOOR_ACTIVATE:
|
case ID_DOOR_ACTIVATE:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
@ -972,9 +954,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
}
|
}
|
||||||
case ID_SCRIPT_LOCAL_SHORT:
|
case ID_SCRIPT_LOCAL_SHORT:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
@ -1001,9 +981,7 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
}
|
}
|
||||||
case ID_SCRIPT_LOCAL_FLOAT:
|
case ID_SCRIPT_LOCAL_FLOAT:
|
||||||
{
|
{
|
||||||
MWWorld::CellStore *ptrCellStore = event->cell.isExterior() ?
|
MWWorld::CellStore *ptrCellStore = Main::get().getWorldController()->getCell(event->cell);
|
||||||
MWBase::Environment::get().getWorld()->getExterior(event->cell.mData.mX, event->cell.mData.mY) :
|
|
||||||
MWBase::Environment::get().getWorld()->getInterior(event->cell.mName);
|
|
||||||
|
|
||||||
if (!ptrCellStore) return;
|
if (!ptrCellStore) return;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include <apps/openmw/mwbase/environment.hpp>
|
#include <apps/openmw/mwbase/environment.hpp>
|
||||||
#include <apps/openmw/mwworld/worldimp.hpp>
|
#include <apps/openmw/mwworld/worldimp.hpp>
|
||||||
|
#include <components/esm/cellid.hpp>
|
||||||
#include <components/openmw-mp/Log.hpp>
|
#include <components/openmw-mp/Log.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,3 +17,15 @@ mwmp::WorldController::~WorldController()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MWWorld::CellStore *mwmp::WorldController::getCell(const ESM::Cell& cell)
|
||||||
|
{
|
||||||
|
MWWorld::CellStore *cellStore;
|
||||||
|
|
||||||
|
if (cell.isExterior())
|
||||||
|
cellStore = MWBase::Environment::get().getWorld()->getExterior(cell.mData.mX, cell.mData.mY);
|
||||||
|
else
|
||||||
|
cellStore = MWBase::Environment::get().getWorld()->getInterior(cell.mName);
|
||||||
|
|
||||||
|
return cellStore;
|
||||||
|
}
|
||||||
|
|
|
@ -9,6 +9,8 @@ namespace mwmp
|
||||||
|
|
||||||
WorldController();
|
WorldController();
|
||||||
~WorldController();
|
~WorldController();
|
||||||
|
|
||||||
|
virtual MWWorld::CellStore *getCell(const ESM::Cell& cell);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue