From 073d3d0e04a2ebe35a201eae9c6dad4b7ae5dc88 Mon Sep 17 00:00:00 2001
From: Mnikolenko Productengine <mnikolenko@productengine.com>
Date: Thu, 22 Aug 2024 23:29:28 +0300
Subject: Fix for #2385: say, shout and whisper messages from the script should
 be displayed consistently

---
 indra/newview/llviewermessage.cpp | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

(limited to 'indra')

diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 26b088e390..4922e3c9f9 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -2646,19 +2646,21 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
         else
         {
             chat.mText = "";
+            std::string chat_text(mesg);
+            auto [msg_without_prefix, is_lua] = LLStringUtil::withoutPrefix(mesg, LUA_PREFIX);
             switch(chat.mChatType)
             {
             case CHAT_TYPE_WHISPER:
-                chat.mText = LLTrans::getString("whisper") + " ";
+            case CHAT_TYPE_SHOUT:
+                chat_text = LLTrans::getString(chat.mChatType == CHAT_TYPE_WHISPER ? "whisper" : "shout") + " " + msg_without_prefix;
+                if(is_lua)
+                    chat_text = LUA_PREFIX + chat_text;
                 break;
             case CHAT_TYPE_DEBUG_MSG:
             case CHAT_TYPE_OWNER:
             case CHAT_TYPE_NORMAL:
             case CHAT_TYPE_DIRECT:
                 break;
-            case CHAT_TYPE_SHOUT:
-                chat.mText = LLTrans::getString("shout") + " ";
-                break;
             case CHAT_TYPE_START:
             case CHAT_TYPE_STOP:
                 LL_WARNS("Messaging") << "Got chat type start/stop in main chat processing." << LL_ENDL;
@@ -2668,7 +2670,7 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
                 break;
             }
 
-            chat.mText += mesg;
+            chat.mText += chat_text;
         }
 
         // We have a real utterance now, so can stop showing "..." and proceed.
-- 
cgit v1.2.3