Fixed shoddy packet typing

This commit is contained in:
Kayne Ruse
2014-09-03 00:45:08 +10:00
parent 5536bf366d
commit d50cf5b91e
7 changed files with 18 additions and 18 deletions
+3 -2
View File
@@ -271,7 +271,7 @@ void InWorld::KeyUp(SDL_KeyboardEvent const& key) {
void InWorld::HandlePacket(SerialPacket* const argPacket) {
switch(argPacket->type) {
case SerialPacketType::DISCONNECT:
HandleDisconnect(argPacket);
HandleDisconnect(static_cast<ClientPacket*>(argPacket));
break;
case SerialPacketType::CHARACTER_NEW:
HandleCharacterNew(static_cast<CharacterPacket*>(argPacket));
@@ -292,7 +292,8 @@ void InWorld::HandlePacket(SerialPacket* const argPacket) {
}
}
void InWorld::HandleDisconnect(SerialPacket* const argPacket) {
void InWorld::HandleDisconnect(ClientPacket* const argPacket) {
//TODO: More needed in the disconnection
SetNextScene(SceneList::CLEANUP);
}
+1 -1
View File
@@ -75,7 +75,7 @@ protected:
//Network handlers
void HandlePacket(SerialPacket* const);
void HandleDisconnect(SerialPacket* const);
void HandleDisconnect(ClientPacket* const);
void HandleCharacterNew(CharacterPacket* const);
void HandleCharacterDelete(CharacterPacket* const);
void HandleCharacterUpdate(CharacterPacket* const);
+2
View File
@@ -40,6 +40,8 @@ void deserialCopy(void** buffer, void* data, int size) {
*buffer = reinterpret_cast<char*>(*buffer) + size;
}
//DOCS: The server and client MUST use the correct packet types
//main switch functions
void serializePacket(void* buffer, SerialPacketBase* packet) {
switch(packet->type) {
+2 -2
View File
@@ -61,10 +61,10 @@ private:
void HandlePacket(SerialPacket* const);
//basic connections
void HandleBroadcastRequest(SerialPacket* const);
void HandleBroadcastRequest(ServerPacket* const);
void HandleJoinRequest(ClientPacket* const);
void HandleDisconnect(ClientPacket* const);
void HandleShutdown(SerialPacket* const);
void HandleShutdown(ClientPacket* const);
//map management
void HandleRegionRequest(RegionPacket* const);
+2 -2
View File
@@ -179,7 +179,7 @@ void ServerApplication::HandlePacket(SerialPacket* const argPacket) {
switch(argPacket->type) {
//basic connections
case SerialPacketType::BROADCAST_REQUEST:
HandleBroadcastRequest(static_cast<SerialPacket*>(argPacket));
HandleBroadcastRequest(static_cast<ServerPacket*>(argPacket));
break;
case SerialPacketType::JOIN_REQUEST:
HandleJoinRequest(static_cast<ClientPacket*>(argPacket));
@@ -188,7 +188,7 @@ void ServerApplication::HandlePacket(SerialPacket* const argPacket) {
HandleDisconnect(static_cast<ClientPacket*>(argPacket));
break;
case SerialPacketType::SHUTDOWN:
HandleShutdown(static_cast<SerialPacket*>(argPacket));
HandleShutdown(static_cast<ClientPacket*>(argPacket));
break;
//map management
+3 -3
View File
@@ -27,7 +27,7 @@
//basic connections
//-------------------------
void ServerApplication::HandleBroadcastRequest(SerialPacket* const argPacket) {
void ServerApplication::HandleBroadcastRequest(ServerPacket* const argPacket) {
//send the server's data
ServerPacket newPacket;
@@ -102,7 +102,7 @@ void ServerApplication::HandleDisconnect(ClientPacket* const argPacket) {
std::cout << "Disconnection, " << clientMap.size() << " clients and " << accountMgr.GetContainer()->size() << " accounts total" << std::endl;
}
void ServerApplication::HandleShutdown(SerialPacket* const argPacket) {
void ServerApplication::HandleShutdown(ClientPacket* const argPacket) {
//TODO: authenticate who is shutting the server down
/*Pseudocode:
if sender's account -> admin is not true then
@@ -115,7 +115,7 @@ void ServerApplication::HandleShutdown(SerialPacket* const argPacket) {
running = false;
//disconnect all clients
SerialPacket newPacket;
ClientPacket newPacket;
newPacket.type = SerialPacketType::DISCONNECT;
PumpPacket(&newPacket);
+5 -8
View File
@@ -1,16 +1,13 @@
TODO: Sort out the *_cast<> stuff
TODO: encapsulate the data structures
TODO: Ping-pong and keep alive system
TODO: Heartbeat systems
TODO: Rejection messages
TODO: Move the statistics into their own SQL table, instead of duplicating the structure a dozen times
TODO: Get the rooms working, even if only via hotkeys
TODO: Rejection messages
TODO: Move the map system into it's own namespace
TODO: The TileSheet class should implement the surface itself
TODO: Fix shoddy movement
TODO: Move the map system into it's own namespace?
TODO: The TileSheet class should implement the surface itself
TODO: make the whole thing more fault tolerant
TODO: Authentication
TODO: server is slaved to the client
TODO: Time delay for requesting region packets
TODO: command line parameters overriding config.cfg settings