mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-20 03:53:52 +00:00
d4dbfdfdb6
Conflicts: apps/openmw-mp/Networking.cpp apps/openmw-mp/Script/Functions/World.cpp apps/openmw-mp/Script/Functions/World.hpp apps/openmw-mp/processors/WorldProcessor.cpp apps/openmw-mp/processors/WorldProcessor.hpp apps/openmw-mp/processors/world/ProcessorContainer.hpp apps/openmw-mp/processors/world/ProcessorDoorState.hpp apps/openmw-mp/processors/world/ProcessorObjectDelete.hpp apps/openmw-mp/processors/world/ProcessorObjectLock.hpp apps/openmw-mp/processors/world/ProcessorObjectPlace.hpp apps/openmw-mp/processors/world/ProcessorObjectScale.hpp apps/openmw-mp/processors/world/ProcessorObjectSpawn.hpp apps/openmw-mp/processors/world/ProcessorObjectState.hpp apps/openmw-mp/processors/world/ProcessorObjectTrap.hpp apps/openmw/mwgui/container.cpp apps/openmw/mwmp/Networking.cpp apps/openmw/mwmp/ObjectList.cpp apps/openmw/mwmp/ObjectList.hpp apps/openmw/mwmp/processors/world/ProcessorContainer.hpp components/CMakeLists.txt components/openmw-mp/Base/BaseObject.hpp components/openmw-mp/Packets/Object/ObjectPacket.cpp components/openmw-mp/Packets/Object/PacketConsoleCommand.cpp components/openmw-mp/Packets/Object/PacketContainer.cpp components/openmw-mp/Packets/Object/PacketDoorState.hpp components/openmw-mp/Packets/Object/PacketMusicPlay.hpp components/openmw-mp/Packets/Object/PacketObjectAnimPlay.hpp components/openmw-mp/Packets/Object/PacketObjectLock.hpp components/openmw-mp/Packets/Object/PacketObjectMove.hpp components/openmw-mp/Packets/Object/PacketObjectPlace.hpp components/openmw-mp/Packets/Object/PacketObjectRotate.hpp components/openmw-mp/Packets/Object/PacketObjectScale.hpp components/openmw-mp/Packets/Object/PacketObjectSpawn.hpp components/openmw-mp/Packets/Object/PacketObjectState.hpp components/openmw-mp/Packets/Object/PacketObjectTrap.hpp components/openmw-mp/Packets/Object/PacketScriptGlobalShort.hpp components/openmw-mp/Packets/Object/PacketScriptLocalFloat.hpp components/openmw-mp/Packets/Object/PacketScriptLocalShort.hpp components/openmw-mp/Packets/Object/PacketScriptMemberShort.hpp components/openmw-mp/Packets/Object/PacketVideoPlay.hpp
71 lines
1.8 KiB
C++
71 lines
1.8 KiB
C++
//
|
|
// Created by koncord on 04.01.16.
|
|
//
|
|
|
|
#ifndef OPENMW_NETWORKING_HPP
|
|
#define OPENMW_NETWORKING_HPP
|
|
|
|
#include <RakPeerInterface.h>
|
|
#include <BitStream.h>
|
|
#include <string>
|
|
|
|
#include "ActorList.hpp"
|
|
#include "ObjectList.hpp"
|
|
#include <components/openmw-mp/NetworkMessages.hpp>
|
|
|
|
#include <components/openmw-mp/Controllers/PlayerPacketController.hpp>
|
|
#include <components/openmw-mp/Controllers/ActorPacketController.hpp>
|
|
#include <components/openmw-mp/Controllers/ObjectPacketController.hpp>
|
|
|
|
#include <components/files/collections.hpp>
|
|
|
|
namespace mwmp
|
|
{
|
|
class LocalPlayer;
|
|
|
|
class Networking
|
|
{
|
|
public:
|
|
Networking();
|
|
~Networking();
|
|
void connect(const std::string& ip, unsigned short port, std::vector<std::string> &content, Files::Collections &collections);
|
|
void update();
|
|
|
|
PlayerPacket *getPlayerPacket(RakNet::MessageID id);
|
|
ActorPacket *getActorPacket(RakNet::MessageID id);
|
|
ObjectPacket *getObjectPacket(RakNet::MessageID id);
|
|
|
|
RakNet::SystemAddress serverAddress()
|
|
{
|
|
return serverAddr;
|
|
}
|
|
|
|
bool isConnected();
|
|
|
|
LocalPlayer *getLocalPlayer();
|
|
ActorList *getActorList();
|
|
ObjectList *getObjectList();
|
|
|
|
std::string getNetworkStatistics();
|
|
|
|
private:
|
|
bool connected;
|
|
RakNet::RakPeerInterface *peer;
|
|
RakNet::SystemAddress serverAddr;
|
|
RakNet::BitStream bsOut;
|
|
|
|
PlayerPacketController playerPacketController;
|
|
ActorPacketController actorPacketController;
|
|
ObjectPacketController objectPacketController;
|
|
|
|
ActorList actorList;
|
|
ObjectList objectList;
|
|
|
|
void receiveMessage(RakNet::Packet *packet);
|
|
|
|
void preInit(std::vector<std::string> &content, Files::Collections &collections);
|
|
};
|
|
}
|
|
|
|
|
|
#endif //OPENMW_NETWORKING_HPP
|