From 1dfc9902649bfb4f02340644a0589fe139a3322a Mon Sep 17 00:00:00 2001
From: Melanie
Date: Thu, 23 Feb 2012 01:40:30 +0000
Subject: Add a position parameter to region crossing of objects. This avoids
the potential bad update that places an object at the opposite side of the
origin sim for a moment before actually crossing it. Especially important in
grids like OSG where lag between sims is high.
---
OpenSim/Region/Framework/Scenes/Scene.cs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index e7f835c..7b79732 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -2317,7 +2317,7 @@ namespace OpenSim.Region.Framework.Scenes
///
///
///
- public bool IncomingCreateObject(ISceneObject sog)
+ public bool IncomingCreateObject(Vector3 newPosition, ISceneObject sog)
{
//m_log.DebugFormat(" >>> IncomingCreateObject(sog) <<< {0} deleted? {1} isAttach? {2}", ((SceneObjectGroup)sog).AbsolutePosition,
// ((SceneObjectGroup)sog).IsDeleted, ((SceneObjectGroup)sog).RootPart.IsAttachment);
@@ -2333,6 +2333,9 @@ namespace OpenSim.Region.Framework.Scenes
return false;
}
+ if (newPosition != Vector3.Zero)
+ newObject.RootPart.GroupPosition = newPosition;
+
if (!AddSceneObject(newObject))
{
m_log.DebugFormat("[SCENE]: Problem adding scene object {0} in {1} ", sog.UUID, RegionInfo.RegionName);
--
cgit v1.1