still not good, add more spaghetti

master
UbitUmarov 2020-06-22 18:16:48 +01:00
parent 7b3ac662dc
commit f3eb71113e
3 changed files with 39 additions and 20 deletions

View File

@ -194,36 +194,46 @@ namespace OpenSim.Framework.Serialization.External
if (xtr.IsStartElement("Telehub"))
{
xtr.ReadStartElement("Telehub");
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
if (xtr.IsEmptyElement)
xtr.Read();
else
{
switch (xtr.Name)
xtr.ReadStartElement("Telehub");
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
{
case "TelehubObject":
settings.TelehubObject = UUID.Parse(xtr.ReadElementContentAsString());
break;
case "SpawnPoint":
string str = xtr.ReadElementContentAsString();
SpawnPoint sp = SpawnPoint.Parse(str);
settings.AddSpawnPoint(sp);
break;
switch (xtr.Name)
{
case "TelehubObject":
settings.TelehubObject = UUID.Parse(xtr.ReadElementContentAsString());
break;
case "SpawnPoint":
string str = xtr.ReadElementContentAsString();
SpawnPoint sp = SpawnPoint.Parse(str);
settings.AddSpawnPoint(sp);
break;
}
}
xtr.ReadEndElement();
}
}
if (xtr.IsStartElement("Environment"))
{
xtr.ReadStartElement("Environment");
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
if (xtr.IsEmptyElement)
xtr.Read();
else
{
switch (xtr.Name)
xtr.ReadStartElement("Environment");
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
{
case "data":
regionEnv = ViewerEnvironment.FromOSDString(xtr.ReadElementContentAsString());
break;
switch (xtr.Name)
{
case "data":
regionEnv = ViewerEnvironment.FromOSDString(xtr.ReadElementContentAsString());
break;
}
}
xtr.ReadEndElement();
}
}

View File

@ -1054,7 +1054,10 @@ namespace OpenSim.Region.CoreModules.World.Archiver
IEnvironmentModule mEnv = scene.RequestModuleInterface<IEnvironmentModule>();
if(mEnv != null)
{
mEnv.StoreOnRegion(regionEnv);
mEnv.WindlightRefresh(0);
}
RegionSettings currentRegionSettings = scene.RegionInfo.RegionSettings;

View File

@ -1815,7 +1815,14 @@ namespace OpenSim.Region.CoreModules.World.Land
}
}
}
FinalizeLandPrimCountUpdate(); // update simarea information
lock (m_landList)
{
foreach(LandObject lo in m_landList.Values)
lo.SendLandUpdateToAvatarsOverMe();
}
}
}
@ -1825,7 +1832,6 @@ namespace OpenSim.Region.CoreModules.World.Land
new_land.SetLandBitmapFromByteArray();
AddLandObject(new_land);
// new_land.SendLandUpdateToAvatarsOverMe();
}
public void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient)