From f1ce0d1949a7197a292f5376e3109162cc639390 Mon Sep 17 00:00:00 2001 From: oy Date: Wed, 17 Nov 2010 12:43:24 +0100 Subject: improved loading progression in the server browser --- src/engine/client/srvbrowse.cpp | 4 ++++ src/engine/client/srvbrowse.h | 1 + src/engine/serverbrowser.h | 1 + src/game/client/components/menus_browser.cpp | 5 ++++- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/engine/client/srvbrowse.cpp b/src/engine/client/srvbrowse.cpp index 5835bb3b..cb91477d 100644 --- a/src/engine/client/srvbrowse.cpp +++ b/src/engine/client/srvbrowse.cpp @@ -707,6 +707,10 @@ void CServerBrowser::RemoveFavorite(const NETADDR &Addr) } } +bool CServerBrowser::IsRefreshing() const +{ + return m_pFirstReqServer != 0; +} bool CServerBrowser::IsRefreshingMasters() const { diff --git a/src/engine/client/srvbrowse.h b/src/engine/client/srvbrowse.h index ebcdbb30..20e8bd46 100644 --- a/src/engine/client/srvbrowse.h +++ b/src/engine/client/srvbrowse.h @@ -29,6 +29,7 @@ public: // interface functions void Refresh(int Type); + bool IsRefreshing() const; bool IsRefreshingMasters() const; int LoadingProgression() const; diff --git a/src/engine/serverbrowser.h b/src/engine/serverbrowser.h index 4409e9bc..d140df25 100644 --- a/src/engine/serverbrowser.h +++ b/src/engine/serverbrowser.h @@ -78,6 +78,7 @@ public: }; virtual void Refresh(int Type) = 0; + virtual bool IsRefreshing() const = 0; virtual bool IsRefreshingMasters() const = 0; virtual int LoadingProgression() const = 0; diff --git a/src/game/client/components/menus_browser.cpp b/src/game/client/components/menus_browser.cpp index ff3d7b3a..507e99d6 100644 --- a/src/game/client/components/menus_browser.cpp +++ b/src/game/client/components/menus_browser.cpp @@ -395,7 +395,10 @@ void CMenus::RenderServerbrowserServerList(CUIRect View) // render status char aBuf[128]; - str_format(aBuf, sizeof(aBuf), Localize("%d of %d servers, %d players (%d%% loaded)"), ServerBrowser()->NumSortedServers(), ServerBrowser()->NumServers(), NumPlayers, ServerBrowser()->LoadingProgression()); + if(ServerBrowser()->IsRefreshing()) + str_format(aBuf, sizeof(aBuf), Localize("%d%% loaded"), ServerBrowser()->LoadingProgression()); + else + str_format(aBuf, sizeof(aBuf), Localize("%d of %d servers, %d players"), ServerBrowser()->NumSortedServers(), ServerBrowser()->NumServers(), NumPlayers); Status.VSplitRight(TextRender()->TextWidth(0, 14.0f, aBuf, -1), 0, &Status); UI()->DoLabel(&Status, aBuf, 14.0f, -1); } -- cgit 1.4.1