Hooked up the new serial code, nothing broke

This commit is contained in:
Kayne Ruse
2014-05-26 01:08:10 +10:00
parent 1dd8042d3d
commit 7b76e07231
2 changed files with 67 additions and 14 deletions
+60 -8
View File
@@ -296,20 +296,29 @@ void deserializeEnemy(SerialPacket* packet, char* buffer) {
void serialize(SerialPacket* packet, void* buffer) { void serialize(SerialPacket* packet, void* buffer) {
switch(packet->meta.type) { switch(packet->meta.type) {
//No extra data //no extra data
case SerialPacket::Type::NONE: case SerialPacket::Type::NONE:
case SerialPacket::Type::PING: case SerialPacket::Type::PING:
case SerialPacket::Type::PONG: case SerialPacket::Type::PONG:
case SerialPacket::Type::BROADCAST_REQUEST: case SerialPacket::Type::BROADCAST_REQUEST:
//all rejections
case SerialPacket::Type::BROADCAST_REJECTION:
case SerialPacket::Type::JOIN_REJECTION:
case SerialPacket::Type::REGION_REJECTION:
case SerialPacket::Type::CHARACTER_REJECTION:
case SerialPacket::Type::ENEMY_REJECTION:
case SerialPacket::Type::COMBAT_REJECTION:
serializeType(packet, reinterpret_cast<char*>(buffer)); serializeType(packet, reinterpret_cast<char*>(buffer));
break; break;
//Server info //server info
case SerialPacket::Type::BROADCAST_RESPONSE: case SerialPacket::Type::BROADCAST_RESPONSE:
serializeServer(packet, reinterpret_cast<char*>(buffer)); serializeServer(packet, reinterpret_cast<char*>(buffer));
break; break;
//Client info //client info
case SerialPacket::Type::JOIN_REQUEST: case SerialPacket::Type::JOIN_REQUEST:
case SerialPacket::Type::JOIN_RESPONSE: case SerialPacket::Type::JOIN_RESPONSE:
case SerialPacket::Type::SYNCHRONIZE: case SerialPacket::Type::SYNCHRONIZE:
@@ -327,12 +336,29 @@ void serialize(SerialPacket* packet, void* buffer) {
serializeRegionContent(packet, reinterpret_cast<char*>(buffer)); serializeRegionContent(packet, reinterpret_cast<char*>(buffer));
break; break;
//Character info //combat info
case SerialPacket::Type::COMBAT_ENTER:
case SerialPacket::Type::COMBAT_EXIT:
serializeCombat(packet, reinterpret_cast<char*>(buffer));
break;
//character info
case SerialPacket::Type::CHARACTER_NEW: case SerialPacket::Type::CHARACTER_NEW:
case SerialPacket::Type::CHARACTER_DELETE: case SerialPacket::Type::CHARACTER_DELETE:
case SerialPacket::Type::CHARACTER_UPDATE: case SerialPacket::Type::CHARACTER_UPDATE:
case SerialPacket::Type::CHARACTER_STATS_REQUEST:
case SerialPacket::Type::CHARACTER_STATS_RESPONSE:
serializeCharacter(packet, reinterpret_cast<char*>(buffer)); serializeCharacter(packet, reinterpret_cast<char*>(buffer));
break; break;
//enemy info
case SerialPacket::Type::ENEMY_NEW:
case SerialPacket::Type::ENEMY_DELETE:
case SerialPacket::Type::ENEMY_UPDATE:
case SerialPacket::Type::ENEMY_STATS_REQUEST:
case SerialPacket::Type::ENEMY_STATS_RESPONSE:
serializeEnemy(packet, reinterpret_cast<char*>(buffer));
break;
} }
} }
@@ -340,20 +366,29 @@ void deserialize(SerialPacket* packet, void* buffer) {
//find the type, so that you can actually deserialize the packet! //find the type, so that you can actually deserialize the packet!
deserializeType(packet, reinterpret_cast<char*>(buffer)); deserializeType(packet, reinterpret_cast<char*>(buffer));
switch(packet->meta.type) { switch(packet->meta.type) {
//No extra data //no extra data
case SerialPacket::Type::NONE: case SerialPacket::Type::NONE:
case SerialPacket::Type::PING: case SerialPacket::Type::PING:
case SerialPacket::Type::PONG: case SerialPacket::Type::PONG:
case SerialPacket::Type::BROADCAST_REQUEST: case SerialPacket::Type::BROADCAST_REQUEST:
//all rejections
case SerialPacket::Type::BROADCAST_REJECTION:
case SerialPacket::Type::JOIN_REJECTION:
case SerialPacket::Type::REGION_REJECTION:
case SerialPacket::Type::CHARACTER_REJECTION:
case SerialPacket::Type::ENEMY_REJECTION:
case SerialPacket::Type::COMBAT_REJECTION:
//NOTHING //NOTHING
break; break;
//Server info //server info
case SerialPacket::Type::BROADCAST_RESPONSE: case SerialPacket::Type::BROADCAST_RESPONSE:
deserializeServer(packet, reinterpret_cast<char*>(buffer)); deserializeServer(packet, reinterpret_cast<char*>(buffer));
break; break;
//Client info //client info
case SerialPacket::Type::JOIN_REQUEST: case SerialPacket::Type::JOIN_REQUEST:
case SerialPacket::Type::JOIN_RESPONSE: case SerialPacket::Type::JOIN_RESPONSE:
case SerialPacket::Type::SYNCHRONIZE: case SerialPacket::Type::SYNCHRONIZE:
@@ -371,11 +406,28 @@ void deserialize(SerialPacket* packet, void* buffer) {
deserializeRegionContent(packet, reinterpret_cast<char*>(buffer)); deserializeRegionContent(packet, reinterpret_cast<char*>(buffer));
break; break;
//Character info //combat info
case SerialPacket::Type::COMBAT_ENTER:
case SerialPacket::Type::COMBAT_EXIT:
serializeCombat(packet, reinterpret_cast<char*>(buffer));
break;
//character info
case SerialPacket::Type::CHARACTER_NEW: case SerialPacket::Type::CHARACTER_NEW:
case SerialPacket::Type::CHARACTER_DELETE: case SerialPacket::Type::CHARACTER_DELETE:
case SerialPacket::Type::CHARACTER_UPDATE: case SerialPacket::Type::CHARACTER_UPDATE:
case SerialPacket::Type::CHARACTER_STATS_REQUEST:
case SerialPacket::Type::CHARACTER_STATS_RESPONSE:
deserializeCharacter(packet, reinterpret_cast<char*>(buffer)); deserializeCharacter(packet, reinterpret_cast<char*>(buffer));
break; break;
//enemy info
case SerialPacket::Type::ENEMY_NEW:
case SerialPacket::Type::ENEMY_DELETE:
case SerialPacket::Type::ENEMY_UPDATE:
case SerialPacket::Type::ENEMY_STATS_REQUEST:
case SerialPacket::Type::ENEMY_STATS_RESPONSE:
serializeEnemy(packet, reinterpret_cast<char*>(buffer));
break;
} }
} }
+7 -6
View File
@@ -68,6 +68,12 @@ union SerialPacket {
REGION_CONTENT, REGION_CONTENT,
REGION_REJECTION, REGION_REJECTION,
//combat data
COMBAT_ENTER,
COMBAT_EXIT,
COMBAT_REJECTION,
//character data //character data
CHARACTER_NEW, CHARACTER_NEW,
CHARACTER_DELETE, CHARACTER_DELETE,
@@ -88,12 +94,6 @@ union SerialPacket {
ENEMY_REJECTION, ENEMY_REJECTION,
//combat data
COMBAT_ENTER,
COMBAT_EXIT,
COMBAT_REJECTION,
//more packet types go here //more packet types go here
//not used //not used
@@ -141,6 +141,7 @@ union SerialPacket {
int difficulty; int difficulty;
//TODO: background image, based on terrain type //TODO: background image, based on terrain type
//TODO: array of combatants //TODO: array of combatants
//TODO: rewards
}combatInfo; }combatInfo;
//info about a character //info about a character