X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_net.pas;h=0ea107b875028752a826f3043227275af8a834c5;hb=f0c98dc86657bdc08f6049872f12b554e1654fa4;hp=12194483511c729b73f6feaa1d6280cb12d8485d;hpb=ff104a8cdc79693b7546d839605ec73ae135d904;p=d2df-sdl.git diff --git a/src/game/g_net.pas b/src/game/g_net.pas index 1219448..0ea107b 100644 --- a/src/game/g_net.pas +++ b/src/game/g_net.pas @@ -1,12 +1,28 @@ +(* Copyright (C) DooM 2D:Forever Developers + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + *) +{$MODE DELPHI} unit g_net; interface uses - e_log, e_fixedbuffer, ENet, ENetTypes, ENetPlatform, Classes; + e_log, e_fixedbuffer, ENet, Classes; const - NET_PROTOCOL_VER = 164; + NET_PROTOCOL_VER = 170; NET_MAXCLIENTS = 24; NET_CHANS = 11; @@ -412,7 +428,7 @@ begin P := enet_packet_create(Addr(NetOut.Data), NetOut.Len, F); if not Assigned(P) then Exit; - enet_host_widecast(NetHost, Chan, P); + enet_host_broadcast(NetHost, Chan, P); end; g_Net_Flush(); @@ -423,14 +439,15 @@ procedure g_Net_Host_CheckPings(); var ClAddr: ENetAddress; Buf: ENetBuffer; - Len, ClTime: Integer; - Ping: array [0..5] of Byte; + Len: Integer; + ClTime: Int64; + Ping: array [0..9] of Byte; NPl: Byte; begin if NetPongSock = ENET_SOCKET_NULL then Exit; Buf.data := Addr(Ping[0]); - Buf.dataLength := 6; + Buf.dataLength := 2+8; Ping[0] := 0; @@ -439,7 +456,7 @@ begin if (Ping[0] = Ord('D')) and (Ping[1] = Ord('F')) then begin - ClTime := Integer(Addr(Ping[2])^); + ClTime := Int64(Addr(Ping[2])^); e_Buffer_Clear(@NetOut); e_Buffer_Write(@NetOut, Byte(Ord('D'))); @@ -860,7 +877,7 @@ begin begin P := enet_packet_create(@Data[0], dataLength, F); if not Assigned(P) then Exit; - enet_host_widecast(NetHost, Chan, P); + enet_host_broadcast(NetHost, Chan, P); end; enet_host_flush(NetHost);