Merge branch 'master' into casper

This commit is contained in:
CasperW
2009-12-26 18:17:55 +01:00
30 changed files with 744 additions and 20 deletions

View File

@@ -6606,6 +6606,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
// retain pathcurve
shapeBlock.PathCurve = part.Shape.PathCurve;
part.Shape.SculptEntry = false;
return shapeBlock;
}
@@ -6657,6 +6658,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
shapeBlock.PathShearX = (byte)(100 * topshear.x);
shapeBlock.PathShearY = (byte)(100 * topshear.y);
part.Shape.SculptEntry = false;
part.UpdateShape(shapeBlock);
}
@@ -6701,6 +6703,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
shapeBlock.ProfileBegin = (ushort)(50000 * dimple.x);
shapeBlock.ProfileEnd = (ushort)(50000 * (1 - dimple.y));
part.Shape.SculptEntry = false;
part.UpdateShape(shapeBlock);
}
@@ -6824,6 +6827,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
}
shapeBlock.PathSkew = (sbyte)(100 * skew);
part.Shape.SculptEntry = false;
part.UpdateShape(shapeBlock);
}

View File

@@ -422,7 +422,8 @@ namespace OpenSim.Region.ScriptEngine.Shared
public int Length
{
get {
get
{
if (m_data == null)
m_data=new Object[0];
return m_data.Length;
@@ -431,7 +432,40 @@ namespace OpenSim.Region.ScriptEngine.Shared
public int Size
{
get { return 0; }
get
{
if (m_data == null)
m_data=new Object[0];
int size = 0;
foreach (Object o in m_data)
{
if (o is LSL_Types.LSLInteger)
size += 4;
else if (o is LSL_Types.LSLFloat)
size += 8;
else if (o is LSL_Types.LSLString)
size += ((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)
size += 32;
else if (o is LSL_Types.Quaternion)
size += 64;
else if (o is int)
size += 4;
else if (o is string)
size += ((string)o).Length;
else if (o is float)
size += 8;
else if (o is double)
size += 16;
else
throw new Exception("Unknown type in List.Size: " + o.GetType().ToString());
}
return size;
}
}
public object[] Data