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")) if (xtr.IsStartElement("Telehub"))
{ {
xtr.ReadStartElement("Telehub"); if (xtr.IsEmptyElement)
xtr.Read();
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) else
{ {
switch (xtr.Name) xtr.ReadStartElement("Telehub");
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
{ {
case "TelehubObject": switch (xtr.Name)
settings.TelehubObject = UUID.Parse(xtr.ReadElementContentAsString()); {
break; case "TelehubObject":
case "SpawnPoint": settings.TelehubObject = UUID.Parse(xtr.ReadElementContentAsString());
string str = xtr.ReadElementContentAsString(); break;
SpawnPoint sp = SpawnPoint.Parse(str); case "SpawnPoint":
settings.AddSpawnPoint(sp); string str = xtr.ReadElementContentAsString();
break; SpawnPoint sp = SpawnPoint.Parse(str);
settings.AddSpawnPoint(sp);
break;
}
} }
xtr.ReadEndElement();
} }
} }
if (xtr.IsStartElement("Environment")) if (xtr.IsStartElement("Environment"))
{ {
xtr.ReadStartElement("Environment"); if (xtr.IsEmptyElement)
xtr.Read();
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) else
{ {
switch (xtr.Name) xtr.ReadStartElement("Environment");
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
{ {
case "data": switch (xtr.Name)
regionEnv = ViewerEnvironment.FromOSDString(xtr.ReadElementContentAsString()); {
break; 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>(); IEnvironmentModule mEnv = scene.RequestModuleInterface<IEnvironmentModule>();
if(mEnv != null) if(mEnv != null)
{
mEnv.StoreOnRegion(regionEnv); mEnv.StoreOnRegion(regionEnv);
mEnv.WindlightRefresh(0);
}
RegionSettings currentRegionSettings = scene.RegionInfo.RegionSettings; RegionSettings currentRegionSettings = scene.RegionInfo.RegionSettings;

View File

@ -1815,7 +1815,14 @@ namespace OpenSim.Region.CoreModules.World.Land
} }
} }
} }
FinalizeLandPrimCountUpdate(); // update simarea information 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(); new_land.SetLandBitmapFromByteArray();
AddLandObject(new_land); AddLandObject(new_land);
// new_land.SendLandUpdateToAvatarsOverMe();
} }
public void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient) public void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient)