From 32a32ed22446a42c755b6a617835ab8ff52ae1b3 Mon Sep 17 00:00:00 2001 From: Lee Salzman Date: Sun, 21 Dec 2008 19:03:11 +0000 Subject: [PATCH] ignore maxservpings when using onlyconnected option git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@4054 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/src/serverbrowser.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/source/src/serverbrowser.cpp b/source/src/serverbrowser.cpp index ccefd41f..525132bf 100644 --- a/source/src/serverbrowser.cpp +++ b/source/src/serverbrowser.cpp @@ -361,7 +361,19 @@ void pingservers(bool issearch, bool onlyconnected) pingbuf[curpingbuf] = totalmillis; putint(p, curpingbuf + 1); // offset by 1 to avoid extinfo trigger int baselen = p.length(); - if(searchlan < 2) + if(onlyconnected) + { + serverinfo *si = getconnectedserverinfo(); + if(si) + { + p.len = baselen; + putint(p, si->getnames || issearch ? EXTPING_NAMELIST : EXTPING_NOP); + buf.data = ping; + buf.dataLength = p.length(); + enet_socket_send(pingsock, &si->address, &buf, 1); + } + } + else if(searchlan < 2) { static int lastping = 0; if(lastping >= servers.length()) lastping = 0; @@ -369,7 +381,7 @@ void pingservers(bool issearch, bool onlyconnected) { serverinfo &si = *servers[lastping]; if(++lastping >= servers.length()) lastping = 0; - if(si.address.host == ENET_HOST_ANY || (onlyconnected && &si != getconnectedserverinfo())) continue; + if(si.address.host == ENET_HOST_ANY) continue; p.len = baselen; putint(p, si.getnames || issearch ? EXTPING_NAMELIST : EXTPING_NOP); buf.data = ping;