diff options
Diffstat (limited to 'linden/indra')
-rw-r--r-- | linden/indra/newview/app_settings/settings.xml | 225 | ||||
-rw-r--r-- | linden/indra/newview/llfloaterbuildoptions.cpp | 81 | ||||
-rw-r--r-- | linden/indra/newview/llfloaterbuildoptions.h | 11 | ||||
-rw-r--r-- | linden/indra/newview/llmanip.cpp | 86 | ||||
-rw-r--r-- | linden/indra/newview/llmanip.h | 13 | ||||
-rw-r--r-- | linden/indra/newview/lltoolplacer.cpp | 18 | ||||
-rw-r--r-- | linden/indra/newview/llviewerobjectlist.cpp | 81 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/floater_build_options.xml | 167 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/floater_tools.xml | 6 |
9 files changed, 660 insertions, 28 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index 9f2854b..a1e335d 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml | |||
@@ -15,6 +15,231 @@ | |||
15 | <key>Value</key> | 15 | <key>Value</key> |
16 | <integer>1</integer> | 16 | <integer>1</integer> |
17 | </map> | 17 | </map> |
18 | <key>BuildPrefs_Xsize</key> | ||
19 | <map> | ||
20 | <key>Comment</key> | ||
21 | <string>Default Size For New Objects to be created X</string> | ||
22 | <key>Persist</key> | ||
23 | <integer>1</integer> | ||
24 | <key>Type</key> | ||
25 | <string>F32</string> | ||
26 | <key>Value</key> | ||
27 | <real>0.5</real> | ||
28 | </map> | ||
29 | <key>BuildPrefs_Ysize</key> | ||
30 | <map> | ||
31 | <key>Comment</key> | ||
32 | <string>Default Size For New Objects to be created Y</string> | ||
33 | <key>Persist</key> | ||
34 | <integer>1</integer> | ||
35 | <key>Type</key> | ||
36 | <string>F32</string> | ||
37 | <key>Value</key> | ||
38 | <real>0.5</real> | ||
39 | </map> | ||
40 | <key>BuildPrefs_Zsize</key> | ||
41 | <map> | ||
42 | <key>Comment</key> | ||
43 | <string>Default Size For New Objects to be created Z</string> | ||
44 | <key>Persist</key> | ||
45 | <integer>1</integer> | ||
46 | <key>Type</key> | ||
47 | <string>F32</string> | ||
48 | <key>Value</key> | ||
49 | <real>0.5</real> | ||
50 | </map> | ||
51 | <key>BuildPrefs_Phantom</key> | ||
52 | <map> | ||
53 | <key>Comment</key> | ||
54 | <string>Default Setting For New Objects to be created, phantom flag</string> | ||
55 | <key>Persist</key> | ||
56 | <integer>1</integer> | ||
57 | <key>Type</key> | ||
58 | <string>Boolean</string> | ||
59 | <key>Value</key> | ||
60 | <integer>0</integer> | ||
61 | </map> | ||
62 | <key>BuildPrefs_Temporary</key> | ||
63 | <map> | ||
64 | <key>Comment</key> | ||
65 | <string>Default Setting For New Objects to be created, temp flag</string> | ||
66 | <key>Persist</key> | ||
67 | <integer>1</integer> | ||
68 | <key>Type</key> | ||
69 | <string>Boolean</string> | ||
70 | <key>Value</key> | ||
71 | <integer>0</integer> | ||
72 | </map> | ||
73 | <key>BuildPrefs_Physical</key> | ||
74 | <map> | ||
75 | <key>Comment</key> | ||
76 | <string>Default Setting For New Objects to be created, physical flag</string> | ||
77 | <key>Persist</key> | ||
78 | <integer>1</integer> | ||
79 | <key>Type</key> | ||
80 | <string>Boolean</string> | ||
81 | <key>Value</key> | ||
82 | <integer>0</integer> | ||
83 | </map> | ||
84 | <key>BuildPrefs_EmbedItem</key> | ||
85 | <map> | ||
86 | <key>Comment</key> | ||
87 | <string>Whether to add item to objects</string> | ||
88 | <key>Persist</key> | ||
89 | <integer>1</integer> | ||
90 | <key>Type</key> | ||
91 | <string>Boolean</string> | ||
92 | <key>Value</key> | ||
93 | <integer>0</integer> | ||
94 | </map> | ||
95 | <key>BuildPrefs_Material</key> | ||
96 | <map> | ||
97 | <key>Comment</key> | ||
98 | <string>Default Setting For New Objects to be created, physical flag</string> | ||
99 | <key>Persist</key> | ||
100 | <integer>1</integer> | ||
101 | <key>Type</key> | ||
102 | <string>String</string> | ||
103 | <key>Value</key> | ||
104 | <string>Wood</string> | ||
105 | </map> | ||
106 | <key>BuildPrefs_Color</key> | ||
107 | <map> | ||
108 | <key>Comment</key> | ||
109 | <string>Color of new objects textures</string> | ||
110 | <key>Persist</key> | ||
111 | <integer>1</integer> | ||
112 | <key>Type</key> | ||
113 | <string>Color4</string> | ||
114 | <key>Value</key> | ||
115 | <array> | ||
116 | <real>1.0</real> | ||
117 | <real>1.0</real> | ||
118 | <real>1.0</real> | ||
119 | <real>1.0</real> | ||
120 | </array> | ||
121 | </map> | ||
122 | <key>BuildPrefs_Texture</key> | ||
123 | <map> | ||
124 | <key>Comment</key> | ||
125 | <string>Texture used as 'Default' for new object created</string> | ||
126 | <key>Persist</key> | ||
127 | <integer>1</integer> | ||
128 | <key>Type</key> | ||
129 | <string>String</string> | ||
130 | <key>Value</key> | ||
131 | <string>89556747-24cb-43ed-920b-47caed15465f</string> | ||
132 | </map> | ||
133 | <key>BuildPrefs_Item</key> | ||
134 | <map> | ||
135 | <key>Comment</key> | ||
136 | <string>item added to new object created</string> | ||
137 | <key>Persist</key> | ||
138 | <integer>1</integer> | ||
139 | <key>Type</key> | ||
140 | <string>String</string> | ||
141 | <key>Value</key> | ||
142 | <string></string> | ||
143 | </map> | ||
144 | <key>BuildPrefs_Alpha</key> | ||
145 | <map> | ||
146 | <key>Comment</key> | ||
147 | <string>Default Alpha For New Objects to be created</string> | ||
148 | <key>Persist</key> | ||
149 | <integer>1</integer> | ||
150 | <key>Type</key> | ||
151 | <string>F32</string> | ||
152 | <key>Value</key> | ||
153 | <real>0.0</real> | ||
154 | </map> | ||
155 | <key>BuildPrefs_Glow</key> | ||
156 | <map> | ||
157 | <key>Comment</key> | ||
158 | <string>Default Glow For New Objects to be created</string> | ||
159 | <key>Persist</key> | ||
160 | <integer>1</integer> | ||
161 | <key>Type</key> | ||
162 | <string>F32</string> | ||
163 | <key>Value</key> | ||
164 | <real>0.0</real> | ||
165 | </map> | ||
166 | <key>BuildPrefs_FullBright</key> | ||
167 | <map> | ||
168 | <key>Comment</key> | ||
169 | <string>Default Setting For New Objects to be created, whether textures are full bright</string> | ||
170 | <key>Persist</key> | ||
171 | <integer>1</integer> | ||
172 | <key>Type</key> | ||
173 | <string>Boolean</string> | ||
174 | <key>Value</key> | ||
175 | <integer>0</integer> | ||
176 | </map> | ||
177 | <key>BuildPrefs_Shiny</key> | ||
178 | <map> | ||
179 | <key>Comment</key> | ||
180 | <string>Shiny level used as 'Default' for new objects created</string> | ||
181 | <key>Persist</key> | ||
182 | <integer>1</integer> | ||
183 | <key>Type</key> | ||
184 | <string>String</string> | ||
185 | <key>Value</key> | ||
186 | <string>None</string> | ||
187 | </map> | ||
188 | <key>BuildPrefs_PivotX</key> | ||
189 | <map> | ||
190 | <key>Comment</key> | ||
191 | <string>Pivot point on the X axis</string> | ||
192 | <key>Persist</key> | ||
193 | <integer>1</integer> | ||
194 | <key>Type</key> | ||
195 | <string>F32</string> | ||
196 | <key>Value</key> | ||
197 | <real>50</real> | ||
198 | </map> | ||
199 | <key>BuildPrefs_PivotY</key> | ||
200 | <map> | ||
201 | <key>Comment</key> | ||
202 | <string>Pivot point on the Y axis</string> | ||
203 | <key>Persist</key> | ||
204 | <integer>1</integer> | ||
205 | <key>Type</key> | ||
206 | <string>F32</string> | ||
207 | <key>Value</key> | ||
208 | <real>50</real> | ||
209 | </map> | ||
210 | <key>BuildPrefs_PivotZ</key> | ||
211 | <map> | ||
212 | <key>Comment</key> | ||
213 | <string>Pivot point on the Z axis</string> | ||
214 | <key>Persist</key> | ||
215 | <integer>1</integer> | ||
216 | <key>Type</key> | ||
217 | <string>F32</string> | ||
218 | <key>Value</key> | ||
219 | <real>50</real> | ||
220 | </map> | ||
221 | <key>BuildPrefs_PivotIsPercent</key> | ||
222 | <map> | ||
223 | <key>Comment</key> | ||
224 | <string>Consider the Pivot points values as a percentage</string> | ||
225 | <key>Persist</key> | ||
226 | <integer>1</integer> | ||
227 | <key>Type</key> | ||
228 | <string>Boolean</string> | ||
229 | <key>Value</key> | ||
230 | <integer>1</integer> | ||
231 | </map> | ||
232 | <key>BuildPrefs_ActualRoot</key> | ||
233 | <map> | ||
234 | <key>Comment</key> | ||
235 | <string>Show the axis on the actual root of a linkset instead of mass center</string> | ||
236 | <key>Persist</key> | ||
237 | <integer>1</integer> | ||
238 | <key>Type</key> | ||
239 | <string>Boolean</string> | ||
240 | <key>Value</key> | ||
241 | <integer>0</integer> | ||
242 | </map> | ||
18 | <key>DisableLoginLogoutScreens</key> | 243 | <key>DisableLoginLogoutScreens</key> |
19 | <map> | 244 | <map> |
20 | <key>Comment</key> | 245 | <key>Comment</key> |
diff --git a/linden/indra/newview/llfloaterbuildoptions.cpp b/linden/indra/newview/llfloaterbuildoptions.cpp index 3cd35db..472f6bb 100644 --- a/linden/indra/newview/llfloaterbuildoptions.cpp +++ b/linden/indra/newview/llfloaterbuildoptions.cpp | |||
@@ -43,17 +43,24 @@ | |||
43 | // library includes | 43 | // library includes |
44 | #include "llfontgl.h" | 44 | #include "llfontgl.h" |
45 | #include "llcheckboxctrl.h" | 45 | #include "llcheckboxctrl.h" |
46 | #include "llcombobox.h" | ||
46 | #include "llspinctrl.h" | 47 | #include "llspinctrl.h" |
47 | #include "llsliderctrl.h" | 48 | #include "llsliderctrl.h" |
49 | #include "lltexturectrl.h" | ||
48 | 50 | ||
49 | // newview includes | 51 | // newview includes |
52 | #include "llinventorymodel.h" | ||
50 | #include "llresmgr.h" | 53 | #include "llresmgr.h" |
54 | #include "llstartup.h" // not really necessary here, but just in case | ||
51 | #include "llviewercontrol.h" | 55 | #include "llviewercontrol.h" |
56 | #include "llviewerinventory.h" | ||
57 | #include "floaterbusy.h" // class InvDropTarget | ||
52 | 58 | ||
53 | // | 59 | // |
54 | // Globals | 60 | // Globals |
55 | // | 61 | // |
56 | LLFloaterBuildOptions *LLFloaterBuildOptions::sInstance = NULL; | 62 | LLFloaterBuildOptions *LLFloaterBuildOptions::sInstance = NULL; |
63 | InvDropTarget * LLFloaterBuildOptions::mBuildObjectDropTarget; | ||
57 | 64 | ||
58 | // | 65 | // |
59 | // Methods | 66 | // Methods |
@@ -67,6 +74,55 @@ LLFloaterBuildOptions::LLFloaterBuildOptions( ) | |||
67 | LLFloaterBuildOptions::~LLFloaterBuildOptions() | 74 | LLFloaterBuildOptions::~LLFloaterBuildOptions() |
68 | { | 75 | { |
69 | sInstance = NULL; | 76 | sInstance = NULL; |
77 | delete mBuildObjectDropTarget; | ||
78 | mBuildObjectDropTarget = NULL; | ||
79 | } | ||
80 | |||
81 | BOOL LLFloaterBuildOptions::postBuild() | ||
82 | { | ||
83 | getChild<LLComboBox>("material")->setSimple(gSavedSettings.getString("BuildPrefs_Material")); | ||
84 | getChild<LLComboBox>("combobox shininess")->setSimple(gSavedSettings.getString("BuildPrefs_Shiny")); | ||
85 | |||
86 | getChild<LLComboBox>("material")->setCommitCallback(onComboBoxCommit); | ||
87 | getChild<LLComboBox>("combobox shininess")->setCommitCallback(onComboBoxCommit); | ||
88 | |||
89 | getChild<LLTextureCtrl>("texture control")->setDefaultImageAssetID(LLUUID("89556747-24cb-43ed-920b-47caed15465f")); | ||
90 | getChild<LLTextureCtrl>("texture control")->setCommitCallback(onTexturePickerCommit); | ||
91 | |||
92 | LLView *target_view = getChild<LLView>("build_item_add_disp_rect"); | ||
93 | if (target_view) | ||
94 | { | ||
95 | if (mBuildObjectDropTarget) | ||
96 | { | ||
97 | delete mBuildObjectDropTarget; | ||
98 | } | ||
99 | mBuildObjectDropTarget = new InvDropTarget("build drop target", target_view->getRect(),BuildAutoResponseItemDrop); | ||
100 | addChild(mBuildObjectDropTarget); | ||
101 | } | ||
102 | |||
103 | if (LLStartUp::getStartupState() == STATE_STARTED) | ||
104 | { | ||
105 | LLUUID itemid = (LLUUID)gSavedSettings.getString("BuildPrefs_Item"); | ||
106 | LLViewerInventoryItem* item = gInventory.getItem(itemid); | ||
107 | if (item) | ||
108 | { | ||
109 | childSetValue("build_item_add_disp_rect_txt", "Currently set to: "+item->getName()); | ||
110 | } | ||
111 | else if (itemid.isNull()) | ||
112 | { | ||
113 | childSetValue("build_item_add_disp_rect_txt", "Currently not set"); | ||
114 | } | ||
115 | else | ||
116 | { | ||
117 | childSetValue("build_item_add_disp_rect_txt", "Currently set to a item not on this account"); | ||
118 | } | ||
119 | } | ||
120 | else | ||
121 | { | ||
122 | childSetValue("build_item_add_disp_rect_txt", "Not logged in"); | ||
123 | } | ||
124 | |||
125 | return TRUE; | ||
70 | } | 126 | } |
71 | 127 | ||
72 | // static | 128 | // static |
@@ -95,3 +151,28 @@ BOOL LLFloaterBuildOptions::visible(void*) | |||
95 | { | 151 | { |
96 | return (sInstance != NULL); | 152 | return (sInstance != NULL); |
97 | } | 153 | } |
154 | |||
155 | void LLFloaterBuildOptions::BuildAutoResponseItemDrop(LLViewerInventoryItem* item) | ||
156 | { | ||
157 | gSavedSettings.setString("BuildPrefs_Item", item->getUUID().asString()); | ||
158 | LLFloaterBuildOptions::getInstance()->childSetValue("build_item_add_disp_rect_txt", "Currently set to: "+item->getName()); | ||
159 | } | ||
160 | |||
161 | void LLFloaterBuildOptions::onComboBoxCommit(LLUICtrl* ctrl, void* userdata) | ||
162 | { | ||
163 | |||
164 | LLComboBox* box = (LLComboBox*)ctrl; | ||
165 | if(box) | ||
166 | { | ||
167 | gSavedSettings.setString(box->getControlName(), box->getValue().asString()); | ||
168 | } | ||
169 | } | ||
170 | |||
171 | void LLFloaterBuildOptions::onTexturePickerCommit(LLUICtrl* ctrl, void* userdata) | ||
172 | { | ||
173 | LLTextureCtrl* image_ctrl = (LLTextureCtrl*)ctrl; | ||
174 | if(image_ctrl) | ||
175 | { | ||
176 | gSavedSettings.setString("BuildPrefs_Texture", image_ctrl->getImageAssetID().asString()); | ||
177 | } | ||
178 | } | ||
diff --git a/linden/indra/newview/llfloaterbuildoptions.h b/linden/indra/newview/llfloaterbuildoptions.h index e030b06..50599dd 100644 --- a/linden/indra/newview/llfloaterbuildoptions.h +++ b/linden/indra/newview/llfloaterbuildoptions.h | |||
@@ -40,6 +40,8 @@ | |||
40 | 40 | ||
41 | #include "llfloater.h" | 41 | #include "llfloater.h" |
42 | 42 | ||
43 | class LLViewerInventoryItem; | ||
44 | class InvDropTarget; | ||
43 | 45 | ||
44 | class LLFloaterBuildOptions | 46 | class LLFloaterBuildOptions |
45 | : public LLFloater | 47 | : public LLFloater |
@@ -49,12 +51,21 @@ protected: | |||
49 | ~LLFloaterBuildOptions(); | 51 | ~LLFloaterBuildOptions(); |
50 | 52 | ||
51 | public: | 53 | public: |
54 | BOOL postBuild(); | ||
55 | |||
52 | static void show(void*); | 56 | static void show(void*); |
53 | static LLFloaterBuildOptions* getInstance(); | 57 | static LLFloaterBuildOptions* getInstance(); |
54 | static BOOL visible(void*); | 58 | static BOOL visible(void*); |
55 | 59 | ||
56 | protected: | 60 | protected: |
57 | static LLFloaterBuildOptions* sInstance; | 61 | static LLFloaterBuildOptions* sInstance; |
62 | |||
63 | private: | ||
64 | static InvDropTarget* mBuildObjectDropTarget; | ||
65 | |||
66 | static void onTexturePickerCommit(LLUICtrl* ctrl, void* userdata); | ||
67 | static void onComboBoxCommit(LLUICtrl* ctrl, void* userdata); | ||
68 | static void BuildAutoResponseItemDrop(LLViewerInventoryItem* item); | ||
58 | }; | 69 | }; |
59 | 70 | ||
60 | #endif | 71 | #endif |
diff --git a/linden/indra/newview/llmanip.cpp b/linden/indra/newview/llmanip.cpp index 53c74aa..fd24f6d 100644 --- a/linden/indra/newview/llmanip.cpp +++ b/linden/indra/newview/llmanip.cpp | |||
@@ -69,7 +69,11 @@ S32 LLManip::sMaxTimesShowHelpText = 5; | |||
69 | F32 LLManip::sGridMaxSubdivisionLevel = 32.f; | 69 | F32 LLManip::sGridMaxSubdivisionLevel = 32.f; |
70 | F32 LLManip::sGridMinSubdivisionLevel = 1.f; | 70 | F32 LLManip::sGridMinSubdivisionLevel = 1.f; |
71 | LLVector2 LLManip::sTickLabelSpacing(60.f, 25.f); | 71 | LLVector2 LLManip::sTickLabelSpacing(60.f, 25.f); |
72 | 72 | bool LLManip::sActualRoot = false;// going to set these up in the main entry | |
73 | bool LLManip::sPivotPerc = false; | ||
74 | F32 LLManip::sPivotX = 0.f; | ||
75 | F32 LLManip::sPivotY = 0.f; | ||
76 | F32 LLManip::sPivotZ = 0.f; | ||
73 | 77 | ||
74 | //static | 78 | //static |
75 | void LLManip::rebuild(LLViewerObject* vobj) | 79 | void LLManip::rebuild(LLViewerObject* vobj) |
@@ -100,8 +104,48 @@ LLManip::LLManip( const std::string& name, LLToolComposite* composite ) | |||
100 | mHighlightedPart(LL_NO_PART), | 104 | mHighlightedPart(LL_NO_PART), |
101 | mManipPart(LL_NO_PART) | 105 | mManipPart(LL_NO_PART) |
102 | { | 106 | { |
103 | } | 107 | initPivot(); |
104 | 108 | ||
109 | gSavedSettings.getControl("BuildPrefs_ActualRoot")->getSignal()->connect(&updateActualRoot); | ||
110 | gSavedSettings.getControl("BuildPrefs_PivotIsPercent")->getSignal()->connect(&updatePivotIsPercent); | ||
111 | gSavedSettings.getControl("BuildPrefs_PivotX")->getSignal()->connect(&updatePivotX); | ||
112 | gSavedSettings.getControl("BuildPrefs_PivotY")->getSignal()->connect(&updatePivotY); | ||
113 | gSavedSettings.getControl("BuildPrefs_PivotZ")->getSignal()->connect(&updatePivotZ); | ||
114 | } | ||
115 | //static | ||
116 | void LLManip::initPivot() | ||
117 | { | ||
118 | sActualRoot = (bool)gSavedSettings.getBOOL("BuildPrefs_ActualRoot"); | ||
119 | sPivotPerc = (bool)gSavedSettings.getBOOL("BuildPrefs_PivotIsPercent"); | ||
120 | sPivotX = gSavedSettings.getF32("BuildPrefs_PivotX"); | ||
121 | sPivotY = gSavedSettings.getF32("BuildPrefs_PivotY"); | ||
122 | sPivotZ = gSavedSettings.getF32("BuildPrefs_PivotZ"); | ||
123 | } | ||
124 | //static | ||
125 | void LLManip::updateActualRoot(const LLSD &data) | ||
126 | { | ||
127 | sActualRoot = (bool)data.asBoolean(); | ||
128 | } | ||
129 | //static | ||
130 | void LLManip::updatePivotIsPercent(const LLSD &data) | ||
131 | { | ||
132 | sPivotPerc = (bool)data.asBoolean(); | ||
133 | } | ||
134 | //static | ||
135 | void LLManip::updatePivotX(const LLSD &data) | ||
136 | { | ||
137 | sPivotX = (F32)data.asReal(); | ||
138 | } | ||
139 | //static | ||
140 | void LLManip::updatePivotY(const LLSD &data) | ||
141 | { | ||
142 | sPivotY = (F32)data.asReal(); | ||
143 | } | ||
144 | //static | ||
145 | void LLManip::updatePivotZ(const LLSD &data) | ||
146 | { | ||
147 | sPivotZ = (F32)data.asReal(); | ||
148 | } | ||
105 | void LLManip::getManipNormal(LLViewerObject* object, EManipPart manip, LLVector3 &normal) | 149 | void LLManip::getManipNormal(LLViewerObject* object, EManipPart manip, LLVector3 &normal) |
106 | { | 150 | { |
107 | LLVector3 grid_origin; | 151 | LLVector3 grid_origin; |
@@ -351,11 +395,43 @@ LLVector3 LLManip::getSavedPivotPoint() const | |||
351 | 395 | ||
352 | LLVector3 LLManip::getPivotPoint() | 396 | LLVector3 LLManip::getPivotPoint() |
353 | { | 397 | { |
354 | if (mObjectSelection->getFirstObject() && mObjectSelection->getObjectCount() == 1 && mObjectSelection->getSelectType() != SELECT_TYPE_HUD) | 398 | LLVector3 pos; |
399 | LLVector3 scale; | ||
400 | LLQuaternion rot;// = mObjectSelection->getFirstObject()->getRotation(); | ||
401 | if (mObjectSelection->getFirstRootObject(TRUE) && (mObjectSelection->getObjectCount() == 1 || sActualRoot) && mObjectSelection->getSelectType() != SELECT_TYPE_HUD) | ||
402 | { | ||
403 | pos = mObjectSelection->getFirstRootObject(TRUE)->getPivotPositionAgent(); | ||
404 | scale = mObjectSelection->getFirstRootObject(TRUE)->getScale(); | ||
405 | rot = mObjectSelection->getFirstRootObject(TRUE)->getRotation(); | ||
406 | }else | ||
407 | { | ||
408 | pos = LLSelectMgr::getInstance()->getBBoxOfSelection().getCenterAgent(); | ||
409 | scale = LLSelectMgr::getInstance()->getBBoxOfSelection().getExtentLocal(); | ||
410 | rot = LLSelectMgr::getInstance()->getBBoxOfSelection().getRotation(); | ||
411 | } | ||
412 | if(sPivotPerc) | ||
413 | { | ||
414 | |||
415 | LLVector3 add( | ||
416 | (-scale[VX]*0.5) + (scale[VX]*(sPivotX*0.01)), | ||
417 | (-scale[VY]*0.5) + (scale[VY]*(sPivotY*0.01)), | ||
418 | (-scale[VZ]*0.5) + (scale[VZ]*(sPivotZ*0.01))); | ||
419 | add = add * rot; | ||
420 | pos = pos + add; | ||
421 | }else | ||
355 | { | 422 | { |
356 | return mObjectSelection->getFirstObject()->getPivotPositionAgent(); | 423 | //pos[VX] = pos[VX] + gSavedSettings.getF32("BuildPrefs_PivotX"); |
424 | //pos[VY] = pos[VY] + gSavedSettings.getF32("BuildPrefs_PivotY"); | ||
425 | //pos[VZ] = pos[VZ] + gSavedSettings.getF32("BuildPrefs_PivotZ"); | ||
426 | LLVector3 add( | ||
427 | sPivotX, | ||
428 | sPivotY, | ||
429 | sPivotZ); | ||
430 | add = add * rot; | ||
431 | pos = pos + add; | ||
357 | } | 432 | } |
358 | return LLSelectMgr::getInstance()->getBBoxOfSelection().getCenterAgent(); | 433 | //pos = pos * rot; |
434 | return pos; | ||
359 | } | 435 | } |
360 | 436 | ||
361 | 437 | ||
diff --git a/linden/indra/newview/llmanip.h b/linden/indra/newview/llmanip.h index cdf6a36..38672fe 100644 --- a/linden/indra/newview/llmanip.h +++ b/linden/indra/newview/llmanip.h | |||
@@ -151,6 +151,13 @@ protected: | |||
151 | BOOL getMousePointOnPlaneAgent(LLVector3& point, S32 x, S32 y, LLVector3 origin, LLVector3 normal); | 151 | BOOL getMousePointOnPlaneAgent(LLVector3& point, S32 x, S32 y, LLVector3 origin, LLVector3 normal); |
152 | BOOL nearestPointOnLineFromMouse( S32 x, S32 y, const LLVector3& b1, const LLVector3& b2, F32 &a_param, F32 &b_param ); | 152 | BOOL nearestPointOnLineFromMouse( S32 x, S32 y, const LLVector3& b1, const LLVector3& b2, F32 &a_param, F32 &b_param ); |
153 | LLColor4 setupSnapGuideRenderPass(S32 pass); | 153 | LLColor4 setupSnapGuideRenderPass(S32 pass); |
154 | private: | ||
155 | static void initPivot(); | ||
156 | static void updateActualRoot(const LLSD &data); | ||
157 | static void updatePivotIsPercent(const LLSD &data); | ||
158 | static void updatePivotX(const LLSD &data); | ||
159 | static void updatePivotY(const LLSD &data); | ||
160 | static void updatePivotZ(const LLSD &data); | ||
154 | protected: | 161 | protected: |
155 | LLFrameTimer mHelpTextTimer; | 162 | LLFrameTimer mHelpTextTimer; |
156 | BOOL mInSnapRegime; | 163 | BOOL mInSnapRegime; |
@@ -165,6 +172,12 @@ protected: | |||
165 | static F32 sGridMaxSubdivisionLevel; | 172 | static F32 sGridMaxSubdivisionLevel; |
166 | static F32 sGridMinSubdivisionLevel; | 173 | static F32 sGridMinSubdivisionLevel; |
167 | static LLVector2 sTickLabelSpacing; | 174 | static LLVector2 sTickLabelSpacing; |
175 | |||
176 | static bool sActualRoot; | ||
177 | static bool sPivotPerc; | ||
178 | static F32 sPivotX; | ||
179 | static F32 sPivotY; | ||
180 | static F32 sPivotZ; | ||
168 | }; | 181 | }; |
169 | 182 | ||
170 | 183 | ||
diff --git a/linden/indra/newview/lltoolplacer.cpp b/linden/indra/newview/lltoolplacer.cpp index d52d97c..dc4d6bf 100644 --- a/linden/indra/newview/lltoolplacer.cpp +++ b/linden/indra/newview/lltoolplacer.cpp | |||
@@ -216,8 +216,22 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics ) | |||
216 | 216 | ||
217 | // Set params for new object based on its PCode. | 217 | // Set params for new object based on its PCode. |
218 | LLQuaternion rotation; | 218 | LLQuaternion rotation; |
219 | LLVector3 scale = DEFAULT_OBJECT_SCALE; | 219 | LLVector3 scale = LLVector3( |
220 | gSavedSettings.getF32("BuildPrefs_Xsize"), | ||
221 | gSavedSettings.getF32("BuildPrefs_Ysize"), | ||
222 | gSavedSettings.getF32("BuildPrefs_Zsize")); | ||
223 | |||
220 | U8 material = LL_MCODE_WOOD; | 224 | U8 material = LL_MCODE_WOOD; |
225 | if(gSavedSettings.getString("BuildPrefs_Material")== "Stone") material = LL_MCODE_STONE; | ||
226 | if(gSavedSettings.getString("BuildPrefs_Material")== "Metal") material = LL_MCODE_METAL; | ||
227 | if(gSavedSettings.getString("BuildPrefs_Material")== "Wood") material = LL_MCODE_WOOD; | ||
228 | if(gSavedSettings.getString("BuildPrefs_Material")== "Flesh") material = LL_MCODE_FLESH; | ||
229 | if(gSavedSettings.getString("BuildPrefs_Material")== "Rubber") material = LL_MCODE_RUBBER; | ||
230 | if(gSavedSettings.getString("BuildPrefs_Material")== "Plastic") material = LL_MCODE_PLASTIC; | ||
231 | |||
232 | |||
233 | |||
234 | |||
221 | BOOL create_selected = FALSE; | 235 | BOOL create_selected = FALSE; |
222 | LLVolumeParams volume_params; | 236 | LLVolumeParams volume_params; |
223 | 237 | ||
@@ -284,7 +298,7 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics ) | |||
284 | gMessageSystem->addU8Fast(_PREHASH_Material, material); | 298 | gMessageSystem->addU8Fast(_PREHASH_Material, material); |
285 | 299 | ||
286 | U32 flags = 0; // not selected | 300 | U32 flags = 0; // not selected |
287 | if (use_physics) | 301 | if (use_physics || gSavedSettings.getBOOL("BuildPrefs_Physical")) |
288 | { | 302 | { |
289 | flags |= FLAGS_USE_PHYSICS; | 303 | flags |= FLAGS_USE_PHYSICS; |
290 | } | 304 | } |
diff --git a/linden/indra/newview/llviewerobjectlist.cpp b/linden/indra/newview/llviewerobjectlist.cpp index 21a9252..78f374c 100644 --- a/linden/indra/newview/llviewerobjectlist.cpp +++ b/linden/indra/newview/llviewerobjectlist.cpp | |||
@@ -60,6 +60,7 @@ | |||
60 | #include "llresmgr.h" | 60 | #include "llresmgr.h" |
61 | #include "llviewerregion.h" | 61 | #include "llviewerregion.h" |
62 | #include "llviewerstats.h" | 62 | #include "llviewerstats.h" |
63 | #include "lltooldraganddrop.h" | ||
63 | #include "lltoolmgr.h" | 64 | #include "lltoolmgr.h" |
64 | #include "lltoolpie.h" | 65 | #include "lltoolpie.h" |
65 | #include "llkeyboard.h" | 66 | #include "llkeyboard.h" |
@@ -96,6 +97,7 @@ U32 LLViewerObjectList::sSimulatorMachineIndex = 1; // Not zero deliberatel | |||
96 | LLMap<U64, U32> LLViewerObjectList::sIPAndPortToIndex; | 97 | LLMap<U64, U32> LLViewerObjectList::sIPAndPortToIndex; |
97 | std::map<U64, LLUUID> LLViewerObjectList::sIndexAndLocalIDToUUID; | 98 | std::map<U64, LLUUID> LLViewerObjectList::sIndexAndLocalIDToUUID; |
98 | 99 | ||
100 | |||
99 | LLViewerObjectList::LLViewerObjectList() | 101 | LLViewerObjectList::LLViewerObjectList() |
100 | { | 102 | { |
101 | mNumVisCulled = 0; | 103 | mNumVisCulled = 0; |
@@ -256,6 +258,85 @@ void LLViewerObjectList::processUpdateCore(LLViewerObject* objectp, | |||
256 | // (from gPipeline.addObject) | 258 | // (from gPipeline.addObject) |
257 | // so that the drawable parent is set properly | 259 | // so that the drawable parent is set properly |
258 | findOrphans(objectp, msg->getSenderIP(), msg->getSenderPort()); | 260 | findOrphans(objectp, msg->getSenderIP(), msg->getSenderPort()); |
261 | |||
262 | // Apply custom settings not set in llmanip and lltoolplacer here. | ||
263 | // Don't check for permissions in case opensim ever implements | ||
264 | // default prim permission support serverside -- MC | ||
265 | if (objectp | ||
266 | && just_created | ||
267 | && objectp->permYouOwner() | ||
268 | && objectp->mCreateSelected) | ||
269 | { | ||
270 | LLMessageSystem* msg = gMessageSystem; | ||
271 | msg->newMessageFast(_PREHASH_ObjectImage); | ||
272 | msg->nextBlockFast(_PREHASH_AgentData); | ||
273 | msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); | ||
274 | msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); | ||
275 | msg->nextBlockFast(_PREHASH_ObjectData); | ||
276 | msg->addU32Fast(_PREHASH_ObjectLocalID, (U32)(objectp->mLocalID)); | ||
277 | msg->addStringFast(_PREHASH_MediaURL, NULL); | ||
278 | |||
279 | LLPrimitive obj; | ||
280 | obj.setNumTEs(U8(10)); | ||
281 | S32 shinnyLevel = 0; | ||
282 | if(gSavedSettings.getString("BuildPrefs_Shiny")== "None") shinnyLevel = 0; | ||
283 | if(gSavedSettings.getString("BuildPrefs_Shiny")== "Low") shinnyLevel = 1; | ||
284 | if(gSavedSettings.getString("BuildPrefs_Shiny")== "Medium") shinnyLevel = 2; | ||
285 | if(gSavedSettings.getString("BuildPrefs_Shiny")== "High") shinnyLevel = 3; | ||
286 | |||
287 | for (int i = 0; i < 10; i++) | ||
288 | { | ||
289 | // I'm assuming this is because there's no good workaround for setting the default | ||
290 | // box texture manually without restarting? -- MC | ||
291 | LLTextureEntry tex = LLTextureEntry(LLUUID(gSavedSettings.getString("BuildPrefs_Texture"))); | ||
292 | tex.setColor(gSavedSettings.getColor4("BuildPrefs_Color")); | ||
293 | tex.setAlpha(1.0 - ((gSavedSettings.getF32("BuildPrefs_Alpha")) / 100.0)); | ||
294 | tex.setGlow(gSavedSettings.getF32("BuildPrefs_Glow")); | ||
295 | if(gSavedSettings.getBOOL("BuildPrefs_FullBright")) | ||
296 | { | ||
297 | tex.setFullbright(TEM_FULLBRIGHT_MASK); | ||
298 | } | ||
299 | |||
300 | tex.setShiny((U8) shinnyLevel & TEM_SHINY_MASK); | ||
301 | |||
302 | obj.setTE(U8(i), tex); | ||
303 | } | ||
304 | |||
305 | obj.packTEMessage(gMessageSystem); | ||
306 | |||
307 | msg->sendReliable(gAgent.getRegion()->getHost()); | ||
308 | |||
309 | msg->newMessage("ObjectFlagUpdate"); | ||
310 | msg->nextBlockFast(_PREHASH_AgentData); | ||
311 | msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); | ||
312 | msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); | ||
313 | msg->addU32Fast(_PREHASH_ObjectLocalID, (U32)(objectp->mLocalID) ); | ||
314 | msg->addBOOLFast(_PREHASH_UsePhysics, gSavedSettings.getBOOL("BuildPrefs_Physical")); | ||
315 | msg->addBOOL("IsTemporary", gSavedSettings.getBOOL("BuildPrefs_Temporary")); | ||
316 | msg->addBOOL("IsPhantom", gSavedSettings.getBOOL("BuildPrefs_Phantom") ); | ||
317 | msg->addBOOL("CastsShadows", true ); | ||
318 | msg->sendReliable(gAgent.getRegion()->getHost()); | ||
319 | |||
320 | if(gSavedSettings.getBOOL("BuildPrefs_EmbedItem")) | ||
321 | { | ||
322 | LLViewerInventoryItem* item = (LLViewerInventoryItem*)gInventory.getItem((LLUUID)gSavedSettings.getString("BuildPrefs_Item")); | ||
323 | if(item) | ||
324 | { | ||
325 | if(item->getType()==LLAssetType::AT_LSL_TEXT) | ||
326 | { | ||
327 | LLToolDragAndDrop::dropScript(objectp, | ||
328 | item, | ||
329 | TRUE, | ||
330 | LLToolDragAndDrop::SOURCE_AGENT, | ||
331 | gAgent.getID()); | ||
332 | }else | ||
333 | { | ||
334 | LLToolDragAndDrop::dropInventory(objectp,item,LLToolDragAndDrop::SOURCE_AGENT,gAgent.getID()); | ||
335 | } | ||
336 | } | ||
337 | //llinfos << "SENDING CUBE TEXTURE.." << llendl; | ||
338 | } | ||
339 | } | ||
259 | 340 | ||
260 | // If we're just wandering around, don't create new objects selected. | 341 | // If we're just wandering around, don't create new objects selected. |
261 | if (just_created | 342 | if (just_created |
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 6e6e65c..cdd5dc1 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,30 +1,161 @@ | |||
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="165" min_height="165" | 3 | can_resize="false" follows="right" height="355" min_height="355" |
4 | min_width="320" mouse_opaque="true" name="build options floater" | 4 | min_width="530" mouse_opaque="true" name="build options floater" |
5 | rect_control="FloaterBuildOptionsRect" title="Grid Options" width="320"> | 5 | rect_control="FloaterBuildOptionsRect" title="Advanced Build Options" width="530"> |
6 | <spinner bottom="-53" control_name="GridResolution" decimal_digits="3" | 6 | |
7 | <view_border bevel_style="none" border_thickness="1" bottom="-145" follows="top|left" height="105" | ||
8 | left="14" name="GridBorder" width="170"/> | ||
9 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
10 | bottom_delta="110" drop_shadow_visible="true" enabled="true" follows="left|top" font="SansSerifSmall" | ||
11 | h_pad="0" halign="left" height="10" left_delta="53" mouse_opaque="false" | ||
12 | name="text_box7" v_pad="0" width="150"> Grid Options</text> | ||
13 | <spinner bottom="-60" control_name="GridResolution" decimal_digits="3" | ||
7 | follows="left|top" height="16" increment="0.1" initial_val="1" | 14 | follows="left|top" height="16" increment="0.1" initial_val="1" |
8 | label="Grid Unit (meters)" label_width="110" left="14" max_val="5" | 15 | label="Grid Units (m)" label_width="90" left="21" max_val="5" |
9 | min_val="0.01" mouse_opaque="true" name="GridResolution" width="170" /> | 16 | min_val="0.01" mouse_opaque="true" name="GridResolution" width="155" /> |
10 | <spinner bottom_delta="-21" control_name="GridDrawSize" decimal_digits="1" | 17 | <spinner bottom_delta="-20" control_name="GridDrawSize" decimal_digits="1" |
11 | follows="left|top" height="16" increment="0.5" initial_val="5" | 18 | follows="left|top" height="16" increment="0.5" initial_val="5" |
12 | label="Grid Extents (meters)" label_width="110" left="14" max_val="50" | 19 | label="Grid Extents (m)" label_width="90" left_delta="0" max_val="50" |
13 | min_val="1" mouse_opaque="true" name="GridDrawSize" width="170" /> | 20 | min_val="1" mouse_opaque="true" name="GridDrawSize" width="155" /> |
14 | <check_box bottom_delta="-21" control_name="GridSubUnit" follows="left|top" | 21 | <check_box bottom_delta="-20" control_name="GridSubUnit" follows="left|top" |
15 | font="SansSerifSmall" height="16" initial_value="false" | 22 | font="SansSerifSmall" height="16" initial_value="false" |
16 | label="Enable Sub-Unit Snapping" left="14" mouse_opaque="true" | 23 | label="Sub-Unit Snapping" left_delta="0" mouse_opaque="true" |
17 | name="GridSubUnit" width="200" /> | 24 | name="GridSubUnit" width="200" /> |
18 | <check_box bottom_delta="-21" control_name="GridCrossSections" follows="left|top" | 25 | <check_box bottom_delta="-20" control_name="GridCrossSections" follows="left|top" |
19 | font="SansSerifSmall" height="16" initial_value="false" | 26 | font="SansSerifSmall" height="16" initial_value="false" |
20 | label="Show Cross Sections" left="14" mouse_opaque="true" | 27 | label="Show Cross Sections" left_delta="0" mouse_opaque="true" |
21 | name="GridCrossSection" width="200" /> | 28 | name="GridCrossSection" width="200" /> |
22 | <slider bottom_delta="-21" can_edit_text="false" control_name="GridOpacity" | 29 | <slider bottom_delta="-20" can_edit_text="false" control_name="GridOpacity" |
23 | decimal_digits="3" follows="left" height="16" increment="0.05" | 30 | decimal_digits="3" follows="left" height="16" increment="0.05" |
24 | initial_val="0.7" label="Grid Opacity" left="14" max_val="1" min_val="0" | 31 | initial_val="0.7" label="Grid Opacity" left_delta="0" max_val="1" min_val="0" |
25 | mouse_opaque="true" name="GridOpacity" show_text="false" value="0.7" | 32 | mouse_opaque="true" name="GridOpacity" show_text="false" value="0.7" |
26 | width="200" /> | 33 | width="165" /> |
34 | |||
35 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
36 | bottom_delta="-30" drop_shadow_visible="true" enabled="true" follows="left|top" font="SansSerifSmall" | ||
37 | h_pad="0" halign="left" height="10" left="44" mouse_opaque="false" | ||
38 | name="text_box3" v_pad="0" width="150"> Object Size</text> | ||
39 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
40 | bottom_delta="0" drop_shadow_visible="true" enabled="true" follows="left|top" font="SansSerifSmall" | ||
41 | h_pad="0" halign="left" height="10" left_delta="130" mouse_opaque="false" | ||
42 | name="text_box4" v_pad="0" width="150"> Settings</text> | ||
43 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
44 | bottom_delta="0" drop_shadow_visible="true" enabled="true" follows="left|top" font="SansSerifSmall" | ||
45 | h_pad="0" halign="left" height="10" left_delta="190" mouse_opaque="false" | ||
46 | name="text_box5" v_pad="0" width="150"> Texture</text> | ||
47 | <view_border bevel_style="none" border_thickness="1" bottom_delta="-98" follows="top|left" height="90" | ||
48 | left="14" name="SizeBorder" width="120" /> | ||
49 | <view_border bevel_style="none" border_thickness="1" bottom_delta="-0" follows="top|left" height="90" | ||
50 | left_delta="134" name="SettingsBorder" width="100" /> | ||
51 | <view_border bevel_style="none" border_thickness="1" bottom_delta="0" follows="top|left" height="90" | ||
52 | left_delta="114" name="TextureBorder" width="250" /> | ||
53 | |||
54 | <spinner bottom="-200" decimal_digits="5" follows="left|top" height="16" increment="0.05" | ||
55 | label="X size" label_width="40" left="20" max_val="10" min_val="0.01" | ||
56 | mouse_opaque="true" name="X size" width="110" control_name="BuildPrefs_Xsize"/> | ||
57 | <spinner bottom_delta="-20" decimal_digits="5" follows="left|top" height="16" increment="0.05" | ||
58 | label="Y size" label_width="40" left_delta="0" max_val="10" min_val="0.01" | ||
59 | mouse_opaque="true" name="Y size" width="110" control_name="BuildPrefs_Ysize"/> | ||
60 | <spinner bottom_delta="-20" decimal_digits="5" follows="left|top" height="16" increment="0.05" | ||
61 | label="Z size" label_width="40" left_delta="0" max_val="10" min_val="0.01" | ||
62 | mouse_opaque="true" name="Z size" width="110" control_name="BuildPrefs_Zsize"/> | ||
63 | |||
64 | <check_box bottom="-200" enabled="true" follows="left|top" font="SansSerifSmall" height="16" | ||
65 | label="Phantom" left="154" mouse_opaque="true" name="PhantomToggle" radio_style="false" | ||
66 | width="100" control_name="BuildPrefs_Phantom"/> | ||
27 | <check_box bottom_delta="-20" enabled="true" follows="left|top" font="SansSerifSmall" height="16" | 67 | <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" | 68 | label="Physical" left_delta="0" mouse_opaque="true" name="PhysicalToggle" radio_style="false" |
29 | name="grouplandrez" radio_style="false" width="270" control_name="RezWithLandGroup"/> | 69 | width="100" control_name="BuildPrefs_Physical"/> |
70 | <check_box bottom_delta="-20" enabled="true" follows="left|top" font="SansSerifSmall" height="16" | ||
71 | label="Temporary" left_delta="0" mouse_opaque="true" name="TemporaryToggle" radio_style="false" | ||
72 | width="100" control_name="BuildPrefs_Temporary"/> | ||
73 | <combo_box allow_text_entry="false" bottom_delta="-20" left_delta="1" follows="left|top" height="18" | ||
74 | left="10" max_chars="20" mouse_opaque="true" name="material" width="87" | ||
75 | control_name="BuildPrefs_Material"> | ||
76 | <combo_item name="Stone" value="Stone">Stone</combo_item> | ||
77 | <combo_item name="Metal" value="Metal">Metal</combo_item> | ||
78 | <combo_item name="Glass" value="Glass">Glass</combo_item> | ||
79 | <combo_item name="Wood" value="Wood">Wood</combo_item> | ||
80 | <combo_item name="Flesh" value="Flesh">Flesh</combo_item> | ||
81 | <combo_item name="Plastic" value="Plastic">Plastic</combo_item> | ||
82 | <combo_item name="Rubber" value="Rubber">Rubber</combo_item> | ||
83 | </combo_box> | ||
84 | |||
85 | <texture_picker allow_no_texture="false" bottom="-265" can_apply_immediately="true" default_image_name="Default" | ||
86 | follows="left|top" height="80" label="Texture" left="270" mouse_opaque="true" | ||
87 | name="texture control" control_name="BuildPrefs_Texture" tool_tip="Click to choose a picture" | ||
88 | width="64"/> | ||
89 | <color_swatch border_color="0.45098, 0.517647, 0.607843, 1" bottom_delta="0" can_apply_immediately="true" | ||
90 | color="1, 1, 1, 1" follows="left|top" height="80" label="Color" left_delta="75" | ||
91 | mouse_opaque="true" name="colorswatch" tool_tip="Click to open Color Picker" width="64" | ||
92 | control_name="BuildPrefs_Color"/> | ||
93 | |||
94 | <spinner bottom="-200" decimal_digits="0" follows="left|top" height="16" increment="1" | ||
95 | label="Alpha" label_width="40" left_delta="70" max_val="100" min_val="0" | ||
96 | mouse_opaque="true" name="alpha" width="90" control_name="BuildPrefs_Alpha"/> | ||
97 | <spinner bottom_delta="-20" enabled="true" decimal_digits="2" follows="left|top" height="16" | ||
98 | increment="0.05" label="Glow" label_width="40" left_delta="0" max_val="1" | ||
99 | min_val="0" mouse_opaque="true" name="glow" width="90" control_name="BuildPrefs_Glow"/> | ||
100 | <check_box bottom_delta="-20" enabled="true" follows="left|top" font="SansSerifSmall" height="16" | ||
101 | label="Full Bright" left_delta="0" mouse_opaque="true" name="FBToggle" radio_style="false" | ||
102 | width="100" control_name="BuildPrefs_FullBright"/> | ||
103 | <combo_box allow_text_entry="false" bottom_delta="-20" follows="left|top" height="18" left_delta="0" | ||
104 | max_chars="20" mouse_opaque="true" name="combobox shininess" tool_tip="Set the amount of shine for the object" | ||
105 | width="90" control_name="BuildPrefs_Shiny"> | ||
106 | <combo_item name="None" value="None"> None</combo_item> | ||
107 | <combo_item name="Low" value="Low"> Low</combo_item> | ||
108 | <combo_item name="Medium" value="Medium"> Medium</combo_item> | ||
109 | <combo_item name="High" value="High"> High</combo_item> | ||
110 | </combo_box> | ||
111 | |||
112 | <view_border blevel_style="in" bottom_delta="-40" follows="left|top" height="16" left="14" | ||
113 | mouse_opaque="false" name="im_give_drop_target_rect" width="400"/> | ||
114 | <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" bottom_delta="0" | ||
115 | drop_shadow_visible="true" follows="left|top" font="SansSerifSmall" h_pad="0" halign="center" | ||
116 | height="16" left_delta="0" mouse_opaque="true" name="Give inventory" tool_tip="Drop an inventory item here." | ||
117 | v_pad="2" width="400"> Drop an inventory item here to have it added to the prim contents.</text> | ||
118 | <view_border blevel_style="in" bottom_delta="-18" follows="left|top" height="16" left_delta="0" | ||
119 | mouse_opaque="false" name="build_item_add_disp_rect" width="400"/> | ||
120 | <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" bottom_delta="0" | ||
121 | drop_shadow_visible="true" follows="left|top" font="SansSerifSmall" h_pad="0" halign="center" | ||
122 | height="16" left_delta="0" mouse_opaque="true" name="build_item_add_disp_rect_txt" tool_tip="" | ||
123 | v_pad="2" width="400"> Currently set to: ITEM</text> | ||
124 | <check_box name="BuildPrefsEmbedItem" bottom_delta="-25" enabled="true" | ||
125 | follows="left|top" font="SansSerifSmall" height="16" | ||
126 | initial_value="false" label="Embed an item into the newly created object" left_delta="0" | ||
127 | mouse_opaque="true" control_name="BuildPrefs_EmbedItem" radio_style="false" width="270"/> | ||
128 | |||
129 | <view_border bevel_style="none" border_thickness="1" bottom="-145" follows="top|left" height="105" | ||
130 | left="198" name="PivotBorder" width="135"/> | ||
131 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
132 | bottom_delta="110" drop_shadow_visible="true" enabled="true" follows="left|top" font="SansSerifSmall" | ||
133 | h_pad="0" halign="left" height="10" left_delta="35" mouse_opaque="false" | ||
134 | name="text_box6" v_pad="0" width="150"> Pivot Point</text> | ||
135 | <spinner bottom_delta="-25" decimal_digits="5" follows="left|top" height="16" increment="0.05" | ||
136 | label="X pos" label_width="40" left_delta="-28" mouse_opaque="true" max_val="256" | ||
137 | min_val="-256" name="X pos" width="120" control_name="BuildPrefs_PivotX"/> | ||
138 | <spinner bottom_delta="-20" decimal_digits="5" follows="left|top" height="16" increment="0.05" | ||
139 | label="Y pos" label_width="40" left_delta="0" mouse_opaque="true" max_val="256" | ||
140 | min_val="-256" name="Y pos" width="120" control_name="BuildPrefs_PivotY"/> | ||
141 | <spinner bottom_delta="-20" decimal_digits="5" follows="left|top" height="16" increment="0.05" | ||
142 | label="Z pos" label_width="40" left_delta="0" mouse_opaque="true" max_val="256" | ||
143 | min_val="-256" name="Z pos" width="120" control_name="BuildPrefs_PivotZ"/> | ||
144 | <check_box bottom_delta="-20" enabled="true" follows="left|top" font="SansSerifSmall" height="16" | ||
145 | label="Values are percent" left_delta="-5" mouse_opaque="true" tool_tip="Default settings are Percentages and every axis set at 50" | ||
146 | name="PivotPercToggle" radio_style="false" width="100" control_name="BuildPrefs_PivotIsPercent"/> | ||
147 | |||
148 | <check_box bottom_delta="60" enabled="true" follows="left|top" font="SansSerifSmall" height="16" | ||
149 | initial_value="true" label="Highlight selected prims" left_delta="143" | ||
150 | mouse_opaque="true" name="BuildPrefsRenderHighlight_toggle" control_name="RenderHighlightSelections" | ||
151 | radio_style="false" width="270"/> | ||
152 | <check_box bottom_delta="-20" enabled="true" follows="left|top" font="SansSerifSmall" height="16" | ||
153 | initial_value="false" label="Show axis on root prim" left_delta="0" | ||
154 | mouse_opaque="true" tool_tip="Default behaviour is to show the axis on the center of mass of a linkset. If enabled, the axis will be shown on the root prim of the linkset instead." | ||
155 | name="BuildPrefsActualRoot_toggle" control_name="BuildPrefs_ActualRoot" | ||
156 | radio_style="false" width="270"/> | ||
157 | <check_box bottom_delta="-20" enabled="true" follows="left|top" font="SansSerifSmall" height="16" | ||
158 | label="Rez objects using land group" left_delta="0" mouse_opaque="true" | ||
159 | tooltip="Rez objects on group land using the land's group (if possible)" | ||
160 | name="grouplandrez" radio_style="false" width="270" control_name="RezWithLandGroup"/> | ||
30 | </floater> | 161 | </floater> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml b/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml index 959ebde..52275ea 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_tools.xml | |||
@@ -119,10 +119,10 @@ | |||
119 | <check_box bottom_delta="-19" control_name="SnapEnabled" follows="left|top" | 119 | <check_box bottom_delta="-19" control_name="SnapEnabled" follows="left|top" |
120 | font="SansSerifSmall" height="16" initial_value="true" label="Use Grid" | 120 | font="SansSerifSmall" height="16" initial_value="true" label="Use Grid" |
121 | left_delta="0" mouse_opaque="true" name="checkbox snap to grid" width="134" /> | 121 | left_delta="0" mouse_opaque="true" name="checkbox snap to grid" width="134" /> |
122 | <button bottom_delta="-19" follows="left|top" font="SansSerifSmall" | 122 | <button bottom_delta="-30" follows="left|top" font="SansSerifSmall" |
123 | halign="center" valign="center" | 123 | halign="center" valign="center" |
124 | height="20" label="Options..." label_selected="Options..." left_delta="20" | 124 | height="20" label="Build Options" left_delta="20" |
125 | mouse_opaque="true" name="Options..." scale_image="TRUE" width="80" /> | 125 | mouse_opaque="true" name="Options..." scale_image="TRUE" width="100" /> |
126 | 126 | ||
127 | 127 | ||
128 | <!-- Help text --> | 128 | <!-- Help text --> |