Merge branch 'master' of ssh://opensimulator.org/var/git/opensim

viewer-2-initial-appearance
Diva Canto 2010-12-10 23:16:47 -08:00
commit 18b10fab60
11 changed files with 245 additions and 146 deletions

View File

@ -265,10 +265,11 @@ namespace OpenSim
LoadOar); LoadOar);
m_console.Commands.AddCommand("region", false, "save oar", m_console.Commands.AddCommand("region", false, "save oar",
"save oar [-v|--version=<N>] [-p|--profile=<url>] [<OAR path>]", //"save oar [-v|--version=<N>] [-p|--profile=<url>] [<OAR path>]",
"save oar [-p|--profile=<url>] [<OAR path>]",
"Save a region's data to an OAR archive.", "Save a region's data to an OAR archive.",
"-v|--version=<N> generates scene objects as per older versions of the serialization (e.g. -v=0)" + Environment.NewLine // "-v|--version=<N> generates scene objects as per older versions of the serialization (e.g. -v=0)" + Environment.NewLine
+ "-p|--profile=<url> adds the url of the profile service to the saved user information" + Environment.NewLine "-p|--profile=<url> adds the url of the profile service to the saved user information" + Environment.NewLine
+ "The OAR path must be a filesystem path." + "The OAR path must be a filesystem path."
+ " If this is not given then the oar is saved to region.oar in the current directory.", + " If this is not given then the oar is saved to region.oar in the current directory.",
SaveOar); SaveOar);

View File

@ -156,7 +156,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
/// <param name="inventoryFolder">The inventory folder to save</param> /// <param name="inventoryFolder">The inventory folder to save</param>
/// <param name="path">The path to which the folder should be saved</param> /// <param name="path">The path to which the folder should be saved</param>
/// <param name="saveThisFolderItself">If true, save this folder itself. If false, only saves contents</param> /// <param name="saveThisFolderItself">If true, save this folder itself. If false, only saves contents</param>
protected void SaveInvFolder(InventoryFolderBase inventoryFolder, string path, bool saveThisFolderItself, Dictionary<string, object> options, IUserAccountService userAccountService) /// <param name="options"></param>
/// <param name="userAccountService"></param>
protected void SaveInvFolder(
InventoryFolderBase inventoryFolder, string path, bool saveThisFolderItself,
Dictionary<string, object> options, IUserAccountService userAccountService)
{ {
if (saveThisFolderItself) if (saveThisFolderItself)
{ {
@ -249,7 +253,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
// Write out control file. This has to be done first so that subsequent loaders will see this file first // Write out control file. This has to be done first so that subsequent loaders will see this file first
// XXX: I know this is a weak way of doing it since external non-OAR aware tar executables will not do this // XXX: I know this is a weak way of doing it since external non-OAR aware tar executables will not do this
m_archiveWriter.WriteFile(ArchiveConstants.CONTROL_FILE_PATH, Create0p1ControlFile()); // not sure how to fix this though, short of going with a completely different file format.
m_archiveWriter.WriteFile(ArchiveConstants.CONTROL_FILE_PATH, CreateControlFile(options));
m_log.InfoFormat("[INVENTORY ARCHIVER]: Added control file to archive."); m_log.InfoFormat("[INVENTORY ARCHIVER]: Added control file to archive.");
if (inventoryFolder != null) if (inventoryFolder != null)
@ -372,12 +377,24 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
} }
/// <summary> /// <summary>
/// Create the control file for a 0.1 version archive /// Create the control file for the archive
/// </summary> /// </summary>
/// <param name="options"></param>
/// <returns></returns> /// <returns></returns>
public static string Create0p1ControlFile() public static string CreateControlFile(Dictionary<string, object> options)
{ {
int majorVersion = 0, minorVersion = 1; int majorVersion, minorVersion;
if (options.ContainsKey("profile"))
{
majorVersion = 1;
minorVersion = 0;
}
else
{
majorVersion = 0;
minorVersion = 1;
}
m_log.InfoFormat("[INVENTORY ARCHIVER]: Creating version {0}.{1} IAR", majorVersion, minorVersion); m_log.InfoFormat("[INVENTORY ARCHIVER]: Creating version {0}.{1} IAR", majorVersion, minorVersion);

View File

@ -55,7 +55,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
/// <value> /// <value>
/// Enable or disable checking whether the iar user is actually logged in /// Enable or disable checking whether the iar user is actually logged in
/// </value> /// </value>
public bool DisablePresenceChecks { get; set; } // public bool DisablePresenceChecks { get; set; }
public event InventoryArchiveSaved OnInventoryArchiveSaved; public event InventoryArchiveSaved OnInventoryArchiveSaved;
@ -95,10 +95,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
public InventoryArchiverModule() {} public InventoryArchiverModule() {}
public InventoryArchiverModule(bool disablePresenceChecks) // public InventoryArchiverModule(bool disablePresenceChecks)
{ // {
DisablePresenceChecks = disablePresenceChecks; // DisablePresenceChecks = disablePresenceChecks;
} // }
public void Initialise(Scene scene, IConfigSource source) public void Initialise(Scene scene, IConfigSource source)
{ {
@ -172,8 +172,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
if (userInfo != null) if (userInfo != null)
{ {
if (CheckPresence(userInfo.PrincipalID)) // if (CheckPresence(userInfo.PrincipalID))
{ // {
try try
{ {
new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, saveStream).Execute(options, UserAccountService); new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, saveStream).Execute(options, UserAccountService);
@ -189,13 +189,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
} }
return true; return true;
} // }
else // else
{ // {
m_log.ErrorFormat( // m_log.ErrorFormat(
"[INVENTORY ARCHIVER]: User {0} {1} {2} not logged in to this region simulator", // "[INVENTORY ARCHIVER]: User {0} {1} {2} not logged in to this region simulator",
userInfo.FirstName, userInfo.LastName, userInfo.PrincipalID); // userInfo.FirstName, userInfo.LastName, userInfo.PrincipalID);
} // }
} }
} }
@ -212,8 +212,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
if (userInfo != null) if (userInfo != null)
{ {
if (CheckPresence(userInfo.PrincipalID)) // if (CheckPresence(userInfo.PrincipalID))
{ // {
try try
{ {
new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, savePath).Execute(options, UserAccountService); new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, savePath).Execute(options, UserAccountService);
@ -229,13 +229,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
} }
return true; return true;
} // }
else // else
{ // {
m_log.ErrorFormat( // m_log.ErrorFormat(
"[INVENTORY ARCHIVER]: User {0} {1} {2} not logged in to this region simulator", // "[INVENTORY ARCHIVER]: User {0} {1} {2} not logged in to this region simulator",
userInfo.FirstName, userInfo.LastName, userInfo.PrincipalID); // userInfo.FirstName, userInfo.LastName, userInfo.PrincipalID);
} // }
} }
} }
@ -257,9 +257,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
if (userInfo != null) if (userInfo != null)
{ {
if (CheckPresence(userInfo.PrincipalID)) // if (CheckPresence(userInfo.PrincipalID))
{ // {
InventoryArchiveReadRequest request; InventoryArchiveReadRequest request;
bool merge = (options.ContainsKey("merge") ? (bool)options["merge"] : false); bool merge = (options.ContainsKey("merge") ? (bool)options["merge"] : false);
@ -280,13 +279,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
UpdateClientWithLoadedNodes(userInfo, request.Execute()); UpdateClientWithLoadedNodes(userInfo, request.Execute());
return true; return true;
} // }
else // else
{ // {
m_log.ErrorFormat( // m_log.ErrorFormat(
"[INVENTORY ARCHIVER]: User {0} {1} {2} not logged in to this region simulator", // "[INVENTORY ARCHIVER]: User {0} {1} {2} not logged in to this region simulator",
userInfo.FirstName, userInfo.LastName, userInfo.PrincipalID); // userInfo.FirstName, userInfo.LastName, userInfo.PrincipalID);
} // }
} }
else else
m_log.ErrorFormat("[INVENTORY ARCHIVER]: User {0} {1} not found", m_log.ErrorFormat("[INVENTORY ARCHIVER]: User {0} {1} not found",
@ -306,8 +305,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
if (userInfo != null) if (userInfo != null)
{ {
if (CheckPresence(userInfo.PrincipalID)) // if (CheckPresence(userInfo.PrincipalID))
{ // {
InventoryArchiveReadRequest request; InventoryArchiveReadRequest request;
bool merge = (options.ContainsKey("merge") ? (bool)options["merge"] : false); bool merge = (options.ContainsKey("merge") ? (bool)options["merge"] : false);
@ -328,13 +327,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
UpdateClientWithLoadedNodes(userInfo, request.Execute()); UpdateClientWithLoadedNodes(userInfo, request.Execute());
return true; return true;
} // }
else // else
{ // {
m_log.ErrorFormat( // m_log.ErrorFormat(
"[INVENTORY ARCHIVER]: User {0} {1} {2} not logged in to this region simulator", // "[INVENTORY ARCHIVER]: User {0} {1} {2} not logged in to this region simulator",
userInfo.FirstName, userInfo.LastName, userInfo.PrincipalID); // userInfo.FirstName, userInfo.LastName, userInfo.PrincipalID);
} // }
} }
} }
@ -529,28 +528,27 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
} }
} }
/// <summary> // /// <summary>
/// Check if the given user is present in any of the scenes. // /// Check if the given user is present in any of the scenes.
/// </summary> // /// </summary>
/// <param name="userId">The user to check</param> // /// <param name="userId">The user to check</param>
/// <returns>true if the user is in any of the scenes, false otherwise</returns> // /// <returns>true if the user is in any of the scenes, false otherwise</returns>
protected bool CheckPresence(UUID userId) // protected bool CheckPresence(UUID userId)
{ // {
if (DisablePresenceChecks) // if (DisablePresenceChecks)
return true; // return true;
//
foreach (Scene scene in m_scenes.Values) // foreach (Scene scene in m_scenes.Values)
{ // {
ScenePresence p; // ScenePresence p;
if ((p = scene.GetScenePresence(userId)) != null) // if ((p = scene.GetScenePresence(userId)) != null)
{ // {
p.ControllingClient.SendAgentAlertMessage("Inventory operation has been started", false); // p.ControllingClient.SendAgentAlertMessage("Inventory operation has been started", false);
return true; // return true;
} // }
} // }
//
return false; // return false;
} // }
} }
} }

View File

@ -120,7 +120,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
TestHelper.InMethod(); TestHelper.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); InventoryArchiverModule archiverModule = new InventoryArchiverModule();
Scene scene = SceneSetupHelpers.SetupScene("Inventory"); Scene scene = SceneSetupHelpers.SetupScene("Inventory");
SceneSetupHelpers.SetupSceneModules(scene, archiverModule); SceneSetupHelpers.SetupSceneModules(scene, archiverModule);
@ -238,7 +238,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
TestHelper.InMethod(); TestHelper.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); InventoryArchiverModule archiverModule = new InventoryArchiverModule();
Scene scene = SceneSetupHelpers.SetupScene("Inventory"); Scene scene = SceneSetupHelpers.SetupScene("Inventory");
SceneSetupHelpers.SetupSceneModules(scene, archiverModule); SceneSetupHelpers.SetupSceneModules(scene, archiverModule);
@ -355,7 +355,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
SerialiserModule serialiserModule = new SerialiserModule(); SerialiserModule serialiserModule = new SerialiserModule();
InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); InventoryArchiverModule archiverModule = new InventoryArchiverModule();
Scene scene = SceneSetupHelpers.SetupScene("inventory"); Scene scene = SceneSetupHelpers.SetupScene("inventory");
SceneSetupHelpers.SetupSceneModules(scene, serialiserModule, archiverModule); SceneSetupHelpers.SetupSceneModules(scene, serialiserModule, archiverModule);
@ -382,7 +382,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
//log4net.Config.XmlConfigurator.Configure(); //log4net.Config.XmlConfigurator.Configure();
SerialiserModule serialiserModule = new SerialiserModule(); SerialiserModule serialiserModule = new SerialiserModule();
InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); InventoryArchiverModule archiverModule = new InventoryArchiverModule();
// Annoyingly, we have to set up a scene even though inventory loading has nothing to do with a scene // Annoyingly, we have to set up a scene even though inventory loading has nothing to do with a scene
Scene scene = SceneSetupHelpers.SetupScene("inventory"); Scene scene = SceneSetupHelpers.SetupScene("inventory");
@ -443,7 +443,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
string humanEscapedItemName = @"You & you are a mean\/man\/"; string humanEscapedItemName = @"You & you are a mean\/man\/";
string userPassword = "meowfood"; string userPassword = "meowfood";
InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); InventoryArchiverModule archiverModule = new InventoryArchiverModule();
Scene scene = SceneSetupHelpers.SetupScene("Inventory"); Scene scene = SceneSetupHelpers.SetupScene("Inventory");
SceneSetupHelpers.SetupSceneModules(scene, archiverModule); SceneSetupHelpers.SetupSceneModules(scene, archiverModule);
@ -558,7 +558,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray());
SerialiserModule serialiserModule = new SerialiserModule(); SerialiserModule serialiserModule = new SerialiserModule();
InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); InventoryArchiverModule archiverModule = new InventoryArchiverModule();
// Annoyingly, we have to set up a scene even though inventory loading has nothing to do with a scene // Annoyingly, we have to set up a scene even though inventory loading has nothing to do with a scene
Scene scene = SceneSetupHelpers.SetupScene("inventory"); Scene scene = SceneSetupHelpers.SetupScene("inventory");
@ -619,7 +619,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
// MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray()); // MemoryStream archiveReadStream = new MemoryStream(archiveWriteStream.ToArray());
// SerialiserModule serialiserModule = new SerialiserModule(); // SerialiserModule serialiserModule = new SerialiserModule();
// InventoryArchiverModule archiverModule = new InventoryArchiverModule(true); // InventoryArchiverModule archiverModule = new InventoryArchiverModule();
// // Annoyingly, we have to set up a scene even though inventory loading has nothing to do with a scene // // Annoyingly, we have to set up a scene even though inventory loading has nothing to do with a scene
// Scene scene = SceneSetupHelpers.SetupScene(); // Scene scene = SceneSetupHelpers.SetupScene();

View File

@ -165,7 +165,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
int width = 256; int width = 256;
int height = 256; int height = 256;
int alpha = 255; // 0 is transparent int alpha = 255; // 0 is transparent
Color bgColour = Color.White; // Default background color Color bgColor = Color.White; // Default background color
char altDataDelim = ';'; char altDataDelim = ';';
char[] paramDelimiter = { ',' }; char[] paramDelimiter = { ',' };
@ -253,15 +253,16 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
alpha = 256; alpha = 256;
} }
break; break;
case "bgcolor":
case "bgcolour": case "bgcolour":
int hex = 0; int hex = 0;
if (Int32.TryParse(value, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out hex)) if (Int32.TryParse(value, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out hex))
{ {
bgColour = Color.FromArgb(hex); bgColor = Color.FromArgb(hex);
} }
else else
{ {
bgColour = Color.FromName(value); bgColor = Color.FromName(value);
} }
break; break;
case "altdatadelim": case "altdatadelim":
@ -315,7 +316,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
// background color in their scripts, only do when fully opaque // background color in their scripts, only do when fully opaque
if (alpha >= 255) if (alpha >= 255)
{ {
graph.FillRectangle(new SolidBrush(bgColour), 0, 0, width, height); graph.FillRectangle(new SolidBrush(bgColor), 0, 0, width, height);
} }
for (int w = 0; w < bitmap.Width; w++) for (int w = 0; w < bitmap.Width; w++)
@ -616,25 +617,25 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
} }
} }
} }
else if (nextLine.StartsWith("PenColour")) else if (nextLine.StartsWith("PenColour") || nextLine.StartsWith("PenColor"))
{ {
nextLine = nextLine.Remove(0, 9); nextLine = nextLine.Remove(0, 9);
nextLine = nextLine.Trim(); nextLine = nextLine.Trim();
int hex = 0; int hex = 0;
Color newColour; Color newColor;
if (Int32.TryParse(nextLine, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out hex)) if (Int32.TryParse(nextLine, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out hex))
{ {
newColour = Color.FromArgb(hex); newColor = Color.FromArgb(hex);
} }
else else
{ {
// this doesn't fail, it just returns black if nothing is found // this doesn't fail, it just returns black if nothing is found
newColour = Color.FromName(nextLine); newColor = Color.FromName(nextLine);
} }
myBrush.Color = newColour; myBrush.Color = newColor;
drawPen.Color = newColour; drawPen.Color = newColor;
} }
} }
} }

View File

@ -137,7 +137,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver
m_log.InfoFormat("[ARCHIVER]: Added terrain information to archive."); m_log.InfoFormat("[ARCHIVER]: Added terrain information to archive.");
// Write out scene object metadata // Write out scene object metadata
foreach (SceneObjectGroup sceneObject in m_sceneObjects) foreach (SceneObjectGroup sceneObject in m_sceneObjects)
{ {

View File

@ -58,7 +58,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
/// <summary> /// <summary>
/// The maximum major version of OAR that we can write. /// The maximum major version of OAR that we can write.
/// </summary> /// </summary>
public static int MAX_MAJOR_VERSION = 1; public static int MAX_MAJOR_VERSION = 0;
protected Scene m_scene; protected Scene m_scene;
protected Stream m_saveStream; protected Stream m_saveStream;
@ -206,37 +206,37 @@ namespace OpenSim.Region.CoreModules.World.Archiver
/// <returns></returns> /// <returns></returns>
public static string CreateControlFile(Dictionary<string, object> options) public static string CreateControlFile(Dictionary<string, object> options)
{ {
int majorVersion = MAX_MAJOR_VERSION, minorVersion = 0; int majorVersion = MAX_MAJOR_VERSION, minorVersion = 5;
//
if (options.ContainsKey("version")) // if (options.ContainsKey("version"))
{ // {
string[] parts = options["version"].ToString().Split('.'); // string[] parts = options["version"].ToString().Split('.');
if (parts.Length >= 1) // if (parts.Length >= 1)
{ // {
majorVersion = Int32.Parse(parts[0]); // majorVersion = Int32.Parse(parts[0]);
//
if (parts.Length >= 2) // if (parts.Length >= 2)
minorVersion = Int32.Parse(parts[1]); // minorVersion = Int32.Parse(parts[1]);
} // }
} // }
//
if (majorVersion < MIN_MAJOR_VERSION || majorVersion > MAX_MAJOR_VERSION) // if (majorVersion < MIN_MAJOR_VERSION || majorVersion > MAX_MAJOR_VERSION)
{ // {
throw new Exception( // throw new Exception(
string.Format( // string.Format(
"OAR version number for save must be between {0} and {1}", // "OAR version number for save must be between {0} and {1}",
MIN_MAJOR_VERSION, MAX_MAJOR_VERSION)); // MIN_MAJOR_VERSION, MAX_MAJOR_VERSION));
} // }
else if (majorVersion == MAX_MAJOR_VERSION) // else if (majorVersion == MAX_MAJOR_VERSION)
{ // {
// Force 1.0 // // Force 1.0
minorVersion = 0; // minorVersion = 0;
} // }
else if (majorVersion == MIN_MAJOR_VERSION) // else if (majorVersion == MIN_MAJOR_VERSION)
{ // {
// Force 0.4 // // Force 0.4
minorVersion = 4; // minorVersion = 4;
} // }
m_log.InfoFormat("[ARCHIVER]: Creating version {0}.{1} OAR", majorVersion, minorVersion); m_log.InfoFormat("[ARCHIVER]: Creating version {0}.{1} OAR", majorVersion, minorVersion);
//if (majorVersion == 1) //if (majorVersion == 1)

View File

@ -125,7 +125,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
Dictionary<string, object> options = new Dictionary<string, object>(); Dictionary<string, object> options = new Dictionary<string, object>();
OptionSet ops = new OptionSet(); OptionSet ops = new OptionSet();
ops.Add("v|version=", delegate(string v) { options["version"] = v; }); // ops.Add("v|version=", delegate(string v) { options["version"] = v; });
ops.Add("p|profile=", delegate(string v) { options["profile"] = v; }); ops.Add("p|profile=", delegate(string v) { options["profile"] = v; });
List<string> mainParams = ops.Parse(cmdparams); List<string> mainParams = ops.Parse(cmdparams);

View File

@ -336,6 +336,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
internal void OSSLDeprecated(string function, string replacement)
{
OSSLShoutError(string.Format("Use of function {0} is deprecated. Use {1} instead.", function, replacement));
}
protected void ScriptSleep(int delay) protected void ScriptSleep(int delay)
{ {
delay = (int)((float)delay * m_ScriptDelayFactor); delay = (int)((float)delay * m_ScriptDelayFactor);
@ -347,13 +352,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// //
// OpenSim functions // OpenSim functions
// //
public LSL_Integer osSetTerrainHeight(int x, int y, double val)
{
CheckThreatLevel(ThreatLevel.High, "osSetTerrainHeight");
return SetTerrainHeight(x, y, val);
}
public LSL_Integer osTerrainSetHeight(int x, int y, double val) public LSL_Integer osTerrainSetHeight(int x, int y, double val)
{ {
CheckThreatLevel(ThreatLevel.High, "osTerrainSetHeight"); CheckThreatLevel(ThreatLevel.High, "osTerrainSetHeight");
OSSLDeprecated("osTerrainSetHeight", "osSetTerrainHeight");
return SetTerrainHeight(x, y, val);
}
private LSL_Integer SetTerrainHeight(int x, int y, double val)
{
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
if (x > ((int)Constants.RegionSize - 1) || x < 0 || y > ((int)Constants.RegionSize - 1) || y < 0) if (x > ((int)Constants.RegionSize - 1) || x < 0 || y > ((int)Constants.RegionSize - 1) || y < 0)
OSSLError("osTerrainSetHeight: Coordinate out of bounds"); OSSLError("osSetTerrainHeight: Coordinate out of bounds");
if (World.Permissions.CanTerraformLand(m_host.OwnerID, new Vector3(x, y, 0))) if (World.Permissions.CanTerraformLand(m_host.OwnerID, new Vector3(x, y, 0)))
{ {
@ -366,13 +380,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
public LSL_Float osGetTerrainHeight(int x, int y)
{
CheckThreatLevel(ThreatLevel.None, "osGetTerrainHeight");
return GetTerrainHeight(x, y);
}
public LSL_Float osTerrainGetHeight(int x, int y) public LSL_Float osTerrainGetHeight(int x, int y)
{ {
CheckThreatLevel(ThreatLevel.None, "osTerrainGetHeight"); CheckThreatLevel(ThreatLevel.None, "osTerrainGetHeight");
OSSLDeprecated("osTerrainGetHeight", "osGetTerrainHeight");
return GetTerrainHeight(x, y);
}
private LSL_Float GetTerrainHeight(int x, int y)
{
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
if (x > ((int)Constants.RegionSize - 1) || x < 0 || y > ((int)Constants.RegionSize - 1) || y < 0) if (x > ((int)Constants.RegionSize - 1) || x < 0 || y > ((int)Constants.RegionSize - 1) || y < 0)
OSSLError("osTerrainGetHeight: Coordinate out of bounds"); OSSLError("osGetTerrainHeight: Coordinate out of bounds");
return World.Heightmap[x, y]; return World.Heightmap[x, y];
} }
@ -1001,9 +1024,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return drawList; return drawList;
} }
public string osSetPenColor(string drawList, string color)
{
CheckThreatLevel(ThreatLevel.None, "osSetPenColor");
m_host.AddScriptLPS(1);
drawList += "PenColor " + color + "; ";
return drawList;
}
// Deprecated
public string osSetPenColour(string drawList, string colour) public string osSetPenColour(string drawList, string colour)
{ {
CheckThreatLevel(ThreatLevel.None, "osSetPenColour"); CheckThreatLevel(ThreatLevel.None, "osSetPenColour");
OSSLDeprecated("osSetPenColour", "osSetPenColor");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
drawList += "PenColour " + colour + "; "; drawList += "PenColour " + colour + "; ";
@ -1012,7 +1045,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public string osSetPenCap(string drawList, string direction, string type) public string osSetPenCap(string drawList, string direction, string type)
{ {
CheckThreatLevel(ThreatLevel.None, "osSetPenColour"); CheckThreatLevel(ThreatLevel.None, "osSetPenCap");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
drawList += "PenCap " + direction + "," + type + "; "; drawList += "PenCap " + direction + "," + type + "; ";
@ -1157,6 +1190,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public double osSunGetParam(string param) public double osSunGetParam(string param)
{ {
CheckThreatLevel(ThreatLevel.None, "osSunGetParam"); CheckThreatLevel(ThreatLevel.None, "osSunGetParam");
OSSLDeprecated("osSunGetParam", "osGetSunParam");
return GetSunParam(param);
}
public double osGetSunParam(string param)
{
CheckThreatLevel(ThreatLevel.None, "osGetSunParam");
return GetSunParam(param);
}
private double GetSunParam(string param)
{
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
double value = 0.0; double value = 0.0;
@ -1173,6 +1216,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
public void osSunSetParam(string param, double value) public void osSunSetParam(string param, double value)
{ {
CheckThreatLevel(ThreatLevel.None, "osSunSetParam"); CheckThreatLevel(ThreatLevel.None, "osSunSetParam");
OSSLDeprecated("osSunSetParam", "osSetSunParam");
SetSunParam(param, value);
}
public void osSetSunParam(string param, double value)
{
CheckThreatLevel(ThreatLevel.None, "osSetSunParam");
SetSunParam(param, value);
}
private void SetSunParam(string param, double value)
{
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
ISunModule module = World.RequestModuleInterface<ISunModule>(); ISunModule module = World.RequestModuleInterface<ISunModule>();
@ -1198,9 +1251,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return String.Empty; return String.Empty;
} }
public void osWindParamSet(string plugin, string param, float value) public void osSetWindParam(string plugin, string param, float value)
{ {
CheckThreatLevel(ThreatLevel.VeryLow, "osWindParamSet"); CheckThreatLevel(ThreatLevel.VeryLow, "osSetWindParam");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
IWindModule module = World.RequestModuleInterface<IWindModule>(); IWindModule module = World.RequestModuleInterface<IWindModule>();
@ -1214,9 +1267,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
} }
public float osWindParamGet(string plugin, string param) public float osGetWindParam(string plugin, string param)
{ {
CheckThreatLevel(ThreatLevel.VeryLow, "osWindParamGet"); CheckThreatLevel(ThreatLevel.VeryLow, "osGetWindParam");
m_host.AddScriptLPS(1); m_host.AddScriptLPS(1);
IWindModule module = World.RequestModuleInterface<IWindModule>(); IWindModule module = World.RequestModuleInterface<IWindModule>();

View File

@ -67,8 +67,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams, string osSetDynamicTextureDataBlendFace(string dynamicID, string contentType, string data, string extraParams,
bool blend, int disp, int timer, int alpha, int face); bool blend, int disp, int timer, int alpha, int face);
LSL_Float osTerrainGetHeight(int x, int y); LSL_Float osGetTerrainHeight(int x, int y);
LSL_Integer osTerrainSetHeight(int x, int y, double val); LSL_Float osTerrainGetHeight(int x, int y); // Deprecated
LSL_Integer osSetTerrainHeight(int x, int y, double val);
LSL_Integer osTerrainSetHeight(int x, int y, double val); //Deprecated
void osTerrainFlush(); void osTerrainFlush();
int osRegionRestart(double seconds); int osRegionRestart(double seconds);
@ -107,7 +109,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
string osSetFontName(string drawList, string fontName); string osSetFontName(string drawList, string fontName);
string osSetFontSize(string drawList, int fontSize); string osSetFontSize(string drawList, int fontSize);
string osSetPenSize(string drawList, int penSize); string osSetPenSize(string drawList, int penSize);
string osSetPenColour(string drawList, string colour); string osSetPenColor(string drawList, string color);
string osSetPenColour(string drawList, string colour); // Deprecated
string osSetPenCap(string drawList, string direction, string type); string osSetPenCap(string drawList, string direction, string type);
string osDrawImage(string drawList, int width, int height, string imageUrl); string osDrawImage(string drawList, int width, int height, string imageUrl);
vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize); vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize);
@ -119,13 +122,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
void osSetRegionSunSettings(bool useEstateSun, bool sunFixed, double sunHour); void osSetRegionSunSettings(bool useEstateSun, bool sunFixed, double sunHour);
void osSetEstateSunSettings(bool sunFixed, double sunHour); void osSetEstateSunSettings(bool sunFixed, double sunHour);
double osGetCurrentSunHour(); double osGetCurrentSunHour();
double osSunGetParam(string param); double osGetSunParam(string param);
void osSunSetParam(string param, double value); double osSunGetParam(string param); // Deprecated
void osSetSunParam(string param, double value);
void osSunSetParam(string param, double value); // Deprecated
// Wind Module Functions // Wind Module Functions
string osWindActiveModelPluginName(); string osWindActiveModelPluginName();
void osWindParamSet(string plugin, string param, float value); void osSetWindParam(string plugin, string param, float value);
float osWindParamGet(string plugin, string param); float osGetWindParam(string plugin, string param);
// Parcel commands // Parcel commands
void osParcelJoin(vector pos1, vector pos2); void osParcelJoin(vector pos1, vector pos2);

View File

@ -81,11 +81,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osGetCurrentSunHour(); return m_OSSL_Functions.osGetCurrentSunHour();
} }
public double osGetSunParam(string param)
{
return m_OSSL_Functions.osGetSunParam(param);
}
// Deprecated
public double osSunGetParam(string param) public double osSunGetParam(string param)
{ {
return m_OSSL_Functions.osSunGetParam(param); return m_OSSL_Functions.osSunGetParam(param);
} }
public void osSetSunParam(string param, double value)
{
m_OSSL_Functions.osSetSunParam(param, value);
}
// Deprecated
public void osSunSetParam(string param, double value) public void osSunSetParam(string param, double value)
{ {
m_OSSL_Functions.osSunSetParam(param, value); m_OSSL_Functions.osSunSetParam(param, value);
@ -97,14 +107,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
} }
// Not yet plugged in as available OSSL functions, so commented out // Not yet plugged in as available OSSL functions, so commented out
// void osWindParamSet(string plugin, string param, float value) // void osSetWindParam(string plugin, string param, float value)
// { // {
// m_OSSL_Functions.osWindParamSet(plugin, param, value); // m_OSSL_Functions.osSetWindParam(plugin, param, value);
// } // }
// //
// float osWindParamGet(string plugin, string param) // float osGetWindParam(string plugin, string param)
// { // {
// return m_OSSL_Functions.osWindParamGet(plugin, param); // return m_OSSL_Functions.osGetWindParam(plugin, param);
// } // }
public void osParcelJoin(vector pos1, vector pos2) public void osParcelJoin(vector pos1, vector pos2)
@ -165,11 +175,21 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
blend, disp, timer, alpha, face); blend, disp, timer, alpha, face);
} }
public LSL_Float osGetTerrainHeight(int x, int y)
{
return m_OSSL_Functions.osGetTerrainHeight(x, y);
}
// Deprecated
public LSL_Float osTerrainGetHeight(int x, int y) public LSL_Float osTerrainGetHeight(int x, int y)
{ {
return m_OSSL_Functions.osTerrainGetHeight(x, y); return m_OSSL_Functions.osTerrainGetHeight(x, y);
} }
public LSL_Integer osSetTerrainHeight(int x, int y, double val)
{
return m_OSSL_Functions.osSetTerrainHeight(x, y, val);
}
// Deprecated
public LSL_Integer osTerrainSetHeight(int x, int y, double val) public LSL_Integer osTerrainSetHeight(int x, int y, double val)
{ {
return m_OSSL_Functions.osTerrainSetHeight(x, y, val); return m_OSSL_Functions.osTerrainSetHeight(x, y, val);
@ -333,6 +353,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_OSSL_Functions.osSetPenCap(drawList, direction, type); return m_OSSL_Functions.osSetPenCap(drawList, direction, type);
} }
public string osSetPenColor(string drawList, string color)
{
return m_OSSL_Functions.osSetPenColor(drawList, color);
}
// Deprecated
public string osSetPenColour(string drawList, string colour) public string osSetPenColour(string drawList, string colour)
{ {
return m_OSSL_Functions.osSetPenColour(drawList, colour); return m_OSSL_Functions.osSetPenColour(drawList, colour);