mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 17:05:55 +08:00
bad merge?
This commit is contained in:
@@ -278,7 +278,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
// Script state may, or may not, exist. Not having any, is NOT
|
||||
// ever a problem.
|
||||
sceneObject.LoadScriptState(doc);
|
||||
|
||||
|
||||
return sceneObject;
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -307,14 +307,21 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
}
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
>>>>>>> avn/ubitvar
|
||||
/// <summary>
|
||||
/// Modifies a SceneObjectGroup.
|
||||
/// </summary>
|
||||
/// <param name="sog">The object</param>
|
||||
/// <returns>Whether the object was actually modified</returns>
|
||||
public delegate bool SceneObjectModifier(SceneObjectGroup sog);
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
|
||||
>>>>>>> avn/ubitvar
|
||||
/// <summary>
|
||||
/// Modifies an object by deserializing it; applying 'modifier' to each SceneObjectGroup; and reserializing.
|
||||
/// </summary>
|
||||
@@ -328,7 +335,11 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
CoalescedSceneObjects coa = null;
|
||||
|
||||
string xmlData = ExternalRepresentationUtils.SanitizeXml(Utils.BytesToString(data));
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
|
||||
>>>>>>> avn/ubitvar
|
||||
if (CoalescedSceneObjectsSerializer.TryFromXml(xmlData, out coa))
|
||||
{
|
||||
// m_log.DebugFormat("[SERIALIZER]: Loaded coalescence {0} has {1} objects", assetId, coa.Count);
|
||||
@@ -373,7 +384,10 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
|
||||
return data;
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
>>>>>>> avn/ubitvar
|
||||
|
||||
#region manual serialization
|
||||
|
||||
@@ -450,11 +464,27 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
m_SOPXmlProcessors.Add("PayPrice3", ProcessPayPrice3);
|
||||
m_SOPXmlProcessors.Add("PayPrice4", ProcessPayPrice4);
|
||||
|
||||
m_SOPXmlProcessors.Add("Buoyancy", ProcessBuoyancy);
|
||||
m_SOPXmlProcessors.Add("Force", ProcessForce);
|
||||
m_SOPXmlProcessors.Add("Torque", ProcessTorque);
|
||||
m_SOPXmlProcessors.Add("VolumeDetectActive", ProcessVolumeDetectActive);
|
||||
|
||||
|
||||
m_SOPXmlProcessors.Add("Vehicle", ProcessVehicle);
|
||||
|
||||
m_SOPXmlProcessors.Add("PhysicsShapeType", ProcessPhysicsShapeType);
|
||||
m_SOPXmlProcessors.Add("Density", ProcessDensity);
|
||||
m_SOPXmlProcessors.Add("Friction", ProcessFriction);
|
||||
m_SOPXmlProcessors.Add("Bounce", ProcessBounce);
|
||||
m_SOPXmlProcessors.Add("GravityModifier", ProcessGravityModifier);
|
||||
m_SOPXmlProcessors.Add("CameraEyeOffset", ProcessCameraEyeOffset);
|
||||
m_SOPXmlProcessors.Add("CameraAtOffset", ProcessCameraAtOffset);
|
||||
|
||||
m_SOPXmlProcessors.Add("SoundID", ProcessSoundID);
|
||||
m_SOPXmlProcessors.Add("SoundGain", ProcessSoundGain);
|
||||
m_SOPXmlProcessors.Add("SoundFlags", ProcessSoundFlags);
|
||||
m_SOPXmlProcessors.Add("SoundRadius", ProcessSoundRadius);
|
||||
m_SOPXmlProcessors.Add("SoundQueueing", ProcessSoundQueueing);
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -483,7 +513,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
m_TaskInventoryXmlProcessors.Add("PermsMask", ProcessTIPermsMask);
|
||||
m_TaskInventoryXmlProcessors.Add("Type", ProcessTIType);
|
||||
m_TaskInventoryXmlProcessors.Add("OwnerChanged", ProcessTIOwnerChanged);
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region ShapeXmlProcessors initialization
|
||||
@@ -709,7 +739,62 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
obj.GravityModifier = reader.ReadElementContentAsFloat("GravityModifier", String.Empty);
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
private static void ProcessShape(SceneObjectPart obj, XmlReader reader)
|
||||
=======
|
||||
private static void ProcessCameraEyeOffset(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.SetCameraEyeOffset(Util.ReadVector(reader, "CameraEyeOffset"));
|
||||
}
|
||||
|
||||
private static void ProcessCameraAtOffset(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.SetCameraAtOffset(Util.ReadVector(reader, "CameraAtOffset"));
|
||||
}
|
||||
|
||||
private static void ProcessSoundID(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.Sound = Util.ReadUUID(reader, "SoundID");
|
||||
}
|
||||
|
||||
private static void ProcessSoundGain(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.SoundGain = reader.ReadElementContentAsDouble("SoundGain", String.Empty);
|
||||
}
|
||||
|
||||
private static void ProcessSoundFlags(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.SoundFlags = (byte)reader.ReadElementContentAsInt("SoundFlags", String.Empty);
|
||||
}
|
||||
|
||||
private static void ProcessSoundRadius(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.SoundRadius = reader.ReadElementContentAsDouble("SoundRadius", String.Empty);
|
||||
}
|
||||
|
||||
private static void ProcessSoundQueueing(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.SoundQueueing = Util.ReadBoolean(reader);
|
||||
}
|
||||
private static void ProcessVehicle(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
SOPVehicle vehicle = SOPVehicle.FromXml2(reader);
|
||||
|
||||
if (vehicle == null)
|
||||
{
|
||||
obj.VehicleParams = null;
|
||||
m_log.DebugFormat(
|
||||
"[SceneObjectSerializer]: Parsing Vehicle for object part {0} {1} encountered errors. Please see earlier log entries.",
|
||||
obj.Name, obj.UUID);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj.VehicleParams = vehicle;
|
||||
}
|
||||
}
|
||||
|
||||
private static void ProcessShape(SceneObjectPart obj, XmlTextReader reader)
|
||||
>>>>>>> avn/ubitvar
|
||||
{
|
||||
List<string> errorNodeNames;
|
||||
obj.Shape = ReadShape(reader, "Shape", out errorNodeNames, obj);
|
||||
@@ -883,6 +968,25 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
obj.PayPrice[4] = (int)reader.ReadElementContentAsInt("PayPrice4", String.Empty);
|
||||
}
|
||||
|
||||
private static void ProcessBuoyancy(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.Buoyancy = (float)reader.ReadElementContentAsFloat("Buoyancy", String.Empty);
|
||||
}
|
||||
|
||||
private static void ProcessForce(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.Force = Util.ReadVector(reader, "Force");
|
||||
}
|
||||
private static void ProcessTorque(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.Torque = Util.ReadVector(reader, "Torque");
|
||||
}
|
||||
|
||||
private static void ProcessVolumeDetectActive(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
obj.VolumeDetectActive = Util.ReadBoolean(reader);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region TaskInventoryXmlProcessors
|
||||
@@ -1271,12 +1375,13 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
|
||||
if (sog.RootPart.KeyframeMotion != null)
|
||||
{
|
||||
Byte[] data = sog.RootPart.KeyframeMotion.Serialize();
|
||||
Byte[] data = sog.RootPart.KeyframeMotion.Serialize();
|
||||
|
||||
writer.WriteStartElement(String.Empty, "KeyframeMotion", String.Empty);
|
||||
writer.WriteBase64(data, 0, data.Length);
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
|
||||
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
@@ -1388,8 +1493,17 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
writer.WriteElementString("PayPrice3", sop.PayPrice[3].ToString());
|
||||
writer.WriteElementString("PayPrice4", sop.PayPrice[4].ToString());
|
||||
|
||||
if(sop.PhysicsShapeType != sop.DefaultPhysicsShapeType())
|
||||
writer.WriteElementString("PhysicsShapeType", sop.PhysicsShapeType.ToString().ToLower());
|
||||
writer.WriteElementString("Buoyancy", sop.Buoyancy.ToString());
|
||||
|
||||
WriteVector(writer, "Force", sop.Force);
|
||||
WriteVector(writer, "Torque", sop.Torque);
|
||||
|
||||
writer.WriteElementString("VolumeDetectActive", sop.VolumeDetectActive.ToString().ToLower());
|
||||
|
||||
if (sop.VehicleParams != null)
|
||||
sop.VehicleParams.ToXml2(writer);
|
||||
|
||||
writer.WriteElementString("PhysicsShapeType", sop.PhysicsShapeType.ToString().ToLower());
|
||||
if (sop.Density != 1000.0f)
|
||||
writer.WriteElementString("Density", sop.Density.ToString().ToLower());
|
||||
if (sop.Friction != 0.6f)
|
||||
@@ -1398,7 +1512,18 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
writer.WriteElementString("Bounce", sop.Restitution.ToString().ToLower());
|
||||
if (sop.GravityModifier != 1.0f)
|
||||
writer.WriteElementString("GravityModifier", sop.GravityModifier.ToString().ToLower());
|
||||
WriteVector(writer, "CameraEyeOffset", sop.GetCameraEyeOffset());
|
||||
WriteVector(writer, "CameraAtOffset", sop.GetCameraAtOffset());
|
||||
|
||||
// if (sop.Sound != UUID.Zero) force it till sop crossing does clear it on child prim
|
||||
{
|
||||
WriteUUID(writer, "SoundID", sop.Sound, options);
|
||||
writer.WriteElementString("SoundGain", sop.SoundGain.ToString().ToLower());
|
||||
writer.WriteElementString("SoundFlags", sop.SoundFlags.ToString().ToLower());
|
||||
writer.WriteElementString("SoundRadius", sop.SoundRadius.ToString().ToLower());
|
||||
}
|
||||
writer.WriteElementString("SoundQueueing", sop.SoundQueueing.ToString().ToLower());
|
||||
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
|
||||
@@ -1625,12 +1750,6 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
{
|
||||
TaskInventoryDictionary tinv = new TaskInventoryDictionary();
|
||||
|
||||
if (reader.IsEmptyElement)
|
||||
{
|
||||
reader.Read();
|
||||
return tinv;
|
||||
}
|
||||
|
||||
reader.ReadStartElement(name, String.Empty);
|
||||
|
||||
while (reader.Name == "TaskInventoryItem")
|
||||
|
||||
Reference in New Issue
Block a user