mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 11:57:03 +08:00
From Gary Chernega (IBM)
This patch adds x, y, and z offsets to the load-xml command.
If you had a prim at 100,100,20 thats where it would get loaded everytime.
This patch lets you place it at an offset from 100,100,20.. as such:
load-xml <filespec> -newUI 3 1 2
Loading the prim at 103, 101, 22
This commit is contained in:
@@ -42,6 +42,7 @@ using OpenSim.Region.Environment;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
using OpenSim.Region.Environment.Scenes;
|
||||
using OpenSim.Region.Physics.Manager;
|
||||
using libsecondlife;
|
||||
using Mono.Addins;
|
||||
using Mono.Addins.Description;
|
||||
|
||||
@@ -664,6 +665,7 @@ namespace OpenSim
|
||||
break;
|
||||
|
||||
case "load-xml":
|
||||
LLVector3 loadOffset = new LLVector3(0, 0, 0);
|
||||
if (cmdparams.Length > 0)
|
||||
{
|
||||
bool generateNewIDS = false;
|
||||
@@ -672,13 +674,20 @@ namespace OpenSim
|
||||
if (cmdparams[1] == "-newUID")
|
||||
{
|
||||
generateNewIDS = true;
|
||||
}
|
||||
}
|
||||
if (cmdparams.Length > 2)
|
||||
{
|
||||
loadOffset.X = (float)Convert.ToDecimal(cmdparams[2]);
|
||||
if (cmdparams.Length > 3) { loadOffset.Y = (float)Convert.ToDecimal(cmdparams[3]); }
|
||||
if (cmdparams.Length > 4) { loadOffset.Z = (float)Convert.ToDecimal(cmdparams[4]); }
|
||||
m_log.Error("loadOffsets <X,Y,Z> = <" + loadOffset.X + "," + loadOffset.Y + "," + loadOffset.Z + ">");
|
||||
}
|
||||
}
|
||||
m_sceneManager.LoadCurrentSceneFromXml(cmdparams[0], generateNewIDS);
|
||||
m_sceneManager.LoadCurrentSceneFromXml(cmdparams[0], generateNewIDS, loadOffset);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sceneManager.LoadCurrentSceneFromXml(DEFAULT_PRIM_BACKUP_FILENAME, false);
|
||||
m_sceneManager.LoadCurrentSceneFromXml(DEFAULT_PRIM_BACKUP_FILENAME, false, loadOffset);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user