diff options
Diffstat (limited to 'OpenSim/Region/DataSnapshot/ObjectSnapshot.cs')
-rw-r--r-- | OpenSim/Region/DataSnapshot/ObjectSnapshot.cs | 83 |
1 files changed, 40 insertions, 43 deletions
diff --git a/OpenSim/Region/DataSnapshot/ObjectSnapshot.cs b/OpenSim/Region/DataSnapshot/ObjectSnapshot.cs index 5e75cae..0bb4044 100644 --- a/OpenSim/Region/DataSnapshot/ObjectSnapshot.cs +++ b/OpenSim/Region/DataSnapshot/ObjectSnapshot.cs | |||
@@ -118,59 +118,56 @@ namespace OpenSim.Region.DataSnapshot.Providers | |||
118 | { | 118 | { |
119 | SceneObjectPart m_rootPart = obj.RootPart; | 119 | SceneObjectPart m_rootPart = obj.RootPart; |
120 | 120 | ||
121 | if (m_rootPart != null) | 121 | ILandObject land = m_scene.LandChannel.GetLandObject(m_rootPart.AbsolutePosition.X, m_rootPart.AbsolutePosition.Y); |
122 | { | ||
123 | ILandObject land = m_scene.LandChannel.GetLandObject(m_rootPart.AbsolutePosition.X, m_rootPart.AbsolutePosition.Y); | ||
124 | 122 | ||
125 | XmlNode xmlobject = nodeFactory.CreateNode(XmlNodeType.Element, "object", ""); | 123 | XmlNode xmlobject = nodeFactory.CreateNode(XmlNodeType.Element, "object", ""); |
126 | node = nodeFactory.CreateNode(XmlNodeType.Element, "uuid", ""); | 124 | node = nodeFactory.CreateNode(XmlNodeType.Element, "uuid", ""); |
127 | node.InnerText = obj.UUID.ToString(); | 125 | node.InnerText = obj.UUID.ToString(); |
128 | xmlobject.AppendChild(node); | 126 | xmlobject.AppendChild(node); |
129 | 127 | ||
130 | node = nodeFactory.CreateNode(XmlNodeType.Element, "title", ""); | 128 | node = nodeFactory.CreateNode(XmlNodeType.Element, "title", ""); |
131 | node.InnerText = m_rootPart.Name; | 129 | node.InnerText = m_rootPart.Name; |
132 | xmlobject.AppendChild(node); | 130 | xmlobject.AppendChild(node); |
133 | |||
134 | node = nodeFactory.CreateNode(XmlNodeType.Element, "description", ""); | ||
135 | node.InnerText = m_rootPart.Description; | ||
136 | xmlobject.AppendChild(node); | ||
137 | 131 | ||
138 | node = nodeFactory.CreateNode(XmlNodeType.Element, "flags", ""); | 132 | node = nodeFactory.CreateNode(XmlNodeType.Element, "description", ""); |
139 | node.InnerText = String.Format("{0:x}", (uint)m_rootPart.Flags); | 133 | node.InnerText = m_rootPart.Description; |
140 | xmlobject.AppendChild(node); | 134 | xmlobject.AppendChild(node); |
141 | 135 | ||
142 | node = nodeFactory.CreateNode(XmlNodeType.Element, "regionuuid", ""); | 136 | node = nodeFactory.CreateNode(XmlNodeType.Element, "flags", ""); |
143 | node.InnerText = m_scene.RegionInfo.RegionSettings.RegionUUID.ToString(); | 137 | node.InnerText = String.Format("{0:x}", (uint)m_rootPart.Flags); |
144 | xmlobject.AppendChild(node); | 138 | xmlobject.AppendChild(node); |
145 | 139 | ||
146 | if (land != null && land.LandData != null) | 140 | node = nodeFactory.CreateNode(XmlNodeType.Element, "regionuuid", ""); |
147 | { | 141 | node.InnerText = m_scene.RegionInfo.RegionSettings.RegionUUID.ToString(); |
148 | node = nodeFactory.CreateNode(XmlNodeType.Element, "parceluuid", ""); | 142 | xmlobject.AppendChild(node); |
149 | node.InnerText = land.LandData.GlobalID.ToString(); | ||
150 | xmlobject.AppendChild(node); | ||
151 | } | ||
152 | else | ||
153 | { | ||
154 | // Something is wrong with this object. Let's not list it. | ||
155 | m_log.WarnFormat("[DATASNAPSHOT]: Bad data for object {0} ({1}) in region {2}", obj.Name, obj.UUID, m_scene.RegionInfo.RegionName); | ||
156 | continue; | ||
157 | } | ||
158 | 143 | ||
159 | node = nodeFactory.CreateNode(XmlNodeType.Element, "location", ""); | 144 | if (land != null && land.LandData != null) |
160 | Vector3 loc = obj.AbsolutePosition; | 145 | { |
161 | node.InnerText = loc.X.ToString() + "/" + loc.Y.ToString() + "/" + loc.Z.ToString(); | 146 | node = nodeFactory.CreateNode(XmlNodeType.Element, "parceluuid", ""); |
147 | node.InnerText = land.LandData.GlobalID.ToString(); | ||
162 | xmlobject.AppendChild(node); | 148 | xmlobject.AppendChild(node); |
149 | } | ||
150 | else | ||
151 | { | ||
152 | // Something is wrong with this object. Let's not list it. | ||
153 | m_log.WarnFormat("[DATASNAPSHOT]: Bad data for object {0} ({1}) in region {2}", obj.Name, obj.UUID, m_scene.RegionInfo.RegionName); | ||
154 | continue; | ||
155 | } | ||
163 | 156 | ||
164 | string bestImage = GuessImage(obj); | 157 | node = nodeFactory.CreateNode(XmlNodeType.Element, "location", ""); |
165 | if (bestImage != string.Empty) | 158 | Vector3 loc = obj.AbsolutePosition; |
166 | { | 159 | node.InnerText = loc.X.ToString() + "/" + loc.Y.ToString() + "/" + loc.Z.ToString(); |
167 | node = nodeFactory.CreateNode(XmlNodeType.Element, "image", ""); | 160 | xmlobject.AppendChild(node); |
168 | node.InnerText = bestImage; | ||
169 | xmlobject.AppendChild(node); | ||
170 | } | ||
171 | 161 | ||
172 | parent.AppendChild(xmlobject); | 162 | string bestImage = GuessImage(obj); |
163 | if (bestImage != string.Empty) | ||
164 | { | ||
165 | node = nodeFactory.CreateNode(XmlNodeType.Element, "image", ""); | ||
166 | node.InnerText = bestImage; | ||
167 | xmlobject.AppendChild(node); | ||
173 | } | 168 | } |
169 | |||
170 | parent.AppendChild(xmlobject); | ||
174 | } | 171 | } |
175 | #pragma warning disable 0612 | 172 | #pragma warning disable 0612 |
176 | } | 173 | } |