summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorMnikolenko Productengine <mnikolenko@productengine.com>2024-08-22 23:29:28 +0300
committerMnikolenko Productengine <mnikolenko@productengine.com>2024-08-22 23:29:28 +0300
commit073d3d0e04a2ebe35a201eae9c6dad4b7ae5dc88 (patch)
tree52962863bb336c9096db13d152be8b9ab46aeb3e /indra
parent7ee93ea34dfc41640f852279888bbee0cafcecbe (diff)
Fix for #2385: say, shout and whisper messages from the script should be displayed consistently
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llviewermessage.cpp12
1 files changed, 7 insertions, 5 deletions
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.