Patch by lulurun - 0000916: support secondlife client's "-url sim/x/y/z" option

Thanks lulurun!
0.6.0-stable
Teravus Ovares 2008-04-10 09:56:59 +00:00
parent 06967e230f
commit a253ac0830
2 changed files with 13 additions and 1 deletions

View File

@ -50,6 +50,7 @@ Patches
* Diva Canto * Diva Canto
* krtaylor (IBM) * krtaylor (IBM)
* A_Biondi * A_Biondi
* lulurun
LSL Devs LSL Devs

View File

@ -78,6 +78,9 @@ namespace OpenSim.Grid.UserServer
try try
{ {
RegionProfileData SimInfo = null; RegionProfileData SimInfo = null;
int start_x = -1;
int start_y = -1;
int start_z = -1;
if (startLocationRequest == "last") if (startLocationRequest == "last")
{ {
SimInfo = SimInfo =
@ -119,6 +122,10 @@ namespace OpenSim.Grid.UserServer
RegionProfileData.RequestSimProfileData( RegionProfileData.RequestSimProfileData(
theUser.homeRegion, m_config.GridServerURL, theUser.homeRegion, m_config.GridServerURL,
m_config.GridSendKey, m_config.GridRecvKey); m_config.GridSendKey, m_config.GridRecvKey);
} else {
start_x = Convert.ToInt32(startLocationRequestParsed[1]);
start_y = Convert.ToInt32(startLocationRequestParsed[2]);
start_z = Convert.ToInt32(startLocationRequestParsed[3]);
} }
} }
} }
@ -159,7 +166,11 @@ namespace OpenSim.Grid.UserServer
theUser.currentAgent.currentRegion = SimInfo.UUID; theUser.currentAgent.currentRegion = SimInfo.UUID;
theUser.currentAgent.currentHandle = SimInfo.regionHandle; theUser.currentAgent.currentHandle = SimInfo.regionHandle;
if (start_x >= 0 && start_y >= 0 && start_z >= 0) {
theUser.currentAgent.currentPos.X = start_x;
theUser.currentAgent.currentPos.Y = start_y;
theUser.currentAgent.currentPos.Z = start_z;
}
// Prepare notification // Prepare notification
Hashtable SimParams = new Hashtable(); Hashtable SimParams = new Hashtable();
SimParams["session_id"] = theUser.currentAgent.sessionID.ToString(); SimParams["session_id"] = theUser.currentAgent.sessionID.ToString();