about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/client/components/menus_ingame.cpp46
1 files changed, 23 insertions, 23 deletions
diff --git a/src/game/client/components/menus_ingame.cpp b/src/game/client/components/menus_ingame.cpp
index 7d1f2513..3a2876a3 100644
--- a/src/game/client/components/menus_ingame.cpp
+++ b/src/game/client/components/menus_ingame.cpp
@@ -293,38 +293,38 @@ void CMenus::RenderServerControlServer(CUIRect MainView)
 
 void CMenus::RenderServerControlKick(CUIRect MainView)
 {
-	// draw header
-	CUIRect Header, Footer;
-	MainView.HSplitTop(20, &Header, &MainView);
-	RenderTools()->DrawUIRect(&Header, vec4(1,1,1,0.25f), CUI::CORNER_T, 5.0f); 
-	UI()->DoLabel(&Header, Localize("Players"), 18.0f, 0);
-
-	// draw footers	
-	MainView.HSplitBottom(20, &MainView, &Footer);
-	RenderTools()->DrawUIRect(&Footer, vec4(1,1,1,0.25f), CUI::CORNER_B, 5.0f); 
-	Footer.VSplitLeft(10.0f, 0, &Footer);
+	int NumOptions = 0;
+	for(int i = 0; i < MAX_CLIENTS; i++)
+	{
+		if(!m_pClient->m_Snap.m_paPlayerInfos[i])
+			continue;
+		NumOptions++;
+	}
 
-	// players
-	RenderTools()->DrawUIRect(&MainView, vec4(0,0,0,0.15f), 0, 0);
+	static int s_VoteList = 0;
+	static float s_ScrollValue = 0;
 	CUIRect List = MainView;
+	UiDoListboxStart(&s_VoteList, &List, 24.0f, Localize("Players"), "", NumOptions, 1, m_CallvoteSelectedPlayer, s_ScrollValue);
+	
 	for(int i = 0; i < MAX_CLIENTS; i++)
 	{
 		if(!m_pClient->m_Snap.m_paPlayerInfos[i])
 			continue;
 
-		CUIRect Button;
-		List.HSplitTop(ms_ButtonHeight, &Button, &List);
+		CListboxItem Item = UiDoListboxNextItem((char *)&m_pClient->m_Snap+i);
 		
-		if(DoButton_ListRow((char *)&m_pClient->m_Snap+i, "", m_CallvoteSelectedPlayer == i, &Button))
-			m_CallvoteSelectedPlayer = i;
-
-		CTeeRenderInfo Info = m_pClient->m_aClients[i].m_RenderInfo;
-		Info.m_Size = Button.h;
-		RenderTools()->RenderTee(CAnimState::GetIdle(), &Info, EMOTE_NORMAL, vec2(1,0), vec2(Button.x+Button.h/2, Button.y+Button.h/2));
-
-		Button.x += Button.h;
-		UI()->DoLabel(&Button, m_pClient->m_aClients[i].m_aName, 18.0f, -1);
+		if(Item.m_Visible)
+		{
+			CTeeRenderInfo Info = m_pClient->m_aClients[i].m_RenderInfo;
+			Info.m_Size = Item.m_Rect.h;
+			Item.m_Rect.HSplitTop(5.0f, 0, &Item.m_Rect); // some margin from the top
+			RenderTools()->RenderTee(CAnimState::GetIdle(), &Info, EMOTE_NORMAL, vec2(1,0), vec2(Item.m_Rect.x+Item.m_Rect.h/2, Item.m_Rect.y+Item.m_Rect.h/2));
+			Item.m_Rect.x +=Info.m_Size;
+			UI()->DoLabel(&Item.m_Rect, m_pClient->m_aClients[i].m_aName, 16.0f, -1);
+		}
 	}
+	
+	m_CallvoteSelectedPlayer = UiDoListboxEnd(&s_ScrollValue, 0);
 }
 
 void CMenus::RenderServerControl(CUIRect MainView)