From ae325c873f64603f3957b3ded623a67088752ba8 Mon Sep 17 00:00:00 2001 From: oy Date: Wed, 23 Mar 2011 13:06:35 +0100 Subject: added friends feature. Closes #24 --- src/game/client/components/menus_ingame.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/game/client/components/menus_ingame.cpp') diff --git a/src/game/client/components/menus_ingame.cpp b/src/game/client/components/menus_ingame.cpp index 2e7c33e8..184a9768 100644 --- a/src/game/client/components/menus_ingame.cpp +++ b/src/game/client/components/menus_ingame.cpp @@ -2,7 +2,9 @@ /* If you are missing that file, acquire a complete release at teeworlds.com. */ #include +#include #include +#include #include #include #include @@ -113,7 +115,7 @@ void CMenus::RenderGame(CUIRect MainView) UI()->DoLabelScaled(&Button, Localize("Player options"), 34.0f, -1); CUIRect Player; - static int s_aPlayerIDs[MAX_CLIENTS] = {0}; + static int s_aPlayerIDs[MAX_CLIENTS][2] = {0}; for(int i = 0; i < MAX_CLIENTS; ++i) { if(!m_pClient->m_Snap.m_paPlayerInfos[i] || i == m_pClient->m_Snap.m_LocalClientID) @@ -142,8 +144,19 @@ void CMenus::RenderGame(CUIRect MainView) // ignore button ButtonBar.VSplitMid(&Button, &ButtonBar); Button.VSplitRight(10.0f, &Button, 0); - if(DoButton_CheckBox(&s_aPlayerIDs[i], Localize("Ignore"), m_pClient->m_aClients[i].m_ChatIgnore, &Button)) + if(DoButton_CheckBox(&s_aPlayerIDs[i][0], Localize("Ignore"), m_pClient->m_aClients[i].m_ChatIgnore, &Button)) m_pClient->m_aClients[i].m_ChatIgnore ^= 1; + + // friend button + ButtonBar.VSplitMid(&Button, &ButtonBar); + Button.VSplitLeft(10.0f, 0, &Button); + if(DoButton_CheckBox(&s_aPlayerIDs[i][1], Localize("Friend"), m_pClient->m_aClients[i].m_Friend, &Button)) + { + if(m_pClient->m_aClients[i].m_Friend) + m_pClient->Friends()->RemoveFriend(m_pClient->m_aClients[i].m_aName, m_pClient->m_aClients[i].m_aClan); + else + m_pClient->Friends()->AddFriend(m_pClient->m_aClients[i].m_aName, m_pClient->m_aClients[i].m_aClan); + } } /* -- cgit 1.4.1