diff options
| -rw-r--r-- | doc/contributions.txt | 3 | ||||
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 11 | ||||
| -rw-r--r-- | indra/newview/llfloaterbeacons.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.cpp | 22 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 60 | ||||
| -rw-r--r-- | indra/newview/pipeline.h | 5 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_beacons.xml | 14 | 
8 files changed, 118 insertions, 9 deletions
| diff --git a/doc/contributions.txt b/doc/contributions.txt index 53ed2b9751..f59539d94c 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -410,7 +410,7 @@ Jonathan Yap  	VWR-17801  	VWR-24347  	STORM-975 -	STORM-990 +	STORM-1019  	STORM-1020  	STORM-1064  	STORM-1077 @@ -643,6 +643,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 f0e28d4ae3..14f1b3c4ba 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -12102,6 +12102,17 @@        <key>Value</key>        <real>0.40000000596</real>      </map> +	<key>moapbeacon</key> +	<map> +		<key>Comment</key> +		<string>Beacon / Highlight media on a prim sources</string> +		<key>Persist</key> +		<integer>1</integer> +		<key>Type</key> +		<string>Boolean</string> +		<key>Value</key> +		<integer>0</integer> +	</map>      <key>particlesbeacon</key>      <map>        <key>Comment</key> 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 ec72df79d1..7c8f363f11 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -7338,6 +7338,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); @@ -7397,6 +7402,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 aa83bcb68b..8e049e76df 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -572,21 +572,30 @@ public:  		// only display these messages if we are actually rendering beacons at this moment  		if (LLPipeline::getRenderBeacons(NULL) && LLFloaterReg::instanceVisible("beacons"))  		{ -			if (LLPipeline::getRenderParticleBeacons(NULL)) +			if (LLPipeline::getRenderMOAPBeacons(NULL))  			{ -				addText(xpos, ypos, beacon_particle); +				addText(xpos, ypos, "Viewing media beacons (white)");  				ypos += y_inc;  			} +  			if (LLPipeline::toggleRenderTypeControlNegated((void*)LLPipeline::RENDER_TYPE_PARTICLES))  			{  				addText(xpos, ypos, particle_hiding);  				ypos += y_inc;  			} -			if (LLPipeline::getRenderPhysicalBeacons(NULL)) + +			if (LLPipeline::getRenderParticleBeacons(NULL)) +			{ +				addText(xpos, ypos, "Viewing particle beacons (blue)"); +				ypos += y_inc; +			} + +			if (LLPipeline::getRenderSoundBeacons(NULL))  			{ -				addText(xpos, ypos, beacon_physical); +				addText(xpos, ypos, "Viewing sound beacons (yellow)");  				ypos += y_inc;  			} +  			if (LLPipeline::getRenderScriptedBeacons(NULL))  			{  				addText(xpos, ypos, beacon_scripted); @@ -598,9 +607,10 @@ public:  					addText(xpos, ypos, beacon_scripted_touch);  					ypos += y_inc;  				} -			if (LLPipeline::getRenderSoundBeacons(NULL)) + +			if (LLPipeline::getRenderPhysicalBeacons(NULL))  			{ -				addText(xpos, ypos, beacon_sound); +				addText(xpos, ypos, "Viewing physical object beacons (green)");  				ypos += y_inc;  			}  		} diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 65fdc12f0a..58dc90ccd9 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;x<tecount;x++) +	{ +		if(vobj->getTE(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); @@ -4938,6 +4980,24 @@ BOOL LLPipeline::getRenderScriptedTouchBeacons(void*)  }  // 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)  {  	sRenderPhysicalBeacons = 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 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>  <floater   legacy_header_height="18" - height="225" + height="245"   layout="topleft"   name="beacons"   help_topic="beacons" @@ -12,7 +12,7 @@   width="240">      <panel       follows="left|top|right|bottom" -     height="200" +     height="240"       layout="topleft"       left="10"       name="beacons_panel" @@ -133,6 +133,16 @@            <check_box.commit_callback             function="Beacons.UICheck" />          </check_box> +         <check_box +         control_name="moapbeacon" +         height="16" +         left="0" +         label="Media sources" +         layout="topleft" +         name="moapbeacon" > +          <check_box.commit_callback +           function="Beacons.UICheck" /> +        </check_box>      </panel>  </floater> | 
