mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-20 09:34:19 +00:00
fixed that player options just show players as friends not clans
This commit is contained in:
parent
401543c7a9
commit
ab810cab25
|
@ -44,11 +44,12 @@ const CFriendInfo *CFriends::GetFriend(int Index) const
|
|||
return &m_aFriends[max(0, Index%m_NumFriends)];
|
||||
}
|
||||
|
||||
bool CFriends::IsFriend(const char *pName, const char *pClan) const
|
||||
bool CFriends::IsFriend(const char *pName, const char *pClan, bool PlayersOnly) const
|
||||
{
|
||||
for(int i = 0; i < m_NumFriends; ++i)
|
||||
{
|
||||
if((m_aFriends[i].m_aName[0] == 0 || !str_comp(m_aFriends[i].m_aName, pName)) && !str_comp(m_aFriends[i].m_aClan, pClan))
|
||||
if(!str_comp(m_aFriends[i].m_aClan, pClan) &&
|
||||
((!PlayersOnly && m_aFriends[i].m_aName[0] == 0) || !str_comp(m_aFriends[i].m_aName, pName)))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -22,7 +22,7 @@ public:
|
|||
|
||||
int NumFriends() const { return m_NumFriends; }
|
||||
const CFriendInfo *GetFriend(int Index) const;
|
||||
bool IsFriend(const char *pName, const char *pClan) const;
|
||||
bool IsFriend(const char *pName, const char *pClan, bool PlayersOnly) const;
|
||||
|
||||
void AddFriend(const char *pName, const char *pClan);
|
||||
void RemoveFriend(const char *pName, const char *pClan);
|
||||
|
|
|
@ -149,7 +149,7 @@ void CServerBrowser::Filter()
|
|||
Filtered = 1;
|
||||
for(p = 0; p < m_ppServerlist[i]->m_Info.m_NumClients; p++)
|
||||
{
|
||||
if(m_pFriends->IsFriend(m_ppServerlist[i]->m_Info.m_aClients[p].m_aName, m_ppServerlist[i]->m_Info.m_aClients[p].m_aClan))
|
||||
if(m_pFriends->IsFriend(m_ppServerlist[i]->m_Info.m_aClients[p].m_aName, m_ppServerlist[i]->m_Info.m_aClients[p].m_aClan, false))
|
||||
{
|
||||
Filtered = 0;
|
||||
break;
|
||||
|
|
|
@ -26,7 +26,7 @@ public:
|
|||
|
||||
virtual int NumFriends() const = 0;
|
||||
virtual const CFriendInfo *GetFriend(int Index) const = 0;
|
||||
virtual bool IsFriend(const char *pName, const char *pClan) const = 0;
|
||||
virtual bool IsFriend(const char *pName, const char *pClan, bool PlayersOnly) const = 0;
|
||||
|
||||
virtual void AddFriend(const char *pName, const char *pClan) = 0;
|
||||
virtual void RemoveFriend(const char *pName, const char *pClan) = 0;
|
||||
|
|
|
@ -841,7 +841,7 @@ void CGameClient::OnNewSnapshot()
|
|||
// update friend state
|
||||
for(int i = 0; i < MAX_CLIENTS; ++i)
|
||||
{
|
||||
if(i == m_Snap.m_LocalClientID || !m_Snap.m_paPlayerInfos[i] || !Friends()->IsFriend(m_aClients[i].m_aName, m_aClients[i].m_aClan))
|
||||
if(i == m_Snap.m_LocalClientID || !m_Snap.m_paPlayerInfos[i] || !Friends()->IsFriend(m_aClients[i].m_aName, m_aClients[i].m_aClan, true))
|
||||
m_aClients[i].m_Friend = false;
|
||||
else
|
||||
m_aClients[i].m_Friend = true;
|
||||
|
|
Loading…
Reference in a new issue