Minor Adjustments

This commit is contained in:
Anonymous275 2020-04-18 04:48:42 +03:00
parent 2a3df072d1
commit 60c38ccd1a
3 changed files with 17 additions and 18 deletions

View File

@ -9,23 +9,26 @@
#include "../logger.h" #include "../logger.h"
#include "../Settings.hpp" #include "../Settings.hpp"
int FindID(ENetHost *server,ENetPeer*peer);
void Respond(const std::string& MSG, ENetPeer*peer){ void Respond(const std::string& MSG, ENetPeer*peer){
enet_peer_send(peer, 0, enet_packet_create(MSG.c_str(), MSG.length() + 1, ENET_PACKET_FLAG_RELIABLE)); enet_peer_send(peer, 0, enet_packet_create(MSG.c_str(), MSG.length() + 1, ENET_PACKET_FLAG_RELIABLE));
} }
void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data, bool All){ void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data, bool All, bool Reliable){
std::cout << "Sending to all with the self switch : " << All << std::endl; std::cout << "Sending to all with the self switch : " << All << std::endl;
for (int i = 0; i < server->connectedPeers; i++) { for (int i = 0; i < server->connectedPeers; i++) {
if (All || &server->peers[i] != peer) { if (All || &server->peers[i] != peer) {
enet_peer_send(&server->peers[i], 0, enet_packet_create(Data.c_str(),Data.length()+1, ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT)); //reliable is 1 unreliable is 8
enet_peer_send(&server->peers[i], 0, enet_packet_create(Data.c_str(),Data.length()+1,Reliable?1:8));
enet_host_flush(server); enet_host_flush(server);
} }
} }
} }
void OnConnect(ENetPeer*peer){ void OnConnect(ENetHost *server,ENetPeer*peer){
enet_peer_send(peer, 0, enet_packet_create ("NR", 3, ENET_PACKET_FLAG_RELIABLE)); enet_peer_send(peer, 0, enet_packet_create ("NR", 3, ENET_PACKET_FLAG_RELIABLE));
//std::string ID = "P" + std::to_string(peer->serverVehicleID); /////HOLDUP peer->serverVehicleID[0] = FindID(server,peer); ///TODO: WHAT IF IT IS THE SECOND VEHICLE?
//enet_peer_send(peer, 0, enet_packet_create (ID.c_str(), ID.length()+1, ENET_PACKET_FLAG_RELIABLE)); std::string ID = "P" + std::to_string(peer->serverVehicleID[0]);
//if(Debug)debug("ID : " + std::to_string(peer->serverVehicleID)); enet_peer_send(peer, 0, enet_packet_create (ID.c_str(), ID.length()+1, ENET_PACKET_FLAG_RELIABLE));
if(Debug)debug("ID : " + std::to_string(peer->serverVehicleID[0]));
} }

View File

@ -9,30 +9,26 @@
#include "../logger.h" #include "../logger.h"
#include "../Settings.hpp" #include "../Settings.hpp"
std::vector<std::string> Split(const std::string& String,const std::string& delimiter); void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data,bool All, bool Reliable);
void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data,bool All);
void Respond(const std::string& MSG, ENetPeer*peer); void Respond(const std::string& MSG, ENetPeer*peer);
int FindID(ENetHost *server,ENetPeer*peer);
void VehicleParser(std::string Packet,ENetPeer*peer,ENetHost*server){ void VehicleParser(std::string Packet,ENetPeer*peer,ENetHost*server){
char Code = Packet.at(1); char Code = Packet.at(1);
std::string Data = Packet.substr(3); std::string Data = Packet.substr(3);
//std::vector<std::string> vector = Split(Packet,":");
switch(Code){ //Spawned Destroyed Switched/Moved Reset switch(Code){ //Spawned Destroyed Switched/Moved Reset
case 's': case 's':
if(Data.at(0) == '0'){ if(Data.at(0) == '0'){
peer->serverVehicleID[0] = FindID(server,peer); ///TODO: WHAT IF IT IS THE SECOND VEHICLE?! Packet = "Os:"+ peer->Name +":"+std::to_string(peer->serverVehicleID[0])+Packet.substr(4);
Packet = "Os:"+std::to_string(peer->serverVehicleID[0])+Packet.substr(4);
} }
SendToAll(server,peer,Packet,true); SendToAll(server,peer,Packet,true,true);
break; break;
case 'd': case 'd':
SendToAll(server,peer,Packet,true); SendToAll(server,peer,Packet,true,true);
break; break;
case 'm': case 'm':
break; break;
case 'r': case 'r':
SendToAll(server,peer,Packet,true); SendToAll(server,peer,Packet,true,true);
break; break;
} }
} }
@ -56,6 +52,6 @@ void ParseData(ENetPacket*packet, ENetPeer*peer, ENetHost*server){
} }
//V to Z //V to Z
std::cout << "Received data from: " << peer->Name << " Size: " << Packet.length() << std::endl; std::cout << "Received data from: " << peer->Name << " Size: " << Packet.length() << std::endl;
if(Code <= 90 && Code >= 86)SendToAll(server,peer,Packet,false); if(Code <= 90 && Code >= 86)SendToAll(server,peer,Packet,false,false);
if(Debug)debug("Data : " + Packet); if(Debug)debug("Data : " + Packet);
} }

View File

@ -10,7 +10,7 @@
#include "../Settings.hpp" #include "../Settings.hpp"
void ParseData(ENetPacket*packet,ENetPeer*peer,ENetHost *server); //Data Parser void ParseData(ENetPacket*packet,ENetPeer*peer,ENetHost *server); //Data Parser
void OnConnect(ENetPeer*peer); void OnConnect(ENetHost *server,ENetPeer*peer);
ENetPacket* packet; ENetPacket* packet;
int PlayerCount = 0; int PlayerCount = 0;
@ -47,7 +47,7 @@ void host_server(ENetHost *server) {
event.peer->Name = "Client information"; event.peer->Name = "Client information";
/*event.peer->gameVehicleID[0] = 0; /*event.peer->gameVehicleID[0] = 0;
event.peer->serverVehicleID[0] = FindID(server, event.peer);*/ event.peer->serverVehicleID[0] = FindID(server, event.peer);*/
OnConnect(event.peer); OnConnect(server,event.peer);
break; break;
case ENET_EVENT_TYPE_RECEIVE: case ENET_EVENT_TYPE_RECEIVE: