diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
4 files changed, 58 insertions, 25 deletions
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 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | ||
29 | using System.Runtime.Serialization; | 30 | using System.Runtime.Serialization; |
30 | using System.Security.Permissions; | 31 | using System.Security.Permissions; |
31 | using libsecondlife; | 32 | using libsecondlife; |
@@ -102,15 +103,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
102 | /// </summary> | 103 | /// </summary> |
103 | /// <param name="texture"></param> | 104 | /// <param name="texture"></param> |
104 | /// <param name="visualParam"></param> | 105 | /// <param name="visualParam"></param> |
105 | public void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam) | 106 | public void SetAppearance(byte[] texture, List<byte> visualParam) |
106 | { | 107 | { |
107 | LLObject.TextureEntry textureEnt = new LLObject.TextureEntry(texture, 0, texture.Length); | 108 | LLObject.TextureEntry textureEnt = new LLObject.TextureEntry(texture, 0, texture.Length); |
108 | m_textureEntry = textureEnt; | 109 | m_textureEntry = textureEnt; |
109 | 110 | ||
110 | for (int i = 0; i < visualParam.Length; i++) | 111 | m_visualParams = visualParam.ToArray(); |
111 | { | ||
112 | m_visualParams[i] = visualParam[i].ParamValue; | ||
113 | } | ||
114 | 112 | ||
115 | // Teravus : Nifty AV Height Getting Maaaaagical formula. Oh how we love turning 0-255 into meters. | 113 | // Teravus : Nifty AV Height Getting Maaaaagical formula. Oh how we love turning 0-255 into meters. |
116 | // (float)m_visualParams[25] = Height | 114 | // (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 | |||
1275 | /// </summary> | 1275 | /// </summary> |
1276 | /// <param name="primLocalID"></param> | 1276 | /// <param name="primLocalID"></param> |
1277 | /// <param name="shapeBlock"></param> | 1277 | /// <param name="shapeBlock"></param> |
1278 | public void UpdatePrimShape(LLUUID agentID, uint primLocalID, ObjectShapePacket.ObjectDataBlock shapeBlock) | 1278 | public void UpdatePrimShape(LLUUID agentID, uint primLocalID, UpdateShapeArgs shapeBlock) |
1279 | { | 1279 | { |
1280 | SceneObjectGroup group = GetGroupByPrim(primLocalID); | 1280 | SceneObjectGroup group = GetGroupByPrim(primLocalID); |
1281 | if (group != null) | 1281 | if (group != null) |
1282 | { | 1282 | { |
1283 | if (m_parentScene.Permissions.CanEditObjectPosition(agentID, group.GetPartsFullID(primLocalID))) | 1283 | if (m_parentScene.Permissions.CanEditObjectPosition(agentID, group.GetPartsFullID(primLocalID))) |
1284 | { | 1284 | { |
1285 | group.UpdateShape(shapeBlock, primLocalID); | 1285 | ObjectShapePacket.ObjectDataBlock shapeData = new ObjectShapePacket.ObjectDataBlock(); |
1286 | shapeData.ObjectLocalID = shapeBlock.ObjectLocalID; | ||
1287 | shapeData.PathBegin = shapeBlock.PathBegin; | ||
1288 | shapeData.PathCurve = shapeBlock.PathCurve; | ||
1289 | shapeData.PathEnd = shapeBlock.PathEnd; | ||
1290 | shapeData.PathRadiusOffset = shapeBlock.PathRadiusOffset; | ||
1291 | shapeData.PathRevolutions = shapeBlock.PathRevolutions; | ||
1292 | shapeData.PathScaleX = shapeBlock.PathScaleX; | ||
1293 | shapeData.PathScaleY = shapeBlock.PathScaleY; | ||
1294 | shapeData.PathShearX = shapeBlock.PathShearX; | ||
1295 | shapeData.PathShearY = shapeBlock.PathShearY; | ||
1296 | shapeData.PathSkew = shapeBlock.PathSkew; | ||
1297 | shapeData.PathTaperX = shapeBlock.PathTaperX; | ||
1298 | shapeData.PathTaperY = shapeBlock.PathTaperY; | ||
1299 | shapeData.PathTwist = shapeBlock.PathTwist; | ||
1300 | shapeData.PathTwistBegin = shapeBlock.PathTwistBegin; | ||
1301 | shapeData.ProfileBegin = shapeBlock.ProfileBegin; | ||
1302 | shapeData.ProfileCurve = shapeBlock.ProfileCurve; | ||
1303 | shapeData.ProfileEnd = shapeBlock.ProfileEnd; | ||
1304 | shapeData.ProfileHollow = shapeBlock.ProfileHollow; | ||
1305 | |||
1306 | group.UpdateShape(shapeData, primLocalID); | ||
1286 | } | 1307 | } |
1287 | } | 1308 | } |
1288 | } | 1309 | } |
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 | |||
245 | searchData = new AvatarPickerReplyPacket.DataBlock[0]; | 245 | searchData = new AvatarPickerReplyPacket.DataBlock[0]; |
246 | } | 246 | } |
247 | replyPacket.Data = searchData; | 247 | replyPacket.Data = searchData; |
248 | client.SendAvatarPickerReply(replyPacket); | 248 | |
249 | AvatarPickerReplyAgentDataArgs agent_data = new AvatarPickerReplyAgentDataArgs(); | ||
250 | agent_data.AgentID = replyPacket.AgentData.AgentID; | ||
251 | agent_data.QueryID = replyPacket.AgentData.QueryID; | ||
252 | |||
253 | List<AvatarPickerReplyDataArgs> data_args = new List<AvatarPickerReplyDataArgs>(); | ||
254 | for (i = 0; i < replyPacket.Data.Length; i++) | ||
255 | { | ||
256 | AvatarPickerReplyDataArgs data_arg = new AvatarPickerReplyDataArgs(); | ||
257 | data_arg.AvatarID = replyPacket.Data[i].AvatarID; | ||
258 | data_arg.FirstName = replyPacket.Data[i].FirstName; | ||
259 | data_arg.LastName = replyPacket.Data[i].LastName; | ||
260 | data_args.Add(data_arg); | ||
261 | } | ||
262 | client.SendAvatarPickerReply(agent_data, data_args); | ||
249 | } | 263 | } |
250 | } | 264 | } |
251 | } | 265 | } |
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 | |||
754 | /// <summary> | 754 | /// <summary> |
755 | /// This is the event handler for client movement. If a client is moving, this event is triggering. | 755 | /// This is the event handler for client movement. If a client is moving, this event is triggering. |
756 | /// </summary> | 756 | /// </summary> |
757 | public void HandleAgentUpdate(IClientAPI remoteClient, AgentUpdatePacket agentData) | 757 | public void HandleAgentUpdate(IClientAPI remoteClient, AgentUpdateArgs agentData) |
758 | { | 758 | { |
759 | //if (m_isChildAgent) | 759 | //if (m_isChildAgent) |
760 | //{ | 760 | //{ |
@@ -767,31 +767,31 @@ namespace OpenSim.Region.Environment.Scenes | |||
767 | 767 | ||
768 | m_perfMonMS = System.Environment.TickCount; | 768 | m_perfMonMS = System.Environment.TickCount; |
769 | 769 | ||
770 | uint flags = agentData.AgentData.ControlFlags; | 770 | uint flags = agentData.ControlFlags; |
771 | LLQuaternion bodyRotation = agentData.AgentData.BodyRotation; | 771 | LLQuaternion bodyRotation = agentData.BodyRotation; |
772 | 772 | ||
773 | // Camera location in world. We'll need to raytrace | 773 | // Camera location in world. We'll need to raytrace |
774 | // from this location from time to time. | 774 | // from this location from time to time. |
775 | m_CameraCenter.x = agentData.AgentData.CameraCenter.X; | 775 | m_CameraCenter.x = agentData.CameraCenter.X; |
776 | m_CameraCenter.y = agentData.AgentData.CameraCenter.Y; | 776 | m_CameraCenter.y = agentData.CameraCenter.Y; |
777 | m_CameraCenter.z = agentData.AgentData.CameraCenter.Z; | 777 | m_CameraCenter.z = agentData.CameraCenter.Z; |
778 | 778 | ||
779 | // Use these three vectors to figure out what the agent is looking at | 779 | // Use these three vectors to figure out what the agent is looking at |
780 | // Convert it to a Matrix and/or Quaternion | 780 | // Convert it to a Matrix and/or Quaternion |
781 | m_CameraAtAxis.x = agentData.AgentData.CameraAtAxis.X; | 781 | m_CameraAtAxis.x = agentData.CameraAtAxis.X; |
782 | m_CameraAtAxis.y = agentData.AgentData.CameraAtAxis.Y; | 782 | m_CameraAtAxis.y = agentData.CameraAtAxis.Y; |
783 | m_CameraAtAxis.z = agentData.AgentData.CameraAtAxis.Z; | 783 | m_CameraAtAxis.z = agentData.CameraAtAxis.Z; |
784 | 784 | ||
785 | m_CameraLeftAxis.x = agentData.AgentData.CameraLeftAxis.X; | 785 | m_CameraLeftAxis.x = agentData.CameraLeftAxis.X; |
786 | m_CameraLeftAxis.y = agentData.AgentData.CameraLeftAxis.Y; | 786 | m_CameraLeftAxis.y = agentData.CameraLeftAxis.Y; |
787 | m_CameraLeftAxis.z = agentData.AgentData.CameraLeftAxis.Z; | 787 | m_CameraLeftAxis.z = agentData.CameraLeftAxis.Z; |
788 | 788 | ||
789 | m_CameraUpAxis.x = agentData.AgentData.CameraUpAxis.X; | 789 | m_CameraUpAxis.x = agentData.CameraUpAxis.X; |
790 | m_CameraUpAxis.y = agentData.AgentData.CameraUpAxis.Y; | 790 | m_CameraUpAxis.y = agentData.CameraUpAxis.Y; |
791 | m_CameraUpAxis.z = agentData.AgentData.CameraUpAxis.Z; | 791 | m_CameraUpAxis.z = agentData.CameraUpAxis.Z; |
792 | 792 | ||
793 | // The Agent's Draw distance setting | 793 | // The Agent's Draw distance setting |
794 | m_DrawDistance = agentData.AgentData.Far; | 794 | m_DrawDistance = agentData.Far; |
795 | 795 | ||
796 | if ((flags & (uint) AgentManager.ControlFlags.AGENT_CONTROL_STAND_UP) != 0) | 796 | if ((flags & (uint) AgentManager.ControlFlags.AGENT_CONTROL_STAND_UP) != 0) |
797 | { | 797 | { |
@@ -1569,7 +1569,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1569 | m_appearance.SendAppearanceToOtherAgent(avatar); | 1569 | m_appearance.SendAppearanceToOtherAgent(avatar); |
1570 | } | 1570 | } |
1571 | 1571 | ||
1572 | public void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam) | 1572 | public void SetAppearance(byte[] texture, List<byte> visualParam) |
1573 | { | 1573 | { |
1574 | m_appearance.SetAppearance(texture, visualParam); | 1574 | m_appearance.SetAppearance(texture, visualParam); |
1575 | SetHeight(m_appearance.AvatarHeight); | 1575 | SetHeight(m_appearance.AvatarHeight); |