aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorDiva Canto2013-07-20 17:58:32 -0700
committerDiva Canto2013-07-21 09:01:44 -0700
commitb5ab0698d6328c90d779c2af29914da840335233 (patch)
treec78baed03c24a8f78ff210962bb6e9acf302c653 /OpenSim/Region/ClientStack
parentFilter certain viewer effects depending on distance between the avatar that i... (diff)
downloadopensim-SC_OLD-b5ab0698d6328c90d779c2af29914da840335233.zip
opensim-SC_OLD-b5ab0698d6328c90d779c2af29914da840335233.tar.gz
opensim-SC_OLD-b5ab0698d6328c90d779c2af29914da840335233.tar.bz2
opensim-SC_OLD-b5ab0698d6328c90d779c2af29914da840335233.tar.xz
EDIT BEAMS!!! They had been missing from OpenSim since ever. Thanks to lkalif for telling me how to route the information. The viewer effect is under the distance filter, so only avatars with cameras < 10m away see the beams.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs27
1 files changed, 4 insertions, 23 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 2907580..a8759ab 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -5016,7 +5016,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5016 { 5016 {
5017 ScenePresence presence = (ScenePresence)entity; 5017 ScenePresence presence = (ScenePresence)entity;
5018 5018
5019 attachPoint = 0; 5019 attachPoint = presence.State;
5020 collisionPlane = presence.CollisionPlane; 5020 collisionPlane = presence.CollisionPlane;
5021 position = presence.OffsetPosition; 5021 position = presence.OffsetPosition;
5022 velocity = presence.Velocity; 5022 velocity = presence.Velocity;
@@ -5040,7 +5040,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5040 SceneObjectPart part = (SceneObjectPart)entity; 5040 SceneObjectPart part = (SceneObjectPart)entity;
5041 5041
5042 attachPoint = part.ParentGroup.AttachmentPoint; 5042 attachPoint = part.ParentGroup.AttachmentPoint;
5043 5043 attachPoint = ((attachPoint % 16) * 16 + (attachPoint / 16));
5044// m_log.DebugFormat( 5044// m_log.DebugFormat(
5045// "[LLCLIENTVIEW]: Sending attachPoint {0} for {1} {2} to {3}", 5045// "[LLCLIENTVIEW]: Sending attachPoint {0} for {1} {2} to {3}",
5046// attachPoint, part.Name, part.LocalId, Name); 5046// attachPoint, part.Name, part.LocalId, Name);
@@ -5068,7 +5068,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5068 pos += 4; 5068 pos += 4;
5069 5069
5070 // Avatar/CollisionPlane 5070 // Avatar/CollisionPlane
5071 data[pos++] = (byte)((attachPoint % 16) * 16 + (attachPoint / 16)); ; 5071 data[pos++] = (byte) attachPoint;
5072 if (avatar) 5072 if (avatar)
5073 { 5073 {
5074 data[pos++] = 1; 5074 data[pos++] = 1;
@@ -12550,7 +12550,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
12550 OutPacket(dialog, ThrottleOutPacketType.Task); 12550 OutPacket(dialog, ThrottleOutPacketType.Task);
12551 } 12551 }
12552 12552
12553 public void StopFlying(ISceneEntity p) 12553 public void SendAgentTerseUpdate(ISceneEntity p)
12554 { 12554 {
12555 if (p is ScenePresence) 12555 if (p is ScenePresence)
12556 { 12556 {
@@ -12564,25 +12564,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
12564 12564
12565 Vector3 pos = presence.AbsolutePosition; 12565 Vector3 pos = presence.AbsolutePosition;
12566 12566
12567 if (presence.Appearance.AvatarHeight != 127.0f)
12568 pos += new Vector3(0f, 0f, (presence.Appearance.AvatarHeight/6f));
12569 else
12570 pos += new Vector3(0f, 0f, (1.56f/6f));
12571
12572 presence.AbsolutePosition = pos;
12573
12574 // attach a suitable collision plane regardless of the actual situation to force the LLClient to land.
12575 // Collision plane below the avatar's position a 6th of the avatar's height is suitable.
12576 // Mind you, that this method doesn't get called if the avatar's velocity magnitude is greater then a
12577 // certain amount.. because the LLClient wouldn't land in that situation anyway.
12578
12579 // why are we still testing for this really old height value default???
12580 if (presence.Appearance.AvatarHeight != 127.0f)
12581 presence.CollisionPlane = new Vector4(0, 0, 0, pos.Z - presence.Appearance.AvatarHeight/6f);
12582 else
12583 presence.CollisionPlane = new Vector4(0, 0, 0, pos.Z - (1.56f/6f));
12584
12585
12586 ImprovedTerseObjectUpdatePacket.ObjectDataBlock block = 12567 ImprovedTerseObjectUpdatePacket.ObjectDataBlock block =
12587 CreateImprovedTerseBlock(p, false); 12568 CreateImprovedTerseBlock(p, false);
12588 12569