DEADSOFTWARE

Net: Report actual server port in ping response
[d2df-sdl.git] / src / game / g_net.pas
index c06a021cd31ddc1a6ee59d30e96f48a7146a6327..07d9713477ed7da1251d54bfffac53b3cfd5d9b7 100644 (file)
@@ -72,12 +72,6 @@ const
   BANLIST_FILENAME = 'banlist.txt';
   NETDUMP_FILENAME = 'netdump';
 
-  {$IF DEFINED(FREEBSD) OR DEFINED(DARWIN)}
-    NilThreadId = nil;
-  {$ELSE}
-    NilThreadId = 0;
-  {$ENDIF}
-
 type
   TNetMapResourceInfo = record
     wadName: AnsiString; // wad file name, without a path
@@ -166,6 +160,7 @@ var
   NetPlrUID1:    Integer = -1;
   NetPlrUID2:    Integer = -1;
 
+  NetInterpLevel: Integer = 1;
   NetUpdateRate:  Cardinal = 0;  // as soon as possible
   NetRelupdRate:  Cardinal = 18; // around two times a second
   NetMasterRate:  Cardinal = 60000;
@@ -1628,7 +1623,7 @@ begin
     NetOut.Clear();
     NetOut.Write(Byte(Ord('D')));
     NetOut.Write(Byte(Ord('F')));
-    NetOut.Write(NetPort);
+    NetOut.Write(NetHost.address.port);
     NetOut.Write(ClTime);
     TMasterHost.writeInfo(NetOut);
     NPl := 0;
@@ -2243,7 +2238,7 @@ var
 begin
   Result := False;
 
-  if NetPortForwarded = NetPort then
+  if NetPortForwarded = NetHost.address.port then
   begin
     Result := True;
     exit;
@@ -2269,7 +2264,7 @@ begin
     exit;
   end;
 
-  StrPort := IntToStr(NetPort);
+  StrPort := IntToStr(NetHost.address.port);
   I := UPNP_AddPortMapping(
     Urls.controlURL, Addr(data.first.servicetype[1]),
     PChar(StrPort), PChar(StrPort), Addr(LanAddr[0]), PChar('D2DF'),
@@ -2278,7 +2273,7 @@ begin
 
   if I <> 0 then
   begin
-    conwritefln('forwarding port %d failed: error %d', [NetPort, I]);
+    conwritefln('forwarding port %d failed: error %d', [NetHost.address.port, I]);
     FreeUPNPDevList(DevList);
     FreeUPNPUrls(@Urls);
     exit;
@@ -2305,10 +2300,10 @@ begin
     end;
   end;
 
-  conwritefln('forwarded port %d successfully', [NetPort]);
+  conwritefln('forwarded port %d successfully', [NetHost.address.port]);
   NetIGDControl := AnsiString(Urls.controlURL);
   NetIGDService := data.first.servicetype;
-  NetPortForwarded := NetPort;
+  NetPortForwarded := NetHost.address.port;
 
   FreeUPNPDevList(DevList);
   FreeUPNPUrls(@Urls);
@@ -2438,6 +2433,7 @@ initialization
   conRegVar('cl_downloadtimeout', @g_Net_DownloadTimeout, 0.0, 1000000.0, '', 'timeout in seconds, 0 to disable it');
   conRegVar('cl_predictself', @NetPredictSelf, '', 'predict local player');
   conRegVar('cl_forceplayerupdate', @NetForcePlayerUpdate, '', 'update net players on NET_MSG_PLRPOS');
+  conRegVar('cl_interp', @NetInterpLevel, '', 'net player interpolation steps');
   conRegVar('cl_last_ip', @NetClientIP, '', 'address of the last you have connected to');
   conRegVar('cl_last_port', @NetClientPort, '', 'port of the last server you have connected to');