diff --git a/indra/newview/app_settings/settings_ascent_coa.xml b/indra/newview/app_settings/settings_ascent_coa.xml index 9c94281c4..b76f74109 100644 --- a/indra/newview/app_settings/settings_ascent_coa.xml +++ b/indra/newview/app_settings/settings_ascent_coa.xml @@ -214,6 +214,8 @@ F32 Value 0.5 + IsCOA + 1 BuildPrefs_Ysize @@ -225,6 +227,8 @@ F32 Value 0.5 + IsCOA + 1 BuildPrefs_Zsize @@ -236,6 +240,8 @@ F32 Value 0.5 + IsCOA + 1 EmeraldBuildPrefs_Phantom @@ -247,6 +253,8 @@ Boolean Value 0 + IsCOA + 1 EmeraldBuildPrefs_Temporary @@ -258,6 +266,8 @@ Boolean Value 0 + IsCOA + 1 EmeraldBuildPrefs_Physical @@ -269,6 +279,8 @@ Boolean Value 0 + IsCOA + 1 EmeraldBuildPrefs_EmbedItem @@ -280,6 +292,8 @@ Boolean Value 0 + IsCOA + 1 BuildPrefs_Material @@ -291,6 +305,8 @@ String Value Wood + IsCOA + 1 EmeraldBuildPrefs_Color @@ -307,6 +323,8 @@ 1.0 1.0 + IsCOA + 1 EmeraldBuildPrefs_Texture @@ -318,6 +336,8 @@ String Value 89556747-24cb-43ed-920b-47caed15465f + IsCOA + 1 EmeraldBuildPrefs_Alpha @@ -329,6 +349,8 @@ F32 Value 0.0 + IsCOA + 1 EmeraldBuildPrefs_Glow @@ -340,6 +362,8 @@ F32 Value 0.0 + IsCOA + 1 EmeraldBuildPrefs_FullBright @@ -351,6 +375,8 @@ Boolean Value 0 + IsCOA + 1 EmeraldBuildPrefs_Shiny @@ -362,6 +388,21 @@ String Value None + IsCOA + 1 + + LiruEnableBuildPrefs + + Comment + When false, disables all defaults set in the building preferences panel, without resetting them. + Persist + 1 + Type + Boolean + Value + 1 + IsCOA + 1 diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 815923a3c..995506eab 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -152,7 +152,7 @@ RenderObjectBump 1 1 RenderLocalLights 1 1 RenderReflectionDetail 1 2 RenderTerrainDetail 1 1 -RenderTerrainScale 1 6.0 +RenderTerrainScale 1 7.0 RenderTerrainLODFactor 1 2.0 RenderTransparentWater 1 1 RenderTreeLODFactor 1 0.5 diff --git a/indra/newview/featuretable_linux.txt b/indra/newview/featuretable_linux.txt index 8002ea3e4..bc464b0fd 100644 --- a/indra/newview/featuretable_linux.txt +++ b/indra/newview/featuretable_linux.txt @@ -147,8 +147,8 @@ RenderLocalLights 1 1 RenderMaxPartCount 1 4096 RenderObjectBump 1 1 RenderReflectionDetail 1 2 -RenderTerrainScale 1 6.0 RenderTerrainDetail 1 1 +RenderTerrainScale 1 7.0 RenderTerrainLODFactor 1 2.0 RenderTransparentWater 1 1 RenderTreeLODFactor 1 0.5 @@ -160,7 +160,7 @@ WLSkyDetail 1 48 RenderDeferred 1 0 RenderDeferredSSAO 1 0 RenderShadowDetail 1 0 -RenderFastAlpha 1 0 +RenderFSAASamples 1 0 RenderUseFBO 1 0 diff --git a/indra/newview/featuretable_mac.txt b/indra/newview/featuretable_mac.txt index 55fe571bf..16e50377e 100644 --- a/indra/newview/featuretable_mac.txt +++ b/indra/newview/featuretable_mac.txt @@ -63,7 +63,7 @@ RenderDeferred 1 1 RenderDeferredSSAO 1 1 RenderShadowDetail 1 2 WatchdogDisabled 1 1 -RenderUseStreamVBO 1 1 +ShyotlRenderUseStreamVBO 1 1 RenderFSAASamples 1 16 RenderMaxTextureIndex 1 16 RenderUseFBO 1 0 @@ -152,7 +152,7 @@ RenderMaxPartCount 1 4096 RenderObjectBump 1 1 RenderReflectionDetail 1 2 RenderTerrainDetail 1 1 -RenderTerrainScale 1 6.0 +RenderTerrainScale 1 7.0 RenderTerrainLODFactor 1 2.0 RenderTransparentWater 1 1 RenderTreeLODFactor 1 0.5 diff --git a/indra/newview/llfloaterchat.cpp b/indra/newview/llfloaterchat.cpp index af37749c9..dec68245d 100644 --- a/indra/newview/llfloaterchat.cpp +++ b/indra/newview/llfloaterchat.cpp @@ -683,7 +683,8 @@ void LLFloaterChat::onClickToggleActiveSpeakers(void* userdata) void LLFloaterChat::onClickChatHistoryOpen(void* userdata) { char command[256]; - sprintf(command, "\"%s\\%s\"", gDirUtilp->getPerAccountChatLogsDir().c_str(), "chat.txt"); + + sprintf(command, "\"%s%s%s\"", gDirUtilp->getPerAccountChatLogsDir().c_str(), gDirUtilp->getDirDelimiter().c_str(), "chat.txt"); gViewerWindow->getWindow()->ShellEx(command); llinfos << command << llendl; diff --git a/indra/newview/llfloaterfriends.cpp b/indra/newview/llfloaterfriends.cpp index 078e0e507..d94c7cf8d 100644 --- a/indra/newview/llfloaterfriends.cpp +++ b/indra/newview/llfloaterfriends.cpp @@ -1184,7 +1184,7 @@ void LLPanelFriends::onClickImport_filepicker_continued(AIFilePicker* filepicker if(!content.has("can_mod"))continue; LLUUID agent_id = LLUUID(iter->first); - if(merging && importstatellsd.has(agent_id.asString()))continue;//dont need to request what weve already requested from another list import and have not got a reply yet + if(merging && importstatellsd.has(agent_id.asString()))continue;//dont need to request what we've already requested from another list import and have not got a reply yet std::string agent_name = content["name"]; if(!is_agent_friend(agent_id))//dont need to request what we have diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index 2164a9eac..393dd78af 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -1708,7 +1708,7 @@ void LLFloaterSnapshot::Impl::updateResolution(LLUICtrl* ctrl, void* data, BOOL S32 original_width = 0 , original_height = 0 ; previewp->getSize(original_width, original_height) ; - if (width == 0 || height == 0) + if (width == 0 || height == 0 || gSavedSettings.getBOOL("RenderUIInSnapshot") || gSavedSettings.getBOOL("RenderHUDInSnapshot")) { // take resolution from current window size previewp->setSize(gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight()); diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp index 842f10fd6..ed2349717 100644 --- a/indra/newview/llimpanel.cpp +++ b/indra/newview/llimpanel.cpp @@ -1938,7 +1938,7 @@ void LLFloaterIMPanel::onClickHistory( void* userdata ) //std::string fullname(gDirUtilp->getScrubbedFileName(self->getTitle())); std::string fullname(gDirUtilp->getScrubbedFileName(self->mSessionLabel)); // [/Ansariel: Display name support] - sprintf(command, "\"%s\\%s.txt\"", gDirUtilp->getPerAccountChatLogsDir().c_str(),fullname.c_str()); + sprintf(command, "\"%s%s%s.txt\"", gDirUtilp->getPerAccountChatLogsDir().c_str(), gDirUtilp->getDirDelimiter().c_str(), fullname.c_str()); gViewerWindow->getWindow()->ShellEx(command); llinfos << command << llendl; diff --git a/indra/newview/llmanip.cpp b/indra/newview/llmanip.cpp index b5f17f2af..3ffb93f69 100644 --- a/indra/newview/llmanip.cpp +++ b/indra/newview/llmanip.cpp @@ -355,11 +355,17 @@ LLVector3 LLManip::getPivotPoint() { static LLCachedControl actual_root("AscentBuildPrefs_ActualRoot"); static LLCachedControl pivot_as_percent("AscentBuildPrefs_PivotIsPercent"); - static LLCachedControl pivot_x("AscentBuildPrefs_PivotX"); - static LLCachedControl pivot_y("AscentBuildPrefs_PivotY"); - static LLCachedControl pivot_z("AscentBuildPrefs_PivotZ"); - LLVector3 offset(pivot_x,pivot_y,pivot_z); - + LLVector3 offset(50,50,50); + //Are we are using the defaults? + if(gSavedSettings.getBOOL("LiruEnableBuildPrefs")) + { + static LLCachedControl pivot_x("AscentBuildPrefs_PivotX"); + static LLCachedControl pivot_y("AscentBuildPrefs_PivotY"); + static LLCachedControl pivot_z("AscentBuildPrefs_PivotZ"); + offset = LLVector3(pivot_x,pivot_y,pivot_z); + } + else + pivot_as_percent = true; if (mObjectSelection->getFirstRootObject(TRUE) && (mObjectSelection->getObjectCount() == 1 || actual_root) && mObjectSelection->getSelectType() != SELECT_TYPE_HUD) { if(pivot_as_percent) diff --git a/indra/newview/llpaneldisplay.cpp b/indra/newview/llpaneldisplay.cpp index aaf304236..fdb1a0035 100644 --- a/indra/newview/llpaneldisplay.cpp +++ b/indra/newview/llpaneldisplay.cpp @@ -250,6 +250,10 @@ BOOL LLPanelDisplay::postBuild() mCtrlShadowDetail->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable); mCtrlShadowDetail->setCallbackUserData(this); + //---------------------------------------------------------------------------- + // Terrain Scale + mCtrlTerrainScale = getChild("TerrainScaleCombo"); + //---------------------------------------------------------------------------- // Enable Avatar Shaders mCtrlAvatarVP = getChild("AvatarVertexProgram"); @@ -350,6 +354,7 @@ BOOL LLPanelDisplay::postBuild() mLightingText = getChild("LightingDetailText"); mMeshDetailText = getChild("MeshDetailText"); mShadowDetailText = getChild("ShadowDetailText"); + mTerrainScaleText = getChild("TerrainScaleText"); refresh(); @@ -417,10 +422,10 @@ void LLPanelDisplay::refresh() mDeferred = gSavedSettings.getBOOL("RenderDeferred"); mDeferredDoF = gSavedSettings.getBOOL("RenderDepthOfField"); - // reflection radio + // combo boxes mReflectionDetail = gSavedSettings.getS32("RenderReflectionDetail"); - mShadowDetail = gSavedSettings.getS32("RenderShadowDetail"); + mTerrainScale = gSavedSettings.getF32("RenderTerrainScale"); // avatar settings mAvatarImpostors = gSavedSettings.getBOOL("RenderUseImpostors"); @@ -606,6 +611,13 @@ void LLPanelDisplay::disableUnavailableSettings() mCtrlReflectionDetail->setValue(FALSE); } + // disabled terrain scale + if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderTerrainScale")) + { + mCtrlTerrainScale->setEnabled(false); + mCtrlTerrainScale->setValue(false); + } + // disabled av if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderAvatarVP")) { @@ -678,10 +690,12 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) llassert(mRadioTerrainDetail != NULL); llassert(mCtrlReflectionDetail != NULL); + llassert(mCtrlTerrainScale != NULL); llassert(mMeshDetailText != NULL); llassert(mShaderText != NULL); llassert(mReflectionText != NULL); + llassert(mTerrainScaleText != NULL); llassert(mAvatarText != NULL); llassert(mLightingText != NULL); llassert(mTerrainText != NULL); @@ -728,6 +742,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) mRadioTerrainDetail->setVisible(!isHidden); mCtrlReflectionDetail->setVisible(!isHidden); + mCtrlTerrainScale->setVisible(!isHidden); mCtrlDeferred->setVisible(!isHidden); mCtrlDeferredDoF->setVisible(!isHidden); @@ -742,6 +757,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden) mDrawDistanceMeterText1->setVisible(!isHidden); mDrawDistanceMeterText2->setVisible(!isHidden); mShadowDetailText->setVisible(!isHidden); + mTerrainScaleText->setVisible(!isHidden); // hide one meter text if we're making things visible if(!isHidden) @@ -771,6 +787,7 @@ void LLPanelDisplay::cancel() gSavedSettings.setS32("RenderReflectionDetail", mReflectionDetail); gSavedSettings.setS32("RenderShadowDetail", mShadowDetail); + gSavedSettings.setF32("RenderTerrainScale", mTerrainScale); gSavedSettings.setBOOL("RenderUseImpostors", mAvatarImpostors); gSavedSettings.setS32("RenderAvatarMaxVisible", mNonImpostors); diff --git a/indra/newview/llpaneldisplay.h b/indra/newview/llpaneldisplay.h index 9b601d7d1..a2cbc3549 100644 --- a/indra/newview/llpaneldisplay.h +++ b/indra/newview/llpaneldisplay.h @@ -84,7 +84,6 @@ protected: LLComboBox *mCtrlFullScreen; // Fullscreen resolution LLCheckBoxCtrl *mCtrlAutoDetectAspect; // automatically detect aspect ratio LLComboBox *mCtrlAspectRatio; // user provided aspect ratio - LLComboBox *mCtrlReflectionDetail; LLCheckBoxCtrl *mCtrlWindowed; // windowed mode LLComboBox *mCtrlWindowSize; // window size for windowed mode @@ -114,7 +113,9 @@ protected: LLCheckBoxCtrl *mCtrlShaderEnable; LLCheckBoxCtrl *mCtrlDeferred; LLCheckBoxCtrl *mCtrlDeferredDoF; + LLComboBox *mCtrlReflectionDetail; LLComboBox *mCtrlShadowDetail; + LLComboBox *mCtrlTerrainScale; LLCheckBoxCtrl *mCtrlAvatarImpostors; LLCheckBoxCtrl *mCtrlAvatarCloth; LLCheckBoxCtrl *mCtrlLightingDetail2; @@ -144,6 +145,7 @@ protected: LLTextBox *mSkyFactorText; LLTextBox *mPostProcessText; LLTextBox *mShadowDetailText; + LLTextBox *mTerrainScaleText; BOOL mFSAutoDetectAspect; F32 mAspectRatio; @@ -162,6 +164,7 @@ protected: S32 mReflectionDetail; S32 mShadowDetail; + F32 mTerrainScale; BOOL mAvatarImpostors; S32 mNonImpostors; diff --git a/indra/newview/lltoolplacer.cpp b/indra/newview/lltoolplacer.cpp index f9b5e4541..063b28f1e 100644 --- a/indra/newview/lltoolplacer.cpp +++ b/indra/newview/lltoolplacer.cpp @@ -223,19 +223,25 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics ) // Set params for new object based on its PCode. LLQuaternion rotation; - LLVector3 scale = LLVector3( - gSavedSettings.getF32("BuildPrefs_Xsize"), - gSavedSettings.getF32("BuildPrefs_Ysize"), - gSavedSettings.getF32("BuildPrefs_Zsize")); + LLVector3 scale = DEFAULT_OBJECT_SCALE; U8 material = LL_MCODE_WOOD; - if(gSavedSettings.getString("BuildPrefs_Material")== "Stone") material = LL_MCODE_STONE; - else if(gSavedSettings.getString("BuildPrefs_Material")== "Metal") material = LL_MCODE_METAL; - //if(gSavedSettings.getString("BuildPrefs_Material")== "Wood") material = LL_MCODE_WOOD; redundant - else if(gSavedSettings.getString("BuildPrefs_Material")== "Flesh") material = LL_MCODE_FLESH; - else if(gSavedSettings.getString("BuildPrefs_Material")== "Rubber") material = LL_MCODE_RUBBER; - else if(gSavedSettings.getString("BuildPrefs_Material")== "Plastic") material = LL_MCODE_PLASTIC; - + static LLCachedControl enable_BP("LiruEnableBuildPrefs", true); + static LLCachedControl duplicate("CreateToolCopySelection", true); + //If we are using the defaults, and we aren't duplicating + if(enable_BP && !duplicate) + { + scale = LLVector3( + gSavedSettings.getF32("BuildPrefs_Xsize"), + gSavedSettings.getF32("BuildPrefs_Ysize"), + gSavedSettings.getF32("BuildPrefs_Zsize")); + if(gSavedSettings.getString("BuildPrefs_Material")== "Stone") material = LL_MCODE_STONE; + else if(gSavedSettings.getString("BuildPrefs_Material")== "Metal") material = LL_MCODE_METAL; + //if(gSavedSettings.getString("BuildPrefs_Material")== "Wood") material = LL_MCODE_WOOD; redundant + else if(gSavedSettings.getString("BuildPrefs_Material")== "Flesh") material = LL_MCODE_FLESH; + else if(gSavedSettings.getString("BuildPrefs_Material")== "Rubber") material = LL_MCODE_RUBBER; + else if(gSavedSettings.getString("BuildPrefs_Material")== "Plastic") material = LL_MCODE_PLASTIC; + } BOOL create_selected = FALSE; LLVolumeParams volume_params; @@ -292,7 +298,7 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics ) gMessageSystem->addU8Fast(_PREHASH_Material, material); U32 flags = 0; // not selected - if (use_physics) + if (use_physics || (enable_BP && !duplicate && gSavedSettings.getBOOL("EmeraldBuildPrefs_Physical"))) { flags |= FLAGS_USE_PHYSICS; } @@ -477,8 +483,9 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics ) // Pack in name value pairs gMessageSystem->sendReliable(regionp->getHost()); - //Actually call expectRez so that importtracker can do its thing - gImportTracker.expectRez(); + //If we are using the defaults, and we aren't duplicating + if(enable_BP && !duplicate) //then, actually call expectRez so that importtracker can do its thing, which sadly only works close up. + gImportTracker.expectRez(); // Spawns a message, so must be after above send if (create_selected) { diff --git a/indra/newview/skins/default/textures/inv_item_gesture_muted.tga b/indra/newview/skins/default/textures/inv_item_gesture_muted.tga new file mode 100644 index 000000000..31efb9062 Binary files /dev/null and b/indra/newview/skins/default/textures/inv_item_gesture_muted.tga differ diff --git a/indra/newview/skins/default/xui/en-us/floater_active_speakers.xml b/indra/newview/skins/default/xui/en-us/floater_active_speakers.xml index c74da2f54..a808fc5f8 100644 --- a/indra/newview/skins/default/xui/en-us/floater_active_speakers.xml +++ b/indra/newview/skins/default/xui/en-us/floater_active_speakers.xml @@ -23,7 +23,7 @@