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)];
|
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)
|
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 true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -22,7 +22,7 @@ public:
|
||||||
|
|
||||||
int NumFriends() const { return m_NumFriends; }
|
int NumFriends() const { return m_NumFriends; }
|
||||||
const CFriendInfo *GetFriend(int Index) const;
|
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 AddFriend(const char *pName, const char *pClan);
|
||||||
void RemoveFriend(const char *pName, const char *pClan);
|
void RemoveFriend(const char *pName, const char *pClan);
|
||||||
|
|
|
@ -149,7 +149,7 @@ void CServerBrowser::Filter()
|
||||||
Filtered = 1;
|
Filtered = 1;
|
||||||
for(p = 0; p < m_ppServerlist[i]->m_Info.m_NumClients; p++)
|
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;
|
Filtered = 0;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -26,7 +26,7 @@ public:
|
||||||
|
|
||||||
virtual int NumFriends() const = 0;
|
virtual int NumFriends() const = 0;
|
||||||
virtual const CFriendInfo *GetFriend(int Index) 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 AddFriend(const char *pName, const char *pClan) = 0;
|
||||||
virtual void RemoveFriend(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
|
// update friend state
|
||||||
for(int i = 0; i < MAX_CLIENTS; ++i)
|
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;
|
m_aClients[i].m_Friend = false;
|
||||||
else
|
else
|
||||||
m_aClients[i].m_Friend = true;
|
m_aClients[i].m_Friend = true;
|
||||||
|
|
Loading…
Reference in a new issue