Use the name "guid" for RakNet IDs so as to not confuse with int IDs

This commit is contained in:
David Cernat 2016-10-26 15:55:34 +03:00
parent 6d61c6cf2d
commit a9f6ea4d8d
4 changed files with 72 additions and 72 deletions

View file

@ -8,36 +8,36 @@
TPlayers Players::players; TPlayers Players::players;
TSlots Players::slots; TSlots Players::slots;
void Players::DeletePlayer(RakNet::RakNetGUID id) void Players::DeletePlayer(RakNet::RakNetGUID guid)
{ {
LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "Deleting player with guid %lu", LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "Deleting player with guid %lu",
id.g); guid.g);
if (players[id] != 0) if (players[guid] != 0)
{ {
LOG_APPEND(Log::LOG_INFO, "- Emptying slot %i", LOG_APPEND(Log::LOG_INFO, "- Emptying slot %i",
players[id]->GetID()); players[guid]->GetID());
slots[players[id]->GetID()] = 0; slots[players[guid]->GetID()] = 0;
delete players[id]; delete players[guid];
players.erase(id); players.erase(guid);
} }
LOG_APPEND(Log::LOG_INFO, "- %i remaining", LOG_APPEND(Log::LOG_INFO, "- %i remaining",
players.size()); players.size());
} }
void Players::NewPlayer(RakNet::RakNetGUID id) void Players::NewPlayer(RakNet::RakNetGUID guid)
{ {
LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "Creating new player with guid %lu", LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "Creating new player with guid %lu",
id.g); guid.g);
players[id] = new Player(id); players[guid] = new Player(guid);
players[id]->GetCell()->blank(); players[guid]->GetCell()->blank();
players[id]->Npc()->blank(); players[guid]->Npc()->blank();
players[id]->NpcStats()->blank(); players[guid]->NpcStats()->blank();
players[id]->CreatureStats()->blank(); players[guid]->CreatureStats()->blank();
players[id]->charClass.blank(); players[guid]->charClass.blank();
for (int i = 0; i < mwmp::Networking::Get().MaxConnections(); i++) for (int i = 0; i < mwmp::Networking::Get().MaxConnections(); i++)
{ {
@ -46,16 +46,16 @@ void Players::NewPlayer(RakNet::RakNetGUID id)
LOG_APPEND(Log::LOG_INFO, "- Storing in slot %i", LOG_APPEND(Log::LOG_INFO, "- Storing in slot %i",
i); i);
slots[i] = players[id]; slots[i] = players[guid];
slots[i]->SetID(i); slots[i]->SetID(i);
break; break;
} }
} }
} }
Player *Players::GetPlayer(RakNet::RakNetGUID id) Player *Players::GetPlayer(RakNet::RakNetGUID guid)
{ {
return players[id]; return players[guid];
} }
std::map<RakNet::RakNetGUID, Player*> *Players::GetPlayers() std::map<RakNet::RakNetGUID, Player*> *Players::GetPlayers()
@ -63,7 +63,7 @@ std::map<RakNet::RakNetGUID, Player*> *Players::GetPlayers()
return &players; return &players;
} }
Player::Player(RakNet::RakNetGUID id) : BasePlayer(id) Player::Player(RakNet::RakNetGUID guid) : BasePlayer(guid)
{ {
handshake = false; handshake = false;
loaded = false; loaded = false;

View file

@ -24,9 +24,9 @@ typedef std::map<unsigned short, Player*> TSlots;
class Players class Players
{ {
public: public:
static void NewPlayer(RakNet::RakNetGUID id); static void NewPlayer(RakNet::RakNetGUID guid);
static void DeletePlayer(RakNet::RakNetGUID id); static void DeletePlayer(RakNet::RakNetGUID guid);
static Player *GetPlayer(RakNet::RakNetGUID id); static Player *GetPlayer(RakNet::RakNetGUID guid);
static Player *GetPlayer(unsigned short id); static Player *GetPlayer(unsigned short id);
static TPlayers *GetPlayers(); static TPlayers *GetPlayers();
@ -46,7 +46,7 @@ public:
LOADED, LOADED,
POSTLOADED POSTLOADED
}; };
Player(RakNet::RakNetGUID id); Player(RakNet::RakNetGUID guid);
unsigned short GetID(); unsigned short GetID();
void SetID(unsigned short id); void SetID(unsigned short id);

View file

@ -42,7 +42,7 @@ MWWorld::Ptr DedicatedPlayer::getPtr()
return ptr; return ptr;
} }
void Players::CreatePlayer(RakNet::RakNetGUID id) void Players::CreatePlayer(RakNet::RakNetGUID guid)
{ {
LOG_APPEND(Log::LOG_INFO, "%s", "- Setting up character info"); LOG_APPEND(Log::LOG_INFO, "%s", "- Setting up character info");
@ -50,7 +50,7 @@ void Players::CreatePlayer(RakNet::RakNetGUID id)
MWWorld::Ptr player = world->getPlayerPtr(); MWWorld::Ptr player = world->getPlayerPtr();
ESM::NPC npc = *player.get<ESM::NPC>()->mBase; ESM::NPC npc = *player.get<ESM::NPC>()->mBase;
DedicatedPlayer *dedicPlayer = players[id]; DedicatedPlayer *dedicPlayer = players[guid];
npc.mRace = dedicPlayer->Npc()->mRace; npc.mRace = dedicPlayer->Npc()->mRace;
npc.mHead = dedicPlayer->Npc()->mHead; npc.mHead = dedicPlayer->Npc()->mHead;
@ -94,7 +94,7 @@ void Players::CreatePlayer(RakNet::RakNetGUID id)
dedicPlayer->ptr.getBase()->canChangeCell = true; dedicPlayer->ptr.getBase()->canChangeCell = true;
dedicPlayer->UpdatePtr(world->moveObject(dedicPlayer->ptr, cellStore, newPos.pos[0], newPos.pos[1], newPos.pos[2])); dedicPlayer->UpdatePtr(world->moveObject(dedicPlayer->ptr, cellStore, newPos.pos[0], newPos.pos[1], newPos.pos[2]));
npc.mId = players[id]->ptr.get<ESM::NPC>()->mBase->mId; npc.mId = players[guid]->ptr.get<ESM::NPC>()->mBase->mId;
MWWorld::ESMStore *store = const_cast<MWWorld::ESMStore *>(&world->getStore()); MWWorld::ESMStore *store = const_cast<MWWorld::ESMStore *>(&world->getStore());
MWWorld::Store<ESM::NPC> *esm_store = const_cast<MWWorld::Store<ESM::NPC> *> (&store->get<ESM::NPC>()); MWWorld::Store<ESM::NPC> *esm_store = const_cast<MWWorld::Store<ESM::NPC> *> (&store->get<ESM::NPC>());
@ -103,15 +103,15 @@ void Players::CreatePlayer(RakNet::RakNetGUID id)
dedicPlayer->updateCell(); dedicPlayer->updateCell();
ESM::CustomMarker mEditingMarker = Main::get().getGUIController()->CreateMarker(id); ESM::CustomMarker mEditingMarker = Main::get().getGUIController()->CreateMarker(guid);
dedicPlayer->marker = mEditingMarker; dedicPlayer->marker = mEditingMarker;
dedicPlayer->setMarkerState(true); dedicPlayer->setMarkerState(true);
} }
dedicPlayer->guid = id; dedicPlayer->guid = guid;
dedicPlayer->state = 2; dedicPlayer->state = 2;
world->enable(players[id]->ptr); world->enable(players[guid]->ptr);
} }
@ -121,31 +121,31 @@ void Players::CleanUp()
delete it->second; delete it->second;
} }
void Players::DisconnectPlayer(RakNet::RakNetGUID id) void Players::DisconnectPlayer(RakNet::RakNetGUID guid)
{ {
if (players[id]->state > 1) if (players[guid]->state > 1)
{ {
players[id]->state = 1; players[guid]->state = 1;
// Remove player's marker // Remove player's marker
players[id]->setMarkerState(false); players[guid]->setMarkerState(false);
MWBase::World *world = MWBase::Environment::get().getWorld(); MWBase::World *world = MWBase::Environment::get().getWorld();
world->disable(players[id]->getPtr()); world->disable(players[guid]->getPtr());
// Move player to ToddTest // Move player to ToddTest
ESM::Position newPos; ESM::Position newPos;
world->findInteriorPosition("ToddTest", newPos); world->findInteriorPosition("ToddTest", newPos);
MWWorld::CellStore *store = world->getInterior("ToddTest"); MWWorld::CellStore *store = world->getInterior("ToddTest");
players[id]->getPtr().getBase()->canChangeCell = true; players[guid]->getPtr().getBase()->canChangeCell = true;
world->moveObject(players[id]->getPtr(), store, newPos.pos[0], newPos.pos[1], newPos.pos[2]); world->moveObject(players[guid]->getPtr(), store, newPos.pos[0], newPos.pos[1], newPos.pos[2]);
} }
} }
DedicatedPlayer *Players::GetPlayer(RakNet::RakNetGUID id) DedicatedPlayer *Players::GetPlayer(RakNet::RakNetGUID guid)
{ {
return players[id]; return players[guid];
} }
MWWorld::Ptr DedicatedPlayer::getLiveCellPtr() MWWorld::Ptr DedicatedPlayer::getLiveCellPtr()

View file

@ -172,14 +172,14 @@ void Networking::Connect(const std::string &ip, unsigned short port)
void Networking::ProcessPlayerPacket(RakNet::Packet *packet) void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
{ {
RakNet::RakNetGUID id; RakNet::RakNetGUID guid;
RakNet::BitStream bsIn(&packet->data[1], packet->length, false); RakNet::BitStream bsIn(&packet->data[1], packet->length, false);
bsIn.Read(id); bsIn.Read(guid);
DedicatedPlayer *pl = 0; DedicatedPlayer *pl = 0;
static RakNet::RakNetGUID myid = getLocalPlayer()->guid; static RakNet::RakNetGUID myGuid = getLocalPlayer()->guid;
if (id != myid) if (guid != myGuid)
pl = Players::GetPlayer(id); pl = Players::GetPlayer(guid);
PlayerPacket *myPacket = playerController.GetPacket(packet->data[0]); PlayerPacket *myPacket = playerController.GetPacket(packet->data[0]);
@ -195,7 +195,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
{ {
LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "%s", "Received ID_GAME_BASE_INFO from server"); LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "%s", "Received ID_GAME_BASE_INFO from server");
if (id == myid) if (guid == myGuid)
{ {
LOG_APPEND(Log::LOG_INFO, "%s", "- Packet was about my id"); LOG_APPEND(Log::LOG_INFO, "%s", "- Packet was about my id");
@ -218,17 +218,17 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
if (pl == 0) if (pl == 0)
{ {
LOG_APPEND(Log::LOG_INFO, "%s", "- Exchanging data with new player"); LOG_APPEND(Log::LOG_INFO, "%s", "- Exchanging data with new player");
pl = Players::NewPlayer(id); pl = Players::NewPlayer(guid);
} }
myPacket->Packet(&bsIn, pl, false); myPacket->Packet(&bsIn, pl, false);
Players::CreatePlayer(id); Players::CreatePlayer(guid);
} }
break; break;
} }
case ID_GAME_POS: case ID_GAME_POS:
{ {
if (id == myid) if (guid == myGuid)
{ {
if (packet->length != myPacket->headerSize()) if (packet->length != myPacket->headerSize())
{ {
@ -246,21 +246,21 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
case ID_USER_MYID: case ID_USER_MYID:
{ {
LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "%s", "Received ID_USER_MYID from server"); LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "%s", "Received ID_USER_MYID from server");
myid = id; myGuid = guid;
getLocalPlayer()->guid = id; getLocalPlayer()->guid = guid;
break; break;
} }
case ID_USER_DISCONNECTED: case ID_USER_DISCONNECTED:
{ {
if (id == myid) if (guid == myGuid)
MWBase::Environment::get().getStateManager()->requestQuit(); MWBase::Environment::get().getStateManager()->requestQuit();
else if (pl != 0) else if (pl != 0)
Players::DisconnectPlayer(id); Players::DisconnectPlayer(guid);
} }
case ID_GAME_EQUIPMENT: case ID_GAME_EQUIPMENT:
{ {
if (id == myid) if (guid == myGuid)
{ {
if (packet->length == myPacket->headerSize()) if (packet->length == myPacket->headerSize())
{ {
@ -347,7 +347,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_DYNAMICSTATS: case ID_GAME_DYNAMICSTATS:
{ {
if (id == myid) if (guid == myGuid)
{ {
if (packet->length == myPacket->headerSize()) if (packet->length == myPacket->headerSize())
{ {
@ -378,7 +378,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
case ID_GAME_DIE: case ID_GAME_DIE:
{ {
LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "%s", "Received ID_GAME_DIE from server"); LOG_MESSAGE_SIMPLE(Log::LOG_INFO, "%s", "Received ID_GAME_DIE from server");
if (id == myid) if (guid == myGuid)
{ {
MWWorld::Ptr player = MWBase::Environment::get().getWorld()->getPlayerPtr(); MWWorld::Ptr player = MWBase::Environment::get().getWorld()->getPlayerPtr();
MWMechanics::DynamicStat<float> health = player.getClass().getCreatureStats(player).getHealth(); MWMechanics::DynamicStat<float> health = player.getClass().getCreatureStats(player).getHealth();
@ -400,7 +400,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_RESURRECT: case ID_GAME_RESURRECT:
{ {
if (id == myid) if (guid == myGuid)
{ {
MWWorld::Ptr player = MWBase::Environment::get().getWorld()->getPlayerPtr(); MWWorld::Ptr player = MWBase::Environment::get().getWorld()->getPlayerPtr();
player.getClass().getCreatureStats(player).resurrect(); player.getClass().getCreatureStats(player).resurrect();
@ -431,7 +431,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_CELL: case ID_GAME_CELL:
{ {
if (id == myid) if (guid == myGuid)
{ {
if (packet->length == myPacket->headerSize()) if (packet->length == myPacket->headerSize())
getLocalPlayer()->updateCell(true); getLocalPlayer()->updateCell(true);
@ -450,7 +450,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_DRAWSTATE: case ID_GAME_DRAWSTATE:
{ {
if (id == myid) if (guid == myGuid)
getLocalPlayer()->updateDrawStateAndFlags(true); getLocalPlayer()->updateDrawStateAndFlags(true);
else if (pl != 0) else if (pl != 0)
{ {
@ -462,7 +462,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
case ID_CHAT_MESSAGE: case ID_CHAT_MESSAGE:
{ {
std::string message; std::string message;
if (id == myid) if (guid == myGuid)
{ {
myPacket->Packet(&bsIn, getLocalPlayer(), false); myPacket->Packet(&bsIn, getLocalPlayer(), false);
message = *getLocalPlayer()->ChatMessage(); message = *getLocalPlayer()->ChatMessage();
@ -478,7 +478,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_CHARGEN: case ID_GAME_CHARGEN:
{ {
if (id == myid) if (guid == myGuid)
{ {
myPacket->Packet(&bsIn, getLocalPlayer(), false); myPacket->Packet(&bsIn, getLocalPlayer(), false);
} }
@ -486,7 +486,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_ATTRIBUTE: case ID_GAME_ATTRIBUTE:
{ {
if (id == myid) if (guid == myGuid)
{ {
if (packet->length == myPacket->headerSize()) if (packet->length == myPacket->headerSize())
{ {
@ -516,7 +516,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_SKILL: case ID_GAME_SKILL:
{ {
if (id == myid) if (guid == myGuid)
{ {
if (packet->length == myPacket->headerSize()) if (packet->length == myPacket->headerSize())
{ {
@ -546,7 +546,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_LEVEL: case ID_GAME_LEVEL:
{ {
if (id == myid) if (guid == myGuid)
{ {
if (packet->length == myPacket->headerSize()) if (packet->length == myPacket->headerSize())
{ {
@ -571,7 +571,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GUI_MESSAGEBOX: case ID_GUI_MESSAGEBOX:
{ {
if (id == myid) if (guid == myGuid)
{ {
myPacket->Packet(&bsIn, getLocalPlayer(), false); myPacket->Packet(&bsIn, getLocalPlayer(), false);
@ -590,7 +590,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_CHARCLASS: case ID_GAME_CHARCLASS:
{ {
if (id == myid) if (guid == myGuid)
{ {
if (packet->length == myPacket->headerSize()) if (packet->length == myPacket->headerSize())
getLocalPlayer()->sendClass(); getLocalPlayer()->sendClass();
@ -603,7 +603,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_INVENTORY: case ID_GAME_INVENTORY:
{ {
if (id == myid) if (guid == myGuid)
{ {
if (packet->length == myPacket->headerSize()) if (packet->length == myPacket->headerSize())
{ {
@ -653,7 +653,7 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
} }
case ID_GAME_TIME: case ID_GAME_TIME:
{ {
if (id == myid) if (guid == myGuid)
{ {
myPacket->Packet(&bsIn, getLocalPlayer(), false); myPacket->Packet(&bsIn, getLocalPlayer(), false);
MWBase::World *world = MWBase::Environment::get().getWorld(); MWBase::World *world = MWBase::Environment::get().getWorld();
@ -674,17 +674,17 @@ void Networking::ProcessPlayerPacket(RakNet::Packet *packet)
void Networking::ProcessWorldPacket(RakNet::Packet *packet) void Networking::ProcessWorldPacket(RakNet::Packet *packet)
{ {
RakNet::RakNetGUID id; RakNet::RakNetGUID guid;
RakNet::BitStream bsIn(&packet->data[1], packet->length, false); RakNet::BitStream bsIn(&packet->data[1], packet->length, false);
bsIn.Read(id); bsIn.Read(guid);
DedicatedPlayer *pl = 0; DedicatedPlayer *pl = 0;
static RakNet::RakNetGUID myid = getLocalPlayer()->guid; static RakNet::RakNetGUID myGuid = getLocalPlayer()->guid;
if (id != myid) if (guid != myGuid)
pl = Players::GetPlayer(id); pl = Players::GetPlayer(guid);
WorldPacket *myPacket = worldController.GetPacket(packet->data[0]); WorldPacket *myPacket = worldController.GetPacket(packet->data[0]);
WorldEvent *event = new WorldEvent(id); WorldEvent *event = new WorldEvent(guid);
myPacket->Packet(&bsIn, event, false); myPacket->Packet(&bsIn, event, false);
MWWorld::CellStore *ptrCellStore; MWWorld::CellStore *ptrCellStore;