diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Application/OpenSimMain.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.API.cs | 18 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 11 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs | 4 |
5 files changed, 21 insertions, 19 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 248bd42..8e3f558 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs | |||
@@ -83,7 +83,7 @@ namespace OpenSim | |||
83 | { | 83 | { |
84 | startupSource = new IniConfigSource(iniFilePath); | 84 | startupSource = new IniConfigSource(iniFilePath); |
85 | 85 | ||
86 | //enable follow line, if we want the original config source(normally commandline args) merged with ini file settings. | 86 | //enable following line, if we want the original config source(normally commandline args) merged with ini file settings. |
87 | //in this case we have it so that if both sources have the same named setting, the command line value will overwrite the ini file value. | 87 | //in this case we have it so that if both sources have the same named setting, the command line value will overwrite the ini file value. |
88 | //(as if someone has bothered to enter a command line arg, we should take notice of it) | 88 | //(as if someone has bothered to enter a command line arg, we should take notice of it) |
89 | //startupSource.Merge(configSource); | 89 | //startupSource.Merge(configSource); |
diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs index a4b0af1..8a2db98 100644 --- a/OpenSim/Region/ClientStack/ClientView.API.cs +++ b/OpenSim/Region/ClientStack/ClientView.API.cs | |||
@@ -383,11 +383,11 @@ namespace OpenSim.Region.ClientStack | |||
383 | agentData.child = false; | 383 | agentData.child = false; |
384 | agentData.firstname = this.firstName; | 384 | agentData.firstname = this.firstName; |
385 | agentData.lastname = this.lastName; | 385 | agentData.lastname = this.lastName; |
386 | agentData.CapsPath=m_authenticateSessionsHandler.AgentCircuits[this.CircuitCode].CapsPath; | 386 | agentData.CapsPath = ""; |
387 | return agentData; | 387 | return agentData; |
388 | } | 388 | } |
389 | 389 | ||
390 | public void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint externalIPEndPoint) | 390 | public void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint externalIPEndPoint, string capsURL) |
391 | { | 391 | { |
392 | LLVector3 look = new LLVector3(lookAt.X * 10, lookAt.Y * 10, lookAt.Z * 10); | 392 | LLVector3 look = new LLVector3(lookAt.X * 10, lookAt.Y * 10, lookAt.Z * 10); |
393 | 393 | ||
@@ -407,14 +407,9 @@ namespace OpenSim.Region.ClientStack | |||
407 | newSimPack.RegionData.SimIP += (uint)byteIP[0]; | 407 | newSimPack.RegionData.SimIP += (uint)byteIP[0]; |
408 | newSimPack.RegionData.SimPort = (ushort)externalIPEndPoint.Port; | 408 | newSimPack.RegionData.SimPort = (ushort)externalIPEndPoint.Port; |
409 | //newSimPack.RegionData.SeedCapability = new byte[0]; | 409 | //newSimPack.RegionData.SeedCapability = new byte[0]; |
410 | 410 | newSimPack.RegionData.SeedCapability = Helpers.StringToField(capsURL); | |
411 | string capsPath = "http://" + externalIPEndPoint.Address.ToString() + ":9000/CAPS/" + m_authenticateSessionsHandler.AgentCircuits[this.CircuitCode].CapsPath +"0000/"; | ||
412 | System.Text.ASCIIEncoding enc=new System.Text.ASCIIEncoding(); | ||
413 | newSimPack.RegionData.SeedCapability = enc.GetBytes(capsPath); | ||
414 | |||
415 | 411 | ||
416 | this.OutPacket(newSimPack); | 412 | this.OutPacket(newSimPack); |
417 | //this.DowngradeClient(); | ||
418 | } | 413 | } |
419 | 414 | ||
420 | public void SendMapBlock(List<MapBlockData> mapBlocks) | 415 | public void SendMapBlock(List<MapBlockData> mapBlocks) |
@@ -450,17 +445,14 @@ namespace OpenSim.Region.ClientStack | |||
450 | OutPacket(tpLocal); | 445 | OutPacket(tpLocal); |
451 | } | 446 | } |
452 | 447 | ||
453 | public void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID, uint flags) | 448 | public void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint newRegionEndPoint, uint locationID, uint flags, string capsURL) |
454 | { | 449 | { |
455 | TeleportFinishPacket teleport = new TeleportFinishPacket(); | 450 | TeleportFinishPacket teleport = new TeleportFinishPacket(); |
456 | teleport.Info.AgentID = this.AgentID; | 451 | teleport.Info.AgentID = this.AgentID; |
457 | teleport.Info.RegionHandle = regionHandle; | 452 | teleport.Info.RegionHandle = regionHandle; |
458 | teleport.Info.SimAccess = simAccess; | 453 | teleport.Info.SimAccess = simAccess; |
459 | 454 | ||
460 | string capsPath = "http://" + newRegionEndPoint.Address.ToString() + ":9000/CAPS/" + m_authenticateSessionsHandler.AgentCircuits[this.CircuitCode].CapsPath + "0000/"; | 455 | teleport.Info.SeedCapability = Helpers.StringToField(capsURL); |
461 | System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); | ||
462 | teleport.Info.SeedCapability = enc.GetBytes(capsPath); | ||
463 | |||
464 | //teleport.Info.SeedCapability = new byte[0]; | 456 | //teleport.Info.SeedCapability = new byte[0]; |
465 | 457 | ||
466 | IPAddress oIP = newRegionEndPoint.Address; | 458 | IPAddress oIP = newRegionEndPoint.Address; |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 19fd075..813308b 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -75,6 +75,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
75 | 75 | ||
76 | #region Properties | 76 | #region Properties |
77 | 77 | ||
78 | public AgentCircuitManager AuthenticateHandler | ||
79 | { | ||
80 | get { return this.authenticateHandler; } | ||
81 | } | ||
78 | /// <summary> | 82 | /// <summary> |
79 | /// | 83 | /// |
80 | /// </summary> | 84 | /// </summary> |
@@ -600,7 +604,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
600 | 604 | ||
601 | client.OnEstateOwnerMessage += new EstateOwnerMessageRequest(m_estateManager.handleEstateOwnerMessage); | 605 | client.OnEstateOwnerMessage += new EstateOwnerMessageRequest(m_estateManager.handleEstateOwnerMessage); |
602 | 606 | ||
603 | // client.OnCreateNewInventoryItem += CreateNewInventoryItem; | 607 | //client.OnCreateNewInventoryItem += CreateNewInventoryItem; |
604 | //client.OnCreateNewInventoryFolder += commsManager.UserProfiles.HandleCreateInventoryFolder; | 608 | //client.OnCreateNewInventoryFolder += commsManager.UserProfiles.HandleCreateInventoryFolder; |
605 | client.OnFetchInventoryDescendents += commsManager.UserProfiles.HandleFecthInventoryDescendents; | 609 | client.OnFetchInventoryDescendents += commsManager.UserProfiles.HandleFecthInventoryDescendents; |
606 | client.OnRequestTaskInventory += RequestTaskInventory; | 610 | client.OnRequestTaskInventory += RequestTaskInventory; |
@@ -922,7 +926,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
922 | commsManager.InterRegion.InformRegionOfChildAgent(regionHandle, agent); | 926 | commsManager.InterRegion.InformRegionOfChildAgent(regionHandle, agent); |
923 | commsManager.InterRegion.ExpectAvatarCrossing(regionHandle, remoteClient.AgentId, position, false); | 927 | commsManager.InterRegion.ExpectAvatarCrossing(regionHandle, remoteClient.AgentId, position, false); |
924 | 928 | ||
925 | remoteClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4)); | 929 | //TODO: following line is hard coded to port 9000, really need to change this as soon as possible |
930 | AgentCircuitData circuitdata = remoteClient.RequestClientInfo(); | ||
931 | string capsPath = "http://" + reg.ExternalEndPoint.Address.ToString() + ":9000/CAPS/" + this.AuthenticateHandler.AgentCircuits[circuitdata.circuitcode].CapsPath + "0000/"; | ||
932 | remoteClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4), capsPath); | ||
926 | } | 933 | } |
927 | } | 934 | } |
928 | } | 935 | } |
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 17c1b3a..b021b44 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -620,7 +620,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
620 | bool res = this.m_scene.InformNeighbourOfCrossing(neighbourHandle, this.ControllingClient.AgentId, newpos, this._physActor.Flying); | 620 | bool res = this.m_scene.InformNeighbourOfCrossing(neighbourHandle, this.ControllingClient.AgentId, newpos, this._physActor.Flying); |
621 | if (res) | 621 | if (res) |
622 | { | 622 | { |
623 | this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint); | 623 | //TODO: following line is hard coded to port 9000, really need to change this as soon as possible |
624 | AgentCircuitData circuitdata = this.ControllingClient.RequestClientInfo(); | ||
625 | string capsPath = "http://" + neighbourRegion.ExternalEndPoint.Address.ToString() + ":9000/CAPS/" +this.m_scene.AuthenticateHandler.AgentCircuits[circuitdata.circuitcode].CapsPath + "0000/"; | ||
626 | this.ControllingClient.CrossRegion(neighbourHandle, newpos, vel, neighbourRegion.ExternalEndPoint, capsPath); | ||
624 | this.MakeChildAgent(); | 627 | this.MakeChildAgent(); |
625 | } | 628 | } |
626 | } | 629 | } |
diff --git a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs index 367ee67..3e9b669 100644 --- a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs | |||
@@ -132,10 +132,10 @@ namespace SimpleApp | |||
132 | public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look) { } | 132 | public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look) { } |
133 | public virtual void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint) { } | 133 | public virtual void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint) { } |
134 | public virtual AgentCircuitData RequestClientInfo() { return new AgentCircuitData(); } | 134 | public virtual AgentCircuitData RequestClientInfo() { return new AgentCircuitData(); } |
135 | public virtual void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint newRegionExternalEndPoint) { } | 135 | public virtual void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt, IPEndPoint newRegionExternalEndPoint, string capsURL) { } |
136 | public virtual void SendMapBlock(List<MapBlockData> mapBlocks) { } | 136 | public virtual void SendMapBlock(List<MapBlockData> mapBlocks) { } |
137 | public virtual void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags) { } | 137 | public virtual void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags) { } |
138 | public virtual void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags) { } | 138 | public virtual void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags, string capsURL) { } |
139 | public virtual void SendTeleportCancel() { } | 139 | public virtual void SendTeleportCancel() { } |
140 | public virtual void SendTeleportLocationStart() { } | 140 | public virtual void SendTeleportLocationStart() { } |
141 | public virtual void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance) { } | 141 | public virtual void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance) { } |