void __fastcall SSmpPackets::UpdateNetwork(CNetGame* game, void* edx) { Packet* packet = nullptr; uint8_t* localdata = nullptr; uint8_t state {}; for(packet = game->m_pRakClient->Receive(); packet; packet = game->m_pRakClient->Receive()) { localdata = packet->data; if(*localdata == 40) state = localdata[5]; switch(state) { case 12: game->Packet_AuthKey(packet); break; case 29: { AddDebugMessage("The server didn't respond. Retrying.."); game->m_nGameState = 1; break; } case 31: { AddDebugMessage("The server didn't respond. Retrying.."); break; } case 32: game->Packet_DisconnectionNotification(packet); break; case 33: game->Packet_ConnectionLost(packet); break; case 34: game->Packet_ConnectionSucceeded(packet); break; case 35: AddDebugMessage("Failed to initialize encryption."); break; case 36: AddDebugMessage("You are banned from this server."); break; case 37: { AddDebugMessage("Wrong server password."); game->m_pRakClient->Disconnect(0, 0); break; } case 200: game->Packet_VehicleSync(packet); break; case 203: game->Packet_AimSync(packet); break; case 206: game->Packet_BulletSync(packet); break; case 207: game->Packet_PlayerSync(packet); break; case 208: game->Packet_MarkersSync(packet); break; case 209: game->Packet_UnoccupiedSync(packet); break; case 210: game->Packet_TrailerSync(packet); break; case 211: game->Packet_PassengerSync(packet); break; default: break; } game->m_pRakClient->DeallocatePacket(packet); } }