Address Issue 1290: Bumps recorded in chat window

Adds debug setting AnnounceBumps and a toggle in Preferences->System->Security
This commit is contained in:
Inusaito Sayori
2014-04-24 21:46:57 -04:00
parent 8d1cd7008f
commit ffa5e6099d
6 changed files with 52 additions and 0 deletions

View File

@@ -6915,6 +6915,32 @@ void mean_name_callback(const LLUUID &id, const std::string& full_name, bool is_
}
}
void chat_mean_collision(const LLUUID& id, const LLAvatarName& avname, const EMeanCollisionType& type, const F32& mag)
{
LLStringUtil::format_map_t args;
if (type == MEAN_BUMP)
args["ACT"] = LLTrans::getString("bump");
else if (type == MEAN_LLPUSHOBJECT)
args["ACT"] = LLTrans::getString("llpushobject");
else if (type == MEAN_SELECTED_OBJECT_COLLIDE)
args["ACT"] = LLTrans::getString("selected_object_collide");
else if (type == MEAN_SCRIPTED_OBJECT_COLLIDE)
args["ACT"] = LLTrans::getString("scripted_object_collide");
else if (type == MEAN_PHYSICAL_OBJECT_COLLIDE)
args["ACT"] = LLTrans::getString("physical_object_collide");
else
return; // How did we get here? I used to know you so well.
std::string name;
LLAvatarNameCache::getPNSName(avname, name);
args["NAME"] = name;
args["MAG"] = llformat("%f", mag);
LLChat chat(LLTrans::getString("BumpedYou", args));
chat.mFromName = name;
chat.mURL = llformat("secondlife:///app/agent/%s/about", id.asString().c_str());
chat.mSourceType = CHAT_SOURCE_SYSTEM;
LLFloaterChat::addChat(chat);
}
void process_mean_collision_alert_message(LLMessageSystem *msgsystem, void **user_data)
{
if (gAgent.inPrelude())
@@ -6944,6 +6970,8 @@ void process_mean_collision_alert_message(LLMessageSystem *msgsystem, void **use
msgsystem->getU8Fast(_PREHASH_MeanCollision, _PREHASH_Type, u8type);
type = (EMeanCollisionType)u8type;
static const LLCachedControl<bool> chat_collision("AnnounceBumps");
if (chat_collision) LLAvatarNameCache::get(perp, boost::bind(chat_mean_collision, _1, _2, type, mag));
BOOL b_found = FALSE;