Merge branch 'avination' into careminster

avinationmerge
Melanie 2013-03-19 01:24:14 +00:00
commit 8d9bfda727
2 changed files with 36 additions and 11 deletions

View File

@ -1561,17 +1561,42 @@ namespace OpenSim.Region.Framework.Scenes
m_doingCamRayCast = false;
if (hitYN && localid != LocalId)
{
CameraConstraintActive = true;
pNormal.X = (float)Math.Round(pNormal.X, 2);
pNormal.Y = (float)Math.Round(pNormal.Y, 2);
pNormal.Z = (float)Math.Round(pNormal.Z, 2);
pNormal.Normalize();
collisionPoint.X = (float)Math.Round(collisionPoint.X, 1);
collisionPoint.Y = (float)Math.Round(collisionPoint.Y, 1);
collisionPoint.Z = (float)Math.Round(collisionPoint.Z, 1);
SceneObjectGroup group = m_scene.GetGroupByPrim(localid);
bool IsPrim = group != null;
if (IsPrim)
{
SceneObjectPart part = group.GetPart(localid);
if (part != null && !part.VolumeDetectActive)
{
CameraConstraintActive = true;
pNormal.X = (float) Math.Round(pNormal.X, 2);
pNormal.Y = (float) Math.Round(pNormal.Y, 2);
pNormal.Z = (float) Math.Round(pNormal.Z, 2);
pNormal.Normalize();
collisionPoint.X = (float) Math.Round(collisionPoint.X, 1);
collisionPoint.Y = (float) Math.Round(collisionPoint.Y, 1);
collisionPoint.Z = (float) Math.Round(collisionPoint.Z, 1);
Vector4 plane = new Vector4(pNormal.X, pNormal.Y, pNormal.Z, Vector3.Dot(collisionPoint, pNormal));
UpdateCameraCollisionPlane(plane);
Vector4 plane = new Vector4(pNormal.X, pNormal.Y, pNormal.Z,
Vector3.Dot(collisionPoint, pNormal));
UpdateCameraCollisionPlane(plane);
}
}
else
{
CameraConstraintActive = true;
pNormal.X = (float) Math.Round(pNormal.X, 2);
pNormal.Y = (float) Math.Round(pNormal.Y, 2);
pNormal.Z = (float) Math.Round(pNormal.Z, 2);
pNormal.Normalize();
collisionPoint.X = (float) Math.Round(collisionPoint.X, 1);
collisionPoint.Y = (float) Math.Round(collisionPoint.Y, 1);
collisionPoint.Z = (float) Math.Round(collisionPoint.Z, 1);
Vector4 plane = new Vector4(pNormal.X, pNormal.Y, pNormal.Z,
Vector3.Dot(collisionPoint, pNormal));
UpdateCameraCollisionPlane(plane);
}
}
else if (!m_pos.ApproxEquals(m_lastPosition, POSITION_TOLERANCE) ||
!Rotation.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE))

View File

@ -512,7 +512,7 @@ namespace OpenSim.Region.ScriptEngine.Shared
else if (o is LSL_Types.LSLFloat)
size += 8;
else if (o is LSL_Types.LSLString)
size += ((LSL_Types.LSLString)o).m_string.Length;
size += ((LSL_Types.LSLString)o).m_string == null ? 0 : ((LSL_Types.LSLString)o).m_string.Length;
else if (o is LSL_Types.key)
size += ((LSL_Types.key)o).value.Length;
else if (o is LSL_Types.Vector3)