Fixed shoddy packet typing
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user