From d35d90b66e51679c6aabab6ef69217456d9c4f8b Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 6 Oct 2014 20:15:51 +0300 Subject: Move processGuildPositionInfo from ea namespace into eathena and tmwa. --- src/net/eathena/guildhandler.cpp | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'src/net/eathena/guildhandler.cpp') diff --git a/src/net/eathena/guildhandler.cpp b/src/net/eathena/guildhandler.cpp index 27d848e74..03c5a34ef 100644 --- a/src/net/eathena/guildhandler.cpp +++ b/src/net/eathena/guildhandler.cpp @@ -22,10 +22,15 @@ #include "net/eathena/guildhandler.h" #include "actormanager.h" +#include "configuration.h" #include "being/localplayer.h" #include "being/playerinfo.h" +#include "gui/windows/chatwindow.h" + +#include "net/ea/gui/guildtab.h" + #include "net/eathena/messageout.h" #include "net/eathena/protocol.h" @@ -348,4 +353,41 @@ void GuildHandler::checkMaster() const MessageOut msg(CMSG_GUILD_CHECK_MASTER); } +void GuildHandler::processGuildPositionInfo(Net::MessageIn &msg) const +{ + const int guildId = msg.readInt32(); + const int emblem = msg.readInt32(); + const int posMode = msg.readInt32(); + msg.readInt32(); // Unused + msg.readUInt8(); // Unused + std::string guildName = msg.readString(24); + + Guild *const g = Guild::getGuild(static_cast(guildId)); + if (!g) + return; + + g->setName(guildName); + g->setEmblemId(emblem); + if (!Ea::taGuild) + Ea::taGuild = g; + if (!Ea::guildTab && chatWindow) + { + Ea::guildTab = new Ea::GuildTab(chatWindow); + if (config.getBoolValue("showChatHistory")) + Ea::guildTab->loadFromLogFile("#Guild"); + if (localPlayer) + localPlayer->addGuild(Ea::taGuild); + memberList(guildId); + } + + if (localPlayer) + { + localPlayer->setGuild(g); + localPlayer->setGuildName(g->getName()); + } + + logger->log("Guild position info: %d %d %d %s\n", guildId, + emblem, posMode, guildName.c_str()); +} + } // namespace EAthena -- cgit v1.2.3-60-g2f50