aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--linden/indra/newview/app_settings/settings.xml11
-rw-r--r--linden/indra/newview/lltooldraganddrop.cpp26
-rw-r--r--linden/indra/newview/lltoolplacer.cpp26
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_build_options.xml9
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
68const LLVector3 DEFAULT_OBJECT_SCALE(0.5f, 0.5f, 0.5f); 71const 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>