RemotePlayer
This commit is contained in:
@@ -68,9 +68,10 @@ int Connector::Connect(const char* srv_addr, std::string name) {
|
||||
delete[] buf;
|
||||
buf = new char[150] {0};
|
||||
buflen = 150;
|
||||
int rpack = 0;
|
||||
bool ready = false;
|
||||
int errors = 0;
|
||||
while (rpack < 2) {
|
||||
netprot::PlayerInfo pinfo{};
|
||||
while (!ready) {
|
||||
recv(m_sock_tcp, buf, buflen, 0);
|
||||
|
||||
switch (netprot::getType(buf, buflen)) {
|
||||
@@ -79,17 +80,26 @@ int Connector::Connect(const char* srv_addr, std::string name) {
|
||||
std::cout << "Packet LoginInfo invalide." << std::endl;
|
||||
return 2;
|
||||
}
|
||||
++rpack;
|
||||
break;
|
||||
case netprot::PACKET_TYPE::GAMEINFO:
|
||||
if (!netprot::Deserialize(&m_gameinfo, buf, buflen)) {
|
||||
std::cout << "Packet GameInfo invalide." << std::endl;
|
||||
return 3;
|
||||
}
|
||||
++rpack;
|
||||
break;
|
||||
case netprot::PACKET_TYPE::PLAYINF:
|
||||
// TODO: Populer un remotePlayer avec <20>a.
|
||||
if (!netprot::Deserialize(&pinfo, buf, buflen)) {
|
||||
std::cout << "Packet PlayerInfo invalide." << std::endl;
|
||||
return 3;
|
||||
}
|
||||
m_players[pinfo.id] = pinfo;
|
||||
break;
|
||||
case netprot::PACKET_TYPE::SYNC:
|
||||
if (!netprot::Deserialize(&m_origin, buf, buflen)) {
|
||||
std::cout << "Packet Sync invalide." << std::endl;
|
||||
return 3;
|
||||
}
|
||||
ready = true;
|
||||
break;
|
||||
default:
|
||||
++errors;
|
||||
@@ -105,3 +115,5 @@ int Connector::Connect(const char* srv_addr, std::string name) {
|
||||
uint64_t Connector::getId() const { return m_loginfo.sid; }
|
||||
|
||||
unsigned int Connector::getSeed() const { return m_gameinfo.seed; }
|
||||
|
||||
netprot::Sync Connector::getOrigin() const { return m_origin; }
|
||||
|
Reference in New Issue
Block a user