mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 17:32:42 +08:00
Merge branch 'avination' into careminster
This commit is contained in:
@@ -509,6 +509,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
Vector3 newpos = Vector3.Zero;
|
||||
OpenSim.Services.Interfaces.GridRegion destination = null;
|
||||
|
||||
if (m_rootPart.KeyframeMotion != null)
|
||||
m_rootPart.KeyframeMotion.StartCrossingCheck();
|
||||
|
||||
bool canCross = true;
|
||||
foreach (ScenePresence av in m_linkedAvatars)
|
||||
{
|
||||
@@ -551,7 +554,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
av.ParentID = 0;
|
||||
}
|
||||
|
||||
// m_linkedAvatars.Clear();
|
||||
// m_linkedAvatars.Clear();
|
||||
m_scene.CrossPrimGroupIntoNewRegion(val, this, true);
|
||||
|
||||
// Normalize
|
||||
@@ -599,11 +602,16 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
avsToCross.Clear();
|
||||
|
||||
}
|
||||
else if (RootPart.PhysActor != null)
|
||||
else
|
||||
{
|
||||
RootPart.PhysActor.CrossingFailure();
|
||||
}
|
||||
if (m_rootPart.KeyframeMotion != null)
|
||||
m_rootPart.KeyframeMotion.CrossingFailure();
|
||||
|
||||
if (RootPart.PhysActor != null)
|
||||
{
|
||||
RootPart.PhysActor.CrossingFailure();
|
||||
}
|
||||
}
|
||||
Vector3 oldp = AbsolutePosition;
|
||||
val.X = Util.Clamp<float>(oldp.X, 0.5f, (float)Constants.RegionSize - 0.5f);
|
||||
val.Y = Util.Clamp<float>(oldp.Y, 0.5f, (float)Constants.RegionSize - 0.5f);
|
||||
@@ -2054,15 +2062,16 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
HasGroupChangedDueToDelink = false;
|
||||
|
||||
m_scene.EventManager.TriggerOnSceneObjectPreSave(backup_group, this);
|
||||
/*
|
||||
backup_group.ForEachPart(delegate(SceneObjectPart part)
|
||||
{
|
||||
if (part.KeyframeMotion != null)
|
||||
{
|
||||
part.KeyframeMotion = KeyframeMotion.FromData(backup_group, part.KeyframeMotion.Serialize());
|
||||
part.KeyframeMotion.UpdateSceneObject(this);
|
||||
// part.KeyframeMotion.UpdateSceneObject(this);
|
||||
}
|
||||
});
|
||||
|
||||
*/
|
||||
datastore.StoreObject(backup_group, m_scene.RegionInfo.RegionID);
|
||||
|
||||
backup_group.ForEachPart(delegate(SceneObjectPart part)
|
||||
@@ -3025,7 +3034,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
/// <param name="objectGroup"></param>
|
||||
public virtual void DetachFromBackup()
|
||||
{
|
||||
m_scene.SceneGraph.FireDetachFromBackup(this);
|
||||
if (m_scene != null)
|
||||
m_scene.SceneGraph.FireDetachFromBackup(this);
|
||||
if (m_isBackedUp && Scene != null)
|
||||
m_scene.EventManager.OnBackup -= ProcessBackup;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user