Merge branch 'master' into careminster

avinationmerge
Melanie 2009-11-21 16:00:18 +00:00
commit 0844e5951c
6 changed files with 38 additions and 5 deletions

View File

@ -1099,8 +1099,6 @@ namespace OpenSim.Framework
prim.Sculpt = new Primitive.SculptData(); prim.Sculpt = new Primitive.SculptData();
prim.Sculpt.Type = (OpenMetaverse.SculptType)this.SculptType; prim.Sculpt.Type = (OpenMetaverse.SculptType)this.SculptType;
prim.Sculpt.SculptTexture = this.SculptTexture; prim.Sculpt.SculptTexture = this.SculptTexture;
return prim;
} }
prim.PrimData.PathShearX = this.PathShearX < 128 ? (float)this.PathShearX * 0.01f : (float)(this.PathShearX - 256) * 0.01f; prim.PrimData.PathShearX = this.PathShearX < 128 ? (float)this.PathShearX * 0.01f : (float)(this.PathShearX - 256) * 0.01f;

View File

@ -1266,7 +1266,7 @@ namespace OpenSim.Region.Framework.Scenes
// allocations, and there is no more work to be done until someone logs in // allocations, and there is no more work to be done until someone logs in
GC.Collect(); GC.Collect();
m_log.DebugFormat("[REGION]: Enabling Logins for {0}", RegionInfo.RegionName); m_log.DebugFormat("[REGION]: Enabling logins for {0}", RegionInfo.RegionName);
loginsdisabled = false; loginsdisabled = false;
} }
} }

View File

@ -2075,6 +2075,7 @@ namespace OpenSim.Region.Framework.Scenes
{ {
if (PhysActor != null) if (PhysActor != null)
{ {
Vector3 newpos = new Vector3(PhysActor.Position.GetBytes(), 0); Vector3 newpos = new Vector3(PhysActor.Position.GetBytes(), 0);
if (m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.N) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.S) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.E) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.W)) if (m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.N) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.S) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.E) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.W))
@ -2082,6 +2083,7 @@ namespace OpenSim.Region.Framework.Scenes
m_parentGroup.AbsolutePosition = newpos; m_parentGroup.AbsolutePosition = newpos;
return; return;
} }
//m_parentGroup.RootPart.m_groupPosition = newpos;
} }
ScheduleTerseUpdate(); ScheduleTerseUpdate();
@ -2393,6 +2395,7 @@ namespace OpenSim.Region.Framework.Scenes
if (!RotationOffset.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) || if (!RotationOffset.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) ||
!Acceleration.Equals(m_lastAcceleration) || !Acceleration.Equals(m_lastAcceleration) ||
!Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) || !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) ||
Velocity.ApproxEquals(Vector3.Zero, VELOCITY_TOLERANCE) ||
!AngularVelocity.ApproxEquals(m_lastAngularVelocity, VELOCITY_TOLERANCE) || !AngularVelocity.ApproxEquals(m_lastAngularVelocity, VELOCITY_TOLERANCE) ||
!OffsetPosition.ApproxEquals(m_lastPosition, POSITION_TOLERANCE) || !OffsetPosition.ApproxEquals(m_lastPosition, POSITION_TOLERANCE) ||
Environment.TickCount - m_lastTerseSent > TIME_MS_TOLERANCE) Environment.TickCount - m_lastTerseSent > TIME_MS_TOLERANCE)
@ -2427,6 +2430,7 @@ namespace OpenSim.Region.Framework.Scenes
m_updateFlag = 0; //Same here m_updateFlag = 0; //Same here
} }
} }
ClearUpdateSchedule();
} }
/// <summary> /// <summary>

View File

@ -995,6 +995,8 @@ namespace OpenSim.Region.Framework.Scenes
Animator.TrySetMovementAnimation("LAND"); Animator.TrySetMovementAnimation("LAND");
SendFullUpdateToAllClients(); SendFullUpdateToAllClients();
ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId,
AbsolutePosition, Velocity, -Vector3.UnitZ, m_bodyRot, Vector4.UnitW, m_uuid, null, GetUpdatePriority(ControllingClient)));
} }
public void AddNeighbourRegion(ulong regionHandle, string cap) public void AddNeighbourRegion(ulong regionHandle, string cap)

View File

@ -2416,6 +2416,9 @@ Console.WriteLine(" JointCreateFixed");
{ {
// Averate previous velocity with the new one so // Averate previous velocity with the new one so
// client object interpolation works a 'little' better // client object interpolation works a 'little' better
if (_zeroFlag)
return Vector3.Zero;
Vector3 returnVelocity = Vector3.Zero; Vector3 returnVelocity = Vector3.Zero;
returnVelocity.X = (m_lastVelocity.X + _velocity.X)/2; returnVelocity.X = (m_lastVelocity.X + _velocity.X)/2;
returnVelocity.Y = (m_lastVelocity.Y + _velocity.Y)/2; returnVelocity.Y = (m_lastVelocity.Y + _velocity.Y)/2;
@ -2702,7 +2705,7 @@ Console.WriteLine(" JointCreateFixed");
//outofBounds = true; //outofBounds = true;
} }
// float Adiff = 1.0f - Math.Abs(Quaternion.Dot(m_lastorientation, l_orientation)); //float Adiff = 1.0f - Math.Abs(Quaternion.Dot(m_lastorientation, l_orientation));
//Console.WriteLine("Adiff " + m_primName + " = " + Adiff); //Console.WriteLine("Adiff " + m_primName + " = " + Adiff);
if ((Math.Abs(m_lastposition.X - l_position.X) < 0.02) if ((Math.Abs(m_lastposition.X - l_position.X) < 0.02)
&& (Math.Abs(m_lastposition.Y - l_position.Y) < 0.02) && (Math.Abs(m_lastposition.Y - l_position.Y) < 0.02)
@ -2718,6 +2721,8 @@ Console.WriteLine(" JointCreateFixed");
{ {
//m_log.Debug(Math.Abs(m_lastposition.X - l_position.X).ToString()); //m_log.Debug(Math.Abs(m_lastposition.X - l_position.X).ToString());
_zeroFlag = false; _zeroFlag = false;
m_lastUpdateSent = false;
//m_throttleUpdates = false;
} }
if (_zeroFlag) if (_zeroFlag)
@ -2744,7 +2749,9 @@ Console.WriteLine(" JointCreateFixed");
m_rotationalVelocity = pv; m_rotationalVelocity = pv;
if (_parent == null) if (_parent == null)
{
base.RequestPhysicsterseUpdate(); base.RequestPhysicsterseUpdate();
}
m_lastUpdateSent = true; m_lastUpdateSent = true;
} }
@ -2754,7 +2761,9 @@ Console.WriteLine(" JointCreateFixed");
if (lastZeroFlag != _zeroFlag) if (lastZeroFlag != _zeroFlag)
{ {
if (_parent == null) if (_parent == null)
{
base.RequestPhysicsterseUpdate(); base.RequestPhysicsterseUpdate();
}
} }
m_lastVelocity = _velocity; m_lastVelocity = _velocity;
@ -2787,7 +2796,9 @@ Console.WriteLine(" JointCreateFixed");
if (!m_throttleUpdates || throttleCounter > _parent_scene.geomUpdatesPerThrottledUpdate) if (!m_throttleUpdates || throttleCounter > _parent_scene.geomUpdatesPerThrottledUpdate)
{ {
if (_parent == null) if (_parent == null)
{
base.RequestPhysicsterseUpdate(); base.RequestPhysicsterseUpdate();
}
} }
else else
{ {

View File

@ -722,8 +722,26 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
if (fls.kids.Top is IdentExpression && 1 == fls.kids.Count) if (fls.kids.Top is IdentExpression && 1 == fls.kids.Count)
return retstr; return retstr;
foreach (SYMBOL s in fls.kids) for (int i = 0; i < fls.kids.Count; i++)
{ {
SYMBOL s = (SYMBOL)fls.kids[i];
// Statements surrounded by parentheses in for loops
//
// e.g. for ((i = 0), (j = 7); (i < 10); (++i))
//
// are legal in LSL but not in C# so we need to discard the parentheses
//
// The following, however, does not appear to be legal in LLS
//
// for ((i = 0, j = 7); (i < 10); (++i))
//
// As of Friday 20th November 2009, the Linden Lab simulators appear simply never to compile or run this
// script but with no debug or warnings at all! Therefore, we won't deal with this yet (which looks
// like it would be considerably more complicated to handle).
while (s is ParenthesisExpression)
s = (SYMBOL)s.kids.Pop();
retstr += GenerateNode(s); retstr += GenerateNode(s);
if (0 < comma--) if (0 < comma--)
retstr += Generate(", "); retstr += Generate(", ");