![]() |
Shadowrun: Awakened 29 September 2011 - Build 871
|
00001 #include "GetServerListPacket.h" 00002 #include "SraNetworkShared.h" 00003 00004 namespace SraNetwork 00005 { 00006 GetServerListPacket::GetServerListPacket(void) 00007 { 00008 //TODO : Get the actual list of running servers. 00009 SraServerInfo info; 00010 info.currentNumberOfPlayers = 0; 00011 info.ip = SraNetwork::WORLD_SERVER_ADDR; 00012 info.name = "Debug server"; 00013 00014 listOfServers.push_back(info); 00015 00016 opCode = ID_GET_SRVLIST; 00017 } 00018 00019 00020 GetServerListPacket::~GetServerListPacket(void) 00021 { 00022 } 00023 00027 void GetServerListPacket::Serialize(RakNet::BitStream* target) 00028 { 00029 SraPacket::Serialize(target); 00030 00031 target->Write<int>( listOfServers.size()); 00032 00033 vector<SraServerInfo>::iterator it; 00034 it = listOfServers.begin(); 00035 00036 int offset = 1; 00037 while (it != listOfServers.end()) 00038 { 00039 it->Serialize(target); 00040 it++; 00041 } 00042 } 00043 00047 void GetServerListPacket::Deserialize(RakNet::BitStream* source) 00048 { 00049 00050 int numberOfInfos = -1; 00051 source->Read<int>(numberOfInfos); 00052 00053 if (numberOfInfos > MAX_NUMBER_OF_SERVERS_PER_MESSAGE || 00054 numberOfInfos < 0) 00055 { 00056 printf("Invalid GetServerListMessage\n"); 00057 } 00058 00059 int i = 0; 00060 for (i = 0; i < numberOfInfos; ++i) 00061 { 00062 SraServerInfo info; 00063 info.Deserialize(source); 00064 00065 listOfServers.push_back(info); 00066 } 00067 } 00068 }
Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.