DEADSOFTWARE

fix playerstats netmessage; zero gTime before spawning players
[d2df-sdl.git] / src / game / g_net.pas
index 6b3c8f7d174a33ce9e5eff10830391917c2a4f0d..217825ea98184bec8fdafb7d9f6be59e90fc3339 100644 (file)
@@ -21,7 +21,7 @@ uses
   e_log, e_msg, ENet, Classes, md5, MAPDEF{$IFDEF USE_MINIUPNPC}, miniupnpc;{$ELSE};{$ENDIF}
 
 const
-  NET_PROTOCOL_VER = 182;
+  NET_PROTOCOL_VER = 184;
 
   NET_MAXCLIENTS = 24;
   NET_CHANS = 12;
@@ -540,7 +540,6 @@ begin
           exit;
         end;
         tf.diskName := findDiskWad(fname);
-        //if (length(tf.diskName) = 0) then tf.diskName := findDiskWad(GameDir+'/wads/'+fname);
         if (length(tf.diskName) = 0) then
         begin
           e_LogWritefln('NETWORK: file "%s" not found!', [fname], TMsgType.Fatal);
@@ -682,7 +681,7 @@ begin
         // packet type
         trans_omsg.Write(Byte(NTF_SERVER_MAP_INFO));
         // map wad name
-        trans_omsg.Write(gGameSettings.WAD);
+        trans_omsg.Write(ExtractFileName(gGameSettings.WAD));
         // map wad md5
         trans_omsg.Write(md5);
         // map wad size
@@ -1845,7 +1844,7 @@ end;
 function g_Net_Client_Update(): enet_size_t;
 begin
   Result := 0;
-  while (enet_host_service(NetHost, @NetEvent, 0) > 0) do
+  while (NetHost <> nil) and (enet_host_service(NetHost, @NetEvent, 0) > 0) do
   begin
     case NetEvent.kind of
       ENET_EVENT_TYPE_RECEIVE:
@@ -2189,7 +2188,7 @@ var
   I: Integer;
   path: AnsiString;
 begin
-  path := e_GetDir(DataDirs);
+  path := e_GetWriteableDir(DataDirs);
   if path <> '' then
   begin
     path := e_CatPath(path, BANLIST_FILENAME);