Slight code tweak

This commit is contained in:
Kayne Ruse
2014-03-07 20:27:34 +11:00
parent 6a204643f6
commit 60c31ff56d
3 changed files with 19 additions and 12 deletions
+9 -6
View File
@@ -290,6 +290,9 @@ void InWorld::HandlePlayerUpdate(NetworkPacket packet) {
void InWorld::SendState() { void InWorld::SendState() {
NetworkPacket packet; NetworkPacket packet;
char buffer[sizeof(NetworkPacket)];
//pack the packet
packet.meta.type = NetworkPacket::Type::PLAYER_UPDATE; packet.meta.type = NetworkPacket::Type::PLAYER_UPDATE;
packet.playerInfo.clientIndex = clientIndex; packet.playerInfo.clientIndex = clientIndex;
packet.playerInfo.playerIndex = playerIndex; packet.playerInfo.playerIndex = playerIndex;
@@ -298,28 +301,28 @@ void InWorld::SendState() {
packet.playerInfo.position = localCharacter->GetPosition(); packet.playerInfo.position = localCharacter->GetPosition();
packet.playerInfo.motion = localCharacter->GetMotion(); packet.playerInfo.motion = localCharacter->GetMotion();
char buffer[sizeof(NetworkPacket)];
serialize(&packet, buffer); serialize(&packet, buffer);
network.Send(Channels::SERVER, buffer, sizeof(NetworkPacket)); network.Send(Channels::SERVER, buffer, sizeof(NetworkPacket));
} }
void InWorld::RequestDisconnect() { void InWorld::RequestDisconnect() {
//send a disconnect request
NetworkPacket packet; NetworkPacket packet;
char buffer[sizeof(NetworkPacket)];
//send a disconnect request
packet.meta.type = NetworkPacket::Type::DISCONNECT; packet.meta.type = NetworkPacket::Type::DISCONNECT;
packet.clientInfo.index = clientIndex; packet.clientInfo.index = clientIndex;
char buffer[sizeof(NetworkPacket)];
serialize(&packet, buffer); serialize(&packet, buffer);
network.Send(Channels::SERVER, buffer, sizeof(NetworkPacket)); network.Send(Channels::SERVER, buffer, sizeof(NetworkPacket));
} }
void InWorld::RequestShutDown() { void InWorld::RequestShutDown() {
//send a shutdown request
NetworkPacket packet; NetworkPacket packet;
char buffer[sizeof(NetworkPacket)];
//send a shutdown request
packet.meta.type = NetworkPacket::Type::SHUTDOWN; packet.meta.type = NetworkPacket::Type::SHUTDOWN;
packet.clientInfo.index = clientIndex; packet.clientInfo.index = clientIndex;
char buffer[sizeof(NetworkPacket)];
serialize(&packet, buffer); serialize(&packet, buffer);
network.Send(Channels::SERVER, buffer, sizeof(NetworkPacket)); network.Send(Channels::SERVER, buffer, sizeof(NetworkPacket));
} }
+8 -4
View File
@@ -125,10 +125,12 @@ void LobbyMenu::MouseButtonDown(SDL_MouseButtonEvent const& button) {
void LobbyMenu::MouseButtonUp(SDL_MouseButtonEvent const& button) { void LobbyMenu::MouseButtonUp(SDL_MouseButtonEvent const& button) {
if (search.MouseButtonUp(button) == Button::State::HOVER) { if (search.MouseButtonUp(button) == Button::State::HOVER) {
//broadcast to the network, or a specific server //the vars
NetworkPacket packet; NetworkPacket packet;
packet.meta.type = NetworkPacket::Type::BROADCAST_REQUEST;
char buffer[sizeof(NetworkPacket)]; char buffer[sizeof(NetworkPacket)];
//broadcast to the network, or a specific server
packet.meta.type = NetworkPacket::Type::BROADCAST_REQUEST;
serialize(&packet, buffer); serialize(&packet, buffer);
network.Send(config["server.host"].c_str(), config.Int("server.port"), buffer, sizeof(NetworkPacket)); network.Send(config["server.host"].c_str(), config.Int("server.port"), buffer, sizeof(NetworkPacket));
@@ -138,10 +140,12 @@ void LobbyMenu::MouseButtonUp(SDL_MouseButtonEvent const& button) {
} }
else if (join.MouseButtonUp(button) == Button::State::HOVER && selection != nullptr) { else if (join.MouseButtonUp(button) == Button::State::HOVER && selection != nullptr) {
//join the selected server //the vars
NetworkPacket packet; NetworkPacket packet;
packet.meta.type = NetworkPacket::Type::JOIN_REQUEST;
char buffer[sizeof(NetworkPacket)]; char buffer[sizeof(NetworkPacket)];
//join the selected server
packet.meta.type = NetworkPacket::Type::JOIN_REQUEST;
serialize(&packet, buffer); serialize(&packet, buffer);
network.Send(&selection->address, buffer, sizeof(NetworkPacket)); network.Send(&selection->address, buffer, sizeof(NetworkPacket));
selection = nullptr; selection = nullptr;
+2 -2
View File
@@ -139,7 +139,6 @@ void serialize(NetworkPacket* packet, void* buffer) {
case NetworkPacket::Type::BROADCAST_REQUEST: case NetworkPacket::Type::BROADCAST_REQUEST:
case NetworkPacket::Type::JOIN_REQUEST: case NetworkPacket::Type::JOIN_REQUEST:
case NetworkPacket::Type::SYNCHRONIZE: case NetworkPacket::Type::SYNCHRONIZE:
case NetworkPacket::Type::SHUTDOWN:
serializeType(packet, reinterpret_cast<char*>(buffer)); serializeType(packet, reinterpret_cast<char*>(buffer));
break; break;
@@ -151,6 +150,7 @@ void serialize(NetworkPacket* packet, void* buffer) {
//Client info //Client info
case NetworkPacket::Type::JOIN_RESPONSE: case NetworkPacket::Type::JOIN_RESPONSE:
case NetworkPacket::Type::DISCONNECT: case NetworkPacket::Type::DISCONNECT:
case NetworkPacket::Type::SHUTDOWN:
serializeClient(packet, reinterpret_cast<char*>(buffer)); serializeClient(packet, reinterpret_cast<char*>(buffer));
break; break;
@@ -178,7 +178,6 @@ void deserialize(NetworkPacket* packet, void* buffer) {
case NetworkPacket::Type::BROADCAST_REQUEST: case NetworkPacket::Type::BROADCAST_REQUEST:
case NetworkPacket::Type::JOIN_REQUEST: case NetworkPacket::Type::JOIN_REQUEST:
case NetworkPacket::Type::SYNCHRONIZE: case NetworkPacket::Type::SYNCHRONIZE:
case NetworkPacket::Type::SHUTDOWN:
// //
break; break;
@@ -190,6 +189,7 @@ void deserialize(NetworkPacket* packet, void* buffer) {
//Client info //Client info
case NetworkPacket::Type::JOIN_RESPONSE: case NetworkPacket::Type::JOIN_RESPONSE:
case NetworkPacket::Type::DISCONNECT: case NetworkPacket::Type::DISCONNECT:
case NetworkPacket::Type::SHUTDOWN:
deserializeClient(packet, reinterpret_cast<char*>(buffer)); deserializeClient(packet, reinterpret_cast<char*>(buffer));
break; break;