From 8a7020b4ef986bf34f32ce10f7921bf4b89bf821 Mon Sep 17 00:00:00 2001 From: abcdefg30 Date: Sun, 11 Oct 2020 20:39:20 +0200 Subject: [PATCH] Ignore the length requirement of sync orders we want to drop --- OpenRA.Game/Network/ReplayConnection.cs | 5 +---- OpenRA.Game/Network/ReplayRecorder.cs | 4 +--- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/OpenRA.Game/Network/ReplayConnection.cs b/OpenRA.Game/Network/ReplayConnection.cs index 3c3f727106..c0ecaf0d7f 100644 --- a/OpenRA.Game/Network/ReplayConnection.cs +++ b/OpenRA.Game/Network/ReplayConnection.cs @@ -70,10 +70,7 @@ namespace OpenRA.Network if (frame != int.MaxValue && (!lastClientsFrame.ContainsKey(client) || frame > lastClientsFrame[client])) lastClientsFrame[client] = frame; - if (packet.Length == 5 && packet[4] == (byte)OrderType.Disconnect) - continue; - - if (packet.Length == 4 + Order.SyncHashOrderLength && packet[4] == (byte)OrderType.SyncHash) + if (packet.Length > 4 && (packet[4] == (byte)OrderType.Disconnect || packet[4] == (byte)OrderType.SyncHash)) continue; if (frame == 0) diff --git a/OpenRA.Game/Network/ReplayRecorder.cs b/OpenRA.Game/Network/ReplayRecorder.cs index 2407b8fe48..33e0075c08 100644 --- a/OpenRA.Game/Network/ReplayRecorder.cs +++ b/OpenRA.Game/Network/ReplayRecorder.cs @@ -26,9 +26,7 @@ namespace OpenRA.Network static bool IsGameStart(byte[] data) { - if (data.Length == 5 && data[4] == (byte)OrderType.Disconnect) - return false; - if (data.Length == 4 + Order.SyncHashOrderLength && data[4] == (byte)OrderType.SyncHash) + if (data.Length > 4 && (data[4] == (byte)OrderType.Disconnect || data[4] == (byte)OrderType.SyncHash)) return false; var frame = BitConverter.ToInt32(data, 0);