diff options
author | McCabe Maxsted | 2010-06-15 21:12:53 -0700 |
---|---|---|
committer | Jacek Antonelli | 2010-06-19 02:43:40 -0500 |
commit | f1f72d0b8beb03715ea97cdeeafc1d1159b14504 (patch) | |
tree | 900a2c3c523d4b71ad3cb27491d4475d5ef5261e /linden | |
parent | Little cleanup of the AO menu check (diff) | |
download | meta-impy-f1f72d0b8beb03715ea97cdeeafc1d1159b14504.zip meta-impy-f1f72d0b8beb03715ea97cdeeafc1d1159b14504.tar.gz meta-impy-f1f72d0b8beb03715ea97cdeeafc1d1159b14504.tar.bz2 meta-impy-f1f72d0b8beb03715ea97cdeeafc1d1159b14504.tar.xz |
Added DisableMaxBuildConstraints setting for disabling viewer max prim size limit and created an advanced menu item (also updated hippoLimits)
Diffstat (limited to 'linden')
-rw-r--r-- | linden/indra/newview/app_settings/settings.xml | 11 | ||||
-rw-r--r-- | linden/indra/newview/hippoLimits.cpp | 39 | ||||
-rw-r--r-- | linden/indra/newview/hippoLimits.h | 38 | ||||
-rw-r--r-- | linden/indra/newview/llfloatertools.cpp | 36 | ||||
-rw-r--r-- | linden/indra/newview/llfloatertools.h | 3 | ||||
-rw-r--r-- | linden/indra/newview/llviewermenu.cpp | 32 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml | 7 |
7 files changed, 127 insertions, 39 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index fa6e275..1f4e16b 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml | |||
@@ -92,6 +92,17 @@ | |||
92 | <key>Value</key> | 92 | <key>Value</key> |
93 | <integer>0</integer> | 93 | <integer>0</integer> |
94 | </map> | 94 | </map> |
95 | <key>DisableMaxBuildConstraints</key> | ||
96 | <map> | ||
97 | <key>Comment</key> | ||
98 | <string>Disable maximum prim size limit enforcement in the viewer (i.e. makes the sim enforce size instead). Doesn't actually toggle megas</string> | ||
99 | <key>Persist</key> | ||
100 | <integer>1</integer> | ||
101 | <key>Type</key> | ||
102 | <string>Boolean</string> | ||
103 | <key>Value</key> | ||
104 | <integer>0</integer> | ||
105 | </map> | ||
95 | <key>DisableMinZoomDist</key> | 106 | <key>DisableMinZoomDist</key> |
96 | <map> | 107 | <map> |
97 | <key>Comment</key> | 108 | <key>Comment</key> |
diff --git a/linden/indra/newview/hippoLimits.cpp b/linden/indra/newview/hippoLimits.cpp index 35afcf9..0777ca3 100644 --- a/linden/indra/newview/hippoLimits.cpp +++ b/linden/indra/newview/hippoLimits.cpp | |||
@@ -5,6 +5,7 @@ | |||
5 | #include "hippoLimits.h" | 5 | #include "hippoLimits.h" |
6 | 6 | ||
7 | #include "hippoGridManager.h" | 7 | #include "hippoGridManager.h" |
8 | #include "llviewercontrol.h" | ||
8 | 9 | ||
9 | #include <llerror.h> | 10 | #include <llerror.h> |
10 | 11 | ||
@@ -12,7 +13,15 @@ | |||
12 | HippoLimits *gHippoLimits = 0; | 13 | HippoLimits *gHippoLimits = 0; |
13 | 14 | ||
14 | 15 | ||
15 | HippoLimits::HippoLimits() | 16 | HippoLimits::HippoLimits() |
17 | : | ||
18 | mMaxAgentGroups(100), | ||
19 | mMaxHeight(10000.0f), | ||
20 | mMinHoleSize(0.05f), | ||
21 | mMaxHollow(0.95f), | ||
22 | mMinPrimScale(0.001f), | ||
23 | mMaxPrimScale(256.0f), | ||
24 | mMaxLinkedPrims(-1) | ||
16 | { | 25 | { |
17 | setLimits(); | 26 | setLimits(); |
18 | } | 27 | } |
@@ -20,9 +29,12 @@ HippoLimits::HippoLimits() | |||
20 | 29 | ||
21 | void HippoLimits::setLimits() | 30 | void HippoLimits::setLimits() |
22 | { | 31 | { |
23 | if (gHippoGridManager->getConnectedGrid()->getPlatform() == HippoGridInfo::PLATFORM_SECONDLIFE) { | 32 | if (gHippoGridManager->getConnectedGrid()->getPlatform() == HippoGridInfo::PLATFORM_SECONDLIFE) |
33 | { | ||
24 | setSecondLifeLimits(); | 34 | setSecondLifeLimits(); |
25 | } else { | 35 | } |
36 | else | ||
37 | { | ||
26 | setOpenSimLimits(); | 38 | setOpenSimLimits(); |
27 | } | 39 | } |
28 | } | 40 | } |
@@ -37,11 +49,13 @@ void HippoLimits::setOpenSimLimits() | |||
37 | mMaxLinkedPrims = -1; | 49 | mMaxLinkedPrims = -1; |
38 | 50 | ||
39 | if (gHippoGridManager->getConnectedGrid()->isRenderCompat()) { | 51 | if (gHippoGridManager->getConnectedGrid()->isRenderCompat()) { |
40 | llinfos << "Using rendering compatible OpenSim limits." << llendl; | 52 | llinfos << "Using rendering compatible OpenSim limits" << llendl; |
41 | mMinHoleSize = 0.05f; | 53 | mMinHoleSize = 0.05f; |
42 | mMaxHollow = 0.95f; | 54 | mMaxHollow = 0.95f; |
43 | } else { | 55 | } |
44 | llinfos << "Using Hippo OpenSim limits." << llendl; | 56 | else |
57 | { | ||
58 | llinfos << "Using Hippo OpenSim limits" << llendl; | ||
45 | mMinHoleSize = 0.01f; | 59 | mMinHoleSize = 0.01f; |
46 | mMaxHollow = 0.99f; | 60 | mMaxHollow = 0.99f; |
47 | } | 61 | } |
@@ -49,7 +63,7 @@ void HippoLimits::setOpenSimLimits() | |||
49 | 63 | ||
50 | void HippoLimits::setSecondLifeLimits() | 64 | void HippoLimits::setSecondLifeLimits() |
51 | { | 65 | { |
52 | llinfos << "Using Second Life limits." << llendl; | 66 | llinfos << "Using Second Life limits" << llendl; |
53 | mMaxAgentGroups = 25; | 67 | mMaxAgentGroups = 25; |
54 | mMaxPrimScale = 10.0f; | 68 | mMaxPrimScale = 10.0f; |
55 | mMinPrimScale = 0.01f; | 69 | mMinPrimScale = 0.01f; |
@@ -59,3 +73,14 @@ void HippoLimits::setSecondLifeLimits() | |||
59 | mMaxLinkedPrims = 255; | 73 | mMaxLinkedPrims = 255; |
60 | } | 74 | } |
61 | 75 | ||
76 | F32 HippoLimits::getMaxPrimScale() const | ||
77 | { | ||
78 | if (gSavedSettings.getBOOL("DisableMaxBuildConstraints")) | ||
79 | { | ||
80 | return FLT_MAX; | ||
81 | } | ||
82 | else | ||
83 | { | ||
84 | return mMaxPrimScale; | ||
85 | } | ||
86 | } | ||
diff --git a/linden/indra/newview/hippoLimits.h b/linden/indra/newview/hippoLimits.h index 450a112..f76e7e9 100644 --- a/linden/indra/newview/hippoLimits.h +++ b/linden/indra/newview/hippoLimits.h | |||
@@ -7,32 +7,34 @@ class HippoLimits | |||
7 | public: | 7 | public: |
8 | HippoLimits(); | 8 | HippoLimits(); |
9 | 9 | ||
10 | int getMaxAgentGroups() const { return mMaxAgentGroups; } | 10 | const S32& getMaxAgentGroups() const { return mMaxAgentGroups; } |
11 | float getMaxHeight() const { return mMaxHeight; } | 11 | const F32& getMaxHeight() const { return mMaxHeight; } |
12 | float getMinHoleSize() const { return mMinHoleSize; } | 12 | const F32& getMinHoleSize() const { return mMinHoleSize; } |
13 | float getMaxHollow() const { return mMaxHollow; } | 13 | const F32& getMaxHollow() const { return mMaxHollow; } |
14 | float getMaxPrimScale() const { return mMaxPrimScale; } | 14 | const F32& getMinPrimScale() const { return mMinPrimScale; } |
15 | float getMinPrimScale() const { return mMinPrimScale; } | 15 | const S32& getMaxLinkedPrims() const { return mMaxLinkedPrims; } |
16 | S32 getMaxLinkedPrims() const { return mMaxLinkedPrims; } | ||
17 | 16 | ||
18 | void setLimits(); | 17 | // Returns the max prim size we can use on a grid |
18 | F32 getMaxPrimScale() const; | ||
19 | |||
20 | void setLimits(); | ||
19 | 21 | ||
20 | private: | 22 | private: |
21 | int mMaxAgentGroups; | 23 | S32 mMaxAgentGroups; |
22 | 24 | ||
23 | float mMaxHeight; | 25 | F32 mMaxHeight; |
24 | float mMinHoleSize; | 26 | F32 mMinHoleSize; |
25 | float mMaxHollow; | 27 | F32 mMaxHollow; |
26 | float mMaxPrimScale; | 28 | F32 mMaxPrimScale; |
27 | float mMinPrimScale; | 29 | F32 mMinPrimScale; |
28 | S32 mMaxLinkedPrims; | 30 | S32 mMaxLinkedPrims; |
29 | 31 | ||
30 | void setOpenSimLimits(); | 32 | void setOpenSimLimits(); |
31 | void setSecondLifeLimits(); | 33 | void setSecondLifeLimits(); |
32 | }; | 34 | }; |
33 | 35 | ||
34 | 36 | ||
35 | extern HippoLimits *gHippoLimits; | 37 | extern HippoLimits* gHippoLimits; |
36 | 38 | ||
37 | 39 | ||
38 | #endif | 40 | #endif |
diff --git a/linden/indra/newview/llfloatertools.cpp b/linden/indra/newview/llfloatertools.cpp index efd81a6..4f31c3c 100644 --- a/linden/indra/newview/llfloatertools.cpp +++ b/linden/indra/newview/llfloatertools.cpp | |||
@@ -179,7 +179,27 @@ void* LLFloaterTools::createPanelLandInfo(void* data) | |||
179 | return floater->mPanelLandInfo; | 179 | return floater->mPanelLandInfo; |
180 | } | 180 | } |
181 | 181 | ||
182 | void LLFloaterTools::toolsPrecision() | 182 | void LLFloaterTools::updateToolsSizeLimits() |
183 | { | ||
184 | if (gSavedSettings.getBOOL("DisableMaxBuildConstraints")) | ||
185 | { | ||
186 | getChild<LLSpinCtrl>("Scale X")->setMaxValue(F32_MAX); | ||
187 | getChild<LLSpinCtrl>("Scale Y")->setMaxValue(F32_MAX); | ||
188 | getChild<LLSpinCtrl>("Scale Z")->setMaxValue(F32_MAX); | ||
189 | } | ||
190 | else | ||
191 | { | ||
192 | getChild<LLSpinCtrl>("Scale X")->setMaxValue(gHippoLimits->getMaxPrimScale()); | ||
193 | getChild<LLSpinCtrl>("Scale Y")->setMaxValue(gHippoLimits->getMaxPrimScale()); | ||
194 | getChild<LLSpinCtrl>("Scale Z")->setMaxValue(gHippoLimits->getMaxPrimScale()); | ||
195 | |||
196 | getChild<LLSpinCtrl>("Scale X")->setMinValue(gHippoLimits->getMinPrimScale()); | ||
197 | getChild<LLSpinCtrl>("Scale Y")->setMinValue(gHippoLimits->getMinPrimScale()); | ||
198 | getChild<LLSpinCtrl>("Scale Z")->setMinValue(gHippoLimits->getMinPrimScale()); | ||
199 | } | ||
200 | } | ||
201 | |||
202 | void LLFloaterTools::updateToolsPrecision() | ||
183 | { | 203 | { |
184 | U32 decimals = gSavedSettings.getU32("DecimalsForTools"); | 204 | U32 decimals = gSavedSettings.getU32("DecimalsForTools"); |
185 | if (decimals != mPrecision) | 205 | if (decimals != mPrecision) |
@@ -268,15 +288,11 @@ BOOL LLFloaterTools::postBuild() | |||
268 | mBtnUnlink = getChild<LLButton>("unlink_btn"); | 288 | mBtnUnlink = getChild<LLButton>("unlink_btn"); |
269 | childSetAction("unlink_btn",onClickUnlink, this); | 289 | childSetAction("unlink_btn",onClickUnlink, this); |
270 | 290 | ||
271 | getChild<LLSpinCtrl>("Scale X")->setMaxValue(gHippoLimits->getMaxPrimScale()); | 291 | // Set the default size limits for spinners -- MC |
272 | getChild<LLSpinCtrl>("Scale Y")->setMaxValue(gHippoLimits->getMaxPrimScale()); | 292 | updateToolsSizeLimits(); |
273 | getChild<LLSpinCtrl>("Scale Z")->setMaxValue(gHippoLimits->getMaxPrimScale()); | ||
274 | |||
275 | getChild<LLSpinCtrl>("Scale X")->setMinValue(gHippoLimits->getMinPrimScale()); | ||
276 | getChild<LLSpinCtrl>("Scale Y")->setMinValue(gHippoLimits->getMinPrimScale()); | ||
277 | getChild<LLSpinCtrl>("Scale Z")->setMinValue(gHippoLimits->getMinPrimScale()); | ||
278 | 293 | ||
279 | toolsPrecision(); | 294 | // Set the default decimal precision for spinners -- MC |
295 | updateToolsPrecision(); | ||
280 | 296 | ||
281 | // | 297 | // |
282 | // Create Buttons | 298 | // Create Buttons |
@@ -517,7 +533,7 @@ void LLFloaterTools::refresh() | |||
517 | LLResMgr::getInstance()->getIntegerString(prim_count_string, LLSelectMgr::getInstance()->getSelection()->getObjectCount()); | 533 | LLResMgr::getInstance()->getIntegerString(prim_count_string, LLSelectMgr::getInstance()->getSelection()->getObjectCount()); |
518 | childSetTextArg("prim_count", "[COUNT]", prim_count_string); | 534 | childSetTextArg("prim_count", "[COUNT]", prim_count_string); |
519 | 535 | ||
520 | toolsPrecision(); | 536 | updateToolsPrecision(); |
521 | 537 | ||
522 | // Refresh child tabs | 538 | // Refresh child tabs |
523 | mPanelPermissions->refresh(); | 539 | mPanelPermissions->refresh(); |
diff --git a/linden/indra/newview/llfloatertools.h b/linden/indra/newview/llfloatertools.h index ba09bc8..ad5be6c 100644 --- a/linden/indra/newview/llfloatertools.h +++ b/linden/indra/newview/llfloatertools.h | |||
@@ -79,7 +79,8 @@ public: | |||
79 | // button highlights, etc. | 79 | // button highlights, etc. |
80 | void updatePopup(LLCoordGL center, MASK mask); | 80 | void updatePopup(LLCoordGL center, MASK mask); |
81 | 81 | ||
82 | void toolsPrecision(); | 82 | void updateToolsSizeLimits(); |
83 | void updateToolsPrecision(); | ||
83 | 84 | ||
84 | // When the floater is going away, reset any options that need to be | 85 | // When the floater is going away, reset any options that need to be |
85 | // cleared. | 86 | // cleared. |
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp index 8ae37f3..ee2f2bc 100644 --- a/linden/indra/newview/llviewermenu.cpp +++ b/linden/indra/newview/llviewermenu.cpp | |||
@@ -10711,12 +10711,10 @@ class LLAvatarReportAbuse : public view_listener_t | |||
10711 | }; | 10711 | }; |
10712 | 10712 | ||
10713 | 10713 | ||
10714 | |||
10715 | //////////////////////////// | 10714 | //////////////////////////// |
10716 | // ALLOW MULTIPLE VIEWERS // | 10715 | // ALLOW MULTIPLE VIEWERS // |
10717 | //////////////////////////// | 10716 | //////////////////////////// |
10718 | 10717 | ||
10719 | |||
10720 | class LLAdvancedToggleMultipleViewers : public view_listener_t | 10718 | class LLAdvancedToggleMultipleViewers : public view_listener_t |
10721 | { | 10719 | { |
10722 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 10720 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
@@ -10730,7 +10728,6 @@ class LLAdvancedToggleMultipleViewers : public view_listener_t | |||
10730 | } | 10728 | } |
10731 | }; | 10729 | }; |
10732 | 10730 | ||
10733 | |||
10734 | class LLAdvancedCheckMultipleViewers : public view_listener_t | 10731 | class LLAdvancedCheckMultipleViewers : public view_listener_t |
10735 | { | 10732 | { |
10736 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | 10733 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) |
@@ -10743,6 +10740,33 @@ class LLAdvancedCheckMultipleViewers : public view_listener_t | |||
10743 | }; | 10740 | }; |
10744 | 10741 | ||
10745 | 10742 | ||
10743 | /////////////////////////////////// | ||
10744 | // DISABLE MAX BUILD CONSTRAINTS // | ||
10745 | /////////////////////////////////// | ||
10746 | |||
10747 | class LLAdvancedToggleMaxBuildConstraints : public view_listener_t | ||
10748 | { | ||
10749 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | ||
10750 | { | ||
10751 | BOOL cur_val = gSavedSettings.getBOOL("DisableMaxBuildConstraints"); | ||
10752 | gSavedSettings.setBOOL("DisableMaxBuildConstraints", !cur_val ); | ||
10753 | gFloaterTools->updateToolsSizeLimits(); | ||
10754 | return true; | ||
10755 | } | ||
10756 | }; | ||
10757 | |||
10758 | class LLAdvancedCheckMaxBuildConstraints : public view_listener_t | ||
10759 | { | ||
10760 | bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) | ||
10761 | { | ||
10762 | bool new_value = gSavedSettings.getBOOL("DisableMaxBuildConstraints"); | ||
10763 | std::string control_name = userdata["control"].asString(); | ||
10764 | gMenuHolder->findControl(control_name)->setValue(new_value); | ||
10765 | return true; | ||
10766 | } | ||
10767 | }; | ||
10768 | |||
10769 | |||
10746 | 10770 | ||
10747 | /////////////// | 10771 | /////////////// |
10748 | // RLVa Main // | 10772 | // RLVa Main // |
@@ -11195,6 +11219,8 @@ void initialize_menus() | |||
11195 | addMenu(new LLAdvancedLeaveAdminStatus(), "Advanced.LeaveAdminStatus"); | 11219 | addMenu(new LLAdvancedLeaveAdminStatus(), "Advanced.LeaveAdminStatus"); |
11196 | addMenu(new LLAdvancedToggleMultipleViewers(), "Advanced.ToggleMultipleViewers"); | 11220 | addMenu(new LLAdvancedToggleMultipleViewers(), "Advanced.ToggleMultipleViewers"); |
11197 | addMenu(new LLAdvancedCheckMultipleViewers(), "Advanced.CheckMultipleViewers"); | 11221 | addMenu(new LLAdvancedCheckMultipleViewers(), "Advanced.CheckMultipleViewers"); |
11222 | addMenu(new LLAdvancedToggleMaxBuildConstraints(), "Advanced.ToggleMaxBuildConstraints"); | ||
11223 | addMenu(new LLAdvancedCheckMaxBuildConstraints(), "Advanced.CheckMaxBuildConstraints"); | ||
11198 | 11224 | ||
11199 | // RLVa | 11225 | // RLVa |
11200 | addMenu(new RLVaMainToggle(), "RLVa.Main.Toggle"); | 11226 | addMenu(new RLVaMainToggle(), "RLVa.Main.Toggle"); |
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 347aa98..0293250 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 | |||
@@ -2090,6 +2090,13 @@ | |||
2090 | userdata="LimitSelectDistance" /> | 2090 | userdata="LimitSelectDistance" /> |
2091 | <on_check control="LimitSelectDistance" /> | 2091 | <on_check control="LimitSelectDistance" /> |
2092 | </menu_item_check> | 2092 | </menu_item_check> |
2093 | <menu_item_check name="Disable Max Build Constraints" | ||
2094 | label="Disable Max Build Constraints"> | ||
2095 | <on_click function="Advanced.ToggleMaxBuildConstraints" | ||
2096 | userdata="" /> | ||
2097 | <on_check function="Advanced.CheckMaxBuildConstraints" | ||
2098 | userdata="" /> | ||
2099 | </menu_item_check> | ||
2093 | <menu_item_check name="Mouse Smoothing" | 2100 | <menu_item_check name="Mouse Smoothing" |
2094 | label="Mouse Smoothing"> | 2101 | label="Mouse Smoothing"> |
2095 | <on_click function="ToggleControl" | 2102 | <on_click function="ToggleControl" |