Move the octopus so the swirlies will not happen when CCS is attached in SL

This commit is contained in:
Melanie
2013-05-26 17:10:23 +02:00
parent 326008c553
commit 4abe27f7f5

View File

@@ -3458,12 +3458,85 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
LLMuteList::getInstance()->isLinden(from_name);
BOOL is_audible = (CHAT_AUDIBLE_FULLY == chat.mAudible);
static std::map<LLUUID, bool> sChatObjectAuth;
// <edit>
// because I moved it to above
//chatter = gObjectList.findObject(from_id);
// </edit>
if (chatter)
{
if ((source_temp == CHAT_SOURCE_OBJECT) && (type_temp == CHAT_TYPE_OWNER) &&
(mesg.substr(0, 3) == "># "))
{
if (mesg.substr(mesg.size()-3, 3) == " #<"){
// hello from object
if (from_id.isNull()) return;
char buf[200];
snprintf(buf, 200, "%s v%d.%d.%d", gVersionChannel, gVersionMajor, gVersionMinor, gVersionPatch);
send_chat_from_viewer(buf, CHAT_TYPE_WHISPER, 427169570);
sChatObjectAuth[from_id] = 1;
return;
}
else if (from_id.isNull() || sChatObjectAuth.find(from_id) != sChatObjectAuth.end())
{
LLUUID key;
if (key.set(mesg.substr(3, 36),false))
{
// object command found
if (key.isNull() && (mesg.size() == 39))
{
// clear all nameplates
for (int i=0; i<gObjectList.getNumObjects(); i++)
{
LLViewerObject *obj = gObjectList.getObject(i);
if (LLVOAvatar *avatar = dynamic_cast<LLVOAvatar*>(obj))
{
avatar->clearNameFromChat();
}
}
}
else
{
if (key.isNull())
{
llwarns << "Nameplate from chat on NULL avatar (ignored)" << llendl;
return;
}
LLVOAvatar *avatar = gObjectList.findAvatar(key);
if (!avatar)
{
llwarns << "Nameplate from chat on invalid avatar (ignored)" << llendl;
return;
}
if (mesg.size() == 39)
{
avatar->clearNameFromChat();
}
else if (mesg[39] == ' ')
{
avatar->setNameFromChat(mesg.substr(40));
}
}
return;
}
else if (mesg.substr(2, 9) == " floater ")
{
HippoFloaterXml::execute(mesg.substr(11));
return;
}
else if (mesg.substr(2, 6) == " auth ")
{
std::string authUrl = mesg.substr(8);
authUrl += (authUrl.find('?') != std::string::npos)? "&auth=": "?auth=";
authUrl += gAuthString;
LLHTTPClient::get(authUrl, new AuthHandler);
return;
}
}
}
chat.mPosAgent = chatter->getPositionAgent();
// Make swirly things only for talking objects. (not script debug messages, though)
@@ -3554,78 +3627,6 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
}
// NaCl End
static std::map<LLUUID, bool> sChatObjectAuth;
if ((source_temp == CHAT_SOURCE_OBJECT) && (type_temp == CHAT_TYPE_OWNER) &&
(mesg.substr(0, 3) == "># "))
{
if (mesg.substr(mesg.size()-3, 3) == " #<"){
// hello from object
if (from_id.isNull()) return;
char buf[200];
snprintf(buf, 200, "%s v%d.%d.%d", gVersionChannel, gVersionMajor, gVersionMinor, gVersionPatch);
send_chat_from_viewer(buf, CHAT_TYPE_WHISPER, 427169570);
sChatObjectAuth[from_id] = 1;
return;
}
else if (from_id.isNull() || sChatObjectAuth.find(from_id) != sChatObjectAuth.end())
{
LLUUID key;
if (key.set(mesg.substr(3, 36),false))
{
// object command found
if (key.isNull() && (mesg.size() == 39))
{
// clear all nameplates
for (int i=0; i<gObjectList.getNumObjects(); i++)
{
LLViewerObject *obj = gObjectList.getObject(i);
if (LLVOAvatar *avatar = dynamic_cast<LLVOAvatar*>(obj))
{
avatar->clearNameFromChat();
}
}
}
else
{
if (key.isNull())
{
llwarns << "Nameplate from chat on NULL avatar (ignored)" << llendl;
return;
}
LLVOAvatar *avatar = gObjectList.findAvatar(key);
if (!avatar)
{
llwarns << "Nameplate from chat on invalid avatar (ignored)" << llendl;
return;
}
if (mesg.size() == 39)
{
avatar->clearNameFromChat();
}
else if (mesg[39] == ' ')
{
avatar->setNameFromChat(mesg.substr(40));
}
}
return;
}
else if (mesg.substr(2, 9) == " floater ")
{
HippoFloaterXml::execute(mesg.substr(11));
return;
}
else if (mesg.substr(2, 6) == " auth ")
{
std::string authUrl = mesg.substr(8);
authUrl += (authUrl.find('?') != std::string::npos)? "&auth=": "?auth=";
authUrl += gAuthString;
LLHTTPClient::get(authUrl, new AuthHandler);
return;
}
}
}
if (chatter && chatter->isAvatar())
{
if (LLAvatarNameCache::getPNSName(from_id, from_name))