Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Damian Zhaoying
2012-08-24 17:07:02 -03:00
3483 changed files with 3818 additions and 66 deletions

View File

@@ -111,6 +111,8 @@ void NACLAntiSpamQueue::blockEntry(LLUUID& source)
}
int NACLAntiSpamQueue::checkEntry(LLUUID& name, U32 multiplier)
{
static LLCachedControl<bool> enabled(gSavedSettings,"AntiSpamEnabled",false);
if(!enabled) return 0;
it=entries.find(name.asString());
if(it != entries.end())
{
@@ -200,7 +202,7 @@ void NACLAntiSpamRegistry::setRegisteredQueueTime(U32 name, U32 time)
{
if(name >= QUEUE_MAX || queues[name] == 0)
{
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to use a antispam queue that was not created or was outside of the reasonable range of queues. Queue: " << getQueueName(name) << llendl;
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to set time of antispam queue that was outside of the reasonable range of queues or not created. Queue: " << getQueueName(name) << llendl;
return;
}
@@ -210,7 +212,7 @@ void NACLAntiSpamRegistry::setRegisteredQueueAmount(U32 name, U32 amount)
{
if(name >= QUEUE_MAX || queues[name] == 0)
{
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to use a antispam queue that was not created or was outside of the reasonable range of queues. Queue: " << getQueueName(name) << llendl;
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to set amount for antispam queue that was outside of the reasonable range of queues or not created. Queue: " << getQueueName(name) << llendl;
return;
}
@@ -237,7 +239,7 @@ void NACLAntiSpamRegistry::clearRegisteredQueue(U32 name)
{
if(name >= QUEUE_MAX || queues[name] == 0)
{
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to use a antispam queue that was not created or was outside of the reasonable range of queues. Queue: " << getQueueName(name) << llendl;
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to clear antispam queue that was outside of the reasonable range of queues or not created. Queue: " << getQueueName(name) << llendl;
return;
}
@@ -247,7 +249,7 @@ void NACLAntiSpamRegistry::purgeRegisteredQueue(U32 name)
{
if(name >= QUEUE_MAX || queues[name] == 0)
{
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to use a antispam queue that was not created or was outside of the reasonable range of queues. Queue: " << getQueueName(name) << llendl;
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to purge antispam queue that was outside of the reasonable range of queues or not created. Queue: " << getQueueName(name) << llendl;
return;
}
@@ -263,7 +265,7 @@ void NACLAntiSpamRegistry::blockOnQueue(U32 name, LLUUID& source)
{
if(name >= QUEUE_MAX || queues[name] == 0)
{
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to use a antispam queue that was not created or was outside of the reasonable range of queues. Queue: " << getQueueName(name) << llendl;
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to use a antispam queue that was outside of the reasonable range of queues or not created. Queue: " << getQueueName(name) << llendl;
return;
}
queues[name]->blockEntry(source);
@@ -295,7 +297,7 @@ bool NACLAntiSpamRegistry::checkQueue(U32 name, LLUUID& source, U32 multiplier)
{
if(name >= QUEUE_MAX || queues[name] == 0)
{
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to use a antispam queue that was not created or was outside of the reasonable range of queues. Queue: " << getQueueName(name) << llendl;
LL_ERRS("AntiSpam") << "CODE BUG: Attempting to check antispam queue that was outside of the reasonable range of queues or not created. Queue: " << getQueueName(name) << llendl;
return false;
}
result=queues[name]->checkEntry(source,multiplier);
@@ -356,6 +358,8 @@ void NACLAntiSpamRegistry::purgeAllQueues()
}
int NACLAntiSpamRegistry::checkGlobalEntry(LLUUID& name, U32 multiplier)
{
static LLCachedControl<bool> enabled(gSavedSettings,"AntiSpamEnabled",false);
if(!enabled) return 0;
it2=globalEntries.find(name.asString());
if(it2 != globalEntries.end())
{

View File

@@ -930,6 +930,17 @@
<key>Value</key>
<integer>0</integer>
</map>
<key>AntiSpamEnabled</key>
<map>
<key>Comment</key>
<string>When false, antispam, not relating to dialog blocking, will be turned off.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>AntiSpamFriendshipOffers</key>
<map>
<key>Comment</key>
@@ -1060,7 +1071,7 @@
<key>Type</key>
<string>U32</string>
<key>Value</key>
<integer>20</integer>
<integer>100</integer>
</map>
<key>_NACL_AntiSpamNewlines</key>
<map>
@@ -1082,7 +1093,7 @@
<key>Type</key>
<string>U32</string>
<key>Value</key>
<integer>20</integer>
<integer>100</integer>
</map>
<!-- Vanilla SL settings that are now optionally Account-Specific -->
<key>AgentChatColor</key>

View File

@@ -96,6 +96,7 @@ LLPrefsAscentChat::LLPrefsAscentChat()
childSetEnabled("reset_antispam", started);
childSetCommitCallback("reset_antispam", onCommitResetAS, this);
childSetCommitCallback("enable_as", onCommitEnableAS, this);
childSetCommitCallback("antispam_checkbox", onCommitDialogBlock, this);
childSetCommitCallback("KeywordsOn", onCommitKeywords, this);
@@ -250,6 +251,20 @@ void LLPrefsAscentChat::onCommitResetAS(LLUICtrl*, void*)
NACLAntiSpamRegistry::purgeAllQueues();
}
//static
void LLPrefsAscentChat::onCommitEnableAS(LLUICtrl* ctrl, void* user_data)
{
LLPrefsAscentChat* self = (LLPrefsAscentChat*)user_data;
bool enabled = ctrl->getValue().asBoolean();
self->childSetEnabled("spammsg_checkbox", enabled);
self->childSetEnabled("antispamtime", enabled);
self->childSetEnabled("antispamamount", enabled);
self->childSetEnabled("antispamsoundmulti", enabled);
self->childSetEnabled("antispamsoundpreloadmulti", enabled);
self->childSetEnabled("antispamnewlines", enabled);
self->childSetEnabled("Notify On Spam", enabled);
}
//static
void LLPrefsAscentChat::onCommitDialogBlock(LLUICtrl* ctrl, void* user_data)
{
@@ -344,6 +359,7 @@ void LLPrefsAscentChat::refreshValues()
mIMResponseText = gSavedPerAccountSettings.getString("AscentInstantMessageResponse");
//Spam --------------------------------------------------------------------------------
mEnableAS = gSavedSettings.getBOOL("AntiSpamEnabled");
mGlobalQueue = gSavedSettings.getBOOL("_NACL_AntiSpamGlobalQueue");
mChatSpamCount = gSavedSettings.getU32("_NACL_AntiSpamAmount");
mChatSpamTime = gSavedSettings.getU32("_NACL_AntiSpamTime");
@@ -404,6 +420,15 @@ void LLPrefsAscentChat::refresh()
childSetText("im_response", wstring_to_utf8str(auto_response));
//Antispam ------------------------------------------------------------------------
// sensitivity tuners
childSetEnabled("spammsg_checkbox", mEnableAS);
childSetEnabled("antispamtime", mEnableAS);
childSetEnabled("antispamamount", mEnableAS);
childSetEnabled("antispamsoundmulti", mEnableAS);
childSetEnabled("antispamsoundpreloadmulti", mEnableAS);
childSetEnabled("antispamnewlines", mEnableAS);
childSetEnabled("Notify On Spam", mEnableAS);
// dialog blocking tuners
childSetEnabled("Block All Dialogs From", !mBlockDialogSpam);
childSetEnabled("Alerts", !mBlockDialogSpam);
childSetEnabled("Friendship Offers", !mBlockDialogSpam);
@@ -549,6 +574,7 @@ void LLPrefsAscentChat::cancel()
gSavedPerAccountSettings.setString("AscentInstantMessageResponse", mIMResponseText);
//Spam --------------------------------------------------------------------------------
gSavedSettings.setBOOL("AntiSpamEnabled", mEnableAS);
gSavedSettings.setBOOL("_NACL_AntiSpamGlobalQueue", mGlobalQueue);
gSavedSettings.setU32("_NACL_AntiSpamAmount", mChatSpamCount);
gSavedSettings.setU32("_NACL_AntiSpamTime", mChatSpamTime);

View File

@@ -57,6 +57,7 @@ protected:
static void onCommitTimeDate(LLUICtrl* ctrl, void *userdata);
static void onCommitAutoResponse(LLUICtrl* ctrl, void* user_data);
static void onCommitResetAS(LLUICtrl*,void*);
static void onCommitEnableAS(LLUICtrl*, void*);
static void onCommitDialogBlock(LLUICtrl*, void*);
static void onCommitKeywords(LLUICtrl* ctrl, void* user_data);
@@ -86,6 +87,7 @@ protected:
std::string mIMResponseText;
//Spam --------------------------------------------------------------------------------
BOOL mEnableAS;
BOOL mGlobalQueue;
U32 mChatSpamCount;
U32 mChatSpamTime;

View File

@@ -44,6 +44,7 @@
#include "llinventory.h"
#include "llnotificationsutil.h"
#include "llresmgr.h"
#include "lltrans.h"
#include "lltextbox.h"
#include "lltextureview.h"
#include "llui.h"
@@ -56,13 +57,13 @@
const S32 PREVIEW_TEXTURE_MIN_WIDTH = 300;
const S32 PREVIEW_TEXTURE_MIN_HEIGHT = 120;
const F32 PREVIEW_TEXTURE_MAX_ASPECT = 200.f;
const F32 PREVIEW_TEXTURE_MIN_ASPECT = 0.005f;
const S32 CLIENT_RECT_VPAD = 4;
const F32 SECONDS_TO_SHOW_FILE_SAVED_MSG = 8.f;
const F32 PREVIEW_TEXTURE_MAX_ASPECT = 200.f;
const F32 PREVIEW_TEXTURE_MIN_ASPECT = 0.005f;
LLPreviewTexture * LLPreviewTexture::sInstance;
LLPreviewTexture::LLPreviewTexture(const std::string& name,
const LLRect& rect,
@@ -163,8 +164,11 @@ LLPreviewTexture::~LLPreviewTexture()
{
getWindow()->decBusyCount();
}
mImage->setBoostLevel(mImageOldBoostLevel);
mImage = NULL;
if(mImage)
{
mImage->setBoostLevel(mImageOldBoostLevel);
mImage = NULL;
}
sInstance = NULL;
}
@@ -185,14 +189,12 @@ void LLPreviewTexture::init()
{
childSetAction("Copy To Inventory",LLPreview::onBtnCopyToInv,this);
}
else if (mShowKeepDiscard)
{
childSetAction("Keep",onKeepBtn,this);
childSetAction("Discard",onDiscardBtn,this);
}
else
else
{
// If the buttons are hidden move stuff down to use the space.
@@ -233,7 +235,7 @@ void LLPreviewTexture::init()
childSetText("uuid", getItemID().asString());
childSetText("uploader", getItemCreatorName());
childSetText("uploadtime", getItemCreationDate());
childSetText("alphanote", std::string("Loading..."));
childSetText("alphanote", LLTrans::getString("LoadingData"));
}
}
@@ -287,12 +289,12 @@ void LLPreviewTexture::draw()
if (!mImage->getIsAlphaMask())
{
childSetColor("alphanote", LLColor4::green);
childSetText("alphanote", std::string("No Alpha"));
childSetText("alphanote", getString("No Alpha"));
}
else
{
childSetColor("alphanote", LLColor4::red);
childSetText("alphanote", std::string("Has Alpha"));
childSetText("alphanote", getString("Has Alpha"));
}
mAlphaMaskResult = mImage->getIsAlphaMask();
}
@@ -320,8 +322,7 @@ void LLPreviewTexture::draw()
if( mLoadingFullImage )
{
// *TODO: Translate
LLFontGL::getFontSansSerif()->renderUTF8(std::string("Receiving:"), 0,
LLFontGL::getFontSansSerif()->renderUTF8(LLTrans::getString("Receiving"), 0,
interior.mLeft + 4,
interior.mBottom + 4,
LLColor4::white, LLFontGL::LEFT, LLFontGL::BOTTOM,
@@ -357,8 +358,7 @@ void LLPreviewTexture::draw()
}
else if(!mSavedFileTimer.hasExpired())
{
// *TODO: Translate
LLFontGL::getFontSansSerif()->renderUTF8(std::string("File Saved"), 0,
LLFontGL::getFontSansSerif()->renderUTF8(LLTrans::getString("FileSaved"), 0,
interior.mLeft + 4,
interior.mBottom + 4,
LLColor4::white, LLFontGL::LEFT, LLFontGL::BOTTOM,
@@ -367,6 +367,7 @@ void LLPreviewTexture::draw()
}
}
}
}
@@ -408,6 +409,7 @@ void LLPreviewTexture::saveAs_continued(LLViewerInventoryItem const* item, AIFil
mSaveFileName = filepicker->getFilename();
mLoadingFullImage = TRUE;
getWindow()->incBusyCount();
mImage->forceToSaveRawImage(0) ;//re-fetch the raw image if the old one is removed.
mImage->setLoadedCallback( LLPreviewTexture::onFileLoadedForSave,
0, TRUE, FALSE, new LLUUID( mItemUUID ), &mCallbackTextureList );
@@ -497,7 +499,7 @@ std::string LLPreviewTexture::getItemCreationDate()
timeToFormattedString(item->getCreationDate(), gSavedSettings.getString("TimestampFormat"), time);
return time;
}
return "Unknown";
return getString("Unknown");
}
std::string LLPreviewTexture::getItemCreatorName()
@@ -510,7 +512,7 @@ std::string LLPreviewTexture::getItemCreatorName()
mCreatorKey = item->getCreatorUUID();
return name;
}
return "Unknown";
return getString("Unknown");
}

View File

@@ -338,7 +338,14 @@ void LLViewerMedia::setVolume(F32 volume)
{
LLViewerMediaImpl* pimpl = *iter;
LLPluginClassMedia* plugin = pimpl->getMediaPlugin();
plugin->setVolume(volume);
if(plugin)
{
plugin->setVolume(volume);
}
else
{
llwarns << "Plug-in already destroyed" << llendl;
}
}
}

View File

@@ -1946,23 +1946,26 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
msg->getStringFast(_PREHASH_MessageBlock, _PREHASH_FromAgentName, name);
msg->getStringFast(_PREHASH_MessageBlock, _PREHASH_Message, message);
// NaCl - Newline flood protection
LLViewerObject* obj=gObjectList.findObject(from_id);
if(!from_id.isNull() //Not from nothing.
&& gAgent.getID() != from_id //Not from self.
&& !(obj && obj->permYouOwner())) //Not from own object.
{
static LLCachedControl<U32> SpamNewlines(gSavedSettings,"_NACL_AntiSpamNewlines");
boost::sregex_iterator iter(message.begin(), message.end(), NEWLINES);
if((U32)std::abs(std::distance(iter, boost::sregex_iterator())) > SpamNewlines)
static LLCachedControl<bool> AntiSpamEnabled(gSavedSettings,"AntiSpamEnabled",false);
if(AntiSpamEnabled){
LLViewerObject* obj=gObjectList.findObject(from_id);
if(!from_id.isNull() //Not from nothing.
&& gAgent.getID() != from_id //Not from self.
&& !(obj && obj->permYouOwner())) //Not from own object.
{
NACLAntiSpamRegistry::blockOnQueue((U32)NACLAntiSpamRegistry::QUEUE_IM,from_id);
if(gSavedSettings.getBOOL("AntiSpamNotify"))
static LLCachedControl<U32> SpamNewlines(gSavedSettings,"_NACL_AntiSpamNewlines");
boost::sregex_iterator iter(message.begin(), message.end(), NEWLINES);
if((U32)std::abs(std::distance(iter, boost::sregex_iterator())) > SpamNewlines)
{
LLSD args;
args["MESSAGE"] = "Message: Blocked newline flood from "+from_id.asString();
LLNotificationsUtil::add("SystemMessageTip", args);
NACLAntiSpamRegistry::blockOnQueue((U32)NACLAntiSpamRegistry::QUEUE_IM,from_id);
if(gSavedSettings.getBOOL("AntiSpamNotify"))
{
LLSD args;
args["MESSAGE"] = "Message: Blocked newline flood from "+from_id.asString();
LLNotificationsUtil::add("SystemMessageTip", args);
}
return;
}
return;
}
}
// NaCl End
@@ -3519,23 +3522,26 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
msg->getStringFast(_PREHASH_ChatData, _PREHASH_Message, mesg);
// NaCl - Newline flood protection
LLViewerObject* obj=gObjectList.findObject(from_id);
if(!(from_id.isNull()) //Not from nothing.
|| !(gAgent.getID() != from_id) //Not from self.
|| !(obj && obj->permYouOwner())) //Not from own object.
{
static LLCachedControl<U32> SpamNewlines(gSavedSettings,"_NACL_AntiSpamNewlines");
boost::sregex_iterator iter(mesg.begin(), mesg.end(), NEWLINES);
if((U32)std::abs(std::distance(iter, boost::sregex_iterator())) > SpamNewlines)
static LLCachedControl<bool> AntiSpamEnabled(gSavedSettings,"AntiSpamEnabled",false);
if(AntiSpamEnabled){
LLViewerObject* obj=gObjectList.findObject(from_id);
if(!(from_id.isNull()) //Not from nothing.
|| !(gAgent.getID() != from_id) //Not from self.
|| !(obj && obj->permYouOwner())) //Not from own object.
{
NACLAntiSpamRegistry::blockOnQueue((U32)NACLAntiSpamRegistry::QUEUE_CHAT,owner_id);
if(gSavedSettings.getBOOL("AntiSpamNotify"))
static LLCachedControl<U32> SpamNewlines(gSavedSettings,"_NACL_AntiSpamNewlines");
boost::sregex_iterator iter(mesg.begin(), mesg.end(), NEWLINES);
if((U32)std::abs(std::distance(iter, boost::sregex_iterator())) > SpamNewlines)
{
LLSD args;
args["MESSAGE"] = "Chat: Blocked newline flood from "+owner_id.asString();
LLNotificationsUtil::add("SystemMessageTip", args);
NACLAntiSpamRegistry::blockOnQueue((U32)NACLAntiSpamRegistry::QUEUE_CHAT,owner_id);
if(gSavedSettings.getBOOL("AntiSpamNotify"))
{
LLSD args;
args["MESSAGE"] = "Chat: Blocked newline flood from "+owner_id.asString();
LLNotificationsUtil::add("SystemMessageTip", args);
}
return;
}
return;
}
}
// NaCl End

View File

@@ -0,0 +1,14 @@
<llsd>
<map>
<key>skin_name</key>
<string>Apollo</string>
<key>author_name</key>
<string>Basically: Skills Hak - Wisdom - JB Kraft - Linden Lab</string>
<key>additional_author_names</key>
<string>Nomade Zhao</string>
<key>skin_info</key>
<string>Apollo is Gemini with the textures of several "DARK" Skins.</string>
<key>folder_name</key>
<string>apollo</string>
</map>
</llsd>

View File

@@ -0,0 +1,15 @@
<llsd>
<map>
<key>skin_name</key>
<string>Dark Catalan</string>
<key>author_name</key>
<string>Nomade Zhao - Skills Hak</string>
<key>additional_author_names</key>
<string>Linden Lab</string>
<key>skin_info</key>
<string>A Catalan Skin inspired by the Skill Hak's Gemini Skin (with love for Selv).
Une Skin "Dark" aux couleurs de la Catalogne, inspir&#xE9;e de la Skin Gemini de Skill Hak (with love for Selv)</string>
<key>folder_name</key>
<string>darkcatalan</string>
</map>
</llsd>

View File

@@ -0,0 +1,14 @@
<llsd>
<map>
<key>skin_name</key>
<string>French Touch</string>
<key>author_name</key>
<string>Nomade Zhao</string>
<key>additional_author_names</key>
<string>3DX,linden lab</string>
<key>skin_info</key>
<string>A lite skin Blue...White...and Red so, maybe a French touch ?. Skin dans les tons de Bleu de Blanc et de Rouge, d&#x27;ou son nom :)</string>
<key>folder_name</key>
<string>frenchtouch</string>
</map>
</llsd>

View File

@@ -0,0 +1,15 @@
<llsd>
<map>
<key>skin_name</key>
<string>Italia Dolce Vita</string>
<key>author_name</key>
<string>Nomade Zhao - 3DX</string>
<key>additional_author_names</key>
<string>Linden Lab</string>
<key>skin_info</key>
<string>A skin for my roots !
Une skin pour mes origines !</string>
<key>folder_name</key>
<string>italia</string>
</map>
</llsd>

View File

@@ -0,0 +1,14 @@
<llsd>
<map>
<key>skin_name</key>
<string>KirstenLite2</string>
<key>author_name</key>
<string>Kirstenlee Cinquetti</string>
<key>additional_author_names</key>
<string>3DX,Linden Lab,Nomade Zhao</string>
<key>skin_info</key>
<string>Variations around Kirsten's build 377 - Variations autour de la tr&#xE8;s jolie skin de Kirstenlee Cinquetti</string>
<key>folder_name</key>
<string>kirstenLite2</string>
</map>
</llsd>

View File

@@ -0,0 +1,14 @@
<llsd>
<map>
<key>skin_name</key>
<string>New Silver</string>
<key>author_name</key>
<string>Linden Lab</string>
<key>additional_author_names</key>
<string>Nomade Zhao</string>
<key>skin_info</key>
<string>This is a variation around silver the alternate skin for Linden Lab's Second Life viewer. Variations autour de la Skin Silver, re adapt&#xE9;e pour Singularity</string>
<key>folder_name</key>
<string>new_silver</string>
</map>
</llsd>

View File

@@ -0,0 +1,15 @@
<llsd>
<map>
<key>skin_name</key>
<string>Orange Life</string>
<key>author_name</key>
<string>Nomade Zhao - 3DX</string>
<key>additional_author_names</key>
<string>Linden Lab</string>
<key>skin_info</key>
<string>Orange Life freely inspired by the skin from the open life viewer.
Orange Life, skin inspir&#xE9;e de celle de l'open life viewer.</string>
<key>folder_name</key>
<string>orangelife</string>
</map>
</llsd>

View File

@@ -0,0 +1,17 @@
<llsd>
<map>
<key>skin_name</key>
<string>Snow White</string>
<key>author_name</key>
<string>James Random - Nomade Zhao</string>
<key>additional_author_names</key>
<string>Linden Lab</string>
<key>skin_info</key>
<string>Just a Funny monochrome skin - some from the White Emerald and some from myself.
Skin monochrome ^^ pourquoi &#x3F; ...pourquoi pas ! une envie :)
Joyeux m&#xE9;lange de la White Emerald revisit&#xE9;e
et d'&#xE9;l&#xE9;ments personnels.</string>
<key>folder_name</key>
<string>snowwhite</string>
</map>
</llsd>

View File

@@ -0,0 +1,15 @@
<llsd>
<map>
<key>skin_name</key>
<string>St Patrick</string>
<key>author_name</key>
<string>Nomade Zhao - 3DX</string>
<key>additional_author_names</key>
<string>Linden Lab</string>
<key>skin_info</key>
<string>A Irish Skin in Green White and Orange .
Une skin aux couleurs de l'Irlande. inspir&#xE9;e de l'open life skin.</string>
<key>folder_name</key>
<string>stpatrick</string>
</map>
</llsd>

View File

@@ -0,0 +1,223 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings version = "101">
<!-- WINDOWS -->
<TitleBarFocusColor value="0, 0, 0, 0" /> <!-- Focused window title bar highlight, no equivalent for unfocused windows -->
<FloaterFocusBorderColor value="0, 0, 0, 50" />
<FloaterUnfocusBorderColor value="0, 0, 0, 80" />
<FocusBackgroundColor value="33, 33, 33, 255" /> <!-- Background color of focused floaters -->
<DefaultBackgroundColor value="33, 33, 33, 192" /> <!-- Background color for unfocused floaters -->
<ColorDropShadow value="0, 0, 0, 180" /> <!-- The drop shadow behind windows and menus -->
<DefaultHighlightDark value="26, 26, 26, 255" />
<DefaultHighlightLight value="66, 66, 66, 255" />
<DefaultShadowDark value="26, 26, 26, 255" />
<DefaultShadowLight value="0, 0, 0, 255" />
<!-- LABELS -->
<LabelDisabledColor value="255, 255, 255, 30" />
<LabelSelectedColor value="255, 255, 255, 128" />
<LabelSelectedDisabledColor value="255, 255, 255, 80" />
<LabelTextColor value="255, 255, 255, 90" />
<!-- LOGIN -->
<LoginProgressBarBgColor value="255, 255, 255, 255" />
<LoginProgressBarFgColor value="255, 255, 255, 255" />
<LoginProgressBoxBorderColor value="0, 30, 60, 0" />
<LoginProgressBoxCenterColor value="0, 0, 0, 200" />
<LoginProgressBoxShadowColor value="0, 0, 0, 200" />
<LoginProgressBoxTextColor value="255, 255, 255, 255"/>
<!-- BUTTONS -->
<ButtonLabelColor value="255, 255, 255, 128" /> <!-- Text labels for buttons, like the "OK" text -->
<ButtonLabelSelectedColor value="255, 255, 255, 255" />
<ButtonLabelDisabledColor value="255, 255, 255, 66" />
<ButtonLabelSelectedDisabledColor value="255, 255, 255, 66" />
<ButtonSelectedBgColor value="62, 62, 62, 255" />
<ButtonSelectedColor value="255, 255, 255, 255" />
<ButtonUnselectedBgColor value="62, 62, 62, 255" />
<ButtonUnselectedFgColor value="255, 255, 255, 255" />
<ButtonBorderColor value="239, 156, 0, 255" />
<ButtonFlashBgColor value="255, 255, 255, 128" />
<ButtonColor value="255, 255, 255, 128" /> <!-- Blended with button art, usually left as opaque white -->
<ButtonImageColor value="255, 255, 255, 128" /> <!-- Blended with button art, usually left as opaque white -->
<!-- SLIDERS -->
<SliderDisabledThumbColor value="0, 0, 0, 255" />
<SliderThumbCenterColor value="200, 200, 200, 255" />
<SliderThumbOutlineColor value="255, 255, 255, 255" />
<SliderTrackColor value="255, 255, 255, 255" />
<!-- TEXTFIELDS -->
<TextBgFocusColor value="11, 11, 11, 255" /> <!-- Text field background when receiving input (focused) -->
<TextBgReadOnlyColor value="11, 11, 11, 160" /> <!-- Text field background when read-only -->
<TextBgWriteableColor value="11, 11, 11, 80" /> <!-- Text field background when not receiving input (unfocused) -->
<TextCursorColor value="128, 128, 128, 200" />
<TextFgColor value="255, 255, 255, 222" />
<TextFgReadOnlyColor value="255, 255, 255, 80" />
<TextFgTentativeColor value="255, 255, 255, 80" />
<TextEmbeddedItemReadOnlyColor value="255, 255, 255, 80" /> <!-- i.e. About Land name that you don't own -->
<TextEmbeddedItemColor value="0, 255, 128, 255" />
<TextDefaultColor value="255, 255, 255, 222"/>
<TextLinkColor value="144, 165, 208, 255"/>
<TextLinkHoverColor value="255, 255, 255, 255"/>
<!-- LISTBOXES -->
<ScrollBgReadOnlyColor value="33, 33, 33, 80" />
<ScrollBgWriteableColor value="33, 33, 33, 80" />
<ScrollBGStripeColor value="100, 100, 100, 25" />
<ScrollDisabledColor value="33, 33, 33, 204" />
<ScrollSelectedBGColor value="222, 222, 222, 150" />
<ScrollSelectedFGColor value="255, 255, 255, 255" /> <!-- Text color -->
<ScrollUnselectedColor value="222, 222, 222, 150" /> <!-- Text color -->
<ScrollHighlightedColor value="222, 222, 222, 80" /> <!-- Hover color -->
<ScrollbarThumbColor value="66, 66, 66, 80" /> <!-- Scroll bar-->
<ScrollbarTrackColor value="10, 10, 10, 80" /> <!-- Scroll bar background-->
<DefaultListText value="255, 255, 255, 255"/> <!-- We are replacing all the hardcoded black text with this color so we can make skins with white text on dark background -->
<!-- MENUS -->
<MenuBarBgColor value="33, 33, 33, 255" />
<MenuBarGodBgColor value="33, 33, 33, 255" />
<MenuNonProductionGodBgColor value="0, 128, 0, 255" />
<MenuNonProductionBgColor value="128, 0, 0, 255" />
<MenuDefaultBgColor value="33, 33, 33, 255" />
<MenuItemDisabledColor value="125, 125, 125, 75" /> <!-- Menu text color; also text color for pie menus and treeviews (like Inventory) -->
<MenuItemEnabledColor value="255, 255, 255, 255" /> <!-- Menu text color; also text color for pie menus and treeviews (like Inventory) -->
<MenuItemHighlightBgColor value="80, 80, 80, 200" />
<MenuItemHighlightFgColor value="255, 255, 255, 255" /> <!-- Highlighted menu text color; also treeview node selection highlight -->
<MenuPopupBgColor value="33, 33, 33, 255" />
<!-- PIE MENUS -->
<PieMenuBgColor value="33, 33, 33, 128" />
<PieMenuLineColor value="0, 0, 0, 128" />
<PieMenuSelectedColor value="255, 255, 255, 128" />
<!-- TOOLTIPS -->
<ToolTipBgColor value="33, 33, 33, 255" />
<ToolTipBorderColor value="11, 11, 11, 255" />
<ToolTipTextColor value="255, 255, 255, 255" />
<!-- NOTIFICATION POP-UPS -->
<NotifyBoxColor value="66, 66, 66, 255" />
<NotifyTextColor value="255, 255, 255, 128" />
<NotifyCautionBoxColor value="254, 209, 118, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="0, 0, 0, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="66, 66, 66, 255" />
<GroupNotifyTextColor value="255, 255, 255, 128" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->
<ChatHistoryBgColor value="0, 0, 0, 0" />
<ChatHistoryTextColor value="255, 255, 255, 255" />
<IMHistoryBgColor value="0, 0, 0, 0" />
<IMHistoryTextColor value="255, 255, 255, 255" />
<!-- IN-WORLD SELECTION -->
<SilhouetteParentColor value="255, 255, 0, 255" />
<SilhouetteChildColor value="32, 106, 196, 255" />
<HighlightParentColor value="171, 212, 245, 255" />
<HighlightChildColor value="171, 212, 245, 255" />
<HighlightInspectColor value="255, 0, 255, 255" />
<!-- EDIT MODE GRID -->
<GridFocusPointColor value="255, 255, 255, 128" />
<GridlineColor value="255, 255, 255, 255" />
<GridlineBGColor value="235, 235, 255, 200" />
<GridlineShadowColor value="0, 0, 0, 80" />
<!-- PROPERTY LINES -->
<PropertyColorAvail value="0, 0, 0, 0" />
<PropertyColorGroup value="0, 184, 184, 102" />
<PropertyColorOther value="255, 0, 0, 102" />
<PropertyColorSelf value="0, 255, 0, 102" />
<PropertyColorForSale value="255, 128, 0, 102" />
<PropertyColorAuction value="128, 0, 255, 102" /> <!-- Match the color on the world map -->
<!-- Icon Enable/Disable -->
<IconEnabledColor value="255, 255, 255, 255"/>
<IconDisabledColor value="255, 255, 255, 200"/>
<!-- MAP -->
<MapAvatar value="70, 255, 70, 255" />
<MapFriend value="255, 210, 150, 255" />
<MapLinden value="0, 128, 255, 255" />
<MapMuted value="110, 110, 110, 220" />
<!-- RADAR -->
<RadarAvatar value="255, 255, 255, 255" />
<RadarFriend value="70, 128, 70, 255" />
<RadarLinden value="0, 0, 128, 255" />
<RadarEstateOwner value="204, 102, 10, 255" />
<RadarMuted value="33, 33, 33, 255" />
<RadarTextChatRange value="255, 66, 66, 128"/>
<RadarTextShoutRange value="255, 255, 66, 128"/>
<RadarTextDrawDist value="66, 153, 66, 128"/>
<AvatarListTextAgeYoung value="255, 0, 0, 255"/>
<AvatarListTextAgeNormal value="255, 255, 255, 255"/>
<!-- SPEAKERS -->
<SpeakersInactive value="76, 76, 76, 255"/>
<SpeakersGhost value="255, 0, 0, 255"/>
<!-- MINI-MAP -->
<NetMapBackgroundColor value="0, 0, 0, 77" />
<NetMapYouOwnAboveWater value="0, 255, 255, 255" />
<NetMapYouOwnBelowWater value="0, 200, 200, 255" />
<NetMapGroupOwnAboveWater value="255, 0, 255, 255" />
<NetMapGroupOwnBelowWater value="200, 0, 200, 255" />
<NetMapOtherOwnAboveWater value="60, 60, 60, 255" />
<NetMapOtherOwnBelowWater value="30, 30, 30, 255" />
<NetMapThisRegion value="255, 255, 255, 255" />
<NetMapLiveRegion value="204, 204, 204, 255" />
<NetMapDeadRegion value="255, 128, 128, 255" />
<NetMapFrustum value="255, 255, 255, 70" />
<NetMapFrustumRotating value="255, 255, 255, 100" />
<!-- HELP WINDOW -->
<HelpBgColor value="200, 209, 204, 255" />
<HelpFgColor value="0, 0, 0, 255" />
<HelpScrollTrackColor value="183, 184, 188, 255" />
<HelpScrollThumbColor value="80, 96, 124, 255" />
<HelpScrollHighlightColor value="115, 132, 155, 255" />
<HelpScrollShadowColor value="0, 0, 0, 255" />
<!-- MISC -->
<AvatarNameColor value="251, 175, 93, 255" /> <!-- Text color of avatar nametags -->
<FocusColor value="255, 255, 255, 20" /> <!-- Color of the glow around UI controls with keyboard focus -->
<FloaterButtonImageColor value="255, 255, 255, 80" /> <!-- The floater buttons (like the close box) are white images that receive this color. -->
<ButtonCautionImageColor value="255, 255, 255, 255" /> <!-- Match the caution dialog buttons to the default -->
<HealthTextColor value="255, 255, 255, 255" />
<MapAutopilotColor value="255, 255, 255, 255" />
<ContextSilhouetteColor value="255, 255, 255, 255" /> <!-- For "context" highlighting, i.e. pie menu -->
<ScriptBgReadOnlyColor value="100, 100, 100, 255" />
<ParcelTextColor value="144, 165, 208, 255" /> <!-- Parcel name on menu bar, normal state -->
<ParcelHoverColor value="255, 255, 255, 255" /> <!-- Parcel name on menu bar, hover state -->
<TimeTextColor value="255, 255, 255, 255" /> <!-- SL Time on menu bar -->
<BalanceTextColor value="255, 255, 255, 255" /> <!-- Linden dollar balance on menu bar -->
<HealthTextColor value="255, 255, 255, 255" /> <!-- Damage meter text on menu bar -->
<GroupOverTierColor value="255, 255, 255, 255" /> <!-- Warning text in Group Info window -->
<FilterBackgroundColor value="0, 0, 0, 255" /> <!-- Matching region of Inventory search text -->
<FilterTextColor value="255, 255, 255, 128" />
<InventoryItemSuffixColor value="128, 128, 128, 255" /> <!-- "worn", "no modify", etc-->
<InventorySearchStatusColor value="255, 255, 255, 128" />
<ComboBoxBg value="11, 11, 11, 255"/>
<ConsoleBackground value="0, 0, 0, 255" />
<FolderViewLoadingMessageTextColor value="255, 255, 255, 128"/> <!-- "loading..." in the inv -->
<InventoryBackgroundColor value="11, 11, 11, 80"/>
<SHMediaTickerOscillatorColor value ="0, 0, 0, 191"/>
<!-- Alert box colors -->
<AlertBoxColor value="33, 33, 33, 255" /> <!-- Warnings floaters, like when returning objects -->
<AlertTextColor value="128, 128, 128, 255" />
<AlertCautionBoxColor value="254, 209, 118, 255" /> <!-- Background color of caution alerts -->
<AlertCautionTextColor value="0, 0, 0, 255" /> <!-- Foreground color of the special title text in caution alerts -->
<!-- Multi sliders, as in the sky animation setting -->
<MultiSliderDisabledThumbColor value="0, 0, 0, 255"/>
<MultiSliderThumbCenterColor value="183, 184, 188, 255"/>
<MultiSliderThumbOutlineColor value="0, 0, 0, 255"/>
<MultiSliderTrackColor value="30, 30, 30, 255"/>
<MultiSliderThumbCenterSelectedColor value="255, 50, 50, 255"/>
<MultiSliderTriangleColor value="255, 255, 50, 255"/>
</settings>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Some files were not shown because too many files have changed in this diff Show More