diff options
-rw-r--r-- | linden/indra/newview/app_settings/settings.xml | 11 | ||||
-rw-r--r-- | linden/indra/newview/lltooldraganddrop.cpp | 26 | ||||
-rw-r--r-- | linden/indra/newview/lltoolplacer.cpp | 26 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/floater_build_options.xml | 9 |
4 files changed, 68 insertions, 4 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index 8984e04..9f2854b 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml | |||
@@ -37,6 +37,17 @@ | |||
37 | <key>Value</key> | 37 | <key>Value</key> |
38 | <integer>0</integer> | 38 | <integer>0</integer> |
39 | </map> | 39 | </map> |
40 | <key>RezWithLandGroup</key> | ||
41 | <map> | ||
42 | <key>Comment</key> | ||
43 | <string>Attempts to rez objects in the lands group if you're apart of it</string> | ||
44 | <key>Persist</key> | ||
45 | <integer>1</integer> | ||
46 | <key>Type</key> | ||
47 | <string>Boolean</string> | ||
48 | <key>Value</key> | ||
49 | <integer>0</integer> | ||
50 | </map> | ||
40 | <key>ShadowsEnabled</key> | 51 | <key>ShadowsEnabled</key> |
41 | <map> | 52 | <map> |
42 | <key>Comment</key> | 53 | <key>Comment</key> |
diff --git a/linden/indra/newview/lltooldraganddrop.cpp b/linden/indra/newview/lltooldraganddrop.cpp index aa5bfad..a3ed16b 100644 --- a/linden/indra/newview/lltooldraganddrop.cpp +++ b/linden/indra/newview/lltooldraganddrop.cpp | |||
@@ -69,6 +69,9 @@ | |||
69 | #include "object_flags.h" | 69 | #include "object_flags.h" |
70 | #include "llimview.h" | 70 | #include "llimview.h" |
71 | 71 | ||
72 | #include "llparcel.h" // RezWithLandGroup | ||
73 | #include "llviewerparcelmgr.h" // RezWithLandGroup | ||
74 | |||
72 | 75 | ||
73 | // MAX ITEMS is based on (sizeof(uuid)+2) * count must be < MTUBYTES | 76 | // MAX ITEMS is based on (sizeof(uuid)+2) * count must be < MTUBYTES |
74 | // or 18 * count < 1200 => count < 1200/18 => 66. I've cut it down a | 77 | // or 18 * count < 1200 => count < 1200/18 => 66. I've cut it down a |
@@ -1357,6 +1360,29 @@ void LLToolDragAndDrop::dropObject(LLViewerObject* raycast_target, | |||
1357 | msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); | 1360 | msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); |
1358 | msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); | 1361 | msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); |
1359 | 1362 | ||
1363 | // RezWithLandGroup 2009-05, If avatar is in land group/land owner group, | ||
1364 | //it rezzes it with it to prevent autoreturn/whatever... | ||
1365 | if ( gSavedSettings.getBOOL("RezWithLandGroup") ) | ||
1366 | { | ||
1367 | LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); | ||
1368 | if ( gAgent.isInGroup(parcel->getGroupID()) ) | ||
1369 | { | ||
1370 | msg->addUUIDFast(_PREHASH_GroupID, parcel->getGroupID()); | ||
1371 | } | ||
1372 | else if ( gAgent.isInGroup(parcel->getOwnerID()) ) | ||
1373 | { | ||
1374 | msg->addUUIDFast(_PREHASH_GroupID, parcel->getOwnerID()); | ||
1375 | } | ||
1376 | else | ||
1377 | { | ||
1378 | msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); | ||
1379 | } | ||
1380 | } | ||
1381 | else | ||
1382 | { | ||
1383 | msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); | ||
1384 | } | ||
1385 | |||
1360 | msg->nextBlock("RezData"); | 1386 | msg->nextBlock("RezData"); |
1361 | // if it's being rezzed from task inventory, we need to enable | 1387 | // if it's being rezzed from task inventory, we need to enable |
1362 | // saving it back into the task inventory. | 1388 | // saving it back into the task inventory. |
diff --git a/linden/indra/newview/lltoolplacer.cpp b/linden/indra/newview/lltoolplacer.cpp index 84e0203..d52d97c 100644 --- a/linden/indra/newview/lltoolplacer.cpp +++ b/linden/indra/newview/lltoolplacer.cpp | |||
@@ -65,6 +65,9 @@ | |||
65 | #include "llviewercamera.h" | 65 | #include "llviewercamera.h" |
66 | #include "llviewerstats.h" | 66 | #include "llviewerstats.h" |
67 | 67 | ||
68 | #include "llparcel.h" // RezWithLandGroup | ||
69 | #include "llviewerparcelmgr.h" // RezWithLandGroup | ||
70 | |||
68 | const LLVector3 DEFAULT_OBJECT_SCALE(0.5f, 0.5f, 0.5f); | 71 | const LLVector3 DEFAULT_OBJECT_SCALE(0.5f, 0.5f, 0.5f); |
69 | 72 | ||
70 | //static | 73 | //static |
@@ -255,7 +258,28 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics ) | |||
255 | gMessageSystem->nextBlockFast(_PREHASH_AgentData); | 258 | gMessageSystem->nextBlockFast(_PREHASH_AgentData); |
256 | gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); | 259 | gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); |
257 | gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); | 260 | gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); |
258 | gMessageSystem->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); | 261 | // RezWithLandGroup 2009-05, If avatar is in land group/land owner group, |
262 | // it rezzes it with it to prevent autoreturn/whatever | ||
263 | if ( gSavedSettings.getBOOL("RezWithLandGroup") ) | ||
264 | { | ||
265 | LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); | ||
266 | if ( gAgent.isInGroup(parcel->getGroupID()) ) | ||
267 | { | ||
268 | gMessageSystem->addUUIDFast(_PREHASH_GroupID, parcel->getGroupID()); | ||
269 | } | ||
270 | else if ( gAgent.isInGroup(parcel->getOwnerID()) ) | ||
271 | { | ||
272 | gMessageSystem->addUUIDFast(_PREHASH_GroupID, parcel->getOwnerID()); | ||
273 | } | ||
274 | else | ||
275 | { | ||
276 | gMessageSystem->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); | ||
277 | } | ||
278 | } | ||
279 | else | ||
280 | { | ||
281 | gMessageSystem->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); | ||
282 | } | ||
259 | gMessageSystem->nextBlockFast(_PREHASH_ObjectData); | 283 | gMessageSystem->nextBlockFast(_PREHASH_ObjectData); |
260 | gMessageSystem->addU8Fast(_PREHASH_Material, material); | 284 | gMessageSystem->addU8Fast(_PREHASH_Material, material); |
261 | 285 | ||
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_build_options.xml b/linden/indra/newview/skins/default/xui/en-us/floater_build_options.xml index 807caa0..6e6e65c 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_build_options.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_build_options.xml | |||
@@ -1,8 +1,8 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> | 1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> |
2 | <floater bottom="-297" can_close="true" can_drag_on_left="false" can_minimize="true" | 2 | <floater bottom="-297" can_close="true" can_drag_on_left="false" can_minimize="true" |
3 | can_resize="false" follows="right" height="151" left="298" min_height="151" | 3 | can_resize="false" follows="right" height="165" min_height="165" |
4 | min_width="272" mouse_opaque="true" name="build options floater" | 4 | min_width="320" mouse_opaque="true" name="build options floater" |
5 | rect_control="FloaterBuildOptionsRect" title="Grid Options" width="272"> | 5 | rect_control="FloaterBuildOptionsRect" title="Grid Options" width="320"> |
6 | <spinner bottom="-53" control_name="GridResolution" decimal_digits="3" | 6 | <spinner bottom="-53" control_name="GridResolution" decimal_digits="3" |
7 | follows="left|top" height="16" increment="0.1" initial_val="1" | 7 | follows="left|top" height="16" increment="0.1" initial_val="1" |
8 | label="Grid Unit (meters)" label_width="110" left="14" max_val="5" | 8 | label="Grid Unit (meters)" label_width="110" left="14" max_val="5" |
@@ -24,4 +24,7 @@ | |||
24 | initial_val="0.7" label="Grid Opacity" left="14" max_val="1" min_val="0" | 24 | initial_val="0.7" label="Grid Opacity" left="14" max_val="1" min_val="0" |
25 | mouse_opaque="true" name="GridOpacity" show_text="false" value="0.7" | 25 | mouse_opaque="true" name="GridOpacity" show_text="false" value="0.7" |
26 | width="200" /> | 26 | width="200" /> |
27 | <check_box bottom_delta="-20" enabled="true" follows="left|top" font="SansSerifSmall" height="16" | ||
28 | label="Rez objects under the land group when possible" left_delta="0" mouse_opaque="true" | ||
29 | name="grouplandrez" radio_style="false" width="270" control_name="RezWithLandGroup"/> | ||
27 | </floater> | 30 | </floater> |