diff --git a/src/d_clisrv.c b/src/d_clisrv.c index ef917b7f2..eb7db4678 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -162,7 +162,6 @@ static char adminsalt[MAXNETNODES][9]; // Client specific static ticcmd_t localcmds[MAXSPLITSCREENPLAYERS][MAXGENTLEMENDELAY]; -static boolean cl_packetmissed; // here it is for the secondary local player (splitscreen) static UINT8 mynode; // my address pointofview server static boolean cl_redownloadinggamestate = false; @@ -3629,7 +3628,6 @@ void SV_ResetServer(void) memset(player_name_changes, 0, sizeof player_name_changes); mynode = 0; - cl_packetmissed = false; cl_redownloadinggamestate = false; if (dedicated) @@ -4710,13 +4708,6 @@ static void PT_ClientCmd(SINT8 node, INT32 netconsole) realstart = ExpandTics(netbuffer->u.clientpak.client_tic, nettics[node]); realend = ExpandTics(netbuffer->u.clientpak.resendfrom, nettics[node]); - if (netbuffer->packettype == PT_CLIENTMIS || netbuffer->packettype == PT_CLIENT2MIS - || netbuffer->packettype == PT_CLIENT3MIS || netbuffer->packettype == PT_CLIENT4MIS - || netbuffer->packettype == PT_NODEKEEPALIVEMIS - || supposedtics[node] < realend) - { - supposedtics[node] = realend; - } // Discard out of order packet if (nettics[node] > realend) { @@ -4737,8 +4728,7 @@ static void PT_ClientCmd(SINT8 node, INT32 netconsole) // Don't do anything for packets of type NODEKEEPALIVE? // Sryder 2018/07/01: Update the freezetimeout still! - if (netbuffer->packettype == PT_NODEKEEPALIVE - || netbuffer->packettype == PT_NODEKEEPALIVEMIS) + if (netbuffer->packettype == PT_NODEKEEPALIVE) return; // store it in an internal buffer so the last packet takes precedence, which minimizes input lag @@ -4749,9 +4739,9 @@ static void PT_ClientCmd(SINT8 node, INT32 netconsole) return; // Splitscreen cmd - if (((netbuffer->packettype == PT_CLIENT2CMD || netbuffer->packettype == PT_CLIENT2MIS) - || (netbuffer->packettype == PT_CLIENT3CMD || netbuffer->packettype == PT_CLIENT3MIS) - || (netbuffer->packettype == PT_CLIENT4CMD || netbuffer->packettype == PT_CLIENT4MIS)) + if ((netbuffer->packettype == PT_CLIENT2CMD + || netbuffer->packettype == PT_CLIENT3CMD + || netbuffer->packettype == PT_CLIENT4CMD) && (nodetoplayer2[node] >= 0)) { G_MoveTiccmd(&playercmds[(UINT8)nodetoplayer2[node]], &netbuffer->u.client2pak.cmd2, 1); @@ -4760,8 +4750,8 @@ static void PT_ClientCmd(SINT8 node, INT32 netconsole) return; } - if (((netbuffer->packettype == PT_CLIENT3CMD || netbuffer->packettype == PT_CLIENT3MIS) - || (netbuffer->packettype == PT_CLIENT4CMD || netbuffer->packettype == PT_CLIENT4MIS)) + if ((netbuffer->packettype == PT_CLIENT3CMD + || netbuffer->packettype == PT_CLIENT4CMD) && (nodetoplayer3[node] >= 0)) { G_MoveTiccmd(&playercmds[(UINT8)nodetoplayer3[node]], &netbuffer->u.client3pak.cmd3, 1); @@ -4770,7 +4760,7 @@ static void PT_ClientCmd(SINT8 node, INT32 netconsole) return; } - if ((netbuffer->packettype == PT_CLIENT4CMD || netbuffer->packettype == PT_CLIENT4MIS) + if (netbuffer->packettype == PT_CLIENT4CMD && (nodetoplayer4[node] >= 0)) { G_MoveTiccmd(&playercmds[(UINT8)nodetoplayer4[node]], &netbuffer->u.client4pak.cmd4, 1); @@ -5110,7 +5100,6 @@ static void PT_ServerTics(SINT8 node, INT32 netconsole) if (realend > gametic + CLIENTBACKUPTICS) realend = gametic + CLIENTBACKUPTICS; - cl_packetmissed = realstart > neededtic; if (realstart <= neededtic && realend > neededtic) { @@ -5327,12 +5316,7 @@ static void HandlePacketFromPlayer(SINT8 node) case PT_CLIENT2CMD : PT_ClientCmd (node, netconsole); break; case PT_CLIENT3CMD : PT_ClientCmd (node, netconsole); break; case PT_CLIENT4CMD : PT_ClientCmd (node, netconsole); break; - case PT_CLIENTMIS : PT_ClientCmd (node, netconsole); break; - case PT_CLIENT2MIS : PT_ClientCmd (node, netconsole); break; - case PT_CLIENT3MIS : PT_ClientCmd (node, netconsole); break; - case PT_CLIENT4MIS : PT_ClientCmd (node, netconsole); break; case PT_NODEKEEPALIVE : PT_ClientCmd (node, netconsole); break; - case PT_NODEKEEPALIVEMIS : PT_ClientCmd (node, netconsole); break; case PT_BASICKEEPALIVE : PT_BasicKeepAlive (node, netconsole); break; case PT_TEXTCMD : PT_TextCmd (node, netconsole); break; case PT_TEXTCMD2 : PT_TextCmd (node, netconsole); break; @@ -5764,23 +5748,16 @@ static void CL_SendClientCmd(void) { doomdata_t *netbuffer = DOOMCOM_DATA(doomcom); size_t packetsize = 0; - boolean mis = false; netbuffer->packettype = PT_CLIENTCMD; - if (cl_packetmissed) - { - netbuffer->packettype = PT_CLIENTMIS; - mis = true; - } - netbuffer->u.clientpak.resendfrom = (UINT8)(neededtic & UINT8_MAX); netbuffer->u.clientpak.client_tic = (UINT8)(gametic & UINT8_MAX); if (gamestate == GS_WAITINGPLAYERS) { // Send PT_NODEKEEPALIVE packet - netbuffer->packettype = (mis ? PT_NODEKEEPALIVEMIS : PT_NODEKEEPALIVE); + netbuffer->packettype = PT_NODEKEEPALIVE; packetsize = sizeof (clientcmd_pak) - sizeof (ticcmd_t) - sizeof (INT16); HSendPacket(servernode, false, 0, packetsize); } @@ -5800,19 +5777,19 @@ static void CL_SendClientCmd(void) if (splitscreen) // Send a special packet with 2 cmd for splitscreen { - netbuffer->packettype = (mis ? PT_CLIENT2MIS : PT_CLIENT2CMD); + netbuffer->packettype = PT_CLIENT2CMD; packetsize = sizeof (client2cmd_pak); G_MoveTiccmd(&netbuffer->u.client2pak.cmd2, &localcmds[1][lagDelay], 1); if (splitscreen > 1) { - netbuffer->packettype = (mis ? PT_CLIENT3MIS : PT_CLIENT3CMD); + netbuffer->packettype = PT_CLIENT3CMD; packetsize = sizeof (client3cmd_pak); G_MoveTiccmd(&netbuffer->u.client3pak.cmd3, &localcmds[2][lagDelay], 1); if (splitscreen > 2) { - netbuffer->packettype = (mis ? PT_CLIENT4MIS : PT_CLIENT4CMD); + netbuffer->packettype = PT_CLIENT4CMD; packetsize = sizeof (client4cmd_pak); G_MoveTiccmd(&netbuffer->u.client4pak.cmd4, &localcmds[3][lagDelay], 1); } diff --git a/src/d_clisrv.h b/src/d_clisrv.h index d8f51c061..d62338e2f 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -73,11 +73,8 @@ typedef enum // (must stay 1 for backwards compatibility). // This is a positive response to a CLIENTJOIN request. PT_CLIENTCMD, // Ticcmd of the client. - PT_CLIENTMIS, // Same as above with but saying resend from. PT_CLIENT2CMD, // 2 cmds in the packet for splitscreen. - PT_CLIENT2MIS, // Same as above with but saying resend from PT_NODEKEEPALIVE, // Same but without ticcmd and consistancy - PT_NODEKEEPALIVEMIS, PT_SERVERTICS, // All cmds for the tic. PT_SERVERREFUSE, // Server refuses joiner (reason inside). PT_SERVERSHUTDOWN, @@ -102,9 +99,7 @@ typedef enum // Kart-specific packets PT_CLIENT3CMD, // 3P - PT_CLIENT3MIS, PT_CLIENT4CMD, // 4P - PT_CLIENT4MIS, PT_BASICKEEPALIVE,// Keep the network alive during wipes, as tics aren't advanced and NetUpdate isn't called PT_CANFAIL, // This is kind of a priority. Anything bigger than CANFAIL diff --git a/src/d_net.c b/src/d_net.c index 96c95d079..f8e5ee032 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -609,9 +609,7 @@ static const char *packettypename[NUMPACKETTYPE] = "NOTHING", "SERVERCFG", "CLIENTCMD", - "CLIENTMIS", "CLIENT2CMD", - "CLIENT2MIS", "NODEKEEPALIVE", "NODEKEEPALIVEMIS", "SERVERTICS", @@ -634,9 +632,7 @@ static const char *packettypename[NUMPACKETTYPE] = "HASLUAFILE", "CLIENT3CMD", - "CLIENT3MIS", "CLIENT4CMD", - "CLIENT4MIS", "BASICKEEPALIVE", "FILEFRAGMENT", @@ -696,12 +692,7 @@ static void DebugPrintpacket(const char *header) case PT_CLIENT2CMD: case PT_CLIENT3CMD: case PT_CLIENT4CMD: - case PT_CLIENTMIS: - case PT_CLIENT2MIS: - case PT_CLIENT3MIS: - case PT_CLIENT4MIS: case PT_NODEKEEPALIVE: - case PT_NODEKEEPALIVEMIS: fprintf(debugfile, " tic %4u resendfrom %u\n", (UINT32)netbuffer->u.clientpak.client_tic, (UINT32)netbuffer->u.clientpak.resendfrom);