? config.h
? Makefile
? leak.log
? memprofile2.txt
? diff
? scorelog.txt
? ladder.txt
? highscores.txt
? memprofile1.txt
? config.status
? won_matches.txt
? .gdbinit
? mainicon.ico
? .dont_update
? screenshot_1.bmp
? won_rounds.txt
? Makefile.global
? VisualC/Armagetron.opt
? VisualC/armagetron_Install.iit
? VisualC/Armagetron.ncb
? VisualC/Armagetron.plg
? VisualC/Dedicated.plg
? VisualC/armagetron.res
? VisualC/armagetron_update.iit
? VisualC/moviepack_install.iit
? VisualC/moviesounds_install.iit
? doc/Makefile
? doc/.m4.dep
? doc/ml
? doc/faq.html
? doc/head.html.ghost
? doc/navbar.html.ghost
? doc/sig.ghost
? doc/index.html.ghost
? doc/index.html
? doc/bugs.html.ghost
? doc/bugs.html
? doc/readme_linux.html.ghost
? doc/readme_linux.html
? doc/changelog.html.ghost
? doc/config.html
? doc/changelog.html
? doc/readme_windows.html.ghost
? doc/readme_windows.html
? doc/config.html.ghost
? doc/todo.html
? doc/faq.html.ghost
? doc/network.html
? doc/todo.html.ghost
? doc/network.html.ghost
? doc/compile.html.ghost
? doc/compile.html
? doc/net/Makefile
? doc/net/.m4.dep
? doc/net/head.html.ghost
? doc/net/sig.ghost
? doc/net/navbar.html.ghost
? doc/net/index.html.ghost
? doc/net/index.html
? doc/net/lower.html.ghost
? doc/net/lower.html
? doc/net/middle.html.ghost
? doc/net/middle.html
? doc/net/upper.html.ghost
? doc/net/upper.html
? src/Makefile
? src/dep
? src/Makefile.am
? src/engine/Makefile
? src/engine/dep
? src/engine/src
? src/engine/doc
? src/engine/eTess_old.h
? src/engine/test
? src/engine/Makefile.am
? src/engine/eTess_old.cpp
? src/engine/stHHAmlU
? src/engine/leak.log
? src/engine/conftest.subs
? src/engine/conftest.s1
? src/engine/.gdbinit
? src/engine/memprofile1.txt
? src/engine/memprofile2.txt
? src/network/Makefile
? src/network/dep
? src/render/Makefile
? src/render/dep
? src/tools/Makefile
? src/tools/tCrypt.h
? src/tools/tCrypt.cpp
? src/tools/dep
? src/tron/Makefile
? src/tron/dep
? src/tron/armagetron
? src/tron/leak.log
? src/tron/scorelog.txt
? src/tron/ladder.txt
? src/tron/won_matches.txt
? src/tron/won_rounds.txt
? src/tron/highscores.txt
? src/tron/memprofile1.txt
? src/tron/.gdbinit
? src/tron/memprofile2.txt
? src/ui/Makefile
? src/ui/dep
? src/win32/config.h
? src/win32_ded/config.h
? src/win32_ded/strstream.h
Index: src/engine/eNetGameObject.cpp
===================================================================
RCS file: /cvsroot/armagetron/armagetron/src/engine/eNetGameObject.cpp,v
retrieving revision 1.6
diff -r1.6 eNetGameObject.cpp
229c229
<     my_ping+=sn_ping[0];
---
>     my_ping+=sn_Connections[0].ping;
Index: src/engine/ePlayer.cpp
===================================================================
RCS file: /cvsroot/armagetron/armagetron/src/engine/ePlayer.cpp,v
retrieving revision 1.5
diff -r1.5 ePlayer.cpp
450c450
<     ping=sn_ping[0];
---
>     ping=sn_Connections[0].ping;
469c469
<   ping=sn_ping[m.SenderID()];
---
>   ping=sn_Connections[m.SenderID()].ping;
Index: src/engine/eTimer.cpp
===================================================================
RCS file: /cvsroot/armagetron/armagetron/src/engine/eTimer.cpp,v
retrieving revision 1.2
diff -r1.2 eTimer.cpp
168c168
< extern REAL sn_ping[MAXCLIENTS+2];
---
> //extern REAL sn_ping[MAXCLIENTS+2];
229c229
<   REAL real_remoteTime=remote_currentTime+sn_ping[m.SenderID()]*speed*.5;
---
>   REAL real_remoteTime=remote_currentTime+sn_Connections[m.SenderID()].ping*speed*.5;
232c232
<   REAL min_remoteTime=remote_currentTime+sn_ping[m.SenderID()]*speed-
---
>   REAL min_remoteTime=remote_currentTime+sn_Connections[m.SenderID()].ping*speed-
Index: src/network/nNetObject.cpp
===================================================================
RCS file: /cvsroot/armagetron/armagetron/src/network/nNetObject.cpp,v
retrieving revision 1.7
diff -r1.7 nNetObject.cpp
194c194
<       while(sn_sockets[0]>0 && distribute==request && tSysTimeFloat()<timeout){
---
>       while(sn_Connections[0].socket>0 && distribute==request && tSysTimeFloat()<timeout){
454c454
<   while (sn_sockets[0]>0 &&
---
>   while (sn_Connections[0].socket>0 &&
476c476
<   if (timeout<=0 || sn_sockets[0]<=0)
---
>   if (timeout<=0 || sn_Connections[0].socket<=0)
666c666
< extern REAL planned_rate_control[MAXCLIENTS+2];
---
> //extern REAL planned_rate_control[MAXCLIENTS+2];
671c671
< 	sn_sockets[user]>0 && sn_netObjects.Len()>0 && user!=sn_myNetID){
---
> 	sn_Connections[user].socket>0 && sn_netObjects.Len()>0 && user!=sn_myNetID){
684,686c684,686
<       while(sn_sockets[user]>0 && 
< 	    planned_rate_control[user]>0 &&
< 	    sn_ackPending[user]<sn_maxNoAck && 
---
>       while(sn_Connections[user].socket>0 && 
> 	    sn_Connections[user].rateControlPlanned >0 &&
> 	    sn_Connections[user].ackPending<sn_maxNoAck && 
719c719
< 		   && planned_rate_control[user]>50
---
> 		   && sn_Connections[user].rateControlPlanned>50
745c745
<       if(planned_rate_control[user]<-100){
---
>       if(sn_Connections[user].rateControlPlanned<-100){
748c748
< 	      << -100-planned_rate_control[user] << "\n";
---
> 	      << -100-sn_Connections[user].rateControlPlanned << "\n";
751c751
<       if(sn_ackPending[user]>=sn_maxNoAck){
---
>       if(sn_Connections[user].ackPending>=sn_maxNoAck){
754c754
< 	       << sn_ackPending[user] << "\n";
---
> 	       << sn_Connections[user].ackPending << "\n";
918c918
<     while (sn_sockets[0]>0 && (sn_ackPending[0]>0 || sn_QueueLen(0)) && 
---
>     while (sn_Connections[0].socket>0 && (sn_Connections[0].ackPending>0 || sn_QueueLen(0)) && 
929c929
<       if(sn_sockets[user]>0){
---
>       if(sn_Connections[user].socket>0){
947,948c947,948
< 	if(sn_sockets[user]>0 && 
< 	   (!sync_ack[user] || sn_ackPending[user]>0 || sn_QueueLen(user)))
---
> 	if(sn_Connections[user].socket>0 && 
> 	   (!sync_ack[user] || sn_Connections[user].ackPending>0 || sn_QueueLen(user)))
Index: src/network/nNetwork.cpp
===================================================================
RCS file: /cvsroot/armagetron/armagetron/src/network/nNetwork.cpp,v
retrieving revision 1.10
diff -r1.10 nNetwork.cpp
66,69c66,69
< tArray<unsigned short> send_buffer[MAXCLIENTS+2];
< REAL planned_rate_control[MAXCLIENTS+2];
< REAL rate_control[MAXCLIENTS+2];
< unsigned short  rate[MAXCLIENTS+2];
---
> //tArray<unsigned short> send_buffer[MAXCLIENTS+2];
> //REAL planned_rate_control[MAXCLIENTS+2];
> //REAL rate_control[MAXCLIENTS+2];
> //unsigned short  rate[MAXCLIENTS+2];
98c98
< int sn_ackPending[MAXCLIENTS+2];
---
> //int sn_ackPending[MAXCLIENTS+2];
101c101
< static nMessage * ack_mess[MAXCLIENTS+2];
---
> //static nMessage * ack_mess[MAXCLIENTS+2];
104c104
< int sn_sockets[MAXCLIENTS+2];  // server mode:
---
> //int sn_sockets[MAXCLIENTS+2];  // server mode:
117c117
< REAL sn_ping[MAXCLIENTS+2];
---
> // REAL sn_ping[MAXCLIENTS+2];
277c277
<     sn_ackPending[receiver]++;
---
>     sn_Connections[receiver].ackPending++;
290c290
<   REAL timeout=sn_ping[rec]*pingTimeout;
---
>   REAL timeout=sn_Connections[rec].ping*pingTimeout;
316c316
<     sn_ackPending[receiver]--;
---
>     sn_Connections[receiver].ackPending--;
355c355
<       if (thisping>sn_ping[peer]*2.5)
---
>       if (thisping>sn_Connections[peer].ping*2.5)
363,364c363,364
<       sn_ping[peer]+=thisping/ping_avg;  // make some average
<       sn_ping[peer]/=(1+1/ping_avg);
---
>       sn_Connections[peer].ping+=thisping/ping_avg;  // make some average
>       sn_Connections[peer].ping/=(1+1/ping_avg);
423,424c423,424
< 	if (sn_sockets[pendingAck->receiver]>0){
< //	  if(planned_rate_control[pendingAck->receiver]>-1000)
---
> 	if (sn_Connections[pendingAck->receiver].socket > 0){
> //	  if(sn_Connections[].rateControlPlanned[pendingAck->receiver]>-1000)
426c426
< 	    REAL timeout=sn_ping[pendingAck->receiver]*pingTimeout;
---
> 	    REAL timeout=sn_Connections[pendingAck->receiver].ping*pingTimeout;
536c536
<       if (sn_sockets[i]>0)
---
>       if (sn_Connections[i].socket>0)
874c874
<    else if (sn_sockets[m.SenderID()]>0) 
---
>    else if (sn_Connections[m.SenderID()].socket>0) 
880c880
< 	if(sn_sockets[i]<=0){
---
> 	if(sn_Connections[i].socket<=0){
882c882
< 	  sn_sockets[i]=sn_sockets[MAXCLIENTS+1]; // the new connection has number MC+1
---
> 	  sn_Connections[i].socket=sn_Connections[MAXCLIENTS+1].socket; // the new connection has number MC+1
885c885
< 	  //sn_sockets[MAXCLIENTS+1]=-1;
---
> 	  //sn_Connections[].socket[MAXCLIENTS+1]=-1;
888c888
< 	  sn_sockets[MAXCLIENTS+1]=-1;
---
> 	  sn_Connections[MAXCLIENTS+1].socket=-1;
900,901c900,901
<       sn_ping[new_id]=1;
<       rate_control[new_id]=20;
---
>       sn_Connections[new_id].ping=1;
>       sn_Connections[new_id].rateControl=20;
903c903
<       m.Read(rate[new_id]);
---
>       m.Read(sn_Connections[new_id].rate);
914,915c914,915
<       if (rate[new_id]>sn_maxRateOut)
< 	rate[new_id]=sn_maxRateOut;
---
>       if (sn_Connections[new_id].rate>sn_maxRateOut)
> 	sn_Connections[new_id].rate=sn_maxRateOut;
919,921c919,921
<       if (ack_mess[MAXCLIENTS+1]){
< 	delete ack_mess[MAXCLIENTS+1];
<        ack_mess[MAXCLIENTS+1]=NULL;
---
>       if (sn_Connections[MAXCLIENTS+1].ackMess){
> 	delete sn_Connections[MAXCLIENTS+1].ackMess;
>        sn_Connections[MAXCLIENTS+1].ackMess=NULL;
945c945
<   if (sn_sockets[id]>0)
---
>   if (sn_Connections[id].socket>0)
974c974
<   if (send_buffer[peer].Len()){
---
>   if (sn_Connections[peer].sendBuffer.Len()){
976c976
< 	sn_SentBytes  += send_buffer[peer].Len() * 2 + OVERHEAD;
---
> 	sn_SentBytes  += sn_Connections[peer].sendBuffer.Len() * 2 + OVERHEAD;
979c979
<     send_buffer[peer][send_buffer[peer].Len()]=htons(::sn_myNetID);
---
>     sn_Connections[peer].sendBuffer[sn_Connections[peer].sendBuffer.Len()]=htons(::sn_myNetID);
982,983c982,983
<     ANET_Write(sn_sockets[peer],reinterpret_cast<int8 *>(&(send_buffer[peer][0])),
< 	       2*send_buffer[peer].Len(),&peers[peer]);
---
>     ANET_Write(sn_Connections[peer].socket,reinterpret_cast<int8 *>(&(sn_Connections[peer].sendBuffer[0])),
> 	       2*sn_Connections[peer].sendBuffer.Len(),&peers[peer]);
986c986
<     con << "sending " << 2*send_buffer[peer].Len() << " bytes";
---
>     con << "sending " << 2*sn_Connections[].sendBuffer[peer].Len() << " bytes";
990c990
<     rate_control[peer]-=OVERHEAD;
---
>     sn_Connections[peer].rateControl-=OVERHEAD;
992,994c992,994
<     for(int i=send_buffer[peer].Len()-1;i>=0;i--)
<       send_buffer[peer](i)=0;
<     send_buffer[peer].SetLen(0);
---
>     for(int i=sn_Connections[peer].sendBuffer.Len()-1;i>=0;i--)
>       sn_Connections[peer].sendBuffer(i)=0;
>     sn_Connections[peer].sendBuffer.SetLen(0);
1015c1015
<     if (rate_control[peer]<-2000)
---
>     if (sn_Connections[].rate_control[peer]<-2000)
1033c1033
<     if (send_buffer[peer].Len()+data.Len()+3 > MAX_MESS_LEN/2){
---
>     if (sn_Connections[peer].sendBuffer.Len()+data.Len()+3 > MAX_MESS_LEN/2){
1038,1041c1038,1041
<     if (sn_sockets[peer]>0){
<       send_buffer[peer][send_buffer[peer].Len()]=htons(descriptor);
<       send_buffer[peer][send_buffer[peer].Len()]=htons(messageID);
<       send_buffer[peer][send_buffer[peer].Len()]=htons(data.Len());
---
>     if (sn_Connections[peer].socket>0){
>       sn_Connections[peer].sendBuffer[sn_Connections[peer].sendBuffer.Len()]=htons(descriptor);
>       sn_Connections[peer].sendBuffer[sn_Connections[peer].sendBuffer.Len()]=htons(messageID);
>       sn_Connections[peer].sendBuffer[sn_Connections[peer].sendBuffer.Len()]=htons(data.Len());
1044c1044
< 	send_buffer[peer][send_buffer[peer].Len()]=htons(data(i));
---
> 	sn_Connections[peer].sendBuffer[sn_Connections[peer].sendBuffer.Len()]=htons(data(i));
1046c1046
<       rate_control[peer]-=2*(len+3);
---
>       sn_Connections[peer].rateControl-=2*(len+3);
1049c1049
< 	if (rate_control[peer]>0)
---
> 	if (sn_Connections[].rate_control[peer]>0)
1062c1062
< 	ANET_Write(sn_sockets[peer],(int8 *)b,
---
> 	ANET_Write(sn_Connections[].socket[peer],(int8 *)b,
1066c1066
< 	rate_control[peer]-=2*(len+3)+OVERHEAD;
---
> 	sn_Connections[].rate_control[peer]-=2*(len+3)+OVERHEAD;
1093c1093
<   planned_rate_control[peer]-=2*(data.Len()+3);
---
>   sn_Connections[peer].rateControlPlanned-=2*(data.Len()+3);
1111c1111
<    if (sn_sockets[peer]>0){
---
>    if (sn_Connections[peer].socket>0){
1114,1115c1114,1115
<      while (len>0 && sn_sockets[peer]>0){
<        len=ANET_Read(sn_sockets[peer],reinterpret_cast<int8 *>(buff),maxrec*2,&peers[peer]);
---
>      while (len>0 && sn_Connections[peer].socket>0){
>        len=ANET_Read(sn_Connections[peer].socket,reinterpret_cast<int8 *>(buff),maxrec*2,&peers[peer]);
1220,1223c1220,1223
< 		 if ((sn_sockets[id]<0)){
< 		   if (ack_mess[id])
< 		     delete ack_mess[id];
< 		   ack_mess[id]=NULL;
---
> 		 if ((sn_Connections[id].socket<0)){
> 		   if (sn_Connections[id].ackMess)
> 		     delete sn_Connections[id].ackMess;
> 		   sn_Connections[id].ackMess=NULL;
1225c1225
< 		 else if (ack_mess[id] && 
---
> 		 else if (sn_Connections[id].ackMess && 
1232,1235c1232,1235
< 		   ack_mess[id]->Write(mess.MessageID()); 
< 		   if (ack_mess[id]->DataLen()>100){
< 		     ack_mess[id]->Send(id, 0, false);
< 		     ack_mess[id]=NULL;
---
> 		   sn_Connections[id].ackMess->Write(mess.MessageID()); 
> 		   if (sn_Connections[id].ackMess->DataLen()>100){
> 		     sn_Connections[id].ackMess->Send(id, 0, false);
> 		     sn_Connections[id].ackMess=NULL;
1275c1275
<    sn_ping[MAXCLIENTS+1]=1;
---
>    sn_Connections[MAXCLIENTS+1].ping=1;
1280,1281c1280,1281
<      if(ack_mess[i]==NULL)
<        ack_mess[i]=new nMessage(acknowleEdge);
---
>      if(sn_Connections[i].ackMess==NULL)
>        sn_Connections[i].ackMess=new nMessage(acknowleEdge);
1290c1290
<       if((sn_sockets[MAXCLIENTS+1]=ANET_CheckNewConnections())>0)
---
>       if((sn_Connections[MAXCLIENTS+1].socket = ANET_CheckNewConnections())>0)
1309,1311c1309,1311
<      if(sn_sockets[i]>0 && ack_mess[i] && !ack_mess[i]->End()
< //	&& sn_ackAckPending[i] <= 1+ack_mess[i]->DataLen()
< 	&& planned_rate_control[i]>250
---
>      if(sn_Connections[i].socket>0 && sn_Connections[i].ackMess && !sn_Connections[i].ackMess->End()
> //	&& sn_ackAckPending[i] <= 1+sn_Connections[].ackMess[i]->DataLen()
> 	&& sn_Connections[i].rateControlPlanned>250
1313,1314c1313,1314
<        ack_mess[i]->Send(i,0, false);
<        ack_mess[i]=NULL;
---
>        sn_Connections[i].ackMess->Send(i,0, false);
>        sn_Connections[i].ackMess=NULL;
1335c1335
< 	  if(sn_sockets[i]>0){
---
> 	  if(sn_Connections[i].socket>0){
1343,1344c1343,1344
<       if (sn_sockets[0]<=0)
< 	sn_sockets[0]=ANET_Init();
---
>       if (sn_Connections[0].socket<=0)
> 	sn_Connections[0].socket=ANET_Init();
1350c1350
< 	if(sn_sockets[i]>0){
---
> 	if(sn_Connections[i].socket>0){
1364c1364
< 	    while(sn_sockets[0]>0 && login_succeeded && tSysTimeFloat()<timeout){
---
> 	    while(sn_Connections[].socket[0]>0 && login_succeeded && tSysTimeFloat()<timeout){
1377c1377
< 	  sn_sockets[0] = 0;
---
> 	  sn_Connections[0].socket = 0;
1394c1394
<    sn_ping[0]=1;
---
>    sn_Connections[0].ping=1;
1400c1400
<    send_buffer[0].SetLen(0);
---
>    sn_Connections[0].sendBuffer.SetLen(0);
1402,1403c1402,1403
<    ANET_Connect(sn_sockets[0],&peers[0]); //useless
<    rate[0]=sn_maxRateOut;
---
>    ANET_Connect(sn_Connections[0].socket,&peers[0]); //useless
>    sn_Connections[0].rate=sn_maxRateOut;
1595c1595
<     rate_control[i]+=(rate[i]*1000)*(time-lastTime);
---
>     sn_Connections[i].rateControl+=(sn_Connections[i].rate*1000)*(time-lastTime);
1597,1598c1597,1598
<     while (sn_ackPending[i]<sn_maxNoAck &&
< 	   rate_control[i]>OVERHEAD     && 
---
>     while (sn_Connections[i].ackPending<sn_maxNoAck &&
> 	   sn_Connections[i].rateControl>OVERHEAD     && 
1605,1606c1605,1606
<     if (rate_control[i]>1000)
<       rate_control[i]=1000;
---
>     if (sn_Connections[i].rateControl>1000)
>       sn_Connections[i].rateControl=1000;
1613c1613
<     if (send_buffer[i].Len()>0 && rate_control[i]>0)
---
>     if (sn_Connections[i].sendBuffer.Len()>0 && sn_Connections[i].rateControl>0)
1616c1616
<     planned_rate_control[i]=rate_control[i];
---
>     sn_Connections[i].rateControlPlanned=sn_Connections[i].rateControl;
1636,1637c1636,1637
<   if (sn_sockets[i]>0){
<     con << "Killing user " << i << ", ping " << sn_ping[i] << ".\n";
---
>   if (sn_Connections[i].socket>0){
>     con << "Killing user " << i << ", ping " << sn_Connections[i].ping << ".\n";
1652,1654c1652,1654
<   if(ack_mess[i]){
<     delete ack_mess[i];
<     ack_mess[i]=NULL;
---
>   if(sn_Connections[i].ackMess){
>     delete sn_Connections[i].ackMess;
>     sn_Connections[i].ackMess=NULL;
1663c1663
<   sn_sockets[i]=-1;
---
>   sn_Connections[i].socket=-1;
1665c1665
<   sn_ackPending[i]=0;
---
>   sn_Connections[i].ackPending=0;
1672c1672
<   send_buffer[i].SetLen(0);
---
>   sn_Connections[i].sendBuffer.SetLen(0);
1706c1706
<       tDESTROY(ack_mess[i]);
---
>       tDESTROY(sn_Connections[i].ackMess);
1736a1737,1743
> 
> 
> 
> nConnectionInfo::nConnectionInfo(){}
> nConnectionInfo::~nConnectionInfo(){}
> 
> void nConnectionInfo::Clear(){}
Index: src/network/nNetwork.h
===================================================================
RCS file: /cvsroot/armagetron/armagetron/src/network/nNetwork.h,v
retrieving revision 1.5
diff -r1.5 nNetwork.h
34a35,37
> #include "tCrypt.h"
> 
> class nMessage;
72a76,100
> 
> struct nConnectionInfo     // everything that is needed to manage a connection
> {
>   int                    socket;             // the network UDP socket
>   int                    ackPending;   
>   REAL                   ping;
>   tCrypt*                crypt;
>   tArray<unsigned short> sendBuffer;
> 
>   // rate control
>   REAL                   rateControlPlanned;
>   REAL                   rateControl;
>   unsigned short         rate;
> 
>   // ack messages
>   nMessage*              ackMess;
> 
>   nConnectionInfo();
>   ~nConnectionInfo();
> 
>   void Clear();
> };
> 
> static nConnectionInfo sn_Connections[MAXCLIENTS+2];
> 
74,76c102,104
< extern int sn_ackPending[MAXCLIENTS+2];
< extern int sn_sockets[MAXCLIENTS+2]; 
< extern REAL sn_ping[MAXCLIENTS+2];
---
> //extern int sn_ackPending[MAXCLIENTS+2];
> //extern int sn_sockets[MAXCLIENTS+2]; 
> //extern REAL sn_ping[MAXCLIENTS+2];
Index: src/tools/Makefile.in
===================================================================
RCS file: /cvsroot/armagetron/armagetron/src/tools/Makefile.in,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 Makefile.in
48c48
< TOOLS=tArray.o tError.o tConfiguration.o\
---
> TOOLS= tCrypt.o tArray.o tError.o tConfiguration.o\
Index: src/tron/gCycle.cpp
===================================================================
RCS file: /cvsroot/armagetron/armagetron/src/tron/gCycle.cpp,v
retrieving revision 1.8
diff -r1.8 gCycle.cpp
549a550,551
>  engine(NULL),
>  turning(NULL),
553,555c555
<  alive(1),
<  engine(NULL),
<  turning(NULL),
---
>  alive(1),
1683a1684,1685
>    engine(NULL),
>    turning(NULL),
1685,1686d1686
<    engine(NULL),
<    turning(NULL),
1760c1760
< 	lastAttemptedSyncTime<lastClientsideAction+1.2*sn_ping[0]+.1){
---
> 	lastAttemptedSyncTime<lastClientsideAction+1.2*sn_Connections[0].ping+.1){
1834,1840c1834
< 
<   // dont use distance based method if we were displaced left or right
<   if (distanceBased && aft == &emergency_aft && sync_dir == this->dirDrive && fabs(eCoord::F(sync_pos - pos,sync_dir.Turn(0,1))) > .2 )
<   {
< 	distanceBased = false;
<   }
< 
---
>   
1913c1907
< 	if (turning)
---
> 	if (turning)
2139,2149d2132
< 
< 
< 
< 
< 
< 
< 
< 
< 
< 
< 
Index: src/tron/gGame.cpp
===================================================================
RCS file: /cvsroot/armagetron/armagetron/src/tron/gGame.cpp,v
retrieving revision 1.12
diff -r1.12 gGame.cpp
933c933
< 	if (sn_sockets[i]>0)
---
> 	if (sn_Connections[i].socket>0)
1559c1559
< 	if (sn_sockets[i]>0 && client_gamestate[i]!=state)
---
> 	if (sn_Connections[i].socket>0 && client_gamestate[i]!=state)
1565,1566c1565,1566
< 	if (sn_ackPending[1]>2)
< 	  con << "Ack_pending=" << sn_ackPending[1] << ".\n";
---
> 	if (sn_Connections[1].ackPending>2)
> 	  con << "Ack_pending=" << sn_Connections[1].ackPending << ".\n";
1692c1692
< 	    if (sn_sockets[i]>0)
---
> 	    if (sn_Connections[i].socket>0)
1704c1704
< 	    if (sn_sockets[i]>0)
---
> 	    if (sn_Connections[i].socket>0)
2262c2262
<       if (fabs((t - p->lastSync)*(sn_ping[p->Owner()] - p->ping))>1){
---
>       if (fabs((t - p->lastSync)*(sn_Connections[p->Owner()].ping - p->ping))>1){
2264c2264
< 	p->ping=sn_ping[p->Owner()];
---
> 	p->ping=sn_Connections[p->Owner()].ping;
Index: src/tron/gWall.cpp
===================================================================
RCS file: /cvsroot/armagetron/armagetron/src/tron/gWall.cpp,v
retrieving revision 1.5
diff -r1.5 gWall.cpp
745c745
<       gridding=se_GameTime()+2*sn_ping[0]+.5;
---
>       gridding=se_GameTime()+2*sn_Connections[0].ping+.5;
