diff options
Diffstat (limited to 'src/game/client/components')
| -rw-r--r-- | src/game/client/components/menus.cpp | 2 | ||||
| -rw-r--r-- | src/game/client/components/menus.h | 1 | ||||
| -rw-r--r-- | src/game/client/components/menus_browser.cpp | 10 | ||||
| -rw-r--r-- | src/game/client/components/scoreboard.cpp | 5 |
4 files changed, 16 insertions, 2 deletions
diff --git a/src/game/client/components/menus.cpp b/src/game/client/components/menus.cpp index f3dddac7..42f68978 100644 --- a/src/game/client/components/menus.cpp +++ b/src/game/client/components/menus.cpp @@ -712,6 +712,8 @@ void CMenus::OnInit() if(g_Config.m_ClShowWelcome) m_Popup = POPUP_FIRST_LAUNCH; g_Config.m_ClShowWelcome = 0; + + Console()->Chain("add_favorite", ConchainServerbrowserUpdate, this); } void CMenus::PopupMessage(const char *pTopic, const char *pBody, const char *pButton) diff --git a/src/game/client/components/menus.h b/src/game/client/components/menus.h index 9ea9c6ef..3ad737e5 100644 --- a/src/game/client/components/menus.h +++ b/src/game/client/components/menus.h @@ -191,6 +191,7 @@ class CMenus : public CComponent void RenderServerbrowserServerDetail(CUIRect View); void RenderServerbrowserFilters(CUIRect View); void RenderServerbrowser(CUIRect MainView); + static void ConchainServerbrowserUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData); // found in menus_settings.cpp void RenderSettingsGeneral(CUIRect MainView); diff --git a/src/game/client/components/menus_browser.cpp b/src/game/client/components/menus_browser.cpp index 32243a2a..7d9c9d7e 100644 --- a/src/game/client/components/menus_browser.cpp +++ b/src/game/client/components/menus_browser.cpp @@ -566,7 +566,8 @@ void CMenus::RenderServerbrowserServerDetail(CUIRect View) Row.VSplitLeft(25.0f, 0x0, &Row); CTextCursor Cursor; - TextRender()->SetCursor(&Cursor, Row.x, Row.y, 12.0f, TEXTFLAG_RENDER); + TextRender()->SetCursor(&Cursor, Row.x, Row.y, FontSize, TEXTFLAG_RENDER|TEXTFLAG_STOP_AT_END); + Cursor.m_LineWidth = Row.w; const char *pName = pSelectedServer->m_aPlayers[i].m_aName; if(g_Config.m_BrFilterString[0]) @@ -709,3 +710,10 @@ void CMenus::RenderServerbrowser(CUIRect MainView) UI()->DoLabel(&Button, Localize("Host address"), 14.0f, -1); } } + +void CMenus::ConchainServerbrowserUpdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData) +{ + pfnCallback(pResult, pCallbackUserData); + if(pResult->NumArguments() && g_Config.m_UiPage == PAGE_FAVORITES && ((CMenus *)pUserData)->Client()->State() == IClient::STATE_OFFLINE) + ((CMenus *)pUserData)->ServerBrowser()->Refresh(IServerBrowser::TYPE_FAVORITES); +} diff --git a/src/game/client/components/scoreboard.cpp b/src/game/client/components/scoreboard.cpp index 80330e9c..9558c840 100644 --- a/src/game/client/components/scoreboard.cpp +++ b/src/game/client/components/scoreboard.cpp @@ -226,7 +226,10 @@ void CScoreboard::RenderScoreboard(float x, float y, float w, int Team, const ch str_format(aBuf, sizeof(aBuf), "%4d", pInfo->m_Score); TextRender()->Text(0, x+60-TextRender()->TextWidth(0, FontSize,aBuf,-1), y, FontSize, aBuf, -1); - TextRender()->Text(0, x+128, y, FontSize, m_pClient->m_aClients[pInfo->m_ClientId].m_aName, -1); + float FontSizeName = FontSize; + while(TextRender()->TextWidth(0, FontSizeName, m_pClient->m_aClients[pInfo->m_ClientId].m_aName, -1) > w-200) + --FontSizeName; + TextRender()->Text(0, x+128, y+(FontSize-FontSizeName)/2, FontSizeName, m_pClient->m_aClients[pInfo->m_ClientId].m_aName, -1); str_format(aBuf, sizeof(aBuf), "%4d", pInfo->m_Latency); float tw = TextRender()->TextWidth(0, FontSize, aBuf, -1); |