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.
parent
032c637c10
commit
b5ab0698d6
|
@ -1476,7 +1476,7 @@ namespace OpenSim.Framework
|
||||||
void SendChangeUserRights(UUID agentID, UUID friendID, int rights);
|
void SendChangeUserRights(UUID agentID, UUID friendID, int rights);
|
||||||
void SendTextBoxRequest(string message, int chatChannel, string objectname, UUID ownerID, string ownerFirstName, string ownerLastName, UUID objectId);
|
void SendTextBoxRequest(string message, int chatChannel, string objectname, UUID ownerID, string ownerFirstName, string ownerLastName, UUID objectId);
|
||||||
|
|
||||||
void StopFlying(ISceneEntity presence);
|
void SendAgentTerseUpdate(ISceneEntity presence);
|
||||||
|
|
||||||
void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data);
|
void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5016,7 +5016,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
ScenePresence presence = (ScenePresence)entity;
|
ScenePresence presence = (ScenePresence)entity;
|
||||||
|
|
||||||
attachPoint = 0;
|
attachPoint = presence.State;
|
||||||
collisionPlane = presence.CollisionPlane;
|
collisionPlane = presence.CollisionPlane;
|
||||||
position = presence.OffsetPosition;
|
position = presence.OffsetPosition;
|
||||||
velocity = presence.Velocity;
|
velocity = presence.Velocity;
|
||||||
|
@ -5040,7 +5040,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
SceneObjectPart part = (SceneObjectPart)entity;
|
SceneObjectPart part = (SceneObjectPart)entity;
|
||||||
|
|
||||||
attachPoint = part.ParentGroup.AttachmentPoint;
|
attachPoint = part.ParentGroup.AttachmentPoint;
|
||||||
|
attachPoint = ((attachPoint % 16) * 16 + (attachPoint / 16));
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[LLCLIENTVIEW]: Sending attachPoint {0} for {1} {2} to {3}",
|
// "[LLCLIENTVIEW]: Sending attachPoint {0} for {1} {2} to {3}",
|
||||||
// attachPoint, part.Name, part.LocalId, Name);
|
// attachPoint, part.Name, part.LocalId, Name);
|
||||||
|
@ -5068,7 +5068,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
pos += 4;
|
pos += 4;
|
||||||
|
|
||||||
// Avatar/CollisionPlane
|
// Avatar/CollisionPlane
|
||||||
data[pos++] = (byte)((attachPoint % 16) * 16 + (attachPoint / 16)); ;
|
data[pos++] = (byte) attachPoint;
|
||||||
if (avatar)
|
if (avatar)
|
||||||
{
|
{
|
||||||
data[pos++] = 1;
|
data[pos++] = 1;
|
||||||
|
@ -12550,7 +12550,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
OutPacket(dialog, ThrottleOutPacketType.Task);
|
OutPacket(dialog, ThrottleOutPacketType.Task);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopFlying(ISceneEntity p)
|
public void SendAgentTerseUpdate(ISceneEntity p)
|
||||||
{
|
{
|
||||||
if (p is ScenePresence)
|
if (p is ScenePresence)
|
||||||
{
|
{
|
||||||
|
@ -12564,25 +12564,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
Vector3 pos = presence.AbsolutePosition;
|
Vector3 pos = presence.AbsolutePosition;
|
||||||
|
|
||||||
if (presence.Appearance.AvatarHeight != 127.0f)
|
|
||||||
pos += new Vector3(0f, 0f, (presence.Appearance.AvatarHeight/6f));
|
|
||||||
else
|
|
||||||
pos += new Vector3(0f, 0f, (1.56f/6f));
|
|
||||||
|
|
||||||
presence.AbsolutePosition = pos;
|
|
||||||
|
|
||||||
// attach a suitable collision plane regardless of the actual situation to force the LLClient to land.
|
|
||||||
// Collision plane below the avatar's position a 6th of the avatar's height is suitable.
|
|
||||||
// Mind you, that this method doesn't get called if the avatar's velocity magnitude is greater then a
|
|
||||||
// certain amount.. because the LLClient wouldn't land in that situation anyway.
|
|
||||||
|
|
||||||
// why are we still testing for this really old height value default???
|
|
||||||
if (presence.Appearance.AvatarHeight != 127.0f)
|
|
||||||
presence.CollisionPlane = new Vector4(0, 0, 0, pos.Z - presence.Appearance.AvatarHeight/6f);
|
|
||||||
else
|
|
||||||
presence.CollisionPlane = new Vector4(0, 0, 0, pos.Z - (1.56f/6f));
|
|
||||||
|
|
||||||
|
|
||||||
ImprovedTerseObjectUpdatePacket.ObjectDataBlock block =
|
ImprovedTerseObjectUpdatePacket.ObjectDataBlock block =
|
||||||
CreateImprovedTerseBlock(p, false);
|
CreateImprovedTerseBlock(p, false);
|
||||||
|
|
||||||
|
|
|
@ -1125,7 +1125,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public void StopFlying()
|
public void StopFlying()
|
||||||
{
|
{
|
||||||
ControllingClient.StopFlying(this);
|
ControllingClient.SendAgentTerseUpdate(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1728,6 +1728,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
SendControlsToScripts(flagsForScripts);
|
SendControlsToScripts(flagsForScripts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((State & 0x10) != 0)
|
||||||
|
ControllingClient.SendAgentTerseUpdate(this);
|
||||||
|
|
||||||
m_scene.EventManager.TriggerOnClientMovement(this);
|
m_scene.EventManager.TriggerOnClientMovement(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1673,7 +1673,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopFlying(ISceneEntity presence)
|
public void SendAgentTerseUpdate(ISceneEntity presence)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1229,7 +1229,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopFlying(ISceneEntity presence)
|
public void SendAgentTerseUpdate(ISceneEntity presence)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1256,7 +1256,7 @@ namespace OpenSim.Tests.Common.Mock
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopFlying(ISceneEntity presence)
|
public void SendAgentTerseUpdate(ISceneEntity presence)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue