Update svn properties.

0.6.0-stable
Jeff Ames 2008-04-15 10:02:06 +00:00
parent 0bec9f0551
commit 06d05bd339
4 changed files with 201 additions and 201 deletions

View File

@ -1,143 +1,143 @@
 
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using libsecondlife; using libsecondlife;
using Nini.Config; using Nini.Config;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Region.Environment.Interfaces; using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Environment.Modules.ModuleFramework; using OpenSim.Region.Environment.Modules.ModuleFramework;
using System.IO; using System.IO;
namespace OpenSim.Region.Environment.Modules.ExportSerialiser namespace OpenSim.Region.Environment.Modules.ExportSerialiser
{ {
public class ExportSerialisationModule : IRegionModule public class ExportSerialisationModule : IRegionModule
{ {
private List<Scene> m_regions = new List<Scene>(); private List<Scene> m_regions = new List<Scene>();
private List<IFileSerialiser> m_serialisers = new List<IFileSerialiser>(); private List<IFileSerialiser> m_serialisers = new List<IFileSerialiser>();
private Commander m_commander = new Commander("Export"); private Commander m_commander = new Commander("Export");
private string m_savedir = "exports" + "/"; private string m_savedir = "exports" + "/";
private List<string> SerialiseRegion(Scene scene) private List<string> SerialiseRegion(Scene scene)
{ {
List<string> results = new List<string>(); List<string> results = new List<string>();
string saveDir = m_savedir + scene.RegionInfo.RegionID.ToString() + "/"; string saveDir = m_savedir + scene.RegionInfo.RegionID.ToString() + "/";
if (!Directory.Exists(saveDir)) if (!Directory.Exists(saveDir))
{ {
Directory.CreateDirectory(saveDir); Directory.CreateDirectory(saveDir);
} }
lock (m_serialisers) lock (m_serialisers)
{ {
foreach (IFileSerialiser serialiser in m_serialisers) foreach (IFileSerialiser serialiser in m_serialisers)
{ {
results.Add(serialiser.WriteToFile(scene, saveDir)); results.Add(serialiser.WriteToFile(scene, saveDir));
} }
} }
TextWriter regionInfoWriter = new StreamWriter(saveDir + "README.TXT"); TextWriter regionInfoWriter = new StreamWriter(saveDir + "README.TXT");
regionInfoWriter.WriteLine("Region Name: " + scene.RegionInfo.RegionName); regionInfoWriter.WriteLine("Region Name: " + scene.RegionInfo.RegionName);
regionInfoWriter.WriteLine("Region ID: " + scene.RegionInfo.RegionID.ToString()); regionInfoWriter.WriteLine("Region ID: " + scene.RegionInfo.RegionID.ToString());
regionInfoWriter.WriteLine("Backup Time: UTC " + DateTime.UtcNow.ToString()); regionInfoWriter.WriteLine("Backup Time: UTC " + DateTime.UtcNow.ToString());
regionInfoWriter.WriteLine("Serialise Version: 0.1"); regionInfoWriter.WriteLine("Serialise Version: 0.1");
regionInfoWriter.Close(); regionInfoWriter.Close();
TextWriter manifestWriter = new StreamWriter(saveDir + "region.manifest"); TextWriter manifestWriter = new StreamWriter(saveDir + "region.manifest");
foreach (string line in results) foreach (string line in results)
{ {
manifestWriter.WriteLine(line); manifestWriter.WriteLine(line);
} }
manifestWriter.Close(); manifestWriter.Close();
return results; return results;
} }
#region IRegionModule Members #region IRegionModule Members
public void Initialise(Scene scene, IConfigSource source) public void Initialise(Scene scene, IConfigSource source)
{ {
scene.RegisterModuleCommander("Export", m_commander); scene.RegisterModuleCommander("Export", m_commander);
scene.EventManager.OnPluginConsole += EventManager_OnPluginConsole; scene.EventManager.OnPluginConsole += EventManager_OnPluginConsole;
lock (m_regions) lock (m_regions)
{ {
m_regions.Add(scene); m_regions.Add(scene);
} }
} }
void EventManager_OnPluginConsole(string[] args) void EventManager_OnPluginConsole(string[] args)
{ {
if (args[0] == "export") if (args[0] == "export")
{ {
string[] tmpArgs = new string[args.Length - 2]; string[] tmpArgs = new string[args.Length - 2];
int i = 0; int i = 0;
for (i = 2; i < args.Length; i++) for (i = 2; i < args.Length; i++)
tmpArgs[i - 2] = args[i]; tmpArgs[i - 2] = args[i];
m_commander.ProcessConsoleCommand(args[1], tmpArgs); m_commander.ProcessConsoleCommand(args[1], tmpArgs);
} }
} }
private void InterfaceSaveRegion(Object[] args) private void InterfaceSaveRegion(Object[] args)
{ {
foreach (Scene region in m_regions) foreach (Scene region in m_regions)
{ {
if (region.RegionInfo.RegionName == (string)args[0]) if (region.RegionInfo.RegionName == (string)args[0])
{ {
List<string> results = SerialiseRegion(region); List<string> results = SerialiseRegion(region);
} }
} }
} }
private void InterfaceSaveAllRegions(Object[] args) private void InterfaceSaveAllRegions(Object[] args)
{ {
foreach (Scene region in m_regions) foreach (Scene region in m_regions)
{ {
List<string> results = SerialiseRegion(region); List<string> results = SerialiseRegion(region);
} }
} }
private void LoadCommanderCommands() private void LoadCommanderCommands()
{ {
Command serialiseSceneCommand = new Command("save", InterfaceSaveRegion, "Saves the named region into the exports directory."); Command serialiseSceneCommand = new Command("save", InterfaceSaveRegion, "Saves the named region into the exports directory.");
serialiseSceneCommand.AddArgument("region-name", "The name of the region you wish to export", "String"); serialiseSceneCommand.AddArgument("region-name", "The name of the region you wish to export", "String");
Command serialiseAllScenesCommand = new Command("save-all", InterfaceSaveAllRegions, "Saves all regions into the exports directory."); Command serialiseAllScenesCommand = new Command("save-all", InterfaceSaveAllRegions, "Saves all regions into the exports directory.");
m_commander.RegisterCommand("save", serialiseSceneCommand); m_commander.RegisterCommand("save", serialiseSceneCommand);
m_commander.RegisterCommand("save-all", serialiseAllScenesCommand); m_commander.RegisterCommand("save-all", serialiseAllScenesCommand);
} }
public void PostInitialise() public void PostInitialise()
{ {
lock (m_serialisers) lock (m_serialisers)
{ {
m_serialisers.Add(new SerialiseTerrain()); m_serialisers.Add(new SerialiseTerrain());
m_serialisers.Add(new SerialiseObjects()); m_serialisers.Add(new SerialiseObjects());
} }
LoadCommanderCommands(); LoadCommanderCommands();
} }
public void Close() public void Close()
{ {
m_regions.Clear(); m_regions.Clear();
} }
public string Name public string Name
{ {
get { return "ExportSerialisationModule"; } get { return "ExportSerialisationModule"; }
} }
public bool IsSharedModule public bool IsSharedModule
{ {
get { return true; } get { return true; }
} }
#endregion #endregion
} }
} }

View File

@ -1,13 +1,13 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Environment.Modules.ExportSerialiser namespace OpenSim.Region.Environment.Modules.ExportSerialiser
{ {
interface IFileSerialiser interface IFileSerialiser
{ {
string WriteToFile(Scene scene, string dir); string WriteToFile(Scene scene, string dir);
} }
} }

View File

@ -1,20 +1,20 @@
using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Environment.Modules.ExportSerialiser namespace OpenSim.Region.Environment.Modules.ExportSerialiser
{ {
class SerialiseObjects : IFileSerialiser class SerialiseObjects : IFileSerialiser
{ {
#region IFileSerialiser Members #region IFileSerialiser Members
public string WriteToFile(Scene scene, string dir) public string WriteToFile(Scene scene, string dir)
{ {
string targetFileName = dir + "objects.xml"; string targetFileName = dir + "objects.xml";
scene.SavePrimsToXml2(targetFileName); scene.SavePrimsToXml2(targetFileName);
return "objects.xml"; return "objects.xml";
} }
#endregion #endregion
} }
} }

View File

@ -1,25 +1,25 @@
using OpenSim.Region.Environment.Modules.Terrain; using OpenSim.Region.Environment.Modules.Terrain;
using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Environment.Modules.ExportSerialiser namespace OpenSim.Region.Environment.Modules.ExportSerialiser
{ {
class SerialiseTerrain : IFileSerialiser class SerialiseTerrain : IFileSerialiser
{ {
#region IFileSerialiser Members #region IFileSerialiser Members
public string WriteToFile(Scene scene, string dir) public string WriteToFile(Scene scene, string dir)
{ {
ITerrainLoader fileSystemExporter = new Terrain.FileLoaders.RAW32(); ITerrainLoader fileSystemExporter = new Terrain.FileLoaders.RAW32();
string targetFileName = dir + "heightmap.r32"; string targetFileName = dir + "heightmap.r32";
lock (scene.Heightmap) lock (scene.Heightmap)
{ {
fileSystemExporter.SaveFile(targetFileName, scene.Heightmap); fileSystemExporter.SaveFile(targetFileName, scene.Heightmap);
} }
return "heightmap.r32"; return "heightmap.r32";
} }
#endregion #endregion
} }
} }