aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-05-12 02:36:56 +0100
committerJustin Clark-Casey (justincc)2012-05-12 02:36:56 +0100
commit8b958e7e74d8e4b462c6a59c2854c5072ff8c746 (patch)
tree391e872861713771078d6706fe49b16b94ece9ff /OpenSim/Framework
parentSave the Telehub and its Spawn Points in the OAR (diff)
downloadopensim-SC_OLD-8b958e7e74d8e4b462c6a59c2854c5072ff8c746.zip
opensim-SC_OLD-8b958e7e74d8e4b462c6a59c2854c5072ff8c746.tar.gz
opensim-SC_OLD-8b958e7e74d8e4b462c6a59c2854c5072ff8c746.tar.bz2
opensim-SC_OLD-8b958e7e74d8e4b462c6a59c2854c5072ff8c746.tar.xz
Revert "Save the Telehub and its Spawn Points in the OAR"
This reverts commit b0b7b45b943dd94546bcfcf5d3bb871cfe35b507. Sorry BlueWall, I wanted to discuss an aspect of the data storage but I couldn't assign bugs in 'patch included' state to myself until I changed mantis just now and I forgot to mention it on irc. I wouldn't normally revert but thinks get tricky when it comes to data formats. Essentially, I would like to see the Yaw, Pitch and Distance values as separate XML entities (as used in other aspects such as vectors, quaternions) rather than as a . delimited string We can discuss this more with Oren in opensimulator.org/mantis/view.php?id=6008
Diffstat (limited to '')
-rw-r--r--OpenSim/Framework/RegionSettings.cs29
-rw-r--r--OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs37
-rw-r--r--OpenSim/Framework/Serialization/Tests/RegionSettingsSerializerTests.cs8
3 files changed, 3 insertions, 71 deletions
diff --git a/OpenSim/Framework/RegionSettings.cs b/OpenSim/Framework/RegionSettings.cs
index 011a97a..4ce3392 100644
--- a/OpenSim/Framework/RegionSettings.cs
+++ b/OpenSim/Framework/RegionSettings.cs
@@ -29,7 +29,6 @@ using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.IO; 30using System.IO;
31using OpenMetaverse; 31using OpenMetaverse;
32using System.Runtime.Serialization;
33 32
34namespace OpenSim.Framework 33namespace OpenSim.Framework
35{ 34{
@@ -72,32 +71,6 @@ namespace OpenSim.Framework
72 71
73 return pos + offset; 72 return pos + offset;
74 } 73 }
75
76 /// <summary>
77 /// Returns a string representation of this SpawnPoint.
78 /// </summary>
79 /// <returns></returns>
80 public override string ToString()
81 {
82 return string.Format("{0},{1},{2}", Yaw, Pitch, Distance);
83 }
84
85 /// <summary>
86 /// Generate a SpawnPoint from a string
87 /// </summary>
88 /// <param name="str"></param>
89 public static SpawnPoint Parse(string str)
90 {
91 string[] parts = str.Split(',');
92 if (parts.Length != 3)
93 throw new ArgumentException("Invalid string: " + str);
94
95 SpawnPoint sp = new SpawnPoint();
96 sp.Yaw = float.Parse(parts[0]);
97 sp.Pitch = float.Parse(parts[1]);
98 sp.Distance = float.Parse(parts[2]);
99 return sp;
100 }
101 } 74 }
102 75
103 public class RegionSettings 76 public class RegionSettings
@@ -483,7 +456,7 @@ namespace OpenSim.Framework
483 } 456 }
484 457
485 // Connected Telehub object 458 // Connected Telehub object
486 private UUID m_TelehubObject = UUID.Zero; 459 private UUID m_TelehubObject;
487 public UUID TelehubObject 460 public UUID TelehubObject
488 { 461 {
489 get 462 get
diff --git a/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs b/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs
index f18435d..931898c 100644
--- a/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs
+++ b/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs
@@ -30,8 +30,6 @@ using System.Text;
30using System.Xml; 30using System.Xml;
31using OpenMetaverse; 31using OpenMetaverse;
32using OpenSim.Framework; 32using OpenSim.Framework;
33using log4net;
34using System.Reflection;
35 33
36namespace OpenSim.Framework.Serialization.External 34namespace OpenSim.Framework.Serialization.External
37{ 35{
@@ -189,29 +187,7 @@ namespace OpenSim.Framework.Serialization.External
189 break; 187 break;
190 } 188 }
191 } 189 }
192 190
193 xtr.ReadEndElement();
194
195 if (xtr.IsStartElement("Telehub"))
196 {
197 xtr.ReadStartElement("Telehub");
198
199 while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
200 {
201 switch (xtr.Name)
202 {
203 case "TelehubObject":
204 settings.TelehubObject = UUID.Parse(xtr.ReadElementContentAsString());
205 break;
206 case "SpawnPoint":
207 string str = xtr.ReadElementContentAsString();
208 SpawnPoint sp = SpawnPoint.Parse(str);
209 settings.AddSpawnPoint(sp);
210 break;
211 }
212 }
213 }
214
215 xtr.Close(); 191 xtr.Close();
216 sr.Close(); 192 sr.Close();
217 193
@@ -267,16 +243,7 @@ namespace OpenSim.Framework.Serialization.External
267 xtw.WriteElementString("SunPosition", settings.SunPosition.ToString()); 243 xtw.WriteElementString("SunPosition", settings.SunPosition.ToString());
268 // Note: 'SunVector' isn't saved because this value is owned by the Sun Module, which 244 // Note: 'SunVector' isn't saved because this value is owned by the Sun Module, which
269 // calculates it automatically according to the date and other factors. 245 // calculates it automatically according to the date and other factors.
270 xtw.WriteEndElement(); 246 xtw.WriteEndElement();
271
272 xtw.WriteStartElement("Telehub");
273 if (settings.TelehubObject != UUID.Zero)
274 {
275 xtw.WriteElementString("TelehubObject", settings.TelehubObject.ToString());
276 foreach (SpawnPoint sp in settings.SpawnPoints())
277 xtw.WriteElementString("SpawnPoint", sp.ToString());
278 }
279 xtw.WriteEndElement();
280 247
281 xtw.WriteEndElement(); 248 xtw.WriteEndElement();
282 249
diff --git a/OpenSim/Framework/Serialization/Tests/RegionSettingsSerializerTests.cs b/OpenSim/Framework/Serialization/Tests/RegionSettingsSerializerTests.cs
index 09b6f6d..a61e4af 100644
--- a/OpenSim/Framework/Serialization/Tests/RegionSettingsSerializerTests.cs
+++ b/OpenSim/Framework/Serialization/Tests/RegionSettingsSerializerTests.cs
@@ -78,10 +78,6 @@ namespace OpenSim.Framework.Serialization.Tests
78 <FixedSun>true</FixedSun> 78 <FixedSun>true</FixedSun>
79 <SunPosition>12</SunPosition> 79 <SunPosition>12</SunPosition>
80 </Terrain> 80 </Terrain>
81 <Telehub>
82 <TelehubObject>00000000-0000-0000-0000-111111111111</TelehubObject>
83 <SpawnPoint>1,-2,0.33</SpawnPoint>
84 </Telehub>
85</RegionSettings>"; 81</RegionSettings>";
86 82
87 private RegionSettings m_rs; 83 private RegionSettings m_rs;
@@ -120,8 +116,6 @@ namespace OpenSim.Framework.Serialization.Tests
120 m_rs.TerrainTexture4 = UUID.Parse("00000000-0000-0000-0000-000000000080"); 116 m_rs.TerrainTexture4 = UUID.Parse("00000000-0000-0000-0000-000000000080");
121 m_rs.UseEstateSun = true; 117 m_rs.UseEstateSun = true;
122 m_rs.WaterHeight = 23; 118 m_rs.WaterHeight = 23;
123 m_rs.TelehubObject = UUID.Parse("00000000-0000-0000-0000-111111111111");
124 m_rs.AddSpawnPoint(SpawnPoint.Parse("1,-2,0.33"));
125 } 119 }
126 120
127 [Test] 121 [Test]
@@ -135,8 +129,6 @@ namespace OpenSim.Framework.Serialization.Tests
135 Assert.That(deserRs.TerrainTexture2, Is.EqualTo(m_rs.TerrainTexture2)); 129 Assert.That(deserRs.TerrainTexture2, Is.EqualTo(m_rs.TerrainTexture2));
136 Assert.That(deserRs.DisablePhysics, Is.EqualTo(m_rs.DisablePhysics)); 130 Assert.That(deserRs.DisablePhysics, Is.EqualTo(m_rs.DisablePhysics));
137 Assert.That(deserRs.TerrainLowerLimit, Is.EqualTo(m_rs.TerrainLowerLimit)); 131 Assert.That(deserRs.TerrainLowerLimit, Is.EqualTo(m_rs.TerrainLowerLimit));
138 Assert.That(deserRs.TelehubObject, Is.EqualTo(m_rs.TelehubObject));
139 Assert.That(deserRs.SpawnPoints()[0].ToString(), Is.EqualTo(m_rs.SpawnPoints()[0].ToString()));
140 } 132 }
141 } 133 }
142} 134}