diff options
author | Justin Clark-Casey (justincc) | 2012-01-24 20:36:16 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-01-24 20:36:16 +0000 |
commit | a704d444f2f1a4887598cd9eb2f59c0b4c595f2b (patch) | |
tree | 066a47464322b9e73687f60d8308e34efbb45568 /OpenSim/Region | |
parent | Restrict accessible of ODECharacter Shell and Body. Add method doc and some ... (diff) | |
parent | Teleport routing, part 1 (diff) | |
download | opensim-SC_OLD-a704d444f2f1a4887598cd9eb2f59c0b4c595f2b.zip opensim-SC_OLD-a704d444f2f1a4887598cd9eb2f59c0b4c595f2b.tar.gz opensim-SC_OLD-a704d444f2f1a4887598cd9eb2f59c0b4c595f2b.tar.bz2 opensim-SC_OLD-a704d444f2f1a4887598cd9eb2f59c0b4c595f2b.tar.xz |
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim/Region')
6 files changed, 290 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 4ba441e..29ad966 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -219,6 +219,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
219 | public event BakeTerrain OnBakeTerrain; | 219 | public event BakeTerrain OnBakeTerrain; |
220 | public event RequestTerrain OnUploadTerrain; | 220 | public event RequestTerrain OnUploadTerrain; |
221 | public event EstateChangeInfo OnEstateChangeInfo; | 221 | public event EstateChangeInfo OnEstateChangeInfo; |
222 | public event EstateManageTelehub OnEstateManageTelehub; | ||
222 | public event EstateRestartSimRequest OnEstateRestartSimRequest; | 223 | public event EstateRestartSimRequest OnEstateRestartSimRequest; |
223 | public event EstateChangeCovenantRequest OnEstateChangeCovenantRequest; | 224 | public event EstateChangeCovenantRequest OnEstateChangeCovenantRequest; |
224 | public event UpdateEstateAccessDeltaRequest OnUpdateEstateAccessDeltaRequest; | 225 | public event UpdateEstateAccessDeltaRequest OnUpdateEstateAccessDeltaRequest; |
@@ -4482,6 +4483,23 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4482 | OutPacket(packet, ThrottleOutPacketType.Task); | 4483 | OutPacket(packet, ThrottleOutPacketType.Task); |
4483 | } | 4484 | } |
4484 | 4485 | ||
4486 | public void SendTelehubInfo(UUID ObjectID, string ObjectName, Vector3 ObjectPos, Quaternion ObjectRot, List<Vector3> SpawnPoint) | ||
4487 | { | ||
4488 | TelehubInfoPacket packet = (TelehubInfoPacket)PacketPool.Instance.GetPacket(PacketType.TelehubInfo); | ||
4489 | packet.TelehubBlock.ObjectID = ObjectID; | ||
4490 | packet.TelehubBlock.ObjectName = Utils.StringToBytes(ObjectName); | ||
4491 | packet.TelehubBlock.TelehubPos = ObjectPos; | ||
4492 | packet.TelehubBlock.TelehubRot = ObjectRot; | ||
4493 | |||
4494 | packet.SpawnPointBlock = new TelehubInfoPacket.SpawnPointBlockBlock[SpawnPoint.Count]; | ||
4495 | for (int n = 0; n < SpawnPoint.Count; n++) | ||
4496 | { | ||
4497 | packet.SpawnPointBlock[n] = new TelehubInfoPacket.SpawnPointBlockBlock{SpawnPointPos = SpawnPoint[n]}; | ||
4498 | } | ||
4499 | |||
4500 | OutPacket(packet, ThrottleOutPacketType.Task); | ||
4501 | } | ||
4502 | |||
4485 | #endregion | 4503 | #endregion |
4486 | 4504 | ||
4487 | #region Land Data Sending Methods | 4505 | #region Land Data Sending Methods |
@@ -8920,7 +8938,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8920 | private bool HandleEstateOwnerMessage(IClientAPI sender, Packet Pack) | 8938 | private bool HandleEstateOwnerMessage(IClientAPI sender, Packet Pack) |
8921 | { | 8939 | { |
8922 | EstateOwnerMessagePacket messagePacket = (EstateOwnerMessagePacket)Pack; | 8940 | EstateOwnerMessagePacket messagePacket = (EstateOwnerMessagePacket)Pack; |
8923 | //m_log.Debug(messagePacket.ToString()); | 8941 | // m_log.InfoFormat("[LLCLIENTVIEW]: Packet: {0}", Utils.BytesToString(messagePacket.MethodData.Method)); |
8924 | GodLandStatRequest handlerLandStatRequest; | 8942 | GodLandStatRequest handlerLandStatRequest; |
8925 | 8943 | ||
8926 | #region Packet Session and User Check | 8944 | #region Packet Session and User Check |
@@ -9219,6 +9237,35 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9219 | } | 9237 | } |
9220 | return true; | 9238 | return true; |
9221 | 9239 | ||
9240 | case "telehub": | ||
9241 | if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false)) | ||
9242 | { | ||
9243 | UUID invoice = messagePacket.MethodData.Invoice; | ||
9244 | UUID SenderID = messagePacket.AgentData.AgentID; | ||
9245 | UInt32 param1 = 0u; | ||
9246 | |||
9247 | string command = (string)Utils.BytesToString(messagePacket.ParamList[0].Parameter); | ||
9248 | |||
9249 | if (command != "info ui") | ||
9250 | { | ||
9251 | try | ||
9252 | { | ||
9253 | param1 = Convert.ToUInt32(Utils.BytesToString(messagePacket.ParamList[1].Parameter)); | ||
9254 | } | ||
9255 | catch (Exception ex) | ||
9256 | { | ||
9257 | |||
9258 | } | ||
9259 | } | ||
9260 | |||
9261 | EstateManageTelehub handlerEstateManageTelehub = OnEstateManageTelehub; | ||
9262 | if (handlerEstateManageTelehub != null) | ||
9263 | { | ||
9264 | handlerEstateManageTelehub(this, invoice, SenderID, command, param1); | ||
9265 | } | ||
9266 | } | ||
9267 | return true; | ||
9268 | |||
9222 | default: | 9269 | default: |
9223 | m_log.Error("EstateOwnerMessage: Unknown method requested\n" + messagePacket); | 9270 | m_log.Error("EstateOwnerMessage: Unknown method requested\n" + messagePacket); |
9224 | return true; | 9271 | return true; |
@@ -9230,8 +9277,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
9230 | //lsrp.RequestData.ReportType; // 1 = colliders, 0 = scripts | 9277 | //lsrp.RequestData.ReportType; // 1 = colliders, 0 = scripts |
9231 | //lsrp.RequestData.RequestFlags; | 9278 | //lsrp.RequestData.RequestFlags; |
9232 | //lsrp.RequestData.Filter; | 9279 | //lsrp.RequestData.Filter; |
9233 | |||
9234 | // return true; | ||
9235 | } | 9280 | } |
9236 | 9281 | ||
9237 | private bool HandleRequestRegionInfo(IClientAPI sender, Packet Pack) | 9282 | private bool HandleRequestRegionInfo(IClientAPI sender, Packet Pack) |
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 58d9455..2e1487f 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | |||
@@ -53,6 +53,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
53 | protected EstateManagementCommands m_commands; | 53 | protected EstateManagementCommands m_commands; |
54 | 54 | ||
55 | private EstateTerrainXferHandler TerrainUploader; | 55 | private EstateTerrainXferHandler TerrainUploader; |
56 | public TelehubManager m_Telehub; | ||
56 | 57 | ||
57 | public event ChangeDelegate OnRegionInfoChange; | 58 | public event ChangeDelegate OnRegionInfoChange; |
58 | public event ChangeDelegate OnEstateInfoChange; | 59 | public event ChangeDelegate OnEstateInfoChange; |
@@ -599,6 +600,50 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
599 | } | 600 | } |
600 | } | 601 | } |
601 | 602 | ||
603 | public void handleOnEstateManageTelehub (IClientAPI client, UUID invoice, UUID senderID, string cmd, uint param1) | ||
604 | { | ||
605 | uint ObjectLocalID; | ||
606 | SceneObjectPart part; | ||
607 | |||
608 | switch (cmd) | ||
609 | { | ||
610 | case "info ui": | ||
611 | break; | ||
612 | |||
613 | case "connect": | ||
614 | // Add the Telehub | ||
615 | part = Scene.GetSceneObjectPart((uint)param1); | ||
616 | if (part == null) | ||
617 | return; | ||
618 | SceneObjectGroup grp = part.ParentGroup; | ||
619 | |||
620 | m_Telehub.Connect(grp); | ||
621 | break; | ||
622 | |||
623 | case "delete": | ||
624 | // Disconnect Telehub | ||
625 | m_Telehub.Disconnect(); | ||
626 | break; | ||
627 | |||
628 | case "spawnpoint add": | ||
629 | // Add SpawnPoint to the Telehub | ||
630 | part = Scene.GetSceneObjectPart((uint)param1); | ||
631 | if (part == null) | ||
632 | return; | ||
633 | m_Telehub.AddSpawnPoint(part.AbsolutePosition); | ||
634 | break; | ||
635 | |||
636 | case "spawnpoint remove": | ||
637 | // Remove SpawnPoint from Telehub | ||
638 | m_Telehub.RemoveSpawnPoint((int)param1); | ||
639 | break; | ||
640 | |||
641 | default: | ||
642 | break; | ||
643 | } | ||
644 | SendTelehubInfo(client); | ||
645 | } | ||
646 | |||
602 | private void SendSimulatorBlueBoxMessage( | 647 | private void SendSimulatorBlueBoxMessage( |
603 | IClientAPI remote_client, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message) | 648 | IClientAPI remote_client, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message) |
604 | { | 649 | { |
@@ -1055,7 +1100,9 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
1055 | Scene.RegisterModuleInterface<IEstateModule>(this); | 1100 | Scene.RegisterModuleInterface<IEstateModule>(this); |
1056 | Scene.EventManager.OnNewClient += EventManager_OnNewClient; | 1101 | Scene.EventManager.OnNewClient += EventManager_OnNewClient; |
1057 | Scene.EventManager.OnRequestChangeWaterHeight += changeWaterHeight; | 1102 | Scene.EventManager.OnRequestChangeWaterHeight += changeWaterHeight; |
1058 | 1103 | ||
1104 | m_Telehub = new TelehubManager(scene); | ||
1105 | |||
1059 | m_commands = new EstateManagementCommands(this); | 1106 | m_commands = new EstateManagementCommands(this); |
1060 | m_commands.Initialise(); | 1107 | m_commands.Initialise(); |
1061 | } | 1108 | } |
@@ -1109,6 +1156,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
1109 | client.OnEstateRestartSimRequest += handleEstateRestartSimRequest; | 1156 | client.OnEstateRestartSimRequest += handleEstateRestartSimRequest; |
1110 | client.OnEstateChangeCovenantRequest += handleChangeEstateCovenantRequest; | 1157 | client.OnEstateChangeCovenantRequest += handleChangeEstateCovenantRequest; |
1111 | client.OnEstateChangeInfo += handleEstateChangeInfo; | 1158 | client.OnEstateChangeInfo += handleEstateChangeInfo; |
1159 | client.OnEstateManageTelehub += handleOnEstateManageTelehub; | ||
1112 | client.OnUpdateEstateAccessDeltaRequest += handleEstateAccessDeltaRequest; | 1160 | client.OnUpdateEstateAccessDeltaRequest += handleEstateAccessDeltaRequest; |
1113 | client.OnSimulatorBlueBoxMessageRequest += SendSimulatorBlueBoxMessage; | 1161 | client.OnSimulatorBlueBoxMessageRequest += SendSimulatorBlueBoxMessage; |
1114 | client.OnEstateBlueBoxMessageRequest += SendEstateBlueBoxMessage; | 1162 | client.OnEstateBlueBoxMessageRequest += SendEstateBlueBoxMessage; |
@@ -1243,5 +1291,39 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
1243 | if (onmessage != null) | 1291 | if (onmessage != null) |
1244 | onmessage(Scene.RegionInfo.RegionID, fromID, fromName, message); | 1292 | onmessage(Scene.RegionInfo.RegionID, fromID, fromName, message); |
1245 | } | 1293 | } |
1294 | |||
1295 | |||
1296 | private void SendTelehubInfo(IClientAPI client) | ||
1297 | { | ||
1298 | RegionSettings settings = | ||
1299 | this.Scene.RegionInfo.RegionSettings; | ||
1300 | |||
1301 | SceneObjectGroup telehub = null; | ||
1302 | if (settings.TelehubObject != UUID.Zero && | ||
1303 | (telehub = Scene.GetSceneObjectGroup(settings.TelehubObject)) != null) | ||
1304 | { | ||
1305 | List<Vector3> spawnPoints = new List<Vector3>(); | ||
1306 | |||
1307 | foreach (SpawnPoint sp in settings.SpawnPoints()) | ||
1308 | { | ||
1309 | spawnPoints.Add(sp.GetLocation(Vector3.Zero, Quaternion.Identity)); | ||
1310 | } | ||
1311 | |||
1312 | client.SendTelehubInfo(settings.TelehubObject, | ||
1313 | telehub.Name, | ||
1314 | telehub.AbsolutePosition, | ||
1315 | telehub.GroupRotation, | ||
1316 | spawnPoints); | ||
1317 | } | ||
1318 | else | ||
1319 | { | ||
1320 | client.SendTelehubInfo(UUID.Zero, | ||
1321 | String.Empty, | ||
1322 | Vector3.Zero, | ||
1323 | Quaternion.Identity, | ||
1324 | new List<Vector3>()); | ||
1325 | } | ||
1326 | } | ||
1246 | } | 1327 | } |
1247 | } | 1328 | } |
1329 | |||
diff --git a/OpenSim/Region/CoreModules/World/Estate/TelehubManager.cs b/OpenSim/Region/CoreModules/World/Estate/TelehubManager.cs new file mode 100644 index 0000000..8bc831f --- /dev/null +++ b/OpenSim/Region/CoreModules/World/Estate/TelehubManager.cs | |||
@@ -0,0 +1,95 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSimulator Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System; | ||
29 | using System.Reflection; | ||
30 | using OpenMetaverse; | ||
31 | using System.Collections.Generic; | ||
32 | using OpenSim.Framework; | ||
33 | using OpenSim.Region.Framework.Scenes; | ||
34 | using log4net; | ||
35 | |||
36 | namespace OpenSim.Region.CoreModules.World.Estate | ||
37 | { | ||
38 | public class TelehubManager | ||
39 | { | ||
40 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
41 | |||
42 | Scene m_Scene; | ||
43 | |||
44 | public TelehubManager(Scene scene) | ||
45 | { | ||
46 | m_Scene = scene; | ||
47 | } | ||
48 | |||
49 | // Connect the Telehub | ||
50 | public void Connect(SceneObjectGroup grp) | ||
51 | { | ||
52 | m_Scene.RegionInfo.RegionSettings.ClearSpawnPoints(); | ||
53 | |||
54 | m_Scene.RegionInfo.RegionSettings.TelehubObject = grp.UUID; | ||
55 | m_Scene.RegionInfo.RegionSettings.Save(); | ||
56 | } | ||
57 | |||
58 | // Disconnect the Telehub: | ||
59 | public void Disconnect() | ||
60 | { | ||
61 | if (m_Scene.RegionInfo.RegionSettings.TelehubObject == UUID.Zero) | ||
62 | return; | ||
63 | |||
64 | m_Scene.RegionInfo.RegionSettings.TelehubObject = UUID.Zero; | ||
65 | m_Scene.RegionInfo.RegionSettings.ClearSpawnPoints(); | ||
66 | m_Scene.RegionInfo.RegionSettings.Save(); | ||
67 | } | ||
68 | |||
69 | // Add a SpawnPoint to the Telehub | ||
70 | public void AddSpawnPoint(Vector3 point) | ||
71 | { | ||
72 | if (m_Scene.RegionInfo.RegionSettings.TelehubObject == UUID.Zero) | ||
73 | return; | ||
74 | |||
75 | SceneObjectGroup grp = m_Scene.GetSceneObjectGroup(m_Scene.RegionInfo.RegionSettings.TelehubObject); | ||
76 | if (grp == null) | ||
77 | return; | ||
78 | |||
79 | SpawnPoint sp = new SpawnPoint(); | ||
80 | sp.SetLocation(grp.AbsolutePosition, grp.GroupRotation, point); | ||
81 | m_Scene.RegionInfo.RegionSettings.AddSpawnPoint(sp); | ||
82 | m_Scene.RegionInfo.RegionSettings.Save(); | ||
83 | } | ||
84 | |||
85 | // Remove a SpawnPoint from the Telehub | ||
86 | public void RemoveSpawnPoint(int spawnpoint) | ||
87 | { | ||
88 | if (m_Scene.RegionInfo.RegionSettings.TelehubObject == UUID.Zero) | ||
89 | return; | ||
90 | |||
91 | m_Scene.RegionInfo.RegionSettings.RemoveSpawnPoint(spawnpoint); | ||
92 | m_Scene.RegionInfo.RegionSettings.Save(); | ||
93 | } | ||
94 | } | ||
95 | } | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index c66f30e..5c56150 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3835,8 +3835,61 @@ namespace OpenSim.Region.Framework.Scenes | |||
3835 | } | 3835 | } |
3836 | } | 3836 | } |
3837 | 3837 | ||
3838 | private void CheckAndAdjustTelehub(SceneObjectGroup telehub, ref Vector3 pos) | ||
3839 | { | ||
3840 | if ((m_teleportFlags & (TeleportFlags.ViaLogin | TeleportFlags.ViaRegionID)) == | ||
3841 | (TeleportFlags.ViaLogin | TeleportFlags.ViaRegionID) || | ||
3842 | (m_teleportFlags & TeleportFlags.ViaLandmark) != 0 || | ||
3843 | (m_teleportFlags & TeleportFlags.ViaLocation) != 0 || | ||
3844 | (m_teleportFlags & Constants.TeleportFlags.ViaHGLogin) != 0) | ||
3845 | { | ||
3846 | if (GodLevel < 200 && | ||
3847 | ((!m_scene.Permissions.IsGod(m_uuid) && | ||
3848 | !m_scene.RegionInfo.EstateSettings.IsEstateManager(m_uuid)) || | ||
3849 | (m_teleportFlags & TeleportFlags.ViaLocation) != 0 || | ||
3850 | (m_teleportFlags & Constants.TeleportFlags.ViaHGLogin) != 0)) | ||
3851 | { | ||
3852 | SpawnPoint[] spawnPoints = m_scene.RegionInfo.RegionSettings.SpawnPoints().ToArray(); | ||
3853 | if (spawnPoints.Length == 0) | ||
3854 | return; | ||
3855 | |||
3856 | float distance = 9999; | ||
3857 | int closest = -1; | ||
3858 | |||
3859 | for (int i = 0 ; i < spawnPoints.Length ; i++) | ||
3860 | { | ||
3861 | Vector3 spawnPosition = spawnPoints[i].GetLocation(telehub.AbsolutePosition, telehub.GroupRotation); | ||
3862 | Vector3 offset = spawnPosition - pos; | ||
3863 | float d = Vector3.Mag(offset); | ||
3864 | if (d >= distance) | ||
3865 | continue; | ||
3866 | ILandObject land = m_scene.LandChannel.GetLandObject(spawnPosition.X, spawnPosition.Y); | ||
3867 | if (land == null) | ||
3868 | continue; | ||
3869 | if (land.IsEitherBannedOrRestricted(UUID)) | ||
3870 | continue; | ||
3871 | distance = d; | ||
3872 | closest = i; | ||
3873 | } | ||
3874 | if (closest == -1) | ||
3875 | return; | ||
3876 | |||
3877 | pos = spawnPoints[closest].GetLocation(telehub.AbsolutePosition, telehub.GroupRotation); | ||
3878 | } | ||
3879 | } | ||
3880 | } | ||
3881 | |||
3838 | private void CheckAndAdjustLandingPoint(ref Vector3 pos) | 3882 | private void CheckAndAdjustLandingPoint(ref Vector3 pos) |
3839 | { | 3883 | { |
3884 | SceneObjectGroup telehub = null; | ||
3885 | if (m_scene.RegionInfo.RegionSettings.TelehubObject != UUID.Zero && (telehub = m_scene.GetSceneObjectGroup(m_scene.RegionInfo.RegionSettings.TelehubObject)) != null) | ||
3886 | { | ||
3887 | if (!m_scene.RegionInfo.EstateSettings.AllowDirectTeleport) | ||
3888 | { | ||
3889 | CheckAndAdjustTelehub(telehub, ref pos); | ||
3890 | return; | ||
3891 | } | ||
3892 | } | ||
3840 | 3893 | ||
3841 | ILandObject land = m_scene.LandChannel.GetLandObject(pos.X, pos.Y); | 3894 | ILandObject land = m_scene.LandChannel.GetLandObject(pos.X, pos.Y); |
3842 | if (land != null) | 3895 | if (land != null) |
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index 32de85f..bbf3729 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -658,6 +658,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
658 | public event ModifyTerrain OnModifyTerrain; | 658 | public event ModifyTerrain OnModifyTerrain; |
659 | public event BakeTerrain OnBakeTerrain; | 659 | public event BakeTerrain OnBakeTerrain; |
660 | public event EstateChangeInfo OnEstateChangeInfo; | 660 | public event EstateChangeInfo OnEstateChangeInfo; |
661 | public event EstateManageTelehub OnEstateManageTelehub; | ||
661 | public event SetAppearance OnSetAppearance; | 662 | public event SetAppearance OnSetAppearance; |
662 | public event AvatarNowWearing OnAvatarNowWearing; | 663 | public event AvatarNowWearing OnAvatarNowWearing; |
663 | public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv; | 664 | public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv; |
@@ -1530,6 +1531,11 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
1530 | 1531 | ||
1531 | } | 1532 | } |
1532 | 1533 | ||
1534 | public void SendTelehubInfo(UUID ObjectID, string ObjectName, Vector3 ObjectPos, Quaternion ObjectRot, List<Vector3> SpawnPoint) | ||
1535 | { | ||
1536 | |||
1537 | } | ||
1538 | |||
1533 | public void SendMapItemReply(mapItemReply[] replies, uint mapitemtype, uint flags) | 1539 | public void SendMapItemReply(mapItemReply[] replies, uint mapitemtype, uint flags) |
1534 | { | 1540 | { |
1535 | 1541 | ||
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 5f4f937..6a6c4c3 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -32,6 +32,7 @@ using OpenMetaverse; | |||
32 | using OpenMetaverse.Packets; | 32 | using OpenMetaverse.Packets; |
33 | using OpenSim.Framework; | 33 | using OpenSim.Framework; |
34 | using OpenSim.Region.Framework.Scenes; | 34 | using OpenSim.Region.Framework.Scenes; |
35 | using OpenSim.Region.CoreModules.World.Estate; | ||
35 | 36 | ||
36 | namespace OpenSim.Region.OptionalModules.World.NPC | 37 | namespace OpenSim.Region.OptionalModules.World.NPC |
37 | { | 38 | { |
@@ -334,6 +335,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
334 | public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; | 335 | public event EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest; |
335 | public event EstateTeleportAllUsersHomeRequest OnEstateTeleportAllUsersHomeRequest; | 336 | public event EstateTeleportAllUsersHomeRequest OnEstateTeleportAllUsersHomeRequest; |
336 | public event EstateChangeInfo OnEstateChangeInfo; | 337 | public event EstateChangeInfo OnEstateChangeInfo; |
338 | public event EstateManageTelehub OnEstateManageTelehub; | ||
337 | public event ScriptReset OnScriptReset; | 339 | public event ScriptReset OnScriptReset; |
338 | public event GetScriptRunning OnGetScriptRunning; | 340 | public event GetScriptRunning OnGetScriptRunning; |
339 | public event SetScriptRunning OnSetScriptRunning; | 341 | public event SetScriptRunning OnSetScriptRunning; |
@@ -923,6 +925,9 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
923 | public void SendEstateCovenantInformation(UUID covenant) | 925 | public void SendEstateCovenantInformation(UUID covenant) |
924 | { | 926 | { |
925 | } | 927 | } |
928 | public void SendTelehubInfo(UUID ObjectID, string ObjectName, Vector3 ObjectPos, Quaternion ObjectRot, List<Vector3> SpawnPoint) | ||
929 | { | ||
930 | } | ||
926 | public void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, string abuseEmail, UUID estateOwner) | 931 | public void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, string abuseEmail, UUID estateOwner) |
927 | { | 932 | { |
928 | } | 933 | } |