Bug fix, so that local loginserver (in standalone mode) can set a start position (position inside the region) rather than it always being hardcoded to 128,128. Note: This bug fix is just to allow this to be set. Its not actually used yet (so users will still always start at 128,128).

afrisby
MW 2007-10-22 09:04:55 +00:00
parent e0f43cad4b
commit 5bf6b24590
3 changed files with 11 additions and 8 deletions

View File

@ -40,10 +40,11 @@ namespace OpenSim.Framework.Types
public LLUUID BaseFolder;
public uint CircuitCode;
public string CapsPath ="";
public LLVector3 StartPos;
public Login()
{
StartPos = new LLVector3(128, 128, 70);
}
}
}

View File

@ -120,7 +120,7 @@ namespace OpenSim.Region.Communications.Local
public List<MapBlockData> RequestNeighbourMapBlocks(int minX, int minY, int maxX, int maxY)
{
List<MapBlockData> mapBlocks = new List<MapBlockData>();
foreach(RegionInfo regInfo in this.m_regions.Values)
foreach (RegionInfo regInfo in this.m_regions.Values)
{
if (((regInfo.RegionLocX >= minX) && (regInfo.RegionLocX <= maxX)) && ((regInfo.RegionLocY >= minY) && (regInfo.RegionLocY <= maxY)))
{
@ -128,7 +128,7 @@ namespace OpenSim.Region.Communications.Local
map.Name = regInfo.RegionName;
map.X = (ushort)regInfo.RegionLocX;
map.Y = (ushort)regInfo.RegionLocY;
map.WaterHeight =(byte) regInfo.estateSettings.waterHeight;
map.WaterHeight = (byte)regInfo.estateSettings.waterHeight;
map.MapImageId = regInfo.estateSettings.terrainImageID; //new LLUUID("00000000-0000-0000-9999-000000000007");
map.Agents = 1;
map.RegionFlags = 72458694;
@ -200,7 +200,8 @@ namespace OpenSim.Region.Communications.Local
agent.circuitcode = loginData.CircuitCode;
agent.BaseFolder = loginData.BaseFolder;
agent.InventoryFolder = loginData.InventoryFolder;
agent.startpos = new LLVector3(128, 128, 70);
agent.startpos = loginData.StartPos;
agent.CapsPath = loginData.CapsPath;
TriggerExpectUser(regionHandle, agent);
@ -216,7 +217,7 @@ namespace OpenSim.Region.Communications.Local
public void PingCheckReply(Hashtable respData)
{
foreach (ulong region in this.m_regions.Keys )
foreach (ulong region in this.m_regions.Keys)
{
Hashtable regData = new Hashtable();
RegionInfo reg = m_regions[region];
@ -229,7 +230,7 @@ namespace OpenSim.Region.Communications.Local
public bool TriggerExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying)
{
if ( m_regionListeners.ContainsKey(regionHandle))
if (m_regionListeners.ContainsKey(regionHandle))
{
return m_regionListeners[regionHandle].TriggerExpectAvatarCrossing(regionHandle, agentID, position,
isFlying);
@ -250,7 +251,7 @@ namespace OpenSim.Region.Communications.Local
}
}
}

View File

@ -137,7 +137,8 @@ namespace OpenSim.Region.Communications.Local
_login.Agent = response.AgentID;
_login.Session = response.SessionID;
_login.SecureSession = response.SecureSessionID;
_login.CircuitCode = (uint)response.CircuitCode;
_login.CircuitCode = (uint)response.CircuitCode;
_login.StartPos = new LLVector3(128, 128, 70);
_login.CapsPath = capsPath;
if( OnLoginToRegion != null )