a few changes on the local maptiles folder code

This commit is contained in:
UbitUmarov
2026-08-07 11:21:34 +01:00
parent b4b0d1773a
commit 460ed81f41
3 changed files with 35 additions and 9 deletions

View File

@@ -137,6 +137,18 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
m_mapTilesDirectory =
Util.GetConfigVarFromSections<string>(source, "MapTilesDirectory", configSections, m_mapTilesDirectory);
if(!string.IsNullOrEmpty(m_mapTilesDirectory))
{
try
{
Directory.CreateDirectory(m_mapTilesDirectory);
}
catch(Exception e)
{
m_log.Error($"[MAPTILE]: failed to create folder {m_mapTilesDirectory} for local map tiles {e.Message}");
m_mapTilesDirectory = null;
}
}
}
public void AddRegion(Scene scene)
@@ -215,10 +227,8 @@ namespace OpenSim.Region.CoreModules.World.Warp3DMap
// image may be reloaded elsewhere, so no compression format
string filename = "MAP-" + m_scene.RegionInfo.RegionID.ToString() + ".png";
if (!string.IsNullOrEmpty(m_mapTilesDirectory))
{
Directory.CreateDirectory(m_mapTilesDirectory);
filename = System.IO.Path.Combine(m_mapTilesDirectory, filename);
}
tile.Save(filename,ImageFormat.Png);
m_primMesher = null;
return tile;

View File

@@ -27,7 +27,6 @@
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
@@ -161,6 +160,19 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
Util.GetConfigVarFromSections<bool>(config, "LocalV1MapAssets", configSections, m_localV1MapAssets);
m_mapTilesDirectory =
Util.GetConfigVarFromSections<string>(config, "MapTilesDirectory", configSections, m_mapTilesDirectory);
if(!string.IsNullOrEmpty(m_mapTilesDirectory))
{
try
{
Directory.CreateDirectory(m_mapTilesDirectory);
}
catch(Exception e)
{
m_log.Error($"[WORLD MAP]: failed to create folder {m_mapTilesDirectory} for local map tiles {e.Message}");
m_mapTilesDirectory = null;
}
}
}
public virtual void AddRegion(Scene scene)
@@ -1340,12 +1352,12 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
startX--;
startY--;
bool doneLocal = false;
bool doneLocal;
string filename = "MAP-" + m_scene.RegionInfo.RegionID.ToString() + ".png";
if (!string.IsNullOrEmpty(m_mapTilesDirectory))
filename = Path.Combine(m_mapTilesDirectory, filename);
try
{
if (!string.IsNullOrEmpty(m_mapTilesDirectory))
filename = Path.Combine(m_mapTilesDirectory, filename);
using(Image localMap = Bitmap.FromFile(filename))
{
int x = regionX - startX;
@@ -1364,7 +1376,11 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
}
doneLocal = true;
}
catch {}
catch(Exception ex)
{
m_log.Error($"[WORLD MAP]: failed Export map file {ex.Message}");
return;
}
if(regions.Count > 0)
{

View File

@@ -470,7 +470,7 @@
; Directory used to load and save the generated MAP-<region uuid>.png tile images.
; If left empty the current working directory is used (default behaviour).
; The directory is created automatically if it does not exist.
;MapTilesDirectory = "./maptiles"
;MapTilesDirectory = "./localmaptiles"
; World map blacklist timeout in seconds
;BlacklistTimeout = 600