Added rejections for incompatible servers

This commit is contained in:
Kayne Ruse
2014-04-21 01:38:28 +10:00
parent fd673a415f
commit 60edc97ea5
5 changed files with 80 additions and 10 deletions
+26
View File
@@ -36,7 +36,20 @@ void serializeType(SerialPacket* packet, char* buffer) {
void serializeServer(SerialPacket* packet, char* buffer) {
memcpy(buffer, &packet->meta.type, sizeof(SerialPacket::Type));
buffer += sizeof(SerialPacket::Type);
//server info
//Note: version info serialization goes here
memcpy(buffer, packet->serverInfo.name, PACKET_STRING_SIZE);
buffer += PACKET_STRING_SIZE;
memcpy(buffer, &packet->serverInfo.playerCount, sizeof(int));
buffer += sizeof(int);
//map format
memcpy(buffer, &packet->serverInfo.regionWidth, sizeof(int));
buffer += sizeof(int);
memcpy(buffer, &packet->serverInfo.regionHeight, sizeof(int));
buffer += sizeof(int);
memcpy(buffer, &packet->serverInfo.regionDepth, sizeof(int));
}
void serializeClient(SerialPacket* packet, char* buffer) {
@@ -114,7 +127,20 @@ void deserializeType(SerialPacket* packet, char* buffer) {
void deserializeServer(SerialPacket* packet, char* buffer) {
memcpy(&packet->meta.type, buffer, sizeof(SerialPacket::Type));
buffer += sizeof(SerialPacket::Type);
//server info
//Note: version info deserialization goes here
memcpy(packet->serverInfo.name, buffer, PACKET_STRING_SIZE);
buffer += PACKET_STRING_SIZE;
memcpy(&packet->serverInfo.playerCount, buffer, sizeof(int));
buffer += sizeof(int);
//map format
memcpy(&packet->serverInfo.regionWidth, buffer, sizeof(int));
buffer += sizeof(int);
memcpy(&packet->serverInfo.regionHeight, buffer, sizeof(int));
buffer += sizeof(int);
memcpy(&packet->serverInfo.regionDepth, buffer, sizeof(int));
}
void deserializeClient(SerialPacket* packet, char* buffer) {
+6 -2
View File
@@ -79,8 +79,12 @@ union SerialPacket {
Metadata meta;
//TODO: version info
char name[PACKET_STRING_SIZE];
//TODO: player count
//TODO: map format
int playerCount;
//map format
int regionWidth;
int regionHeight;
int regionDepth;
}serverInfo;
//information about the client