add PRIM_OMEGA to llGet(LINK)PrimitiveParams. This will not return same values as spec, because the way our targetomega works. ( only did minor testing)

LSLKeyTest
UbitUmarov 2016-06-26 14:40:26 +01:00
parent 71404be21d
commit bc4e5d81b9
1 changed files with 24 additions and 0 deletions

View File

@ -11132,6 +11132,30 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
0 0
)); ));
break; break;
case (int)ScriptBaseClass.PRIM_OMEGA:
// this may return values diferent from SL since we don't handle set the same way
float gain = 1.0f; // we don't use gain and don't store it
Vector3 axis = part.AngularVelocity;
float spin = axis.Length();
if(spin < 1.0e-6)
{
axis = Vector3.Zero;
gain = 0.0f;
spin = 0.0f;
}
else
{
axis = axis * (1.0f/spin);
}
res.Add(new LSL_Vector(axis.X,
axis.Y,
axis.Z));
res.Add(new LSL_Float(spin));
res.Add(new LSL_Float(gain));
break;
case (int)ScriptBaseClass.PRIM_LINK_TARGET: case (int)ScriptBaseClass.PRIM_LINK_TARGET:
// TODO: Should be issuing a runtime script warning in this case. // TODO: Should be issuing a runtime script warning in this case.