aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
diff options
context:
space:
mode:
authorMelanie2011-11-19 22:39:15 +0000
committerMelanie2011-11-19 22:39:15 +0000
commitbdb5ac96d9432eb568ed3e3bb46b012365f884bc (patch)
treefe2ce2636be7e750b3f235a6c04b9f3a5cf2f8af /OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
parentMerge branch 'master' into bigmerge (diff)
parentRemove the "[LOCAL SIMULATION CONNECTOR]: Did not find region {0} for SendCre... (diff)
downloadopensim-SC_OLD-bdb5ac96d9432eb568ed3e3bb46b012365f884bc.zip
opensim-SC_OLD-bdb5ac96d9432eb568ed3e3bb46b012365f884bc.tar.gz
opensim-SC_OLD-bdb5ac96d9432eb568ed3e3bb46b012365f884bc.tar.bz2
opensim-SC_OLD-bdb5ac96d9432eb568ed3e3bb46b012365f884bc.tar.xz
Merge branch 'master' into bigmerge
Conflicts: OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs')
-rw-r--r--OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs51
1 files changed, 32 insertions, 19 deletions
diff --git a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
index a93ffaa..4805ccb 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
@@ -86,6 +86,11 @@ namespace OpenSim.Region.CoreModules.World.Terrain
86 private volatile bool m_tainted; 86 private volatile bool m_tainted;
87 private readonly Stack<LandUndoState> m_undo = new Stack<LandUndoState>(5); 87 private readonly Stack<LandUndoState> m_undo = new Stack<LandUndoState>(5);
88 88
89 /// <summary>
90 /// Human readable list of terrain file extensions that are supported.
91 /// </summary>
92 private string m_supportedFileExtensions = "";
93
89 #region ICommandableModule Members 94 #region ICommandableModule Members
90 95
91 public ICommander CommandInterface 96 public ICommander CommandInterface
@@ -135,6 +140,15 @@ namespace OpenSim.Region.CoreModules.World.Terrain
135 140
136 InstallDefaultEffects(); 141 InstallDefaultEffects();
137 LoadPlugins(); 142 LoadPlugins();
143
144 // Generate user-readable extensions list
145 string supportedFilesSeparator = "";
146
147 foreach (KeyValuePair<string, ITerrainLoader> loader in m_loaders)
148 {
149 m_supportedFileExtensions += supportedFilesSeparator + loader.Key + " (" + loader.Value + ")";
150 supportedFilesSeparator = ", ";
151 }
138 } 152 }
139 153
140 public void RegionLoaded(Scene scene) 154 public void RegionLoaded(Scene scene)
@@ -251,20 +265,19 @@ namespace OpenSim.Region.CoreModules.World.Terrain
251 if (filename.EndsWith(loader.Key)) 265 if (filename.EndsWith(loader.Key))
252 { 266 {
253 loader.Value.SaveFile(filename, m_channel); 267 loader.Value.SaveFile(filename, m_channel);
268 m_log.InfoFormat("[TERRAIN]: Saved terrain from {0} to {1}", m_scene.RegionInfo.RegionName, filename);
254 return; 269 return;
255 } 270 }
256 } 271 }
257 } 272 }
258 catch (NotImplementedException)
259 {
260 m_log.Error("Unable to save to " + filename + ", saving of this file format has not been implemented.");
261 throw new TerrainException(String.Format("Unable to save heightmap: saving of this file format not implemented"));
262 }
263 catch (IOException ioe) 273 catch (IOException ioe)
264 { 274 {
265 m_log.Error(String.Format("[TERRAIN]: Unable to save to {0}, {1}", filename, ioe.Message)); 275 m_log.Error(String.Format("[TERRAIN]: Unable to save to {0}, {1}", filename, ioe.Message));
266 throw new TerrainException(String.Format("Unable to save heightmap: {0}", ioe.Message));
267 } 276 }
277
278 m_log.ErrorFormat(
279 "[TERRAIN]: Could not save terrain from {0} to {1}. Valid file extensions are {2}",
280 m_scene.RegionInfo.RegionName, filename, m_supportedFileExtensions);
268 } 281 }
269 282
270 /// <summary> 283 /// <summary>
@@ -345,6 +358,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain
345 float duration = 0.25f; 358 float duration = 0.25f;
346 if (action == 0) 359 if (action == 0)
347 duration = 4.0f; 360 duration = 4.0f;
361
348 client_OnModifyTerrain(user, (float)pos.Z, duration, size, action, pos.Y, pos.X, pos.Y, pos.X, agentId); 362 client_OnModifyTerrain(user, (float)pos.Z, duration, size, action, pos.Y, pos.X, pos.Y, pos.X, agentId);
349 } 363 }
350 364
@@ -534,6 +548,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain
534 m_channel = channel; 548 m_channel = channel;
535 UpdateRevertMap(); 549 UpdateRevertMap();
536 } 550 }
551
537 return; 552 return;
538 } 553 }
539 } 554 }
@@ -566,10 +581,17 @@ namespace OpenSim.Region.CoreModules.World.Terrain
566 fileWidth, fileHeight, 581 fileWidth, fileHeight,
567 (int)Constants.RegionSize, 582 (int)Constants.RegionSize,
568 (int)Constants.RegionSize); 583 (int)Constants.RegionSize);
584
585 m_log.InfoFormat("[TERRAIN]: Saved terrain from {0} to {1}", m_scene.RegionInfo.RegionName, filename);
569 } 586 }
587
570 return; 588 return;
571 } 589 }
572 } 590 }
591
592 m_log.ErrorFormat(
593 "[TERRAIN]: Could not save terrain from {0} to {1}. Valid file extensions are {2}",
594 m_scene.RegionInfo.RegionName, filename, m_supportedFileExtensions);
573 } 595 }
574 } 596 }
575 597
@@ -1126,32 +1148,23 @@ namespace OpenSim.Region.CoreModules.World.Terrain
1126 1148
1127 private void InstallInterfaces() 1149 private void InstallInterfaces()
1128 { 1150 {
1129 // Load / Save
1130 string supportedFileExtensions = "";
1131 string supportedFilesSeparator = "";
1132 foreach (KeyValuePair<string, ITerrainLoader> loader in m_loaders)
1133 {
1134 supportedFileExtensions += supportedFilesSeparator + loader.Key + " (" + loader.Value + ")";
1135 supportedFilesSeparator = ", ";
1136 }
1137
1138 Command loadFromFileCommand = 1151 Command loadFromFileCommand =
1139 new Command("load", CommandIntentions.COMMAND_HAZARDOUS, InterfaceLoadFile, "Loads a terrain from a specified file."); 1152 new Command("load", CommandIntentions.COMMAND_HAZARDOUS, InterfaceLoadFile, "Loads a terrain from a specified file.");
1140 loadFromFileCommand.AddArgument("filename", 1153 loadFromFileCommand.AddArgument("filename",
1141 "The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: " + 1154 "The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: " +
1142 supportedFileExtensions, "String"); 1155 m_supportedFileExtensions, "String");
1143 1156
1144 Command saveToFileCommand = 1157 Command saveToFileCommand =
1145 new Command("save", CommandIntentions.COMMAND_NON_HAZARDOUS, InterfaceSaveFile, "Saves the current heightmap to a specified file."); 1158 new Command("save", CommandIntentions.COMMAND_NON_HAZARDOUS, InterfaceSaveFile, "Saves the current heightmap to a specified file.");
1146 saveToFileCommand.AddArgument("filename", 1159 saveToFileCommand.AddArgument("filename",
1147 "The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: " + 1160 "The destination filename for your heightmap, the file extension determines the format to save in. Supported extensions include: " +
1148 supportedFileExtensions, "String"); 1161 m_supportedFileExtensions, "String");
1149 1162
1150 Command loadFromTileCommand = 1163 Command loadFromTileCommand =
1151 new Command("load-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceLoadTileFile, "Loads a terrain from a section of a larger file."); 1164 new Command("load-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceLoadTileFile, "Loads a terrain from a section of a larger file.");
1152 loadFromTileCommand.AddArgument("filename", 1165 loadFromTileCommand.AddArgument("filename",
1153 "The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: " + 1166 "The file you wish to load from, the file extension determines the loader to be used. Supported extensions include: " +
1154 supportedFileExtensions, "String"); 1167 m_supportedFileExtensions, "String");
1155 loadFromTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer"); 1168 loadFromTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer");
1156 loadFromTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer"); 1169 loadFromTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer");
1157 loadFromTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file", 1170 loadFromTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file",
@@ -1163,7 +1176,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain
1163 new Command("save-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceSaveTileFile, "Saves the current heightmap to the larger file."); 1176 new Command("save-tile", CommandIntentions.COMMAND_HAZARDOUS, InterfaceSaveTileFile, "Saves the current heightmap to the larger file.");
1164 saveToTileCommand.AddArgument("filename", 1177 saveToTileCommand.AddArgument("filename",
1165 "The file you wish to save to, the file extension determines the loader to be used. Supported extensions include: " + 1178 "The file you wish to save to, the file extension determines the loader to be used. Supported extensions include: " +
1166 supportedFileExtensions, "String"); 1179 m_supportedFileExtensions, "String");
1167 saveToTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer"); 1180 saveToTileCommand.AddArgument("file width", "The width of the file in tiles", "Integer");
1168 saveToTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer"); 1181 saveToTileCommand.AddArgument("file height", "The height of the file in tiles", "Integer");
1169 saveToTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file", 1182 saveToTileCommand.AddArgument("minimum X tile", "The X region coordinate of the first section on the file",