From 981a43b355e44daa7e1b4065b896ea4cd2fec3a2 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Mon, 23 Aug 2010 16:13:10 -0400 Subject: Created new wearable type. Added debug setting for disabling physics. Added disable-multiwear and disable-camera-reset to wearabletype. --- indra/newview/app_settings/settings.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'indra/newview/app_settings/settings.xml') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 07418d1b5e..8310c50b1e 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -619,6 +619,19 @@ Value 0 + + AvatarPhysics + + Comment + Enable avatar physics, such as breast physics. + Persist + 1 + Type + Boolean + Value + 1 + + BackgroundYieldTime Comment -- cgit v1.3 From 635128f353758e59c1ae158b2f01d291b0cea30f Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Thu, 26 Aug 2010 11:44:08 -0400 Subject: Added graphics preference setting for physics. --- indra/newview/app_settings/high_graphics.xml | 2 ++ indra/newview/app_settings/low_graphics.xml | 2 ++ indra/newview/app_settings/mid_graphics.xml | 2 ++ indra/newview/app_settings/settings.xml | 20 +++++++++--- indra/newview/app_settings/ultra_graphics.xml | 2 ++ indra/newview/llappviewer.cpp | 1 + indra/newview/llbreastmotion.cpp | 23 +++++++++++-- indra/newview/llbreastmotion.h | 1 + indra/newview/llfloaterpreference.cpp | 1 + indra/newview/llviewercontrol.cpp | 7 ++++ indra/newview/llvoavatar.cpp | 1 + indra/newview/llvoavatar.h | 1 + .../default/xui/en/panel_preferences_graphics1.xml | 38 +++++++++++++++++++--- 13 files changed, 90 insertions(+), 11 deletions(-) (limited to 'indra/newview/app_settings/settings.xml') diff --git a/indra/newview/app_settings/high_graphics.xml b/indra/newview/app_settings/high_graphics.xml index 587b2f2a89..45236284f4 100644 --- a/indra/newview/app_settings/high_graphics.xml +++ b/indra/newview/app_settings/high_graphics.xml @@ -4,6 +4,8 @@ + + diff --git a/indra/newview/app_settings/low_graphics.xml b/indra/newview/app_settings/low_graphics.xml index a5bbdfc1d0..ad0073dfac 100644 --- a/indra/newview/app_settings/low_graphics.xml +++ b/indra/newview/app_settings/low_graphics.xml @@ -5,6 +5,8 @@ + + diff --git a/indra/newview/app_settings/mid_graphics.xml b/indra/newview/app_settings/mid_graphics.xml index a1430a58f9..d9d8682055 100644 --- a/indra/newview/app_settings/mid_graphics.xml +++ b/indra/newview/app_settings/mid_graphics.xml @@ -4,6 +4,8 @@ + + diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 8310c50b1e..d190ac7136 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -607,7 +607,17 @@ Value 10 - + AvatarPhysics + + Comment + Enable avatar physics, such as breast physics. + Persist + 1 + Type + Boolean + Value + 1 + AvatarSex Comment @@ -620,16 +630,16 @@ 0 - AvatarPhysics + RenderAvatarPhysicsLODFactor Comment - Enable avatar physics, such as breast physics. + Controls level of detail of avatar physics (such as breast physics). Persist 1 Type - Boolean + F32 Value - 1 + 1.0 BackgroundYieldTime diff --git a/indra/newview/app_settings/ultra_graphics.xml b/indra/newview/app_settings/ultra_graphics.xml index f741089ca2..3d588cf57d 100644 --- a/indra/newview/app_settings/ultra_graphics.xml +++ b/indra/newview/app_settings/ultra_graphics.xml @@ -4,6 +4,8 @@ + + diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index bfe3e52657..15e91b57fa 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -443,6 +443,7 @@ static void settings_to_globals() LLVolumeImplFlexible::sUpdateFactor = gSavedSettings.getF32("RenderFlexTimeFactor"); LLVOTree::sTreeFactor = gSavedSettings.getF32("RenderTreeLODFactor"); LLVOAvatar::sLODFactor = gSavedSettings.getF32("RenderAvatarLODFactor"); + LLVOAvatar::sPhysicsLODFactor = gSavedSettings.getF32("RenderAvatarPhysicsLODFactor"); LLVOAvatar::sMaxVisible = (U32)gSavedSettings.getS32("RenderAvatarMaxVisible"); LLVOAvatar::sVisibleInFirstPerson = gSavedSettings.getBOOL("FirstPersonAvatarVisible"); // clamp auto-open time to some minimum usable value diff --git a/indra/newview/llbreastmotion.cpp b/indra/newview/llbreastmotion.cpp index 036aa2ff39..2c8a38710a 100644 --- a/indra/newview/llbreastmotion.cpp +++ b/indra/newview/llbreastmotion.cpp @@ -76,6 +76,7 @@ LLBreastMotion::LLBreastMotion(const LLUUID &id) : mCharLastVelocity_local_vec = LLVector3(0,0,0); mCharLastAcceleration_local_vec = LLVector3(0,0,0); mBreastLastPosition_local_pt = LLVector3(0,0,0); + mBreastLastUpdatePosition_local_pt = LLVector3(0,0,0); mBreastVelocity_local_vec = LLVector3(0,0,0); } @@ -236,6 +237,12 @@ BOOL LLBreastMotion::onUpdate(F32 time, U8* joint_mask) return TRUE; } + const F32 lod_factor = LLVOAvatar::sPhysicsLODFactor; + if (lod_factor == 0) + { + return TRUE; + } + /* TEST: 1. Change outfits 2. FPS effect @@ -354,8 +361,20 @@ BOOL LLBreastMotion::onUpdate(F32 time, U8* joint_mask) mBreastMassParam ); } - + + LLVector3 position_diff = mBreastLastUpdatePosition_local_pt-new_local_pt; + for (U32 i=0; i < 3; i++) + { + const F32 min_delta = (1.0-lod_factor)*(mBreastParamsMax[i]-mBreastParamsMin[i])/2.0; + if (llabs(position_diff[i]) > min_delta) + { + mCharacter->updateVisualParams(); + mBreastLastUpdatePosition_local_pt = new_local_pt; + break; + } + } + mBreastLastPosition_local_pt = new_local_pt; - mCharacter->updateVisualParams(); + return TRUE; } diff --git a/indra/newview/llbreastmotion.h b/indra/newview/llbreastmotion.h index 7dbe604a76..6a2e3788ad 100644 --- a/indra/newview/llbreastmotion.h +++ b/indra/newview/llbreastmotion.h @@ -138,6 +138,7 @@ private: LLVector3 mBreastLastPosition_local_pt; // Last parameters for breast LLVector3 mBreastVelocity_local_vec; // How fast the breast params are moving + LLVector3 mBreastLastUpdatePosition_local_pt; // Last parameters when visual update was sent F32 mBreastMassParam; diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 3804a1b858..dbc50ddbea 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -1064,6 +1064,7 @@ void LLFloaterPreference::refresh() updateSliderText(getChild("FlexibleMeshDetail", true), getChild("FlexibleMeshDetailText", true)); updateSliderText(getChild("TreeMeshDetail", true), getChild("TreeMeshDetailText", true)); updateSliderText(getChild("AvatarMeshDetail", true), getChild("AvatarMeshDetailText", true)); + updateSliderText(getChild("AvatarPhysicsDetail", true), getChild("AvatarPhysicsDetailText", true)); updateSliderText(getChild("TerrainMeshDetail", true), getChild("TerrainMeshDetailText", true)); updateSliderText(getChild("RenderPostProcess", true), getChild("PostProcessText", true)); updateSliderText(getChild("SkyMeshDetail", true), getChild("SkyMeshDetailText", true)); diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 522b5a7dfa..df5a376631 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -144,6 +144,12 @@ static bool handleAvatarLODChanged(const LLSD& newvalue) return true; } +static bool handleAvatarPhysicsLODChanged(const LLSD& newvalue) +{ + LLVOAvatar::sPhysicsLODFactor = (F32) newvalue.asReal(); + return true; +} + static bool handleAvatarMaxVisibleChanged(const LLSD& newvalue) { LLVOAvatar::sMaxVisible = (U32) newvalue.asInteger(); @@ -509,6 +515,7 @@ void settings_setup_listeners() gSavedSettings.getControl("RenderAvatarMaxVisible")->getSignal()->connect(boost::bind(&handleAvatarMaxVisibleChanged, _2)); gSavedSettings.getControl("RenderVolumeLODFactor")->getSignal()->connect(boost::bind(&handleVolumeLODChanged, _2)); gSavedSettings.getControl("RenderAvatarLODFactor")->getSignal()->connect(boost::bind(&handleAvatarLODChanged, _2)); + gSavedSettings.getControl("RenderAvatarPhysicsLODFactor")->getSignal()->connect(boost::bind(&handleAvatarPhysicsLODChanged, _2)); gSavedSettings.getControl("RenderTerrainLODFactor")->getSignal()->connect(boost::bind(&handleTerrainLODChanged, _2)); gSavedSettings.getControl("RenderTreeLODFactor")->getSignal()->connect(boost::bind(&handleTreeLODChanged, _2)); gSavedSettings.getControl("RenderFlexTimeFactor")->getSignal()->connect(boost::bind(&handleFlexLODChanged, _2)); diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index b98c64310d..be55c5b5c2 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -619,6 +619,7 @@ BOOL LLVOAvatar::sShowAnimationDebug = FALSE; BOOL LLVOAvatar::sShowFootPlane = FALSE; BOOL LLVOAvatar::sVisibleInFirstPerson = FALSE; F32 LLVOAvatar::sLODFactor = 1.f; +F32 LLVOAvatar::sPhysicsLODFactor = 1.f; BOOL LLVOAvatar::sUseImpostors = FALSE; BOOL LLVOAvatar::sJointDebug = FALSE; diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index c522af7d55..4417e37abb 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -230,6 +230,7 @@ public: static BOOL sDebugInvisible; static BOOL sShowAttachmentPoints; static F32 sLODFactor; // user-settable LOD factor + static F32 sPhysicsLODFactor; // user-settable physics LOD factor static BOOL sJointDebug; // output total number of joints being touched for each avatar static BOOL sDebugAvatarRotation; diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml index 113d5fb6dc..23024cd0eb 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml @@ -2,7 +2,7 @@ + + + + Low + + @@ -662,7 +692,7 @@ left="358" left_pad="-30" name="TerrainDetailText" - top="226" + top="250" width="155"> Terrain detail: @@ -700,7 +730,7 @@ layout="topleft" left="10" name="Apply" - top="383" + top="390" width="115" > -- cgit v1.3 From a37057717d243596b92108590d56a0d3021ad840 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Thu, 26 Aug 2010 14:02:51 -0400 Subject: Miscellaneous fixes for how we're doing graphics settings for the avatar physics. Fixed a cast issue that was causing a linux compile error. --- indra/newview/app_settings/high_graphics.xml | 2 +- indra/newview/app_settings/mid_graphics.xml | 2 +- indra/newview/app_settings/settings.xml | 23 ++++---- indra/newview/featuretable.txt | 4 ++ indra/newview/llagentcamera.cpp | 2 +- indra/newview/llbreastmotion.cpp | 2 +- .../default/xui/en/panel_preferences_graphics1.xml | 64 +++++++++++----------- 7 files changed, 52 insertions(+), 47 deletions(-) (limited to 'indra/newview/app_settings/settings.xml') diff --git a/indra/newview/app_settings/high_graphics.xml b/indra/newview/app_settings/high_graphics.xml index 45236284f4..f1862f9d72 100644 --- a/indra/newview/app_settings/high_graphics.xml +++ b/indra/newview/app_settings/high_graphics.xml @@ -5,7 +5,7 @@ - + diff --git a/indra/newview/app_settings/mid_graphics.xml b/indra/newview/app_settings/mid_graphics.xml index d9d8682055..6c4afbd7f0 100644 --- a/indra/newview/app_settings/mid_graphics.xml +++ b/indra/newview/app_settings/mid_graphics.xml @@ -5,7 +5,7 @@ - + diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index d190ac7136..ecb36273ec 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -630,18 +630,6 @@ 0 - RenderAvatarPhysicsLODFactor - - Comment - Controls level of detail of avatar physics (such as breast physics). - Persist - 1 - Type - F32 - Value - 1.0 - - BackgroundYieldTime Comment @@ -6646,6 +6634,17 @@ Value 12 + RenderAvatarPhysicsLODFactor + + Comment + Controls level of detail of avatar physics (such as breast physics). + Persist + 1 + Type + F32 + Value + 1.0 + RenderAvatarVP Comment diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt index 9440e877df..5f843ad912 100644 --- a/indra/newview/featuretable.txt +++ b/indra/newview/featuretable.txt @@ -26,6 +26,7 @@ list all RenderAnisotropic 1 1 RenderAvatarCloth 1 1 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 1.0 RenderAvatarMaxVisible 1 12 RenderAvatarVP 1 1 RenderCubeMap 1 1 @@ -69,6 +70,7 @@ list Low RenderAnisotropic 1 0 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 0 +RenderAvatarPhysicsLODFactor 1 0 RenderAvatarMaxVisible 1 3 RenderAvatarVP 1 0 RenderFarClip 1 64 @@ -98,6 +100,7 @@ list Mid RenderAnisotropic 1 0 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 0.5 +RenderAvatarPhysicsLODFactor 1 0.75 RenderAvatarVP 1 1 RenderFarClip 1 96 RenderFlexTimeFactor 1 1.0 @@ -125,6 +128,7 @@ list High RenderAnisotropic 1 1 RenderAvatarCloth 1 0 RenderAvatarLODFactor 1 1.0 +RenderAvatarPhysicsLODFactor 1 0.9 RenderAvatarVP 1 1 RenderFarClip 1 128 RenderFlexTimeFactor 1 1.0 diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 01a4cce700..f0ab8bd311 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -277,7 +277,7 @@ LLAgentCamera::~LLAgentCamera() //----------------------------------------------------------------------------- void LLAgentCamera::resetView(BOOL reset_camera, BOOL change_camera) { - if (TRUE) return; // SERAPH DON'T CHECKIN + if (TRUE) return; // Disabling reset for avatar physics demo-ing. if (gAgent.getAutoPilot()) { gAgent.stopAutoPilot(TRUE); diff --git a/indra/newview/llbreastmotion.cpp b/indra/newview/llbreastmotion.cpp index 2c8a38710a..902c5af892 100644 --- a/indra/newview/llbreastmotion.cpp +++ b/indra/newview/llbreastmotion.cpp @@ -254,7 +254,7 @@ BOOL LLBreastMotion::onUpdate(F32 time, U8* joint_mask) */ mBreastMassParam = mCharacter->getVisualParamWeight("Breast_Physics_Mass"); - mBreastSmoothingParam = mCharacter->getVisualParamWeight("Breast_Physics_Smoothing"); + mBreastSmoothingParam = (U32)(mCharacter->getVisualParamWeight("Breast_Physics_Smoothing")); mBreastGravityParam = mCharacter->getVisualParamWeight("Breast_Physics_Gravity"); mBreastSpringParam[0] = mCharacter->getVisualParamWeight("Breast_Physics_Side_Spring"); diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml index 23024cd0eb..bd5473e7bf 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml @@ -317,6 +317,37 @@ value="4"/> + + + + + Low + + - - - - Low - - @@ -638,6 +639,7 @@ width="128"> Low + - Avatar rendering: + Avatar Rendering: Date: Tue, 31 Aug 2010 18:06:03 -0400 Subject: Added debug setting for profiling. --- indra/newview/app_settings/settings.xml | 13 ++++++++++++- indra/newview/llbreastmotion.cpp | 6 ++++++ 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'indra/newview/app_settings/settings.xml') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index ecb36273ec..58ed998ba0 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -610,7 +610,7 @@ AvatarPhysics Comment - Enable avatar physics, such as breast physics. + Enable avatar physics. Persist 1 Type @@ -618,6 +618,17 @@ Value 1 + AvatarPhysicsTest + + Comment + Simulate continuous physics behavior on all nearby avatars. + Persist + 1 + Type + Boolean + Value + 0 + AvatarSex Comment diff --git a/indra/newview/llbreastmotion.cpp b/indra/newview/llbreastmotion.cpp index b38e818dbd..57dc169ff3 100644 --- a/indra/newview/llbreastmotion.cpp +++ b/indra/newview/llbreastmotion.cpp @@ -325,6 +325,12 @@ BOOL LLBreastMotion::onUpdate(F32 time, U8* joint_mask) mBreastVelocity_local_vec += acceleration_local_vec; mBreastVelocity_local_vec.clamp(-mBreastMaxVelocityParam*100.0, mBreastMaxVelocityParam*100.0); + // Temporary debugging setting to cause all avatars to move, for profiling purposes. + if (gSavedSettings.getBOOL("AvatarPhysicsTest")) + { + mBreastVelocity_local_vec[0] = sin(mTimer.getElapsedTimeF32()*4.0)*5.0; + mBreastVelocity_local_vec[1] = sin(mTimer.getElapsedTimeF32()*3.0)*5.0; + } // Calculate the new parameters and clamp them to the min/max ranges. LLVector3 new_local_pt = breast_current_local_pt + mBreastVelocity_local_vec*time_delta; new_local_pt.clamp(mBreastParamsMin,mBreastParamsMax); -- cgit v1.3 From 668307e4e3b59ac4f4f955aa0d36183c361352b8 Mon Sep 17 00:00:00 2001 From: Robin Cornelius Date: Wed, 23 Feb 2011 15:50:55 -0500 Subject: STORM-1019 Add ability to display beacons for Media on a Prim objects Changes merged into viewer 2 by Jonathan Yap --- doc/contributions.txt | 2 + indra/newview/app_settings/settings.xml | 11 ++++ indra/newview/llfloaterbeacons.cpp | 2 + indra/newview/llviewermenu.cpp | 10 ++++ indra/newview/llviewerwindow.cpp | 5 ++ indra/newview/pipeline.cpp | 60 ++++++++++++++++++++++ indra/newview/pipeline.h | 5 ++ .../skins/default/xui/en/floater_beacons.xml | 14 ++++- 8 files changed, 107 insertions(+), 2 deletions(-) (limited to 'indra/newview/app_settings/settings.xml') diff --git a/doc/contributions.txt b/doc/contributions.txt index 5d59627a92..d6ac7b4b3a 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -396,6 +396,7 @@ Jonathan Yap VWR-17801 VWR-24347 STORM-975 + STORM-1019 Kage Pixel VWR-11 Ken March @@ -624,6 +625,7 @@ Robin Cornelius SNOW-747 STORM-422 STORM-960 + STORM-1019 VWR-2488 VWR-9557 VWR-10579 diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index a010524091..d8b23d9d88 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12069,6 +12069,17 @@ Value 0.40000000596 + moapbeacon + + Comment + Beacon / Highlight media on a prim sources + Persist + 1 + Type + Boolean + Value + 0 + particlesbeacon Comment diff --git a/indra/newview/llfloaterbeacons.cpp b/indra/newview/llfloaterbeacons.cpp index e24df948c4..316294a477 100644 --- a/indra/newview/llfloaterbeacons.cpp +++ b/indra/newview/llfloaterbeacons.cpp @@ -48,6 +48,7 @@ LLFloaterBeacons::LLFloaterBeacons(const LLSD& seed) LLPipeline::setRenderParticleBeacons( gSavedSettings.getBOOL("particlesbeacon")); LLPipeline::setRenderHighlights( gSavedSettings.getBOOL("renderhighlights")); LLPipeline::setRenderBeacons( gSavedSettings.getBOOL("renderbeacons")); + LLPipeline::setRenderMOAPBeacons( gSavedSettings.getBOOL("moapbeacon")); mCommitCallbackRegistrar.add("Beacons.UICheck", boost::bind(&LLFloaterBeacons::onClickUICheck, this,_1)); } @@ -96,6 +97,7 @@ void LLFloaterBeacons::onClickUICheck(LLUICtrl *ctrl) else if(name == "physical") LLPipeline::setRenderPhysicalBeacons(check->get()); else if(name == "sounds") LLPipeline::setRenderSoundBeacons(check->get()); else if(name == "particles") LLPipeline::setRenderParticleBeacons(check->get()); + else if(name == "moapbeacon") LLPipeline::setRenderMOAPBeacons(check->get()); else if(name == "highlights") { LLPipeline::toggleRenderHighlights(NULL); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 7cc04e0338..82bfe9ec64 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -7356,6 +7356,11 @@ class LLViewToggleBeacon : public view_listener_t LLPipeline::toggleRenderPhysicalBeacons(NULL); gSavedSettings.setBOOL( "physicalbeacon", LLPipeline::getRenderPhysicalBeacons(NULL) ); } + else if (beacon == "moapbeacon") + { + LLPipeline::toggleRenderMOAPBeacons(NULL); + gSavedSettings.setBOOL( "moapbeacon", LLPipeline::getRenderMOAPBeacons(NULL) ); + } else if (beacon == "soundsbeacon") { LLPipeline::toggleRenderSoundBeacons(NULL); @@ -7415,6 +7420,11 @@ class LLViewCheckBeaconEnabled : public view_listener_t new_value = gSavedSettings.getBOOL( "scriptsbeacon"); LLPipeline::setRenderScriptedBeacons(new_value); } + else if (beacon == "moapbeacon") + { + new_value = gSavedSettings.getBOOL( "moapbeacon"); + LLPipeline::setRenderMOAPBeacons(new_value); + } else if (beacon == "physicalbeacon") { new_value = gSavedSettings.getBOOL( "physicalbeacon"); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 0028ced6c8..b5cdd733ff 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -584,6 +584,11 @@ public: addText(xpos, ypos, "Viewing scripted object beacons (red)"); ypos += y_inc; } + if (LLPipeline::getRenderMOAPBeacons(NULL)) + { + addText(xpos, ypos, "Viewing MOAP beacons (white)"); + ypos += y_inc; + } else if (LLPipeline::getRenderScriptedTouchBeacons(NULL)) { diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 13e537fae5..911961777b 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -253,6 +253,7 @@ S32 LLPipeline::sCompiles = 0; BOOL LLPipeline::sPickAvatar = TRUE; BOOL LLPipeline::sDynamicLOD = TRUE; BOOL LLPipeline::sShowHUDAttachments = TRUE; +BOOL LLPipeline::sRenderMOAPBeacons = FALSE; BOOL LLPipeline::sRenderPhysicalBeacons = TRUE; BOOL LLPipeline::sRenderScriptedBeacons = FALSE; BOOL LLPipeline::sRenderScriptedTouchBeacons = TRUE; @@ -2510,6 +2511,42 @@ void renderPhysicalBeacons(LLDrawable* drawablep) } } +void renderMOAPBeacons(LLDrawable* drawablep) +{ + LLViewerObject *vobj = drawablep->getVObj(); + + if(!vobj || vobj->isAvatar()) + return; + + BOOL beacon=FALSE; + U8 tecount=vobj->getNumTEs(); + for(int x=0;xgetTE(x)->hasMedia()) + { + beacon=TRUE; + break; + } + } + if(beacon==TRUE) + { + if (gPipeline.sRenderBeacons) + { + gObjectList.addDebugBeacon(vobj->getPositionAgent(), "", LLColor4(1.f, 1.f, 1.f, 0.5f), LLColor4(1.f, 1.f, 1.f, 0.5f), gSavedSettings.getS32("DebugBeaconLineWidth")); + } + + if (gPipeline.sRenderHighlight) + { + S32 face_id; + S32 count = drawablep->getNumFaces(); + for (face_id = 0; face_id < count; face_id++) + { + gPipeline.mHighlightFaces.push_back(drawablep->getFace(face_id) ); + } + } + } +} + void renderParticleBeacons(LLDrawable* drawablep) { // Look for attachments, objects, etc. @@ -2715,6 +2752,11 @@ void LLPipeline::postSort(LLCamera& camera) forAllVisibleDrawables(renderPhysicalBeacons); } + if(sRenderMOAPBeacons) + { + forAllVisibleDrawables(renderMOAPBeacons); + } + if (sRenderParticleBeacons) { forAllVisibleDrawables(renderParticleBeacons); @@ -4937,6 +4979,24 @@ BOOL LLPipeline::getRenderScriptedTouchBeacons(void*) return sRenderScriptedTouchBeacons; } +// static +void LLPipeline::setRenderMOAPBeacons(BOOL val) +{ + sRenderMOAPBeacons = val; +} + +// static +void LLPipeline::toggleRenderMOAPBeacons(void*) +{ + sRenderMOAPBeacons = !sRenderMOAPBeacons; +} + +// static +BOOL LLPipeline::getRenderMOAPBeacons(void*) +{ + return sRenderMOAPBeacons; +} + // static void LLPipeline::setRenderPhysicalBeacons(BOOL val) { diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index e99b0d71e3..92ae40ebb0 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -312,6 +312,10 @@ public: static void toggleRenderSoundBeacons(void* data); static BOOL getRenderSoundBeacons(void* data); + static void setRenderMOAPBeacons(BOOL val); + static void toggleRenderMOAPBeacons(void * data); + static BOOL getRenderMOAPBeacons(void * data); + static void setRenderPhysicalBeacons(BOOL val); static void toggleRenderPhysicalBeacons(void* data); static BOOL getRenderPhysicalBeacons(void* data); @@ -698,6 +702,7 @@ protected: S32 mLightingDetail; static BOOL sRenderPhysicalBeacons; + static BOOL sRenderMOAPBeacons; static BOOL sRenderScriptedTouchBeacons; static BOOL sRenderScriptedBeacons; static BOOL sRenderParticleBeacons; diff --git a/indra/newview/skins/default/xui/en/floater_beacons.xml b/indra/newview/skins/default/xui/en/floater_beacons.xml index 4fc2b698d8..3d29356b22 100644 --- a/indra/newview/skins/default/xui/en/floater_beacons.xml +++ b/indra/newview/skins/default/xui/en/floater_beacons.xml @@ -1,7 +1,7 @@ + + + -- cgit v1.3 From 2a83929a585ddb123813370df0d53c19817ef3ba Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Sat, 19 Mar 2011 00:59:17 -0700 Subject: SOCIAL-762 FIX Viewer crash if first startup (with cleared settings.xml file) is in Advanced mode fixed not being able to change to advanced mode on clean install without logging in --- indra/newview/app_settings/settings.xml | 15 +++++++++++++-- indra/newview/llappviewer.cpp | 1 + indra/newview/llviewerwindow.cpp | 5 ++--- 3 files changed, 16 insertions(+), 5 deletions(-) (limited to 'indra/newview/app_settings/settings.xml') diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 6a89f5681d..f0e28d4ae3 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -3198,7 +3198,7 @@ FirstRunThisInstall Comment - Specifies that you have not run the viewer since you installed the latest update + Specifies that you have not run the viewer since you performed a clean install Persist 1 Type @@ -3206,7 +3206,18 @@ Value 1 - FirstSelectedDisabledPopups + FirstLoginThisInstall + + Comment + Specifies that you have not logged in with the viewer since you performed a clean install + Persist + 1 + Type + Boolean + Value + 1 + + FirstSelectedDisabledPopups Comment Return false if there is not disabled popup selected in the list of floater preferences popups diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index d0f9cae078..f6fe7ecd01 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2171,6 +2171,7 @@ bool LLAppViewer::initConfiguration() if (gSavedSettings.getBOOL("FirstRunThisInstall")) { gSavedSettings.setString("SessionSettingsFile", "settings_minimal.xml"); + gSavedSettings.setBOOL("FirstRunThisInstall", FALSE); } if (clp.hasOption("sessionsettings")) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index bae7b7086a..aa83bcb68b 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1799,12 +1799,11 @@ void LLViewerWindow::initWorldUI() avatar_picker->navigateTo(gSavedSettings.getString("AvatarPickerURL"), "text/html"); } - if (gSavedSettings.getBOOL("FirstRunThisInstall")) + if (gSavedSettings.getBOOL("FirstLoginThisInstall")) { toggle_destination_and_avatar_picker(0); + gSavedSettings.setBOOL("FirstLoginThisInstall", FALSE); } - - gSavedSettings.setBOOL("FirstRunThisInstall", FALSE); } // Destroy the UI -- cgit v1.3