From a95f13a646e6c0ff07c765437011a29c3372f1b9 Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Wed, 7 May 2008 20:31:48 +0000
Subject: * Removes references to libsecondlife.Packets from IClientAPI. BAD
PROGRAMMERS. NAUGHTY. * Thanks to Andrew (DeepThink) for working on this one.
---
.../Region/Environment/Scenes/AvatarAppearance.cs | 8 ++---
OpenSim/Region/Environment/Scenes/InnerScene.cs | 25 ++++++++++++++--
.../Environment/Scenes/Scene.PacketHandlers.cs | 16 +++++++++-
OpenSim/Region/Environment/Scenes/ScenePresence.cs | 34 +++++++++++-----------
4 files changed, 58 insertions(+), 25 deletions(-)
(limited to 'OpenSim/Region/Environment/Scenes')
diff --git a/OpenSim/Region/Environment/Scenes/AvatarAppearance.cs b/OpenSim/Region/Environment/Scenes/AvatarAppearance.cs
index 8f29507..c482d94 100644
--- a/OpenSim/Region/Environment/Scenes/AvatarAppearance.cs
+++ b/OpenSim/Region/Environment/Scenes/AvatarAppearance.cs
@@ -26,6 +26,7 @@
*/
using System;
+using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Security.Permissions;
using libsecondlife;
@@ -102,15 +103,12 @@ namespace OpenSim.Region.Environment.Scenes
///
///
///
- public void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam)
+ public void SetAppearance(byte[] texture, List visualParam)
{
LLObject.TextureEntry textureEnt = new LLObject.TextureEntry(texture, 0, texture.Length);
m_textureEntry = textureEnt;
- for (int i = 0; i < visualParam.Length; i++)
- {
- m_visualParams[i] = visualParam[i].ParamValue;
- }
+ m_visualParams = visualParam.ToArray();
// Teravus : Nifty AV Height Getting Maaaaagical formula. Oh how we love turning 0-255 into meters.
// (float)m_visualParams[25] = Height
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs
index f29e1f3..80e71c8 100644
--- a/OpenSim/Region/Environment/Scenes/InnerScene.cs
+++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs
@@ -1275,14 +1275,35 @@ namespace OpenSim.Region.Environment.Scenes
///
///
///
- public void UpdatePrimShape(LLUUID agentID, uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock)
+ public void UpdatePrimShape(LLUUID agentID, uint primLocalID, UpdateShapeArgs shapeBlock)
{
SceneObjectGroup group = GetGroupByPrim(primLocalID);
if (group != null)
{
if (m_parentScene.Permissions.CanEditObjectPosition(agentID, group.GetPartsFullID(primLocalID)))
{
- group.UpdateShape(shapeBlock, primLocalID);
+ ObjectShapePacket.ObjectDataBlock shapeData = new ObjectShapePacket.ObjectDataBlock();
+ shapeData.ObjectLocalID = shapeBlock.ObjectLocalID;
+ shapeData.PathBegin = shapeBlock.PathBegin;
+ shapeData.PathCurve = shapeBlock.PathCurve;
+ shapeData.PathEnd = shapeBlock.PathEnd;
+ shapeData.PathRadiusOffset = shapeBlock.PathRadiusOffset;
+ shapeData.PathRevolutions = shapeBlock.PathRevolutions;
+ shapeData.PathScaleX = shapeBlock.PathScaleX;
+ shapeData.PathScaleY = shapeBlock.PathScaleY;
+ shapeData.PathShearX = shapeBlock.PathShearX;
+ shapeData.PathShearY = shapeBlock.PathShearY;
+ shapeData.PathSkew = shapeBlock.PathSkew;
+ shapeData.PathTaperX = shapeBlock.PathTaperX;
+ shapeData.PathTaperY = shapeBlock.PathTaperY;
+ shapeData.PathTwist = shapeBlock.PathTwist;
+ shapeData.PathTwistBegin = shapeBlock.PathTwistBegin;
+ shapeData.ProfileBegin = shapeBlock.ProfileBegin;
+ shapeData.ProfileCurve = shapeBlock.ProfileCurve;
+ shapeData.ProfileEnd = shapeBlock.ProfileEnd;
+ shapeData.ProfileHollow = shapeBlock.ProfileHollow;
+
+ group.UpdateShape(shapeData, primLocalID);
}
}
}
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
index 0a4906a..623368a 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
@@ -245,7 +245,21 @@ namespace OpenSim.Region.Environment.Scenes
searchData = new AvatarPickerReplyPacket.DataBlock[0];
}
replyPacket.Data = searchData;
- client.SendAvatarPickerReply(replyPacket);
+
+ AvatarPickerReplyAgentDataArgs agent_data = new AvatarPickerReplyAgentDataArgs();
+ agent_data.AgentID = replyPacket.AgentData.AgentID;
+ agent_data.QueryID = replyPacket.AgentData.QueryID;
+
+ List data_args = new List();
+ for (i = 0; i < replyPacket.Data.Length; i++)
+ {
+ AvatarPickerReplyDataArgs data_arg = new AvatarPickerReplyDataArgs();
+ data_arg.AvatarID = replyPacket.Data[i].AvatarID;
+ data_arg.FirstName = replyPacket.Data[i].FirstName;
+ data_arg.LastName = replyPacket.Data[i].LastName;
+ data_args.Add(data_arg);
+ }
+ client.SendAvatarPickerReply(agent_data, data_args);
}
}
}
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 9343ad3..9732d05 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -754,7 +754,7 @@ namespace OpenSim.Region.Environment.Scenes
///
/// This is the event handler for client movement. If a client is moving, this event is triggering.
///
- public void HandleAgentUpdate(IClientAPI remoteClient, AgentUpdatePacket agentData)
+ public void HandleAgentUpdate(IClientAPI remoteClient, AgentUpdateArgs agentData)
{
//if (m_isChildAgent)
//{
@@ -767,31 +767,31 @@ namespace OpenSim.Region.Environment.Scenes
m_perfMonMS = System.Environment.TickCount;
- uint flags = agentData.AgentData.ControlFlags;
- LLQuaternion bodyRotation = agentData.AgentData.BodyRotation;
+ uint flags = agentData.ControlFlags;
+ LLQuaternion bodyRotation = agentData.BodyRotation;
// Camera location in world. We'll need to raytrace
// from this location from time to time.
- m_CameraCenter.x = agentData.AgentData.CameraCenter.X;
- m_CameraCenter.y = agentData.AgentData.CameraCenter.Y;
- m_CameraCenter.z = agentData.AgentData.CameraCenter.Z;
+ m_CameraCenter.x = agentData.CameraCenter.X;
+ m_CameraCenter.y = agentData.CameraCenter.Y;
+ m_CameraCenter.z = agentData.CameraCenter.Z;
// Use these three vectors to figure out what the agent is looking at
// Convert it to a Matrix and/or Quaternion
- m_CameraAtAxis.x = agentData.AgentData.CameraAtAxis.X;
- m_CameraAtAxis.y = agentData.AgentData.CameraAtAxis.Y;
- m_CameraAtAxis.z = agentData.AgentData.CameraAtAxis.Z;
+ m_CameraAtAxis.x = agentData.CameraAtAxis.X;
+ m_CameraAtAxis.y = agentData.CameraAtAxis.Y;
+ m_CameraAtAxis.z = agentData.CameraAtAxis.Z;
- m_CameraLeftAxis.x = agentData.AgentData.CameraLeftAxis.X;
- m_CameraLeftAxis.y = agentData.AgentData.CameraLeftAxis.Y;
- m_CameraLeftAxis.z = agentData.AgentData.CameraLeftAxis.Z;
+ m_CameraLeftAxis.x = agentData.CameraLeftAxis.X;
+ m_CameraLeftAxis.y = agentData.CameraLeftAxis.Y;
+ m_CameraLeftAxis.z = agentData.CameraLeftAxis.Z;
- m_CameraUpAxis.x = agentData.AgentData.CameraUpAxis.X;
- m_CameraUpAxis.y = agentData.AgentData.CameraUpAxis.Y;
- m_CameraUpAxis.z = agentData.AgentData.CameraUpAxis.Z;
+ m_CameraUpAxis.x = agentData.CameraUpAxis.X;
+ m_CameraUpAxis.y = agentData.CameraUpAxis.Y;
+ m_CameraUpAxis.z = agentData.CameraUpAxis.Z;
// The Agent's Draw distance setting
- m_DrawDistance = agentData.AgentData.Far;
+ m_DrawDistance = agentData.Far;
if ((flags & (uint) AgentManager.ControlFlags.AGENT_CONTROL_STAND_UP) != 0)
{
@@ -1569,7 +1569,7 @@ namespace OpenSim.Region.Environment.Scenes
m_appearance.SendAppearanceToOtherAgent(avatar);
}
- public void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam)
+ public void SetAppearance(byte[] texture, List visualParam)
{
m_appearance.SetAppearance(texture, visualParam);
SetHeight(m_appearance.AvatarHeight);
--
cgit v1.1