void StepManiaLanServer::ParseData(PacketFunctions& Packet, const unsigned int clientNum) { int command = Packet.Read1(); switch (command) { case NSCPing: // No Operation SendValue(NSServerOffset + NSCPingR, clientNum); break; case NSCPingR: // No Operation response break; case NSCHello: // Hello Hello(Packet, clientNum); break; case NSCGSR: // Start Request Client[clientNum]->StartRequest(Packet); CheckReady(); //This is what ACTUALLY starts the games break; case NSCGON: // GameOver GameOver(Packet, clientNum); break; case NSCGSU: // StatsUpdate Client[clientNum]->UpdateStats(Packet); if (!Client[clientNum]->lowerJudge) CheckLowerJudge(clientNum); break; case NSCSU: // Style Update Client[clientNum]->StyleUpdate(Packet); SendUserList(); break; case NSCCM: // Chat message AnalizeChat(Packet, clientNum); break; case NSCRSG: SelectSong(Packet, clientNum); break; case NSCSMS: ScreenNetMusicSelectStatus(Packet, clientNum); break; case NSCUPOpts: Client[clientNum]->Player[0].options = Packet.ReadNT(); Client[clientNum]->Player[1].options = Packet.ReadNT(); break; default: break; } }
void SMOnlineRoom::ParseData(PacketFunctions& Packet, int clientnum) { /* Try not to do any Packet Parsing here here because a lot of parsing was done in the Client. Parsing again would be a waste. Packet has been unaltered previous to this point.*/ int command = Packet.Read1(); switch (command) { case NSCPing: // No Operation // SendValue(NSServerOffset + NSCPingR, clientNum); break; case NSCPingR: // No Operation response break; case NSCHello: // Hello break; case NSCSU: // Style Update break; case NSCCM: // Chat message AnalizeChat(clientnum, Packet); break; case NSCSMS: //Room Status Change SendRoomTitle(clientnum); SendRoomList(clientnum); break; case NSSMONL: SMOnlineParse(Packet, clientnum); break; default: break; } }