aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview
diff options
context:
space:
mode:
authorMcCabe Maxsted2010-08-02 00:44:57 -0700
committerMcCabe Maxsted2010-08-02 00:44:57 -0700
commit489ac5bdda11551401fae1ec63d4c7612ca3bbb1 (patch)
tree8bacb54d32eb9713b3788d9d8dd5188bd6bdc297 /linden/indra/newview
parentRemoved unused ZHAO entries from the AO template and added it to cmake (diff)
parentAdded loading kdu debugging info to the log (diff)
downloadmeta-impy-489ac5bdda11551401fae1ec63d4c7612ca3bbb1.zip
meta-impy-489ac5bdda11551401fae1ec63d4c7612ca3bbb1.tar.gz
meta-impy-489ac5bdda11551401fae1ec63d4c7612ca3bbb1.tar.bz2
meta-impy-489ac5bdda11551401fae1ec63d4c7612ca3bbb1.tar.xz
Merge commit 'jacek/next' into weekly
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/CMakeLists.txt2
-rw-r--r--linden/indra/newview/app_settings/logcontrol.xml4
-rw-r--r--linden/indra/newview/app_settings/settings.xml121
-rw-r--r--linden/indra/newview/lightshare.cpp406
-rw-r--r--linden/indra/newview/lightshare.h124
-rw-r--r--linden/indra/newview/llfilepicker.cpp2
-rw-r--r--linden/indra/newview/llglsandbox.cpp22
-rw-r--r--linden/indra/newview/llhoverview.cpp26
-rw-r--r--linden/indra/newview/llhudeffectbeam.cpp25
-rw-r--r--linden/indra/newview/llhudeffectlookat.cpp57
-rw-r--r--linden/indra/newview/llhudeffectpointat.cpp26
-rw-r--r--linden/indra/newview/llprefsadvanced.cpp16
-rw-r--r--linden/indra/newview/lltextureview.cpp8
-rw-r--r--linden/indra/newview/llviewergenericmessage.cpp110
-rw-r--r--linden/indra/newview/llviewerimage.h2
-rw-r--r--linden/indra/newview/llviewermenu.cpp48
-rw-r--r--linden/indra/newview/llviewermessage.cpp13
-rw-r--r--linden/indra/newview/llviewerregion.cpp2
-rw-r--r--linden/indra/newview/llvoavatar.cpp36
-rw-r--r--linden/indra/newview/llvoavatar.h3
-rw-r--r--linden/indra/newview/llwindlightremotectrl.cpp3
-rw-r--r--linden/indra/newview/meta7windlight.h35
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_ao.xml34
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_hardware_settings.xml2
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml15
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/notifications.xml14
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml59
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml2
28 files changed, 973 insertions, 244 deletions
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt
index 934eac0..313f0c4 100644
--- a/linden/indra/newview/CMakeLists.txt
+++ b/linden/indra/newview/CMakeLists.txt
@@ -77,6 +77,7 @@ set(viewer_SOURCE_FILES
77 hippoRestRequest.cpp 77 hippoRestRequest.cpp
78 jcfloater_animation_list.cpp 78 jcfloater_animation_list.cpp
79 jcfloaterareasearch.cpp 79 jcfloaterareasearch.cpp
80 lightshare.cpp
80 llagent.cpp 81 llagent.cpp
81 llagentaccess.cpp 82 llagentaccess.cpp
82 llagentdata.cpp 83 llagentdata.cpp
@@ -509,6 +510,7 @@ set(viewer_HEADER_FILES
509 hippoRestRequest.h 510 hippoRestRequest.h
510 jcfloater_animation_list.h 511 jcfloater_animation_list.h
511 jcfloaterareasearch.h 512 jcfloaterareasearch.h
513 lightshare.h
512 llagent.h 514 llagent.h
513 llagentaccess.h 515 llagentaccess.h
514 llagentdata.h 516 llagentdata.h
diff --git a/linden/indra/newview/app_settings/logcontrol.xml b/linden/indra/newview/app_settings/logcontrol.xml
index 570de83..4d3288f 100644
--- a/linden/indra/newview/app_settings/logcontrol.xml
+++ b/linden/indra/newview/app_settings/logcontrol.xml
@@ -51,8 +51,10 @@
51 <!--<string>AppCache</string>--> 51 <!--<string>AppCache</string>-->
52 <!--<string>APR</string>--> 52 <!--<string>APR</string>-->
53 <!--<string>AudioEngine</string>--> 53 <!--<string>AudioEngine</string>-->
54 <!--<string>BodyPhysics</string>-->
54 <!--<string>InitInfo</string>--> 55 <!--<string>InitInfo</string>-->
55 <!--<string>isOwnedSelf</string>--> 56 <!--<string>isOwnedSelf</string>-->
57 <!--<string>HUDEffect</string>-->
56 <!--<string>MarkerFile</string>--> 58 <!--<string>MarkerFile</string>-->
57 <!--<string>MediaImpl</string>--> 59 <!--<string>MediaImpl</string>-->
58 <!--<string>MediaInfo</string>--> 60 <!--<string>MediaInfo</string>-->
@@ -69,7 +71,7 @@
69 <!--<string>Openjpeg</string>--> 71 <!--<string>Openjpeg</string>-->
70 <!--<string>RLV</string>--> 72 <!--<string>RLV</string>-->
71 <!--<string>VOAvatar</string>--> 73 <!--<string>VOAvatar</string>-->
72 74 <!--<string>View</string>-->
73 <!--<string>ViewerImages</string>--> 75 <!--<string>ViewerImages</string>-->
74 <!--<string>Throttle</string>--> 76 <!--<string>Throttle</string>-->
75 <!--<string>Voice</string>--> 77 <!--<string>Voice</string>-->
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index 396cf90..9c95b1f 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -4,6 +4,28 @@
4 4
5 <!-- Imprudence-specific settings --> 5 <!-- Imprudence-specific settings -->
6 6
7 <key>AllowMUpose</key>
8 <map>
9 <key>Comment</key>
10 <string>Allow MU* pose style in chat and IM (':' works like '/me ')</string>
11 <key>Persist</key>
12 <integer>1</integer>
13 <key>Type</key>
14 <string>Boolean</string>
15 <key>Value</key>
16 <integer>0</integer>
17 </map>
18 <key>AutoCloseOOC</key>
19 <map>
20 <key>Comment</key>
21 <string>Auto-close OOC chat (i.e. add \"))\" if not found and \"((\" was used)</string>
22 <key>Persist</key>
23 <integer>1</integer>
24 <key>Type</key>
25 <string>Boolean</string>
26 <key>Value</key>
27 <integer>0</integer>
28 </map>
7 <key>AppearanceAnimate</key> 29 <key>AppearanceAnimate</key>
8 <map> 30 <map>
9 <key>Comment</key> 31 <key>Comment</key>
@@ -310,6 +332,28 @@
310 <key>Value</key> 332 <key>Value</key>
311 <integer>0</integer> 333 <integer>0</integer>
312 </map> 334 </map>
335 <key>LightShareAllowed</key>
336 <map>
337 <key>Comment</key>
338 <string>Allow LightShare (Windlight settings broadcast from the region): Never (0), Ask (1), or Always (2).</string>
339 <key>Persist</key>
340 <integer>1</integer>
341 <key>Type</key>
342 <string>U32</string>
343 <key>Value</key>
344 <integer>0</integer>
345 </map>
346 <key>LightShareIgnoreTimer</key>
347 <map>
348 <key>Comment</key>
349 <string>After ignoring a region Windlight settings message, new messages are ignored for this many seconds. The timer starts again each time a message is ignored.</string>
350 <key>Persist</key>
351 <integer>1</integer>
352 <key>Type</key>
353 <string>F32</string>
354 <key>Value</key>
355 <integer>30</integer>
356 </map>
313 <key>MapShowAgentCount</key> 357 <key>MapShowAgentCount</key>
314 <map> 358 <map>
315 <key>Comment</key> 359 <key>Comment</key>
@@ -447,6 +491,17 @@
447 <key>Value</key> 491 <key>Value</key>
448 <integer>0</integer> 492 <integer>0</integer>
449 </map> 493 </map>
494 <key>PrivatePointAtTarget</key>
495 <map>
496 <key>Comment</key>
497 <string>If true, viewer won't show the editing arm motion.</string>
498 <key>Persist</key>
499 <integer>1</integer>
500 <key>Type</key>
501 <string>Boolean</string>
502 <key>Value</key>
503 <integer>0</integer>
504 </map>
450 <key>SavedRenderFarClip</key> 505 <key>SavedRenderFarClip</key>
451 <map> 506 <map>
452 <key>Comment</key> 507 <key>Comment</key>
@@ -1033,7 +1088,28 @@
1033 </map> 1088 </map>
1034 1089
1035 <!-- Begin: Client Name Tag --> 1090 <!-- Begin: Client Name Tag -->
1036 1091 <key>ShowClientColor</key>
1092 <map>
1093 <key>Comment</key>
1094 <string>Show *others* clients specific color in the name tag</string>
1095 <key>Persist</key>
1096 <integer>1</integer>
1097 <key>Type</key>
1098 <string>Boolean</string>
1099 <key>Value</key>
1100 <integer>1</integer>
1101 </map>
1102 <key>ShowClientNameHoverTip</key>
1103 <map>
1104 <key>Comment</key>
1105 <string>Show *others* client in the hovertip</string>
1106 <key>Persist</key>
1107 <integer>1</integer>
1108 <key>Type</key>
1109 <string>Boolean</string>
1110 <key>Value</key>
1111 <integer>1</integer>
1112 </map>
1037 <key>ShowClientNameTag</key> 1113 <key>ShowClientNameTag</key>
1038 <map> 1114 <map>
1039 <key>Comment</key> 1115 <key>Comment</key>
@@ -1045,7 +1121,7 @@
1045 <key>Value</key> 1121 <key>Value</key>
1046 <integer>1</integer> 1122 <integer>1</integer>
1047 </map> 1123 </map>
1048 1124
1049 <key>ShowMyClientTagToOthers</key> 1125 <key>ShowMyClientTagToOthers</key>
1050 <map> 1126 <map>
1051 <key>Comment</key> 1127 <key>Comment</key>
@@ -1316,32 +1392,6 @@
1316 <key>Value</key> 1392 <key>Value</key>
1317 <integer>0</integer> 1393 <integer>0</integer>
1318 </map> 1394 </map>
1319
1320 <!-- Begin: MUpose -->
1321 <key>AllowMUpose</key>
1322 <map>
1323 <key>Comment</key>
1324 <string>Allow MU* pose style in chat and IM (with ':' as a synonymous to '/me ')</string>
1325 <key>Persist</key>
1326 <integer>1</integer>
1327 <key>Type</key>
1328 <string>Boolean</string>
1329 <key>Value</key>
1330 <integer>1</integer>
1331 </map>
1332 <key>AutoCloseOOC</key>
1333 <map>
1334 <key>Comment</key>
1335 <string>Auto-close OOC chat (i.e. add \"))\" if not found and \"((\" was used)</string>
1336 <key>Persist</key>
1337 <integer>1</integer>
1338 <key>Type</key>
1339 <string>Boolean</string>
1340 <key>Value</key>
1341 <integer>1</integer>
1342 </map>
1343 <!-- End: MUpose -->
1344
1345 <key>AllowIdleAFK</key> 1395 <key>AllowIdleAFK</key>
1346 <map> 1396 <map>
1347 <key>Comment</key> 1397 <key>Comment</key>
@@ -12275,21 +12325,6 @@
12275 <key>Value</key> 12325 <key>Value</key>
12276 <integer>1</integer> 12326 <integer>1</integer>
12277 </map> 12327 </map>
12278
12279<!-- Begin: Use Serverside Windlight Settings -->
12280 <key>UseServersideWindlightSettings</key>
12281 <map>
12282 <key>Comment</key>
12283 <string>Whether or not to use Windlight settings presented by the server.</string>
12284 <key>Persist</key>
12285 <integer>1</integer>
12286 <key>Type</key>
12287 <string>Boolean</string>
12288 <key>Value</key>
12289 <integer>1</integer>
12290 </map>
12291<!-- End: Use Serverside Windlight Settings -->
12292
12293 <key>UseStartScreen</key> 12328 <key>UseStartScreen</key>
12294 <map> 12329 <map>
12295 <key>Comment</key> 12330 <key>Comment</key>
diff --git a/linden/indra/newview/lightshare.cpp b/linden/indra/newview/lightshare.cpp
new file mode 100644
index 0000000..b422236
--- /dev/null
+++ b/linden/indra/newview/lightshare.cpp
@@ -0,0 +1,406 @@
1/**
2 * @file lightshare.cpp
3 * @brief Handler for Meta7 Lightshare (region-side Windlight settings).
4 *
5 * Copyright (c) 2010, Tom Grimshaw (Tom Meta)
6 * Copyright (c) 2010, Jacek Antonelli
7 *
8 * The source code in this file ("Source Code") is provided to you
9 * under the terms of the GNU General Public License, version 2.0
10 * ("GPL"). Terms of the GPL can be found in doc/GPL-license.txt in
11 * this distribution, or online at
12 * http://secondlifegrid.net/programs/open_source/licensing/gplv2
13 *
14 * There are special exceptions to the terms and conditions of the GPL as
15 * it is applied to this Source Code. View the full text of the exception
16 * in the file doc/FLOSS-exception.txt in this software distribution, or
17 * online at
18 * http://secondlifegrid.net/programs/open_source/licensing/flossexception
19 *
20 * By copying, modifying or distributing this software, you acknowledge
21 * that you have read and understood your obligations described above,
22 * and agree to abide by those obligations.
23 *
24 * ALL SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO
25 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
26 * COMPLETENESS OR PERFORMANCE.
27 */
28
29
30#include "lightshare.h"
31
32#include "linden_common.h"
33#include "llviewercontrol.h"
34#include "llwaterparammanager.h"
35#include "llwaterparamset.h"
36#include "llwlparammanager.h"
37#include "llwlparamset.h"
38#include "message.h"
39#include "meta7windlight.h"
40
41
42const std::string WindlightMessage::sWaterPresetName = "(Region settings)";
43const std::string WindlightMessage::sSkyPresetName = "(Region settings)";
44
45
46WindlightMessage* WindlightMessage::sMostRecent = NULL;
47LLTimer* WindlightMessage::sIgnoreTimer = new LLTimer();
48bool WindlightMessage::sIgnoreRegion = false;
49
50
51WindlightMessage::WindlightMessage( LLMessageSystem* msg ) :
52 mPacket(NULL),
53 mWater(NULL),
54 mSky(NULL),
55 mWaterNormal(NULL),
56 mIsValid(false)
57{
58 std::string method;
59 msg->getStringFast(_PREHASH_MethodData, _PREHASH_Method, method);
60
61 if( method != "Windlight" )
62 {
63 return; // Wrong message type, somehow.
64 }
65
66 S32 size = msg->getSizeFast(_PREHASH_ParamList, 0,
67 _PREHASH_Parameter);
68
69 if( size < 0 || 250 < size )
70 {
71 return; // Too small or too big.
72 }
73
74 // Unpack and process the message's binary payload.
75 char buf[250];
76 msg->getBinaryDataFast(_PREHASH_ParamList,
77 _PREHASH_Parameter,
78 buf, size, 0, 249);
79
80 mWater = new LLWaterParamSet();
81 mSky = new LLWLParamSet();
82 mWaterNormal = new LLUUID();
83
84 process_packet(&buf[0]);
85 process_water();
86 process_sky();
87
88 // *TODO: Actually validate the settings.
89 mIsValid = true;
90}
91
92
93WindlightMessage::~WindlightMessage()
94{
95 delete mWater;
96 delete mSky;
97 delete mWaterNormal;
98}
99
100
101// static
102void WindlightMessage::processWindlight(LLMessageSystem* msg, void**)
103{
104 if( gSavedSettings.getU32("UseLightShare") <= LIGHTSHARE_NEVER )
105 return;
106
107 WindlightMessage* wl = new WindlightMessage(msg);
108
109 if( !wl->isValid() )
110 return;
111
112 std::string water = LLWaterParamManager::instance()->mCurParams.mName;
113 std::string sky = LLWLParamManager::instance()->mCurParams.mName;
114
115 // If they are using region settings already, or LightShare is
116 // always allowed, just apply the new settings, don't bother asking.
117 if( gSavedSettings.getU32("UseLightShare") == LIGHTSHARE_ALWAYS ||
118 (sky == sSkyPresetName && water == sWaterPresetName) )
119 {
120 wl->apply();
121 delete wl;
122 return;
123 }
124
125 if( !ignoreTimerHasExpired() )
126 {
127 // The user recently ignored a windlight message, so ignore
128 // this one too, and restart the timer.
129 restartIgnoreTimer();
130 delete wl;
131 return;
132 }
133
134 if(sIgnoreRegion)
135 {
136 // We are ignoring new settings until user enters a new region.
137 delete wl;
138 return;
139 }
140
141 if( gSavedSettings.getU32("UseLightShare") == LIGHTSHARE_ASK &&
142 sMostRecent == NULL )
143 {
144 // No most recent, so store this and create notification
145 // asking the user whether to apply or not.
146 sMostRecent = wl;
147 LLNotifications::instance().add("ConfirmLightShare", LLSD(), LLSD(),
148 boost::bind(&applyCallback, _1, _2));
149 return;
150 }
151 else
152 {
153 // No new notification (to avoid spamming the user), just
154 // store this as most recent.
155 delete sMostRecent;
156 sMostRecent = wl;
157 return;
158 }
159}
160
161
162// static
163bool WindlightMessage::applyCallback(const LLSD& notification,
164 const LLSD& response)
165{
166 S32 option = LLNotification::getSelectedOption(notification, response);
167
168 switch(option)
169 {
170 case 0:{
171 // "Apply"
172 sMostRecent->apply();
173 break;
174 }
175 case 1:{
176 // "Not Now", ignore until the region stops spamming
177 restartIgnoreTimer();
178 break;
179 }
180 case 2:{
181 // "Ignore", ignore all until user leaves the region
182 sIgnoreRegion = true;
183 break;
184 }
185 }
186
187 delete sMostRecent;
188 sMostRecent = NULL;
189
190 return false;
191}
192
193
194// static
195void WindlightMessage::resetRegion()
196{
197 sIgnoreRegion = false;
198}
199
200
201// static
202void WindlightMessage::restartIgnoreTimer()
203{
204 F32 time = gSavedSettings.getF32("LightShareIgnoreTimer");
205 sIgnoreTimer->start();
206 sIgnoreTimer->setTimerExpirySec( (time < 0) ? 0 : time );
207}
208
209// static
210bool WindlightMessage::ignoreTimerHasExpired()
211{
212 return sIgnoreTimer->hasExpired();
213}
214
215
216bool WindlightMessage::apply()
217{
218 LLWaterParamManager* water_mgr = LLWaterParamManager::instance();
219 LLWLParamManager* sky_mgr = LLWLParamManager::instance();
220
221 mWater->mName = sWaterPresetName;
222 water_mgr->removeParamSet( sWaterPresetName, false );
223 water_mgr->addParamSet( sWaterPresetName, *mWater );
224 water_mgr->savePreset( sWaterPresetName );
225 water_mgr->loadPreset( sWaterPresetName, true );
226 water_mgr->setNormalMapID( *mWaterNormal );
227
228 mSky->mName = sSkyPresetName;
229 sky_mgr->mAnimator.mIsRunning = false;
230 sky_mgr->mAnimator.mUseLindenTime = false;
231 sky_mgr->removeParamSet( sSkyPresetName, false );
232 sky_mgr->addParamSet( sSkyPresetName, *mSky );
233 sky_mgr->savePreset( sSkyPresetName );
234 sky_mgr->loadPreset( sSkyPresetName, true );
235
236 return true;
237}
238
239
240bool WindlightMessage::isValid()
241{
242 return mIsValid;
243}
244
245
246void WindlightMessage::process_packet( char* buf )
247{
248 // *FIXME: Horrible idea, fragile, not byte-order or endian
249 // safe, no validation, etc. etc. -Jacek
250 mPacket = (Meta7WindlightPacket*)buf;
251}
252
253
254void WindlightMessage::process_water()
255{
256 mWater->set("waterFogColor",
257 mPacket->waterColor.red / 256.f,
258 mPacket->waterColor.green / 256.f,
259 mPacket->waterColor.blue / 256.f);
260
261 mWater->set("waterFogDensity",
262 pow(2.0f, mPacket->waterFogDensityExponent));
263
264 mWater->set("underWaterFogMod", mPacket->underwaterFogModifier);
265
266 mWater->set("normScale",
267 mPacket->reflectionWaveletScale.X,
268 mPacket->reflectionWaveletScale.Y,
269 mPacket->reflectionWaveletScale.Z);
270
271 mWater->set("fresnelScale", mPacket->fresnelScale);
272 mWater->set("fresnelOffset", mPacket->fresnelOffset);
273 mWater->set("scaleAbove", mPacket->refractScaleAbove);
274 mWater->set("scaleBelow", mPacket->refractScaleBelow);
275 mWater->set("blurMultiplier", mPacket->blurMultiplier);
276
277 mWater->set("wave1Dir",
278 mPacket->littleWaveDirection.X,
279 mPacket->littleWaveDirection.Y);
280
281 mWater->set("wave2Dir",
282 mPacket->bigWaveDirection.X,
283 mPacket->bigWaveDirection.Y);
284
285
286 // Format a UUID string from a block of raw bytes. Ugh.
287 std::string uuid = llformat(
288 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
289 (U8)(mPacket->normalMapTexture[0]),
290 (U8)(mPacket->normalMapTexture[1]),
291 (U8)(mPacket->normalMapTexture[2]),
292 (U8)(mPacket->normalMapTexture[3]),
293 (U8)(mPacket->normalMapTexture[4]),
294 (U8)(mPacket->normalMapTexture[5]),
295 (U8)(mPacket->normalMapTexture[6]),
296 (U8)(mPacket->normalMapTexture[7]),
297 (U8)(mPacket->normalMapTexture[8]),
298 (U8)(mPacket->normalMapTexture[9]),
299 (U8)(mPacket->normalMapTexture[10]),
300 (U8)(mPacket->normalMapTexture[11]),
301 (U8)(mPacket->normalMapTexture[12]),
302 (U8)(mPacket->normalMapTexture[13]),
303 (U8)(mPacket->normalMapTexture[14]),
304 (U8)(mPacket->normalMapTexture[15]));
305
306 mWaterNormal->set(uuid);
307}
308
309
310void WindlightMessage::process_sky()
311{
312 mSky->setSunAngle(F_TWO_PI * mPacket->sunMoonPosiiton);
313 mSky->setEastAngle(F_TWO_PI * mPacket->eastAngle);
314
315 mSky->set("sunlight_color",
316 mPacket->sunMoonColor.red * 3.0f,
317 mPacket->sunMoonColor.green * 3.0f,
318 mPacket->sunMoonColor.blue * 3.0f,
319 mPacket->sunMoonColor.alpha * 3.0f);
320
321 mSky->set("ambient",
322 mPacket->ambient.red * 3.0f,
323 mPacket->ambient.green * 3.0f,
324 mPacket->ambient.blue * 3.0f,
325 mPacket->ambient.alpha * 3.0f);
326
327 mSky->set("blue_horizon",
328 mPacket->horizon.red * 2.0f,
329 mPacket->horizon.green *2.0f,
330 mPacket->horizon.blue * 2.0f,
331 mPacket->horizon.alpha * 2.0f);
332
333 mSky->set("blue_density",
334 mPacket->blueDensity.red * 2.0f,
335 mPacket->blueDensity.green * 2.0f,
336 mPacket->blueDensity.blue * 2.0f,
337 mPacket->blueDensity.alpha * 2.0f);
338
339 mSky->set("haze_horizon",
340 mPacket->hazeHorizon,
341 mPacket->hazeHorizon,
342 mPacket->hazeHorizon,
343 1.f);
344
345 mSky->set("haze_density",
346 mPacket->hazeDensity,
347 0.f, 0.f, 1.f);
348
349 mSky->set("cloud_shadow",
350 mPacket->cloudCoverage,
351 0.f, 0.f, 1.f);
352
353 mSky->set("density_multiplier",
354 mPacket->densityMultiplier / 1000.0f,
355 0.f, 0.f, 1.f);
356
357 mSky->set("distance_multiplier",
358 mPacket->distanceMultiplier,
359 0.f, 0.f, 1.f);
360
361 mSky->set("max_y",
362 (F32)mPacket->maxAltitude,
363 0.f, 0.f, 1.f);
364
365 mSky->set("cloud_color",
366 mPacket->cloudColor.red,
367 mPacket->cloudColor.green,
368 mPacket->cloudColor.blue,
369 mPacket->cloudColor.alpha);
370
371 mSky->set("cloud_pos_density1",
372 mPacket->cloudXYDensity.X,
373 mPacket->cloudXYDensity.Y,
374 mPacket->cloudXYDensity.Z,
375 1.f);
376
377 mSky->set("cloud_pos_density2",
378 mPacket->cloudDetailXYDensity.X,
379 mPacket->cloudDetailXYDensity.Y,
380 mPacket->cloudDetailXYDensity.Z,
381 1.f);
382
383 mSky->set("cloud_scale",
384 mPacket->cloudScale,
385 0.f, 0.f, 1.f);
386
387 mSky->set("gamma",
388 mPacket->sceneGamma,
389 0.f, 0.f, 1.f);
390
391 mSky->set("glow",
392 (2 - mPacket->sunGlowSize) * 20,
393 0.f,
394 -mPacket->sunGlowFocus * 5,
395 1.f);
396
397 mSky->setCloudScrollX(mPacket->cloudScrollX + 10.0f);
398 mSky->setCloudScrollY(mPacket->cloudScrollY + 10.0f);
399
400 mSky->setEnableCloudScrollX(!mPacket->cloudScrollXLock);
401 mSky->setEnableCloudScrollY(!mPacket->cloudScrollYLock);
402
403 mSky->setStarBrightness(mPacket->starBrightness);
404}
405
406
diff --git a/linden/indra/newview/lightshare.h b/linden/indra/newview/lightshare.h
new file mode 100644
index 0000000..e3cccf0
--- /dev/null
+++ b/linden/indra/newview/lightshare.h
@@ -0,0 +1,124 @@
1/**
2 * @file lightshare.h
3 * @brief WindlightMessage class definition.
4 *
5 * Copyright (c) 2010, Jacek Antonelli
6 *
7 * The source code in this file ("Source Code") is provided to you
8 * under the terms of the GNU General Public License, version 2.0
9 * ("GPL"). Terms of the GPL can be found in doc/GPL-license.txt in
10 * this distribution, or online at
11 * http://secondlifegrid.net/programs/open_source/licensing/gplv2
12 *
13 * There are special exceptions to the terms and conditions of the GPL as
14 * it is applied to this Source Code. View the full text of the exception
15 * in the file doc/FLOSS-exception.txt in this software distribution, or
16 * online at
17 * http://secondlifegrid.net/programs/open_source/licensing/flossexception
18 *
19 * By copying, modifying or distributing this software, you acknowledge
20 * that you have read and understood your obligations described above,
21 * and agree to abide by those obligations.
22 *
23 * ALL SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE.
26 */
27
28
29#ifndef LIGHTSHARE_H
30#define LIGHTSHARE_H
31
32#include <string>
33
34struct Meta7WindlightPacket;
35class LLMessageSystem;
36class LLSD;
37class LLTimer;
38class LLUUID;
39class LLWaterParamSet;
40class LLWLParamSet;
41
42
43// Encapsulates a "Windlight" (LightShare) message sent from the
44// region, allowing the settings to be applied at a later time.
45//
46class WindlightMessage
47{
48 public:
49
50 // The meanings of the LightShareAllowed user setting.
51 enum LIGHTSHARE_ALLOWED
52 {
53 LIGHTSHARE_NEVER = 0,
54 LIGHTSHARE_ASK = 1,
55 LIGHTSHARE_ALWAYS = 2,
56 };
57
58 // Constructs a new WindlightMessage instance from a GenericMessage
59 // with the "Windlight" method, such as those sent by a
60 // Lightshare-enabled OpenSim region.
61 WindlightMessage( LLMessageSystem* msg );
62
63 ~WindlightMessage();
64
65 // The name of the water preset where the region settings are stored.
66 static const std::string sWaterPresetName;
67
68 // The name of the sky preset where the region settings are stored.
69 static const std::string sSkyPresetName;
70
71 // Message handler for GenericMessage with the "Windlight" method.
72 // Creates and applies a new WindlightMessage (or prompts user).
73 static void processWindlight(LLMessageSystem* msg, void**);
74
75 // Callback when the user interacts with the notification.
76 static bool applyCallback(const LLSD& notification,
77 const LLSD& response);
78
79 // Called after the user has entered a new region, to reset the
80 // "ignore while in this region" state.
81 static void resetRegion();
82
83 // Applies/activates the Windlight settings from the message.
84 bool apply();
85
86 // Returns true if the message contains valid Windlight settings.
87 // (But there's no real validation yet, so this is always true.)
88 bool isValid();
89
90
91 protected:
92
93 // Restart the timer for temporarily ignoring settings.
94 static void restartIgnoreTimer();
95
96 // Returns true if the ignore timer has expired (i.e. new settings
97 // should not be ignored anymore).
98 static bool ignoreTimerHasExpired();
99
100
101 private:
102
103 static WindlightMessage* sMostRecent;
104 static LLTimer* sIgnoreTimer;
105 static bool sIgnoreRegion;
106
107 Meta7WindlightPacket* mPacket;
108 LLWaterParamSet* mWater;
109 LLWLParamSet* mSky;
110 LLUUID* mWaterNormal;
111 bool mIsValid;
112
113 // Converts the message's raw bytes into a Meta7WindlightPacket.
114 void process_packet( char* buf );
115
116 // Constructs a LLWaterParamSet from the Meta7WindlightPacket.
117 void process_water();
118
119 // Constructs a LLWLParamSet from the Meta7WindlightPacket.
120 void process_sky();
121
122};
123
124#endif
diff --git a/linden/indra/newview/llfilepicker.cpp b/linden/indra/newview/llfilepicker.cpp
index d953e45..40b1abb 100644
--- a/linden/indra/newview/llfilepicker.cpp
+++ b/linden/indra/newview/llfilepicker.cpp
@@ -1177,7 +1177,7 @@ BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename
1177 break; 1177 break;
1178 case FFSAVE_RAW: 1178 case FFSAVE_RAW:
1179 caption += add_simple_pattern_filter_to_gtkchooser 1179 caption += add_simple_pattern_filter_to_gtkchooser
1180 (picker, "*.raw", LLTrans::getString("raw_file") + " (*.raw)"); 1180 (picker, "*.raw", LLTrans::getString("dot_raw_file") + " (*.raw)");
1181 suggest_ext = ".raw"; 1181 suggest_ext = ".raw";
1182 break; 1182 break;
1183 case FFSAVE_J2C: 1183 case FFSAVE_J2C:
diff --git a/linden/indra/newview/llglsandbox.cpp b/linden/indra/newview/llglsandbox.cpp
index e9077a9..3acfbf3 100644
--- a/linden/indra/newview/llglsandbox.cpp
+++ b/linden/indra/newview/llglsandbox.cpp
@@ -71,18 +71,6 @@
71 71
72BOOL LLAgent::setLookAt(ELookAtType target_type, LLViewerObject *object, LLVector3 position) 72BOOL LLAgent::setLookAt(ELookAtType target_type, LLViewerObject *object, LLVector3 position)
73{ 73{
74 if (object && target_type != LOOKAT_TARGET_NONE && gSavedSettings.getBOOL("PrivateLookAtTarget"))
75 {
76 target_type = LOOKAT_TARGET_NONE;
77 object = mAvatarObject;
78 position.clearVec();
79 LLViewerObject* source_obj = mLookAt->getSourceObject();
80 if (source_obj)
81 {
82 mLookAt->setTargetObject(source_obj);
83 }
84 }
85
86 if(object && object->isAttachment()) 74 if(object && object->isAttachment())
87 { 75 {
88 LLViewerObject* parent = object; 76 LLViewerObject* parent = object;
@@ -109,18 +97,12 @@ BOOL LLAgent::setLookAt(ELookAtType target_type, LLViewerObject *object, LLVecto
109BOOL LLAgent::setPointAt(EPointAtType target_type, LLViewerObject *object, LLVector3 position) 97BOOL LLAgent::setPointAt(EPointAtType target_type, LLViewerObject *object, LLVector3 position)
110{ 98{
111 // disallow pointing at attachments and avatars 99 // disallow pointing at attachments and avatars
112 if (object && (object->isAttachment() || object->isAvatar())) 100 bool private_pointat = gSavedSettings.getBOOL("PrivatePointAtTarget");//this is the arm motion
101 if (object && (object->isAttachment() || object->isAvatar() || private_pointat))
113 { 102 {
114 return FALSE; 103 return FALSE;
115 } 104 }
116 105
117 if (object && target_type != POINTAT_TARGET_NONE && gSavedSettings.getBOOL("PrivateLookAtTarget"))
118 {
119 target_type = POINTAT_TARGET_NONE;
120 object = NULL;
121 position.clearVec();
122 }
123
124 if(!mPointAt || mPointAt->isDead()) 106 if(!mPointAt || mPointAt->isDead())
125 { 107 {
126 mPointAt = (LLHUDEffectPointAt *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_POINTAT); 108 mPointAt = (LLHUDEffectPointAt *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_POINTAT);
diff --git a/linden/indra/newview/llhoverview.cpp b/linden/indra/newview/llhoverview.cpp
index 5d59818..8c367ab 100644
--- a/linden/indra/newview/llhoverview.cpp
+++ b/linden/indra/newview/llhoverview.cpp
@@ -64,6 +64,7 @@
64#include "llviewerparcelmgr.h" 64#include "llviewerparcelmgr.h"
65#include "llviewerregion.h" 65#include "llviewerregion.h"
66#include "llviewerwindow.h" 66#include "llviewerwindow.h"
67#include "llvoavatar.h"
67#include "llglheaders.h" 68#include "llglheaders.h"
68#include "llviewerimagelist.h" 69#include "llviewerimagelist.h"
69//#include "lltoolobjpicker.h" 70//#include "lltoolobjpicker.h"
@@ -272,6 +273,31 @@ void LLHoverView::updateText()
272 line.append(LLTrans::getString("TooltipPerson")); 273 line.append(LLTrans::getString("TooltipPerson"));
273 } 274 }
274 mText.push_back(line); 275 mText.push_back(line);
276
277 if (gSavedSettings.getBOOL("ShowClientNameHoverTip"))
278 {
279 LLColor4 color;
280 std::string client;
281 LLVOAvatar* avatar = (LLVOAvatar*)hit_object;
282 if (avatar->isSelf())
283 {
284 client="Client: Imprudence";
285 }
286 else
287 {
288 LLVOAvatar::resolveClient(color, client, avatar);
289 if(client.empty() ||client == "Invalid" || client == "Failure")
290 {
291 client = "Client: <not available>";
292 }
293 else
294 {
295 client = "Client: " + client;
296 }
297 }
298 mText.push_back(client);
299
300 }
275 } 301 }
276 else 302 else
277 { 303 {
diff --git a/linden/indra/newview/llhudeffectbeam.cpp b/linden/indra/newview/llhudeffectbeam.cpp
index a7c1214..f6dff50 100644
--- a/linden/indra/newview/llhudeffectbeam.cpp
+++ b/linden/indra/newview/llhudeffectbeam.cpp
@@ -83,9 +83,30 @@ LLHUDEffectBeam::~LLHUDEffectBeam()
83 83
84void LLHUDEffectBeam::packData(LLMessageSystem *mesgsys) 84void LLHUDEffectBeam::packData(LLMessageSystem *mesgsys)
85{ 85{
86 if (!mSourceObject) 86 LLViewerObject* source_object = (LLViewerObject*)mSourceObject;
87
88 if (!source_object)
89 {
90 markDead();
91 return;
92 }
93 else if (!source_object->isAvatar())
87 { 94 {
88 llwarns << "Missing source object!" << llendl; 95 LL_DEBUGS("HUDEffect")<<"Non-Avatar HUDEffectBeam message for ID: "
96 << source_object->getID().asString()<< LL_ENDL;
97 markDead();
98 return;
99 }
100 else
101 {
102 LLVOAvatar* source_avatar = (LLVOAvatar*)source_object;
103 if (!source_avatar->isSelf())
104 {
105 LL_DEBUGS("HUDEffect")<<"Non-self HUDEffectBeam message for ID: "
106 << source_avatar->getID().asString()<< LL_ENDL;
107 markDead();
108 return;
109 }
89 } 110 }
90 111
91 // Pack the default data 112 // Pack the default data
diff --git a/linden/indra/newview/llhudeffectlookat.cpp b/linden/indra/newview/llhudeffectlookat.cpp
index 60b2b89..a997910 100644
--- a/linden/indra/newview/llhudeffectlookat.cpp
+++ b/linden/indra/newview/llhudeffectlookat.cpp
@@ -269,6 +269,51 @@ LLHUDEffectLookAt::~LLHUDEffectLookAt()
269//----------------------------------------------------------------------------- 269//-----------------------------------------------------------------------------
270void LLHUDEffectLookAt::packData(LLMessageSystem *mesgsys) 270void LLHUDEffectLookAt::packData(LLMessageSystem *mesgsys)
271{ 271{
272 // pack both target object and position
273 // position interpreted as offset if target object is non-null
274 ELookAtType target_type = mTargetType;
275 LLVector3d target_offset_global = mTargetOffsetGlobal;
276 LLViewerObject* target_object = (LLViewerObject*)mTargetObject;
277
278
279 LLViewerObject* source_object = (LLViewerObject*)mSourceObject;
280 LLVOAvatar* source_avatar = NULL;
281
282 if (!source_object)
283 {
284 markDead();
285 return;
286 }
287 if (source_object->isAvatar()) //strange enough that non-objects try
288 //to send a lookat message ...
289 {
290 source_avatar = (LLVOAvatar*)source_object;
291 }
292 else //... more strange if its an non-avatar object ...
293 {
294 LL_DEBUGS("HUDEffect")<<"Non-Avatar HUDEffectLookAt message for ID: " << source_object->getID().asString()<< LL_ENDL;
295 markDead();
296 return;
297 }
298
299
300 bool is_self = source_avatar->isSelf();
301 bool is_private = gSavedSettings.getBOOL("PrivateLookAtTarget");
302 if (!is_self) //... very strange if it is not self. But happens. Also at local opensim.
303 {
304 LL_DEBUGS("HUDEffect")<< "Non-self Avatar HUDEffectLookAt message for ID: " << source_avatar->getID().asString() << LL_ENDL;
305 markDead();
306 return;
307 }
308 else if (is_private && target_type != LOOKAT_TARGET_AUTO_LISTEN)
309 {
310 //this mimicks "do nothing"
311 target_type = LOOKAT_TARGET_AUTO_LISTEN;
312 target_offset_global.setVec(2.5, 0.0, 0.0);
313 target_object = mSourceObject;
314 }
315
316
272 // Pack the default data 317 // Pack the default data
273 LLHUDEffect::packData(mesgsys); 318 LLHUDEffect::packData(mesgsys);
274 319
@@ -280,25 +325,23 @@ void LLHUDEffectLookAt::packData(LLMessageSystem *mesgsys)
280 { 325 {
281 htonmemcpy(&(packed_data[SOURCE_AVATAR]), mSourceObject->mID.mData, MVT_LLUUID, 16); 326 htonmemcpy(&(packed_data[SOURCE_AVATAR]), mSourceObject->mID.mData, MVT_LLUUID, 16);
282 } 327 }
283 else 328 else //um ... we already returned ... how's that the case?
284 { 329 {
285 htonmemcpy(&(packed_data[SOURCE_AVATAR]), LLUUID::null.mData, MVT_LLUUID, 16); 330 htonmemcpy(&(packed_data[SOURCE_AVATAR]), LLUUID::null.mData, MVT_LLUUID, 16);
286 } 331 }
287 332
288 // pack both target object and position
289 // position interpreted as offset if target object is non-null
290 if (mTargetObject) 333 if (mTargetObject)
291 { 334 {
292 htonmemcpy(&(packed_data[TARGET_OBJECT]), mTargetObject->mID.mData, MVT_LLUUID, 16); 335 htonmemcpy(&(packed_data[TARGET_OBJECT]), target_object->mID.mData, MVT_LLUUID, 16);
293 } 336 }
294 else 337 else
295 { 338 {
296 htonmemcpy(&(packed_data[TARGET_OBJECT]), LLUUID::null.mData, MVT_LLUUID, 16); 339 htonmemcpy(&(packed_data[TARGET_OBJECT]), LLUUID::null.mData, MVT_LLUUID, 16);
297 } 340 }
298 341
299 htonmemcpy(&(packed_data[TARGET_POS]), mTargetOffsetGlobal.mdV, MVT_LLVector3d, 24); 342 htonmemcpy(&(packed_data[TARGET_POS]), target_offset_global.mdV, MVT_LLVector3d, 24);
300 343
301 U8 lookAtTypePacked = (U8)mTargetType; 344 U8 lookAtTypePacked = (U8)target_type;
302 345
303 htonmemcpy(&(packed_data[LOOKAT_TYPE]), &lookAtTypePacked, MVT_U8, 1); 346 htonmemcpy(&(packed_data[LOOKAT_TYPE]), &lookAtTypePacked, MVT_U8, 1);
304 347
@@ -370,7 +413,7 @@ void LLHUDEffectLookAt::unpackData(LLMessageSystem *mesgsys, S32 blocknum)
370 htonmemcpy(&lookAtTypeUnpacked, &(packed_data[LOOKAT_TYPE]), MVT_U8, 1); 413 htonmemcpy(&lookAtTypeUnpacked, &(packed_data[LOOKAT_TYPE]), MVT_U8, 1);
371 if (lookAtTypeUnpacked > 10) 414 if (lookAtTypeUnpacked > 10)
372 { 415 {
373 LL_DEBUGS("LookAt")<< "wrong lookAtTypeUnpacked: " << lookAtTypeUnpacked << LL_ENDL; 416 LL_DEBUGS("HUDEffect")<< "wrong lookAtTypeUnpacked: " << lookAtTypeUnpacked << LL_ENDL;
374 lookAtTypeUnpacked = 0; 417 lookAtTypeUnpacked = 0;
375 } 418 }
376 419
diff --git a/linden/indra/newview/llhudeffectpointat.cpp b/linden/indra/newview/llhudeffectpointat.cpp
index 2b82748..17485cf 100644
--- a/linden/indra/newview/llhudeffectpointat.cpp
+++ b/linden/indra/newview/llhudeffectpointat.cpp
@@ -103,6 +103,32 @@ LLHUDEffectPointAt::~LLHUDEffectPointAt()
103//----------------------------------------------------------------------------- 103//-----------------------------------------------------------------------------
104void LLHUDEffectPointAt::packData(LLMessageSystem *mesgsys) 104void LLHUDEffectPointAt::packData(LLMessageSystem *mesgsys)
105{ 105{
106 LLViewerObject* source_object = (LLViewerObject*)mSourceObject;
107
108 if (!source_object)
109 {
110 markDead();
111 return;
112 }
113 else if (!source_object->isAvatar())
114 {
115 LL_DEBUGS("HUDEffect")<<"Non-Avatar HUDEffectPointAt message for ID: "
116 << source_object->getID().asString()<< LL_ENDL;
117 markDead();
118 return;
119 }
120 else
121 {
122 LLVOAvatar* source_avatar = (LLVOAvatar*)source_object;
123 if (!source_avatar->isSelf())
124 {
125 LL_DEBUGS("HUDEffect")<<"Non-self HUDEffectPointAt message for ID: "
126 << source_avatar->getID().asString()<< LL_ENDL;
127 markDead();
128 return;
129 }
130 }
131
106 // Pack the default data 132 // Pack the default data
107 LLHUDEffect::packData(mesgsys); 133 LLHUDEffect::packData(mesgsys);
108 134
diff --git a/linden/indra/newview/llprefsadvanced.cpp b/linden/indra/newview/llprefsadvanced.cpp
index 6489f52..60c936a 100644
--- a/linden/indra/newview/llprefsadvanced.cpp
+++ b/linden/indra/newview/llprefsadvanced.cpp
@@ -58,7 +58,8 @@ BOOL LLPrefsAdvanced::postBuild()
58 childSetValue("disable_log_screen_check", gSavedSettings.getBOOL("DisableLoginLogoutScreens")); 58 childSetValue("disable_log_screen_check", gSavedSettings.getBOOL("DisableLoginLogoutScreens"));
59 childSetValue("disable_tp_screen_check", gSavedSettings.getBOOL("DisableTeleportScreens")); 59 childSetValue("disable_tp_screen_check", gSavedSettings.getBOOL("DisableTeleportScreens"));
60 childSetValue("client_name_tag_check", gSavedSettings.getBOOL("ShowClientNameTag")); 60 childSetValue("client_name_tag_check", gSavedSettings.getBOOL("ShowClientNameTag"));
61 childSetValue("windlight_check", gSavedSettings.getBOOL("UseServersideWindlightSettings")); 61 childSetValue("client_name_color_check", gSavedSettings.getBOOL("ShowClientColor"));
62 childSetValue("client_name_hover_check", gSavedSettings.getBOOL("ShowClientNameHoverTip"));
62 childSetValue("client_name_tag_broadcast_check", gSavedSettings.getBOOL("ShowMyClientTagToOthers")); 63 childSetValue("client_name_tag_broadcast_check", gSavedSettings.getBOOL("ShowMyClientTagToOthers"));
63 childSetValue("http_texture_check", gSavedSettings.getBOOL("ImagePipelineUseHTTP")); 64 childSetValue("http_texture_check", gSavedSettings.getBOOL("ImagePipelineUseHTTP"));
64 childSetValue("speed_rez_check", gSavedSettings.getBOOL("SpeedRez")); 65 childSetValue("speed_rez_check", gSavedSettings.getBOOL("SpeedRez"));
@@ -66,6 +67,11 @@ BOOL LLPrefsAdvanced::postBuild()
66 childSetValue("appearance_anim_check", gSavedSettings.getBOOL("AppearanceAnimate")); 67 childSetValue("appearance_anim_check", gSavedSettings.getBOOL("AppearanceAnimate"));
67 childSetValue("legacy_pie_menu_checkbox", gSavedSettings.getBOOL("LegacyPieEnabled")); 68 childSetValue("legacy_pie_menu_checkbox", gSavedSettings.getBOOL("LegacyPieEnabled"));
68 childSetValue("language_is_public", gSavedSettings.getBOOL("LanguageIsPublic")); 69 childSetValue("language_is_public", gSavedSettings.getBOOL("LanguageIsPublic"));
70 childSetValue("allow_mupose", gSavedSettings.getBOOL("AllowMUpose"));
71 childSetValue("auto_close_ooc", gSavedSettings.getBOOL("AutoCloseOOC"));
72
73 childSetValue("lightshare_combo",
74 LLSD((S32)gSavedSettings.getU32("LightShareAllowed")));
69 75
70 LLComboBox* crash_behavior_combobox = getChild<LLComboBox>("crash_behavior_combobox"); 76 LLComboBox* crash_behavior_combobox = getChild<LLComboBox>("crash_behavior_combobox");
71 crash_behavior_combobox->setCurrentByIndex(gCrashSettings.getS32(CRASH_BEHAVIOR_SETTING)); 77 crash_behavior_combobox->setCurrentByIndex(gCrashSettings.getS32(CRASH_BEHAVIOR_SETTING));
@@ -80,12 +86,18 @@ void LLPrefsAdvanced::apply()
80 gSavedSettings.setBOOL("DisableLoginLogoutScreens", childGetValue("disable_log_screen_check")); 86 gSavedSettings.setBOOL("DisableLoginLogoutScreens", childGetValue("disable_log_screen_check"));
81 gSavedSettings.setBOOL("DisableTeleportScreens", childGetValue("disable_tp_screen_check")); 87 gSavedSettings.setBOOL("DisableTeleportScreens", childGetValue("disable_tp_screen_check"));
82 gSavedSettings.setBOOL("ShowClientNameTag", childGetValue("client_name_tag_check")); 88 gSavedSettings.setBOOL("ShowClientNameTag", childGetValue("client_name_tag_check"));
89 gSavedSettings.setBOOL("ShowClientColor", childGetValue("client_name_color_check"));
90 gSavedSettings.setBOOL("ShowClientNameHoverTip", childGetValue("client_name_hover_check"));
83 gSavedSettings.setBOOL("ImagePipelineUseHTTP", childGetValue("http_texture_check")); 91 gSavedSettings.setBOOL("ImagePipelineUseHTTP", childGetValue("http_texture_check"));
84 gSavedSettings.setBOOL("SpeedRez", childGetValue("speed_rez_check")); 92 gSavedSettings.setBOOL("SpeedRez", childGetValue("speed_rez_check"));
85 gSavedSettings.setU32("SpeedRezInterval", childGetValue("speed_rez_interval_spinner").asReal()); 93 gSavedSettings.setU32("SpeedRezInterval", childGetValue("speed_rez_interval_spinner").asReal());
86 gSavedSettings.setBOOL("AppearanceAnimate", childGetValue("appearance_anim_check")); 94 gSavedSettings.setBOOL("AppearanceAnimate", childGetValue("appearance_anim_check"));
87 gSavedSettings.setBOOL("UseServersideWindlightSettings", childGetValue("windlight_check"));
88 gSavedSettings.setBOOL("LanguageIsPublic", childGetValue("language_is_public")); 95 gSavedSettings.setBOOL("LanguageIsPublic", childGetValue("language_is_public"));
96 gSavedSettings.setBOOL("AllowMUpose", childGetValue("allow_mupose"));
97 gSavedSettings.setBOOL("AutoCloseOOC", childGetValue("auto_close_ooc"));
98 gSavedSettings.setU32("LightShareAllowed",
99 (U32)childGetValue("lightshare_combo").asInteger());
100
89 101
90 // Need to force a rebake when ClothingLayerProtection toggled for it take effect -- MC 102 // Need to force a rebake when ClothingLayerProtection toggled for it take effect -- MC
91 if (gSavedSettings.getBOOL("ShowMyClientTagToOthers") != (BOOL)childGetValue("client_name_tag_broadcast_check")) 103 if (gSavedSettings.getBOOL("ShowMyClientTagToOthers") != (BOOL)childGetValue("client_name_tag_broadcast_check"))
diff --git a/linden/indra/newview/lltextureview.cpp b/linden/indra/newview/lltextureview.cpp
index cda01fa..04cebf5 100644
--- a/linden/indra/newview/lltextureview.cpp
+++ b/linden/indra/newview/lltextureview.cpp
@@ -666,6 +666,10 @@ void LLTextureView::draw()
666 iter != gImageList.mImageList.end(); ) 666 iter != gImageList.mImageList.end(); )
667 { 667 {
668 LLPointer<LLViewerImage> imagep = *iter++; 668 LLPointer<LLViewerImage> imagep = *iter++;
669 if(!imagep->hasFetcher())
670 {
671 continue ;
672 }
669 673
670 S32 cur_discard = imagep->getDiscardLevel(); 674 S32 cur_discard = imagep->getDiscardLevel();
671 S32 desired_discard = imagep->mDesiredDiscardLevel; 675 S32 desired_discard = imagep->mDesiredDiscardLevel;
@@ -711,7 +715,7 @@ void LLTextureView::draw()
711 pri = imagep->getDecodePriority(); 715 pri = imagep->getDecodePriority();
712 } 716 }
713 pri = llclamp(pri, 0.0f, HIGH_PRIORITY-1.f); 717 pri = llclamp(pri, 0.0f, HIGH_PRIORITY-1.f);
714 718
715 if (sDebugImages.find(imagep) != sDebugImages.end()) 719 if (sDebugImages.find(imagep) != sDebugImages.end())
716 { 720 {
717 pri += 4*HIGH_PRIORITY; 721 pri += 4*HIGH_PRIORITY;
@@ -773,7 +777,7 @@ void LLTextureView::draw()
773 { 777 {
774 display_image_list.insert(std::make_pair(pri, imagep)); 778 display_image_list.insert(std::make_pair(pri, imagep));
775 } 779 }
776 } 780 }//for
777 781
778 if (mPrintList) 782 if (mPrintList)
779 { 783 {
diff --git a/linden/indra/newview/llviewergenericmessage.cpp b/linden/indra/newview/llviewergenericmessage.cpp
index c9954b3..8078888 100644
--- a/linden/indra/newview/llviewergenericmessage.cpp
+++ b/linden/indra/newview/llviewergenericmessage.cpp
@@ -32,18 +32,15 @@
32 */ 32 */
33 33
34#include "llviewerprecompiledheaders.h" 34#include "llviewerprecompiledheaders.h"
35
36#include "llviewergenericmessage.h" 35#include "llviewergenericmessage.h"
37#include "meta7windlight.h" 36
38#include "lldispatcher.h" 37#include "lldispatcher.h"
39#include "lluuid.h" 38#include "lluuid.h"
40#include "message.h" 39#include "message.h"
41#include "llagent.h" 40#include "llagent.h"
42#include "llwaterparamset.h"
43#include "llwaterparammanager.h"
44#include "llwlparamset.h"
45#include "llwlparammanager.h"
46#include "lluuid.h" 41#include "lluuid.h"
42#include "lightshare.h"
43
47 44
48LLDispatcher gGenericDispatcher; 45LLDispatcher gGenericDispatcher;
49 46
@@ -88,109 +85,20 @@ void process_generic_message(LLMessageSystem* msg, void**)
88 std::string method; 85 std::string method;
89 msg->getStringFast(_PREHASH_MethodData, _PREHASH_Method, method); 86 msg->getStringFast(_PREHASH_MethodData, _PREHASH_Method, method);
90 87
91 //This needs to be handled by a dispatcher really, but I'm not sure where is the best place to put it 88 // TODO: Use a proper dispatcher.
92 if (method == "Windlight" && gSavedSettings.getBOOL("UseServersideWindlightSettings")) 89 if(method == "Windlight")
93 { 90 {
94 //Meta7 WindLight packet 91 WindlightMessage::processWindlight(msg, NULL);
95 //We are delivering with an agentID of NULL_KEY so as to be 92 return;
96 //friendly and not trigger a warning for unsupporting clients.
97 S32 count = msg->getNumberOfBlocksFast(_PREHASH_ParamList);
98 for (S32 i = 0; i < count; ++i)
99 {
100 // our param is binary data)
101 S32 size = msg->getSizeFast(_PREHASH_ParamList, i, _PREHASH_Parameter);
102 if (size >= 0)
103 {
104 char buf[250];
105 msg->getBinaryDataFast(
106 _PREHASH_ParamList, _PREHASH_Parameter,
107 buf, size, i, 249);
108
109 Meta7WindlightPacket* wl = (Meta7WindlightPacket*)buf;
110
111 LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
112 LLWaterParamSet & param_set = param_mgr->mCurParams;
113
114 param_set.set("waterFogColor", wl->waterColor.red / 256.f, wl->waterColor.green / 256.f, wl->waterColor.blue / 256.f);
115 param_set.set("waterFogDensity", pow(2.0f, wl->waterFogDensityExponent));
116 param_set.set("underWaterFogMod", wl->underwaterFogModifier);
117 param_set.set("normScale", wl->reflectionWaveletScale.X,wl->reflectionWaveletScale.Y,wl->reflectionWaveletScale.Z);
118 param_set.set("fresnelScale", wl->fresnelScale);
119 param_set.set("fresnelOffset", wl->fresnelOffset);
120 param_set.set("scaleAbove", wl->refractScaleAbove);
121 param_set.set("scaleBelow", wl->refractScaleBelow);
122 param_set.set("blurMultiplier", wl->blurMultiplier);
123 param_set.set("wave1Dir", wl->littleWaveDirection.X, wl->littleWaveDirection.Y);
124 param_set.set("wave2Dir", wl->bigWaveDirection.X, wl->bigWaveDirection.Y);
125
126 LLUUID normalMapTexture;
127
128 std::string out = llformat(
129 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
130 (U8)(wl->normalMapTexture[0]),
131 (U8)(wl->normalMapTexture[1]),
132 (U8)(wl->normalMapTexture[2]),
133 (U8)(wl->normalMapTexture[3]),
134 (U8)(wl->normalMapTexture[4]),
135 (U8)(wl->normalMapTexture[5]),
136 (U8)(wl->normalMapTexture[6]),
137 (U8)(wl->normalMapTexture[7]),
138 (U8)(wl->normalMapTexture[8]),
139 (U8)(wl->normalMapTexture[9]),
140 (U8)(wl->normalMapTexture[10]),
141 (U8)(wl->normalMapTexture[11]),
142 (U8)(wl->normalMapTexture[12]),
143 (U8)(wl->normalMapTexture[13]),
144 (U8)(wl->normalMapTexture[14]),
145 (U8)(wl->normalMapTexture[15]));
146
147 normalMapTexture.set(out);
148
149 param_mgr->setParamSet( "Meta7CurrentRegion", param_set);
150 param_mgr->setNormalMapID(normalMapTexture);
151
152 LLWLParamManager * wl_param_mgr = LLWLParamManager::instance();
153 LLWLParamSet & wl_param_set = wl_param_mgr->mCurParams;
154 wl_param_set.setSunAngle(F_TWO_PI * wl->sunMoonPosiiton);
155 wl_param_set.setEastAngle(F_TWO_PI * wl->eastAngle);
156 wl_param_set.set("sunlight_color", wl->sunMoonColor.red * 3.0f, wl->sunMoonColor.green * 3.0f, wl->sunMoonColor.blue * 3.0f, wl->sunMoonColor.alpha * 3.0f);
157 wl_param_set.set("ambient", wl->ambient.red * 3.0f, wl->ambient.green * 3.0f, wl->ambient.blue * 3.0f, wl->ambient.alpha * 3.0f);
158 wl_param_set.set("blue_horizon", wl->horizon.red * 2.0f, wl->horizon.green *2.0f, wl->horizon.blue * 2.0f, wl->horizon.alpha * 2.0f);
159 wl_param_set.set("blue_density", wl->blueDensity.red * 2.0f, wl->blueDensity.green * 2.0f, wl->blueDensity.blue * 2.0f, wl->blueDensity.alpha * 2.0f);
160 wl_param_set.set("haze_horizon", wl->hazeHorizon, wl->hazeHorizon, wl->hazeHorizon, 1.f);
161 wl_param_set.set("haze_density", wl->hazeDensity, wl->hazeDensity, wl->hazeDensity, 1.f);
162 wl_param_set.set("cloud_shadow", wl->cloudCoverage, wl->cloudCoverage, wl->cloudCoverage, wl->cloudCoverage);
163 wl_param_set.set("density_multiplier", wl->densityMultiplier / 1000.0f);
164 wl_param_set.set("distance_multiplier", wl->distanceMultiplier, wl->distanceMultiplier, wl->distanceMultiplier, wl->distanceMultiplier);
165 wl_param_set.set("max_y",(F32)wl->maxAltitude);
166 wl_param_set.set("cloud_color", wl->cloudColor.red, wl->cloudColor.green, wl->cloudColor.blue, wl->cloudColor.alpha);
167 wl_param_set.set("cloud_pos_density1", wl->cloudXYDensity.X, wl->cloudXYDensity.Y, wl->cloudXYDensity.Z);
168 wl_param_set.set("cloud_pos_density2", wl->cloudDetailXYDensity.X, wl->cloudDetailXYDensity.Y, wl->cloudDetailXYDensity.Z);
169 wl_param_set.set("cloud_scale", wl->cloudScale, 0.f, 0.f, 1.f);
170 wl_param_set.set("gamma", wl->sceneGamma, wl->sceneGamma, wl->sceneGamma, 0.0f);
171 wl_param_set.set("glow",(2 - wl->sunGlowSize) * 20 , 0.f, -wl->sunGlowFocus * 5);
172 wl_param_set.setCloudScrollX(wl->cloudScrollX + 10.0f);
173 wl_param_set.setCloudScrollY(wl->cloudScrollY + 10.0f);
174 wl_param_set.setEnableCloudScrollX(!wl->cloudScrollXLock);
175 wl_param_set.setEnableCloudScrollY(!wl->cloudScrollYLock);
176 wl_param_set.setStarBrightness(wl->starBrightness);
177 wl_param_mgr->removeParamSet("Meta7-CurrentRegion",true);
178 wl_param_mgr->addParamSet( "Meta7-CurrentRegion", wl_param_set);
179 wl_param_mgr->savePreset( "Meta7-CurrentRegion");
180 LLWLParamManager::instance()->mAnimator.mIsRunning = false;
181 LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
182 wl_param_mgr->loadPreset( "Meta7-CurrentRegion",true);
183 }
184 }
185 } 93 }
186 else if (agent_id != gAgent.getID()) 94
95 if( agent_id != gAgent.getID() )
187 { 96 {
188 llwarns << "GenericMessage for wrong agent" << llendl; 97 llwarns << "GenericMessage for wrong agent" << llendl;
189 return; 98 return;
190 } 99 }
191 else 100 else
192 { 101 {
193
194 std::string request; 102 std::string request;
195 LLUUID invoice; 103 LLUUID invoice;
196 LLDispatcher::sparam_t strings; 104 LLDispatcher::sparam_t strings;
diff --git a/linden/indra/newview/llviewerimage.h b/linden/indra/newview/llviewerimage.h
index fdf8ff0..fc27f17 100644
--- a/linden/indra/newview/llviewerimage.h
+++ b/linden/indra/newview/llviewerimage.h
@@ -277,7 +277,7 @@ public:
277 void setDecodePriority(F32 priority = -1.0f); 277 void setDecodePriority(F32 priority = -1.0f);
278 278
279 bool updateFetch(); 279 bool updateFetch();
280 280 BOOL hasFetcher() const { return mHasFetcher;}
281 // Override the computation of discard levels if we know the exact output 281 // Override the computation of discard levels if we know the exact output
282 // size of the image. Used for UI textures to not decode, even if we have 282 // size of the image. Used for UI textures to not decode, even if we have
283 // more data. 283 // more data.
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index 6a7a818..fb69389 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -546,6 +546,11 @@ void LLMenuParcelObserver::changed()
546// code required to calculate anything about the menus 546// code required to calculate anything about the menus
547void pre_init_menus() 547void pre_init_menus()
548{ 548{
549 if (gMenuHolder)
550 {
551 cleanup_menus();
552 }
553
549 // static information 554 // static information
550 LLColor4 color; 555 LLColor4 color;
551 color = gColors.getColor( "MenuDefaultBgColor" ); 556 color = gColors.getColor( "MenuDefaultBgColor" );
@@ -10143,15 +10148,28 @@ class LLAdvancedTogglePrivateLookPointAt : public view_listener_t
10143{ 10148{
10144 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) 10149 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
10145 { 10150 {
10146 // Noate: PrivateLookAtTarget also hides point at -- MC 10151 std::string command = userdata.asString();
10147 bool new_value = !gSavedSettings.getBOOL("PrivateLookAtTarget"); 10152 if ("Look" == command)
10148 if (new_value)
10149 { 10153 {
10150 // Disable show look at and show point at if you make yours private. It's only fair, after all -- MC 10154 bool new_value = !gSavedSettings.getBOOL("PrivateLookAtTarget");
10151 LLHUDEffectLookAt::sDebugLookAt = FALSE; 10155 if (new_value)
10152 LLHUDEffectPointAt::sDebugPointAt = FALSE; 10156 {
10157 // Disable show look at and show point at if you make yours private. It's only fair, after all -- MC
10158 LLHUDEffectLookAt::sDebugLookAt = FALSE;
10159 LLHUDEffectPointAt::sDebugPointAt = FALSE;
10160 }
10161 gSavedSettings.setBOOL("PrivateLookAtTarget", new_value);
10153 } 10162 }
10154 gSavedSettings.setBOOL("PrivateLookAtTarget", new_value); 10163 else if ("Point" == command)
10164 {
10165 bool new_value = !gSavedSettings.getBOOL("PrivatePointAtTarget");
10166
10167 // do not disable show look at and show point at if you make yours private,
10168 // since this only hides the arm motion while editing -- AW
10169
10170 gSavedSettings.setBOOL("PrivatePointAtTarget", new_value);
10171 }
10172
10155 return true; 10173 return true;
10156 } 10174 }
10157}; 10175};
@@ -10160,9 +10178,19 @@ class LLAdvancedCheckPrivateLookPointAt : public view_listener_t
10160{ 10178{
10161 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) 10179 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
10162 { 10180 {
10163 bool new_value = gSavedSettings.getBOOL("PrivateLookAtTarget"); 10181 std::string command = userdata["data"].asString();
10164 std::string control_name = userdata["control"].asString(); 10182 if ("Look" == command)
10165 gMenuHolder->findControl(control_name)->setValue(new_value); 10183 {
10184 bool new_value = gSavedSettings.getBOOL("PrivateLookAtTarget");
10185 std::string control_name = userdata["control"].asString();
10186 gMenuHolder->findControl(control_name)->setValue(new_value);
10187 }
10188 else if ("Point" == command)
10189 {
10190 bool new_value = gSavedSettings.getBOOL("PrivatePointAtTarget");
10191 std::string control_name = userdata["control"].asString();
10192 gMenuHolder->findControl(control_name)->setValue(new_value);
10193 }
10166 return true; 10194 return true;
10167 } 10195 }
10168}; 10196};
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp
index ecbe0ef..bc1aedb 100644
--- a/linden/indra/newview/llviewermessage.cpp
+++ b/linden/indra/newview/llviewermessage.cpp
@@ -65,6 +65,7 @@
65#include "lltimer.h" 65#include "lltimer.h"
66#include "llmd5.h" 66#include "llmd5.h"
67 67
68#include "lightshare.h"
68#include "llagent.h" 69#include "llagent.h"
69#include "llcallingcard.h" 70#include "llcallingcard.h"
70#include "llconsole.h" 71#include "llconsole.h"
@@ -138,8 +139,6 @@
138#include "llviewerdisplay.h" 139#include "llviewerdisplay.h"
139#include "llkeythrottle.h" 140#include "llkeythrottle.h"
140 141
141#include "llwlparammanager.h"
142#include "llwaterparammanager.h"
143#include "panelradarentry.h" 142#include "panelradarentry.h"
144 143
145#include <boost/tokenizer.hpp> 144#include <boost/tokenizer.hpp>
@@ -3224,10 +3223,6 @@ void process_teleport_finish(LLMessageSystem* msg, void**)
3224 gCacheName->setUpstream(sim); 3223 gCacheName->setUpstream(sim);
3225*/ 3224*/
3226 3225
3227 // Reset windlight settings to default
3228 LLWLParamManager::instance()->mAnimator.mIsRunning = true;
3229 LLWLParamManager::instance()->mAnimator.mUseLindenTime = true;
3230
3231 // now, use the circuit info to tell simulator about us! 3226 // now, use the circuit info to tell simulator about us!
3232 LL_INFOS("Messaging") << "process_teleport_finish() Enabling " 3227 LL_INFOS("Messaging") << "process_teleport_finish() Enabling "
3233 << sim_host << " with code " << msg->mOurCircuitCode << LL_ENDL; 3228 << sim_host << " with code " << msg->mOurCircuitCode << LL_ENDL;
@@ -3259,6 +3254,9 @@ void process_teleport_finish(LLMessageSystem* msg, void**)
3259// gTeleportDisplay = TRUE; 3254// gTeleportDisplay = TRUE;
3260// gTeleportDisplayTimer.reset(); 3255// gTeleportDisplayTimer.reset();
3261// gViewerWindow->setShowProgress(TRUE); 3256// gViewerWindow->setShowProgress(TRUE);
3257
3258 // Tell the LightShare handler that we have changed regions.
3259 WindlightMessage::resetRegion();
3262} 3260}
3263 3261
3264// stuff we have to do every time we get an AvatarInitComplete from a sim 3262// stuff we have to do every time we get an AvatarInitComplete from a sim
@@ -3506,6 +3504,9 @@ void process_crossed_region(LLMessageSystem* msg, void**)
3506 3504
3507 LLViewerRegion* regionp = LLWorld::getInstance()->addRegion(region_handle, sim_host); 3505 LLViewerRegion* regionp = LLWorld::getInstance()->addRegion(region_handle, sim_host);
3508 regionp->setSeedCapability(seedCap); 3506 regionp->setSeedCapability(seedCap);
3507
3508 // Tell the LightShare handler that we have changed regions.
3509 WindlightMessage::resetRegion();
3509} 3510}
3510 3511
3511 3512
diff --git a/linden/indra/newview/llviewerregion.cpp b/linden/indra/newview/llviewerregion.cpp
index 69405d2..4257f70 100644
--- a/linden/indra/newview/llviewerregion.cpp
+++ b/linden/indra/newview/llviewerregion.cpp
@@ -374,7 +374,7 @@ void LLViewerRegion::saveCache()
374 374
375 std::string filename; 375 std::string filename;
376 filename = gDirUtilp->getExpandedFilename(LL_PATH_CACHE,"") + gDirUtilp->getDirDelimiter() + 376 filename = gDirUtilp->getExpandedFilename(LL_PATH_CACHE,"") + gDirUtilp->getDirDelimiter() +
377 llformat("sobjects_%d_%d.slc", U32(mHandle>>32)/REGION_WIDTH_UNITS, U32(mHandle)/REGION_WIDTH_UNITS ); 377 llformat("objects_%d_%d.slc", U32(mHandle>>32)/REGION_WIDTH_UNITS, U32(mHandle)/REGION_WIDTH_UNITS );
378 378
379 LLFILE* fp = LLFile::fopen(filename, "wb"); /* Flawfinder: ignore */ 379 LLFILE* fp = LLFile::fopen(filename, "wb"); /* Flawfinder: ignore */
380 if (!fp) 380 if (!fp)
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp
index 200b3a6..2732d48 100644
--- a/linden/indra/newview/llvoavatar.cpp
+++ b/linden/indra/newview/llvoavatar.cpp
@@ -3544,21 +3544,29 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
3544 } 3544 }
3545 3545
3546 LLColor4 avatar_name_color = gColors.getColor( "AvatarNameColor" ); 3546 LLColor4 avatar_name_color = gColors.getColor( "AvatarNameColor" );
3547 if (gSavedSettings.getBOOL("ShowClientNameTag")) 3547 LLColor4 client_color = avatar_name_color;
3548
3549 if(!mIsSelf) //don't know your own client ?
3548 { 3550 {
3549 if(!mIsSelf) //don't know your own client ? 3551 new_name = TRUE; //lol or see the last client used
3550 { 3552 {
3551 new_name = TRUE; //lol or see the last client used 3553 resolveClient(client_color,client, this);
3552 {
3553 resolveClient(avatar_name_color,client, this);
3554 }
3555 }
3556 else
3557 {
3558 // Set your own name to the Imprudence color -- MC
3559 avatar_name_color = LLColor4(0.79f,0.44f,0.88f);
3560 } 3554 }
3561 } 3555 }
3556 else
3557 {
3558 // Set your own name to the Imprudence color -- MC
3559 client_color = LLColor4(0.79f,0.44f,0.88f);
3560 }
3561 if (gSavedSettings.getBOOL("ShowClientColor"))
3562 {
3563 avatar_name_color = client_color;
3564 }
3565 if (!gSavedSettings.getBOOL("ShowClientNameTag"))
3566 {
3567 client.clear();
3568 }
3569
3562 avatar_name_color.setAlpha(alpha); 3570 avatar_name_color.setAlpha(alpha);
3563 mNameText->setColor(avatar_name_color); 3571 mNameText->setColor(avatar_name_color);
3564 3572
@@ -8552,17 +8560,17 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
8552 8560
8553 if(param->getID() == 507 && newWeight != getActualBoobGrav()) 8561 if(param->getID() == 507 && newWeight != getActualBoobGrav())
8554 { 8562 {
8555 llwarns << "Boob Grav SET to " << newWeight << " for " << getFullname() << llendl; 8563 LL_DEBUGS("BodyPhysics")<< "Boob Grav SET to " << newWeight << " for " << getFullname() << LL_ENDL;
8556 setActualBoobGrav(newWeight); 8564 setActualBoobGrav(newWeight);
8557 } 8565 }
8558 if(param->getID() == 795 && newWeight != getActualButtGrav()) 8566 if(param->getID() == 795 && newWeight != getActualButtGrav())
8559 { 8567 {
8560 llwarns << "Butt Grav SET to " << newWeight << " for " << getFullname() << llendl; 8568 LL_DEBUGS("BodyPhysics")<< "Butt Grav SET to " << newWeight << " for " << getFullname() << LL_ENDL;
8561 setActualButtGrav(newWeight); 8569 setActualButtGrav(newWeight);
8562 } 8570 }
8563 if(param->getID() == 157 && newWeight != getActualFatGrav()) 8571 if(param->getID() == 157 && newWeight != getActualFatGrav())
8564 { 8572 {
8565 llwarns << "Fat Grav SET to " << newWeight << " for " << getFullname() << llendl; 8573 LL_DEBUGS("BodyPhysics")<< "Fat Grav SET to " << newWeight << " for " << getFullname() << LL_ENDL;
8566 setActualFatGrav(newWeight); 8574 setActualFatGrav(newWeight);
8567 } 8575 }
8568 8576
diff --git a/linden/indra/newview/llvoavatar.h b/linden/indra/newview/llvoavatar.h
index 36ed22a..0c32244 100644
--- a/linden/indra/newview/llvoavatar.h
+++ b/linden/indra/newview/llvoavatar.h
@@ -658,10 +658,11 @@ private:
658 static LLVector3d sBeamLastAt; 658 static LLVector3d sBeamLastAt;
659 static LLSD sClientResolutionList; 659 static LLSD sClientResolutionList;
660 660
661public: //anything against having this public?
661 static void resolveClient(LLColor4& avatar_name_color, std::string& client, LLVOAvatar* avatar); 662 static void resolveClient(LLColor4& avatar_name_color, std::string& client, LLVOAvatar* avatar);
662//Imprudence FIXME 663//Imprudence FIXME
663// friend class LLFloaterAvatarList; 664// friend class LLFloaterAvatarList;
664 665// friend class LLHoverView;
665protected: 666protected:
666 LLPointer<LLHUDEffectSpiral> mBeam; 667 LLPointer<LLHUDEffectSpiral> mBeam;
667 LLFrameTimer mBeamTimer; 668 LLFrameTimer mBeamTimer;
diff --git a/linden/indra/newview/llwindlightremotectrl.cpp b/linden/indra/newview/llwindlightremotectrl.cpp
index 0beb3e5..b5c15a5 100644
--- a/linden/indra/newview/llwindlightremotectrl.cpp
+++ b/linden/indra/newview/llwindlightremotectrl.cpp
@@ -173,8 +173,7 @@ void LLWindlightRemoteCtrl::refreshPresets()
173 mPresetsCombo->addSimpleElement(getString("midnight"), ADD_BOTTOM); 173 mPresetsCombo->addSimpleElement(getString("midnight"), ADD_BOTTOM);
174 mPresetsCombo->addSimpleElement(getString("revert_region"), ADD_BOTTOM); 174 mPresetsCombo->addSimpleElement(getString("revert_region"), ADD_BOTTOM);
175 175
176 if (mPresetsCombo->getSelectedItemLabel() != currentParams.mName && 176 if (!currentParams.mName.empty())
177 !currentParams.mName.empty())
178 { 177 {
179 mPresetsCombo->selectByValue(LLSD(currentParams.mName)); 178 mPresetsCombo->selectByValue(LLSD(currentParams.mName));
180 } 179 }
diff --git a/linden/indra/newview/meta7windlight.h b/linden/indra/newview/meta7windlight.h
index 9927558..04ce86d 100644
--- a/linden/indra/newview/meta7windlight.h
+++ b/linden/indra/newview/meta7windlight.h
@@ -1,3 +1,36 @@
1/**
2 * @file lightshare.cpp
3 * @brief Handler for Meta7 Lightshare (region-side Windlight settings).
4 *
5 * Copyright (c) 2010, Tom Meta / Meta7 Project
6 *
7 * The source code in this file ("Source Code") is provided to you
8 * under the terms of the GNU General Public License, version 2.0
9 * ("GPL"). Terms of the GPL can be found in doc/GPL-license.txt in
10 * this distribution, or online at
11 * http://secondlifegrid.net/programs/open_source/licensing/gplv2
12 *
13 * There are special exceptions to the terms and conditions of the GPL as
14 * it is applied to this Source Code. View the full text of the exception
15 * in the file doc/FLOSS-exception.txt in this software distribution, or
16 * online at
17 * http://secondlifegrid.net/programs/open_source/licensing/flossexception
18 *
19 * By copying, modifying or distributing this software, you acknowledge
20 * that you have read and understood your obligations described above,
21 * and agree to abide by those obligations.
22 *
23 * ALL SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE.
26 */
27
28
29#ifndef META7WINDLIGHT_H
30#define META7WINDLIGHT_H
31
32#include "linden_common.h"
33
1struct M7Color3{ 34struct M7Color3{
2 M7Color3(){}; 35 M7Color3(){};
3 M7Color3(F32 pRed, F32 pGreen, F32 pBlue) 36 M7Color3(F32 pRed, F32 pGreen, F32 pBlue)
@@ -94,3 +127,5 @@ struct Meta7WindlightPacket {
94 127
95 128
96}; 129};
130
131#endif
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_ao.xml b/linden/indra/newview/skins/default/xui/en-us/floater_ao.xml
index 134bd13..17c205f 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_ao.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_ao.xml
@@ -135,7 +135,7 @@
135 mouse_opaque="true" name="textdefaultwalk" v_pad="0" width="180"> 135 mouse_opaque="true" name="textdefaultwalk" v_pad="0" width="180">
136 Default Walk: 136 Default Walk:
137 </text> 137 </text>
138 <combo_box name="walks" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" control_name="AODefaultWalk" /> 138 <combo_box name="walks" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" />
139 139
140 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 140 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
141 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 141 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
@@ -143,105 +143,105 @@
143 mouse_opaque="true" name="textdefaultrun" v_pad="0" width="180"> 143 mouse_opaque="true" name="textdefaultrun" v_pad="0" width="180">
144 Default Run: 144 Default Run:
145 </text> 145 </text>
146 <combo_box name="runs" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" control_name="AODefaultRun" /> 146 <combo_box name="runs" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" />
147 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 147 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
148 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 148 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
149 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10" 149 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10"
150 mouse_opaque="true" name="textdefaultjump" v_pad="0" width="180"> 150 mouse_opaque="true" name="textdefaultjump" v_pad="0" width="180">
151 Default Jump: 151 Default Jump:
152 </text> 152 </text>
153 <combo_box name="jumps" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" control_name="AODefaultJump" /> 153 <combo_box name="jumps" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" />
154 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 154 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
155 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 155 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
156 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10" 156 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10"
157 mouse_opaque="true" name="textdefaultsit" v_pad="0" width="180"> 157 mouse_opaque="true" name="textdefaultsit" v_pad="0" width="180">
158 Default Sit: 158 Default Sit:
159 </text> 159 </text>
160 <combo_box name="sits" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" control_name="AODefaultSit" /> 160 <combo_box name="sits" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" />
161 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 161 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
162 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 162 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
163 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10" 163 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10"
164 mouse_opaque="true" name="textdefaultgsit" v_pad="0" width="180"> 164 mouse_opaque="true" name="textdefaultgsit" v_pad="0" width="180">
165 Default Groundsit: 165 Default Groundsit:
166 </text> 166 </text>
167 <combo_box name="gsits" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" control_name="AODefaultGroundSit" /> 167 <combo_box name="gsits" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" />
168 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 168 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
169 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 169 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
170 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10" 170 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10"
171 mouse_opaque="true" name="textdefaultcrouch" v_pad="0" width="180"> 171 mouse_opaque="true" name="textdefaultcrouch" v_pad="0" width="180">
172 Default Crouch: 172 Default Crouch:
173 </text> 173 </text>
174 <combo_box name="crouchs" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" control_name="AODefaultCrouch" /> 174 <combo_box name="crouchs" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" />
175 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 175 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
176 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 176 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
177 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10" 177 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10"
178 mouse_opaque="true" name="textdefaultcrouchwalk" v_pad="0" width="180"> 178 mouse_opaque="true" name="textdefaultcrouchwalk" v_pad="0" width="180">
179 Default Crouchwalk: 179 Default Crouchwalk:
180 </text> 180 </text>
181 <combo_box name="cwalks" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" control_name="AODefaultCrouchWalk" /> 181 <combo_box name="cwalks" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" />
182 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 182 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
183 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 183 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
184 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10" 184 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="10"
185 mouse_opaque="true" name="textdefaultfall" v_pad="0" width="180"> 185 mouse_opaque="true" name="textdefaultfall" v_pad="0" width="180">
186 Default Fall: 186 Default Fall:
187 </text> 187 </text>
188 <combo_box name="falls" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" control_name="AODefaultFall" /> 188 <combo_box name="falls" label="" follows="left|top" height="20" left="10" width="180" bottom_delta="0" />
189 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 189 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
190 bottom_delta="280" drop_shadow_visible="true" follows="left|bottom" 190 bottom_delta="280" drop_shadow_visible="true" follows="left|bottom"
191 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="200" 191 font="SansSerifSmall" h_pad="0" halign="left" height="16" left="200"
192 mouse_opaque="true" name="textdefaulthover" v_pad="0" width="180"> 192 mouse_opaque="true" name="textdefaulthover" v_pad="0" width="180">
193 Default Hover: 193 Default Hover:
194 </text> 194 </text>
195 <combo_box name="hovers" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" control_name="AODefaultHover" /> 195 <combo_box name="hovers" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" />
196 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 196 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
197 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 197 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
198 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0" 198 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0"
199 mouse_opaque="true" name="textdefaultfly" v_pad="0" width="180"> 199 mouse_opaque="true" name="textdefaultfly" v_pad="0" width="180">
200 Default Fly: 200 Default Fly:
201 </text> 201 </text>
202 <combo_box name="flys" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" control_name="AODefaultFly" /> 202 <combo_box name="flys" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" />
203 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 203 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
204 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 204 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
205 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0" 205 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0"
206 mouse_opaque="true" name="textdefaultflyslow" v_pad="0" width="180"> 206 mouse_opaque="true" name="textdefaultflyslow" v_pad="0" width="180">
207 Default Slow Fly: 207 Default Slow Fly:
208 </text> 208 </text>
209 <combo_box name="flyslows" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" control_name="AODefaultFlySlow" /> 209 <combo_box name="flyslows" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" />
210 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 210 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
211 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 211 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
212 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0" 212 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0"
213 mouse_opaque="true" name="textdefaultflyup" v_pad="0" width="180"> 213 mouse_opaque="true" name="textdefaultflyup" v_pad="0" width="180">
214 Default Upward Fly: 214 Default Upward Fly:
215 </text> 215 </text>
216 <combo_box name="flyups" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" control_name="AODefaultFlyUp" /> 216 <combo_box name="flyups" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" />
217 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 217 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
218 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 218 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
219 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0" 219 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0"
220 mouse_opaque="true" name="textdefaultflydown" v_pad="0" width="180"> 220 mouse_opaque="true" name="textdefaultflydown" v_pad="0" width="180">
221 Default Downward Fly: 221 Default Downward Fly:
222 </text> 222 </text>
223 <combo_box name="flydowns" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" control_name="AODefaultFlyDown" /> 223 <combo_box name="flydowns" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" />
224 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 224 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
225 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 225 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
226 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0" 226 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0"
227 mouse_opaque="true" name="textdefaultland" v_pad="0" width="180"> 227 mouse_opaque="true" name="textdefaultland" v_pad="0" width="180">
228 Default Land: 228 Default Land:
229 </text> 229 </text>
230 <combo_box name="lands" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" control_name="AODefaultLand" /> 230 <combo_box name="lands" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" />
231 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 231 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
232 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 232 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
233 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0" 233 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0"
234 mouse_opaque="true" name="textdefaultstandup" v_pad="0" width="180"> 234 mouse_opaque="true" name="textdefaultstandup" v_pad="0" width="180">
235 Default Standup: 235 Default Standup:
236 </text> 236 </text>
237 <combo_box name="standups" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" control_name="AODefaultStandUp" /> 237 <combo_box name="standups" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" />
238 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 238 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
239 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom" 239 bottom_delta="-40" drop_shadow_visible="true" follows="left|bottom"
240 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0" 240 font="SansSerifSmall" h_pad="0" halign="left" height="16" left_delta="0"
241 mouse_opaque="true" name="textdefaultprejump" v_pad="0" width="180"> 241 mouse_opaque="true" name="textdefaultprejump" v_pad="0" width="180">
242 Default Pre-Jump: 242 Default Pre-Jump:
243 </text> 243 </text>
244 <combo_box name="prejumps" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" control_name="AODefaultPreJump" /> 244 <combo_box name="prejumps" label="" follows="left|top" height="20" left_delta="0" width="180" bottom_delta="0" />
245 </panel> 245 </panel>
246</tab_container> 246</tab_container>
247</floater> \ No newline at end of file 247</floater>
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_hardware_settings.xml b/linden/indra/newview/skins/default/xui/en-us/floater_hardware_settings.xml
index 8d5d6b4..24a895b 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_hardware_settings.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_hardware_settings.xml
@@ -19,7 +19,7 @@
19 left="10" mouse_opaque="true" name="Antialiasing:" v_pad="0" width="128"> 19 left="10" mouse_opaque="true" name="Antialiasing:" v_pad="0" width="128">
20 Antialiasing: 20 Antialiasing:
21 </text> 21 </text>
22 <combo_box bottom="-65" control_name="RenderFSAASamples" enabled="true" follows="left|top" 22 <combo_box bottom="-65" enabled="true" follows="left|top"
23 font="SansSerifSmall" height="16" initial_value="false" 23 font="SansSerifSmall" height="16" initial_value="false"
24 label="Antialiasing" left="148" 24 label="Antialiasing" left="148"
25 mouse_opaque="true" name="fsaa" width="64"> 25 mouse_opaque="true" name="fsaa" width="64">
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
index 5d97a60..8033ba7 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
@@ -1860,12 +1860,19 @@
1860 <on_check function="Advanced.CheckShowPointAt" 1860 <on_check function="Advanced.CheckShowPointAt"
1861 userdata="" /> 1861 userdata="" />
1862 </menu_item_check> 1862 </menu_item_check>
1863 <menu_item_check name="Private Look/Point At" 1863 <menu_item_check name="Private Look At"
1864 label="Private Look/Point At"> 1864 label="Private Look At">
1865 <on_click function="Advanced.TogglePrivateLookPointAt" 1865 <on_click function="Advanced.TogglePrivateLookPointAt"
1866 userdata="" /> 1866 userdata="Look" />
1867 <on_check function="Advanced.CheckPrivateLookPointAt" 1867 <on_check function="Advanced.CheckPrivateLookPointAt"
1868 userdata="" /> 1868 userdata="Look" />
1869 </menu_item_check>
1870 <menu_item_check name="Private Point At"
1871 label="Private Point At">
1872 <on_click function="Advanced.TogglePrivateLookPointAt"
1873 userdata="Point" />
1874 <on_check function="Advanced.CheckPrivateLookPointAt"
1875 userdata="Point" />
1869 </menu_item_check> 1876 </menu_item_check>
1870 <menu_item_check name="Debug Joint Updates" 1877 <menu_item_check name="Debug Joint Updates"
1871 label="Debug Joint Updates"> 1878 label="Debug Joint Updates">
diff --git a/linden/indra/newview/skins/default/xui/en-us/notifications.xml b/linden/indra/newview/skins/default/xui/en-us/notifications.xml
index 975f10b..c59d713 100644
--- a/linden/indra/newview/skins/default/xui/en-us/notifications.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/notifications.xml
@@ -6992,6 +6992,20 @@ Shadows cannot be enabled due to your graphics settings being set too low. Make
6992Note: To comply with the Second Life Terms of Service, Imprudence did not download any texture files for the exported object(s). 6992Note: To comply with the Second Life Terms of Service, Imprudence did not download any texture files for the exported object(s).
6993</notification> 6993</notification>
6994 6994
6995<notification
6996 name="ConfirmLightShare"
6997 type="notify"
6998 icon="notify.tga">
6999This region is broadcasting custom sky and water settings.
7000
7001Apply this region's settings? (&quot;Ignore&quot; will ignore all region settings until you leave this region.)
7002 <form name="form">
7003 <button index="0" name="apply" text="Apply"/>
7004 <button index="1" name="temp" text="Not Now"/>
7005 <button index="2" name="region" text="Ignore"/>
7006 </form>
7007</notification>
7008
6995 7009
6996<!--End Imprudence notifications--> 7010<!--End Imprudence notifications-->
6997 7011
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml
index af8cb1e..ce2bbc1 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml
@@ -14,10 +14,24 @@
14 font="SansSerifSmall" height="16" initial_value="false" 14 font="SansSerifSmall" height="16" initial_value="false"
15 label="Disable teleport screen" left="12" mouse_opaque="true" 15 label="Disable teleport screen" left="12" mouse_opaque="true"
16 name="disable_tp_screen_check" radio_style="false" width="217" /> 16 name="disable_tp_screen_check" radio_style="false" width="217" />
17 <check_box bottom_delta="-25" enabled="true" follows="left|top" 17 <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
18 bottom_delta="-25" drop_shadow_visible="true" follows="left|top"
19 font="SansSerifsmall" h_pad="0" halign="left" height="16" left="16"
20 mouse_opaque="true" name="online_no" v_pad="0" width="200">
21 Show client names:
22 </text>
23 <check_box bottom_delta="0" enabled="true" follows="left|top"
24 font="SansSerifSmall" height="16" initial_value="false"
25 label="in nametag" left_delta="100" mouse_opaque="true"
26 name="client_name_tag_check" radio_style="false" width="160" />
27 <check_box bottom_delta="0" enabled="true" follows="left|top"
18 font="SansSerifSmall" height="16" initial_value="false" 28 font="SansSerifSmall" height="16" initial_value="false"
19 label="Show client names in nametag" left="12" mouse_opaque="true" 29 label="changing nametag color" left_delta="80" mouse_opaque="true"
20 name="client_name_tag_check" radio_style="false" width="217" /> 30 name="client_name_color_check" radio_style="false" width="160" />
31 <check_box bottom_delta="0" enabled="true" follows="left|top"
32 font="SansSerifSmall" height="16" initial_value="false"
33 label="in tooltip" left_delta="140" mouse_opaque="true"
34 name="client_name_hover_check" radio_style="false" width="160" />
21 <check_box bottom_delta="-18" enabled="true" follows="left|top" 35 <check_box bottom_delta="-18" enabled="true" follows="left|top"
22 font="SansSerifSmall" height="16" initial_value="false" 36 font="SansSerifSmall" height="16" initial_value="false"
23 label="Broadcast your client name to others" left="12" mouse_opaque="true" 37 label="Broadcast your client name to others" left="12" mouse_opaque="true"
@@ -26,11 +40,28 @@
26 font="SansSerifSmall" height="16" initial_value="false" 40 font="SansSerifSmall" height="16" initial_value="false"
27 label="Enable shadows (WARNING: unstable and requires Ultra graphics)" left="12" mouse_opaque="true" 41 label="Enable shadows (WARNING: unstable and requires Ultra graphics)" left="12" mouse_opaque="true"
28 name="shadows_check" radio_style="false" width="217" /> 42 name="shadows_check" radio_style="false" width="217" />
43
44
45 <text bottom_delta="-25" left="16" height="15" width="220"
46 follows="top|left">
47 Allow region Windlight settings (LightShare):
48 </text>
49 <combo_box name="lightshare_combo"
50 bottom_delta="-2" left="240" height="18" width="120"
51 allow_text_entry="false" follows="left|top">
52 <combo_item type="string" name="never" value="0">
53 Never
54 </combo_item>
55 <combo_item type="string" name="ask" value="1">
56 Ask me every time
57 </combo_item>
58 <combo_item type="string" name="always" value="2">
59 Always
60 </combo_item>
61 </combo_box>
62
63
29 <check_box bottom_delta="-25" enabled="true" follows="left|top" 64 <check_box bottom_delta="-25" enabled="true" follows="left|top"
30 font="SansSerifSmall" height="16" initial_value="true"
31 label="Use server-side WindLight settings" left="12" mouse_opaque="true"
32 name="windlight_check" radio_style="false" width="217" />
33 <check_box bottom_delta="-18" enabled="true" follows="left|top"
34 font="SansSerifSmall" height="16" initial_value="false" 65 font="SansSerifSmall" height="16" initial_value="false"
35 label="Use HTTP texture fetching" left="12" mouse_opaque="true" 66 label="Use HTTP texture fetching" left="12" mouse_opaque="true"
36 name="http_texture_check" radio_style="false" width="217" /> 67 name="http_texture_check" radio_style="false" width="217" />
@@ -63,6 +94,20 @@
63 mouse_opaque="true" name="language_is_public" 94 mouse_opaque="true" name="language_is_public"
64 radio_style="false" tool_tip="This lets in-world objects know your preferred language." 95 radio_style="false" tool_tip="This lets in-world objects know your preferred language."
65 width="256" /> 96 width="256" />
97
98 <check_box bottom_delta="-25" enabled="true"
99 follows="left|top" font="SansSerifSmall" height="16" hidden="false"
100 initial_value="false" label="Use MU* pose style chat and IM" left="12"
101 mouse_opaque="true" name="allow_mupose"
102 radio_style="false" tool_tip="Use MU* pose style in chat and IM (with ':' as a synonymous to '/me ')."
103 width="256" />
104 <check_box bottom_delta="0" enabled="true"
105 follows="left|top" font="SansSerifSmall" height="16" hidden="false"
106 initial_value="false" label="Auto-close OOC chat" left_delta="180"
107 mouse_opaque="true" name="auto_close_ooc"
108 radio_style="false" tool_tip="Auto-close OOC chat (i.e. add )) if not found and (( was used)."
109 width="256" />
110
66 <!-- Uncomment when we start using the crash logger - MC --> 111 <!-- Uncomment when we start using the crash logger - MC -->
67 <!--<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 112 <!--<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
68 bottom_delta="-30" drop_shadow_visible="true" enabled="true" follows="left|top" 113 bottom_delta="-30" drop_shadow_visible="true" enabled="true" follows="left|top"
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml
index 49ab842..199f2a8 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml
@@ -117,7 +117,7 @@
117 I want to access content rated: 117 I want to access content rated:
118 </text> 118 </text>
119 <combo_box bottom="-318" follows="left|top" height="18" left="315" 119 <combo_box bottom="-318" follows="left|top" height="18" left="315"
120 mouse_opaque="true" name="maturity_desired_combobox" width="150" control_name="PreferredMaturity"> 120 mouse_opaque="true" name="maturity_desired_combobox" width="150">
121 <combo_item name="Desired_Adult" value="42"> 121 <combo_item name="Desired_Adult" value="42">
122 PG, Mature and Adult 122 PG, Mature and Adult
123 </combo_item> 123 </combo_item>