Fix lookat and pointat shared experience.

There was a bug that when people turned off sending viewer effects,
they'd also turn off sending LookAt, while there is a seperate
checkbox to turn THAT off, while still seeing their own avatar
happily look around, breaking shared experience (most notably, most
people will be complete oblivious of the fact that they look like
zombies to others and that their friends do not see the same thing
on their screen).

This patch fixes this: both parties now see the same thing. Lookat
and PointAt are only turned off by their respective checkboxes,
and no longer silently influenced by turning off other viewer
effects.
This commit is contained in:
Aleric Inglewood
2013-12-04 22:40:07 +01:00
parent 94b42e7a9b
commit e38ec797fd
3 changed files with 27 additions and 8 deletions

View File

@@ -80,14 +80,33 @@ void LLHUDManager::updateEffects()
void LLHUDManager::sendEffects()
{
static LLCachedControl<bool> disable_lookat_effect(gSavedSettings, "PrivateLookAt", false);
static LLCachedControl<bool> disable_pointat_effect(gSavedSettings, "DisablePointAtAndBeam", false);
static LLCachedControl<bool> broadcast_viewer_effects(gSavedSettings, "BroadcastViewerEffects", true);
if(!gSavedSettings.getBOOL("BroadcastViewerEffects"))
return;
S32 i;
for (i = 0; i < mHUDEffects.count(); i++)
{
LLHUDEffect *hep = mHUDEffects[i];
if (hep->mType == LLHUDObject::LL_HUD_EFFECT_LOOKAT)
{
if (disable_lookat_effect)
{
continue;
}
}
else if (hep->mType == LLHUDObject::LL_HUD_EFFECT_POINTAT ||
hep->mType == LLHUDObject::LL_HUD_EFFECT_BEAM)
{
if (disable_pointat_effect)
{
continue;
}
}
else if (!broadcast_viewer_effects)
{
continue;
}
if (hep->isDead())
{
llwarns << "Trying to send dead effect!" << llendl;

View File

@@ -897,9 +897,9 @@ void LLVOAvatarSelf::updateRegion(LLViewerRegion *regionp)
//virtual
void LLVOAvatarSelf::idleUpdateTractorBeam()
{
if(gSavedSettings.getBOOL("DisablePointAtAndBeam"))
// <edit>
static LLCachedControl<bool> disable_pointat_effect("DisablePointAtAndBeam");
if (disable_pointat_effect)
{
return;
}

View File

@@ -83,9 +83,9 @@
</panel>
<panel border="true" left="1" bottom="-408" height="408" width="500" label="Security" name="Security">
<check_box bottom_delta="-25" control_name="BroadcastViewerEffects" follows="top" initial_value="true" label="Broadcast Viewer Effects (Does not include beams)" left="10" name="broadcast_viewer_effects" width="400"/>
<check_box bottom_delta="-25" control_name="BroadcastViewerEffects" follows="top" initial_value="true" label="Broadcast Viewer Effects (does not affect pointat and lookat)" left="10" name="broadcast_viewer_effects" width="400"/>
<check_box bottom_delta="-20" control_name="DisablePointAtAndBeam" follows="top" initial_value="true" label="Disable Point At And Beam" tool_tip="Don't point at or show your edit beam when selecting an object." name="disable_point_at_and_beams_check"/>
<check_box bottom_delta="-20" control_name="PrivateLookAt" follows="top" initial_value="false" label="Do not Look At objects (defeats ShowLookAt)" tool_tip="Turns off broadcasting headturns and lookat beacons for yourself." name="private_look_at_check"/>
<check_box bottom_delta="-20" control_name="PrivateLookAt" follows="top" initial_value="false" label="Do not Look At objects and/or avatars" tool_tip="Disables headturns and lookat beacons: causes your avatar to look straight ahead like a zombie." name="private_look_at_check"/>
<check_box bottom_delta="-20" control_name="AscentShowLookAt" follows="top" initial_value="false" label="Show others' LookAt beacons" tool_tip="Shows you where others are looking." name="show_look_at_check"/>
<check_box bottom_delta="-20" control_name="SGDetachBridge" follows="top" initial_value="false" label="Auto detach LSL Bridge" tool_tip="Automatically detach LSL Bridge of Phoenix or Firestorm viewer." name="detach_bridge"/>
<check_box bottom_delta="-20" control_name="QuietSnapshotsToDisk" follows="top" initial_value="false" label="Quiet Snapshots to Disk" tool_tip="Doesn't make a camera sound nor alert everyone when you take a snapshot to your computer." name="quiet_snapshots_check"/>