From 12bf548533867a2eb3a1c354b778ef7f9157322a Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 26 Aug 2011 16:57:05 +0300 Subject: Basic support for guild bot integration. Not working context menu actions, chat commands, auto complete. --- src/guild.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/guild.cpp') diff --git a/src/guild.cpp b/src/guild.cpp index b84602858..e36b68863 100644 --- a/src/guild.cpp +++ b/src/guild.cpp @@ -36,6 +36,9 @@ class SortGuildFunctor if (m1->getPos() != m2->getPos()) return m1->getPos() < m2->getPos(); +// if (m1->getOnline() != m2->getOnline()) +// return m1->getOnline() > m2->getOnline(); + return m1->getName() < m2->getName(); } } guildSorter; @@ -66,7 +69,8 @@ Guild::GuildMap Guild::guilds; Guild::Guild(short id): mId(id), mCanInviteUsers(false), - mEmblemId(0) + mEmblemId(0), + mServerGuild(true) { guilds[id] = this; } -- cgit v1.2.3-70-g09d2 From 58ce176510f85a07523690d9cd67df850a8b1f58 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 27 Aug 2011 06:03:15 +0300 Subject: Put online player at top in guild list. --- src/guild.cpp | 4 ++-- src/guildmanager.cpp | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'src/guild.cpp') diff --git a/src/guild.cpp b/src/guild.cpp index e36b68863..57b3d52e1 100644 --- a/src/guild.cpp +++ b/src/guild.cpp @@ -36,8 +36,8 @@ class SortGuildFunctor if (m1->getPos() != m2->getPos()) return m1->getPos() < m2->getPos(); -// if (m1->getOnline() != m2->getOnline()) -// return m1->getOnline() > m2->getOnline(); + if (m1->getOnline() != m2->getOnline()) + return m1->getOnline() > m2->getOnline(); return m1->getName() < m2->getName(); } diff --git a/src/guildmanager.cpp b/src/guildmanager.cpp index ec9de2506..8f480803a 100644 --- a/src/guildmanager.cpp +++ b/src/guildmanager.cpp @@ -107,7 +107,6 @@ void GuildManager::updateList() Guild *guild = Guild::getGuild(1); if (guild) { - logger->log("filling player"); guild->setServerGuild(false); std::vector::iterator it = mTempList.begin(); std::vector::iterator it_end = mTempList.end(); @@ -172,9 +171,10 @@ bool GuildManager::process(std::string msg) if (msg[0] == '#' && msg[1] == '#') msg = msg.substr(3); - GuildMember *m = guild->getMember(msg); + GuildMember *m = guild->addMember(msg); if (m) m->setOnline(false); + guild->sort(); mRequest = false; return true; } @@ -184,9 +184,10 @@ bool GuildManager::process(std::string msg) return false; if (msg[0] == '#' && msg[1] == '#') msg = msg.substr(3); - GuildMember *m = guild->getMember(msg); + GuildMember *m = guild->addMember(msg); if (m) m->setOnline(true); + guild->sort(); mRequest = false; return true; } -- cgit v1.2.3-70-g09d2 From 4f0c828135c37a176d97927e7e51b14dc84a719c Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 27 Aug 2011 20:52:34 +0300 Subject: Change guild sorting order. --- src/guild.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/guild.cpp') diff --git a/src/guild.cpp b/src/guild.cpp index 57b3d52e1..acf35bac9 100644 --- a/src/guild.cpp +++ b/src/guild.cpp @@ -33,12 +33,13 @@ class SortGuildFunctor { if (!m1 || !m2) return false; - if (m1->getPos() != m2->getPos()) - return m1->getPos() < m2->getPos(); if (m1->getOnline() != m2->getOnline()) return m1->getOnline() > m2->getOnline(); + if (m1->getPos() != m2->getPos()) + return m1->getPos() < m2->getPos(); + return m1->getName() < m2->getName(); } } guildSorter; -- cgit v1.2.3-70-g09d2 From 69f9daf9fe44bb43bd9112be428438512deca14b Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 28 Aug 2011 15:40:19 +0300 Subject: Sort guild list members case-insensitive. --- src/guild.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/guild.cpp') diff --git a/src/guild.cpp b/src/guild.cpp index acf35bac9..d79e6fd17 100644 --- a/src/guild.cpp +++ b/src/guild.cpp @@ -24,6 +24,8 @@ #include "actorspritemanager.h" +#include "utils/stringutils.h" + #include "debug.h" class SortGuildFunctor @@ -40,7 +42,16 @@ class SortGuildFunctor if (m1->getPos() != m2->getPos()) return m1->getPos() < m2->getPos(); - return m1->getName() < m2->getName(); + if (m1->getName() != m2->getName()) + { + std::string s1 = m1->getName(); + std::string s2 = m2->getName(); + toLower(s1); + toLower(s2); + return s1 < s2; + } + return false; +// return m1->getName() < m2->getName(); } } guildSorter; -- cgit v1.2.3-70-g09d2 From bbd0811ae3b62dc96796d8d6829bae0fe38c473b Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 28 Aug 2011 16:49:51 +0300 Subject: Fix guild members sorting by positions. --- src/guild.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/guild.cpp') diff --git a/src/guild.cpp b/src/guild.cpp index d79e6fd17..98e5bb519 100644 --- a/src/guild.cpp +++ b/src/guild.cpp @@ -40,7 +40,7 @@ class SortGuildFunctor return m1->getOnline() > m2->getOnline(); if (m1->getPos() != m2->getPos()) - return m1->getPos() < m2->getPos(); + return m1->getPos() > m2->getPos(); if (m1->getName() != m2->getName()) { @@ -51,7 +51,6 @@ class SortGuildFunctor return s1 < s2; } return false; -// return m1->getName() < m2->getName(); } } guildSorter; -- cgit v1.2.3-70-g09d2