1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-04-01 11:36:43 +00:00

Add some placeholder code so Stanislav can test it

This commit is contained in:
David Cernat 2016-10-22 12:45:19 +03:00
parent 565e7e4b9f
commit 8080cceac6
3 changed files with 21 additions and 0 deletions

View file

@ -391,6 +391,11 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
player->Npc()->mName.c_str()); player->Npc()->mName.c_str());
myPacket->Read(event); myPacket->Read(event);
LOG_APPEND(Log::LOG_WARN, "- %s", event->CellRef()->mRefID.c_str());
LOG_APPEND(Log::LOG_WARN, "- %i", event->CellRef()->mRefNum);
myPacket->Send(event, true); myPacket->Send(event, true);
break; break;

View file

@ -633,10 +633,16 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
WorldPacket *myPacket = worldController.GetPacket(packet->data[0]); WorldPacket *myPacket = worldController.GetPacket(packet->data[0]);
WorldEvent *event = new WorldEvent(id); WorldEvent *event = new WorldEvent(id);
MWWorld::CellStore *ptrCellStore = MWBase::Environment::get().getWorld()->getPlayerPtr().getCell();
switch (packet->data[0]) switch (packet->data[0])
{ {
case ID_WORLD_OBJECT_CREATION: case ID_WORLD_OBJECT_CREATION:
{ {
MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(), event->CellRef()->mRefID, 1);
MWBase::Environment::get().getWorld()->placeObject(ref.getPtr(), ptrCellStore, event->CellRef()->mPos);
break; break;
} }
case ID_WORLD_OBJECT_REMOVAL: case ID_WORLD_OBJECT_REMOVAL:
@ -648,6 +654,10 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
event->CellRef()->mRefID.c_str(), event->CellRef()->mRefID.c_str(),
event->CellRef()->mRefNum); event->CellRef()->mRefNum);
//MWWorld::Ptr object = ptrCellStore->search(event->CellRef()->mRefID);
//MWBase::Environment::get().getWorld()->deleteObject(object);
break; break;
} }
default: default:

View file

@ -1108,10 +1108,16 @@ namespace MWWorld
{ {
// Added by tes3mp // Added by tes3mp
mwmp::WorldEvent *event = mwmp::Main::get().getNetworking()->createWorldEvent(); mwmp::WorldEvent *event = mwmp::Main::get().getNetworking()->createWorldEvent();
event->CellRef()->mRefID = ptr.getCellRef().getRefId(); event->CellRef()->mRefID = ptr.getCellRef().getRefId();
event->CellRef()->mRefNum = ptr.getCellRef().getRefNum(); event->CellRef()->mRefNum = ptr.getCellRef().getRefNum();
mwmp::Main::get().getNetworking()->GetWorldPacket(ID_WORLD_OBJECT_REMOVAL)->Send(event); mwmp::Main::get().getNetworking()->GetWorldPacket(ID_WORLD_OBJECT_REMOVAL)->Send(event);
printf("Sending ID_WORLD_OBJECT_REMOVAL about\n%s\n%s\n%i\n",
ptr.getCellRef().getRefId().c_str(),
event->CellRef()->mRefID.c_str(),
event->CellRef()->mRefNum);
mWorldScene->removeObjectFromScene (ptr); mWorldScene->removeObjectFromScene (ptr);
mLocalScripts.remove (ptr); mLocalScripts.remove (ptr);
removeContainerScripts (ptr); removeContainerScripts (ptr);