Generate the initial maptile asynchronously
Signed-off-by: Melanie <melanie@t-data.com>bulletsim
parent
d8228f4374
commit
02e54c57c4
|
@ -1110,14 +1110,12 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
if (data == null)
|
if (data == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
UUID lastMapRegionUUID = m_scene.RegionInfo.RegionSettings.TerrainImageID;
|
|
||||||
|
|
||||||
m_log.Debug("[WORLDMAP]: STORING MAPTILE IMAGE");
|
m_log.Debug("[WORLDMAP]: STORING MAPTILE IMAGE");
|
||||||
|
|
||||||
m_scene.RegionInfo.RegionSettings.TerrainImageID = UUID.Random();
|
UUID terrainImageID = UUID.Random();
|
||||||
|
|
||||||
AssetBase asset = new AssetBase(
|
AssetBase asset = new AssetBase(
|
||||||
m_scene.RegionInfo.RegionSettings.TerrainImageID,
|
terrainImageID,
|
||||||
"terrainImage_" + m_scene.RegionInfo.RegionID.ToString(),
|
"terrainImage_" + m_scene.RegionInfo.RegionID.ToString(),
|
||||||
(sbyte)AssetType.Texture,
|
(sbyte)AssetType.Texture,
|
||||||
m_scene.RegionInfo.RegionID.ToString());
|
m_scene.RegionInfo.RegionID.ToString());
|
||||||
|
@ -1129,6 +1127,10 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
// Store the new one
|
// Store the new one
|
||||||
m_log.DebugFormat("[WORLDMAP]: Storing map tile {0}", asset.ID);
|
m_log.DebugFormat("[WORLDMAP]: Storing map tile {0}", asset.ID);
|
||||||
m_scene.AssetService.Store(asset);
|
m_scene.AssetService.Store(asset);
|
||||||
|
|
||||||
|
// Switch to the new one
|
||||||
|
UUID lastMapRegionUUID = m_scene.RegionInfo.RegionSettings.TerrainImageID;
|
||||||
|
m_scene.RegionInfo.RegionSettings.TerrainImageID = terrainImageID;
|
||||||
m_scene.RegionInfo.RegionSettings.Save();
|
m_scene.RegionInfo.RegionSettings.Save();
|
||||||
|
|
||||||
// Delete the old one
|
// Delete the old one
|
||||||
|
|
|
@ -1672,20 +1672,20 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
m_sceneGridService.SetScene(this);
|
m_sceneGridService.SetScene(this);
|
||||||
|
|
||||||
// If we generate maptiles internally at all, the maptile generator
|
|
||||||
// will register the region. If not, do it here
|
|
||||||
if (m_generateMaptiles)
|
|
||||||
{
|
|
||||||
RegenerateMaptile(null, null);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GridRegion region = new GridRegion(RegionInfo);
|
GridRegion region = new GridRegion(RegionInfo);
|
||||||
string error = GridService.RegisterRegion(RegionInfo.ScopeID, region);
|
string error = GridService.RegisterRegion(RegionInfo.ScopeID, region);
|
||||||
if (error != String.Empty)
|
if (error != String.Empty)
|
||||||
{
|
{
|
||||||
throw new Exception(error);
|
throw new Exception(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Generate the maptile asynchronously, because sometimes it can be very slow and we
|
||||||
|
// don't want this to delay starting the region.
|
||||||
|
if (m_generateMaptiles)
|
||||||
|
{
|
||||||
|
Util.FireAndForget(delegate {
|
||||||
|
RegenerateMaptile(null, null);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue