From d5761ab070e0ee7b65a86ef40ae817c590970313 Mon Sep 17 00:00:00 2001 From: Yukita Mayako <catgirl@goddess.moe> Date: Fri, 11 Mar 2016 10:36:29 -0500 Subject: [PATCH] Make button-changed messages reliable. --- src/d_enet.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/d_enet.c b/src/d_enet.c index 736262e16e..f6656dabe0 100644 --- a/src/d_enet.c +++ b/src/d_enet.c @@ -676,12 +676,15 @@ static void Net_SendMove(void) { ENetPacket *packet; UINT8 *buf = net_buffer; + boolean reliable = false; if (!netgame || server || !addedtogame || !players[consoleplayer].mo) return; // only update once a second unless buttons changed. - if (lastMove+TICRATE < I_GetTime() && !memcmp(&lastCmd, &players[consoleplayer].cmd, sizeof(ticcmd_t))) + if (memcmp(&lastCmd, &players[consoleplayer].cmd, sizeof(ticcmd_t))) + reliable = true; + if (lastMove+TICRATE < I_GetTime() && !reliable) return; lastMove = I_GetTime(); G_CopyTiccmd(&lastCmd, &players[consoleplayer].cmd, 1); @@ -696,7 +699,7 @@ static void Net_SendMove(void) WRITEFIXED(buf, players[consoleplayer].mo->y); WRITEFIXED(buf, players[consoleplayer].mo->z); - packet = enet_packet_create(net_buffer, buf-net_buffer, 0); + packet = enet_packet_create(net_buffer, buf-net_buffer, reliable ? ENET_PACKET_FLAG_RELIABLE : 0); enet_peer_send(nodetopeer[servernode], CHANNEL_MOVE, packet); } -- GitLab