diff options
author | elektrahesse | 2010-09-07 18:39:40 +0200 |
---|---|---|
committer | elektrahesse | 2010-09-07 18:39:40 +0200 |
commit | 22383f92482798cf5b5439396bdcdf1c8f9aa073 (patch) | |
tree | 538bc3c53d1d1f4245cf738d6ac045fa57dbe8d4 | |
parent | Merge branch 'weekly' of git://github.com/mccabe/imprudence into weekly (diff) | |
parent | Use solid circles instead of asterisks for password fields. (diff) | |
download | meta-impy-22383f92482798cf5b5439396bdcdf1c8f9aa073.zip meta-impy-22383f92482798cf5b5439396bdcdf1c8f9aa073.tar.gz meta-impy-22383f92482798cf5b5439396bdcdf1c8f9aa073.tar.bz2 meta-impy-22383f92482798cf5b5439396bdcdf1c8f9aa073.tar.xz |
Merge branch 'weekly' of git://github.com/mccabe/imprudence into weekly
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llui/lllineeditor.cpp | 41 | ||||
-rw-r--r-- | linden/indra/llui/lltexteditor.cpp | 14 | ||||
-rw-r--r-- | linden/indra/newview/featuretable.txt | 4 | ||||
-rw-r--r-- | linden/indra/newview/llinventorybridge.cpp | 61 | ||||
-rw-r--r-- | linden/indra/newview/llinventoryview.cpp | 8 | ||||
-rw-r--r-- | linden/indra/newview/llpaneldisplay.cpp | 29 | ||||
-rw-r--r-- | linden/indra/newview/llpaneldisplay.h | 5 | ||||
-rw-r--r-- | linden/indra/newview/llpreviewscript.cpp | 3 | ||||
-rwxr-xr-x | linden/indra/newview/llviewermessage.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/llworldmapview.cpp | 22 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/floater_about.xml | 6 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/menu_inventory.xml | 8 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml | 23 |
13 files changed, 188 insertions, 40 deletions
diff --git a/linden/indra/llui/lllineeditor.cpp b/linden/indra/llui/lllineeditor.cpp index 5441d0a..c1d8efa 100644 --- a/linden/indra/llui/lllineeditor.cpp +++ b/linden/indra/llui/lllineeditor.cpp | |||
@@ -439,7 +439,7 @@ S32 LLLineEditor::calculateCursorFromMouse( S32 local_mouse_x ) | |||
439 | { | 439 | { |
440 | for (S32 i = 0; i < mText.length(); i++) | 440 | for (S32 i = 0; i < mText.length(); i++) |
441 | { | 441 | { |
442 | asterix_text += '*'; | 442 | asterix_text += (llwchar) 0x2022L; |
443 | } | 443 | } |
444 | wtext = asterix_text.c_str(); | 444 | wtext = asterix_text.c_str(); |
445 | } | 445 | } |
@@ -1938,7 +1938,7 @@ void LLLineEditor::draw() | |||
1938 | std::string text; | 1938 | std::string text; |
1939 | for (S32 i = 0; i < mText.length(); i++) | 1939 | for (S32 i = 0; i < mText.length(); i++) |
1940 | { | 1940 | { |
1941 | text += '*'; | 1941 | text += "\xe2\x80\xa2"; |
1942 | } | 1942 | } |
1943 | mText = text; | 1943 | mText = text; |
1944 | } | 1944 | } |
@@ -2621,28 +2621,37 @@ BOOL LLLineEditor::prevalidateASCII(const LLWString &str) | |||
2621 | 2621 | ||
2622 | BOOL LLLineEditor::evaluateFloat() | 2622 | BOOL LLLineEditor::evaluateFloat() |
2623 | { | 2623 | { |
2624 | bool success; | 2624 | bool success = false; |
2625 | F32 result = 0.f; | ||
2626 | std::string expr = getText(); | 2625 | std::string expr = getText(); |
2627 | LLStringUtil::toUpper(expr); | 2626 | LLStringUtil::toUpper(expr); |
2628 | 2627 | ||
2629 | success = LLCalc::getInstance()->evalString(expr, result); | 2628 | // user deleted the contents, nothing to evaluate -- MC |
2630 | 2629 | if (expr.empty()) | |
2631 | if (!success) | ||
2632 | { | 2630 | { |
2633 | // Move the cursor to near the error on failure | 2631 | return success; |
2634 | setCursor(LLCalc::getInstance()->getLastErrorPos()); | ||
2635 | // *TODO: Translated error message indicating the type of error? Select error text? | ||
2636 | } | 2632 | } |
2637 | else | 2633 | else |
2638 | { | 2634 | { |
2639 | // Replace the expression with the result | 2635 | F32 result = 0.f; |
2640 | std::string result_str = llformat("%f",result); | 2636 | success = LLCalc::getInstance()->evalString(expr, result); |
2641 | setText(result_str); | ||
2642 | selectAll(); | ||
2643 | } | ||
2644 | 2637 | ||
2645 | return success; | 2638 | if (!success) |
2639 | { | ||
2640 | // Move the cursor to near the error on failure | ||
2641 | setCursor(LLCalc::getInstance()->getLastErrorPos()); | ||
2642 | // *TODO: Translated error message indicating the type of error? Select error text? | ||
2643 | } | ||
2644 | else | ||
2645 | { | ||
2646 | // Replace the expression with the result | ||
2647 | std::ostringstream result_str; | ||
2648 | result_str << result; | ||
2649 | setText(result_str.str()); | ||
2650 | selectAll(); | ||
2651 | } | ||
2652 | |||
2653 | return success; | ||
2654 | } | ||
2646 | } | 2655 | } |
2647 | 2656 | ||
2648 | void LLLineEditor::onMouseCaptureLost() | 2657 | void LLLineEditor::onMouseCaptureLost() |
diff --git a/linden/indra/llui/lltexteditor.cpp b/linden/indra/llui/lltexteditor.cpp index 51f7ad6..6e5cdc4 100644 --- a/linden/indra/llui/lltexteditor.cpp +++ b/linden/indra/llui/lltexteditor.cpp | |||
@@ -951,7 +951,14 @@ S32 LLTextEditor::getLineStart( S32 line ) const | |||
951 | S32 segoffset = mLineStartList[line].mOffset; | 951 | S32 segoffset = mLineStartList[line].mOffset; |
952 | LLTextSegment* seg = mSegments[segidx]; | 952 | LLTextSegment* seg = mSegments[segidx]; |
953 | S32 res = seg->getStart() + segoffset; | 953 | S32 res = seg->getStart() + segoffset; |
954 | if (res > seg->getEnd()) llerrs << "wtf" << llendl; | 954 | if (res > seg->getEnd()) |
955 | { | ||
956 | //llerrs << "wtf" << llendl; | ||
957 | // This happens when creating a new notecard using the AO on certain opensims. | ||
958 | // Play it safe instead of bringing down the viewer - MC | ||
959 | llwarns << "BAD JOOJOO! Text length (" << res << ") greater than text end (" << seg->getEnd() << "). Setting line start to " << seg->getEnd() << llendl; | ||
960 | res = seg->getEnd(); | ||
961 | } | ||
955 | return res; | 962 | return res; |
956 | } | 963 | } |
957 | 964 | ||
@@ -1079,6 +1086,11 @@ S32 LLTextEditor::getCursorPosFromLocalCoord( S32 local_x, S32 local_y, BOOL rou | |||
1079 | 1086 | ||
1080 | void LLTextEditor::setCursor(S32 row, S32 column) | 1087 | void LLTextEditor::setCursor(S32 row, S32 column) |
1081 | { | 1088 | { |
1089 | // Make sure we're not trying to set the cursor anywhere | ||
1090 | // it can't go by always setting the min to 0 -- MC | ||
1091 | row = (row < 0) ? 0 : row; | ||
1092 | column = (column < 0) ? 0 : column; | ||
1093 | |||
1082 | const llwchar* doc = mWText.c_str(); | 1094 | const llwchar* doc = mWText.c_str(); |
1083 | const char CR = 10; | 1095 | const char CR = 10; |
1084 | while(row--) | 1096 | while(row--) |
diff --git a/linden/indra/newview/featuretable.txt b/linden/indra/newview/featuretable.txt index d557df3..a31cd71 100644 --- a/linden/indra/newview/featuretable.txt +++ b/linden/indra/newview/featuretable.txt | |||
@@ -217,7 +217,7 @@ RenderLightingDetail 1 0 | |||
217 | RenderObjectBump 0 0 | 217 | RenderObjectBump 0 0 |
218 | RenderMaxPartCount 1 1024 | 218 | RenderMaxPartCount 1 1024 |
219 | RenderTerrainDetail 1 0 | 219 | RenderTerrainDetail 1 0 |
220 | RenderUseImpostors 0 0 | 220 | RenderUseImpostors 1 0 |
221 | RenderVBOEnable 1 0 | 221 | RenderVBOEnable 1 0 |
222 | RenderWaterReflections 0 0 | 222 | RenderWaterReflections 0 0 |
223 | WindLightUseAtmosShaders 0 0 | 223 | WindLightUseAtmosShaders 0 0 |
@@ -245,7 +245,7 @@ RenderVBOEnable 1 0 | |||
245 | list Intel | 245 | list Intel |
246 | RenderAnisotropic 1 0 | 246 | RenderAnisotropic 1 0 |
247 | RenderLightingDetail 1 0 | 247 | RenderLightingDetail 1 0 |
248 | RenderUseImpostors 0 0 | 248 | RenderUseImpostors 1 0 |
249 | 249 | ||
250 | list GeForce2 | 250 | list GeForce2 |
251 | RenderAnisotropic 1 0 | 251 | RenderAnisotropic 1 0 |
diff --git a/linden/indra/newview/llinventorybridge.cpp b/linden/indra/newview/llinventorybridge.cpp index 4a5ad67..30b0a4a 100644 --- a/linden/indra/newview/llinventorybridge.cpp +++ b/linden/indra/newview/llinventorybridge.cpp | |||
@@ -53,6 +53,7 @@ | |||
53 | #include "llfloaterchat.h" | 53 | #include "llfloaterchat.h" |
54 | #include "llfloatercustomize.h" | 54 | #include "llfloatercustomize.h" |
55 | #include "llfloaterproperties.h" | 55 | #include "llfloaterproperties.h" |
56 | #include "llfloatertools.h" | ||
56 | #include "llfloaterworldmap.h" | 57 | #include "llfloaterworldmap.h" |
57 | #include "llfocusmgr.h" | 58 | #include "llfocusmgr.h" |
58 | #include "llfolderview.h" | 59 | #include "llfolderview.h" |
@@ -72,10 +73,14 @@ | |||
72 | #include "llresmgr.h" | 73 | #include "llresmgr.h" |
73 | #include "llscrollcontainer.h" | 74 | #include "llscrollcontainer.h" |
74 | #include "llimview.h" | 75 | #include "llimview.h" |
76 | #include "lltoolcomp.h" | ||
75 | #include "lltooldraganddrop.h" | 77 | #include "lltooldraganddrop.h" |
78 | #include "lltoolmgr.h" | ||
76 | #include "llviewerimagelist.h" | 79 | #include "llviewerimagelist.h" |
77 | #include "llviewerinventory.h" | 80 | #include "llviewerinventory.h" |
81 | #include "llviewerjoystick.h" | ||
78 | #include "llviewerobjectlist.h" | 82 | #include "llviewerobjectlist.h" |
83 | #include "llviewerparcelmgr.h" | ||
79 | #include "llviewerwindow.h" | 84 | #include "llviewerwindow.h" |
80 | #include "llvoavatar.h" | 85 | #include "llvoavatar.h" |
81 | #include "llwaterparammanager.h" | 86 | #include "llwaterparammanager.h" |
@@ -3493,6 +3498,55 @@ void LLObjectBridge::performAction(LLFolderView* folder, LLInventoryModel* model | |||
3493 | llwarns << "object not found - ignoring" << llendl; | 3498 | llwarns << "object not found - ignoring" << llendl; |
3494 | } | 3499 | } |
3495 | } | 3500 | } |
3501 | else if ("edit" == action) | ||
3502 | { | ||
3503 | if (gRlvHandler.hasBehaviour(RLV_BHVR_EDIT)) | ||
3504 | return; | ||
3505 | LLVOAvatar* avatarp = gAgent.getAvatarObject(); | ||
3506 | if (!avatarp) | ||
3507 | return; | ||
3508 | LLViewerObject* objectp = avatarp->getWornAttachment(mUUID); | ||
3509 | if (!objectp) | ||
3510 | return; | ||
3511 | |||
3512 | // [Selective copy/paste from LLObjectEdit::handleEvent()] | ||
3513 | LLViewerParcelMgr::getInstance()->deselectLand(); | ||
3514 | LLSelectMgr::getInstance()->deselectAll(); | ||
3515 | |||
3516 | if (gAgent.getFocusOnAvatar() && !LLToolMgr::getInstance()->inEdit()) | ||
3517 | { | ||
3518 | if (objectp->isHUDAttachment() || !gSavedSettings.getBOOL("EditCameraMovement")) | ||
3519 | { | ||
3520 | // always freeze camera in space, even if camera doesn't move | ||
3521 | // so, for example, follow cam scripts can't affect you when in build mode | ||
3522 | gAgent.setFocusGlobal(gAgent.calcFocusPositionTargetGlobal(), LLUUID::null); | ||
3523 | gAgent.setFocusOnAvatar(FALSE, ANIMATE); | ||
3524 | } | ||
3525 | else | ||
3526 | { | ||
3527 | gAgent.setFocusOnAvatar(FALSE, ANIMATE); | ||
3528 | |||
3529 | // zoom in on object center instead of where we clicked, as we need to see the manipulator handles | ||
3530 | gAgent.setFocusGlobal(objectp->getPositionGlobal(), objectp->getID()); | ||
3531 | gAgent.cameraZoomIn(0.666f); | ||
3532 | gAgent.cameraOrbitOver( 30.f * DEG_TO_RAD ); | ||
3533 | gViewerWindow->moveCursorToCenter(); | ||
3534 | } | ||
3535 | } | ||
3536 | |||
3537 | gFloaterTools->open(); | ||
3538 | |||
3539 | LLToolMgr::getInstance()->setCurrentToolset(gBasicToolset); | ||
3540 | gFloaterTools->setEditTool( LLToolCompTranslate::getInstance() ); | ||
3541 | |||
3542 | LLViewerJoystick::getInstance()->moveObjects(true); | ||
3543 | LLViewerJoystick::getInstance()->setNeedsReset(true); | ||
3544 | |||
3545 | LLSelectMgr::getInstance()->selectObjectAndFamily(objectp); | ||
3546 | |||
3547 | // Could be first use | ||
3548 | LLFirstUse::useBuild(); | ||
3549 | } | ||
3496 | else LLItemBridge::performAction(folder, model, action); | 3550 | else LLItemBridge::performAction(folder, model, action); |
3497 | } | 3551 | } |
3498 | 3552 | ||
@@ -3654,9 +3708,15 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags) | |||
3654 | return; | 3708 | return; |
3655 | } | 3709 | } |
3656 | 3710 | ||
3711 | items.push_back(std::string("Attach Separator")); | ||
3657 | if( avatarp->isWearingAttachment( mUUID ) ) | 3712 | if( avatarp->isWearingAttachment( mUUID ) ) |
3658 | { | 3713 | { |
3659 | items.push_back(std::string("Detach From Yourself")); | 3714 | items.push_back(std::string("Detach From Yourself")); |
3715 | items.push_back(std::string("Attachment Edit")); | ||
3716 | if ( ( (flags & FIRST_SELECTED_ITEM) == 0) || (gRlvHandler.hasBehaviour(RLV_BHVR_EDIT)) ) | ||
3717 | { | ||
3718 | disabled_items.push_back(std::string("Attachment Edit")); | ||
3719 | } | ||
3660 | 3720 | ||
3661 | // [RLVa:KB] - Checked: 2009-10-10 (RLVa-1.0.5a) | Modified: RLVa-1.0.5a | 3721 | // [RLVa:KB] - Checked: 2009-10-10 (RLVa-1.0.5a) | Modified: RLVa-1.0.5a |
3662 | if ( (rlv_handler_t::isEnabled()) && | 3722 | if ( (rlv_handler_t::isEnabled()) && |
@@ -3669,7 +3729,6 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags) | |||
3669 | else | 3729 | else |
3670 | if( !isInTrash() ) | 3730 | if( !isInTrash() ) |
3671 | { | 3731 | { |
3672 | items.push_back(std::string("Attach Separator")); | ||
3673 | items.push_back(std::string("Object Wear")); | 3732 | items.push_back(std::string("Object Wear")); |
3674 | items.push_back(std::string("Attach To")); | 3733 | items.push_back(std::string("Attach To")); |
3675 | items.push_back(std::string("Attach To HUD")); | 3734 | items.push_back(std::string("Attach To HUD")); |
diff --git a/linden/indra/newview/llinventoryview.cpp b/linden/indra/newview/llinventoryview.cpp index 952121f..939d50b 100644 --- a/linden/indra/newview/llinventoryview.cpp +++ b/linden/indra/newview/llinventoryview.cpp | |||
@@ -578,11 +578,11 @@ void LLInventoryView::init(LLInventoryModel* inventory) | |||
578 | std::ostringstream filterSaveName; | 578 | std::ostringstream filterSaveName; |
579 | filterSaveName << gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "filters.xml"); | 579 | filterSaveName << gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "filters.xml"); |
580 | llinfos << "LLInventoryView::init: reading from " << filterSaveName << llendl; | 580 | llinfos << "LLInventoryView::init: reading from " << filterSaveName << llendl; |
581 | llifstream file(filterSaveName.str()); | 581 | llifstream file(filterSaveName.str()); |
582 | LLSD savedFilterState; | 582 | LLSD savedFilterState; |
583 | if (file.is_open()) | 583 | if (file.is_open()) |
584 | { | 584 | { |
585 | LLSDSerialize::fromXML(savedFilterState, file); | 585 | LLSDSerialize::fromXML(savedFilterState, file); |
586 | file.close(); | 586 | file.close(); |
587 | 587 | ||
588 | // Load the persistent "Recent Items" settings. | 588 | // Load the persistent "Recent Items" settings. |
diff --git a/linden/indra/newview/llpaneldisplay.cpp b/linden/indra/newview/llpaneldisplay.cpp index cbf6052..b2313f6 100644 --- a/linden/indra/newview/llpaneldisplay.cpp +++ b/linden/indra/newview/llpaneldisplay.cpp | |||
@@ -242,6 +242,8 @@ BOOL LLPanelDisplay::postBuild() | |||
242 | // Avatar Render Mode | 242 | // Avatar Render Mode |
243 | mCtrlAvatarCloth = getChild<LLCheckBoxCtrl>("AvatarCloth"); | 243 | mCtrlAvatarCloth = getChild<LLCheckBoxCtrl>("AvatarCloth"); |
244 | mCtrlAvatarImpostors = getChild<LLCheckBoxCtrl>("AvatarImpostors"); | 244 | mCtrlAvatarImpostors = getChild<LLCheckBoxCtrl>("AvatarImpostors"); |
245 | mCtrlAvatarImpostors->setCommitCallback(&LLPanelDisplay::onImpostorsEnable); | ||
246 | mCtrlAvatarImpostors->setCallbackUserData(this); | ||
245 | 247 | ||
246 | //---------------------------------------------------------------------------- | 248 | //---------------------------------------------------------------------------- |
247 | // radio set for lighting detail | 249 | // radio set for lighting detail |
@@ -311,6 +313,10 @@ BOOL LLPanelDisplay::postBuild() | |||
311 | mCtrlPostProcess->setCommitCallback(&LLPanelDisplay::updateSliderText); | 313 | mCtrlPostProcess->setCommitCallback(&LLPanelDisplay::updateSliderText); |
312 | mCtrlPostProcess->setCallbackUserData(mPostProcessText); | 314 | mCtrlPostProcess->setCallbackUserData(mPostProcessText); |
313 | 315 | ||
316 | // Avatar imposter count | ||
317 | mCtrlAvatarMaxVisible = getChild<LLSliderCtrl>("AvatarMaxVisible"); | ||
318 | mAvatarCountText = getChild<LLTextBox>("AvatarCountText"); | ||
319 | |||
314 | // Text boxes (for enabling/disabling) | 320 | // Text boxes (for enabling/disabling) |
315 | mShaderText = getChild<LLTextBox>("ShadersText"); | 321 | mShaderText = getChild<LLTextBox>("ShadersText"); |
316 | mReflectionText = getChild<LLTextBox>("ReflectionDetailText"); | 322 | mReflectionText = getChild<LLTextBox>("ReflectionDetailText"); |
@@ -411,8 +417,12 @@ void LLPanelDisplay::refresh() | |||
411 | mLightingDetail = gSavedSettings.getS32("RenderLightingDetail"); | 417 | mLightingDetail = gSavedSettings.getS32("RenderLightingDetail"); |
412 | mTerrainDetail = gSavedSettings.getS32("RenderTerrainDetail"); | 418 | mTerrainDetail = gSavedSettings.getS32("RenderTerrainDetail"); |
413 | 419 | ||
420 | // windlight remote | ||
414 | mWLControl = gSavedSettings.getBOOL("EnableWindlightRemote"); | 421 | mWLControl = gSavedSettings.getBOOL("EnableWindlightRemote"); |
415 | 422 | ||
423 | // max avatar count | ||
424 | mAvatarMaxVisible = gSavedSettings.getS32("RenderAvatarMaxVisible"); | ||
425 | |||
416 | // slider text boxes | 426 | // slider text boxes |
417 | updateSliderText(mCtrlLODFactor, mLODFactorText); | 427 | updateSliderText(mCtrlLODFactor, mLODFactorText); |
418 | updateSliderText(mCtrlFlexFactor, mFlexFactorText); | 428 | updateSliderText(mCtrlFlexFactor, mFlexFactorText); |
@@ -572,6 +582,9 @@ void LLPanelDisplay::disableUnavailableSettings() | |||
572 | mCtrlAvatarImpostors->setEnabled(FALSE); | 582 | mCtrlAvatarImpostors->setEnabled(FALSE); |
573 | mCtrlAvatarImpostors->setValue(FALSE); | 583 | mCtrlAvatarImpostors->setValue(FALSE); |
574 | } | 584 | } |
585 | |||
586 | mCtrlAvatarMaxVisible->setEnabled(mCtrlAvatarImpostors->getValue().asBoolean()); | ||
587 | mAvatarCountText->setEnabled(mCtrlAvatarImpostors->getValue().asBoolean()); | ||
575 | } | 588 | } |
576 | 589 | ||
577 | void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) | 590 | void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) |
@@ -587,6 +600,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) | |||
587 | llassert(mCtrlTerrainFactor != NULL); | 600 | llassert(mCtrlTerrainFactor != NULL); |
588 | llassert(mCtrlSkyFactor != NULL); | 601 | llassert(mCtrlSkyFactor != NULL); |
589 | llassert(mCtrlMaxParticle != NULL); | 602 | llassert(mCtrlMaxParticle != NULL); |
603 | llassert(mCtrlAvatarMaxVisible != NULL); | ||
590 | llassert(mCtrlPostProcess != NULL); | 604 | llassert(mCtrlPostProcess != NULL); |
591 | 605 | ||
592 | llassert(mLODFactorText != NULL); | 606 | llassert(mLODFactorText != NULL); |
@@ -617,6 +631,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) | |||
617 | llassert(mTerrainText != NULL); | 631 | llassert(mTerrainText != NULL); |
618 | llassert(mDrawDistanceMeterText1 != NULL); | 632 | llassert(mDrawDistanceMeterText1 != NULL); |
619 | llassert(mDrawDistanceMeterText2 != NULL); | 633 | llassert(mDrawDistanceMeterText2 != NULL); |
634 | llassert(mAvatarCountText != NULL); | ||
620 | 635 | ||
621 | // enable/disable the states | 636 | // enable/disable the states |
622 | mGraphicsBorder->setVisible(!isHidden); | 637 | mGraphicsBorder->setVisible(!isHidden); |
@@ -664,6 +679,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) | |||
664 | mTerrainText->setVisible(!isHidden); | 679 | mTerrainText->setVisible(!isHidden); |
665 | mDrawDistanceMeterText1->setVisible(!isHidden); | 680 | mDrawDistanceMeterText1->setVisible(!isHidden); |
666 | mDrawDistanceMeterText2->setVisible(!isHidden); | 681 | mDrawDistanceMeterText2->setVisible(!isHidden); |
682 | mAvatarCountText->setVisible(!isHidden); | ||
667 | 683 | ||
668 | // hide one meter text if we're making things visible | 684 | // hide one meter text if we're making things visible |
669 | if(!isHidden) | 685 | if(!isHidden) |
@@ -672,6 +688,8 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) | |||
672 | } | 688 | } |
673 | 689 | ||
674 | mMeshDetailText->setVisible(!isHidden); | 690 | mMeshDetailText->setVisible(!isHidden); |
691 | |||
692 | mCtrlAvatarMaxVisible->setVisible(!isHidden); | ||
675 | } | 693 | } |
676 | 694 | ||
677 | void LLPanelDisplay::cancel() | 695 | void LLPanelDisplay::cancel() |
@@ -708,6 +726,8 @@ void LLPanelDisplay::cancel() | |||
708 | gSavedSettings.setS32("RenderGlowResolutionPow", mPostProcess); | 726 | gSavedSettings.setS32("RenderGlowResolutionPow", mPostProcess); |
709 | 727 | ||
710 | gSavedSettings.setBOOL("EnableWindlightRemote", mWLControl); | 728 | gSavedSettings.setBOOL("EnableWindlightRemote", mWLControl); |
729 | |||
730 | gSavedSettings.setS32("RenderAvatarMaxVisible", mAvatarMaxVisible); | ||
711 | } | 731 | } |
712 | 732 | ||
713 | void LLPanelDisplay::apply() | 733 | void LLPanelDisplay::apply() |
@@ -987,5 +1007,12 @@ void LLPanelDisplay::updateMeterText(LLUICtrl* ctrl, void* user_data) | |||
987 | m2->setVisible(!two_digits); | 1007 | m2->setVisible(!two_digits); |
988 | } | 1008 | } |
989 | 1009 | ||
1010 | // static | ||
1011 | void LLPanelDisplay::onImpostorsEnable(LLUICtrl* ctrl, void* user_data) | ||
1012 | { | ||
1013 | LLPanelDisplay* self = (LLPanelDisplay*)user_data; | ||
1014 | LLCheckBoxCtrl* checkbox = (LLCheckBoxCtrl*)ctrl; | ||
990 | 1015 | ||
991 | 1016 | self->mCtrlAvatarMaxVisible->setEnabled(checkbox->getValue().asBoolean()); | |
1017 | self->mAvatarCountText->setEnabled(checkbox->getValue().asBoolean()); | ||
1018 | } | ||
diff --git a/linden/indra/newview/llpaneldisplay.h b/linden/indra/newview/llpaneldisplay.h index 1cbdbba..e92cd2f 100644 --- a/linden/indra/newview/llpaneldisplay.h +++ b/linden/indra/newview/llpaneldisplay.h | |||
@@ -104,6 +104,7 @@ protected: | |||
104 | LLSliderCtrl *mCtrlSkyFactor; // LOD for terrain | 104 | LLSliderCtrl *mCtrlSkyFactor; // LOD for terrain |
105 | LLSliderCtrl *mCtrlMaxParticle; // Max Particle | 105 | LLSliderCtrl *mCtrlMaxParticle; // Max Particle |
106 | LLSliderCtrl *mCtrlPostProcess; // Max Particle | 106 | LLSliderCtrl *mCtrlPostProcess; // Max Particle |
107 | LLSliderCtrl *mCtrlAvatarMaxVisible; // Max avatars visible | ||
107 | 108 | ||
108 | LLCheckBoxCtrl *mCtrlBumpShiny; | 109 | LLCheckBoxCtrl *mCtrlBumpShiny; |
109 | LLCheckBoxCtrl *mCtrlReflections; | 110 | LLCheckBoxCtrl *mCtrlReflections; |
@@ -138,6 +139,7 @@ protected: | |||
138 | LLTextBox *mTerrainFactorText; | 139 | LLTextBox *mTerrainFactorText; |
139 | LLTextBox *mSkyFactorText; | 140 | LLTextBox *mSkyFactorText; |
140 | LLTextBox *mPostProcessText; | 141 | LLTextBox *mPostProcessText; |
142 | LLTextBox *mAvatarCountText; | ||
141 | 143 | ||
142 | BOOL mFSAutoDetectAspect; | 144 | BOOL mFSAutoDetectAspect; |
143 | F32 mAspectRatio; | 145 | F32 mAspectRatio; |
@@ -171,6 +173,8 @@ protected: | |||
171 | S32 mParticleCount; | 173 | S32 mParticleCount; |
172 | S32 mPostProcess; | 174 | S32 mPostProcess; |
173 | 175 | ||
176 | S32 mAvatarMaxVisible; | ||
177 | |||
174 | BOOL mWLControl; | 178 | BOOL mWLControl; |
175 | 179 | ||
176 | static void setGraphicsSettings(LLControlGroup& group); | 180 | static void setGraphicsSettings(LLControlGroup& group); |
@@ -191,6 +195,7 @@ protected: | |||
191 | static void onApplyResolution(LLUICtrl* ctrl, void* data); | 195 | static void onApplyResolution(LLUICtrl* ctrl, void* data); |
192 | static void updateSliderText(LLUICtrl* ctrl, void* user_data); | 196 | static void updateSliderText(LLUICtrl* ctrl, void* user_data); |
193 | static void updateMeterText(LLUICtrl* ctrl, void* user_data); | 197 | static void updateMeterText(LLUICtrl* ctrl, void* user_data); |
198 | static void onImpostorsEnable(LLUICtrl* ctrl, void* user_data); | ||
194 | 199 | ||
195 | /// callback for defaults | 200 | /// callback for defaults |
196 | static void setHardwareDefaults(void *data); | 201 | static void setHardwareDefaults(void *data); |
diff --git a/linden/indra/newview/llpreviewscript.cpp b/linden/indra/newview/llpreviewscript.cpp index c77f7ff..d8c3aa9 100644 --- a/linden/indra/newview/llpreviewscript.cpp +++ b/linden/indra/newview/llpreviewscript.cpp | |||
@@ -1097,6 +1097,9 @@ void LLPreviewLSL::callbackLSLCompileFailed(const LLSD& compile_errors) | |||
1097 | line < compile_errors.endArray(); | 1097 | line < compile_errors.endArray(); |
1098 | line++) | 1098 | line++) |
1099 | { | 1099 | { |
1100 | // Note: OpenSim screws up and sends the wrong values for (row, column). | ||
1101 | // (As of 2010-09-06: rows start at -1 instead of 0, and columns start at | ||
1102 | // 1 instead of 0) -- MC | ||
1100 | LLSD row; | 1103 | LLSD row; |
1101 | std::string error_message = line->asString(); | 1104 | std::string error_message = line->asString(); |
1102 | LLStringUtil::stripNonprintable(error_message); | 1105 | LLStringUtil::stripNonprintable(error_message); |
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index 45fd772..4cf9c87 100755 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -4911,6 +4911,10 @@ void process_money_balance_reply( LLMessageSystem* msg, void** ) | |||
4911 | args["MESSAGE"] = desc; | 4911 | args["MESSAGE"] = desc; |
4912 | LLNotifications::instance().add("SystemMessage", args); | 4912 | LLNotifications::instance().add("SystemMessage", args); |
4913 | 4913 | ||
4914 | // Also send notification to chat -- MC | ||
4915 | LLChat chat(desc); | ||
4916 | LLFloaterChat::addChat(desc); | ||
4917 | |||
4914 | // Once the 'recent' container gets large enough, chop some | 4918 | // Once the 'recent' container gets large enough, chop some |
4915 | // off the beginning. | 4919 | // off the beginning. |
4916 | const U32 MAX_LOOKBACK = 30; | 4920 | const U32 MAX_LOOKBACK = 30; |
diff --git a/linden/indra/newview/llworldmapview.cpp b/linden/indra/newview/llworldmapview.cpp index 2e28d18..d8e5b3d 100644 --- a/linden/indra/newview/llworldmapview.cpp +++ b/linden/indra/newview/llworldmapview.cpp | |||
@@ -719,6 +719,28 @@ void LLWorldMapView::draw() | |||
719 | LLFontGL::DROP_SHADOW); | 719 | LLFontGL::DROP_SHADOW); |
720 | } | 720 | } |
721 | mesg = info->mName; | 721 | mesg = info->mName; |
722 | |||
723 | // Add access level to region name | ||
724 | U8 access = info->mAccess; | ||
725 | switch(access) | ||
726 | { | ||
727 | case SIM_ACCESS_MIN: | ||
728 | // Don't show this due to different use based on different grids -- MC | ||
729 | //mesg += " (" + LLTrans::getString("SIM_ACCESS_MIN") +")"; | ||
730 | break; | ||
731 | case SIM_ACCESS_PG: | ||
732 | mesg += " (" + LLTrans::getString("SIM_ACCESS_PG") +")"; | ||
733 | break; | ||
734 | case SIM_ACCESS_MATURE: | ||
735 | mesg += " (" + LLTrans::getString("SIM_ACCESS_MATURE") +")"; | ||
736 | break; | ||
737 | case SIM_ACCESS_ADULT: | ||
738 | mesg += " (" + LLTrans::getString("SIM_ACCESS_ADULT") +")"; | ||
739 | break; | ||
740 | default: | ||
741 | mesg += llformat(" (Access: %d)", access); | ||
742 | break; | ||
743 | } | ||
722 | } | 744 | } |
723 | else | 745 | else |
724 | { | 746 | { |
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_about.xml b/linden/indra/newview/skins/default/xui/en-us/floater_about.xml index 1ba9c40..ef02bfa 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_about.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_about.xml | |||
@@ -8,16 +8,16 @@ | |||
8 | max_length="65536" mouse_opaque="true" name="credits_editor" width="458" | 8 | max_length="65536" mouse_opaque="true" name="credits_editor" width="458" |
9 | word_wrap="true"> | 9 | word_wrap="true"> |
10 | The Imprudence Viewer was rocked hard by: | 10 | The Imprudence Viewer was rocked hard by: |
11 | Jacek Antonelli, McCabe Maxsted, and Armin Weatherwax. | 11 | Jacek Antonelli, McCabe Maxsted, Armin Weatherwax, Elektra Hesse, and CodeBastard Redgrave. |
12 | http://imprudenceviewer.org | 12 | http://imprudenceviewer.org |
13 | 13 | ||
14 | Imprudence is so awesome thanks to contributions from many generous people: | 14 | Imprudence is so awesome thanks to contributions from many generous people: |
15 | 15 | ||
16 | For their patches and code contributions, we thank Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Angus Boyd, Asuka Neely, Balp Allen, Carjay McGinnis, Dale Glass, Felix Duesenburg, Geneko Nemeth, Henri Beauchamp, Kitty Barnett, Latif Khalifa, Lilly Zenovka, Mana Janus, Matthew Dowd, Michelle2 Zenovka, Nicholaz Beresford, Paul Churchill, Peter Lameth, Robin Cornelius, Stephen Zenith, Thomas Shikami, Vadim Bigbear, Zi Ree, and Zwagoth Klaar. | 16 | For their patches and code contributions, we thank Admiral Admiral, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Archimedies Plutonian, Angus Boyd, Ansariel Hiller, Ardy Lay, Asuka Neely, Balp Allen, Carjay McGinnis, Chalice Yao, Dale Glass, Damian Delacrois, Danny Nolan, Felix Duesenburg, Geneko Nemeth, Henri Beauchamp, Katharine Berry, KirstenLee Cinquetti, Kitty Barnett, Latif Khalifa, Lilly Zenovka, Makomk Makosen, Mana Janus, Matthew Dowd, Michelle2 Zenovka, Mm Alder, Nemurimasu Neiro, Nicholaz Beresford, Patrick Sapinski, Paul Churchill, Peter Lameth, Robin Cornelius, Stephen Zenith, Thickbrick Sleaford, Thomas Shikami, Tom Meta, tx Oh, Vaalith Jinn, Vadim Bigbear, Vex Streeter, Zi Ree, and Zwagoth Klaar. |
17 | 17 | ||
18 | For their WindLight presets, we thank Ana Lutetia, CodeBastard Redgrave, and Torley Linden. | 18 | For their WindLight presets, we thank Ana Lutetia, CodeBastard Redgrave, and Torley Linden. |
19 | 19 | ||
20 | Thanks also to the developer(s) of the Emerald Viewer, Hippo Viewer, Cool VL Viewer, and Meerkat Viewer for viewer enhancements we have incorporated, as well as Kitty Barnett for RLVa. Special thanks to the folks at Linden Lab for releasing the viewer source, without which this endeavor would have been impossible. | 20 | Thanks also to the developer(s) of the Emerald Viewer, Hippo Viewer, Cool VL Viewer, Snowglobe Viewer, Meta7 Viewer, FrozenGlobe Viewer, and Meerkat Viewer for viewer enhancements we have incorporated, as well as Kitty Barnett for RLVa. Special thanks to the folks at Linden Lab for releasing the viewer source, without which this endeavor would have been impossible. |
21 | 21 | ||
22 | For a complete list of who did what, read the release notes! | 22 | For a complete list of who did what, read the release notes! |
23 | 23 | ||
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_inventory.xml b/linden/indra/newview/skins/default/xui/en-us/menu_inventory.xml index 78fc75e..1ae7465 100644 --- a/linden/indra/newview/skins/default/xui/en-us/menu_inventory.xml +++ b/linden/indra/newview/skins/default/xui/en-us/menu_inventory.xml | |||
@@ -249,13 +249,9 @@ | |||
249 | mouse_opaque="true" name="Detach From Yourself" width="128"> | 249 | mouse_opaque="true" name="Detach From Yourself" width="128"> |
250 | <on_click filter="" function="Inventory.DoToSelected" userdata="detach" /> | 250 | <on_click filter="" function="Inventory.DoToSelected" userdata="detach" /> |
251 | </menu_item_call> | 251 | </menu_item_call> |
252 | <!-- COMMENTED OUT for DEV-32347 --> | 252 | <menu_item_call bottom_delta="-18" height="18" label="Edit" left="0" mouse_opaque="true" name="Attachment Edit" width="128"> |
253 | <!-- | 253 | <on_click filter="" function="Inventory.DoToSelected" userdata="edit" /> |
254 | <menu_item_call bottom_delta="-18" height="18" label="Restore to Last Position" left="0" mouse_opaque="true" | ||
255 | name="Restore to Last Position" width="128"> | ||
256 | <on_click filter="" function="Inventory.DoToSelected" userdata="restoreToWorld" /> | ||
257 | </menu_item_call> | 254 | </menu_item_call> |
258 | --> | ||
259 | <menu_item_call bottom_delta="-18" height="18" label="Wear" left="0" mouse_opaque="true" | 255 | <menu_item_call bottom_delta="-18" height="18" label="Wear" left="0" mouse_opaque="true" |
260 | name="Object Wear" width="128"> | 256 | name="Object Wear" width="128"> |
261 | <on_click filter="" function="Inventory.DoToSelected" userdata="attach" /> | 257 | <on_click filter="" function="Inventory.DoToSelected" userdata="attach" /> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml index 55af056..153a111 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml | |||
@@ -162,8 +162,8 @@ | |||
162 | follows="left|top" font="SansSerifSmall" height="16" | 162 | follows="left|top" font="SansSerifSmall" height="16" |
163 | initial_value="true" label="Custom" left="385" mouse_opaque="true" | 163 | initial_value="true" label="Custom" left="385" mouse_opaque="true" |
164 | name="CustomSettings" radio_style="false" width="256" /> | 164 | name="CustomSettings" radio_style="false" width="256" /> |
165 | <view_border bevel_style="none" border_thickness="1" bottom="-375" follows="top|left" | 165 | <view_border bevel_style="none" border_thickness="1" bottom="-415" follows="left|top" |
166 | height="260" left="5" name="GraphicsBorder" width="485" /> | 166 | height="300" left="5" name="GraphicsBorder" width="485" /> |
167 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | 167 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" |
168 | bottom="-130" drop_shadow_visible="true" enabled="true" follows="left|top" | 168 | bottom="-130" drop_shadow_visible="true" enabled="true" follows="left|top" |
169 | font="SansSerifSmall" h_pad="0" halign="left" height="12" | 169 | font="SansSerifSmall" h_pad="0" halign="left" height="12" |
@@ -235,6 +235,17 @@ | |||
235 | follows="left|top" font="SansSerifSmall" height="16" initial_value="true" | 235 | follows="left|top" font="SansSerifSmall" height="16" initial_value="true" |
236 | label="Avatar cloth" left_delta="0" mouse_opaque="true" name="AvatarCloth" | 236 | label="Avatar cloth" left_delta="0" mouse_opaque="true" name="AvatarCloth" |
237 | radio_style="false" width="256" /> | 237 | radio_style="false" width="256" /> |
238 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
239 | bottom_delta="-20" drop_shadow_visible="true" enabled="true" follows="left|top" | ||
240 | font="SansSerifSmall" h_pad="0" halign="left" height="12" left_delta="0" | ||
241 | mouse_opaque="true" name="AvatarCountText" v_pad="0" width="128"> | ||
242 | Max. non-imposters: | ||
243 | </text> | ||
244 | <slider bottom_delta="-20" can_edit_text="false" control_name="RenderAvatarMaxVisible" | ||
245 | decimal_digits="0" enabled="true" follows="left|top" height="16" | ||
246 | increment="1" initial_val="35" label="" | ||
247 | label_width="0" left_delta="0" max_val="50" min_val="0" mouse_opaque="true" | ||
248 | name="AvatarMaxVisible" show_text="true" width="100" /> | ||
238 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | 249 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" |
239 | bottom="-131" drop_shadow_visible="true" enabled="true" follows="left|top" | 250 | bottom="-131" drop_shadow_visible="true" enabled="true" follows="left|top" |
240 | font="SansSerifSmall" h_pad="0" halign="left" height="12" | 251 | font="SansSerifSmall" h_pad="0" halign="left" height="12" |
@@ -387,13 +398,13 @@ | |||
387 | High | 398 | High |
388 | </radio_item> | 399 | </radio_item> |
389 | </radio_group> | 400 | </radio_group> |
390 | <button bottom="-400" enabled="true" font="SansSerif" halign="center" height="20" | 401 | <button bottom="4" enabled="true" font="SansSerif" halign="center" height="20" |
391 | label="Recommended Settings" left="130" mouse_opaque="true" | 402 | label="Recommended Settings" left="130" mouse_opaque="true" |
392 | name="Defaults" scale_image="true" width="170" /> | 403 | name="Defaults" scale_image="true" width="170" follows="left|bottom" /> |
393 | <button bottom="-400" enabled="true" font="SansSerif" halign="center" height="20" | 404 | <button bottom="4" enabled="true" font="SansSerif" halign="center" height="20" |
394 | label="Hardware Options" label_selected="Hardware Options" | 405 | label="Hardware Options" label_selected="Hardware Options" |
395 | left="310" mouse_opaque="true" name="GraphicsHardwareButton" | 406 | left="310" mouse_opaque="true" name="GraphicsHardwareButton" |
396 | scale_image="true" width="170" /> | 407 | scale_image="true" width="170" follows="left|bottom" /> |
397 | <string name="resolution_format"> | 408 | <string name="resolution_format"> |
398 | [RES_X] x [RES_Y] | 409 | [RES_X] x [RES_Y] |
399 | </string> | 410 | </string> |