diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs index 14e428e..e2bd769 100644 --- a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs +++ b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs | |||
@@ -93,6 +93,9 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
93 | /// </summary> | 93 | /// </summary> |
94 | private string m_supportedFileExtensions = ""; | 94 | private string m_supportedFileExtensions = ""; |
95 | 95 | ||
96 | //For terrain save-tile file extensions | ||
97 | private string m_supportFileExtensionsForTileSave = ""; | ||
98 | |||
96 | #region ICommandableModule Members | 99 | #region ICommandableModule Members |
97 | 100 | ||
98 | public ICommander CommandInterface | 101 | public ICommander CommandInterface |
@@ -148,11 +151,20 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
148 | 151 | ||
149 | // Generate user-readable extensions list | 152 | // Generate user-readable extensions list |
150 | string supportedFilesSeparator = ""; | 153 | string supportedFilesSeparator = ""; |
154 | string supportedFilesSeparatorForTileSave = ""; | ||
151 | 155 | ||
156 | m_supportFileExtensionsForTileSave = ""; | ||
152 | foreach (KeyValuePair<string, ITerrainLoader> loader in m_loaders) | 157 | foreach (KeyValuePair<string, ITerrainLoader> loader in m_loaders) |
153 | { | 158 | { |
154 | m_supportedFileExtensions += supportedFilesSeparator + loader.Key + " (" + loader.Value + ")"; | 159 | m_supportedFileExtensions += supportedFilesSeparator + loader.Key + " (" + loader.Value + ")"; |
155 | supportedFilesSeparator = ", "; | 160 | supportedFilesSeparator = ", "; |
161 | |||
162 | //For terrain save-tile file extensions | ||
163 | if (loader.Value.SupportsTileSave() == true) | ||
164 | { | ||
165 | m_supportFileExtensionsForTileSave += supportedFilesSeparatorForTileSave + loader.Key + " (" + loader.Value + ")"; | ||
166 | supportedFilesSeparatorForTileSave = ", "; | ||
167 | } | ||
156 | } | 168 | } |
157 | } | 169 | } |
158 | 170 | ||
@@ -589,7 +601,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
589 | // this region is included in the tile request | 601 | // this region is included in the tile request |
590 | foreach (KeyValuePair<string, ITerrainLoader> loader in m_loaders) | 602 | foreach (KeyValuePair<string, ITerrainLoader> loader in m_loaders) |
591 | { | 603 | { |
592 | if (filename.EndsWith(loader.Key)) | 604 | if (filename.EndsWith(loader.Key) && loader.Value.SupportsTileSave()) |
593 | { | 605 | { |
594 | lock (m_scene) | 606 | lock (m_scene) |
595 | { | 607 | { |
@@ -610,7 +622,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
610 | 622 | ||
611 | MainConsole.Instance.OutputFormat( | 623 | MainConsole.Instance.OutputFormat( |
612 | "ERROR: Could not save terrain from {0} to {1}. Valid file extensions are {2}", | 624 | "ERROR: Could not save terrain from {0} to {1}. Valid file extensions are {2}", |
613 | m_scene.RegionInfo.RegionName, filename, m_supportedFileExtensions); | 625 | m_scene.RegionInfo.RegionName, filename, m_supportFileExtensionsForTileSave); |
614 | } | 626 | } |
615 | 627 | ||
616 | /// <summary> | 628 | /// <summary> |
@@ -1194,7 +1206,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain | |||
1194 | new Command("save-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceSaveTileFile, "Saves the current heightmap to the larger file."); | 1206 | new Command("save-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceSaveTileFile, "Saves the current heightmap to the larger file."); |
1195 | saveToTileCommand.AddArgument("filename", | 1207 | saveToTileCommand.AddArgument("filename", |
1196 | "The file you wish to save to, the file extension determines the loader to be used. Supported extensions include: " + | 1208 | "The file you wish to save to, the file extension determines the loader to be used. Supported extensions include: " + |
1197 | m_supportedFileExtensions, "String"); | 1209 | m_supportFileExtensionsForTileSave, "String"); |
1198 | saveToTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer"); | 1210 | saveToTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer"); |
1199 | saveToTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer"); | 1211 | saveToTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer"); |
1200 | saveToTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file", | 1212 | saveToTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file", |