diff options
author | Diva Canto | 2012-02-19 16:48:09 -0800 |
---|---|---|
committer | Diva Canto | 2012-02-19 16:48:09 -0800 |
commit | fdda57cf1083fb1f220f5330e83cda871ad3e5d5 (patch) | |
tree | 91ac2acc221025df4767b9a00dc3208409ad900b /OpenSim/Region | |
parent | One more tweak related to the previous 2 commits. (diff) | |
parent | Fix:OmegaX, OmegaY and OmegaZ not saved for child prims http://opensimulator.... (diff) | |
download | opensim-SC_OLD-fdda57cf1083fb1f220f5330e83cda871ad3e5d5.zip opensim-SC_OLD-fdda57cf1083fb1f220f5330e83cda871ad3e5d5.tar.gz opensim-SC_OLD-fdda57cf1083fb1f220f5330e83cda871ad3e5d5.tar.bz2 opensim-SC_OLD-fdda57cf1083fb1f220f5330e83cda871ad3e5d5.tar.xz |
Merge branch '0.7.3-post-fixes' of ssh://opensimulator.org/var/git/opensim into 0.7.3-post-fixes
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Land/LandObject.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 34 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 6 |
3 files changed, 35 insertions, 8 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index d146901..cc42f7f 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs | |||
@@ -272,7 +272,8 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
272 | ParcelFlags.AllowGroupScripts | | 272 | ParcelFlags.AllowGroupScripts | |
273 | ParcelFlags.CreateGroupObjects | | 273 | ParcelFlags.CreateGroupObjects | |
274 | ParcelFlags.AllowAPrimitiveEntry | | 274 | ParcelFlags.AllowAPrimitiveEntry | |
275 | ParcelFlags.AllowGroupObjectEntry); | 275 | ParcelFlags.AllowGroupObjectEntry | |
276 | ParcelFlags.AllowFly); | ||
276 | } | 277 | } |
277 | 278 | ||
278 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandSetSale)) | 279 | if (m_scene.Permissions.CanEditParcelProperties(remote_client.AgentId, this, GroupPowers.LandSetSale)) |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 4c8e2d2..d2a8ad0 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3259,8 +3259,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
3259 | /// also return a reason.</returns> | 3259 | /// also return a reason.</returns> |
3260 | public bool NewUserConnection(AgentCircuitData agent, uint teleportFlags, out string reason, bool requirePresenceLookup) | 3260 | public bool NewUserConnection(AgentCircuitData agent, uint teleportFlags, out string reason, bool requirePresenceLookup) |
3261 | { | 3261 | { |
3262 | bool vialogin = ((teleportFlags & (uint)Constants.TeleportFlags.ViaLogin) != 0 || | 3262 | bool vialogin = ((teleportFlags & (uint)TPFlags.ViaLogin) != 0 || |
3263 | (teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0); | 3263 | (teleportFlags & (uint)TPFlags.ViaHGLogin) != 0); |
3264 | bool viahome = ((teleportFlags & (uint)TPFlags.ViaHome) != 0); | ||
3265 | bool godlike = ((teleportFlags & (uint)TPFlags.Godlike) != 0); | ||
3266 | |||
3264 | reason = String.Empty; | 3267 | reason = String.Empty; |
3265 | 3268 | ||
3266 | //Teleport flags: | 3269 | //Teleport flags: |
@@ -3272,9 +3275,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
3272 | 3275 | ||
3273 | // Don't disable this log message - it's too helpful | 3276 | // Don't disable this log message - it's too helpful |
3274 | m_log.DebugFormat( | 3277 | m_log.DebugFormat( |
3275 | "[SCENE]: Region {0} told of incoming {1} agent {2} {3} {4} (circuit code {5}, IP {6}, viewer {7}, teleportflags {8}, position {9})", | 3278 | "[SCENE]: Region {0} told of incoming {1} agent {2} {3} {4} (circuit code {5}, IP {6}, viewer {7}, teleportflags ({8}), position {9})", |
3276 | RegionInfo.RegionName, (agent.child ? "child" : "root"),agent.firstname, agent.lastname, | 3279 | RegionInfo.RegionName, (agent.child ? "child" : "root"),agent.firstname, agent.lastname, |
3277 | agent.AgentID, agent.circuitcode, agent.IPAddress, agent.Viewer, teleportFlags, agent.startpos); | 3280 | agent.AgentID, agent.circuitcode, agent.IPAddress, agent.Viewer, ((TPFlags)teleportFlags).ToString(), agent.startpos); |
3278 | 3281 | ||
3279 | if (LoginsDisabled) | 3282 | if (LoginsDisabled) |
3280 | { | 3283 | { |
@@ -3427,6 +3430,29 @@ namespace OpenSim.Region.Framework.Scenes | |||
3427 | agent.startpos.Z = 720; | 3430 | agent.startpos.Z = 720; |
3428 | } | 3431 | } |
3429 | } | 3432 | } |
3433 | |||
3434 | // Honor Estate teleport routing via Telehubs excluding ViaHome and GodLike TeleportFlags | ||
3435 | if (RegionInfo.RegionSettings.TelehubObject != UUID.Zero && | ||
3436 | RegionInfo.EstateSettings.AllowDirectTeleport == false && | ||
3437 | !viahome && !godlike) | ||
3438 | { | ||
3439 | SceneObjectGroup telehub = GetSceneObjectGroup(RegionInfo.RegionSettings.TelehubObject); | ||
3440 | // Can have multiple SpawnPoints | ||
3441 | List<SpawnPoint> spawnpoints = RegionInfo.RegionSettings.SpawnPoints(); | ||
3442 | if ( spawnpoints.Count > 1) | ||
3443 | { | ||
3444 | // We have multiple SpawnPoints, Route the agent to a random one | ||
3445 | agent.startpos = spawnpoints[Util.RandomClass.Next(spawnpoints.Count)].GetLocation(telehub.AbsolutePosition, telehub.GroupRotation); | ||
3446 | } | ||
3447 | else | ||
3448 | { | ||
3449 | // We have a single SpawnPoint and will route the agent to it | ||
3450 | agent.startpos = spawnpoints[0].GetLocation(telehub.AbsolutePosition, telehub.GroupRotation); | ||
3451 | } | ||
3452 | |||
3453 | return true; | ||
3454 | } | ||
3455 | |||
3430 | // Honor parcel landing type and position. | 3456 | // Honor parcel landing type and position. |
3431 | if (land != null) | 3457 | if (land != null) |
3432 | { | 3458 | { |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index b130bf7..65905a0 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1556,9 +1556,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1556 | dupe.GroupPosition = GroupPosition; | 1556 | dupe.GroupPosition = GroupPosition; |
1557 | dupe.OffsetPosition = OffsetPosition; | 1557 | dupe.OffsetPosition = OffsetPosition; |
1558 | dupe.RotationOffset = RotationOffset; | 1558 | dupe.RotationOffset = RotationOffset; |
1559 | dupe.Velocity = new Vector3(0, 0, 0); | 1559 | dupe.Velocity = Velocity; |
1560 | dupe.Acceleration = new Vector3(0, 0, 0); | 1560 | dupe.Acceleration = Acceleration; |
1561 | dupe.AngularVelocity = new Vector3(0, 0, 0); | 1561 | dupe.AngularVelocity = AngularVelocity; |
1562 | dupe.Flags = Flags; | 1562 | dupe.Flags = Flags; |
1563 | 1563 | ||
1564 | dupe.OwnershipCost = OwnershipCost; | 1564 | dupe.OwnershipCost = OwnershipCost; |