DEADSOFTWARE

net: try to abort map downloading when client received "map change" event
[d2df-sdl.git] / src / game / g_game.pas
index babcb8e2cd3e7f2a19b28a00218cc5d3ea107416..46251bb7d3e2684ec69a340f2ad415de97f6f821 100644 (file)
@@ -4629,9 +4629,18 @@ begin
     begin
       if (NetEvent.kind = ENET_EVENT_TYPE_RECEIVE) then
       begin
+        if (NetEvent.channelID = NET_CHAN_DOWNLOAD_EX) then
+        begin
+          // ignore all download packets, they're processed by separate code
+          enet_packet_destroy(NetEvent.packet);
+          continue;
+        end;
         Ptr := NetEvent.packet^.data;
         if not InMsg.Init(Ptr, NetEvent.packet^.dataLength, True) then
+        begin
+          enet_packet_destroy(NetEvent.packet);
           continue;
+        end;
 
         InMsg.ReadLongWord(); // skip size
         MID := InMsg.ReadByte();