mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 06:06:06 +08:00
Serialize Keyframe motion for region crossings
This commit is contained in:
@@ -244,6 +244,17 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
sr.Close();
|
||||
}
|
||||
|
||||
XmlNodeList keymotion = doc.GetElementsByTagName("KeyframeMotion");
|
||||
if (keymotion.Count > 0)
|
||||
{
|
||||
m_log.DebugFormat("[SERIALIZER]: Deserialized KeyframeMotion");
|
||||
sceneObject.KeyframeMotion = KeyframeMotion.FromData(sceneObject, Convert.FromBase64String(keymotion[0].InnerText));
|
||||
}
|
||||
else
|
||||
{
|
||||
sceneObject.KeyframeMotion = null;
|
||||
}
|
||||
|
||||
// Script state may, or may not, exist. Not having any, is NOT
|
||||
// ever a problem.
|
||||
sceneObject.LoadScriptState(doc);
|
||||
@@ -597,7 +608,6 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
obj.sopVehicle = _vehicle;
|
||||
}
|
||||
|
||||
|
||||
private static void ProcessShape(SceneObjectPart obj, XmlTextReader reader)
|
||||
{
|
||||
List<string> errorNodeNames;
|
||||
@@ -1168,6 +1178,16 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||
});
|
||||
|
||||
writer.WriteEndElement();
|
||||
|
||||
if (sog.KeyframeMotion != null)
|
||||
{
|
||||
Byte[] data = sog.KeyframeMotion.Serialize();
|
||||
|
||||
writer.WriteStartElement(String.Empty, "KeyframeMotion", String.Empty);
|
||||
writer.WriteBase64(data, 0, data.Length);
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
|
||||
writer.WriteEndElement();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user