Feature Request: When someone is marked on the minimap have that color persist on the radar and their tags

Jus' look at dat color~
This commit is contained in:
Inusaito Sayori
2014-04-23 02:50:51 -04:00
parent 6526c28e47
commit 3db489f4df
3 changed files with 14 additions and 6 deletions

View File

@@ -646,6 +646,8 @@ void LLFloaterAvatarList::updateAvatarSorting()
}
}
bool mm_getMarkerColor(const LLUUID&, LLColor4&);
/**
* Redraws the avatar list
* Only does anything if the avatar list is visible.
@@ -738,7 +740,8 @@ void LLFloaterAvatarList::refreshAvatarList()
LLColor4 color = sDefaultListText;
//Lindens are always more Linden than your friend, make that take precedence
if (LLMuteList::getInstance()->isLinden(av_id))
if (mm_getMarkerColor(av_id, color)) {}
else if (LLMuteList::getInstance()->isLinden(av_id))
{
static const LLCachedControl<LLColor4> ascent_linden_color("AscentLindenColor", LLColor4(0.f,0.f,1.f,1.f));
color = ascent_linden_color;

View File

@@ -215,6 +215,13 @@ std::size_t hash_value(const LLUUID& uuid)
return (std::size_t)uuid.getCRC32();
}
boost::unordered_map<const LLUUID,LLColor4> mm_MarkerColors;
bool mm_getMarkerColor(const LLUUID& id, LLColor4& color)
{
boost::unordered_map<const LLUUID,LLColor4>::const_iterator it = mm_MarkerColors.find(id);
if (it == mm_MarkerColors.end()) return false;
color = it->second;
return true;
}
void LLNetMap::mm_setcolor(LLUUID key,LLColor4 col)
{
@@ -574,11 +581,7 @@ void LLNetMap::draw()
LLUUID estate_owner = avatar_region ? avatar_region->getOwner() : LLUUID::null;
// MOYMOD Minimap custom av colors.
boost::unordered_map<const LLUUID,LLColor4>::const_iterator it = mm_MarkerColors.find(uuid);
if(it != mm_MarkerColors.end())
{
color = it->second;
}
if (mm_getMarkerColor(uuid, color)) {}
//Lindens are always more Linden than your friend, make that take precedence
else if (LLMuteList::getInstance()->isLinden(uuid))
{

View File

@@ -910,6 +910,7 @@ const LLUUID SHClientTagMgr::getClientID(const LLVOAvatar* pAvatar) const
}
return tag.asUUID();
}
bool mm_getMarkerColor(const LLUUID&, LLColor4&);
bool SHClientTagMgr::getClientColor(const LLVOAvatar* pAvatar, bool check_status, LLColor4& color) const
{
static const LLCachedControl<bool> ascent_use_status_colors("AscentUseStatusColors",true);
@@ -918,6 +919,7 @@ bool SHClientTagMgr::getClientColor(const LLVOAvatar* pAvatar, bool check_status
if(check_status && ascent_use_status_colors && !pAvatar->isSelf())
{
if (mm_getMarkerColor(pAvatar->getID(), color)) return true;
LLViewerRegion* parent_estate = LLWorld::getInstance()->getRegionFromPosGlobal(pAvatar->getPositionGlobal());
if(LLMuteList::getInstance()->isLinden(pAvatar->getFullname()))
{