From db1f111054778a084f16aa723dd748a7f7816e0b Mon Sep 17 00:00:00 2001 From: Kelsi Date: Thu, 12 Mar 2026 11:21:12 -0700 Subject: [PATCH] feat: add Guild chat tab and fix Trade/LFG tab index after insertion Inserts a dedicated "Guild" tab between Whispers and Trade/LFG that shows guild, officer, and guild achievement messages. Updates the Trade/LFG channel-name filter from hardcoded index 3 to 4 to match the new tab order. --- src/ui/game_screen.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ui/game_screen.cpp b/src/ui/game_screen.cpp index 1cdb4084..7a3bba73 100644 --- a/src/ui/game_screen.cpp +++ b/src/ui/game_screen.cpp @@ -222,6 +222,10 @@ void GameScreen::initChatTabs() { // Whispers tab chatTabs_.push_back({"Whispers", (1ULL << static_cast(game::ChatType::WHISPER)) | (1ULL << static_cast(game::ChatType::WHISPER_INFORM))}); + // Guild tab: guild and officer chat + chatTabs_.push_back({"Guild", (1ULL << static_cast(game::ChatType::GUILD)) | + (1ULL << static_cast(game::ChatType::OFFICER)) | + (1ULL << static_cast(game::ChatType::GUILD_ACHIEVEMENT))}); // Trade/LFG tab: channel messages chatTabs_.push_back({"Trade/LFG", (1ULL << static_cast(game::ChatType::CHANNEL))}); } @@ -233,8 +237,8 @@ bool GameScreen::shouldShowMessage(const game::MessageChatData& msg, int tabInde uint64_t typeBit = 1ULL << static_cast(msg.type); - // For Trade/LFG tab, also filter by channel name - if (tabIndex == 3 && msg.type == game::ChatType::CHANNEL) { + // For Trade/LFG tab (now index 4), also filter by channel name + if (tabIndex == 4 && msg.type == game::ChatType::CHANNEL) { const std::string& ch = msg.channelName; if (ch.find("Trade") == std::string::npos && ch.find("General") == std::string::npos &&