diff options
Diffstat (limited to 'OpenSim.Framework')
-rw-r--r-- | OpenSim.Framework/AgentInventory.cs | 5 | ||||
-rw-r--r-- | OpenSim.Framework/OpenSim.Framework.csproj | 6 | ||||
-rw-r--r-- | OpenSim.Framework/OpenSim.Framework.dll.build | 1 | ||||
-rw-r--r-- | OpenSim.Framework/Util.cs | 89 |
4 files changed, 99 insertions, 2 deletions
diff --git a/OpenSim.Framework/AgentInventory.cs b/OpenSim.Framework/AgentInventory.cs index cabefc9..35c27d9 100644 --- a/OpenSim.Framework/AgentInventory.cs +++ b/OpenSim.Framework/AgentInventory.cs | |||
@@ -4,6 +4,7 @@ using System.Text; | |||
4 | using libsecondlife; | 4 | using libsecondlife; |
5 | using libsecondlife.Packets; | 5 | using libsecondlife.Packets; |
6 | using OpenSim.Framework.Types; | 6 | using OpenSim.Framework.Types; |
7 | using OpenSim.Framework.Utilities; | ||
7 | 8 | ||
8 | namespace OpenSim.Framework.Inventory | 9 | namespace OpenSim.Framework.Inventory |
9 | { | 10 | { |
@@ -114,9 +115,9 @@ namespace OpenSim.Framework.Inventory | |||
114 | Console.WriteLine("updating inventory item details"); | 115 | Console.WriteLine("updating inventory item details"); |
115 | if (this.InventoryItems.ContainsKey(itemID)) | 116 | if (this.InventoryItems.ContainsKey(itemID)) |
116 | { | 117 | { |
117 | Console.WriteLine("changing name to "+ Helpers.FieldToString(packet.Name)); | 118 | Console.WriteLine("changing name to "+ Util.FieldToString(packet.Name)); |
118 | InventoryItem Item = this.InventoryItems[itemID]; | 119 | InventoryItem Item = this.InventoryItems[itemID]; |
119 | Item.Name = Helpers.FieldToString(packet.Name); | 120 | Item.Name = Util.FieldToString(packet.Name); |
120 | Console.WriteLine("updated inventory item " + itemID.ToStringHyphenated()); | 121 | Console.WriteLine("updated inventory item " + itemID.ToStringHyphenated()); |
121 | //TODO need to update the rest of the info | 122 | //TODO need to update the rest of the info |
122 | } | 123 | } |
diff --git a/OpenSim.Framework/OpenSim.Framework.csproj b/OpenSim.Framework/OpenSim.Framework.csproj index ea4817e..0061140 100644 --- a/OpenSim.Framework/OpenSim.Framework.csproj +++ b/OpenSim.Framework/OpenSim.Framework.csproj | |||
@@ -76,6 +76,12 @@ | |||
76 | </Reference> | 76 | </Reference> |
77 | </ItemGroup> | 77 | </ItemGroup> |
78 | <ItemGroup> | 78 | <ItemGroup> |
79 | <ProjectReference Include="..\XmlRpcCS\XMLRPC.csproj"> | ||
80 | <Name>XMLRPC</Name> | ||
81 | <Project>{8E81D43C-0000-0000-0000-000000000000}</Project> | ||
82 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | ||
83 | <Private>False</Private> | ||
84 | </ProjectReference> | ||
79 | </ItemGroup> | 85 | </ItemGroup> |
80 | <ItemGroup> | 86 | <ItemGroup> |
81 | <Compile Include="AgentInventory.cs"> | 87 | <Compile Include="AgentInventory.cs"> |
diff --git a/OpenSim.Framework/OpenSim.Framework.dll.build b/OpenSim.Framework/OpenSim.Framework.dll.build index 8048de5..2ed5643 100644 --- a/OpenSim.Framework/OpenSim.Framework.dll.build +++ b/OpenSim.Framework/OpenSim.Framework.dll.build | |||
@@ -50,6 +50,7 @@ | |||
50 | <include name="System.Xml.dll" /> | 50 | <include name="System.Xml.dll" /> |
51 | <include name="../bin/libsecondlife.dll" /> | 51 | <include name="../bin/libsecondlife.dll" /> |
52 | <include name="../bin/Db4objects.Db4o.dll" /> | 52 | <include name="../bin/Db4objects.Db4o.dll" /> |
53 | <include name="../bin/XMLRPC.dll" /> | ||
53 | </references> | 54 | </references> |
54 | </csc> | 55 | </csc> |
55 | <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../bin/" /> | 56 | <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../bin/" /> |
diff --git a/OpenSim.Framework/Util.cs b/OpenSim.Framework/Util.cs index 695cac9..17ca611 100644 --- a/OpenSim.Framework/Util.cs +++ b/OpenSim.Framework/Util.cs | |||
@@ -36,6 +36,95 @@ namespace OpenSim.Framework.Utilities | |||
36 | return id; | 36 | return id; |
37 | } | 37 | } |
38 | 38 | ||
39 | public static int fast_distance2d(int x, int y) | ||
40 | { | ||
41 | x = System.Math.Abs(x); | ||
42 | y = System.Math.Abs(y); | ||
43 | |||
44 | int min = System.Math.Min(x, y); | ||
45 | |||
46 | return (x + y - (min >> 1) - (min >> 2) + (min >> 4)); | ||
47 | } | ||
48 | |||
49 | public static string FieldToString(byte[] bytes) | ||
50 | { | ||
51 | return FieldToString(bytes, String.Empty); | ||
52 | } | ||
53 | |||
54 | /// <summary> | ||
55 | /// Convert a variable length field (byte array) to a string, with a | ||
56 | /// field name prepended to each line of the output | ||
57 | /// </summary> | ||
58 | /// <remarks>If the byte array has unprintable characters in it, a | ||
59 | /// hex dump will be put in the string instead</remarks> | ||
60 | /// <param name="bytes">The byte array to convert to a string</param> | ||
61 | /// <param name="fieldName">A field name to prepend to each line of output</param> | ||
62 | /// <returns>An ASCII string or a string containing a hex dump, minus | ||
63 | /// the null terminator</returns> | ||
64 | public static string FieldToString(byte[] bytes, string fieldName) | ||
65 | { | ||
66 | // Check for a common case | ||
67 | if (bytes.Length == 0) return String.Empty; | ||
68 | |||
69 | StringBuilder output = new StringBuilder(); | ||
70 | bool printable = true; | ||
71 | |||
72 | for (int i = 0; i < bytes.Length; ++i) | ||
73 | { | ||
74 | // Check if there are any unprintable characters in the array | ||
75 | if ((bytes[i] < 0x20 || bytes[i] > 0x7E) && bytes[i] != 0x09 | ||
76 | && bytes[i] != 0x0D && bytes[i] != 0x0A && bytes[i] != 0x00) | ||
77 | { | ||
78 | printable = false; | ||
79 | break; | ||
80 | } | ||
81 | } | ||
82 | |||
83 | if (printable) | ||
84 | { | ||
85 | if (fieldName.Length > 0) | ||
86 | { | ||
87 | output.Append(fieldName); | ||
88 | output.Append(": "); | ||
89 | } | ||
90 | |||
91 | if (bytes[bytes.Length - 1] == 0x00) | ||
92 | output.Append(UTF8Encoding.UTF8.GetString(bytes, 0, bytes.Length - 1)); | ||
93 | else | ||
94 | output.Append(UTF8Encoding.UTF8.GetString(bytes)); | ||
95 | } | ||
96 | else | ||
97 | { | ||
98 | for (int i = 0; i < bytes.Length; i += 16) | ||
99 | { | ||
100 | if (i != 0) | ||
101 | output.Append(Environment.NewLine); | ||
102 | if (fieldName.Length > 0) | ||
103 | { | ||
104 | output.Append(fieldName); | ||
105 | output.Append(": "); | ||
106 | } | ||
107 | |||
108 | for (int j = 0; j < 16; j++) | ||
109 | { | ||
110 | if ((i + j) < bytes.Length) | ||
111 | output.Append(String.Format("{0:X2} ", bytes[i + j])); | ||
112 | else | ||
113 | output.Append(" "); | ||
114 | } | ||
115 | |||
116 | for (int j = 0; j < 16 && (i + j) < bytes.Length; j++) | ||
117 | { | ||
118 | if (bytes[i + j] >= 0x20 && bytes[i + j] < 0x7E) | ||
119 | output.Append((char)bytes[i + j]); | ||
120 | else | ||
121 | output.Append("."); | ||
122 | } | ||
123 | } | ||
124 | } | ||
125 | |||
126 | return output.ToString(); | ||
127 | } | ||
39 | public Util() | 128 | public Util() |
40 | { | 129 | { |
41 | 130 | ||