diff options
Diffstat (limited to '')
7 files changed, 609 insertions, 564 deletions
diff --git a/OpenSim/Data/NHibernate/EstateRegionLink.cs b/OpenSim/Data/NHibernate/EstateRegionLink.cs index e666c3a..4b83fa5 100644 --- a/OpenSim/Data/NHibernate/EstateRegionLink.cs +++ b/OpenSim/Data/NHibernate/EstateRegionLink.cs | |||
@@ -1,3 +1,30 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSimulator Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
1 | using System; | 28 | using System; |
2 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
3 | using System.Text; | 30 | using System.Text; |
diff --git a/OpenSim/Data/Tests/DataTestUtil.cs b/OpenSim/Data/Tests/DataTestUtil.cs index 37d1443..f781ea6 100644 --- a/OpenSim/Data/Tests/DataTestUtil.cs +++ b/OpenSim/Data/Tests/DataTestUtil.cs | |||
@@ -1,4 +1,31 @@ | |||
1 | using System; | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSimulator Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
2 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
3 | using System.Text; | 30 | using System.Text; |
4 | using OpenMetaverse; | 31 | using OpenMetaverse; |
@@ -6,13 +33,11 @@ using NUnit.Framework; | |||
6 | 33 | ||
7 | namespace OpenSim.Data.Tests | 34 | namespace OpenSim.Data.Tests |
8 | { | 35 | { |
9 | |||
10 | /// <summary> | 36 | /// <summary> |
11 | /// Shared constants and methods for database unit tests. | 37 | /// Shared constants and methods for database unit tests. |
12 | /// </summary> | 38 | /// </summary> |
13 | public class DataTestUtil | 39 | public class DataTestUtil |
14 | { | 40 | { |
15 | |||
16 | public const uint UNSIGNED_INTEGER_MIN = uint.MinValue; | 41 | public const uint UNSIGNED_INTEGER_MIN = uint.MinValue; |
17 | public const uint UNSIGNED_INTEGER_MAX = uint.MaxValue / 2; // NHibernate does not support unsigned integer range. | 42 | public const uint UNSIGNED_INTEGER_MAX = uint.MaxValue / 2; // NHibernate does not support unsigned integer range. |
18 | 43 | ||
@@ -57,6 +82,6 @@ namespace OpenSim.Data.Tests | |||
57 | Assert.GreaterOrEqual(actualValue, expectedValue - Math.Abs(expectedValue) * DOUBLE_PRECISSION); | 82 | Assert.GreaterOrEqual(actualValue, expectedValue - Math.Abs(expectedValue) * DOUBLE_PRECISSION); |
58 | Assert.LessOrEqual(actualValue, expectedValue + Math.Abs(expectedValue) * DOUBLE_PRECISSION); | 83 | Assert.LessOrEqual(actualValue, expectedValue + Math.Abs(expectedValue) * DOUBLE_PRECISSION); |
59 | } | 84 | } |
60 | |||
61 | } | 85 | } |
62 | } | 86 | } |
87 | |||
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 69ff2bd..54822d0 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -437,7 +437,7 @@ namespace OpenSim | |||
437 | private IAssetServer loadAssetServer(string id, PluginInitialiserBase pi) | 437 | private IAssetServer loadAssetServer(string id, PluginInitialiserBase pi) |
438 | { | 438 | { |
439 | 439 | ||
440 | if(id != null && id != String.Empty) | 440 | if (id != null && id != String.Empty) |
441 | { | 441 | { |
442 | m_log.DebugFormat("[OPENSIMBASE] Attempting to load asset server id={0}", id); | 442 | m_log.DebugFormat("[OPENSIMBASE] Attempting to load asset server id={0}", id); |
443 | 443 | ||
diff --git a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs index 86f836c..7cee0cf 100644 --- a/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs | |||
@@ -147,7 +147,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
147 | int width = 256; | 147 | int width = 256; |
148 | int height = 256; | 148 | int height = 256; |
149 | int alpha = 255; // 0 is transparent | 149 | int alpha = 255; // 0 is transparent |
150 | Color bgColour = Color.White; // Default background color | 150 | Color bgColour = Color.White; // Default background color |
151 | 151 | ||
152 | char[] paramDelimiter = { ',' }; | 152 | char[] paramDelimiter = { ',' }; |
153 | char[] nvpDelimiter = { ':' }; | 153 | char[] nvpDelimiter = { ':' }; |
@@ -230,18 +230,17 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
230 | } | 230 | } |
231 | } | 231 | } |
232 | break; | 232 | break; |
233 | case "bgcolour": | 233 | case "bgcolour": |
234 | int hex = 0; | 234 | int hex = 0; |
235 | if (Int32.TryParse(value, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out hex)) | 235 | if (Int32.TryParse(value, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out hex)) |
236 | { | 236 | { |
237 | bgColour = Color.FromArgb(hex); | 237 | bgColour = Color.FromArgb(hex); |
238 | } | 238 | } |
239 | else | 239 | else |
240 | { | 240 | { |
241 | 241 | bgColour = Color.FromName(value); | |
242 | bgColour = Color.FromName(value); | 242 | } |
243 | } | 243 | break; |
244 | break; | ||
245 | case "": | 244 | case "": |
246 | // blank string has been passed do nothing just use defaults | 245 | // blank string has been passed do nothing just use defaults |
247 | break; | 246 | break; |
@@ -271,7 +270,6 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
271 | } | 270 | } |
272 | break; | 271 | break; |
273 | } | 272 | } |
274 | |||
275 | } | 273 | } |
276 | 274 | ||
277 | Bitmap bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb); | 275 | Bitmap bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb); |
@@ -282,8 +280,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
282 | // background color in their scripts, only do when fully opaque | 280 | // background color in their scripts, only do when fully opaque |
283 | if (alpha == 255) | 281 | if (alpha == 255) |
284 | { | 282 | { |
285 | graph.FillRectangle(new SolidBrush(bgColour), 0, 0, width, height); | 283 | graph.FillRectangle(new SolidBrush(bgColour), 0, 0, width, height); |
286 | |||
287 | } | 284 | } |
288 | 285 | ||
289 | for (int w = 0; w < bitmap.Width; w++) | 286 | for (int w = 0; w < bitmap.Width; w++) |
@@ -294,7 +291,6 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
294 | } | 291 | } |
295 | } | 292 | } |
296 | 293 | ||
297 | |||
298 | GDIDraw(data, graph); | 294 | GDIDraw(data, graph); |
299 | 295 | ||
300 | byte[] imageJ2000 = new byte[0]; | 296 | byte[] imageJ2000 = new byte[0]; |
@@ -326,10 +322,8 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
326 | } | 322 | } |
327 | 323 | ||
328 | return parsed; | 324 | return parsed; |
329 | |||
330 | } | 325 | } |
331 | 326 | ||
332 | |||
333 | /* | 327 | /* |
334 | private void CairoDraw(string data, System.Drawing.Graphics graph) | 328 | private void CairoDraw(string data, System.Drawing.Graphics graph) |
335 | { | 329 | { |
@@ -462,38 +456,38 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender | |||
462 | fontSize = Convert.ToSingle(nextLine, CultureInfo.InvariantCulture); | 456 | fontSize = Convert.ToSingle(nextLine, CultureInfo.InvariantCulture); |
463 | myFont = new Font(fontName, fontSize); | 457 | myFont = new Font(fontName, fontSize); |
464 | } | 458 | } |
465 | else if (nextLine.StartsWith("FontProp")) | 459 | else if (nextLine.StartsWith("FontProp")) |
466 | { | 460 | { |
467 | nextLine = nextLine.Remove(0, 8); | 461 | nextLine = nextLine.Remove(0, 8); |
468 | nextLine = nextLine.Trim(); | 462 | nextLine = nextLine.Trim(); |
469 | 463 | ||
470 | string [] fprops = nextLine.Split(partsDelimiter); | 464 | string [] fprops = nextLine.Split(partsDelimiter); |
471 | foreach (string prop in fprops) { | 465 | foreach (string prop in fprops) { |
472 | 466 | ||
473 | switch (prop) | 467 | switch (prop) |
474 | { | 468 | { |
475 | case "B": | 469 | case "B": |
476 | if(!(myFont.Bold)) | 470 | if (!(myFont.Bold)) |
477 | myFont = new Font(myFont, myFont.Style | FontStyle.Bold); | 471 | myFont = new Font(myFont, myFont.Style | FontStyle.Bold); |
478 | break; | 472 | break; |
479 | case "I": | 473 | case "I": |
480 | if(!(myFont.Italic)) | 474 | if (!(myFont.Italic)) |
481 | myFont = new Font(myFont, myFont.Style | FontStyle.Italic); | 475 | myFont = new Font(myFont, myFont.Style | FontStyle.Italic); |
482 | break; | 476 | break; |
483 | case "U": | 477 | case "U": |
484 | if(!(myFont.Underline)) | 478 | if (!(myFont.Underline)) |
485 | myFont = new Font(myFont, myFont.Style | FontStyle.Underline); | 479 | myFont = new Font(myFont, myFont.Style | FontStyle.Underline); |
486 | break; | 480 | break; |
487 | case "S": | 481 | case "S": |
488 | if(!(myFont.Strikeout)) | 482 | if (!(myFont.Strikeout)) |
489 | myFont = new Font(myFont, myFont.Style | FontStyle.Strikeout); | 483 | myFont = new Font(myFont, myFont.Style | FontStyle.Strikeout); |
490 | break; | 484 | break; |
491 | case "R": | 485 | case "R": |
492 | myFont = new Font(myFont, FontStyle.Regular); | 486 | myFont = new Font(myFont, FontStyle.Regular); |
493 | break; | 487 | break; |
494 | } | 488 | } |
495 | } | 489 | } |
496 | } | 490 | } |
497 | else if (nextLine.StartsWith("FontName")) | 491 | else if (nextLine.StartsWith("FontName")) |
498 | { | 492 | { |
499 | nextLine = nextLine.Remove(0, 8); | 493 | nextLine = nextLine.Remove(0, 8); |
diff --git a/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs b/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs index e181b91..6bfa73b 100644 --- a/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs +++ b/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs | |||
@@ -1,506 +1,506 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
5 | * Redistribution and use in source and binary forms, with or without | 5 | * Redistribution and use in source and binary forms, with or without |
6 | * modification, are permitted provided that the following conditions are met: | 6 | * modification, are permitted provided that the following conditions are met: |
7 | * * Redistributions of source code must retain the above copyright | 7 | * * Redistributions of source code must retain the above copyright |
8 | * notice, this list of conditions and the following disclaimer. | 8 | * notice, this list of conditions and the following disclaimer. |
9 | * * Redistributions in binary form must reproduce the above copyright | 9 | * * Redistributions in binary form must reproduce the above copyright |
10 | * notice, this list of conditions and the following disclaimer in the | 10 | * notice, this list of conditions and the following disclaimer in the |
11 | * documentation and/or other materials provided with the distribution. | 11 | * documentation and/or other materials provided with the distribution. |
12 | * * Neither the name of the OpenSim Project nor the | 12 | * * Neither the name of the OpenSim Project nor the |
13 | * names of its contributors may be used to endorse or promote products | 13 | * names of its contributors may be used to endorse or promote products |
14 | * derived from this software without specific prior written permission. | 14 | * derived from this software without specific prior written permission. |
15 | * | 15 | * |
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY |
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | 19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections; | 29 | using System.Collections; |
30 | using System.Collections.Generic; | 30 | using System.Collections.Generic; |
31 | using OpenSim.Framework; | 31 | using OpenSim.Framework; |
32 | using OpenMetaverse; | 32 | using OpenMetaverse; |
33 | using OpenMetaverse.StructuredData; | 33 | using OpenMetaverse.StructuredData; |
34 | 34 | ||
35 | namespace OpenSim.Region.Framework.Scenes | 35 | namespace OpenSim.Region.Framework.Scenes |
36 | { | 36 | { |
37 | public interface IAgentData | 37 | public interface IAgentData |
38 | { | 38 | { |
39 | UUID AgentID { get; set; } | 39 | UUID AgentID { get; set; } |
40 | 40 | ||
41 | OSDMap PackUpdateMessage(); | 41 | OSDMap PackUpdateMessage(); |
42 | void UnpackUpdateMessage(OSDMap map); | 42 | void UnpackUpdateMessage(OSDMap map); |
43 | } | 43 | } |
44 | 44 | ||
45 | /// <summary> | 45 | /// <summary> |
46 | /// Replacement for ChildAgentDataUpdate. Used over RESTComms and LocalComms. | 46 | /// Replacement for ChildAgentDataUpdate. Used over RESTComms and LocalComms. |
47 | /// </summary> | 47 | /// </summary> |
48 | public class AgentPosition : IAgentData | 48 | public class AgentPosition : IAgentData |
49 | { | 49 | { |
50 | private UUID m_id; | 50 | private UUID m_id; |
51 | public UUID AgentID | 51 | public UUID AgentID |
52 | { | 52 | { |
53 | get { return m_id; } | 53 | get { return m_id; } |
54 | set { m_id = value; } | 54 | set { m_id = value; } |
55 | } | 55 | } |
56 | 56 | ||
57 | public ulong RegionHandle; | 57 | public ulong RegionHandle; |
58 | public uint CircuitCode; | 58 | public uint CircuitCode; |
59 | public UUID SessionID; | 59 | public UUID SessionID; |
60 | 60 | ||
61 | public float Far; | 61 | public float Far; |
62 | public Vector3 Position; | 62 | public Vector3 Position; |
63 | public Vector3 Velocity; | 63 | public Vector3 Velocity; |
64 | public Vector3 Center; | 64 | public Vector3 Center; |
65 | public Vector3 Size; | 65 | public Vector3 Size; |
66 | public Vector3 AtAxis; | 66 | public Vector3 AtAxis; |
67 | public Vector3 LeftAxis; | 67 | public Vector3 LeftAxis; |
68 | public Vector3 UpAxis; | 68 | public Vector3 UpAxis; |
69 | public bool ChangedGrid; | 69 | public bool ChangedGrid; |
70 | 70 | ||
71 | // This probably shouldn't be here | 71 | // This probably shouldn't be here |
72 | public byte[] Throttles; | 72 | public byte[] Throttles; |
73 | 73 | ||
74 | 74 | ||
75 | public OSDMap PackUpdateMessage() | 75 | public OSDMap PackUpdateMessage() |
76 | { | 76 | { |
77 | OSDMap args = new OSDMap(); | 77 | OSDMap args = new OSDMap(); |
78 | args["message_type"] = OSD.FromString("AgentPosition"); | 78 | args["message_type"] = OSD.FromString("AgentPosition"); |
79 | 79 | ||
80 | args["region_handle"] = OSD.FromString(RegionHandle.ToString()); | 80 | args["region_handle"] = OSD.FromString(RegionHandle.ToString()); |
81 | args["circuit_code"] = OSD.FromString(CircuitCode.ToString()); | 81 | args["circuit_code"] = OSD.FromString(CircuitCode.ToString()); |
82 | args["agent_uuid"] = OSD.FromUUID(AgentID); | 82 | args["agent_uuid"] = OSD.FromUUID(AgentID); |
83 | args["session_uuid"] = OSD.FromUUID(SessionID); | 83 | args["session_uuid"] = OSD.FromUUID(SessionID); |
84 | 84 | ||
85 | args["position"] = OSD.FromString(Position.ToString()); | 85 | args["position"] = OSD.FromString(Position.ToString()); |
86 | args["velocity"] = OSD.FromString(Velocity.ToString()); | 86 | args["velocity"] = OSD.FromString(Velocity.ToString()); |
87 | args["center"] = OSD.FromString(Center.ToString()); | 87 | args["center"] = OSD.FromString(Center.ToString()); |
88 | args["size"] = OSD.FromString(Size.ToString()); | 88 | args["size"] = OSD.FromString(Size.ToString()); |
89 | args["at_axis"] = OSD.FromString(AtAxis.ToString()); | 89 | args["at_axis"] = OSD.FromString(AtAxis.ToString()); |
90 | args["left_axis"] = OSD.FromString(LeftAxis.ToString()); | 90 | args["left_axis"] = OSD.FromString(LeftAxis.ToString()); |
91 | args["up_axis"] = OSD.FromString(UpAxis.ToString()); | 91 | args["up_axis"] = OSD.FromString(UpAxis.ToString()); |
92 | 92 | ||
93 | args["far"] = OSD.FromReal(Far); | 93 | args["far"] = OSD.FromReal(Far); |
94 | args["changed_grid"] = OSD.FromBoolean(ChangedGrid); | 94 | args["changed_grid"] = OSD.FromBoolean(ChangedGrid); |
95 | 95 | ||
96 | if ((Throttles != null) && (Throttles.Length > 0)) | 96 | if ((Throttles != null) && (Throttles.Length > 0)) |
97 | args["throttles"] = OSD.FromBinary(Throttles); | 97 | args["throttles"] = OSD.FromBinary(Throttles); |
98 | 98 | ||
99 | return args; | 99 | return args; |
100 | } | 100 | } |
101 | 101 | ||
102 | public void UnpackUpdateMessage(OSDMap args) | 102 | public void UnpackUpdateMessage(OSDMap args) |
103 | { | 103 | { |
104 | if (args.ContainsKey("region_handle")) | 104 | if (args.ContainsKey("region_handle")) |
105 | UInt64.TryParse(args["region_handle"].AsString(), out RegionHandle); | 105 | UInt64.TryParse(args["region_handle"].AsString(), out RegionHandle); |
106 | 106 | ||
107 | if (args["circuit_code"] != null) | 107 | if (args["circuit_code"] != null) |
108 | UInt32.TryParse((string)args["circuit_code"].AsString(), out CircuitCode); | 108 | UInt32.TryParse((string)args["circuit_code"].AsString(), out CircuitCode); |
109 | 109 | ||
110 | if (args["agent_uuid"] != null) | 110 | if (args["agent_uuid"] != null) |
111 | AgentID = args["agent_uuid"].AsUUID(); | 111 | AgentID = args["agent_uuid"].AsUUID(); |
112 | 112 | ||
113 | if (args["session_uuid"] != null) | 113 | if (args["session_uuid"] != null) |
114 | SessionID = args["session_uuid"].AsUUID(); | 114 | SessionID = args["session_uuid"].AsUUID(); |
115 | 115 | ||
116 | if (args["position"] != null) | 116 | if (args["position"] != null) |
117 | Vector3.TryParse(args["position"].AsString(), out Position); | 117 | Vector3.TryParse(args["position"].AsString(), out Position); |
118 | 118 | ||
119 | if (args["velocity"] != null) | 119 | if (args["velocity"] != null) |
120 | Vector3.TryParse(args["velocity"].AsString(), out Velocity); | 120 | Vector3.TryParse(args["velocity"].AsString(), out Velocity); |
121 | 121 | ||
122 | if (args["center"] != null) | 122 | if (args["center"] != null) |
123 | Vector3.TryParse(args["center"].AsString(), out Center); | 123 | Vector3.TryParse(args["center"].AsString(), out Center); |
124 | 124 | ||
125 | if (args["size"] != null) | 125 | if (args["size"] != null) |
126 | Vector3.TryParse(args["size"].AsString(), out Size); | 126 | Vector3.TryParse(args["size"].AsString(), out Size); |
127 | 127 | ||
128 | if (args["at_axis"] != null) | 128 | if (args["at_axis"] != null) |
129 | Vector3.TryParse(args["at_axis"].AsString(), out AtAxis); | 129 | Vector3.TryParse(args["at_axis"].AsString(), out AtAxis); |
130 | 130 | ||
131 | if (args["left_axis"] != null) | 131 | if (args["left_axis"] != null) |
132 | Vector3.TryParse(args["left_axis"].AsString(), out AtAxis); | 132 | Vector3.TryParse(args["left_axis"].AsString(), out AtAxis); |
133 | 133 | ||
134 | if (args["up_axis"] != null) | 134 | if (args["up_axis"] != null) |
135 | Vector3.TryParse(args["up_axis"].AsString(), out AtAxis); | 135 | Vector3.TryParse(args["up_axis"].AsString(), out AtAxis); |
136 | 136 | ||
137 | if (args["changed_grid"] != null) | 137 | if (args["changed_grid"] != null) |
138 | ChangedGrid = args["changed_grid"].AsBoolean(); | 138 | ChangedGrid = args["changed_grid"].AsBoolean(); |
139 | 139 | ||
140 | if (args["far"] != null) | 140 | if (args["far"] != null) |
141 | Far = (float)(args["far"].AsReal()); | 141 | Far = (float)(args["far"].AsReal()); |
142 | 142 | ||
143 | if (args["throttles"] != null) | 143 | if (args["throttles"] != null) |
144 | Throttles = args["throttles"].AsBinary(); | 144 | Throttles = args["throttles"].AsBinary(); |
145 | } | 145 | } |
146 | 146 | ||
147 | /// <summary> | 147 | /// <summary> |
148 | /// Soon to be decommissioned | 148 | /// Soon to be decommissioned |
149 | /// </summary> | 149 | /// </summary> |
150 | /// <param name="cAgent"></param> | 150 | /// <param name="cAgent"></param> |
151 | public void CopyFrom(ChildAgentDataUpdate cAgent) | 151 | public void CopyFrom(ChildAgentDataUpdate cAgent) |
152 | { | 152 | { |
153 | AgentID = new UUID(cAgent.AgentID); | 153 | AgentID = new UUID(cAgent.AgentID); |
154 | 154 | ||
155 | // next: ??? | 155 | // next: ??? |
156 | Size = new Vector3(); | 156 | Size = new Vector3(); |
157 | Size.Z = cAgent.AVHeight; | 157 | Size.Z = cAgent.AVHeight; |
158 | 158 | ||
159 | Center = new Vector3(cAgent.cameraPosition.x, cAgent.cameraPosition.y, cAgent.cameraPosition.z); | 159 | Center = new Vector3(cAgent.cameraPosition.x, cAgent.cameraPosition.y, cAgent.cameraPosition.z); |
160 | Far = cAgent.drawdistance; | 160 | Far = cAgent.drawdistance; |
161 | Position = new Vector3(cAgent.Position.x, cAgent.Position.y, cAgent.Position.z); | 161 | Position = new Vector3(cAgent.Position.x, cAgent.Position.y, cAgent.Position.z); |
162 | RegionHandle = cAgent.regionHandle; | 162 | RegionHandle = cAgent.regionHandle; |
163 | Throttles = cAgent.throttles; | 163 | Throttles = cAgent.throttles; |
164 | Velocity = new Vector3(cAgent.Velocity.x, cAgent.Velocity.y, cAgent.Velocity.z); | 164 | Velocity = new Vector3(cAgent.Velocity.x, cAgent.Velocity.y, cAgent.Velocity.z); |
165 | } | 165 | } |
166 | 166 | ||
167 | } | 167 | } |
168 | 168 | ||
169 | public class AgentGroupData | 169 | public class AgentGroupData |
170 | { | 170 | { |
171 | public UUID GroupID; | 171 | public UUID GroupID; |
172 | public ulong GroupPowers; | 172 | public ulong GroupPowers; |
173 | public bool AcceptNotices; | 173 | public bool AcceptNotices; |
174 | 174 | ||
175 | public AgentGroupData(UUID id, ulong powers, bool notices) | 175 | public AgentGroupData(UUID id, ulong powers, bool notices) |
176 | { | 176 | { |
177 | GroupID = id; | 177 | GroupID = id; |
178 | GroupPowers = powers; | 178 | GroupPowers = powers; |
179 | AcceptNotices = notices; | 179 | AcceptNotices = notices; |
180 | } | 180 | } |
181 | 181 | ||
182 | public AgentGroupData(OSDMap args) | 182 | public AgentGroupData(OSDMap args) |
183 | { | 183 | { |
184 | UnpackUpdateMessage(args); | 184 | UnpackUpdateMessage(args); |
185 | } | 185 | } |
186 | 186 | ||
187 | public OSDMap PackUpdateMessage() | 187 | public OSDMap PackUpdateMessage() |
188 | { | 188 | { |
189 | OSDMap groupdata = new OSDMap(); | 189 | OSDMap groupdata = new OSDMap(); |
190 | groupdata["group_id"] = OSD.FromUUID(GroupID); | 190 | groupdata["group_id"] = OSD.FromUUID(GroupID); |
191 | groupdata["group_powers"] = OSD.FromString(GroupPowers.ToString()); | 191 | groupdata["group_powers"] = OSD.FromString(GroupPowers.ToString()); |
192 | groupdata["accept_notices"] = OSD.FromBoolean(AcceptNotices); | 192 | groupdata["accept_notices"] = OSD.FromBoolean(AcceptNotices); |
193 | 193 | ||
194 | return groupdata; | 194 | return groupdata; |
195 | } | 195 | } |
196 | 196 | ||
197 | public void UnpackUpdateMessage(OSDMap args) | 197 | public void UnpackUpdateMessage(OSDMap args) |
198 | { | 198 | { |
199 | if (args["group_id"] != null) | 199 | if (args["group_id"] != null) |
200 | GroupID = args["group_id"].AsUUID(); | 200 | GroupID = args["group_id"].AsUUID(); |
201 | if (args["group_powers"] != null) | 201 | if (args["group_powers"] != null) |
202 | UInt64.TryParse((string)args["group_powers"].AsString(), out GroupPowers); | 202 | UInt64.TryParse((string)args["group_powers"].AsString(), out GroupPowers); |
203 | if (args["accept_notices"] != null) | 203 | if (args["accept_notices"] != null) |
204 | AcceptNotices = args["accept_notices"].AsBoolean(); | 204 | AcceptNotices = args["accept_notices"].AsBoolean(); |
205 | } | 205 | } |
206 | } | 206 | } |
207 | 207 | ||
208 | //public class AgentAnimationData | 208 | //public class AgentAnimationData |
209 | //{ | 209 | //{ |
210 | // public UUID Animation; | 210 | // public UUID Animation; |
211 | // public UUID ObjectID; | 211 | // public UUID ObjectID; |
212 | 212 | ||
213 | // public AgentAnimationData(UUID anim, UUID obj) | 213 | // public AgentAnimationData(UUID anim, UUID obj) |
214 | // { | 214 | // { |
215 | // Animation = anim; | 215 | // Animation = anim; |
216 | // ObjectID = obj; | 216 | // ObjectID = obj; |
217 | // } | 217 | // } |
218 | 218 | ||
219 | // public AgentAnimationData(OSDMap args) | 219 | // public AgentAnimationData(OSDMap args) |
220 | // { | 220 | // { |
221 | // UnpackUpdateMessage(args); | 221 | // UnpackUpdateMessage(args); |
222 | // } | 222 | // } |
223 | 223 | ||
224 | // public OSDMap PackUpdateMessage() | 224 | // public OSDMap PackUpdateMessage() |
225 | // { | 225 | // { |
226 | // OSDMap anim = new OSDMap(); | 226 | // OSDMap anim = new OSDMap(); |
227 | // anim["animation"] = OSD.FromUUID(Animation); | 227 | // anim["animation"] = OSD.FromUUID(Animation); |
228 | // anim["object_id"] = OSD.FromUUID(ObjectID); | 228 | // anim["object_id"] = OSD.FromUUID(ObjectID); |
229 | // return anim; | 229 | // return anim; |
230 | // } | 230 | // } |
231 | 231 | ||
232 | // public void UnpackUpdateMessage(OSDMap args) | 232 | // public void UnpackUpdateMessage(OSDMap args) |
233 | // { | 233 | // { |
234 | // if (args["animation"] != null) | 234 | // if (args["animation"] != null) |
235 | // Animation = args["animation"].AsUUID(); | 235 | // Animation = args["animation"].AsUUID(); |
236 | // if (args["object_id"] != null) | 236 | // if (args["object_id"] != null) |
237 | // ObjectID = args["object_id"].AsUUID(); | 237 | // ObjectID = args["object_id"].AsUUID(); |
238 | // } | 238 | // } |
239 | //} | 239 | //} |
240 | 240 | ||
241 | public class AgentData : IAgentData | 241 | public class AgentData : IAgentData |
242 | { | 242 | { |
243 | private UUID m_id; | 243 | private UUID m_id; |
244 | public UUID AgentID | 244 | public UUID AgentID |
245 | { | 245 | { |
246 | get { return m_id; } | 246 | get { return m_id; } |
247 | set { m_id = value; } | 247 | set { m_id = value; } |
248 | } | 248 | } |
249 | public ulong RegionHandle; | 249 | public ulong RegionHandle; |
250 | public uint CircuitCode; | 250 | public uint CircuitCode; |
251 | public UUID SessionID; | 251 | public UUID SessionID; |
252 | 252 | ||
253 | public Vector3 Position; | 253 | public Vector3 Position; |
254 | public Vector3 Velocity; | 254 | public Vector3 Velocity; |
255 | public Vector3 Center; | 255 | public Vector3 Center; |
256 | public Vector3 Size; | 256 | public Vector3 Size; |
257 | public Vector3 AtAxis; | 257 | public Vector3 AtAxis; |
258 | public Vector3 LeftAxis; | 258 | public Vector3 LeftAxis; |
259 | public Vector3 UpAxis; | 259 | public Vector3 UpAxis; |
260 | public bool ChangedGrid; | 260 | public bool ChangedGrid; |
261 | 261 | ||
262 | public float Far; | 262 | public float Far; |
263 | public float Aspect; | 263 | public float Aspect; |
264 | //public int[] Throttles; | 264 | //public int[] Throttles; |
265 | public byte[] Throttles; | 265 | public byte[] Throttles; |
266 | 266 | ||
267 | public uint LocomotionState; | 267 | public uint LocomotionState; |
268 | public Quaternion HeadRotation; | 268 | public Quaternion HeadRotation; |
269 | public Quaternion BodyRotation; | 269 | public Quaternion BodyRotation; |
270 | public uint ControlFlags; | 270 | public uint ControlFlags; |
271 | public float EnergyLevel; | 271 | public float EnergyLevel; |
272 | public Byte GodLevel; | 272 | public Byte GodLevel; |
273 | public bool AlwaysRun; | 273 | public bool AlwaysRun; |
274 | public UUID PreyAgent; | 274 | public UUID PreyAgent; |
275 | public Byte AgentAccess; | 275 | public Byte AgentAccess; |
276 | public UUID[] AgentTextures; | 276 | public UUID[] AgentTextures; |
277 | public UUID ActiveGroupID; | 277 | public UUID ActiveGroupID; |
278 | 278 | ||
279 | public AgentGroupData[] Groups; | 279 | public AgentGroupData[] Groups; |
280 | public Animation[] Anims; | 280 | public Animation[] Anims; |
281 | 281 | ||
282 | public UUID GranterID; | 282 | public UUID GranterID; |
283 | public Dictionary<string, string> NVPairs; | 283 | public Dictionary<string, string> NVPairs; |
284 | 284 | ||
285 | public byte[] VisualParams; | 285 | public byte[] VisualParams; |
286 | 286 | ||
287 | public string CallbackURI; | 287 | public string CallbackURI; |
288 | 288 | ||
289 | public OSDMap PackUpdateMessage() | 289 | public OSDMap PackUpdateMessage() |
290 | { | 290 | { |
291 | OSDMap args = new OSDMap(); | 291 | OSDMap args = new OSDMap(); |
292 | args["message_type"] = OSD.FromString("AgentData"); | 292 | args["message_type"] = OSD.FromString("AgentData"); |
293 | 293 | ||
294 | args["region_handle"] = OSD.FromString(RegionHandle.ToString()); | 294 | args["region_handle"] = OSD.FromString(RegionHandle.ToString()); |
295 | args["circuit_code"] = OSD.FromString(CircuitCode.ToString()); | 295 | args["circuit_code"] = OSD.FromString(CircuitCode.ToString()); |
296 | args["agent_uuid"] = OSD.FromUUID(AgentID); | 296 | args["agent_uuid"] = OSD.FromUUID(AgentID); |
297 | args["session_uuid"] = OSD.FromUUID(SessionID); | 297 | args["session_uuid"] = OSD.FromUUID(SessionID); |
298 | 298 | ||
299 | args["position"] = OSD.FromString(Position.ToString()); | 299 | args["position"] = OSD.FromString(Position.ToString()); |
300 | args["velocity"] = OSD.FromString(Velocity.ToString()); | 300 | args["velocity"] = OSD.FromString(Velocity.ToString()); |
301 | args["center"] = OSD.FromString(Center.ToString()); | 301 | args["center"] = OSD.FromString(Center.ToString()); |
302 | args["size"] = OSD.FromString(Size.ToString()); | 302 | args["size"] = OSD.FromString(Size.ToString()); |
303 | args["at_axis"] = OSD.FromString(AtAxis.ToString()); | 303 | args["at_axis"] = OSD.FromString(AtAxis.ToString()); |
304 | args["left_axis"] = OSD.FromString(LeftAxis.ToString()); | 304 | args["left_axis"] = OSD.FromString(LeftAxis.ToString()); |
305 | args["up_axis"] = OSD.FromString(UpAxis.ToString()); | 305 | args["up_axis"] = OSD.FromString(UpAxis.ToString()); |
306 | 306 | ||
307 | args["changed_grid"] = OSD.FromBoolean(ChangedGrid); | 307 | args["changed_grid"] = OSD.FromBoolean(ChangedGrid); |
308 | args["far"] = OSD.FromReal(Far); | 308 | args["far"] = OSD.FromReal(Far); |
309 | args["aspect"] = OSD.FromReal(Aspect); | 309 | args["aspect"] = OSD.FromReal(Aspect); |
310 | 310 | ||
311 | if ((Throttles != null) && (Throttles.Length > 0)) | 311 | if ((Throttles != null) && (Throttles.Length > 0)) |
312 | args["throttles"] = OSD.FromBinary(Throttles); | 312 | args["throttles"] = OSD.FromBinary(Throttles); |
313 | 313 | ||
314 | args["locomotion_state"] = OSD.FromString(LocomotionState.ToString()); | 314 | args["locomotion_state"] = OSD.FromString(LocomotionState.ToString()); |
315 | args["head_rotation"] = OSD.FromString(HeadRotation.ToString()); | 315 | args["head_rotation"] = OSD.FromString(HeadRotation.ToString()); |
316 | args["body_rotation"] = OSD.FromString(BodyRotation.ToString()); | 316 | args["body_rotation"] = OSD.FromString(BodyRotation.ToString()); |
317 | args["control_flags"] = OSD.FromString(ControlFlags.ToString()); | 317 | args["control_flags"] = OSD.FromString(ControlFlags.ToString()); |
318 | 318 | ||
319 | args["energy_level"] = OSD.FromReal(EnergyLevel); | 319 | args["energy_level"] = OSD.FromReal(EnergyLevel); |
320 | args["god_level"] = OSD.FromString(GodLevel.ToString()); | 320 | args["god_level"] = OSD.FromString(GodLevel.ToString()); |
321 | args["always_run"] = OSD.FromBoolean(AlwaysRun); | 321 | args["always_run"] = OSD.FromBoolean(AlwaysRun); |
322 | args["prey_agent"] = OSD.FromUUID(PreyAgent); | 322 | args["prey_agent"] = OSD.FromUUID(PreyAgent); |
323 | args["agent_access"] = OSD.FromString(AgentAccess.ToString()); | 323 | args["agent_access"] = OSD.FromString(AgentAccess.ToString()); |
324 | 324 | ||
325 | if ((AgentTextures != null) && (AgentTextures.Length > 0)) | 325 | if ((AgentTextures != null) && (AgentTextures.Length > 0)) |
326 | { | 326 | { |
327 | OSDArray textures = new OSDArray(AgentTextures.Length); | 327 | OSDArray textures = new OSDArray(AgentTextures.Length); |
328 | foreach (UUID uuid in AgentTextures) | 328 | foreach (UUID uuid in AgentTextures) |
329 | textures.Add(OSD.FromUUID(uuid)); | 329 | textures.Add(OSD.FromUUID(uuid)); |
330 | args["agent_textures"] = textures; | 330 | args["agent_textures"] = textures; |
331 | } | 331 | } |
332 | 332 | ||
333 | args["active_group_id"] = OSD.FromUUID(ActiveGroupID); | 333 | args["active_group_id"] = OSD.FromUUID(ActiveGroupID); |
334 | 334 | ||
335 | if ((Groups != null) && (Groups.Length > 0)) | 335 | if ((Groups != null) && (Groups.Length > 0)) |
336 | { | 336 | { |
337 | OSDArray groups = new OSDArray(Groups.Length); | 337 | OSDArray groups = new OSDArray(Groups.Length); |
338 | foreach (AgentGroupData agd in Groups) | 338 | foreach (AgentGroupData agd in Groups) |
339 | groups.Add(agd.PackUpdateMessage()); | 339 | groups.Add(agd.PackUpdateMessage()); |
340 | args["groups"] = groups; | 340 | args["groups"] = groups; |
341 | } | 341 | } |
342 | 342 | ||
343 | if ((Anims != null) && (Anims.Length > 0)) | 343 | if ((Anims != null) && (Anims.Length > 0)) |
344 | { | 344 | { |
345 | OSDArray anims = new OSDArray(Anims.Length); | 345 | OSDArray anims = new OSDArray(Anims.Length); |
346 | foreach (Animation aanim in Anims) | 346 | foreach (Animation aanim in Anims) |
347 | anims.Add(aanim.PackUpdateMessage()); | 347 | anims.Add(aanim.PackUpdateMessage()); |
348 | args["animations"] = anims; | 348 | args["animations"] = anims; |
349 | } | 349 | } |
350 | 350 | ||
351 | if ((VisualParams != null) && (VisualParams.Length > 0)) | 351 | if ((VisualParams != null) && (VisualParams.Length > 0)) |
352 | args["visual_params"] = OSD.FromBinary(VisualParams); | 352 | args["visual_params"] = OSD.FromBinary(VisualParams); |
353 | 353 | ||
354 | // Last few fields are still missing: granter and NVPais | 354 | // Last few fields are still missing: granter and NVPais |
355 | 355 | ||
356 | if ((CallbackURI != null) && (!CallbackURI.Equals(""))) | 356 | if ((CallbackURI != null) && (!CallbackURI.Equals(""))) |
357 | args["callback_uri"] = OSD.FromString(CallbackURI); | 357 | args["callback_uri"] = OSD.FromString(CallbackURI); |
358 | 358 | ||
359 | return args; | 359 | return args; |
360 | } | 360 | } |
361 | 361 | ||
362 | /// <summary> | 362 | /// <summary> |
363 | /// Deserialization of agent data. | 363 | /// Deserialization of agent data. |
364 | /// Avoiding reflection makes it painful to write, but that's the price! | 364 | /// Avoiding reflection makes it painful to write, but that's the price! |
365 | /// </summary> | 365 | /// </summary> |
366 | /// <param name="hash"></param> | 366 | /// <param name="hash"></param> |
367 | public void UnpackUpdateMessage(OSDMap args) | 367 | public void UnpackUpdateMessage(OSDMap args) |
368 | { | 368 | { |
369 | if (args.ContainsKey("region_handle")) | 369 | if (args.ContainsKey("region_handle")) |
370 | UInt64.TryParse(args["region_handle"].AsString(), out RegionHandle); | 370 | UInt64.TryParse(args["region_handle"].AsString(), out RegionHandle); |
371 | 371 | ||
372 | if (args["circuit_code"] != null) | 372 | if (args["circuit_code"] != null) |
373 | UInt32.TryParse((string)args["circuit_code"].AsString(), out CircuitCode); | 373 | UInt32.TryParse((string)args["circuit_code"].AsString(), out CircuitCode); |
374 | 374 | ||
375 | if (args["agent_uuid"] != null) | 375 | if (args["agent_uuid"] != null) |
376 | AgentID = args["agent_uuid"].AsUUID(); | 376 | AgentID = args["agent_uuid"].AsUUID(); |
377 | 377 | ||
378 | if (args["session_uuid"] != null) | 378 | if (args["session_uuid"] != null) |
379 | SessionID = args["session_uuid"].AsUUID(); | 379 | SessionID = args["session_uuid"].AsUUID(); |
380 | 380 | ||
381 | if (args["position"] != null) | 381 | if (args["position"] != null) |
382 | Vector3.TryParse(args["position"].AsString(), out Position); | 382 | Vector3.TryParse(args["position"].AsString(), out Position); |
383 | 383 | ||
384 | if (args["velocity"] != null) | 384 | if (args["velocity"] != null) |
385 | Vector3.TryParse(args["velocity"].AsString(), out Velocity); | 385 | Vector3.TryParse(args["velocity"].AsString(), out Velocity); |
386 | 386 | ||
387 | if (args["center"] != null) | 387 | if (args["center"] != null) |
388 | Vector3.TryParse(args["center"].AsString(), out Center); | 388 | Vector3.TryParse(args["center"].AsString(), out Center); |
389 | 389 | ||
390 | if (args["size"] != null) | 390 | if (args["size"] != null) |
391 | Vector3.TryParse(args["size"].AsString(), out Size); | 391 | Vector3.TryParse(args["size"].AsString(), out Size); |
392 | 392 | ||
393 | if (args["at_axis"] != null) | 393 | if (args["at_axis"] != null) |
394 | Vector3.TryParse(args["at_axis"].AsString(), out AtAxis); | 394 | Vector3.TryParse(args["at_axis"].AsString(), out AtAxis); |
395 | 395 | ||
396 | if (args["left_axis"] != null) | 396 | if (args["left_axis"] != null) |
397 | Vector3.TryParse(args["left_axis"].AsString(), out AtAxis); | 397 | Vector3.TryParse(args["left_axis"].AsString(), out AtAxis); |
398 | 398 | ||
399 | if (args["up_axis"] != null) | 399 | if (args["up_axis"] != null) |
400 | Vector3.TryParse(args["up_axis"].AsString(), out AtAxis); | 400 | Vector3.TryParse(args["up_axis"].AsString(), out AtAxis); |
401 | 401 | ||
402 | if (args["changed_grid"] != null) | 402 | if (args["changed_grid"] != null) |
403 | ChangedGrid = args["changed_grid"].AsBoolean(); | 403 | ChangedGrid = args["changed_grid"].AsBoolean(); |
404 | 404 | ||
405 | if (args["far"] != null) | 405 | if (args["far"] != null) |
406 | Far = (float)(args["far"].AsReal()); | 406 | Far = (float)(args["far"].AsReal()); |
407 | 407 | ||
408 | if (args["aspect"] != null) | 408 | if (args["aspect"] != null) |
409 | Aspect = (float)args["aspect"].AsReal(); | 409 | Aspect = (float)args["aspect"].AsReal(); |
410 | 410 | ||
411 | if (args["throttles"] != null) | 411 | if (args["throttles"] != null) |
412 | Throttles = args["throttles"].AsBinary(); | 412 | Throttles = args["throttles"].AsBinary(); |
413 | 413 | ||
414 | if (args["locomotion_state"] != null) | 414 | if (args["locomotion_state"] != null) |
415 | UInt32.TryParse(args["locomotion_state"].AsString(), out LocomotionState); | 415 | UInt32.TryParse(args["locomotion_state"].AsString(), out LocomotionState); |
416 | 416 | ||
417 | if (args["head_rotation"] != null) | 417 | if (args["head_rotation"] != null) |
418 | Quaternion.TryParse(args["head_rotation"].AsString(), out HeadRotation); | 418 | Quaternion.TryParse(args["head_rotation"].AsString(), out HeadRotation); |
419 | 419 | ||
420 | if (args["body_rotation"] != null) | 420 | if (args["body_rotation"] != null) |
421 | Quaternion.TryParse(args["body_rotation"].AsString(), out BodyRotation); | 421 | Quaternion.TryParse(args["body_rotation"].AsString(), out BodyRotation); |
422 | 422 | ||
423 | if (args["control_flags"] != null) | 423 | if (args["control_flags"] != null) |
424 | UInt32.TryParse(args["control_flags"].AsString(), out ControlFlags); | 424 | UInt32.TryParse(args["control_flags"].AsString(), out ControlFlags); |
425 | 425 | ||
426 | if (args["energy_level"] != null) | 426 | if (args["energy_level"] != null) |
427 | EnergyLevel = (float)(args["energy_level"].AsReal()); | 427 | EnergyLevel = (float)(args["energy_level"].AsReal()); |
428 | 428 | ||
429 | if (args["god_level"] != null) | 429 | if (args["god_level"] != null) |
430 | Byte.TryParse(args["god_level"].AsString(), out GodLevel); | 430 | Byte.TryParse(args["god_level"].AsString(), out GodLevel); |
431 | 431 | ||
432 | if (args["always_run"] != null) | 432 | if (args["always_run"] != null) |
433 | AlwaysRun = args["always_run"].AsBoolean(); | 433 | AlwaysRun = args["always_run"].AsBoolean(); |
434 | 434 | ||
435 | if (args["prey_agent"] != null) | 435 | if (args["prey_agent"] != null) |
436 | PreyAgent = args["prey_agent"].AsUUID(); | 436 | PreyAgent = args["prey_agent"].AsUUID(); |
437 | 437 | ||
438 | if (args["agent_access"] != null) | 438 | if (args["agent_access"] != null) |
439 | Byte.TryParse(args["agent_access"].AsString(), out AgentAccess); | 439 | Byte.TryParse(args["agent_access"].AsString(), out AgentAccess); |
440 | 440 | ||
441 | if ((args["agent_textures"] != null) && (args["agent_textures"]).Type == OSDType.Array) | 441 | if ((args["agent_textures"] != null) && (args["agent_textures"]).Type == OSDType.Array) |
442 | { | 442 | { |
443 | OSDArray textures = (OSDArray)(args["agent_textures"]); | 443 | OSDArray textures = (OSDArray)(args["agent_textures"]); |
444 | AgentTextures = new UUID[textures.Count]; | 444 | AgentTextures = new UUID[textures.Count]; |
445 | int i = 0; | 445 | int i = 0; |
446 | foreach (OSD o in textures) | 446 | foreach (OSD o in textures) |
447 | AgentTextures[i++] = o.AsUUID(); | 447 | AgentTextures[i++] = o.AsUUID(); |
448 | } | 448 | } |
449 | 449 | ||
450 | if (args["active_group_id"] != null) | 450 | if (args["active_group_id"] != null) |
451 | ActiveGroupID = args["active_group_id"].AsUUID(); | 451 | ActiveGroupID = args["active_group_id"].AsUUID(); |
452 | 452 | ||
453 | if ((args["groups"] != null) && (args["groups"]).Type == OSDType.Array) | 453 | if ((args["groups"] != null) && (args["groups"]).Type == OSDType.Array) |
454 | { | 454 | { |
455 | OSDArray groups = (OSDArray)(args["groups"]); | 455 | OSDArray groups = (OSDArray)(args["groups"]); |
456 | Groups = new AgentGroupData[groups.Count]; | 456 | Groups = new AgentGroupData[groups.Count]; |
457 | int i = 0; | 457 | int i = 0; |
458 | foreach (OSD o in groups) | 458 | foreach (OSD o in groups) |
459 | { | 459 | { |
460 | if (o.Type == OSDType.Map) | 460 | if (o.Type == OSDType.Map) |
461 | { | 461 | { |
462 | Groups[i++] = new AgentGroupData((OSDMap)o); | 462 | Groups[i++] = new AgentGroupData((OSDMap)o); |
463 | } | 463 | } |
464 | } | 464 | } |
465 | } | 465 | } |
466 | 466 | ||
467 | if ((args["animations"] != null) && (args["animations"]).Type == OSDType.Array) | 467 | if ((args["animations"] != null) && (args["animations"]).Type == OSDType.Array) |
468 | { | 468 | { |
469 | OSDArray anims = (OSDArray)(args["animations"]); | 469 | OSDArray anims = (OSDArray)(args["animations"]); |
470 | Anims = new Animation[anims.Count]; | 470 | Anims = new Animation[anims.Count]; |
471 | int i = 0; | 471 | int i = 0; |
472 | foreach (OSD o in anims) | 472 | foreach (OSD o in anims) |
473 | { | 473 | { |
474 | if (o.Type == OSDType.Map) | 474 | if (o.Type == OSDType.Map) |
475 | { | 475 | { |
476 | Anims[i++] = new Animation((OSDMap)o); | 476 | Anims[i++] = new Animation((OSDMap)o); |
477 | } | 477 | } |
478 | } | 478 | } |
479 | } | 479 | } |
480 | 480 | ||
481 | if (args["visual_params"] != null) | 481 | if (args["visual_params"] != null) |
482 | VisualParams = args["visual_params"].AsBinary(); | 482 | VisualParams = args["visual_params"].AsBinary(); |
483 | 483 | ||
484 | if (args["callback_uri"] != null) | 484 | if (args["callback_uri"] != null) |
485 | CallbackURI = args["callback_uri"].AsString(); | 485 | CallbackURI = args["callback_uri"].AsString(); |
486 | } | 486 | } |
487 | 487 | ||
488 | public AgentData() | 488 | public AgentData() |
489 | { | 489 | { |
490 | } | 490 | } |
491 | 491 | ||
492 | public AgentData(Hashtable hash) | 492 | public AgentData(Hashtable hash) |
493 | { | 493 | { |
494 | //UnpackUpdateMessage(hash); | 494 | //UnpackUpdateMessage(hash); |
495 | } | 495 | } |
496 | 496 | ||
497 | public void Dump() | 497 | public void Dump() |
498 | { | 498 | { |
499 | System.Console.WriteLine("------------ AgentData ------------"); | 499 | System.Console.WriteLine("------------ AgentData ------------"); |
500 | System.Console.WriteLine("UUID: " + AgentID); | 500 | System.Console.WriteLine("UUID: " + AgentID); |
501 | System.Console.WriteLine("Region: " + RegionHandle); | 501 | System.Console.WriteLine("Region: " + RegionHandle); |
502 | System.Console.WriteLine("Position: " + Position); | 502 | System.Console.WriteLine("Position: " + Position); |
503 | } | 503 | } |
504 | } | 504 | } |
505 | 505 | ||
506 | } | 506 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index f5d7b32..4eb8a28 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -1379,7 +1379,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1379 | 1379 | ||
1380 | if (part != null) | 1380 | if (part != null) |
1381 | { | 1381 | { |
1382 | |||
1383 | TaskInventoryItem currentItem = part.Inventory.GetInventoryItem(itemID); | 1382 | TaskInventoryItem currentItem = part.Inventory.GetInventoryItem(itemID); |
1384 | bool allowInventoryDrop = (part.GetEffectiveObjectFlags() | 1383 | bool allowInventoryDrop = (part.GetEffectiveObjectFlags() |
1385 | & (uint)PrimFlags.AllowInventoryDrop) != 0; | 1384 | & (uint)PrimFlags.AllowInventoryDrop) != 0; |
diff --git a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs index 51aa8f8..604b21d 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs | |||
@@ -282,7 +282,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge | |||
282 | { | 282 | { |
283 | m_log.DebugFormat("[Concierge]: {0} logs off from {1}", client.Name, client.Scene.RegionInfo.RegionName); | 283 | m_log.DebugFormat("[Concierge]: {0} logs off from {1}", client.Name, client.Scene.RegionInfo.RegionName); |
284 | RemoveFromAttendeeList(client.AgentId, client.Name, client.Scene); | 284 | RemoveFromAttendeeList(client.AgentId, client.Name, client.Scene); |
285 | lock(m_sceneAttendees) | 285 | lock (m_sceneAttendees) |
286 | { | 286 | { |
287 | AnnounceToAgentsRegion(client.Scene, String.Format(m_announceLeaving, client.Name, client.Scene.RegionInfo.RegionName, | 287 | AnnounceToAgentsRegion(client.Scene, String.Format(m_announceLeaving, client.Name, client.Scene.RegionInfo.RegionName, |
288 | m_sceneAttendees[client.Scene].Count)); | 288 | m_sceneAttendees[client.Scene].Count)); |
@@ -406,7 +406,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge | |||
406 | attendees.Count, scene.RegionInfo.RegionName, | 406 | attendees.Count, scene.RegionInfo.RegionName, |
407 | scene.RegionInfo.RegionID, | 407 | scene.RegionInfo.RegionID, |
408 | DateTime.UtcNow.ToString("s"))); | 408 | DateTime.UtcNow.ToString("s"))); |
409 | lock(m_sceneAttendees) | 409 | lock (m_sceneAttendees) |
410 | { | 410 | { |
411 | foreach (UUID uuid in attendees) | 411 | foreach (UUID uuid in attendees) |
412 | { | 412 | { |
@@ -458,7 +458,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge | |||
458 | string payload = bs.Payload; | 458 | string payload = bs.Payload; |
459 | HttpWebRequest updatePost = bs.Poster; | 459 | HttpWebRequest updatePost = bs.Poster; |
460 | 460 | ||
461 | using(StreamWriter payloadStream = new StreamWriter(updatePost.EndGetRequestStream(result))) | 461 | using (StreamWriter payloadStream = new StreamWriter(updatePost.EndGetRequestStream(result))) |
462 | { | 462 | { |
463 | payloadStream.Write(payload); | 463 | payloadStream.Write(payload); |
464 | payloadStream.Close(); | 464 | payloadStream.Close(); |