diff --git a/OpenMetaverse/AssemblyInfo.cs b/OpenMetaverse/AssemblyInfo.cs index 13958b26..ffd17a2e 100644 --- a/OpenMetaverse/AssemblyInfo.cs +++ b/OpenMetaverse/AssemblyInfo.cs @@ -25,7 +25,7 @@ using System.Runtime.CompilerServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("1.0.0.*")] +[assembly: AssemblyVersion("0.0.0.*")] // // In order to sign your assembly you must specify a key to use. Refer to the diff --git a/OpenMetaverse/Imaging/BakeLayer.cs b/OpenMetaverse/Imaging/BakeLayer.cs index 3c8c3a88..9c7b94c9 100644 --- a/OpenMetaverse/Imaging/BakeLayer.cs +++ b/OpenMetaverse/Imaging/BakeLayer.cs @@ -389,7 +389,7 @@ namespace OpenMetaverse.Imaging public static ManagedImage LoadAlphaLayer(string fileName) { - Stream stream = Helpers.GetResourceStream(fileName); + Stream stream = Helpers.GetResourceStream(fileName, Settings.RESOURCE_DIR); if (stream != null) { diff --git a/OpenMetaverse/ProtocolManager.cs b/OpenMetaverse/ProtocolManager.cs index 6d404006..f013dce6 100644 --- a/OpenMetaverse/ProtocolManager.cs +++ b/OpenMetaverse/ProtocolManager.cs @@ -27,22 +27,10 @@ using System; using System.Collections.Generic; using System.IO; +using OpenMetaverse; namespace OpenMetaverse -{ - /// - /// - /// - public enum PacketFrequency : byte - { - /// - Low, - /// - Medium, - /// - High - } - +{ /// /// /// diff --git a/OpenMetaverseCore/AssemblyInfo.cs b/OpenMetaverseCore/AssemblyInfo.cs new file mode 100644 index 00000000..ae3a15d1 --- /dev/null +++ b/OpenMetaverseCore/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OpenMetaverse Networking Core")] +[assembly: AssemblyDescription("The OpenMetaverse Network abstraction library")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("OpenMetaverse")] +[assembly: AssemblyProduct("libOpenMetaverse")] +[assembly: AssemblyCopyright("2009 OpenMetaverse Foundation")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("71acd58b-2794-4ba7-982c-f08568881067")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("0.0.0.*")] +[assembly: AssemblyFileVersion("0.0.0.0")] diff --git a/OpenMetaverse/CapsToPacket.cs b/OpenMetaverseCore/CapsToPacket.cs similarity index 96% rename from OpenMetaverse/CapsToPacket.cs rename to OpenMetaverseCore/CapsToPacket.cs index 7a5edfcc..625f2281 100644 --- a/OpenMetaverse/CapsToPacket.cs +++ b/OpenMetaverseCore/CapsToPacket.cs @@ -153,7 +153,7 @@ namespace OpenMetaverse.Packets } catch (Exception e) { - Logger.Log(e.Message, Helpers.LogLevel.Error, e); + //FIXME Logger.Log(e.Message, Helpers.LogLevel.Error, e); } return packet; diff --git a/OpenMetaverseCore/CoreTypes.cs b/OpenMetaverseCore/CoreTypes.cs new file mode 100644 index 00000000..d289efae --- /dev/null +++ b/OpenMetaverseCore/CoreTypes.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OpenMetaverse +{ + /// + /// + /// + public enum PacketFrequency : byte + { + /// + Low, + /// + Medium, + /// + High + } +} diff --git a/OpenMetaverse/Helpers.cs b/OpenMetaverseCore/Helpers.cs similarity index 89% rename from OpenMetaverse/Helpers.cs rename to OpenMetaverseCore/Helpers.cs index 31d73cc4..3a62c84b 100644 --- a/OpenMetaverse/Helpers.cs +++ b/OpenMetaverseCore/Helpers.cs @@ -301,11 +301,13 @@ namespace OpenMetaverse } catch (Exception ex) { - Logger.Log(String.Format("Zerodecoding error: i={0}, srclen={1}, bodylen={2}, zerolen={3}\n{4}\n{5}", - i, srclen, bodylen, zerolen, Utils.BytesToHexString(src, srclen, null), ex), LogLevel.Error); - } + throw new IndexOutOfRangeException(String.Format("Zerodecoding error: i={0}, srclen={1}, bodylen={2}, zerolen={3}\n{4}\n{5}", + i, srclen, bodylen, zerolen, Utils.BytesToHexString(src, srclen, null)), ex.InnerException); - return 0; + //Logger.Log(String.Format("Zerodecoding error: i={0}, srclen={1}, bodylen={2}, zerolen={3}\n{4}\n{5}", + // i, srclen, bodylen, zerolen, Utils.BytesToHexString(src, srclen, null), ex), LogLevel.Error); + } + return 0; } /// @@ -442,9 +444,9 @@ namespace OpenMetaverse /// was not successfully loaded public static System.IO.Stream GetResourceStream(string resourceName) { - return GetResourceStream(resourceName, Settings.RESOURCE_DIR); + return GetResourceStream(resourceName, "openmetaverse_data"); } - + /// /// Attempts to load a file either embedded in the assembly or found in /// a given search path @@ -479,53 +481,6 @@ namespace OpenMetaverse } return null; - } - - /// - /// Converts a list of primitives to an object that can be serialized - /// with the LLSD system - /// - /// Primitives to convert to a serializable object - /// An object that can be serialized with LLSD - public static StructuredData.OSD PrimListToOSD(List prims) - { - StructuredData.OSDMap map = new OpenMetaverse.StructuredData.OSDMap(prims.Count); - - for (int i = 0; i < prims.Count; i++) - map.Add(prims[i].LocalID.ToString(), prims[i].GetOSD()); - - return map; - } - - /// - /// Deserializes OSD in to a list of primitives - /// - /// Structure holding the serialized primitive list, - /// must be of the SDMap type - /// A list of deserialized primitives - public static List OSDToPrimList(StructuredData.OSD osd) - { - if (osd.Type != StructuredData.OSDType.Map) - throw new ArgumentException("LLSD must be in the Map structure"); - - StructuredData.OSDMap map = (StructuredData.OSDMap)osd; - List prims = new List(map.Count); - - foreach (KeyValuePair kvp in map) - { - Primitive prim = Primitive.FromOSD(kvp.Value); - prim.LocalID = UInt32.Parse(kvp.Key); - prims.Add(prim); - } - - return prims; - } - - public static AttachmentPoint StateToAttachmentPoint(uint state) - { - const uint ATTACHMENT_MASK = 0xF0; - uint fixedState = (((byte)state & ATTACHMENT_MASK) >> 4) | (((byte)state & ~ATTACHMENT_MASK) << 4); - return (AttachmentPoint)fixedState; - } + } } } diff --git a/OpenMetaverse/_Packets_.cs b/OpenMetaverseCore/_Packets_.cs similarity index 100% rename from OpenMetaverse/_Packets_.cs rename to OpenMetaverseCore/_Packets_.cs diff --git a/Programs/PrimWorkshop/frmBrowser.cs b/Programs/PrimWorkshop/frmBrowser.cs index 75942d17..4c654746 100644 --- a/Programs/PrimWorkshop/frmBrowser.cs +++ b/Programs/PrimWorkshop/frmBrowser.cs @@ -328,7 +328,7 @@ namespace PrimWorkshop textures = 0; // Write the LLSD to the hard drive in XML format - string output = OSDParser.SerializeLLSDXmlString(Helpers.PrimListToOSD(primList)); + string output = OSDParser.SerializeLLSDXmlString(ClientHelpers.PrimListToOSD(primList)); try { // Create a temporary directory @@ -499,7 +499,7 @@ namespace PrimWorkshop // Decode the .prims file string raw = File.ReadAllText(primFile); OSD osd = OSDParser.DeserializeLLSDXml(raw); - return Helpers.OSDToPrimList(osd); + return ClientHelpers.OSDToPrimList(osd); } catch (Exception e) { diff --git a/Programs/PrimWorkshop/frmPrimWorkshop.cs b/Programs/PrimWorkshop/frmPrimWorkshop.cs index cc324eb7..4cf302c5 100644 --- a/Programs/PrimWorkshop/frmPrimWorkshop.cs +++ b/Programs/PrimWorkshop/frmPrimWorkshop.cs @@ -275,7 +275,7 @@ namespace PrimWorkshop if (osd != null && osd.Type == OSDType.Map) { - List primList = Helpers.OSDToPrimList(osd); + List primList = ClientHelpers.OSDToPrimList(osd); Prims = new List(primList.Count); for (int i = 0; i < primList.Count; i++) diff --git a/Programs/examples/TestClient/Commands/Appearance/AttachmentsCommand.cs b/Programs/examples/TestClient/Commands/Appearance/AttachmentsCommand.cs index 38085ee0..cb8c11ce 100644 --- a/Programs/examples/TestClient/Commands/Appearance/AttachmentsCommand.cs +++ b/Programs/examples/TestClient/Commands/Appearance/AttachmentsCommand.cs @@ -23,7 +23,7 @@ namespace OpenMetaverse.TestClient for (int i = 0; i < attachments.Count; i++) { Primitive prim = attachments[i]; - AttachmentPoint point = Helpers.StateToAttachmentPoint(prim.PrimData.State); + AttachmentPoint point = StateToAttachmentPoint(prim.PrimData.State); // TODO: Fetch properties for the objects with missing property sets so we can show names Logger.Log(String.Format("[Attachment @ {0}] LocalID: {1} UUID: {2} Offset: {3}", @@ -32,5 +32,12 @@ namespace OpenMetaverse.TestClient return "Found " + attachments.Count + " attachments"; } + + public static AttachmentPoint StateToAttachmentPoint(uint state) + { + const uint ATTACHMENT_MASK = 0xF0; + uint fixedState = (((byte)state & ATTACHMENT_MASK) >> 4) | (((byte)state & ~ATTACHMENT_MASK) << 4); + return (AttachmentPoint)fixedState; + } } } diff --git a/Programs/examples/TestClient/Commands/Prims/ExportCommand.cs b/Programs/examples/TestClient/Commands/Prims/ExportCommand.cs index dd3cc310..4fe4d46b 100644 --- a/Programs/examples/TestClient/Commands/Prims/ExportCommand.cs +++ b/Programs/examples/TestClient/Commands/Prims/ExportCommand.cs @@ -100,7 +100,7 @@ namespace OpenMetaverse.TestClient Logger.Log(uuid.ToString(), Helpers.LogLevel.Warning, Client); } - string output = OSDParser.SerializeLLSDXmlString(Helpers.PrimListToOSD(prims)); + string output = OSDParser.SerializeLLSDXmlString(ClientHelpers.PrimListToOSD(prims)); try { File.WriteAllText(file, output); } catch (Exception e) { return e.Message; } diff --git a/Programs/examples/TestClient/Commands/Prims/ImportCommand.cs b/Programs/examples/TestClient/Commands/Prims/ImportCommand.cs index 5c2755f4..5e20abbe 100644 --- a/Programs/examples/TestClient/Commands/Prims/ImportCommand.cs +++ b/Programs/examples/TestClient/Commands/Prims/ImportCommand.cs @@ -63,7 +63,7 @@ namespace OpenMetaverse.TestClient try { xml = File.ReadAllText(filename); } catch (Exception e) { return e.Message; } - try { prims = Helpers.OSDToPrimList(OSDParser.DeserializeLLSDXml(xml)); } + try { prims = ClientHelpers.OSDToPrimList(OSDParser.DeserializeLLSDXml(xml)); } catch (Exception e) { return "Failed to deserialize " + filename + ": " + e.Message; } // Build an organized structure from the imported prims diff --git a/mapgen.bat b/mapgen.bat index ab69895a..95f8b18b 100644 --- a/mapgen.bat +++ b/mapgen.bat @@ -1 +1 @@ -"bin/mapgenerator.exe" data/message_template.msg Programs/mapgenerator/template.cs Programs/mapgenerator/unusedpackets.txt OpenMetaverse/_Packets_.cs \ No newline at end of file +"bin/mapgenerator.exe" data/message_template.msg Programs/mapgenerator/template.cs Programs/mapgenerator/unusedpackets.txt OpenMetaverseCore/_Packets_.cs \ No newline at end of file diff --git a/prebuild.xml b/prebuild.xml index f02ee900..e5b9262a 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -1 +1,828 @@ - TRACE;DEBUG false false true 4 false 1591,1574,0419,0618 bin true true false TRACE true false true 4 false 1591,1574,0419,0618 bin false true false ../bin/ ../bin/ ../bin/ ../bin/ ../bin/ OpenMetaverseTypes.XML ../bin/ ../bin/ ../bin/ OpenMetaverse.StructuredData.XML ../bin/ ../bin/ ../bin/ OpenMetaverse.Http.XML ../bin/ ../bin/ ../bin/ OpenMetaverse.XML ../bin/ ../bin/ ../bin/ OpenMetaverse.Utilities.XML ../bin/ ../bin/ ../bin/ ../bin/ ../../bin/ ../../bin/ ../../bin/ ../bin/ ../bin/ ../bin/ ../bin/ ../bin/ ../bin/ ../bin/ ../bin/ ../bin/ ../bin/ ../bin/ OpenMetaverse.GUI.XML ../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ ../../../bin/ \ No newline at end of file + + + + + + TRACE;DEBUG + false + false + true + 4 + false + 1591,1574,0419,0618 + bin + true + true + false + + + + + TRACE + true + false + true + 4 + false + 1591,1574,0419,0618 + bin + false + true + false + + + + + + + + + ../bin/ + + + + + ../bin/ + + + + ../bin/ + + + + + + + + + + + + + + ../bin/ + + + + + ../bin/ + OpenMetaverseTypes.XML + + + + ../bin/ + + + + + + + + + + + ../bin/ + + + + + ../bin/ + OpenMetaverse.StructuredData.XML + + + + ../bin/ + + + + + + + + + + + + ../bin/ + + + + + ../bin/ + OpenMetaverse.Http.XML + + + + ../bin/ + + + + + + + + + + + + + + + + ../bin/ + + + + + ../bin/ + OpenMetaverseCore.XML + + + + ../bin/ + + + + + + + + + + + + + + + + ../bin/ + + + + + ../bin/ + OpenMetaverse.XML + + + + ../bin/ + + + + + + + + + + + + + + + + + + + + + ../bin/ + + + + + ../bin/ + OpenMetaverse.Utilities.XML + + + + ../bin/ + + + + + + + + + + + + + + + + + ../bin/ + + + + + ../bin/ + + + + ../bin/ + + + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + + + + + + ../bin/ + + + + + ../bin/ + + + + ../bin/ + + + + + + + + + + + + ../bin/ + + + + + ../bin/ + + + + ../bin/ + + + + + + + + + + + + ../bin/ + + + + + ../bin/ + + + + ../bin/ + + + + + + + + + + + + ../bin/ + + + + + ../bin/ + OpenMetaverse.GUI.XML + + + + ../bin/ + + + + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + ../../../bin/ + + + + + ../../../bin/ + + + + ../../../bin/ + + + + + + + + + + + + ../../../bin/ + + + + + ../../../bin/ + + + + ../../../bin/ + + + + + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + + + + + + + ../../../bin/ + + + + + ../../../bin/ + + + + ../../../bin/ + + + + + + + + + + + + + + + + + + + + ../../../bin/ + + + + + ../../../bin/ + + + + ../../../bin/ + + + + + + + + + + + + + + + + + + + ../../../bin/ + + + + + ../../../bin/ + + + + ../../../bin/ + + + + + + + + + + + + + + + + + + + + ../../../bin/ + + + + + ../../../bin/ + + + + ../../../bin/ + + + + + + + + + + + + + + ../../../bin/ + + + + + ../../../bin/ + + + + ../../../bin/ + + + + + + + + + + + + + + + + + + + +