From 44e566260c9da5ff62c448cfdd67063c7a486126 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Tue, 23 Sep 2008 11:41:34 +0000
Subject: Mantis #2243 Thank you, tyre, for a patch that refactors LSL to use a
unified set of method signatures and type names, reorders methods and removes
unused and adds new method stubs.
---
.../Common/BuiltIn_Commands_BaseClass.cs | 1450 +++++++++---------
.../ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 1600 +++++++++++---------
.../Common/LSL_BuiltIn_Commands_Interface.cs | 963 +++++-------
OpenSim/Region/ScriptEngine/Common/LSL_Types.cs | 147 +-
.../ScriptEngine/Common/OSSL_BuilIn_Commands.cs | 18 +
.../Shared/Api/Implementation/LSL_Api.cs | 1035 +++++++------
.../ScriptEngine/Shared/Api/Interface/ILSL_Api.cs | 960 +++++-------
.../ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs | 1381 +++++++++--------
OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs | 18 +-
9 files changed, 3692 insertions(+), 3880 deletions(-)
diff --git a/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs b/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs
index 528df40..44011de 100644
--- a/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs
+++ b/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs
@@ -30,10 +30,14 @@ using System.Runtime.Remoting.Lifetime;
using System.Threading;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.ScriptEngine.Common.ScriptEngineBase;
-using integer = System.Int32;
-using key = System.String;
-using vector = OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3;
-using rotation = OpenSim.Region.ScriptEngine.Common.LSL_Types.Quaternion;
+
+using LSL_Float = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLFloat;
+using LSL_Integer = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLInteger;
+using LSL_Key = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLString;
+using LSL_List = OpenSim.Region.ScriptEngine.Common.LSL_Types.list;
+using LSL_Rotation = OpenSim.Region.ScriptEngine.Common.LSL_Types.Quaternion;
+using LSL_String = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLString;
+using LSL_Vector = OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3;
namespace OpenSim.Region.ScriptEngine.Common
{
@@ -160,1724 +164,1714 @@ namespace OpenSim.Region.ScriptEngine.Common
return m_LSL_Functions.GetCommander(name);
}
- public double llSin(double f)
+ public LSL_Integer llAbs(int i)
{
- return m_LSL_Functions.llSin(f);
+ return m_LSL_Functions.llAbs(i);
}
- public void osSetRegionWaterHeight(double height)
+
+ public LSL_Float llAcos(double val)
{
- m_LSL_Functions.osSetRegionWaterHeight(height);
+ return m_LSL_Functions.llAcos(val);
}
- public double llCos(double f)
+
+ public void llAddToLandBanList(string avatar, double hours)
{
- return m_LSL_Functions.llCos(f);
+ m_LSL_Functions.llAddToLandBanList(avatar, hours);
}
- public double llTan(double f)
+ public void llAddToLandPassList(string avatar, double hours)
{
- return m_LSL_Functions.llTan(f);
+ m_LSL_Functions.llAddToLandPassList(avatar, hours);
}
- public double llAtan2(double x, double y)
+ public void llAdjustSoundVolume(double volume)
{
- return m_LSL_Functions.llAtan2(x, y);
+ m_LSL_Functions.llAdjustSoundVolume(volume);
}
- public double llSqrt(double f)
+ public void llAllowInventoryDrop(int add)
{
- return m_LSL_Functions.llSqrt(f);
+ m_LSL_Functions.llAllowInventoryDrop(add);
}
- public double llPow(double fbase, double fexponent)
+ public LSL_Float llAngleBetween(LSL_Rotation a, LSL_Rotation b)
{
- return m_LSL_Functions.llPow(fbase, fexponent);
+ return m_LSL_Functions.llAngleBetween(a, b);
}
- public LSL_Types.LSLInteger llAbs(int i)
+ public void llApplyImpulse(LSL_Vector force, int local)
{
- return m_LSL_Functions.llAbs(i);
+ m_LSL_Functions.llApplyImpulse(force, local);
}
- public double llFabs(double f)
+ public void llApplyRotationalImpulse(LSL_Vector force, int local)
{
- return m_LSL_Functions.llFabs(f);
+ m_LSL_Functions.llApplyRotationalImpulse(force, local);
}
- public double llFrand(double mag)
+ public LSL_Float llAsin(double val)
{
- return m_LSL_Functions.llFrand(mag);
+ return m_LSL_Functions.llAsin(val);
}
- public LSL_Types.LSLInteger llFloor(double f)
+ public LSL_Float llAtan2(double x, double y)
{
- return m_LSL_Functions.llFloor(f);
+ return m_LSL_Functions.llAtan2(x, y);
}
- public LSL_Types.LSLInteger llCeil(double f)
+ public void llAttachToAvatar(int attachment)
{
- return m_LSL_Functions.llCeil(f);
+ m_LSL_Functions.llAttachToAvatar(attachment);
}
- public LSL_Types.LSLInteger llRound(double f)
+ public LSL_Key llAvatarOnSitTarget()
{
- return m_LSL_Functions.llRound(f);
+ return m_LSL_Functions.llAvatarOnSitTarget();
}
- public double llVecMag(vector v)
+ public LSL_Rotation llAxes2Rot(LSL_Vector fwd, LSL_Vector left, LSL_Vector up)
{
- return m_LSL_Functions.llVecMag(v);
+ return m_LSL_Functions.llAxes2Rot(fwd, left, up);
}
- public vector llVecNorm(vector v)
+ public LSL_Rotation llAxisAngle2Rot(LSL_Vector axis, double angle)
{
- return m_LSL_Functions.llVecNorm(v);
+ return m_LSL_Functions.llAxisAngle2Rot(axis, angle);
}
- public double llVecDist(vector a, vector b)
+ public LSL_Integer llBase64ToInteger(string str)
{
- return m_LSL_Functions.llVecDist(a, b);
+ return m_LSL_Functions.llBase64ToInteger(str);
}
- public vector llRot2Euler(rotation r)
+ public LSL_String llBase64ToString(string str)
{
- return m_LSL_Functions.llRot2Euler(r);
+ return m_LSL_Functions.llBase64ToString(str);
}
- public rotation llEuler2Rot(vector v)
+ public void llBreakAllLinks()
{
- return m_LSL_Functions.llEuler2Rot(v);
+ m_LSL_Functions.llBreakAllLinks();
}
- public rotation llAxes2Rot(vector fwd, vector left, vector up)
+ public void llBreakLink(int linknum)
{
- return m_LSL_Functions.llAxes2Rot(fwd, left, up);
+ m_LSL_Functions.llBreakLink(linknum);
}
- public vector llRot2Fwd(rotation r)
+ public LSL_Integer llCeil(double f)
{
- return m_LSL_Functions.llRot2Fwd(r);
+ return m_LSL_Functions.llCeil(f);
}
- public vector llRot2Left(rotation r)
+ public void llClearCameraParams()
{
- return m_LSL_Functions.llRot2Left(r);
+ m_LSL_Functions.llClearCameraParams();
}
- public vector llRot2Up(rotation r)
+ public void llCloseRemoteDataChannel(string channel)
{
- return m_LSL_Functions.llRot2Up(r);
+ m_LSL_Functions.llCloseRemoteDataChannel(channel);
}
- public rotation llRotBetween(vector start, vector end)
+ public LSL_Float llCloud(LSL_Vector offset)
{
- return m_LSL_Functions.llRotBetween(start, end);
+ return m_LSL_Functions.llCloud(offset);
}
- public void llWhisper(int channelID, string text)
+ public void llCollisionFilter(string name, string id, int accept)
{
- m_LSL_Functions.llWhisper(channelID, text);
+ m_LSL_Functions.llCollisionFilter(name, id, accept);
}
- public void llSay(int channelID, string text)
+ public void llCollisionSound(string impact_sound, double impact_volume)
{
- m_LSL_Functions.llSay(channelID, text);
+ m_LSL_Functions.llCollisionSound(impact_sound, impact_volume);
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public void llShout(int channelID, string text)
+ public void llCollisionSprite(string impact_sprite)
{
- m_LSL_Functions.llShout(channelID, text);
+ m_LSL_Functions.llCollisionSprite(impact_sprite);
}
- public void llOwnerSay(string msg)
+ public LSL_Float llCos(double f)
{
- m_LSL_Functions.llOwnerSay(msg);
+ return m_LSL_Functions.llCos(f);
}
- public void llRegionSay(int channelID, string text)
+ public void llCreateLink(string target, int parent)
{
- m_LSL_Functions.llRegionSay(channelID, text);
+ m_LSL_Functions.llCreateLink(target, parent);
}
- public LSL_Types.LSLInteger llListen(int channelID, string name, string ID, string msg)
+ public LSL_List llCSV2List(string src)
{
- return m_LSL_Functions.llListen(channelID, name, ID, msg);
+ return m_LSL_Functions.llCSV2List(src);
}
- public void llListenControl(int number, int active)
+ public LSL_List llDeleteSubList(LSL_List src, int start, int end)
{
- m_LSL_Functions.llListenControl(number, active);
+ return m_LSL_Functions.llDeleteSubList(src, start, end);
}
- public void llListenRemove(int number)
+ public LSL_String llDeleteSubString(string src, int start, int end)
{
- m_LSL_Functions.llListenRemove(number);
+ return m_LSL_Functions.llDeleteSubString(src, start, end);
}
- public void llSensor(string name, string id, int type, double range, double arc)
+ public void llDetachFromAvatar()
{
- m_LSL_Functions.llSensor(name, id, type, range, arc);
+ m_LSL_Functions.llDetachFromAvatar();
}
- public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate)
+ public LSL_Vector llDetectedGrab(int number)
{
- m_LSL_Functions.llSensorRepeat(name, id, type, range, arc, rate);
+ return m_LSL_Functions.llDetectedGrab(number);
}
- public void llSensorRemove()
+ public LSL_Integer llDetectedGroup(int number)
{
- m_LSL_Functions.llSensorRemove();
+ return m_LSL_Functions.llDetectedGroup(number);
}
- public string llDetectedName(int number)
+ public LSL_Key llDetectedKey(int number)
{
- return m_LSL_Functions.llDetectedName(number);
+ return m_LSL_Functions.llDetectedKey(number);
}
- public string llDetectedKey(int number)
+ public LSL_Integer llDetectedLinkNumber(int number)
{
- return m_LSL_Functions.llDetectedKey(number);
+ return m_LSL_Functions.llDetectedLinkNumber(number);
}
- public string llDetectedOwner(int number)
+ public LSL_String llDetectedName(int number)
{
- return m_LSL_Functions.llDetectedOwner(number);
+ return m_LSL_Functions.llDetectedName(number);
}
- public LSL_Types.LSLInteger llDetectedType(int number)
+ public LSL_Key llDetectedOwner(int number)
{
- return m_LSL_Functions.llDetectedType(number);
+ return m_LSL_Functions.llDetectedOwner(number);
}
- public vector llDetectedPos(int number)
+ public LSL_Vector llDetectedPos(int number)
{
return m_LSL_Functions.llDetectedPos(number);
}
- public vector llDetectedVel(int number)
+ public LSL_Rotation llDetectedRot(int number)
{
- return m_LSL_Functions.llDetectedVel(number);
+ return m_LSL_Functions.llDetectedRot(number);
}
- public vector llDetectedGrab(int number)
+ public LSL_Integer llDetectedType(int number)
{
- return m_LSL_Functions.llDetectedGrab(number);
+ return m_LSL_Functions.llDetectedType(number);
}
- public rotation llDetectedRot(int number)
+ public LSL_Vector llDetectedTouchBinormal(int index)
{
- return m_LSL_Functions.llDetectedRot(number);
+ return m_LSL_Functions.llDetectedTouchBinormal(index);
}
- public LSL_Types.LSLInteger llDetectedGroup(int number)
+ public LSL_Integer llDetectedTouchFace(int index)
{
- return m_LSL_Functions.llDetectedGroup(number);
+ return m_LSL_Functions.llDetectedTouchFace(index);
}
- public LSL_Types.LSLInteger llDetectedLinkNumber(int number)
+ public LSL_Vector llDetectedTouchNormal(int index)
{
- return m_LSL_Functions.llDetectedLinkNumber(number);
+ return m_LSL_Functions.llDetectedTouchNormal(index);
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public void llDie()
+ public LSL_Vector llDetectedTouchPos(int index)
{
- m_LSL_Functions.llDie();
+ return m_LSL_Functions.llDetectedTouchPos(index);
}
- public double llGround(vector offset)
+ public LSL_Vector llDetectedTouchST(int index)
{
- return m_LSL_Functions.llGround(offset);
+ return m_LSL_Functions.llDetectedTouchST(index);
}
- public double llCloud(vector offset)
+ public LSL_Vector llDetectedTouchUV(int index)
{
- return m_LSL_Functions.llCloud(offset);
+ return m_LSL_Functions.llDetectedTouchUV(index);
}
- public vector llWind(vector offset)
+ public LSL_Vector llDetectedVel(int number)
{
- return m_LSL_Functions.llWind(offset);
+ return m_LSL_Functions.llDetectedVel(number);
}
- public void llSetStatus(int status, int value)
+ public void llDialog(string avatar, string message, LSL_List buttons, int chat_channel)
{
- m_LSL_Functions.llSetStatus(status, value);
+ m_LSL_Functions.llDialog(avatar, message, buttons, chat_channel);
}
- public LSL_Types.LSLInteger llGetStatus(int status)
+ public void llDie()
{
- return m_LSL_Functions.llGetStatus(status);
+ m_LSL_Functions.llDie();
}
- public void llSetScale(vector scale)
+ public LSL_String llDumpList2String(LSL_List src, string seperator)
{
- m_LSL_Functions.llSetScale(scale);
+ return m_LSL_Functions.llDumpList2String(src, seperator);
}
- public vector llGetScale()
+ public LSL_Integer llEdgeOfWorld(LSL_Vector pos, LSL_Vector dir)
{
- return m_LSL_Functions.llGetScale();
+ return m_LSL_Functions.llEdgeOfWorld(pos, dir);
}
- public void llSetColor(vector color, int face)
+ public void llEjectFromLand(string pest)
{
- m_LSL_Functions.llSetColor(color, face);
+ m_LSL_Functions.llEjectFromLand(pest);
}
- public double llGetAlpha(int face)
+ public void llEmail(string address, string subject, string message)
{
- return m_LSL_Functions.llGetAlpha(face);
+ m_LSL_Functions.llEmail(address, subject, message);
}
- public void llSetAlpha(double alpha, int face)
+ public LSL_String llEscapeURL(string url)
{
- m_LSL_Functions.llSetAlpha(alpha, face);
+ return m_LSL_Functions.llEscapeURL(url);
}
- public vector llGetColor(int face)
+ public LSL_Rotation llEuler2Rot(LSL_Vector v)
{
- return m_LSL_Functions.llGetColor(face);
+ return m_LSL_Functions.llEuler2Rot(v);
}
- public void llSetTexture(string texture, int face)
+ public LSL_Float llFabs(double f)
{
- m_LSL_Functions.llSetTexture(texture, face);
+ return m_LSL_Functions.llFabs(f);
}
- public void llScaleTexture(double u, double v, int face)
+ public LSL_Integer llFloor(double f)
{
- m_LSL_Functions.llScaleTexture(u, v, face);
+ return m_LSL_Functions.llFloor(f);
}
- public void llOffsetTexture(double u, double v, int face)
+ public void llForceMouselook(int mouselook)
{
- m_LSL_Functions.llOffsetTexture(u, v, face);
+ m_LSL_Functions.llForceMouselook(mouselook);
}
- public void llRotateTexture(double rotation, int face)
+ public LSL_Float llFrand(double mag)
{
- m_LSL_Functions.llRotateTexture(rotation, face);
+ return m_LSL_Functions.llFrand(mag);
}
- public string llGetTexture(int face)
+ public LSL_Vector llGetAccel()
{
- return m_LSL_Functions.llGetTexture(face);
+ return m_LSL_Functions.llGetAccel();
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public void llSetPos(vector pos)
+ public LSL_Integer llGetAgentInfo(string id)
{
- m_LSL_Functions.llSetPos(pos);
+ return m_LSL_Functions.llGetAgentInfo(id);
}
- public vector llGetPos()
+ public LSL_Vector llGetAgentSize(string id)
{
- return m_LSL_Functions.llGetPos();
+ return m_LSL_Functions.llGetAgentSize(id);
}
- public vector llGetLocalPos()
+ public LSL_Float llGetAlpha(int face)
{
- return m_LSL_Functions.llGetLocalPos();
+ return m_LSL_Functions.llGetAlpha(face);
}
- public void llSetRot(rotation rot)
+ public LSL_Float llGetAndResetTime()
{
- m_LSL_Functions.llSetRot(rot);
+ return m_LSL_Functions.llGetAndResetTime();
}
- public rotation llGetRot()
+ public LSL_String llGetAnimation(string id)
{
- return m_LSL_Functions.llGetRot();
+ return m_LSL_Functions.llGetAnimation(id);
}
- public rotation llGetLocalRot()
+ public LSL_List llGetAnimationList(string id)
{
- return m_LSL_Functions.llGetLocalRot();
+ return m_LSL_Functions.llGetAnimationList(id);
}
- public void llSetForce(vector force, int local)
+ public LSL_Integer llGetAttached()
{
- m_LSL_Functions.llSetForce(force, local);
+ return m_LSL_Functions.llGetAttached();
}
- public vector llGetForce()
+ public LSL_List llGetBoundingBox(string obj)
{
- return m_LSL_Functions.llGetForce();
+ return m_LSL_Functions.llGetBoundingBox(obj);
}
- public LSL_Types.LSLInteger llTarget(vector position, double range)
+ public LSL_Vector llGetCameraPos()
{
- return m_LSL_Functions.llTarget(position, range);
+ return m_LSL_Functions.llGetCameraPos();
}
- public void llTargetRemove(int number)
+ public LSL_Rotation llGetCameraRot()
{
- m_LSL_Functions.llTargetRemove(number);
+ return m_LSL_Functions.llGetCameraRot();
}
- public LSL_Types.LSLInteger llRotTarget(rotation rot, double error)
+ public LSL_Vector llGetCenterOfMass()
{
- return m_LSL_Functions.llRotTarget(rot, error);
+ return m_LSL_Functions.llGetCenterOfMass();
}
- public void llRotTargetRemove(int number)
+ public LSL_Vector llGetColor(int face)
{
- m_LSL_Functions.llRotTargetRemove(number);
+ return m_LSL_Functions.llGetColor(face);
}
- public void llMoveToTarget(vector target, double tau)
+ public LSL_String llGetCreator()
{
- m_LSL_Functions.llMoveToTarget(target, tau);
+ return m_LSL_Functions.llGetCreator();
}
- public void llStopMoveToTarget()
+ public LSL_String llGetDate()
{
- m_LSL_Functions.llStopMoveToTarget();
+ return m_LSL_Functions.llGetDate();
}
- public void llApplyImpulse(vector force, int local)
+ public LSL_Float llGetEnergy()
{
- m_LSL_Functions.llApplyImpulse(force, local);
+ return m_LSL_Functions.llGetEnergy();
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public void llApplyRotationalImpulse(vector force, int local)
+ public LSL_Vector llGetForce()
{
- m_LSL_Functions.llApplyRotationalImpulse(force, local);
+ return m_LSL_Functions.llGetForce();
}
- public void llSetTorque(vector torque, int local)
+ public LSL_Integer llGetFreeMemory()
{
- m_LSL_Functions.llSetTorque(torque, local);
+ return m_LSL_Functions.llGetFreeMemory();
}
- public vector llGetTorque()
+ public LSL_Vector llGetGeometricCenter()
{
- return m_LSL_Functions.llGetTorque();
+ return m_LSL_Functions.llGetGeometricCenter();
}
- public void llSetForceAndTorque(vector force, vector torque, int local)
+ public LSL_Float llGetGMTclock()
{
- m_LSL_Functions.llSetForceAndTorque(force, torque, local);
+ return m_LSL_Functions.llGetGMTclock();
}
- public vector llGetVel()
+ public LSL_Key llGetInventoryCreator(string item)
{
- return m_LSL_Functions.llGetVel();
+ return m_LSL_Functions.llGetInventoryCreator(item);
}
- public vector llGetAccel()
+ public LSL_Key llGetInventoryKey(string name)
{
- return m_LSL_Functions.llGetAccel();
+ return m_LSL_Functions.llGetInventoryKey(name);
}
- public vector llGetOmega()
+ public LSL_String llGetInventoryName(int type, int number)
{
- return m_LSL_Functions.llGetOmega();
+ return m_LSL_Functions.llGetInventoryName(type, number);
}
- public double llGetTimeOfDay()
+ public LSL_Integer llGetInventoryNumber(int type)
{
- return m_LSL_Functions.llGetTimeOfDay();
+ return m_LSL_Functions.llGetInventoryNumber(type);
}
- public double llGetWallclock()
+ public LSL_Integer llGetInventoryPermMask(string item, int mask)
{
- return m_LSL_Functions.llGetWallclock();
+ return m_LSL_Functions.llGetInventoryPermMask(item, mask);
}
- public double llGetTime()
+ public LSL_Integer llGetInventoryType(string name)
{
- return m_LSL_Functions.llGetTime();
+ return m_LSL_Functions.llGetInventoryType(name);
}
- public void llResetTime()
+ public LSL_Key llGetKey()
{
- m_LSL_Functions.llResetTime();
+ return m_LSL_Functions.llGetKey();
}
- public double llGetAndResetTime()
+ public LSL_Key llGetLandOwnerAt(LSL_Vector pos)
{
- return m_LSL_Functions.llGetAndResetTime();
+ return m_LSL_Functions.llGetLandOwnerAt(pos);
}
- public void llSound()
+ public LSL_Key llGetLinkKey(int linknum)
{
- m_LSL_Functions.llSound();
+ return m_LSL_Functions.llGetLinkKey(linknum);
}
- public void llPlaySound(string sound, double volume)
+ public LSL_String llGetLinkName(int linknum)
{
- m_LSL_Functions.llPlaySound(sound, volume);
+ return m_LSL_Functions.llGetLinkName(linknum);
}
- public void llLoopSound(string sound, double volume)
+ public LSL_Integer llGetLinkNumber()
{
- m_LSL_Functions.llLoopSound(sound, volume);
+ return m_LSL_Functions.llGetLinkNumber();
}
- public void llLoopSoundMaster(string sound, double volume)
+ public LSL_Integer llGetListEntryType(LSL_List src, int index)
{
- m_LSL_Functions.llLoopSoundMaster(sound, volume);
+ return m_LSL_Functions.llGetListEntryType(src, index);
}
- public void llLoopSoundSlave(string sound, double volume)
+ public LSL_Integer llGetListLength(LSL_List src)
{
- m_LSL_Functions.llLoopSoundSlave(sound, volume);
+ return m_LSL_Functions.llGetListLength(src);
}
- public void llPlaySoundSlave(string sound, double volume)
+ public LSL_Vector llGetLocalPos()
{
- m_LSL_Functions.llPlaySoundSlave(sound, volume);
+ return m_LSL_Functions.llGetLocalPos();
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public void llTriggerSound(string sound, double volume)
+ public LSL_Rotation llGetLocalRot()
{
- m_LSL_Functions.llTriggerSound(sound, volume);
+ return m_LSL_Functions.llGetLocalRot();
}
- public void llStopSound()
+ public LSL_Float llGetMass()
{
- m_LSL_Functions.llStopSound();
+ return m_LSL_Functions.llGetMass();
}
- public void llPreloadSound(string sound)
+ public void llGetNextEmail(string address, string subject)
{
- m_LSL_Functions.llPreloadSound(sound);
+ m_LSL_Functions.llGetNextEmail(address, subject);
}
- public string llGetSubString(string src, int start, int end)
+ public LSL_String llGetNotecardLine(string name, int line)
{
- return m_LSL_Functions.llGetSubString(src, start, end);
+ return m_LSL_Functions.llGetNotecardLine(name, line);
}
- public string llDeleteSubString(string src, int start, int end)
+ public LSL_Key llGetNumberOfNotecardLines(string name)
{
- return m_LSL_Functions.llDeleteSubString(src, start, end);
+ return m_LSL_Functions.llGetNumberOfNotecardLines(name);
}
- public string llInsertString(string dst, int position, string src)
+ public LSL_Integer llGetNumberOfPrims()
{
- return m_LSL_Functions.llInsertString(dst, position, src);
+ return m_LSL_Functions.llGetNumberOfPrims();
}
- public string llToUpper(string source)
+ public LSL_Integer llGetNumberOfSides()
{
- return m_LSL_Functions.llToUpper(source);
+ return m_LSL_Functions.llGetNumberOfSides();
}
- public string llToLower(string source)
+ public LSL_String llGetObjectDesc()
{
- return m_LSL_Functions.llToLower(source);
+ return m_LSL_Functions.llGetObjectDesc();
}
- public LSL_Types.LSLInteger llGiveMoney(string destination, int amount)
+ public LSL_List llGetObjectDetails(string id, LSL_List args)
{
- return m_LSL_Functions.llGiveMoney(destination, amount);
+ return m_LSL_Functions.llGetObjectDetails(id, args);
}
- public void llMakeExplosion()
+ public LSL_Float llGetObjectMass(string id)
{
- m_LSL_Functions.llMakeExplosion();
+ return m_LSL_Functions.llGetObjectMass(id);
}
- public void llMakeFountain()
+ public LSL_String llGetObjectName()
{
- m_LSL_Functions.llMakeFountain();
+ return m_LSL_Functions.llGetObjectName();
}
- public void llMakeSmoke()
+ public LSL_Integer llGetObjectPermMask(int mask)
{
- m_LSL_Functions.llMakeSmoke();
+ return m_LSL_Functions.llGetObjectPermMask(mask);
}
- public void llMakeFire()
+ public LSL_Integer llGetObjectPrimCount(string object_id)
{
- m_LSL_Functions.llMakeFire();
+ return m_LSL_Functions.llGetObjectPrimCount(object_id);
}
- public void llRezObject(string inventory, vector pos, vector vel, rotation rot, int param)
+ public LSL_Vector llGetOmega()
{
- m_LSL_Functions.llRezObject(inventory, pos, vel, rot, param);
+ return m_LSL_Functions.llGetOmega();
}
- public void llLookAt(vector target, double strength, double damping)
+ public LSL_Key llGetOwner()
{
- m_LSL_Functions.llLookAt(target, strength, damping);
+ return m_LSL_Functions.llGetOwner();
}
- public void llStopLookAt()
+ public LSL_Key llGetOwnerKey(string id)
{
- m_LSL_Functions.llStopLookAt();
+ return m_LSL_Functions.llGetOwnerKey(id);
}
- public void llSetTimerEvent(double sec)
+ public LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param)
{
- m_LSL_Functions.llSetTimerEvent(sec);
+ return m_LSL_Functions.llGetParcelDetails(pos, param);
}
- public void llSleep(double sec)
+ public LSL_Integer llGetParcelFlags(LSL_Vector pos)
{
- m_LSL_Functions.llSleep(sec);
+ return m_LSL_Functions.llGetParcelFlags(pos);
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public double llGetMass()
+ public LSL_Integer llGetParcelMaxPrims(LSL_Vector pos, int sim_wide)
{
- return m_LSL_Functions.llGetMass();
+ return m_LSL_Functions.llGetParcelMaxPrims(pos, sim_wide);
}
- public void llCollisionFilter(string name, string id, int accept)
+ public LSL_Integer llGetParcelPrimCount(LSL_Vector pos, int category, int sim_wide)
{
- m_LSL_Functions.llCollisionFilter(name, id, accept);
+ return m_LSL_Functions.llGetParcelPrimCount(pos, category, sim_wide);
}
- public void llTakeControls(int controls, int accept, int pass_on)
+ public LSL_List llGetParcelPrimOwners(LSL_Vector pos)
{
- m_LSL_Functions.llTakeControls(controls, accept, pass_on);
+ return m_LSL_Functions.llGetParcelPrimOwners(pos);
}
- public void llReleaseControls()
+ public LSL_Integer llGetPermissions()
{
- m_LSL_Functions.llReleaseControls();
+ return m_LSL_Functions.llGetPermissions();
}
- public void llAttachToAvatar(int attachment)
+ public LSL_Key llGetPermissionsKey()
{
- m_LSL_Functions.llAttachToAvatar(attachment);
+ return m_LSL_Functions.llGetPermissionsKey();
}
- public void llDetachFromAvatar()
+ public LSL_Vector llGetPos()
{
- m_LSL_Functions.llDetachFromAvatar();
+ return m_LSL_Functions.llGetPos();
}
- public void llTakeCamera(string avatar)
+ public LSL_List llGetPrimitiveParams(LSL_List rules)
{
- m_LSL_Functions.llTakeCamera(avatar);
+ return m_LSL_Functions.llGetPrimitiveParams(rules);
}
- public void llReleaseCamera(string avatar)
+ public LSL_Integer llGetRegionAgentCount()
{
- m_LSL_Functions.llReleaseCamera(avatar);
+ return m_LSL_Functions.llGetRegionAgentCount();
}
- public string llGetOwner()
+ public LSL_Vector llGetRegionCorner()
{
- return m_LSL_Functions.llGetOwner();
+ return m_LSL_Functions.llGetRegionCorner();
}
- public void llInstantMessage(string user, string message)
+ public LSL_Integer llGetRegionFlags()
{
- m_LSL_Functions.llInstantMessage(user, message);
+ return m_LSL_Functions.llGetRegionFlags();
}
- public void llEmail(string address, string subject, string message)
+ public LSL_Float llGetRegionFPS()
{
- m_LSL_Functions.llEmail(address, subject, message);
+ return m_LSL_Functions.llGetRegionFPS();
}
- public void llGetNextEmail(string address, string subject)
+ public LSL_String llGetRegionName()
{
- m_LSL_Functions.llGetNextEmail(address, subject);
+ return m_LSL_Functions.llGetRegionName();
}
- public string llGetKey()
+ public LSL_Float llGetRegionTimeDilation()
{
- return m_LSL_Functions.llGetKey();
+ return m_LSL_Functions.llGetRegionTimeDilation();
}
- public void llSetBuoyancy(double buoyancy)
+ public LSL_Vector llGetRootPosition()
{
- m_LSL_Functions.llSetBuoyancy(buoyancy);
+ return m_LSL_Functions.llGetRootPosition();
}
- public void llSetHoverHeight(double height, int water, double tau)
+ public LSL_Rotation llGetRootRotation()
{
- m_LSL_Functions.llSetHoverHeight(height, water, tau);
+ return m_LSL_Functions.llGetRootRotation();
}
- public void llStopHover()
+ public LSL_Rotation llGetRot()
{
- m_LSL_Functions.llStopHover();
+ return m_LSL_Functions.llGetRot();
}
- public void llMinEventDelay(double delay)
+ public LSL_Vector llGetScale()
{
- m_LSL_Functions.llMinEventDelay(delay);
+ return m_LSL_Functions.llGetScale();
}
- public void llSoundPreload()
+ public LSL_String llGetScriptName()
{
- m_LSL_Functions.llSoundPreload();
+ return m_LSL_Functions.llGetScriptName();
}
- public void llRotLookAt(rotation target, double strength, double damping)
+ public LSL_Integer llGetScriptState(string name)
{
- m_LSL_Functions.llRotLookAt(target, strength, damping);
+ return m_LSL_Functions.llGetScriptState(name);
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public LSL_Types.LSLInteger llStringLength(string str)
+ public LSL_String llGetSimulatorHostname()
{
- return m_LSL_Functions.llStringLength(str);
+ return m_LSL_Functions.llGetSimulatorHostname();
}
- public void llStartAnimation(string anim)
+ public LSL_Integer llGetStartParameter()
{
- m_LSL_Functions.llStartAnimation(anim);
+ return m_LSL_Functions.llGetStartParameter();
}
- public void llStopAnimation(string anim)
+ public LSL_Integer llGetStatus(int status)
{
- m_LSL_Functions.llStopAnimation(anim);
+ return m_LSL_Functions.llGetStatus(status);
}
- public void llPointAt()
+ public LSL_String llGetSubString(string src, int start, int end)
{
- m_LSL_Functions.llPointAt();
+ return m_LSL_Functions.llGetSubString(src, start, end);
}
- public void llStopPointAt()
+ public LSL_Vector llGetSunDirection()
{
- m_LSL_Functions.llStopPointAt();
+ return m_LSL_Functions.llGetSunDirection();
}
- public void llTargetOmega(vector axis, double spinrate, double gain)
+ public LSL_String llGetTexture(int face)
{
- m_LSL_Functions.llTargetOmega(axis, spinrate, gain);
+ return m_LSL_Functions.llGetTexture(face);
}
- public LSL_Types.LSLInteger llGetStartParameter()
+ public LSL_Vector llGetTextureOffset(int face)
{
- return m_StartParam;
+ return m_LSL_Functions.llGetTextureOffset(face);
}
- public void llGodLikeRezObject(string inventory, vector pos)
+ public LSL_Float llGetTextureRot(int side)
{
- m_LSL_Functions.llGodLikeRezObject(inventory, pos);
+ return m_LSL_Functions.llGetTextureRot(side);
}
- public void llRequestPermissions(string agent, int perm)
+ public LSL_Vector llGetTextureScale(int side)
{
- m_LSL_Functions.llRequestPermissions(agent, perm);
+ return m_LSL_Functions.llGetTextureScale(side);
}
- public string llGetPermissionsKey()
+ public LSL_Float llGetTime()
{
- return m_LSL_Functions.llGetPermissionsKey();
+ return m_LSL_Functions.llGetTime();
}
- public LSL_Types.LSLInteger llGetPermissions()
+ public LSL_Float llGetTimeOfDay()
{
- return m_LSL_Functions.llGetPermissions();
+ return m_LSL_Functions.llGetTimeOfDay();
}
- public LSL_Types.LSLInteger llGetLinkNumber()
+ public LSL_String llGetTimestamp()
{
- return m_LSL_Functions.llGetLinkNumber();
+ return m_LSL_Functions.llGetTimestamp();
}
- public void llSetLinkColor(int linknumber, vector color, int face)
+ public LSL_Vector llGetTorque()
{
- m_LSL_Functions.llSetLinkColor(linknumber, color, face);
+ return m_LSL_Functions.llGetTorque();
}
- public void llCreateLink(string target, int parent)
+ public LSL_Integer llGetUnixTime()
{
- m_LSL_Functions.llCreateLink(target, parent);
+ return m_LSL_Functions.llGetUnixTime();
}
- public void llBreakLink(int linknum)
+ public LSL_Vector llGetVel()
{
- m_LSL_Functions.llBreakLink(linknum);
+ return m_LSL_Functions.llGetVel();
}
- public void llBreakAllLinks()
+ public LSL_Float llGetWallclock()
{
- m_LSL_Functions.llBreakAllLinks();
+ return m_LSL_Functions.llGetWallclock();
}
- public string llGetLinkKey(int linknum)
+ public void llGiveInventory(string destination, string inventory)
{
- return m_LSL_Functions.llGetLinkKey(linknum);
+ m_LSL_Functions.llGiveInventory(destination, inventory);
}
- public string llGetLinkName(int linknum)
+ public void llGiveInventoryList(string destination, string category, LSL_List inventory)
{
- return m_LSL_Functions.llGetLinkName(linknum);
+ m_LSL_Functions.llGiveInventoryList(destination, category, inventory);
}
- public LSL_Types.LSLInteger llGetInventoryNumber(int type)
+ public LSL_Integer llGiveMoney(string destination, int amount)
{
- return m_LSL_Functions.llGetInventoryNumber(type);
+ return m_LSL_Functions.llGiveMoney(destination, amount);
}
- public string llGetInventoryName(int type, int number)
+ public void llGodLikeRezObject(string inventory, LSL_Vector pos)
{
- return m_LSL_Functions.llGetInventoryName(type, number);
+ m_LSL_Functions.llGodLikeRezObject(inventory, pos);
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public void llSetScriptState(string name, int run)
+ public LSL_Float llGround(LSL_Vector offset)
{
- m_LSL_Functions.llSetScriptState(name, run);
+ return m_LSL_Functions.llGround(offset);
}
- public double llGetEnergy()
+ public LSL_Vector llGroundContour(LSL_Vector offset)
{
- return m_LSL_Functions.llGetEnergy();
+ return m_LSL_Functions.llGroundContour(offset);
}
- public void llGiveInventory(string destination, string inventory)
+ public LSL_Vector llGroundNormal(LSL_Vector offset)
{
- m_LSL_Functions.llGiveInventory(destination, inventory);
+ return m_LSL_Functions.llGroundNormal(offset);
}
- public void llRemoveInventory(string item)
+ public void llGroundRepel(double height, int water, double tau)
{
- m_LSL_Functions.llRemoveInventory(item);
+ m_LSL_Functions.llGroundRepel(height, water, tau);
}
- public void llSetText(string text, vector color, double alpha)
+ public LSL_Vector llGroundSlope(LSL_Vector offset)
{
- m_LSL_Functions.llSetText(text, color, alpha);
+ return m_LSL_Functions.llGroundSlope(offset);
}
- public double llWater(vector offset)
+ public LSL_String llHTTPRequest(string url, LSL_List parameters, string body)
{
- return m_LSL_Functions.llWater(offset);
+ return m_LSL_Functions.llHTTPRequest(url, parameters, body);
}
- public void llPassTouches(int pass)
+ public LSL_String llInsertString(string dst, int position, string src)
{
- m_LSL_Functions.llPassTouches(pass);
+ return m_LSL_Functions.llInsertString(dst, position, src);
}
- public string llRequestAgentData(string id, int data)
+ public void llInstantMessage(string user, string message)
{
- return m_LSL_Functions.llRequestAgentData(id, data);
+ m_LSL_Functions.llInstantMessage(user, message);
}
- public string llRequestInventoryData(string name)
+ public LSL_String llIntegerToBase64(int number)
{
- return m_LSL_Functions.llRequestInventoryData(name);
+ return m_LSL_Functions.llIntegerToBase64(number);
}
- public void llSetDamage(double damage)
+ public LSL_String llKey2Name(string id)
{
- m_LSL_Functions.llSetDamage(damage);
+ return m_LSL_Functions.llKey2Name(id);
}
- public void llTeleportAgentHome(string agent)
+ public LSL_String llList2CSV(LSL_List src)
{
- m_LSL_Functions.llTeleportAgentHome(agent);
+ return m_LSL_Functions.llList2CSV(src);
}
- public void llModifyLand(int action, int brush)
+ public LSL_Float llList2Float(LSL_List src, int index)
{
- m_LSL_Functions.llModifyLand(action, brush);
+ return m_LSL_Functions.llList2Float(src, index);
}
- public void llCollisionSound(string impact_sound, double impact_volume)
+ public LSL_Integer llList2Integer(LSL_List src, int index)
{
- m_LSL_Functions.llCollisionSound(impact_sound, impact_volume);
+ return m_LSL_Functions.llList2Integer(src, index);
}
- public void llCollisionSprite(string impact_sprite)
+ public LSL_Key llList2Key(LSL_List src, int index)
{
- m_LSL_Functions.llCollisionSprite(impact_sprite);
+ return m_LSL_Functions.llList2Key(src, index);
}
- public string llGetAnimation(string id)
+ public LSL_List llList2List(LSL_List src, int start, int end)
{
- return m_LSL_Functions.llGetAnimation(id);
+ return m_LSL_Functions.llList2List(src, start, end);
}
- public void llResetScript()
+ public LSL_List llList2ListStrided(LSL_List src, int start, int end, int stride)
{
- m_LSL_Functions.llResetScript();
+ return m_LSL_Functions.llList2ListStrided(src, start, end, stride);
}
- public void llMessageLinked(int linknum, int num, string str, string id)
+ public LSL_Rotation llList2Rot(LSL_List src, int index)
{
- m_LSL_Functions.llMessageLinked(linknum, num, str, id);
+ return m_LSL_Functions.llList2Rot(src, index);
}
- public void llPushObject(string target, vector impulse, vector ang_impulse, int local)
+ public LSL_String llList2String(LSL_List src, int index)
{
- m_LSL_Functions.llPushObject(target, impulse, ang_impulse, local);
+ return m_LSL_Functions.llList2String(src, index);
}
- public void llPassCollisions(int pass)
+ public LSL_Vector llList2Vector(LSL_List src, int index)
{
- m_LSL_Functions.llPassCollisions(pass);
+ return m_LSL_Functions.llList2Vector(src, index);
}
- public string llGetScriptName()
+ public LSL_Integer llListen(int channelID, string name, string ID, string msg)
{
- return m_LSL_Functions.llGetScriptName();
+ return m_LSL_Functions.llListen(channelID, name, ID, msg);
}
- public LSL_Types.LSLInteger llGetNumberOfSides()
+ public void llListenControl(int number, int active)
{
- return m_LSL_Functions.llGetNumberOfSides();
+ m_LSL_Functions.llListenControl(number, active);
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public rotation llAxisAngle2Rot(vector axis, double angle)
+ public void llListenRemove(int number)
{
- return m_LSL_Functions.llAxisAngle2Rot(axis, angle);
+ m_LSL_Functions.llListenRemove(number);
}
- public vector llRot2Axis(rotation rot)
+ public LSL_Integer llListFindList(LSL_List src, LSL_List test)
{
- return m_LSL_Functions.llRot2Axis(rot);
+ return m_LSL_Functions.llListFindList(src, test);
}
- public double llRot2Angle(rotation rot)
+ public LSL_List llListInsertList(LSL_List dest, LSL_List src, int start)
{
- return m_LSL_Functions.llRot2Angle(rot);
+ return m_LSL_Functions.llListInsertList(dest, src, start);
}
- public double llAcos(double val)
+ public LSL_List llListRandomize(LSL_List src, int stride)
{
- return m_LSL_Functions.llAcos(val);
+ return m_LSL_Functions.llListRandomize(src, stride);
}
- public double llAsin(double val)
+ public LSL_List llListReplaceList(LSL_List dest, LSL_List src, int start, int end)
{
- return m_LSL_Functions.llAsin(val);
+ return m_LSL_Functions.llListReplaceList(dest, src, start, end);
}
- public double llAngleBetween(rotation a, rotation b)
+ public LSL_List llListSort(LSL_List src, int stride, int ascending)
{
- return m_LSL_Functions.llAngleBetween(a, b);
+ return m_LSL_Functions.llListSort(src, stride, ascending);
}
- public string llGetInventoryKey(string name)
+ public LSL_Float llListStatistics(int operation, LSL_List src)
{
- return m_LSL_Functions.llGetInventoryKey(name);
+ return m_LSL_Functions.llListStatistics(operation, src);
}
- public void llAllowInventoryDrop(int add)
+ public void llLoadURL(string avatar_id, string message, string url)
{
- m_LSL_Functions.llAllowInventoryDrop(add);
+ m_LSL_Functions.llLoadURL(avatar_id, message, url);
}
- public vector llGetSunDirection()
+ public LSL_Float llLog(double val)
{
- return m_LSL_Functions.llGetSunDirection();
+ return m_LSL_Functions.llLog(val);
}
- public vector llGetTextureOffset(int face)
+ public LSL_Float llLog10(double val)
{
- return m_LSL_Functions.llGetTextureOffset(face);
+ return m_LSL_Functions.llLog10(val);
}
- public vector llGetTextureScale(int side)
+ public void llLookAt(LSL_Vector target, double strength, double damping)
{
- return m_LSL_Functions.llGetTextureScale(side);
+ m_LSL_Functions.llLookAt(target, strength, damping);
}
- public double llGetTextureRot(int side)
+ public void llLoopSound(string sound, double volume)
{
- return m_LSL_Functions.llGetTextureRot(side);
+ m_LSL_Functions.llLoopSound(sound, volume);
}
- public LSL_Types.LSLInteger llSubStringIndex(string source, string pattern)
+ public void llLoopSoundMaster(string sound, double volume)
{
- return m_LSL_Functions.llSubStringIndex(source, pattern);
+ m_LSL_Functions.llLoopSoundMaster(sound, volume);
}
- public string llGetOwnerKey(string id)
+ public void llLoopSoundSlave(string sound, double volume)
{
- return m_LSL_Functions.llGetOwnerKey(id);
+ m_LSL_Functions.llLoopSoundSlave(sound, volume);
}
- public vector llGetCenterOfMass()
+ public void llMakeExplosion()
{
- return m_LSL_Functions.llGetCenterOfMass();
+ m_LSL_Functions.llMakeExplosion();
}
- public LSL_Types.list llListSort(LSL_Types.list src, int stride, int ascending)
+ public void llMakeFire()
{
- return m_LSL_Functions.llListSort(src, stride, ascending);
+ m_LSL_Functions.llMakeFire();
}
- public LSL_Types.LSLInteger llGetListLength(LSL_Types.list src)
+ public void llMakeFountain()
{
- return m_LSL_Functions.llGetListLength(src);
+ m_LSL_Functions.llMakeFountain();
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public LSL_Types.LSLInteger llList2Integer(LSL_Types.list src, int index)
+ public void llMakeSmoke()
{
- return m_LSL_Functions.llList2Integer(src, index);
+ m_LSL_Functions.llMakeSmoke();
}
- public double osList2Double(LSL_Types.list src, int index)
+ public void llMapDestination(string simname, LSL_Vector pos, LSL_Vector look_at)
{
- return m_LSL_Functions.osList2Double(src, index);
+ m_LSL_Functions.llMapDestination(simname, pos, look_at);
}
- public string llList2String(LSL_Types.list src, int index)
+ public LSL_String llMD5String(string src, int nonce)
{
- return m_LSL_Functions.llList2String(src, index);
+ return m_LSL_Functions.llMD5String(src, nonce);
}
- public string llList2Key(LSL_Types.list src, int index)
+ public void llMessageLinked(int linknum, int num, string str, string id)
{
- return m_LSL_Functions.llList2Key(src, index);
+ m_LSL_Functions.llMessageLinked(linknum, num, str, id);
}
- public vector llList2Vector(LSL_Types.list src, int index)
+ public void llMinEventDelay(double delay)
{
- return m_LSL_Functions.llList2Vector(src, index);
+ m_LSL_Functions.llMinEventDelay(delay);
}
- public rotation llList2Rot(LSL_Types.list src, int index)
+ public void llModifyLand(int action, int brush)
{
- return m_LSL_Functions.llList2Rot(src, index);
+ m_LSL_Functions.llModifyLand(action, brush);
}
- public LSL_Types.list llList2List(LSL_Types.list src, int start, int end)
+ public LSL_Integer llModPow(int a, int b, int c)
{
- return m_LSL_Functions.llList2List(src, start, end);
+ return m_LSL_Functions.llModPow(a, b, c);
}
- public LSL_Types.list llDeleteSubList(LSL_Types.list src, int start, int end)
+ public void llMoveToTarget(LSL_Vector target, double tau)
{
- return m_LSL_Functions.llDeleteSubList(src, start, end);
+ m_LSL_Functions.llMoveToTarget(target, tau);
}
- public LSL_Types.LSLInteger llGetListEntryType(LSL_Types.list src, int index)
+ public void llOffsetTexture(double u, double v, int face)
{
- return m_LSL_Functions.llGetListEntryType(src, index);
+ m_LSL_Functions.llOffsetTexture(u, v, face);
}
- public string llList2CSV(LSL_Types.list src)
+ public void llOpenRemoteDataChannel()
{
- return m_LSL_Functions.llList2CSV(src);
+ m_LSL_Functions.llOpenRemoteDataChannel();
}
- public LSL_Types.list llCSV2List(string src)
+ public LSL_Integer llOverMyLand(string id)
{
- return m_LSL_Functions.llCSV2List(src);
+ return m_LSL_Functions.llOverMyLand(id);
}
- public LSL_Types.list llListRandomize(LSL_Types.list src, int stride)
+ public void llOwnerSay(string msg)
{
- return m_LSL_Functions.llListRandomize(src, stride);
+ m_LSL_Functions.llOwnerSay(msg);
}
- public LSL_Types.list llList2ListStrided(LSL_Types.list src, int start, int end, int stride)
+ public void llParcelMediaCommandList(LSL_List commandList)
{
- return m_LSL_Functions.llList2ListStrided(src, start, end, stride);
+ m_LSL_Functions.llParcelMediaCommandList(commandList);
}
- public vector llGetRegionCorner()
+ public LSL_List llParcelMediaQuery(LSL_List aList)
{
- return m_LSL_Functions.llGetRegionCorner();
+ return m_LSL_Functions.llParcelMediaQuery(aList);
}
- public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int start)
+ public LSL_List llParseString2List(string str, LSL_List separators, LSL_List spacers)
{
- return m_LSL_Functions.llListInsertList(dest, src, start);
+ return m_LSL_Functions.llParseString2List(str, separators, spacers);
}
- public LSL_Types.LSLInteger llListFindList(LSL_Types.list src, LSL_Types.list test)
+ public LSL_List llParseStringKeepNulls(string src, LSL_List seperators, LSL_List spacers)
{
- return m_LSL_Functions.llListFindList(src, test);
+ return m_LSL_Functions.llParseStringKeepNulls(src, seperators, spacers);
}
- public string llGetObjectName()
+ public void llParticleSystem(LSL_List rules)
{
- return m_LSL_Functions.llGetObjectName();
+ m_LSL_Functions.llParticleSystem(rules);
}
- public void llSetObjectName(string name)
+ public void llPassCollisions(int pass)
{
- m_LSL_Functions.llSetObjectName(name);
+ m_LSL_Functions.llPassCollisions(pass);
}
- public string llGetDate()
+ public void llPassTouches(int pass)
{
- return m_LSL_Functions.llGetDate();
+ m_LSL_Functions.llPassTouches(pass);
}
- public LSL_Types.LSLInteger llEdgeOfWorld(vector pos, vector dir)
+ public void llPlaySound(string sound, double volume)
{
- return m_LSL_Functions.llEdgeOfWorld(pos, dir);
+ m_LSL_Functions.llPlaySound(sound, volume);
}
- public LSL_Types.LSLInteger llGetAgentInfo(string id)
+ public void llPlaySoundSlave(string sound, double volume)
{
- return m_LSL_Functions.llGetAgentInfo(id);
+ m_LSL_Functions.llPlaySoundSlave(sound, volume);
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public void llAdjustSoundVolume(double volume)
+ public void llPointAt()
{
- m_LSL_Functions.llAdjustSoundVolume(volume);
+ m_LSL_Functions.llPointAt();
}
- public void llSetSoundQueueing(int queue)
+ public LSL_Float llPow(double fbase, double fexponent)
{
- m_LSL_Functions.llSetSoundQueueing(queue);
+ return m_LSL_Functions.llPow(fbase, fexponent);
}
- public void llSetSoundRadius(double radius)
+ public void llPreloadSound(string sound)
{
- m_LSL_Functions.llSetSoundRadius(radius);
+ m_LSL_Functions.llPreloadSound(sound);
}
- public string llKey2Name(string id)
+ public void llPushObject(string target, LSL_Vector impulse, LSL_Vector ang_impulse, int local)
{
- return m_LSL_Functions.llKey2Name(id);
+ m_LSL_Functions.llPushObject(target, impulse, ang_impulse, local);
}
- public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate)
+ public void llRefreshPrimURL()
{
- m_LSL_Functions.llSetTextureAnim(mode, face, sizex, sizey, start, length, rate);
+ m_LSL_Functions.llRefreshPrimURL();
}
- public void llTriggerSoundLimited(string sound, double volume, vector top_north_east, vector bottom_south_west)
+ public void llRegionSay(int channelID, string text)
{
- m_LSL_Functions.llTriggerSoundLimited(sound, volume, top_north_east, bottom_south_west);
+ m_LSL_Functions.llRegionSay(channelID, text);
}
- public void llEjectFromLand(string pest)
+ public void llReleaseCamera(string avatar)
{
- m_LSL_Functions.llEjectFromLand(pest);
+ m_LSL_Functions.llReleaseCamera(avatar);
}
- public LSL_Types.list llParseString2List(string str, LSL_Types.list separators, LSL_Types.list spacers)
+ public void llReleaseControls()
{
- return m_LSL_Functions.llParseString2List(str,separators,spacers);
+ m_LSL_Functions.llReleaseControls();
}
- public LSL_Types.LSLInteger llOverMyLand(string id)
+ public void llRemoteDataReply(string channel, string message_id, string sdata, int idata)
{
- return m_LSL_Functions.llOverMyLand(id);
+ m_LSL_Functions.llRemoteDataReply(channel, message_id, sdata, idata);
}
- public string llGetLandOwnerAt(vector pos)
+ public void llRemoteDataSetRegion()
{
- return m_LSL_Functions.llGetLandOwnerAt(pos);
+ m_LSL_Functions.llRemoteDataSetRegion();
}
- public string llGetNotecardLine(string name, int line)
+ public void llRemoteLoadScript()
{
- return m_LSL_Functions.llGetNotecardLine(name, line);
+ m_LSL_Functions.llRemoteLoadScript();
}
- public vector llGetAgentSize(string id)
+ public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param)
{
- return m_LSL_Functions.llGetAgentSize(id);
+ m_LSL_Functions.llRemoteLoadScriptPin(target, name, pin, running, start_param);
}
- public LSL_Types.LSLInteger llSameGroup(string agent)
+ public void llRemoveFromLandBanList(string avatar)
{
- return m_LSL_Functions.llSameGroup(agent);
+ m_LSL_Functions.llRemoveFromLandBanList(avatar);
}
- public void llUnSit(string id)
+ public void llRemoveFromLandPassList(string avatar)
{
- m_LSL_Functions.llUnSit(id);
+ m_LSL_Functions.llRemoveFromLandPassList(avatar);
}
- public vector llGroundSlope(vector offset)
+ public void llRemoveInventory(string item)
{
- return m_LSL_Functions.llGroundSlope(offset);
+ m_LSL_Functions.llRemoveInventory(item);
}
- public vector llGroundNormal(vector offset)
+ public void llRemoveVehicleFlags(int flags)
{
- return m_LSL_Functions.llGroundNormal(offset);
+ m_LSL_Functions.llRemoveVehicleFlags(flags);
}
- public vector llGroundContour(vector offset)
+ public LSL_Key llRequestAgentData(string id, int data)
{
- return m_LSL_Functions.llGroundContour(offset);
+ return m_LSL_Functions.llRequestAgentData(id, data);
}
- public LSL_Types.LSLInteger llGetAttached()
+ public LSL_Key llRequestInventoryData(string name)
{
- return m_LSL_Functions.llGetAttached();
+ return m_LSL_Functions.llRequestInventoryData(name);
}
- public LSL_Types.LSLInteger llGetFreeMemory()
+ public void llRequestPermissions(string agent, int perm)
{
- return m_LSL_Functions.llGetFreeMemory();
+ m_LSL_Functions.llRequestPermissions(agent, perm);
}
- public string llGetRegionName()
+ public LSL_Key llRequestSimulatorData(string simulator, int data)
{
- return m_LSL_Functions.llGetRegionName();
+ return m_LSL_Functions.llRequestSimulatorData(simulator, data);
}
- public double llGetRegionTimeDilation()
+ public void llResetLandBanList()
{
- return m_LSL_Functions.llGetRegionTimeDilation();
+ m_LSL_Functions.llResetLandBanList();
}
- public double llGetRegionFPS()
+ public void llResetLandPassList()
{
- return m_LSL_Functions.llGetRegionFPS();
+ m_LSL_Functions.llResetLandPassList();
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public void llParticleSystem(LSL_Types.list rules)
+ public void llResetOtherScript(string name)
{
- m_LSL_Functions.llParticleSystem(rules);
+ m_LSL_Functions.llResetOtherScript(name);
}
- public void llGroundRepel(double height, int water, double tau)
+ public void llResetScript()
{
- m_LSL_Functions.llGroundRepel(height, water, tau);
+ m_LSL_Functions.llResetScript();
}
- public void llGiveInventoryList(string destination, string category, LSL_Types.list inventory)
+ public void llResetTime()
{
- m_LSL_Functions.llGiveInventoryList(destination, category, inventory);
+ m_LSL_Functions.llResetTime();
}
- public void llSetVehicleType(int type)
+ public void llRezAtRoot(string inventory, LSL_Vector position, LSL_Vector velocity, LSL_Rotation rot, int param)
{
- m_LSL_Functions.llSetVehicleType(type);
+ m_LSL_Functions.llRezAtRoot(inventory, position, velocity, rot, param);
}
- public void llSetVehicledoubleParam(int param, double value)
+ public void llRezObject(string inventory, LSL_Vector pos, LSL_Vector vel, LSL_Rotation rot, int param)
{
- m_LSL_Functions.llSetVehicledoubleParam(param, value);
+ m_LSL_Functions.llRezObject(inventory, pos, vel, rot, param);
}
- public void llSetVehicleFloatParam(int param, float value)
+ public LSL_Float llRot2Angle(LSL_Rotation rot)
{
- m_LSL_Functions.llSetVehicleFloatParam(param, value);
+ return m_LSL_Functions.llRot2Angle(rot);
}
- public void llSetVehicleVectorParam(int param, vector vec)
+ public LSL_Vector llRot2Axis(LSL_Rotation rot)
{
- m_LSL_Functions.llSetVehicleVectorParam(param, vec);
+ return m_LSL_Functions.llRot2Axis(rot);
}
- public void llSetVehicleRotationParam(int param, rotation rot)
+ public LSL_Vector llRot2Euler(LSL_Rotation r)
{
- m_LSL_Functions.llSetVehicleRotationParam(param, rot);
+ return m_LSL_Functions.llRot2Euler(r);
}
- public void llSetVehicleFlags(int flags)
+ public LSL_Vector llRot2Fwd(LSL_Rotation r)
{
- m_LSL_Functions.llSetVehicleFlags(flags);
+ return m_LSL_Functions.llRot2Fwd(r);
}
- public void llRemoveVehicleFlags(int flags)
+ public LSL_Vector llRot2Left(LSL_Rotation r)
{
- m_LSL_Functions.llRemoveVehicleFlags(flags);
+ return m_LSL_Functions.llRot2Left(r);
}
- public void llSitTarget(vector offset, rotation rot)
+ public LSL_Vector llRot2Up(LSL_Rotation r)
{
- m_LSL_Functions.llSitTarget(offset, rot);
+ return m_LSL_Functions.llRot2Up(r);
}
- public string llAvatarOnSitTarget()
+ public void llRotateTexture(double rotation, int face)
{
- return m_LSL_Functions.llAvatarOnSitTarget();
+ m_LSL_Functions.llRotateTexture(rotation, face);
}
- public void llAddToLandPassList(string avatar, double hours)
+ public LSL_Rotation llRotBetween(LSL_Vector start, LSL_Vector end)
{
- m_LSL_Functions.llAddToLandPassList(avatar, hours);
+ return m_LSL_Functions.llRotBetween(start, end);
}
- public void llSetTouchText(string text)
+ public void llRotLookAt(LSL_Rotation target, double strength, double damping)
{
- m_LSL_Functions.llSetTouchText(text);
+ m_LSL_Functions.llRotLookAt(target, strength, damping);
}
- public void llSetSitText(string text)
+ public LSL_Integer llRotTarget(LSL_Rotation rot, double error)
{
- m_LSL_Functions.llSetSitText(text);
+ return m_LSL_Functions.llRotTarget(rot, error);
}
- public void llSetCameraEyeOffset(vector offset)
+ public void llRotTargetRemove(int number)
{
- m_LSL_Functions.llSetCameraEyeOffset(offset);
+ m_LSL_Functions.llRotTargetRemove(number);
}
- public void llSetCameraAtOffset(vector offset)
+ public LSL_Integer llRound(double f)
{
- m_LSL_Functions.llSetCameraAtOffset(offset);
+ return m_LSL_Functions.llRound(f);
}
- public string llDumpList2String(LSL_Types.list src, string seperator)
+ public LSL_Integer llSameGroup(string agent)
{
- return m_LSL_Functions.llDumpList2String(src, seperator);
+ return m_LSL_Functions.llSameGroup(agent);
+ }
+
+ public void llSay(int channelID, string text)
+ {
+ m_LSL_Functions.llSay(channelID, text);
+ }
+
+ public void llScaleTexture(double u, double v, int face)
+ {
+ m_LSL_Functions.llScaleTexture(u, v, face);
+ }
+
+ public LSL_Integer llScriptDanger(LSL_Vector pos)
+ {
+ return m_LSL_Functions.llScriptDanger(pos);
+ }
+
+ public LSL_Key llSendRemoteData(string channel, string dest, int idata, string sdata)
+ {
+ return m_LSL_Functions.llSendRemoteData(channel, dest, idata, sdata);
+ }
+
+ public void llSensor(string name, string id, int type, double range, double arc)
+ {
+ m_LSL_Functions.llSensor(name, id, type, range, arc);
+ }
+
+ public void llSensorRemove()
+ {
+ m_LSL_Functions.llSensorRemove();
}
- public LSL_Types.LSLInteger llScriptDanger(vector pos)
+ public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate)
+ {
+ m_LSL_Functions.llSensorRepeat(name, id, type, range, arc, rate);
+ }
+
+ public void llSetAlpha(double alpha, int face)
{
- return m_LSL_Functions.llScriptDanger(pos);
+ m_LSL_Functions.llSetAlpha(alpha, face);
}
- public void llDialog(string avatar, string message, LSL_Types.list buttons, int chat_channel)
+ public void llSetBuoyancy(double buoyancy)
{
- m_LSL_Functions.llDialog(avatar, message, buttons, chat_channel);
+ m_LSL_Functions.llSetBuoyancy(buoyancy);
}
- public void llVolumeDetect(int detect)
+ public void llSetCameraAtOffset(LSL_Vector offset)
{
- m_LSL_Functions.llVolumeDetect(detect);
+ m_LSL_Functions.llSetCameraAtOffset(offset);
}
- public void llResetOtherScript(string name)
+ public void llSetCameraEyeOffset(LSL_Vector offset)
{
- m_LSL_Functions.llResetOtherScript(name);
+ m_LSL_Functions.llSetCameraEyeOffset(offset);
}
- public LSL_Types.LSLInteger llGetScriptState(string name)
+ public void llSetCameraParams(LSL_List rules)
{
- return m_LSL_Functions.llGetScriptState(name);
+ m_LSL_Functions.llSetCameraParams(rules);
}
- public void llRemoteLoadScript()
+ public void llSetClickAction(int action)
{
- m_LSL_Functions.llRemoteLoadScript();
+ m_LSL_Functions.llSetClickAction(action);
}
- public void llSetRemoteScriptAccessPin(int pin)
+ public void llSetColor(LSL_Vector color, int face)
{
- m_LSL_Functions.llSetRemoteScriptAccessPin(pin);
+ m_LSL_Functions.llSetColor(color, face);
}
- public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param)
+ public void llSetDamage(double damage)
{
- m_LSL_Functions.llRemoteLoadScriptPin(target, name, pin, running, start_param);
+ m_LSL_Functions.llSetDamage(damage);
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public void llOpenRemoteDataChannel()
+ public void llSetForce(LSL_Vector force, int local)
{
- m_LSL_Functions.llOpenRemoteDataChannel();
+ m_LSL_Functions.llSetForce(force, local);
}
- public string llSendRemoteData(string channel, string dest, int idata, string sdata)
+ public void llSetForceAndTorque(LSL_Vector force, LSL_Vector torque, int local)
{
- return m_LSL_Functions.llSendRemoteData(channel, dest, idata, sdata);
+ m_LSL_Functions.llSetForceAndTorque(force, torque, local);
}
- public void llRemoteDataReply(string channel, string message_id, string sdata, int idata)
+ public void llSetHoverHeight(double height, int water, double tau)
{
- m_LSL_Functions.llRemoteDataReply(channel, message_id, sdata, idata);
+ m_LSL_Functions.llSetHoverHeight(height, water, tau);
}
- public void llCloseRemoteDataChannel(string channel)
+ public void llSetInventoryPermMask(string item, int mask, int value)
{
- m_LSL_Functions.llCloseRemoteDataChannel(channel);
+ m_LSL_Functions.llSetInventoryPermMask(item, mask, value);
}
- public string llMD5String(string src, int nonce)
+ public void llSetLinkAlpha(int linknumber, double alpha, int face)
{
- return m_LSL_Functions.llMD5String(src, nonce);
+ m_LSL_Functions.llSetLinkAlpha(linknumber, alpha, face);
}
- public void llSetPrimitiveParams(LSL_Types.list rules)
+ public void llSetLinkColor(int linknumber, LSL_Vector color, int face)
{
- m_LSL_Functions.llSetPrimitiveParams(rules);
+ m_LSL_Functions.llSetLinkColor(linknumber, color, face);
}
- public void llSetLinkPrimitiveParams(int linknumber, LSL_Types.list rules)
+ public void llSetLinkPrimitiveParams(int linknumber, LSL_List rules)
{
m_LSL_Functions.llSetLinkPrimitiveParams(linknumber, rules);
}
- public string llStringToBase64(string str)
+
+ public void llSetLinkTexture(int linknumber, string texture, int face)
{
- return m_LSL_Functions.llStringToBase64(str);
+ m_LSL_Functions.llSetLinkTexture(linknumber, texture, face);
}
- public string llBase64ToString(string str)
+ public void llSetLocalRot(LSL_Rotation rot)
{
- return m_LSL_Functions.llBase64ToString(str);
+ m_LSL_Functions.llSetLocalRot(rot);
}
- public void llXorBase64Strings()
+ public void llSetObjectDesc(string desc)
{
- m_LSL_Functions.llXorBase64Strings();
+ m_LSL_Functions.llSetObjectDesc(desc);
}
- public void llRemoteDataSetRegion()
+ public void llSetObjectName(string name)
{
- m_LSL_Functions.llRemoteDataSetRegion();
+ m_LSL_Functions.llSetObjectName(name);
}
- public double llLog10(double val)
+ public void llSetObjectPermMask(int mask, int value)
{
- return m_LSL_Functions.llLog10(val);
+ m_LSL_Functions.llSetObjectPermMask(mask, value);
}
- public double llLog(double val)
+ public void llSetParcelMusicURL(string url)
{
- return m_LSL_Functions.llLog(val);
+ m_LSL_Functions.llSetParcelMusicURL(url);
}
- public LSL_Types.list llGetAnimationList(string id)
+ public void llSetPayPrice(int price, LSL_List quick_pay_buttons)
{
- return m_LSL_Functions.llGetAnimationList(id);
+ m_LSL_Functions.llSetPayPrice(price, quick_pay_buttons);
}
- public void llSetParcelMusicURL(string url)
+ public void llSetPos(LSL_Vector pos)
{
- m_LSL_Functions.llSetParcelMusicURL(url);
+ m_LSL_Functions.llSetPos(pos);
}
- public vector llGetRootPosition()
+ public void llSetPrimitiveParams(LSL_List rules)
{
- return m_LSL_Functions.llGetRootPosition();
+ m_LSL_Functions.llSetPrimitiveParams(rules);
}
- public rotation llGetRootRotation()
+ public void llSetPrimURL()
{
- return m_LSL_Functions.llGetRootRotation();
+ m_LSL_Functions.llSetPrimURL();
}
- public string llGetObjectDesc()
+ public void llSetRemoteScriptAccessPin(int pin)
{
- return m_LSL_Functions.llGetObjectDesc();
+ m_LSL_Functions.llSetRemoteScriptAccessPin(pin);
}
- public void llSetObjectDesc(string desc)
+ public void llSetRot(LSL_Rotation rot)
{
- m_LSL_Functions.llSetObjectDesc(desc);
+ m_LSL_Functions.llSetRot(rot);
}
- public string llGetCreator()
+ public void llSetScale(LSL_Vector scale)
{
- return m_LSL_Functions.llGetCreator();
+ m_LSL_Functions.llSetScale(scale);
}
- public string llGetTimestamp()
+ public void llSetScriptState(string name, int run)
{
- return m_LSL_Functions.llGetTimestamp();
+ m_LSL_Functions.llSetScriptState(name, run);
}
- public void llSetLinkAlpha(int linknumber, double alpha, int face)
+ public void llSetSitText(string text)
{
- m_LSL_Functions.llSetLinkAlpha(linknumber, alpha, face);
+ m_LSL_Functions.llSetSitText(text);
}
- public LSL_Types.LSLInteger llGetNumberOfPrims()
+ public void llSetSoundQueueing(int queue)
{
- return m_LSL_Functions.llGetNumberOfPrims();
+ m_LSL_Functions.llSetSoundQueueing(queue);
}
- public string llGetNumberOfNotecardLines(string name)
+ public void llSetSoundRadius(double radius)
{
- return m_LSL_Functions.llGetNumberOfNotecardLines(name);
+ m_LSL_Functions.llSetSoundRadius(radius);
}
- public LSL_Types.list llGetBoundingBox(string obj)
+ public void llSetStatus(int status, int value)
{
- return m_LSL_Functions.llGetBoundingBox(obj);
+ m_LSL_Functions.llSetStatus(status, value);
}
- public vector llGetGeometricCenter()
+ public void llSetText(string text, LSL_Vector color, double alpha)
{
- return m_LSL_Functions.llGetGeometricCenter();
+ m_LSL_Functions.llSetText(text, color, alpha);
}
- public LSL_Types.list llGetPrimitiveParams(LSL_Types.list rules)
+ public void llSetTexture(string texture, int face)
{
- return m_LSL_Functions.llGetPrimitiveParams(rules);
+ m_LSL_Functions.llSetTexture(texture, face);
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public string llIntegerToBase64(int number)
+ public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate)
{
- return m_LSL_Functions.llIntegerToBase64(number);
+ m_LSL_Functions.llSetTextureAnim(mode, face, sizex, sizey, start, length, rate);
}
- public LSL_Types.LSLInteger llBase64ToInteger(string str)
+ public void llSetTimerEvent(double sec)
{
- return m_LSL_Functions.llBase64ToInteger(str);
+ m_LSL_Functions.llSetTimerEvent(sec);
}
- public double llGetGMTclock()
+ public void llSetTorque(LSL_Vector torque, int local)
{
- return m_LSL_Functions.llGetGMTclock();
+ m_LSL_Functions.llSetTorque(torque, local);
}
- public string llGetSimulatorHostname()
+ public void llSetTouchText(string text)
{
- return m_LSL_Functions.llGetSimulatorHostname();
+ m_LSL_Functions.llSetTouchText(text);
}
- public void llSetLocalRot(rotation rot)
+ public void llSetVehicleFlags(int flags)
{
- m_LSL_Functions.llSetLocalRot(rot);
+ m_LSL_Functions.llSetVehicleFlags(flags);
}
- public LSL_Types.list llParseStringKeepNulls(string src, LSL_Types.list seperators, LSL_Types.list spacers)
+ public void llSetVehicleFloatParam(int param, float value)
{
- return m_LSL_Functions.llParseStringKeepNulls(src, seperators, spacers);
+ m_LSL_Functions.llSetVehicleFloatParam(param, value);
}
- public void llRezAtRoot(string inventory, vector position, vector velocity, rotation rot, int param)
+ public void llSetVehicleRotationParam(int param, LSL_Rotation rot)
{
- m_LSL_Functions.llRezAtRoot(inventory, position, velocity, rot, param);
+ m_LSL_Functions.llSetVehicleRotationParam(param, rot);
}
- public LSL_Types.LSLInteger llGetObjectPermMask(int mask)
+ public void llSetVehicleType(int type)
{
- return m_LSL_Functions.llGetObjectPermMask(mask);
+ m_LSL_Functions.llSetVehicleType(type);
}
- public void llSetObjectPermMask(int mask, int value)
+ public void llSetVehicleVectorParam(int param, LSL_Vector vec)
{
- m_LSL_Functions.llSetObjectPermMask(mask, value);
+ m_LSL_Functions.llSetVehicleVectorParam(param, vec);
}
- public LSL_Types.LSLInteger llGetInventoryPermMask(string item, int mask)
+ public void llShout(int channelID, string text)
{
- return m_LSL_Functions.llGetInventoryPermMask(item, mask);
+ m_LSL_Functions.llShout(channelID, text);
}
- public void llSetInventoryPermMask(string item, int mask, int value)
+ public LSL_Float llSin(double f)
{
- m_LSL_Functions.llSetInventoryPermMask(item, mask, value);
+ return m_LSL_Functions.llSin(f);
}
- public string llGetInventoryCreator(string item)
+ public void llSitTarget(LSL_Vector offset, LSL_Rotation rot)
{
- return m_LSL_Functions.llGetInventoryCreator(item);
+ m_LSL_Functions.llSitTarget(offset, rot);
}
- public string llRequestSimulatorData(string simulator, int data)
+ public void llSleep(double sec)
{
- return m_LSL_Functions.llRequestSimulatorData(simulator, data);
+ m_LSL_Functions.llSleep(sec);
}
- public void llForceMouselook(int mouselook)
+ public void llSound()
{
- m_LSL_Functions.llForceMouselook(mouselook);
+ m_LSL_Functions.llSound();
}
- public double llGetObjectMass(string id)
+ public void llSoundPreload()
{
- return m_LSL_Functions.llGetObjectMass(id);
+ m_LSL_Functions.llSoundPreload();
}
- public LSL_Types.list llListReplaceList(LSL_Types.list dest, LSL_Types.list src, int start, int end)
+ public LSL_Float llSqrt(double f)
{
- return m_LSL_Functions.llListReplaceList(dest, src, start, end);
+ return m_LSL_Functions.llSqrt(f);
}
- public void llLoadURL(string avatar_id, string message, string url)
+ public void llStartAnimation(string anim)
{
- m_LSL_Functions.llLoadURL(avatar_id, message, url);
+ m_LSL_Functions.llStartAnimation(anim);
}
- public void llParcelMediaCommandList(LSL_Types.list commandList)
+ public void llStopAnimation(string anim)
{
- m_LSL_Functions.llParcelMediaCommandList(commandList);
+ m_LSL_Functions.llStopAnimation(anim);
}
- public LSL_Types.list llParcelMediaQuery(LSL_Types.list aList)
+ public void llStopHover()
{
- return m_LSL_Functions.llParcelMediaQuery(aList);
+ m_LSL_Functions.llStopHover();
}
- public LSL_Types.LSLInteger llModPow(int a, int b, int c)
+ public void llStopLookAt()
{
- return m_LSL_Functions.llModPow(a, b, c);
+ m_LSL_Functions.llStopLookAt();
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public LSL_Types.LSLInteger llGetInventoryType(string name)
+ public void llStopMoveToTarget()
{
- return m_LSL_Functions.llGetInventoryType(name);
+ m_LSL_Functions.llStopMoveToTarget();
}
- public void llSetPayPrice(int price, LSL_Types.list quick_pay_buttons)
+ public void llStopPointAt()
{
- m_LSL_Functions.llSetPayPrice(price, quick_pay_buttons);
+ m_LSL_Functions.llStopPointAt();
}
- public vector llGetCameraPos()
+ public void llStopSound()
{
- return m_LSL_Functions.llGetCameraPos();
+ m_LSL_Functions.llStopSound();
}
- public rotation llGetCameraRot()
+ public LSL_Integer llStringLength(string str)
{
- return m_LSL_Functions.llGetCameraRot();
+ return m_LSL_Functions.llStringLength(str);
}
- public void llSetPrimURL()
+ public LSL_String llStringToBase64(string str)
{
- m_LSL_Functions.llSetPrimURL();
+ return m_LSL_Functions.llStringToBase64(str);
}
- public void llRefreshPrimURL()
+ public LSL_String llStringTrim(string src, int type)
{
- m_LSL_Functions.llRefreshPrimURL();
+ return m_LSL_Functions.llStringTrim(src, type);
}
- public string llEscapeURL(string url)
+ public LSL_Integer llSubStringIndex(string source, string pattern)
{
- return m_LSL_Functions.llEscapeURL(url);
+ return m_LSL_Functions.llSubStringIndex(source, pattern);
}
- public string llUnescapeURL(string url)
+ public void llTakeCamera(string avatar)
{
- return m_LSL_Functions.llUnescapeURL(url);
+ m_LSL_Functions.llTakeCamera(avatar);
}
- public void llMapDestination(string simname, vector pos, vector look_at)
+ public void llTakeControls(int controls, int accept, int pass_on)
{
- m_LSL_Functions.llMapDestination(simname, pos, look_at);
+ m_LSL_Functions.llTakeControls(controls, accept, pass_on);
}
- public void llAddToLandBanList(string avatar, double hours)
+ public LSL_Float llTan(double f)
{
- m_LSL_Functions.llAddToLandBanList(avatar, hours);
+ return m_LSL_Functions.llTan(f);
}
- public void llRemoveFromLandPassList(string avatar)
+ public LSL_Integer llTarget(LSL_Vector position, double range)
{
- m_LSL_Functions.llRemoveFromLandPassList(avatar);
+ return m_LSL_Functions.llTarget(position, range);
}
- public void llRemoveFromLandBanList(string avatar)
+ public void llTargetOmega(LSL_Vector axis, double spinrate, double gain)
{
- m_LSL_Functions.llRemoveFromLandBanList(avatar);
+ m_LSL_Functions.llTargetOmega(axis, spinrate, gain);
}
- public void llSetCameraParams(LSL_Types.list rules)
+ public void llTargetRemove(int number)
{
- m_LSL_Functions.llSetCameraParams(rules);
+ m_LSL_Functions.llTargetRemove(number);
}
- public void llClearCameraParams()
+ public void llTeleportAgentHome(string agent)
{
- m_LSL_Functions.llClearCameraParams();
+ m_LSL_Functions.llTeleportAgentHome(agent);
}
- public double llListStatistics(int operation, LSL_Types.list src)
+ public void llTextBox(string avatar, string message, int chat_channel)
{
- return m_LSL_Functions.llListStatistics(operation, src);
+ m_LSL_Functions.llTextBox(avatar, message, chat_channel);
}
- public LSL_Types.LSLInteger llGetUnixTime()
+ public LSL_String llToLower(string source)
{
- return m_LSL_Functions.llGetUnixTime();
+ return m_LSL_Functions.llToLower(source);
}
- public LSL_Types.LSLInteger llGetParcelFlags(vector pos)
+ public LSL_String llToUpper(string source)
{
- return m_LSL_Functions.llGetParcelFlags(pos);
+ return m_LSL_Functions.llToUpper(source);
}
- public LSL_Types.LSLInteger llGetRegionFlags()
+ public void llTriggerSound(string sound, double volume)
{
- return m_LSL_Functions.llGetRegionFlags();
+ m_LSL_Functions.llTriggerSound(sound, volume);
}
- public string llXorBase64StringsCorrect(string str1, string str2)
+ public void llTriggerSoundLimited(string sound, double volume, LSL_Vector top_north_east, LSL_Vector bottom_south_west)
{
- return m_LSL_Functions.llXorBase64StringsCorrect(str1, str2);
+ m_LSL_Functions.llTriggerSoundLimited(sound, volume, top_north_east, bottom_south_west);
}
- public string llHTTPRequest(string url, LSL_Types.list parameters, string body)
+ public LSL_String llUnescapeURL(string url)
{
- return m_LSL_Functions.llHTTPRequest(url, parameters, body);
+ return m_LSL_Functions.llUnescapeURL(url);
}
- public void llResetLandBanList()
+ public void llUnSit(string id)
{
- m_LSL_Functions.llResetLandBanList();
+ m_LSL_Functions.llUnSit(id);
}
- public void llResetLandPassList()
+ public LSL_Float llVecDist(LSL_Vector a, LSL_Vector b)
{
- m_LSL_Functions.llResetLandPassList();
+ return m_LSL_Functions.llVecDist(a, b);
}
- public LSL_Types.LSLInteger llGetParcelPrimCount(vector pos, int category, int sim_wide)
+ public LSL_Float llVecMag(LSL_Vector v)
{
- return m_LSL_Functions.llGetParcelPrimCount(pos, category, sim_wide);
+ return m_LSL_Functions.llVecMag(v);
}
- public LSL_Types.list llGetParcelPrimOwners(vector pos)
+ public LSL_Vector llVecNorm(LSL_Vector v)
{
- return m_LSL_Functions.llGetParcelPrimOwners(pos);
+ return m_LSL_Functions.llVecNorm(v);
}
- public LSL_Types.LSLInteger llGetObjectPrimCount(string object_id)
+ public void llVolumeDetect(int detect)
{
- return m_LSL_Functions.llGetObjectPrimCount(object_id);
+ m_LSL_Functions.llVolumeDetect(detect);
}
- //
- // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
- //
- public LSL_Types.LSLInteger llGetParcelMaxPrims(vector pos, int sim_wide)
+ public LSL_Float llWater(LSL_Vector offset)
{
- return m_LSL_Functions.llGetParcelMaxPrims(pos, sim_wide);
+ return m_LSL_Functions.llWater(offset);
}
- public LSL_Types.list llGetParcelDetails(vector pos, LSL_Types.list param)
+ public void llWhisper(int channelID, string text)
{
- return m_LSL_Functions.llGetParcelDetails(pos, param);
+ m_LSL_Functions.llWhisper(channelID, text);
}
- public void llSetLinkTexture(int linknumber, string texture, int face)
+ public LSL_Vector llWind(LSL_Vector offset)
{
- m_LSL_Functions.llSetLinkTexture(linknumber, texture, face);
+ return m_LSL_Functions.llWind(offset);
}
- public string llStringTrim(string src, int type)
+ public void llXorBase64Strings()
{
- return m_LSL_Functions.llStringTrim(src, type);
+ m_LSL_Functions.llXorBase64Strings();
}
- public LSL_Types.list llGetObjectDetails(string id, LSL_Types.list args)
+ public LSL_String llXorBase64StringsCorrect(string str1, string str2)
{
- return m_LSL_Functions.llGetObjectDetails(id, args);
+ return m_LSL_Functions.llXorBase64StringsCorrect(str1, str2);
}
//
@@ -1944,12 +1938,12 @@ namespace OpenSim.Region.ScriptEngine.Common
// Teleport Functions
- public void osTeleportAgent(string agent, string regionName, vector position, vector lookat)
+ public void osTeleportAgent(string agent, string regionName, LSL_Vector position, LSL_Vector lookat)
{
m_LSL_Functions.osTeleportAgent(agent, regionName, position, lookat);
}
- public void osTeleportAgent(string agent, vector position, vector lookat)
+ public void osTeleportAgent(string agent, LSL_Vector position, LSL_Vector lookat)
{
m_LSL_Functions.osTeleportAgent(agent, position, lookat);
}
@@ -2039,14 +2033,6 @@ namespace OpenSim.Region.ScriptEngine.Common
return m_LSL_Functions.osGetScriptEngineName();
}
- //
-
- public double llList2Float(LSL_Types.list src, int index)
- {
- return m_LSL_Functions.llList2Float(src, index);
- }
-
-
public System.Collections.Hashtable osParseJSON(string JSON)
{
return m_LSL_Functions.osParseJSON(JSON);
@@ -2471,8 +2457,8 @@ namespace OpenSim.Region.ScriptEngine.Common
public const int OBJECT_CREATOR = 8;
// Can not be public const?
- public static readonly vector ZERO_VECTOR = new vector(0.0, 0.0, 0.0);
- public static readonly rotation ZERO_ROTATION = new rotation(0.0, 0, 0.0, 1.0);
+ public static readonly LSL_Vector ZERO_VECTOR = new LSL_Vector(0f, 0f, 0f);
+ public static readonly LSL_Rotation ZERO_ROTATION = new LSL_Rotation(0f, 0f, 0f, 1f);
// constants for llSetCameraParams
public const int CAMERA_PITCH = 0;
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
index 90cd3b1..1017fd8 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
@@ -45,7 +45,13 @@ using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Physics.Manager;
using OpenSim.Region.ScriptEngine.Common.ScriptEngineBase;
-//using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL;
+using LSL_Float = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLFloat;
+using LSL_Integer = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLInteger;
+using LSL_Key = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLString;
+using LSL_List = OpenSim.Region.ScriptEngine.Common.LSL_Types.list;
+using LSL_Rotation = OpenSim.Region.ScriptEngine.Common.LSL_Types.Quaternion;
+using LSL_String = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLString;
+using LSL_Vector = OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3;
namespace OpenSim.Region.ScriptEngine.Common
{
@@ -61,6 +67,9 @@ namespace OpenSim.Region.ScriptEngine.Common
internal uint m_localID;
internal UUID m_itemID;
internal bool throwErrorOnNotImplemented = true;
+ internal float m_delayFactor = 1.0f;
+ internal float m_distanceFactor = 1.0f;
+
public LSL_BuiltIn_Commands(ScriptEngineBase.ScriptEngine ScriptEngine, SceneObjectPart host, uint localID, UUID itemID)
{
@@ -81,12 +90,9 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- private DateTime m_timer = DateTime.Now;
private string m_state = "default";
+ private DateTime m_timer = DateTime.Now;
private bool m_waitingForScriptAnswer=false;
- private float m_delayFactor = 1.0f;
- private float m_distanceFactor = 1.0f;
-
protected void ScriptSleep(int delay)
{
@@ -96,6 +102,23 @@ namespace OpenSim.Region.ScriptEngine.Common
System.Threading.Thread.Sleep(delay);
}
+ // Object never expires
+ public override Object InitializeLifetimeService()
+ {
+ ILease lease = (ILease)base.InitializeLifetimeService();
+
+ if (lease.CurrentState == LeaseState.Initial)
+ {
+ lease.InitialLeaseTime = TimeSpan.Zero;
+ }
+ return lease;
+ }
+
+ public Scene World
+ {
+ get { return m_ScriptEngine.World; }
+ }
+
public string State
{
get { return m_state; }
@@ -127,23 +150,6 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- // Object never expires
- public override Object InitializeLifetimeService()
- {
- ILease lease = (ILease)base.InitializeLifetimeService();
-
- if (lease.CurrentState == LeaseState.Initial)
- {
- lease.InitialLeaseTime = TimeSpan.Zero;
- }
- return lease;
- }
-
- public Scene World
- {
- get { return m_ScriptEngine.World; }
- }
-
// Extension commands use this:
public ICommander GetCommander(string name)
{
@@ -220,68 +226,57 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public void osSetRegionWaterHeight(double height)
- {
- m_host.AddScriptLPS(1);
- //Check to make sure that the script's owner is the estate manager/master
- //World.Permissions.GenericEstatePermission(
- if (World.ExternalChecks.ExternalChecksCanBeGodLike(m_host.OwnerID))
- {
- World.EventManager.TriggerRequestChangeWaterHeight((float)height);
- }
- }
-
//These are the implementations of the various ll-functions used by the LSL scripts.
//starting out, we use the System.Math library for trig functions. - ckrinke 8-14-07
- public double llSin(double f)
+ public LSL_Float llSin(double f)
{
m_host.AddScriptLPS(1);
return (double)Math.Sin(f);
}
- public double llCos(double f)
+ public LSL_Float llCos(double f)
{
m_host.AddScriptLPS(1);
return (double)Math.Cos(f);
}
- public double llTan(double f)
+ public LSL_Float llTan(double f)
{
m_host.AddScriptLPS(1);
return (double)Math.Tan(f);
}
- public double llAtan2(double x, double y)
+ public LSL_Float llAtan2(double x, double y)
{
m_host.AddScriptLPS(1);
return (double)Math.Atan2(y, x);
}
- public double llSqrt(double f)
+ public LSL_Float llSqrt(double f)
{
m_host.AddScriptLPS(1);
return (double)Math.Sqrt(f);
}
- public double llPow(double fbase, double fexponent)
+ public LSL_Float llPow(double fbase, double fexponent)
{
m_host.AddScriptLPS(1);
return (double)Math.Pow(fbase, fexponent);
}
- public LSL_Types.LSLInteger llAbs(int i)
+ public LSL_Integer llAbs(int i)
{
m_host.AddScriptLPS(1);
return (int)Math.Abs(i);
}
- public double llFabs(double f)
+ public LSL_Float llFabs(double f)
{
m_host.AddScriptLPS(1);
return (double)Math.Abs(f);
}
- public double llFrand(double mag)
+ public LSL_Float llFrand(double mag)
{
m_host.AddScriptLPS(1);
lock (Util.RandomClass)
@@ -290,44 +285,44 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.LSLInteger llFloor(double f)
+ public LSL_Integer llFloor(double f)
{
m_host.AddScriptLPS(1);
return (int)Math.Floor(f);
}
- public LSL_Types.LSLInteger llCeil(double f)
+ public LSL_Integer llCeil(double f)
{
m_host.AddScriptLPS(1);
return (int)Math.Ceiling(f);
}
// Xantor 01/May/2008 fixed midpointrounding (2.5 becomes 3.0 instead of 2.0, default = ToEven)
- public LSL_Types.LSLInteger llRound(double f)
+ public LSL_Integer llRound(double f)
{
m_host.AddScriptLPS(1);
return (int)Math.Round(f, MidpointRounding.AwayFromZero);
}
//This next group are vector operations involving squaring and square root. ckrinke
- public double llVecMag(LSL_Types.Vector3 v)
+ public LSL_Float llVecMag(LSL_Vector v)
{
m_host.AddScriptLPS(1);
- return LSL_Types.Vector3.Mag(v);
+ return LSL_Vector.Mag(v);
}
- public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v)
+ public LSL_Vector llVecNorm(LSL_Vector v)
{
m_host.AddScriptLPS(1);
- double mag = LSL_Types.Vector3.Mag(v);
- LSL_Types.Vector3 nor = new LSL_Types.Vector3();
+ double mag = LSL_Vector.Mag(v);
+ LSL_Vector nor = new LSL_Vector();
nor.x = v.x / mag;
nor.y = v.y / mag;
nor.z = v.z / mag;
return nor;
}
- public double llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b)
+ public LSL_Float llVecDist(LSL_Vector a, LSL_Vector b)
{
m_host.AddScriptLPS(1);
double dx = a.x - b.x;
@@ -350,23 +345,23 @@ namespace OpenSim.Region.ScriptEngine.Common
// Old implementation of llRot2Euler, now normalized
- public LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r)
+ public LSL_Vector llRot2Euler(LSL_Rotation r)
{
m_host.AddScriptLPS(1);
//This implementation is from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions. ckrinke
- LSL_Types.Quaternion t = new LSL_Types.Quaternion(r.x * r.x, r.y * r.y, r.z * r.z, r.s * r.s);
+ LSL_Rotation t = new LSL_Rotation(r.x * r.x, r.y * r.y, r.z * r.z, r.s * r.s);
double m = (t.x + t.y + t.z + t.s);
- if (m == 0) return new LSL_Types.Vector3();
+ if (m == 0) return new LSL_Vector();
double n = 2 * (r.y * r.s + r.x * r.z);
double p = m * m - n * n;
if (p > 0)
- return new LSL_Types.Vector3(NormalizeAngle(Math.Atan2(2.0 * (r.x * r.s - r.y * r.z), (-t.x - t.y + t.z + t.s))),
+ return new LSL_Vector(NormalizeAngle(Math.Atan2(2.0 * (r.x * r.s - r.y * r.z), (-t.x - t.y + t.z + t.s))),
NormalizeAngle(Math.Atan2(n, Math.Sqrt(p))),
NormalizeAngle(Math.Atan2(2.0 * (r.z * r.s - r.x * r.y), (t.x - t.y - t.z + t.s))));
else if (n > 0)
- return new LSL_Types.Vector3(0.0, Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z)));
+ return new LSL_Vector(0.0, Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z)));
else
- return new LSL_Types.Vector3(0.0, -Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z)));
+ return new LSL_Vector(0.0, -Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z)));
}
/* From wiki:
@@ -414,7 +409,7 @@ namespace OpenSim.Region.ScriptEngine.Common
* Apparently in some cases this is better from a numerical precision perspective?
*/
- public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v)
+ public LSL_Rotation llEuler2Rot(LSL_Vector v)
{
m_host.AddScriptLPS(1);
@@ -432,10 +427,10 @@ namespace OpenSim.Region.ScriptEngine.Common
z = s1*s2*c3+c1*c2*s3;
s = c1*c2*c3-s1*s2*s3;
- return new LSL_Types.Quaternion(x, y, z, s);
+ return new LSL_Rotation(x, y, z, s);
}
- public LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up)
+ public LSL_Rotation llAxes2Rot(LSL_Vector fwd, LSL_Vector left, LSL_Vector up)
{
m_host.AddScriptLPS(1);
double x, y, z, s;
@@ -468,7 +463,7 @@ namespace OpenSim.Region.ScriptEngine.Common
if (f == 5) { z = -z; }
if (f == 6) { y = -y; }
- LSL_Types.Quaternion result = new LSL_Types.Quaternion(x, y, z, s);
+ LSL_Rotation result = new LSL_Rotation(x, y, z, s);
// a hack to correct a few questionable angles :(
if (llVecDist(llRot2Fwd(result), fwd) > 0.001 || llVecDist(llRot2Left(result), left) > 0.001)
@@ -477,7 +472,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return result;
}
- public LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r)
+ public LSL_Vector llRot2Fwd(LSL_Rotation r)
{
m_host.AddScriptLPS(1);
@@ -499,10 +494,10 @@ namespace OpenSim.Region.ScriptEngine.Common
x = r.x * r.x - r.y * r.y - r.z * r.z + r.s * r.s;
y = 2 * (r.x * r.y + r.z * r.s);
z = 2 * (r.x * r.z - r.y * r.s);
- return (new LSL_Types.Vector3(x, y, z));
+ return (new LSL_Vector(x, y, z));
}
- public LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r)
+ public LSL_Vector llRot2Left(LSL_Rotation r)
{
m_host.AddScriptLPS(1);
@@ -524,10 +519,10 @@ namespace OpenSim.Region.ScriptEngine.Common
x = 2 * (r.x * r.y - r.z * r.s);
y = -r.x * r.x + r.y * r.y - r.z * r.z + r.s * r.s;
z = 2 * (r.x * r.s + r.y * r.z);
- return (new LSL_Types.Vector3(x, y, z));
+ return (new LSL_Vector(x, y, z));
}
- public LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r)
+ public LSL_Vector llRot2Up(LSL_Rotation r)
{
m_host.AddScriptLPS(1);
double x, y, z, m;
@@ -548,18 +543,18 @@ namespace OpenSim.Region.ScriptEngine.Common
x = 2 * (r.x * r.z + r.y * r.s);
y = 2 * (-r.x * r.s + r.y * r.z);
z = -r.x * r.x - r.y * r.y + r.z * r.z + r.s * r.s;
- return (new LSL_Types.Vector3(x, y, z));
+ return (new LSL_Vector(x, y, z));
}
- public LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 a, LSL_Types.Vector3 b)
+ public LSL_Rotation llRotBetween(LSL_Vector a, LSL_Vector b)
{
//A and B should both be normalized
m_host.AddScriptLPS(1);
- double dotProduct = LSL_Types.Vector3.Dot(a, b);
- LSL_Types.Vector3 crossProduct = LSL_Types.Vector3.Cross(a, b);
- double magProduct = LSL_Types.Vector3.Mag(a) * LSL_Types.Vector3.Mag(b);
+ double dotProduct = LSL_Vector.Dot(a, b);
+ LSL_Vector crossProduct = LSL_Vector.Cross(a, b);
+ double magProduct = LSL_Vector.Mag(a) * LSL_Vector.Mag(b);
double angle = Math.Acos(dotProduct / magProduct);
- LSL_Types.Vector3 axis = LSL_Types.Vector3.Norm(crossProduct);
+ LSL_Vector axis = LSL_Vector.Norm(crossProduct);
double s = Math.Sin(angle / 2);
double x = axis.x * s;
@@ -568,9 +563,9 @@ namespace OpenSim.Region.ScriptEngine.Common
double w = Math.Cos(angle / 2);
if (Double.IsNaN(x) || Double.IsNaN(y) || Double.IsNaN(z) || Double.IsNaN(w))
- return new LSL_Types.Quaternion(0.0f, 0.0f, 0.0f, 1.0f);
+ return new LSL_Rotation(0.0f, 0.0f, 0.0f, 1.0f);
- return new LSL_Types.Quaternion((float)x, (float)y, (float)z, (float)w);
+ return new LSL_Rotation((float)x, (float)y, (float)z, (float)w);
}
public void llWhisper(int channelID, string text)
@@ -632,7 +627,7 @@ namespace OpenSim.Region.ScriptEngine.Common
wComm.DeliverMessage(ChatTypeEnum.Region, channelID, m_host.Name, m_host.UUID, text);
}
- public LSL_Types.LSLInteger llListen(int channelID, string name, string ID, string msg)
+ public LSL_Integer llListen(int channelID, string name, string ID, string msg)
{
m_host.AddScriptLPS(1);
UUID keyID;
@@ -707,10 +702,10 @@ namespace OpenSim.Region.ScriptEngine.Common
return SensedObject.Name;
}
- public string llDetectedName(int number)
+ public LSL_String llDetectedName(int number)
{
m_host.AddScriptLPS(1);
- LSL_Types.list SenseList = m_ScriptEngine.m_ASYNCLSLCommandManager.m_SensorRepeat.GetSensorList(m_localID, m_itemID);
+ LSL_List SenseList = m_ScriptEngine.m_ASYNCLSLCommandManager.m_SensorRepeat.GetSensorList(m_localID, m_itemID);
if (SenseList != null)
{
if ((number >= 0) && (number < SenseList.Length))
@@ -750,7 +745,7 @@ namespace OpenSim.Region.ScriptEngine.Common
public UUID uuidDetectedKey(int number)
{
- LSL_Types.list SenseList = m_ScriptEngine.m_ASYNCLSLCommandManager.m_SensorRepeat.GetSensorList(m_localID, m_itemID);
+ LSL_List SenseList = m_ScriptEngine.m_ASYNCLSLCommandManager.m_SensorRepeat.GetSensorList(m_localID, m_itemID);
if (SenseList != null)
{
if ((number >= 0) && (number < SenseList.Length))
@@ -787,7 +782,7 @@ namespace OpenSim.Region.ScriptEngine.Common
public EntityBase entityDetectedKey(int number)
{
- LSL_Types.list SenseList = m_ScriptEngine.m_ASYNCLSLCommandManager.m_SensorRepeat.GetSensorList(m_localID, m_itemID);
+ LSL_List SenseList = m_ScriptEngine.m_ASYNCLSLCommandManager.m_SensorRepeat.GetSensorList(m_localID, m_itemID);
if (SenseList != null)
{
if ((number >= 0) && (number < SenseList.Length))
@@ -834,7 +829,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return null;
}
- public string llDetectedKey(int number)
+ public LSL_String llDetectedKey(int number)
{
m_host.AddScriptLPS(1);
UUID SensedUUID = uuidDetectedKey(number);
@@ -843,7 +838,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return SensedUUID.ToString();
}
- public string llDetectedOwner(int number)
+ public LSL_String llDetectedOwner(int number)
{
// returns UUID of owner of object detected
m_host.AddScriptLPS(1);
@@ -869,7 +864,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- public LSL_Types.LSLInteger llDetectedType(int number)
+ public LSL_Integer llDetectedType(int number)
{
m_host.AddScriptLPS(1);
EntityBase SensedObject = entityDetectedKey(number);
@@ -878,7 +873,7 @@ namespace OpenSim.Region.ScriptEngine.Common
int mask = 0;
UUID SensedUUID = uuidDetectedKey(number);
- LSL_Types.Vector3 ZeroVector = new LSL_Types.Vector3(0, 0, 0);
+ LSL_Vector ZeroVector = new LSL_Vector(0, 0, 0);
if (World.GetScenePresence(SensedUUID) != null) mask |= 0x01; // actor
if (SensedObject.Velocity.Equals(ZeroVector))
@@ -889,71 +884,71 @@ namespace OpenSim.Region.ScriptEngine.Common
return mask;
}
- public LSL_Types.Vector3 llDetectedPos(int number)
+ public LSL_Vector llDetectedPos(int number)
{
m_host.AddScriptLPS(1);
EntityBase SensedObject = entityDetectedKey(number);
if (SensedObject == null)
- return new LSL_Types.Vector3(0, 0, 0);
- return new LSL_Types.Vector3(
+ return new LSL_Vector(0, 0, 0);
+ return new LSL_Vector(
SensedObject.AbsolutePosition.X,
SensedObject.AbsolutePosition.Y,
SensedObject.AbsolutePosition.Z);
}
- public LSL_Types.Vector3 llDetectedVel(int number)
+ public LSL_Vector llDetectedVel(int number)
{
m_host.AddScriptLPS(1);
EntityBase SensedObject = entityDetectedKey(number);
if (SensedObject == null)
- return new LSL_Types.Vector3(0, 0, 0);
- return new LSL_Types.Vector3(
+ return new LSL_Vector(0, 0, 0);
+ return new LSL_Vector(
SensedObject.Velocity.X,
SensedObject.Velocity.Y,
SensedObject.Velocity.Z);
}
- public LSL_Types.Vector3 llDetectedGrab(int number)
+ public LSL_Vector llDetectedGrab(int number)
{
m_host.AddScriptLPS(1);
EntityBase SensedObject = entityDetectedKey(number);
if (SensedObject == null)
- return new LSL_Types.Vector3(0, 0, 0);
+ return new LSL_Vector(0, 0, 0);
- return new LSL_Types.Vector3(
+ return new LSL_Vector(
SensedObject.AbsolutePosition.X,
SensedObject.AbsolutePosition.Y,
SensedObject.AbsolutePosition.Z);
}
- public LSL_Types.Quaternion llDetectedRot(int number)
+ public LSL_Rotation llDetectedRot(int number)
{
m_host.AddScriptLPS(1);
EntityBase SensedObject = entityDetectedKey(number);
if (SensedObject == null)
- return new LSL_Types.Quaternion();
- return new LSL_Types.Quaternion(
+ return new LSL_Rotation();
+ return new LSL_Rotation(
SensedObject.Rotation.X,
SensedObject.Rotation.Y,
SensedObject.Rotation.Z,
SensedObject.Rotation.W);
}
- public LSL_Types.LSLInteger llDetectedGroup(int number)
+ public LSL_Integer llDetectedGroup(int number)
{
m_host.AddScriptLPS(1);
UUID SensedUUID = uuidDetectedKey(number);
if (SensedUUID == UUID.Zero)
- return new LSL_Types.LSLInteger(0);
+ return new LSL_Integer(0);
ScenePresence presence = World.GetScenePresence(SensedUUID);
IClientAPI client = presence.ControllingClient;
if (m_host.GroupID == client.ActiveGroupId)
- return new LSL_Types.LSLInteger(1);
+ return new LSL_Integer(1);
else
- return new LSL_Types.LSLInteger(0);
+ return new LSL_Integer(0);
}
- public LSL_Types.LSLInteger llDetectedLinkNumber(int number)
+ public LSL_Integer llDetectedLinkNumber(int number)
{
m_host.AddScriptLPS(1);
EntityBase SensedObject = entityDetectedKey(number);
@@ -962,13 +957,55 @@ namespace OpenSim.Region.ScriptEngine.Common
return m_host.LinkNum;
}
+ public LSL_Vector llDetectedTouchBinormal(int index)
+ {
+ m_host.AddScriptLPS(1);
+ NotImplemented("llDetectedTouchBinormal");
+ return new LSL_Vector();
+ }
+
+ public LSL_Integer llDetectedTouchFace(int index)
+ {
+ m_host.AddScriptLPS(1);
+ NotImplemented("llDetectedTouchFace");
+ return new LSL_Integer(0);
+ }
+
+ public LSL_Vector llDetectedTouchNormal(int index)
+ {
+ m_host.AddScriptLPS(1);
+ NotImplemented("llDetectedTouchNormal");
+ return new LSL_Vector();
+ }
+
+ public LSL_Vector llDetectedTouchPos(int index)
+ {
+ m_host.AddScriptLPS(1);
+ NotImplemented("llDetectedTouchPos");
+ return new LSL_Vector();
+ }
+
+ public LSL_Vector llDetectedTouchST(int index)
+ {
+ m_host.AddScriptLPS(1);
+ NotImplemented("llDetectedTouchST");
+ return new LSL_Vector();
+ }
+
+ public LSL_Vector llDetectedTouchUV(int index)
+ {
+ m_host.AddScriptLPS(1);
+ NotImplemented("llDetectedTouchUV");
+ return new LSL_Vector();
+ }
+
public void llDie()
{
m_host.AddScriptLPS(1);
World.DeleteSceneObject(m_host.ParentGroup);
}
- public double llGround(LSL_Types.Vector3 offset)
+ public LSL_Float llGround(LSL_Vector offset)
{
m_host.AddScriptLPS(1);
int x = (int)(m_host.OffsetPosition.X + offset.x);
@@ -976,16 +1013,16 @@ namespace OpenSim.Region.ScriptEngine.Common
return World.GetLandHeight(x, y);
}
- public double llCloud(LSL_Types.Vector3 offset)
+ public LSL_Float llCloud(LSL_Vector offset)
{
m_host.AddScriptLPS(1);
return 0;
}
- public LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset)
+ public LSL_Vector llWind(LSL_Vector offset)
{
m_host.AddScriptLPS(1);
- return new LSL_Types.Vector3();
+ return new LSL_Vector();
}
public void llSetStatus(int status, int value)
@@ -1076,7 +1113,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.LSLInteger llGetStatus(int status)
+ public LSL_Integer llGetStatus(int status)
{
m_host.AddScriptLPS(1);
// Console.WriteLine(m_host.ToString() + " status is " + m_host.GetEffectiveObjectFlags().ToString());
@@ -1136,13 +1173,13 @@ namespace OpenSim.Region.ScriptEngine.Common
return 0;
}
- public void llSetScale(LSL_Types.Vector3 scale)
+ public void llSetScale(LSL_Vector scale)
{
m_host.AddScriptLPS(1);
SetScale(m_host, scale);
}
- private void SetScale(SceneObjectPart part, LSL_Types.Vector3 scale)
+ private void SetScale(SceneObjectPart part, LSL_Vector scale)
{
// TODO: this needs to trigger a persistance save as well
@@ -1172,24 +1209,31 @@ namespace OpenSim.Region.ScriptEngine.Common
part.SendFullUpdateToAllClients();
}
- public LSL_Types.Vector3 llGetScale()
+ public LSL_Vector llGetScale()
+ {
+ m_host.AddScriptLPS(1);
+ return new LSL_Vector(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z);
+ }
+
+ public void llSetClickAction(int action)
{
m_host.AddScriptLPS(1);
- return new LSL_Types.Vector3(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z);
+ NotImplemented("llSetClickAction");
+ return;
}
- public void llSetColor(LSL_Types.Vector3 color, int face)
+ public void llSetColor(LSL_Vector color, int face)
{
m_host.AddScriptLPS(1);
SetColor(m_host, color, face);
}
- private void SetColor(SceneObjectPart part, LSL_Types.Vector3 color, int face)
+ private void SetColor(SceneObjectPart part, LSL_Vector color, int face)
{
Primitive.TextureEntry tex = part.Shape.Textures;
Color4 texcolor;
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
texcolor = tex.CreateFace((uint)face).RGBA;
texcolor.R = Util.Clip((float)color.x, 0.0f, 1.0f);
@@ -1199,9 +1243,9 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateTexture(tex);
return;
}
- else if (face == -1)
+ else if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- for (uint i = 0; i < 32; i++)
+ for (uint i = 0; i < GetNumberOfSides(part); i++)
{
if (tex.FaceTextures[i] != null)
{
@@ -1225,16 +1269,16 @@ namespace OpenSim.Region.ScriptEngine.Common
public void SetGlow(SceneObjectPart part, int face, float glow)
{
Primitive.TextureEntry tex = part.Shape.Textures;
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
tex.CreateFace((uint) face);
tex.FaceTextures[face].Glow = glow;
part.UpdateTexture(tex);
return;
}
- else if (face == -1)
+ else if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- for (uint i = 0; i < 32; i++)
+ for (uint i = 0; i < GetNumberOfSides(part); i++)
{
if (tex.FaceTextures[i] != null)
{
@@ -1272,7 +1316,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
Primitive.TextureEntry tex = part.Shape.Textures;
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
tex.CreateFace((uint) face);
tex.FaceTextures[face].Shiny = sval;
@@ -1280,9 +1324,9 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateTexture(tex);
return;
}
- else if (face == -1)
+ else if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- for (uint i = 0; i < 32; i++)
+ for (uint i = 0; i < GetNumberOfSides(part); i++)
{
if (tex.FaceTextures[i] != null)
{
@@ -1300,16 +1344,16 @@ namespace OpenSim.Region.ScriptEngine.Common
public void SetFullBright(SceneObjectPart part, int face, bool bright)
{
Primitive.TextureEntry tex = part.Shape.Textures;
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
tex.CreateFace((uint) face);
tex.FaceTextures[face].Fullbright = bright;
part.UpdateTexture(tex);
return;
}
- else if (face == -1)
+ else if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- for (uint i = 0; i < 32; i++)
+ for (uint i = 0; i < GetNumberOfSides(part); i++)
{
if (tex.FaceTextures[i] != null)
{
@@ -1322,19 +1366,28 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public double llGetAlpha(int face)
+ public LSL_Float llGetAlpha(int face)
{
m_host.AddScriptLPS(1);
- Primitive.TextureEntry tex = m_host.Shape.Textures;
- if (face == -1) // TMP: Until we can determine number of sides, ALL_SIDES (-1) will return default color
+ return GetAlpha(m_host, face);
+ }
+
+ private LSL_Float GetAlpha(SceneObjectPart part, int face)
+ {
+ Primitive.TextureEntry tex = part.Shape.Textures;
+ if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- return (double)((tex.DefaultTexture.RGBA.A * 255) / 255);
+ int i;
+ double sum = 0.0;
+ for (i = 0 ; i < GetNumberOfSides(part) ; i++)
+ sum += (double)tex.GetFace((uint)i).RGBA.A;
+ return sum;
}
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
- return (double)((tex.GetFace((uint)face).RGBA.A * 255) / 255);
+ return (double)tex.GetFace((uint)face).RGBA.A;
}
- return 0;
+ return 0.0;
}
public void llSetAlpha(double alpha, int face)
@@ -1348,7 +1401,7 @@ namespace OpenSim.Region.ScriptEngine.Common
{
Primitive.TextureEntry tex = part.Shape.Textures;
Color4 texcolor;
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
texcolor = tex.CreateFace((uint)face).RGBA;
texcolor.A = Util.Clip((float)alpha, 0.0f, 1.0f);
@@ -1356,9 +1409,9 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateTexture(tex);
return;
}
- else if (face == -1)
+ else if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- for (int i = 0; i < 32; i++)
+ for (int i = 0; i < GetNumberOfSides(part); i++)
{
if (tex.FaceTextures[i] != null)
{
@@ -1389,7 +1442,7 @@ namespace OpenSim.Region.ScriptEngine.Common
///
///
private void SetFlexi(SceneObjectPart part, bool flexi, int softness, float gravity, float friction,
- float wind, float tension, LSL_Types.Vector3 Force)
+ float wind, float tension, LSL_Vector Force)
{
if (part == null)
return;
@@ -1447,7 +1500,7 @@ namespace OpenSim.Region.ScriptEngine.Common
///
///
///
- private void SetPointLight(SceneObjectPart part, bool light, LSL_Types.Vector3 color, float intensity, float radius, float falloff)
+ private void SetPointLight(SceneObjectPart part, bool light, LSL_Vector color, float intensity, float radius, float falloff)
{
if (part == null)
return;
@@ -1471,31 +1524,46 @@ namespace OpenSim.Region.ScriptEngine.Common
part.ScheduleFullUpdate();
}
- public LSL_Types.Vector3 llGetColor(int face)
+ public LSL_Vector llGetColor(int face)
{
m_host.AddScriptLPS(1);
- Primitive.TextureEntry tex = m_host.Shape.Textures;
+ return GetColor(m_host, face);
+ }
+
+ private LSL_Vector GetColor(SceneObjectPart part, int face)
+ {
+ Primitive.TextureEntry tex = part.Shape.Textures;
Color4 texcolor;
- LSL_Types.Vector3 rgb;
- if (face == -1) // TMP: Until we can determine number of sides, ALL_SIDES (-1) will return default color
+ LSL_Vector rgb = new LSL_Vector();
+ if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- texcolor = tex.DefaultTexture.RGBA;
- rgb.x = (255 - (texcolor.R * 255)) / 255;
- rgb.y = (255 - (texcolor.G * 255)) / 255;
- rgb.z = (255 - (texcolor.B * 255)) / 255;
+ int i;
+
+ for (i = 0 ; i < GetNumberOfSides(part) ; i++)
+ {
+ texcolor = tex.GetFace((uint)i).RGBA;
+ rgb.x += texcolor.R;
+ rgb.y += texcolor.G;
+ rgb.z += texcolor.B;
+ }
+
+ rgb.x /= (float)GetNumberOfSides(part);
+ rgb.y /= (float)GetNumberOfSides(part);
+ rgb.z /= (float)GetNumberOfSides(part);
+
return rgb;
}
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
texcolor = tex.GetFace((uint)face).RGBA;
- rgb.x = (255 - (texcolor.R * 255)) / 255;
- rgb.y = (255 - (texcolor.G * 255)) / 255;
- rgb.z = (255 - (texcolor.B * 255)) / 255;
+ rgb.x = texcolor.R;
+ rgb.y = texcolor.G;
+ rgb.z = texcolor.B;
return rgb;
}
else
{
- return new LSL_Types.Vector3();
+ return new LSL_Vector();
}
}
@@ -1520,7 +1588,7 @@ namespace OpenSim.Region.ScriptEngine.Common
Primitive.TextureEntry tex = part.Shape.Textures;
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
Primitive.TextureEntryFace texface = tex.CreateFace((uint)face);
texface.TextureID = textureID;
@@ -1528,9 +1596,9 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateTexture(tex);
return;
}
- else if (face == -1)
+ else if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- for (uint i = 0; i < 32; i++)
+ for (uint i = 0; i < GetNumberOfSides(part); i++)
{
if (tex.FaceTextures[i] != null)
{
@@ -1554,7 +1622,7 @@ namespace OpenSim.Region.ScriptEngine.Common
private void ScaleTexture(SceneObjectPart part, double u, double v, int face)
{
Primitive.TextureEntry tex = part.Shape.Textures;
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
Primitive.TextureEntryFace texface = tex.CreateFace((uint)face);
texface.RepeatU = (float)u;
@@ -1563,9 +1631,9 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateTexture(tex);
return;
}
- if (face == -1)
+ if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- for (int i = 0; i < 32; i++)
+ for (int i = 0; i < GetNumberOfSides(part); i++)
{
if (tex.FaceTextures[i] != null)
{
@@ -1590,7 +1658,7 @@ namespace OpenSim.Region.ScriptEngine.Common
private void OffsetTexture(SceneObjectPart part, double u, double v, int face)
{
Primitive.TextureEntry tex = part.Shape.Textures;
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
Primitive.TextureEntryFace texface = tex.CreateFace((uint)face);
texface.OffsetU = (float)u;
@@ -1599,9 +1667,9 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateTexture(tex);
return;
}
- if (face == -1)
+ if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- for (int i = 0; i < 32; i++)
+ for (int i = 0; i < GetNumberOfSides(part); i++)
{
if (tex.FaceTextures[i] != null)
{
@@ -1626,7 +1694,7 @@ namespace OpenSim.Region.ScriptEngine.Common
private void RotateTexture(SceneObjectPart part, double rotation, int face)
{
Primitive.TextureEntry tex = part.Shape.Textures;
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
Primitive.TextureEntryFace texface = tex.CreateFace((uint)face);
texface.Rotation = (float)rotation;
@@ -1634,9 +1702,9 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateTexture(tex);
return;
}
- if (face == -1)
+ if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
- for (int i = 0; i < 32; i++)
+ for (int i = 0; i < GetNumberOfSides(part); i++)
{
if (tex.FaceTextures[i] != null)
{
@@ -1649,15 +1717,20 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public string llGetTexture(int face)
+ public LSL_String llGetTexture(int face)
{
m_host.AddScriptLPS(1);
- Primitive.TextureEntry tex = m_host.Shape.Textures;
- if (face == -1)
+ return GetTexture(m_host, face);
+ }
+
+ private LSL_String GetTexture(SceneObjectPart part, int face)
+ {
+ Primitive.TextureEntry tex = part.Shape.Textures;
+ if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
face = 0;
}
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(part))
{
Primitive.TextureEntryFace texface;
texface = tex.GetFace((uint)face);
@@ -1669,7 +1742,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public void llSetPos(LSL_Types.Vector3 pos)
+ public void llSetPos(LSL_Vector pos)
{
m_host.AddScriptLPS(1);
@@ -1678,10 +1751,10 @@ namespace OpenSim.Region.ScriptEngine.Common
ScriptSleep(200);
}
- private void SetPos(SceneObjectPart part, LSL_Types.Vector3 targetPos)
+ private void SetPos(SceneObjectPart part, LSL_Vector targetPos)
{
// Capped movemment if distance > 10m (http://wiki.secondlife.com/wiki/LlSetPos)
- LSL_Types.Vector3 currentPos = llGetLocalPos();
+ LSL_Vector currentPos = llGetLocalPos();
if (llVecDist(currentPos, targetPos) > 10.0f * m_distanceFactor)
{
targetPos = currentPos + m_distanceFactor * 10.0f * llVecNorm(targetPos - currentPos);
@@ -1697,32 +1770,32 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.Vector3 llGetPos()
+ public LSL_Vector llGetPos()
{
m_host.AddScriptLPS(1);
- return new LSL_Types.Vector3(m_host.AbsolutePosition.X,
+ return new LSL_Vector(m_host.AbsolutePosition.X,
m_host.AbsolutePosition.Y,
m_host.AbsolutePosition.Z);
}
- public LSL_Types.Vector3 llGetLocalPos()
+ public LSL_Vector llGetLocalPos()
{
m_host.AddScriptLPS(1);
if (m_host.ParentID != 0)
{
- return new LSL_Types.Vector3(m_host.OffsetPosition.X,
+ return new LSL_Vector(m_host.OffsetPosition.X,
m_host.OffsetPosition.Y,
m_host.OffsetPosition.Z);
}
else
{
- return new LSL_Types.Vector3(m_host.AbsolutePosition.X,
+ return new LSL_Vector(m_host.AbsolutePosition.X,
m_host.AbsolutePosition.Y,
m_host.AbsolutePosition.Z);
}
}
- public void llSetRot(LSL_Types.Quaternion rot)
+ public void llSetRot(LSL_Rotation rot)
{
m_host.AddScriptLPS(1);
@@ -1731,31 +1804,27 @@ namespace OpenSim.Region.ScriptEngine.Common
ScriptSleep(200);
}
- private void SetRot(SceneObjectPart part, LSL_Types.Quaternion rot)
+ private void SetRot(SceneObjectPart part, LSL_Rotation rot)
{
part.UpdateRotation(new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s));
// Update rotation does not move the object in the physics scene if it's a linkset.
part.ParentGroup.AbsolutePosition = part.ParentGroup.AbsolutePosition;
}
- public LSL_Types.Quaternion llGetRot()
+ public LSL_Rotation llGetRot()
{
m_host.AddScriptLPS(1);
Quaternion q = m_host.RotationOffset;
- return new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W);
+ return new LSL_Rotation(q.X, q.Y, q.Z, q.W);
}
- public LSL_Types.Quaternion llGetLocalRot()
+ public LSL_Rotation llGetLocalRot()
{
m_host.AddScriptLPS(1);
- return new LSL_Types.Quaternion(
- m_host.RotationOffset.X,
- m_host.RotationOffset.Y,
- m_host.RotationOffset.Z,
- m_host.RotationOffset.W);
+ return new LSL_Rotation(m_host.RotationOffset.X, m_host.RotationOffset.Y, m_host.RotationOffset.Z, m_host.RotationOffset.W);
}
- public void llSetForce(LSL_Types.Vector3 force, int local)
+ public void llSetForce(LSL_Vector force, int local)
{
m_host.AddScriptLPS(1);
@@ -1771,9 +1840,9 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.Vector3 llGetForce()
+ public LSL_Vector llGetForce()
{
- LSL_Types.Vector3 force = new LSL_Types.Vector3(0.0, 0.0, 0.0);
+ LSL_Vector force = new LSL_Vector(0.0, 0.0, 0.0);
m_host.AddScriptLPS(1);
@@ -1791,11 +1860,10 @@ namespace OpenSim.Region.ScriptEngine.Common
return force;
}
- public LSL_Types.LSLInteger llTarget(LSL_Types.Vector3 position, double range)
+ public LSL_Integer llTarget(LSL_Vector position, double range)
{
m_host.AddScriptLPS(1);
return m_host.registerTargetWaypoint(new Vector3((float)position.x, (float)position.y, (float)position.z), (float)range);
-
}
public void llTargetRemove(int number)
@@ -1804,7 +1872,7 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.unregisterTargetWaypoint(number);
}
- public LSL_Types.LSLInteger llRotTarget(LSL_Types.Quaternion rot, double error)
+ public LSL_Integer llRotTarget(LSL_Rotation rot, double error)
{
m_host.AddScriptLPS(1);
NotImplemented("llRotTarget");
@@ -1817,7 +1885,7 @@ namespace OpenSim.Region.ScriptEngine.Common
NotImplemented("llRotTargetRemove");
}
- public void llMoveToTarget(LSL_Types.Vector3 target, double tau)
+ public void llMoveToTarget(LSL_Vector target, double tau)
{
m_host.AddScriptLPS(1);
m_host.MoveToTarget(new Vector3((float)target.x, (float)target.y, (float)target.z), (float)tau);
@@ -1829,7 +1897,7 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.StopMoveToTarget();
}
- public void llApplyImpulse(LSL_Types.Vector3 force, int local)
+ public void llApplyImpulse(LSL_Vector force, int local)
{
m_host.AddScriptLPS(1);
//No energy force yet
@@ -1844,62 +1912,62 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.ApplyImpulse(new Vector3((float)force.x, (float)force.y, (float)force.z), local != 0);
}
- public void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local)
+ public void llApplyRotationalImpulse(LSL_Vector force, int local)
{
m_host.AddScriptLPS(1);
NotImplemented("llApplyRotationalImpulse");
}
- public void llSetTorque(LSL_Types.Vector3 torque, int local)
+ public void llSetTorque(LSL_Vector torque, int local)
{
m_host.AddScriptLPS(1);
NotImplemented("llSetTorque");
}
- public LSL_Types.Vector3 llGetTorque()
+ public LSL_Vector llGetTorque()
{
m_host.AddScriptLPS(1);
NotImplemented("llGetTorque");
- return new LSL_Types.Vector3();
+ return new LSL_Vector();
}
- public void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local)
+ public void llSetForceAndTorque(LSL_Vector force, LSL_Vector torque, int local)
{
m_host.AddScriptLPS(1);
NotImplemented("llSetForceAndTorque");
}
- public LSL_Types.Vector3 llGetVel()
+ public LSL_Vector llGetVel()
{
m_host.AddScriptLPS(1);
- return new LSL_Types.Vector3(m_host.Velocity.X, m_host.Velocity.Y, m_host.Velocity.Z);
+ return new LSL_Vector(m_host.Velocity.X, m_host.Velocity.Y, m_host.Velocity.Z);
}
- public LSL_Types.Vector3 llGetAccel()
+ public LSL_Vector llGetAccel()
{
m_host.AddScriptLPS(1);
- return new LSL_Types.Vector3(m_host.Acceleration.X, m_host.Acceleration.Y, m_host.Acceleration.Z);
+ return new LSL_Vector(m_host.Acceleration.X, m_host.Acceleration.Y, m_host.Acceleration.Z);
}
- public LSL_Types.Vector3 llGetOmega()
+ public LSL_Vector llGetOmega()
{
m_host.AddScriptLPS(1);
- return new LSL_Types.Vector3(m_host.RotationalVelocity.X, m_host.RotationalVelocity.Y, m_host.RotationalVelocity.Z);
+ return new LSL_Vector(m_host.RotationalVelocity.X, m_host.RotationalVelocity.Y, m_host.RotationalVelocity.Z);
}
- public double llGetTimeOfDay()
+ public LSL_Float llGetTimeOfDay()
{
m_host.AddScriptLPS(1);
return (double)(((DateTime.Now.TimeOfDay.TotalMilliseconds / 1000) % (3600 * 4)) * World.TimeDilation);
}
- public double llGetWallclock()
+ public LSL_Float llGetWallclock()
{
m_host.AddScriptLPS(1);
return DateTime.Now.TimeOfDay.TotalSeconds;
}
- public double llGetTime()
+ public LSL_Float llGetTime()
{
m_host.AddScriptLPS(1);
TimeSpan ScriptTime = DateTime.Now - m_timer;
@@ -1912,7 +1980,7 @@ namespace OpenSim.Region.ScriptEngine.Common
m_timer = DateTime.Now;
}
- public double llGetAndResetTime()
+ public LSL_Float llGetAndResetTime()
{
m_host.AddScriptLPS(1);
TimeSpan ScriptTime = DateTime.Now - m_timer;
@@ -2017,7 +2085,7 @@ namespace OpenSim.Region.ScriptEngine.Common
/// this more complicated than it might otherwise seem.
///
- public string llGetSubString(string src, int start, int end)
+ public LSL_String llGetSubString(string src, int start, int end)
{
m_host.AddScriptLPS(1);
@@ -2113,7 +2181,7 @@ namespace OpenSim.Region.ScriptEngine.Common
/// i.e. end < start.
///
- public string llDeleteSubString(string src, int start, int end)
+ public LSL_String llDeleteSubString(string src, int start, int end)
{
m_host.AddScriptLPS(1);
@@ -2196,7 +2264,7 @@ namespace OpenSim.Region.ScriptEngine.Common
/// string bound, with the result being a concatenation.
///
- public string llInsertString(string dest, int index, string src)
+ public LSL_String llInsertString(string dest, int index, string src)
{
m_host.AddScriptLPS(1);
@@ -2234,19 +2302,19 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- public string llToUpper(string src)
+ public LSL_String llToUpper(string src)
{
m_host.AddScriptLPS(1);
return src.ToUpper();
}
- public string llToLower(string src)
+ public LSL_String llToLower(string src)
{
m_host.AddScriptLPS(1);
return src.ToLower();
}
- public LSL_Types.LSLInteger llGiveMoney(string destination, int amount)
+ public LSL_Integer llGiveMoney(string destination, int amount)
{
UUID invItemID=InventorySelf();
if (invItemID == UUID.Zero)
@@ -2315,7 +2383,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(100);
}
- public void llRezAtRoot(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param)
+ public void llRezAtRoot(string inventory, LSL_Vector pos, LSL_Vector vel, LSL_Rotation rot, int param)
{
m_host.AddScriptLPS(1);
if (Double.IsNaN(rot.x) || Double.IsNaN(rot.y) || Double.IsNaN(rot.z) || Double.IsNaN(rot.s))
@@ -2363,11 +2431,11 @@ namespace OpenSim.Region.ScriptEngine.Common
// objects rezzed with this method are die_at_edge by default.
new_group.RootPart.SetDieAtEdge(true);
- m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "object_rez", EventQueueManager.llDetectNull, new Object[] { new LSL_Types.LSLString(new_group.RootPart.ToString()) });
+ m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "object_rez", EventQueueManager.llDetectNull, new Object[] { new LSL_String(new_group.RootPart.ToString()) });
float groupmass = new_group.GetMass();
//Recoil.
- llApplyImpulse(new LSL_Types.Vector3(llvel.X * groupmass, llvel.Y * groupmass, llvel.Z * groupmass), 0);
+ llApplyImpulse(new LSL_Vector(llvel.X * groupmass, llvel.Y * groupmass, llvel.Z * groupmass), 0);
found = true;
// Variable script delay? (see (http://wiki.secondlife.com/wiki/LSL_Delay)
ScriptSleep((int)((groupmass * velmag) / 10));
@@ -2379,12 +2447,12 @@ namespace OpenSim.Region.ScriptEngine.Common
llSay(0, "Could not find object " + inventory);
}
- public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param)
+ public void llRezObject(string inventory, LSL_Vector pos, LSL_Vector vel, LSL_Rotation rot, int param)
{
llRezAtRoot(inventory, pos, vel, rot, param);
}
- public void llLookAt(LSL_Types.Vector3 target, double strength, double damping)
+ public void llLookAt(LSL_Vector target, double strength, double damping)
{
m_host.AddScriptLPS(1);
NotImplemented("llLookAt");
@@ -2409,7 +2477,7 @@ namespace OpenSim.Region.ScriptEngine.Common
Thread.Sleep((int)(sec * 1000));
}
- public double llGetMass()
+ public LSL_Float llGetMass()
{
m_host.AddScriptLPS(1);
return m_host.GetMass();
@@ -2495,7 +2563,7 @@ namespace OpenSim.Region.ScriptEngine.Common
Deprecated("llReleaseCamera");
}
- public string llGetOwner()
+ public LSL_String llGetOwner()
{
m_host.AddScriptLPS(1);
@@ -2544,6 +2612,7 @@ namespace OpenSim.Region.ScriptEngine.Common
msg.RegionID = World.RegionInfo.RegionID.Guid;//RegionID.Guid;
msg.binaryBucket = new byte[0];// binaryBucket;
World.TriggerGridInstantMessage(msg, InstantMessageReceiver.IMModule);
+ // ScriptSleep(2000);
}
public void llEmail(string address, string subject, string message)
@@ -2563,7 +2632,7 @@ namespace OpenSim.Region.ScriptEngine.Common
NotImplemented("llGetNextEmail");
}
- public string llGetKey()
+ public LSL_String llGetKey()
{
m_host.AddScriptLPS(1);
return m_host.UUID.ToString();
@@ -2607,13 +2676,13 @@ namespace OpenSim.Region.ScriptEngine.Common
Deprecated("llSoundPreload");
}
- public void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping)
+ public void llRotLookAt(LSL_Rotation target, double strength, double damping)
{
m_host.AddScriptLPS(1);
NotImplemented("llRotLookAt");
}
- public LSL_Types.LSLInteger llStringLength(string str)
+ public LSL_Integer llStringLength(string str)
{
m_host.AddScriptLPS(1);
if (str.Length > 0)
@@ -2697,22 +2766,23 @@ namespace OpenSim.Region.ScriptEngine.Common
NotImplemented("llStopPointAt");
}
- public void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain)
+ public void llTargetOmega(LSL_Vector axis, double spinrate, double gain)
{
m_host.AddScriptLPS(1);
m_host.RotationalVelocity = new Vector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate));
m_host.AngularVelocity = new Vector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate));
m_host.ScheduleTerseUpdate();
m_host.SendTerseUpdateToAllClients();
+ m_host.ParentGroup.HasGroupChanged = true;
}
- public LSL_Types.LSLInteger llGetStartParameter()
+ public LSL_Integer llGetStartParameter()
{
// This is not handled here
return 0;
}
- public void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos)
+ public void llGodLikeRezObject(string inventory, LSL_Vector pos)
{
m_host.AddScriptLPS(1);
NotImplemented("llGodLikeRezObject");
@@ -2732,15 +2802,20 @@ namespace OpenSim.Region.ScriptEngine.Common
if (agentID == UUID.Zero || perm == 0) // Releasing permissions
{
+ llReleaseControls();
+
m_host.TaskInventory[invItemID].PermsGranter=UUID.Zero;
m_host.TaskInventory[invItemID].PermsMask=0;
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
- m_localID, m_itemID, "run_time_permissions", EventQueueManager.llDetectNull, new Object[] {new LSL_Types.LSLInteger(0)});
+ m_localID, m_itemID, "run_time_permissions", EventQueueManager.llDetectNull, new Object[] {new LSL_Integer(0)});
return;
}
+ if ( m_host.TaskInventory[invItemID].PermsGranter != agentID || (perm & BuiltIn_Commands_BaseClass.PERMISSION_TAKE_CONTROLS) == 0)
+ llReleaseControls();
+
m_host.AddScriptLPS(1);
if (m_host.ParentGroup.RootPart.IsAttachment && agent == m_host.ParentGroup.RootPart.AttachedAvatar)
@@ -2757,7 +2832,7 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.TaskInventory[invItemID].PermsMask=perm;
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
- m_localID, m_itemID, "run_time_permissions", EventQueueManager.llDetectNull, new Object[] {new LSL_Types.LSLInteger(perm)});
+ m_localID, m_itemID, "run_time_permissions", EventQueueManager.llDetectNull, new Object[] {new LSL_Integer(perm)});
return;
}
@@ -2775,7 +2850,7 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.TaskInventory[invItemID].PermsMask=perm;
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
- m_localID, m_itemID, "run_time_permissions", EventQueueManager.llDetectNull, new Object[] {new LSL_Types.LSLInteger(perm)});
+ m_localID, m_itemID, "run_time_permissions", EventQueueManager.llDetectNull, new Object[] {new LSL_Integer(perm)});
return;
}
@@ -2803,7 +2878,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// Requested agent is not in range, refuse perms
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
- m_localID, m_itemID, "run_time_permissions", EventQueueManager.llDetectNull, new Object[] {new LSL_Types.LSLInteger(0)});
+ m_localID, m_itemID, "run_time_permissions", EventQueueManager.llDetectNull, new Object[] {new LSL_Integer(0)});
}
void handleScriptAnswer(IClientAPI client, UUID taskID, UUID itemID, int answer)
@@ -2821,10 +2896,10 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.TaskInventory[invItemID].PermsMask=answer;
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
- m_localID, m_itemID, "run_time_permissions", EventQueueManager.llDetectNull, new Object[] {new LSL_Types.LSLInteger(answer)});
+ m_localID, m_itemID, "run_time_permissions", EventQueueManager.llDetectNull, new Object[] {new LSL_Integer(answer)});
}
- public string llGetPermissionsKey()
+ public LSL_String llGetPermissionsKey()
{
m_host.AddScriptLPS(1);
@@ -2839,7 +2914,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return UUID.Zero.ToString();
}
- public LSL_Types.LSLInteger llGetPermissions()
+ public LSL_Integer llGetPermissions()
{
m_host.AddScriptLPS(1);
@@ -2854,7 +2929,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return 0;
}
- public LSL_Types.LSLInteger llGetLinkNumber()
+ public LSL_Integer llGetLinkNumber()
{
m_host.AddScriptLPS(1);
@@ -2868,7 +2943,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face)
+ public void llSetLinkColor(int linknumber, LSL_Vector color, int face)
{
m_host.AddScriptLPS(1);
SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknumber);
@@ -2991,6 +3066,8 @@ namespace OpenSim.Region.ScriptEngine.Common
}
parentPrim.TriggerScriptChangedEvent(Changed.LINK);
parentPrim.RootPart.AddFlag(PrimFlags.CreateSelected);
+ parentPrim.HasGroupChanged = true;
+ parentPrim.ScheduleGroupForFullUpdate();
parentPrim.GetProperties(client);
ScriptSleep(1000);
@@ -3067,13 +3144,14 @@ namespace OpenSim.Region.ScriptEngine.Common
SceneObjectGroup parentPrim = m_host.ParentGroup;
List parts = new List(parentPrim.Children.Values);
parts.Remove(parentPrim.RootPart);
- foreach (SceneObjectPart part in parts) {
+ foreach (SceneObjectPart part in parts)
+ {
parentPrim.DelinkFromGroup(part.LocalId, true);
parentPrim.TriggerScriptChangedEvent(Changed.LINK);
}
}
- public string llGetLinkKey(int linknum)
+ public LSL_String llGetLinkKey(int linknum)
{
m_host.AddScriptLPS(1);
SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum);
@@ -3087,7 +3165,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public string llGetLinkName(int linknum)
+ public LSL_String llGetLinkName(int linknum)
{
m_host.AddScriptLPS(1);
SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum);
@@ -3101,7 +3179,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.LSLInteger llGetInventoryNumber(int type)
+ public LSL_Integer llGetInventoryNumber(int type)
{
m_host.AddScriptLPS(1);
int count = 0;
@@ -3115,7 +3193,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return count;
}
- public string llGetInventoryName(int type, int number)
+ public LSL_String llGetInventoryName(int type, int number)
{
m_host.AddScriptLPS(1);
ArrayList keys = new ArrayList();
@@ -3172,7 +3250,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// assume it is not running.
}
- public double llGetEnergy()
+ public LSL_Float llGetEnergy()
{
m_host.AddScriptLPS(1);
// TODO: figure out real energy value
@@ -3236,16 +3314,17 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public void llSetText(string text, LSL_Types.Vector3 color, double alpha)
+ public void llSetText(string text, LSL_Vector color, double alpha)
{
m_host.AddScriptLPS(1);
Vector3 av3 = new Vector3(Util.Clip((float)color.x, 0.0f, 1.0f),
Util.Clip((float)color.y, 0.0f, 1.0f),
Util.Clip((float)color.z, 0.0f, 1.0f));
m_host.SetText(text, av3, Util.Clip((float)alpha, 0.0f, 1.0f));
+ m_host.ParentGroup.HasGroupChanged = true;
}
- public double llWater(LSL_Types.Vector3 offset)
+ public LSL_Float llWater(LSL_Vector offset)
{
m_host.AddScriptLPS(1);
return World.RegionInfo.RegionSettings.WaterHeight;
@@ -3257,7 +3336,7 @@ namespace OpenSim.Region.ScriptEngine.Common
NotImplemented("llPassTouches");
}
- public string llRequestAgentData(string id, int data)
+ public LSL_String llRequestAgentData(string id, int data)
{
m_host.AddScriptLPS(1);
@@ -3310,7 +3389,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return tid.ToString();
}
- public string llRequestInventoryData(string name)
+ public LSL_String llRequestInventoryData(string name)
{
m_host.AddScriptLPS(1);
@@ -3372,6 +3451,12 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(5000);
}
+ public void llTextBox(string avatar, string message, int chat_channel)
+ {
+ m_host.AddScriptLPS(1);
+ NotImplemented("llTextBox");
+ }
+
public void llModifyLand(int action, int brush)
{
m_host.AddScriptLPS(1);
@@ -3390,7 +3475,7 @@ namespace OpenSim.Region.ScriptEngine.Common
NotImplemented("llCollisionSprite");
}
- public string llGetAnimation(string id)
+ public LSL_String llGetAnimation(string id)
{
m_host.AddScriptLPS(1);
NotImplemented("llGetAnimation");
@@ -3427,7 +3512,7 @@ namespace OpenSim.Region.ScriptEngine.Common
object[] resobj = new object[]
{
- new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id)
+ new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id)
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@@ -3451,7 +3536,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID;
Object[] resobj = new object[]
{
- new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id)
+ new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id)
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@@ -3479,7 +3564,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID;
Object[] resobj = new object[]
{
- new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id)
+ new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id)
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@@ -3509,7 +3594,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID;
Object[] resobj = new object[]
{
- new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id)
+ new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id)
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@@ -3533,7 +3618,7 @@ namespace OpenSim.Region.ScriptEngine.Common
object[] resobj = new object[]
{
- new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id)
+ new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id)
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@@ -3560,7 +3645,7 @@ namespace OpenSim.Region.ScriptEngine.Common
partItemID = item.ItemID;
Object[] resObjDef = new object[]
{
- new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id)
+ new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id)
};
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(
@@ -3578,7 +3663,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- public void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local)
+ public void llPushObject(string target, LSL_Vector impulse, LSL_Vector ang_impulse, int local)
{
m_host.AddScriptLPS(1);
SceneObjectPart targ = World.GetSceneObjectPart(target);
@@ -3593,7 +3678,7 @@ namespace OpenSim.Region.ScriptEngine.Common
NotImplemented("llPassCollisions");
}
- public string llGetScriptName()
+ public LSL_String llGetScriptName()
{
string result = String.Empty;
@@ -3670,17 +3755,22 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- public LSL_Types.LSLInteger llGetNumberOfSides()
+ public LSL_Integer llGetNumberOfSides()
{
m_host.AddScriptLPS(1);
+ return GetNumberOfSides(m_host);
+ }
+
+ private int GetNumberOfSides(SceneObjectPart part)
+ {
int ret = 0;
bool hasCut;
bool hasHollow;
bool hasDimple;
bool hasProfileCut;
- int primType = getScriptPrimType(m_host.Shape);
- hasCutHollowDimpleProfileCut(primType, m_host.Shape, out hasCut, out hasHollow, out hasDimple, out hasProfileCut);
+ int primType = getScriptPrimType(part.Shape);
+ hasCutHollowDimpleProfileCut(primType, part.Shape, out hasCut, out hasHollow, out hasDimple, out hasProfileCut);
switch (primType)
{
@@ -3759,7 +3849,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// Xantor 29/apr/2008
// Returns rotation described by rotating angle radians about axis.
// q = cos(a/2) + i (x * sin(a/2)) + j (y * sin(a/2)) + k (z * sin(a/2))
- public LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle)
+ public LSL_Rotation llAxisAngle2Rot(LSL_Vector axis, double angle)
{
m_host.AddScriptLPS(1);
@@ -3771,13 +3861,13 @@ namespace OpenSim.Region.ScriptEngine.Common
y = axis.y * t;
z = axis.z * t;
- return new LSL_Types.Quaternion(x,y,z,s);
+ return new LSL_Rotation(x,y,z,s);
}
// Xantor 29/apr/2008
// converts a Quaternion to X,Y,Z axis rotations
- public LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot)
+ public LSL_Vector llRot2Axis(LSL_Rotation rot)
{
m_host.AddScriptLPS(1);
double x,y,z;
@@ -3809,13 +3899,13 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- return new LSL_Types.Vector3(x,y,z);
+ return new LSL_Vector(x,y,z);
}
// Returns the angle of a quaternion (see llRot2Axis for the axis)
- public double llRot2Angle(LSL_Types.Quaternion rot)
+ public LSL_Float llRot2Angle(LSL_Rotation rot)
{
m_host.AddScriptLPS(1);
@@ -3837,27 +3927,27 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- public double llAcos(double val)
+ public LSL_Float llAcos(double val)
{
m_host.AddScriptLPS(1);
return (double)Math.Acos(val);
}
- public double llAsin(double val)
+ public LSL_Float llAsin(double val)
{
m_host.AddScriptLPS(1);
return (double)Math.Asin(val);
}
// Xantor 30/apr/2008
- public double llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b)
+ public LSL_Float llAngleBetween(LSL_Rotation a, LSL_Rotation b)
{
m_host.AddScriptLPS(1);
return (double) Math.Acos(a.x * b.x + a.y * b.y + a.z * b.z + a.s * b.s) * 2;
}
- public string llGetInventoryKey(string name)
+ public LSL_String llGetInventoryKey(string name)
{
m_host.AddScriptLPS(1);
foreach (KeyValuePair inv in m_host.TaskInventory)
@@ -3887,15 +3977,15 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.ParentGroup.RootPart.AllowedDrop = false;
}
- public LSL_Types.Vector3 llGetSunDirection()
+ public LSL_Vector llGetSunDirection()
{
m_host.AddScriptLPS(1);
- LSL_Types.Vector3 SunDoubleVector3;
+ LSL_Vector SunDoubleVector3;
Vector3 SunFloatVector3;
// sunPosition estate setting is set in OpenSim.Region.Environment.Modules.SunModule
- // have to convert from Vector3 (float) to LSL_Types.Vector3 (double)
+ // have to convert from Vector3 (float) to LSL_Vector (double)
SunFloatVector3 = World.RegionInfo.RegionSettings.SunVector;
SunDoubleVector3.x = (double)SunFloatVector3.X;
SunDoubleVector3.y = (double)SunFloatVector3.Y;
@@ -3904,26 +3994,38 @@ namespace OpenSim.Region.ScriptEngine.Common
return SunDoubleVector3;
}
- public LSL_Types.Vector3 llGetTextureOffset(int face)
+ public LSL_Vector llGetTextureOffset(int face)
{
m_host.AddScriptLPS(1);
- Primitive.TextureEntry tex = m_host.Shape.Textures;
- LSL_Types.Vector3 offset;
- if (face == -1)
+ return GetTextureOffset(m_host, face);
+ }
+
+ private LSL_Vector GetTextureOffset(SceneObjectPart part, int face)
+ {
+ Primitive.TextureEntry tex = part.Shape.Textures;
+ LSL_Vector offset = new LSL_Vector();
+ if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
face = 0;
}
- offset.x = tex.GetFace((uint)face).OffsetU;
- offset.y = tex.GetFace((uint)face).OffsetV;
- offset.z = 0.0;
- return offset;
+ if (face >= 0 && face < GetNumberOfSides(part))
+ {
+ offset.x = tex.GetFace((uint)face).OffsetU;
+ offset.y = tex.GetFace((uint)face).OffsetV;
+ offset.z = 0.0;
+ return offset;
+ }
+ else
+ {
+ return offset;
+ }
}
- public LSL_Types.Vector3 llGetTextureScale(int side)
+ public LSL_Vector llGetTextureScale(int side)
{
m_host.AddScriptLPS(1);
Primitive.TextureEntry tex = m_host.Shape.Textures;
- LSL_Types.Vector3 scale;
+ LSL_Vector scale;
if (side == -1)
{
side = 0;
@@ -3934,24 +4036,36 @@ namespace OpenSim.Region.ScriptEngine.Common
return scale;
}
- public double llGetTextureRot(int face)
+ public LSL_Float llGetTextureRot(int face)
{
m_host.AddScriptLPS(1);
- Primitive.TextureEntry tex = m_host.Shape.Textures;
+ return GetTextureRot(m_host, face);
+ }
+
+ private LSL_Float GetTextureRot(SceneObjectPart part, int face)
+ {
+ Primitive.TextureEntry tex = part.Shape.Textures;
if (face == -1)
{
face = 0;
}
- return tex.GetFace((uint)face).Rotation;
+ if (face >= 0 && face < GetNumberOfSides(part))
+ {
+ return tex.GetFace((uint)face).Rotation;
+ }
+ else
+ {
+ return 0.0;
+ }
}
- public LSL_Types.LSLInteger llSubStringIndex(string source, string pattern)
+ public LSL_Integer llSubStringIndex(string source, string pattern)
{
m_host.AddScriptLPS(1);
return source.IndexOf(pattern);
}
- public string llGetOwnerKey(string id)
+ public LSL_String llGetOwnerKey(string id)
{
m_host.AddScriptLPS(1);
UUID key = new UUID();
@@ -3976,14 +4090,14 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.Vector3 llGetCenterOfMass()
+ public LSL_Vector llGetCenterOfMass()
{
m_host.AddScriptLPS(1);
NotImplemented("llGetCenterOfMass");
- return new LSL_Types.Vector3();
+ return new LSL_Vector();
}
- public LSL_Types.list llListSort(LSL_Types.list src, int stride, int ascending)
+ public LSL_List llListSort(LSL_List src, int stride, int ascending)
{
m_host.AddScriptLPS(1);
@@ -3994,7 +4108,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return src.Sort(stride, ascending);
}
- public LSL_Types.LSLInteger llGetListLength(LSL_Types.list src)
+ public LSL_Integer llGetListLength(LSL_List src)
{
m_host.AddScriptLPS(1);
@@ -4008,7 +4122,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.LSLInteger llList2Integer(LSL_Types.list src, int index)
+ public LSL_Integer llList2Integer(LSL_List src, int index)
{
m_host.AddScriptLPS(1);
if (index < 0)
@@ -4021,12 +4135,12 @@ namespace OpenSim.Region.ScriptEngine.Common
}
try
{
- if (src.Data[index] is LSL_Types.LSLInteger)
- return Convert.ToInt32(((LSL_Types.LSLInteger) src.Data[index]).value);
- else if (src.Data[index] is LSL_Types.LSLFloat)
- return Convert.ToInt32(((LSL_Types.LSLFloat) src.Data[index]).value);
- else if (src.Data[index] is LSL_Types.LSLString)
- return Convert.ToInt32(((LSL_Types.LSLString) src.Data[index]).m_string);
+ if (src.Data[index] is LSL_Integer)
+ return Convert.ToInt32(((LSL_Integer) src.Data[index]).value);
+ else if (src.Data[index] is LSL_Float)
+ return Convert.ToInt32(((LSL_Float) src.Data[index]).value);
+ else if (src.Data[index] is LSL_String)
+ return Convert.ToInt32(((LSL_String) src.Data[index]).m_string);
return Convert.ToInt32(src.Data[index]);
}
catch (FormatException)
@@ -4035,7 +4149,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public double osList2Double(LSL_Types.list src, int index)
+ public double osList2Double(LSL_List src, int index)
{
m_host.AddScriptLPS(1);
if (index < 0)
@@ -4046,16 +4160,16 @@ namespace OpenSim.Region.ScriptEngine.Common
{
return 0.0;
}
- if (src.Data[index] is LSL_Types.LSLInteger)
- return Convert.ToDouble(((LSL_Types.LSLInteger) src.Data[index]).value);
- else if (src.Data[index] is LSL_Types.LSLFloat)
- return Convert.ToDouble(((LSL_Types.LSLFloat) src.Data[index]).value);
- else if (src.Data[index] is LSL_Types.LSLString)
- return Convert.ToDouble(((LSL_Types.LSLString) src.Data[index]).m_string);
+ if (src.Data[index] is LSL_Integer)
+ return Convert.ToDouble(((LSL_Integer) src.Data[index]).value);
+ else if (src.Data[index] is LSL_Float)
+ return Convert.ToDouble(((LSL_Float) src.Data[index]).value);
+ else if (src.Data[index] is LSL_String)
+ return Convert.ToDouble(((LSL_String) src.Data[index]).m_string);
return Convert.ToDouble(src.Data[index]);
}
- public double llList2Float(LSL_Types.list src, int index)
+ public LSL_Float llList2Float(LSL_List src, int index)
{
m_host.AddScriptLPS(1);
if (index < 0)
@@ -4068,12 +4182,12 @@ namespace OpenSim.Region.ScriptEngine.Common
}
try
{
- if (src.Data[index] is LSL_Types.LSLInteger)
- return Convert.ToDouble(((LSL_Types.LSLInteger) src.Data[index]).value);
- else if (src.Data[index] is LSL_Types.LSLFloat)
- return Convert.ToDouble(((LSL_Types.LSLFloat) src.Data[index]).value);
- else if (src.Data[index] is LSL_Types.LSLString)
- return Convert.ToDouble(((LSL_Types.LSLString) src.Data[index]).m_string);
+ if (src.Data[index] is LSL_Integer)
+ return Convert.ToDouble(((LSL_Integer) src.Data[index]).value);
+ else if (src.Data[index] is LSL_Float)
+ return Convert.ToDouble(((LSL_Float) src.Data[index]).value);
+ else if (src.Data[index] is LSL_String)
+ return Convert.ToDouble(((LSL_String) src.Data[index]).m_string);
return Convert.ToDouble(src.Data[index]);
}
catch (FormatException)
@@ -4082,7 +4196,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public string llList2String(LSL_Types.list src, int index)
+ public LSL_String llList2String(LSL_List src, int index)
{
m_host.AddScriptLPS(1);
if (index < 0)
@@ -4096,7 +4210,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return src.Data[index].ToString();
}
- public string llList2Key(LSL_Types.list src, int index)
+ public LSL_String llList2Key(LSL_List src, int index)
{
m_host.AddScriptLPS(1);
if (index < 0)
@@ -4110,7 +4224,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return src.Data[index].ToString();
}
- public LSL_Types.Vector3 llList2Vector(LSL_Types.list src, int index)
+ public LSL_Vector llList2Vector(LSL_List src, int index)
{
m_host.AddScriptLPS(1);
if (index < 0)
@@ -4119,19 +4233,19 @@ namespace OpenSim.Region.ScriptEngine.Common
}
if (index >= src.Length)
{
- return new LSL_Types.Vector3(0, 0, 0);
+ return new LSL_Vector(0, 0, 0);
}
- if (src.Data[index].GetType() == typeof(LSL_Types.Vector3))
+ if (src.Data[index].GetType() == typeof(LSL_Vector))
{
- return (LSL_Types.Vector3)src.Data[index];
+ return (LSL_Vector)src.Data[index];
}
else
{
- return new LSL_Types.Vector3(src.Data[index].ToString());
+ return new LSL_Vector(src.Data[index].ToString());
}
}
- public LSL_Types.Quaternion llList2Rot(LSL_Types.list src, int index)
+ public LSL_Rotation llList2Rot(LSL_List src, int index)
{
m_host.AddScriptLPS(1);
if (index < 0)
@@ -4140,30 +4254,30 @@ namespace OpenSim.Region.ScriptEngine.Common
}
if (index >= src.Length)
{
- return new LSL_Types.Quaternion(0, 0, 0, 1);
+ return new LSL_Rotation(0, 0, 0, 1);
}
- if (src.Data[index].GetType() == typeof(LSL_Types.Quaternion))
+ if (src.Data[index].GetType() == typeof(LSL_Rotation))
{
- return (LSL_Types.Quaternion)src.Data[index];
+ return (LSL_Rotation)src.Data[index];
}
else
{
- return new LSL_Types.Quaternion(src.Data[index].ToString());
+ return new LSL_Rotation(src.Data[index].ToString());
}
}
- public LSL_Types.list llList2List(LSL_Types.list src, int start, int end)
+ public LSL_List llList2List(LSL_List src, int start, int end)
{
m_host.AddScriptLPS(1);
return src.GetSublist(start, end);
}
- public LSL_Types.list llDeleteSubList(LSL_Types.list src, int start, int end)
+ public LSL_List llDeleteSubList(LSL_List src, int start, int end)
{
return src.DeleteSublist(end, start);
}
- public LSL_Types.LSLInteger llGetListEntryType(LSL_Types.list src, int index)
+ public LSL_Integer llGetListEntryType(LSL_List src, int index)
{
m_host.AddScriptLPS(1);
if (index < 0)
@@ -4175,27 +4289,27 @@ namespace OpenSim.Region.ScriptEngine.Common
return 0;
}
- if (src.Data[index] is Int32)
+ if (src.Data[index] is LSL_Integer || src.Data[index] is Int32)
return 1;
- if (src.Data[index] is Double)
+ if (src.Data[index] is LSL_Float || src.Data[index] is Single || src.Data[index] is Double)
return 2;
- if (src.Data[index] is String)
+ if (src.Data[index] is LSL_String || src.Data[index] is String)
{
UUID tuuid;
if (UUID.TryParse(src.Data[index].ToString(), out tuuid))
{
- return 3;
+ return 4;
}
else
{
- return 4;
+ return 3;
}
}
- if (src.Data[index] is LSL_Types.Vector3)
+ if (src.Data[index] is LSL_Vector)
return 5;
- if (src.Data[index] is LSL_Types.Quaternion)
+ if (src.Data[index] is LSL_Rotation)
return 6;
- if (src.Data[index] is LSL_Types.list)
+ if (src.Data[index] is LSL_List)
return 7;
return 0;
@@ -4208,7 +4322,7 @@ namespace OpenSim.Region.ScriptEngine.Common
/// each comma.
///
- public string llList2CSV(LSL_Types.list src)
+ public LSL_String llList2CSV(LSL_List src)
{
string ret = String.Empty;
@@ -4236,10 +4350,10 @@ namespace OpenSim.Region.ScriptEngine.Common
/// before or after an element is trimmed.
///
- public LSL_Types.list llCSV2List(string src)
+ public LSL_List llCSV2List(string src)
{
- LSL_Types.list result = new LSL_Types.list();
+ LSL_List result = new LSL_List();
int parens = 0;
int start = 0;
int length = 0;
@@ -4293,9 +4407,9 @@ namespace OpenSim.Region.ScriptEngine.Common
/// sizes.
///
- public LSL_Types.list llListRandomize(LSL_Types.list src, int stride)
+ public LSL_List llListRandomize(LSL_List src, int stride)
{
- LSL_Types.list result;
+ LSL_List result;
Random rand = new Random();
int chunkk;
@@ -4336,7 +4450,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// Construct the randomized list
- result = new LSL_Types.list();
+ result = new LSL_List();
for (int i = 0; i < chunkk; i++)
{
@@ -4349,7 +4463,7 @@ namespace OpenSim.Region.ScriptEngine.Common
else {
object[] array = new object[src.Length];
Array.Copy(src.Data, 0, array, 0, src.Length);
- result = new LSL_Types.list(array);
+ result = new LSL_List(array);
}
return result;
@@ -4363,10 +4477,10 @@ namespace OpenSim.Region.ScriptEngine.Common
/// range are included in the result.
///
- public LSL_Types.list llList2ListStrided(LSL_Types.list src, int start, int end, int stride)
+ public LSL_List llList2ListStrided(LSL_List src, int start, int end, int stride)
{
- LSL_Types.list result = new LSL_Types.list();
+ LSL_List result = new LSL_List();
int[] si = new int[2];
int[] ei = new int[2];
bool twopass = false;
@@ -4443,10 +4557,17 @@ namespace OpenSim.Region.ScriptEngine.Common
return result;
}
- public LSL_Types.Vector3 llGetRegionCorner()
+ public LSL_Integer llGetRegionAgentCount()
{
m_host.AddScriptLPS(1);
- return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * Constants.RegionSize, World.RegionInfo.RegionLocY * Constants.RegionSize, 0);
+ NotImplemented("llGetRegionAgentCount");
+ return new LSL_Integer(0);
+ }
+
+ public LSL_Vector llGetRegionCorner()
+ {
+ m_host.AddScriptLPS(1);
+ return new LSL_Vector(World.RegionInfo.RegionLocX * Constants.RegionSize, World.RegionInfo.RegionLocY * Constants.RegionSize, 0);
}
///
@@ -4455,11 +4576,11 @@ namespace OpenSim.Region.ScriptEngine.Common
/// new element has the index specified by
///
- public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int index)
+ public LSL_List llListInsertList(LSL_List dest, LSL_List src, int index)
{
- LSL_Types.list pref = null;
- LSL_Types.list suff = null;
+ LSL_List pref = null;
+ LSL_List suff = null;
m_host.AddScriptLPS(1);
@@ -4505,7 +4626,7 @@ namespace OpenSim.Region.ScriptEngine.Common
/// in src.
///
- public LSL_Types.LSLInteger llListFindList(LSL_Types.list src, LSL_Types.list test)
+ public LSL_Integer llListFindList(LSL_List src, LSL_List test)
{
int index = -1;
@@ -4519,11 +4640,11 @@ namespace OpenSim.Region.ScriptEngine.Common
{
for (int i = 0; i < length; i++)
{
- if (AreEqual(src.Data[i], test.Data[0]))
+ if (src.Data[i].Equals(test.Data[0]))
{
int j;
for (j = 1; j < test.Length; j++)
- if (!AreEqual(src.Data[i+j], test.Data[j]))
+ if (!src.Data[i+j].Equals(test.Data[j]))
break;
if (j == test.Length)
{
@@ -4538,19 +4659,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- private bool AreEqual(object src, object test)
- {
- if (src.GetType().FullName == "System.String")
- {
- return src.ToString() == test.ToString();
- }
- else
- {
- return src.Equals(test);
- }
- }
-
- public string llGetObjectName()
+ public LSL_String llGetObjectName()
{
m_host.AddScriptLPS(1);
return m_host.Name!=null?m_host.Name:String.Empty;
@@ -4562,7 +4671,7 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.Name = name!=null?name:String.Empty;
}
- public string llGetDate()
+ public LSL_String llGetDate()
{
m_host.AddScriptLPS(1);
DateTime date = DateTime.Now.ToUniversalTime();
@@ -4570,14 +4679,14 @@ namespace OpenSim.Region.ScriptEngine.Common
return result;
}
- public LSL_Types.LSLInteger llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir)
+ public LSL_Integer llEdgeOfWorld(LSL_Vector pos, LSL_Vector dir)
{
m_host.AddScriptLPS(1);
NotImplemented("llEdgeOfWorld");
return 0;
}
- public LSL_Types.LSLInteger llGetAgentInfo(string id)
+ public LSL_Integer llGetAgentInfo(string id)
{
m_host.AddScriptLPS(1);
NotImplemented("llGetAgentInfo");
@@ -4603,7 +4712,7 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.SoundRadius = radius;
}
- public string llKey2Name(string id)
+ public LSL_String llKey2Name(string id)
{
m_host.AddScriptLPS(1);
UUID key = new UUID();
@@ -4646,10 +4755,11 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.AddTextureAnimation(pTexAnim);
m_host.SendFullUpdateToAllClients();
+ m_host.ParentGroup.HasGroupChanged = true;
}
- public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east,
- LSL_Types.Vector3 bottom_south_west)
+ public void llTriggerSoundLimited(string sound, double volume, LSL_Vector top_north_east,
+ LSL_Vector bottom_south_west)
{
m_host.AddScriptLPS(1);
NotImplemented("llTriggerSoundLimited");
@@ -4672,10 +4782,10 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(5000);
}
- public LSL_Types.list llParseString2List(string str, LSL_Types.list separators, LSL_Types.list spacers)
+ public LSL_List llParseString2List(string str, LSL_List separators, LSL_List spacers)
{
m_host.AddScriptLPS(1);
- LSL_Types.list ret = new LSL_Types.list();
+ LSL_List ret = new LSL_List();
object[] delimiters = new object[separators.Length + spacers.Length];
separators.Data.CopyTo(delimiters, 0);
spacers.Data.CopyTo(delimiters, separators.Length);
@@ -4728,7 +4838,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return ret;
}
- public LSL_Types.LSLInteger llOverMyLand(string id)
+ public LSL_Integer llOverMyLand(string id)
{
m_host.AddScriptLPS(1);
UUID key = new UUID();
@@ -4751,17 +4861,17 @@ namespace OpenSim.Region.ScriptEngine.Common
return 0;
}
- public string llGetLandOwnerAt(LSL_Types.Vector3 pos)
+ public LSL_String llGetLandOwnerAt(LSL_Vector pos)
{
m_host.AddScriptLPS(1);
return World.GetLandOwner((float)pos.x, (float)pos.y).ToString();
}
- public LSL_Types.Vector3 llGetAgentSize(string id)
+ public LSL_Vector llGetAgentSize(string id)
{
m_host.AddScriptLPS(1);
ScenePresence avatar = World.GetScenePresence(id);
- LSL_Types.Vector3 agentSize;
+ LSL_Vector agentSize;
if (avatar == null)
{
agentSize = BuiltIn_Commands_BaseClass.ZERO_VECTOR;
@@ -4769,25 +4879,25 @@ namespace OpenSim.Region.ScriptEngine.Common
else
{
PhysicsVector size = avatar.PhysicsActor.Size;
- agentSize = new LSL_Types.Vector3(size.X, size.Y, size.Z);
+ agentSize = new LSL_Vector(size.X, size.Y, size.Z);
}
return agentSize;
}
- public LSL_Types.LSLInteger llSameGroup(string agent)
+ public LSL_Integer llSameGroup(string agent)
{
m_host.AddScriptLPS(1);
UUID agentId = new UUID();
if (!UUID.TryParse(agent, out agentId))
- return new LSL_Types.LSLInteger(0);
+ return new LSL_Integer(0);
ScenePresence presence = World.GetScenePresence(agentId);
if (presence == null)
- return new LSL_Types.LSLInteger(0);
+ return new LSL_Integer(0);
IClientAPI client = presence.ControllingClient;
if (m_host.GroupID == client.ActiveGroupId)
- return new LSL_Types.LSLInteger(1);
+ return new LSL_Integer(1);
else
- return new LSL_Types.LSLInteger(0);
+ return new LSL_Integer(0);
}
public void llUnSit(string id)
@@ -4833,7 +4943,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- public LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset)
+ public LSL_Vector llGroundSlope(LSL_Vector offset)
{
m_host.AddScriptLPS(1);
@@ -4843,15 +4953,15 @@ namespace OpenSim.Region.ScriptEngine.Common
Vector3 p0 = new Vector3(pos.X, pos.Y,
(float)llGround(
- new LSL_Types.Vector3(pos.X, pos.Y, pos.Z)
+ new LSL_Vector(pos.X, pos.Y, pos.Z)
));
Vector3 p1 = new Vector3(pos.X + 1, pos.Y,
(float)llGround(
- new LSL_Types.Vector3(pos.X + 1, pos.Y, pos.Z)
+ new LSL_Vector(pos.X + 1, pos.Y, pos.Z)
));
Vector3 p2 = new Vector3(pos.X, pos.Y + 1,
(float)llGround(
- new LSL_Types.Vector3(pos.X, pos.Y + 1, pos.Z)
+ new LSL_Vector(pos.X, pos.Y + 1, pos.Z)
));
Vector3 v0 = new Vector3(
@@ -4867,50 +4977,50 @@ namespace OpenSim.Region.ScriptEngine.Common
tv.Y = (v0.Z * v1.X) - (v0.X * v1.Z);
tv.Z = (v0.X * v1.Y) - (v0.Y * v1.X);
- return new LSL_Types.Vector3(tv.X, tv.Y, tv.Z);
+ return new LSL_Vector(tv.X, tv.Y, tv.Z);
}
- public LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset)
+ public LSL_Vector llGroundNormal(LSL_Vector offset)
{
m_host.AddScriptLPS(1);
- LSL_Types.Vector3 x = llGroundSlope(offset);
- return new LSL_Types.Vector3(x.x, x.y, 1.0);
+ LSL_Vector x = llGroundSlope(offset);
+ return new LSL_Vector(x.x, x.y, 1.0);
}
- public LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset)
+ public LSL_Vector llGroundContour(LSL_Vector offset)
{
m_host.AddScriptLPS(1);
- LSL_Types.Vector3 x = llGroundSlope(offset);
- return new LSL_Types.Vector3(-x.y, x.x, 0.0);
+ LSL_Vector x = llGroundSlope(offset);
+ return new LSL_Vector(-x.y, x.x, 0.0);
}
- public LSL_Types.LSLInteger llGetAttached()
+ public LSL_Integer llGetAttached()
{
m_host.AddScriptLPS(1);
NotImplemented("llGetAttached");
return 0;
}
- public LSL_Types.LSLInteger llGetFreeMemory()
+ public LSL_Integer llGetFreeMemory()
{
m_host.AddScriptLPS(1);
- NotImplemented("llGetFreeMemory");
- return 0;
+ // Make scripts designed for LSO happy
+ return 16384;
}
- public string llGetRegionName()
+ public LSL_String llGetRegionName()
{
m_host.AddScriptLPS(1);
return World.RegionInfo.RegionName;
}
- public double llGetRegionTimeDilation()
+ public LSL_Float llGetRegionTimeDilation()
{
m_host.AddScriptLPS(1);
return (double)World.TimeDilation;
}
- public double llGetRegionFPS()
+ public LSL_Float llGetRegionFPS()
{
m_host.AddScriptLPS(1);
//TODO: return actual FPS
@@ -4976,17 +5086,18 @@ namespace OpenSim.Region.ScriptEngine.Common
return ps;
}
- public void llParticleSystem(LSL_Types.list rules)
+ public void llParticleSystem(LSL_List rules)
{
m_host.AddScriptLPS(1);
if (rules.Length == 0)
{
m_host.RemoveParticleSystem();
+ m_host.ParentGroup.HasGroupChanged = true;
}
else
{
Primitive.ParticleSystem prules = getNewParticleSystemWithSLDefaultValues();
- LSL_Types.Vector3 tempv = new LSL_Types.Vector3();
+ LSL_Vector tempv = new LSL_Vector();
float tempf = 0;
@@ -4999,7 +5110,7 @@ namespace OpenSim.Region.ScriptEngine.Common
break;
case (int)BuiltIn_Commands_BaseClass.PSYS_PART_START_COLOR:
- tempv = (LSL_Types.Vector3)rules.Data[i + 1];
+ tempv = (LSL_Vector)rules.Data[i + 1];
prules.PartStartColor.R = (float)tempv.x;
prules.PartStartColor.G = (float)tempv.y;
prules.PartStartColor.B = (float)tempv.z;
@@ -5011,7 +5122,7 @@ namespace OpenSim.Region.ScriptEngine.Common
break;
case (int)BuiltIn_Commands_BaseClass.PSYS_PART_END_COLOR:
- tempv = (LSL_Types.Vector3)rules.Data[i + 1];
+ tempv = (LSL_Vector)rules.Data[i + 1];
//prules.PartEndColor = new Color4(tempv.x,tempv.y,tempv.z,1);
prules.PartEndColor.R = (float)tempv.x;
@@ -5025,13 +5136,13 @@ namespace OpenSim.Region.ScriptEngine.Common
break;
case (int)BuiltIn_Commands_BaseClass.PSYS_PART_START_SCALE:
- tempv = (LSL_Types.Vector3)rules.Data[i + 1];
+ tempv = (LSL_Vector)rules.Data[i + 1];
prules.PartStartScaleX = (float)tempv.x;
prules.PartStartScaleY = (float)tempv.y;
break;
case (int)BuiltIn_Commands_BaseClass.PSYS_PART_END_SCALE:
- tempv = (LSL_Types.Vector3)rules.Data[i + 1];
+ tempv = (LSL_Vector)rules.Data[i + 1];
prules.PartEndScaleX = (float)tempv.x;
prules.PartEndScaleY = (float)tempv.y;
break;
@@ -5042,7 +5153,7 @@ namespace OpenSim.Region.ScriptEngine.Common
break;
case (int)BuiltIn_Commands_BaseClass.PSYS_SRC_ACCEL:
- tempv = (LSL_Types.Vector3)rules.Data[i + 1];
+ tempv = (LSL_Vector)rules.Data[i + 1];
prules.PartAcceleration.X = (float)tempv.x;
prules.PartAcceleration.Y = (float)tempv.y;
prules.PartAcceleration.Z = (float)tempv.z;
@@ -5104,20 +5215,19 @@ namespace OpenSim.Region.ScriptEngine.Common
case (int)BuiltIn_Commands_BaseClass.PSYS_SRC_OMEGA:
// AL: This is an assumption, since it is the only thing that would match.
- tempv = (LSL_Types.Vector3)rules.Data[i + 1];
+ tempv = rules.GetVector3Item(i + 1);
prules.AngularVelocity.X = (float)tempv.x;
prules.AngularVelocity.Y = (float)tempv.y;
prules.AngularVelocity.Z = (float)tempv.z;
- //cast?? prules.MaxAge = (float)rules[i + 1];
break;
case (int)BuiltIn_Commands_BaseClass.PSYS_SRC_ANGLE_BEGIN:
- tempf = Convert.ToSingle(rules.Data[i + 1].ToString());
+ tempf = (float)rules.GetLSLFloatItem(i + 1);
prules.InnerAngle = (float)tempf;
break;
case (int)BuiltIn_Commands_BaseClass.PSYS_SRC_ANGLE_END:
- tempf = Convert.ToSingle(rules.Data[i + 1].ToString());
+ tempf = (float)rules.GetLSLFloatItem(i + 1);
prules.OuterAngle = (float)tempf;
break;
}
@@ -5126,6 +5236,7 @@ namespace OpenSim.Region.ScriptEngine.Common
prules.CRC = 1;
m_host.AddNewParticleSystem(prules);
+ m_host.ParentGroup.HasGroupChanged = true;
}
m_host.SendFullUpdateToAllClients();
}
@@ -5146,7 +5257,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return UUID.Zero;
}
- public void llGiveInventoryList(string destination, string category, LSL_Types.list inventory)
+ public void llGiveInventoryList(string destination, string category, LSL_List inventory)
{
m_host.AddScriptLPS(1);
@@ -5195,13 +5306,13 @@ namespace OpenSim.Region.ScriptEngine.Common
NotImplemented("llSetVehicleFloatParam");
}
- public void llSetVehicleVectorParam(int param, LSL_Types.Vector3 vec)
+ public void llSetVehicleVectorParam(int param, LSL_Vector vec)
{
m_host.AddScriptLPS(1);
NotImplemented("llSetVehicleVectorParam");
}
- public void llSetVehicleRotationParam(int param, LSL_Types.Quaternion rot)
+ public void llSetVehicleRotationParam(int param, LSL_Rotation rot)
{
m_host.AddScriptLPS(1);
NotImplemented("llSetVehicleRotationParam");
@@ -5219,7 +5330,7 @@ namespace OpenSim.Region.ScriptEngine.Common
NotImplemented("llRemoveVehicleFlags");
}
- public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot)
+ public void llSitTarget(LSL_Vector offset, LSL_Rotation rot)
{
m_host.AddScriptLPS(1);
// LSL quaternions can normalize to 0, normal Quaternions can't.
@@ -5230,7 +5341,7 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.SitTargetOrientation = new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s);
}
- public string llAvatarOnSitTarget()
+ public LSL_String llAvatarOnSitTarget()
{
m_host.AddScriptLPS(1);
return m_host.GetAvatarOnSitTarget().ToString();
@@ -5267,19 +5378,19 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.SitName = text;
}
- public void llSetCameraEyeOffset(LSL_Types.Vector3 offset)
+ public void llSetCameraEyeOffset(LSL_Vector offset)
{
m_host.AddScriptLPS(1);
m_host.SetCameraEyeOffset(new Vector3((float)offset.x, (float)offset.y, (float)offset.z));
}
- public void llSetCameraAtOffset(LSL_Types.Vector3 offset)
+ public void llSetCameraAtOffset(LSL_Vector offset)
{
m_host.AddScriptLPS(1);
m_host.SetCameraAtOffset(new Vector3((float)offset.x, (float)offset.y, (float)offset.z));
}
- public string llDumpList2String(LSL_Types.list src, string seperator)
+ public LSL_String llDumpList2String(LSL_List src, string seperator)
{
m_host.AddScriptLPS(1);
if (src.Length == 0)
@@ -5295,7 +5406,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return ret;
}
- public LSL_Types.LSLInteger llScriptDanger(LSL_Types.Vector3 pos)
+ public LSL_Integer llScriptDanger(LSL_Vector pos)
{
m_host.AddScriptLPS(1);
bool result = World.scriptDanger(m_host.LocalId, new Vector3((float)pos.x, (float)pos.y, (float)pos.z));
@@ -5310,7 +5421,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- public void llDialog(string avatar, string message, LSL_Types.list buttons, int chat_channel)
+ public void llDialog(string avatar, string message, LSL_List buttons, int chat_channel)
{
m_host.AddScriptLPS(1);
UUID av = new UUID();
@@ -5378,7 +5489,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// assume it is not running.
}
- public LSL_Types.LSLInteger llGetScriptState(string name)
+ public LSL_Integer llGetScriptState(string name)
{
UUID item;
ScriptManager sm;
@@ -5477,13 +5588,13 @@ namespace OpenSim.Region.ScriptEngine.Common
if (xmlrpcMod.IsEnabled())
{
UUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID, UUID.Zero);
- object[] resobj = new object[] { new LSL_Types.LSLInteger(1), new LSL_Types.LSLString(channelID.ToString()), new LSL_Types.LSLString(UUID.Zero.ToString()), new LSL_Types.LSLString(String.Empty), new LSL_Types.LSLInteger(0), new LSL_Types.LSLString(String.Empty) };
+ object[] resobj = new object[] { new LSL_Integer(1), new LSL_String(channelID.ToString()), new LSL_String(UUID.Zero.ToString()), new LSL_String(String.Empty), new LSL_Integer(0), new LSL_String(String.Empty) };
m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "remote_data", EventQueueManager.llDetectNull, resobj);
}
// ScriptSleep(1000);
}
- public string llSendRemoteData(string channel, string dest, int idata, string sdata)
+ public LSL_String llSendRemoteData(string channel, string dest, int idata, string sdata)
{
m_host.AddScriptLPS(1);
IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface();
@@ -5507,13 +5618,13 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(1000);
}
- public string llMD5String(string src, int nonce)
+ public LSL_String llMD5String(string src, int nonce)
{
m_host.AddScriptLPS(1);
return Util.Md5Hash(src + ":" + nonce.ToString());
}
- private ObjectShapePacket.ObjectDataBlock SetPrimitiveBlockShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist)
+ private ObjectShapePacket.ObjectDataBlock SetPrimitiveBlockShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist)
{
ObjectShapePacket.ObjectDataBlock shapeBlock = new ObjectShapePacket.ObjectDataBlock();
@@ -5583,7 +5694,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return shapeBlock;
}
- private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist, LSL_Types.Vector3 taper_b, LSL_Types.Vector3 topshear, byte fudge)
+ private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist, LSL_Vector taper_b, LSL_Vector topshear, byte fudge)
{
ObjectShapePacket.ObjectDataBlock shapeBlock;
@@ -5631,7 +5742,7 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateShape(shapeBlock);
}
- private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist, LSL_Types.Vector3 dimple, byte fudge)
+ private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist, LSL_Vector dimple, byte fudge)
{
ObjectShapePacket.ObjectDataBlock shapeBlock;
@@ -5672,7 +5783,7 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateShape(shapeBlock);
}
- private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist, LSL_Types.Vector3 holesize, LSL_Types.Vector3 topshear, LSL_Types.Vector3 profilecut, LSL_Types.Vector3 taper_a, float revolutions, float radiusoffset, float skew, byte fudge)
+ private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist, LSL_Vector holesize, LSL_Vector topshear, LSL_Vector profilecut, LSL_Vector taper_a, float revolutions, float radiusoffset, float skew, byte fudge)
{
ObjectShapePacket.ObjectDataBlock shapeBlock;
@@ -5824,12 +5935,12 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateShape(shapeBlock);
}
- public void llSetPrimitiveParams(LSL_Types.list rules)
+ public void llSetPrimitiveParams(LSL_List rules)
{
llSetLinkPrimitiveParams(m_host.LinkNum, rules);
}
- public void llSetLinkPrimitiveParams(int linknumber, LSL_Types.list rules)
+ public void llSetLinkPrimitiveParams(int linknumber, LSL_List rules)
{
m_host.AddScriptLPS(1);
@@ -5850,7 +5961,7 @@ namespace OpenSim.Region.ScriptEngine.Common
int remain = rules.Length - idx;
int face;
- LSL_Types.Vector3 v;
+ LSL_Vector v;
switch (code)
{
@@ -5858,7 +5969,7 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 1)
return;
- v=new LSL_Types.Vector3(rules.Data[idx++].ToString());
+ v=new LSL_Vector(rules.Data[idx++].ToString());
SetPos(part, v);
break;
@@ -5866,7 +5977,7 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 1)
return;
- v=new LSL_Types.Vector3(rules.Data[idx++].ToString());
+ v=new LSL_Vector(rules.Data[idx++].ToString());
SetScale(part, v);
break;
@@ -5874,7 +5985,7 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 1)
return;
- LSL_Types.Quaternion q = new LSL_Types.Quaternion(rules.Data[idx++].ToString());
+ LSL_Rotation q = new LSL_Rotation(rules.Data[idx++].ToString());
SetRot(part, q);
break;
@@ -5887,14 +5998,14 @@ namespace OpenSim.Region.ScriptEngine.Common
remain = rules.Length - idx;
float hollow;
- LSL_Types.Vector3 twist;
- LSL_Types.Vector3 taper_b;
- LSL_Types.Vector3 topshear;
+ LSL_Vector twist;
+ LSL_Vector taper_b;
+ LSL_Vector topshear;
float revolutions;
float radiusoffset;
float skew;
- LSL_Types.Vector3 holesize;
- LSL_Types.Vector3 profilecut;
+ LSL_Vector holesize;
+ LSL_Vector profilecut;
switch (code)
{
@@ -5902,12 +6013,12 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 6)
return;
- face = Convert.ToInt32(rules.Data[idx++]); // holeshape
- v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // cut
- hollow = (float)Convert.ToDouble(rules.Data[idx++]);
- twist = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString());
+ face = (int)rules.GetLSLIntegerItem(idx++);
+ v = rules.GetVector3Item(idx++); // cut
+ hollow = (float)rules.GetLSLFloatItem(idx++);
+ twist = rules.GetVector3Item(idx++);
+ taper_b = rules.GetVector3Item(idx++);
+ topshear = rules.GetVector3Item(idx++);
part.Shape.PathCurve = (byte)Extrusion.Straight;
SetPrimitiveShapeParams(part, face, v, hollow, twist, taper_b, topshear, 1);
break;
@@ -5916,12 +6027,12 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 6)
return;
- face = Convert.ToInt32(rules.Data[idx++]); // holeshape
- v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // cut
- hollow = (float)Convert.ToDouble(rules.Data[idx++]);
- twist = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString());
+ face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
+ v = rules.GetVector3Item(idx++); // cut
+ hollow = (float)rules.GetLSLFloatItem(idx++);
+ twist = rules.GetVector3Item(idx++);
+ taper_b = rules.GetVector3Item(idx++);
+ topshear = rules.GetVector3Item(idx++);
part.Shape.ProfileShape = ProfileShape.Circle;
part.Shape.PathCurve = (byte)Extrusion.Straight;
SetPrimitiveShapeParams(part, face, v, hollow, twist, taper_b, topshear, 0);
@@ -5931,12 +6042,12 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 6)
return;
- face = Convert.ToInt32(rules.Data[idx++]); // holeshape
- v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); //cut
- hollow = (float)Convert.ToDouble(rules.Data[idx++]);
- twist = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString());
+ face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
+ v = rules.GetVector3Item(idx++); //cut
+ hollow = (float)rules.GetLSLFloatItem(idx++);
+ twist = rules.GetVector3Item(idx++);
+ taper_b = rules.GetVector3Item(idx++);
+ topshear = rules.GetVector3Item(idx++);
part.Shape.PathCurve = (byte)Extrusion.Straight;
SetPrimitiveShapeParams(part, face, v, hollow, twist, taper_b, topshear, 3);
break;
@@ -5945,11 +6056,11 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 5)
return;
- face = Convert.ToInt32(rules.Data[idx++]); // holeshape
- v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // cut
- hollow = (float)Convert.ToDouble(rules.Data[idx++]);
- twist = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // dimple
+ face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
+ v = rules.GetVector3Item(idx++); // cut
+ hollow = (float)rules.GetLSLFloatItem(idx++);
+ twist = rules.GetVector3Item(idx++);
+ taper_b = rules.GetVector3Item(idx++); // dimple
part.Shape.PathCurve = (byte)Extrusion.Curve1;
SetPrimitiveShapeParams(part, face, v, hollow, twist, taper_b, 5);
break;
@@ -5958,17 +6069,17 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 11)
return;
- face = Convert.ToInt32(rules.Data[idx++]); // holeshape
- v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); //cut
- hollow = (float)Convert.ToDouble(rules.Data[idx++]);
- twist = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- holesize = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- profilecut = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // taper_a
- revolutions = (float)Convert.ToDouble(rules.Data[idx++]);
- radiusoffset = (float)Convert.ToDouble(rules.Data[idx++]);
- skew = (float)Convert.ToDouble(rules.Data[idx++]);
+ face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
+ v = rules.GetVector3Item(idx++); //cut
+ hollow = (float)rules.GetLSLFloatItem(idx++);
+ twist = rules.GetVector3Item(idx++);
+ holesize = rules.GetVector3Item(idx++);
+ topshear = rules.GetVector3Item(idx++);
+ profilecut = rules.GetVector3Item(idx++);
+ taper_b = rules.GetVector3Item(idx++); // taper_a
+ revolutions = (float)rules.GetLSLFloatItem(idx++);
+ radiusoffset = (float)rules.GetLSLFloatItem(idx++);
+ skew = (float)rules.GetLSLFloatItem(idx++);
part.Shape.PathCurve = (byte)Extrusion.Curve1;
SetPrimitiveShapeParams(part, face, v, hollow, twist, holesize, topshear, profilecut, taper_b, revolutions, radiusoffset, skew, 0);
break;
@@ -5977,17 +6088,17 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 11)
return;
- face = Convert.ToInt32(rules.Data[idx++]); // holeshape
- v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); //cut
- hollow = (float)Convert.ToDouble(rules.Data[idx++]);
- twist = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- holesize = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- profilecut = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // taper_a
- revolutions = (float)Convert.ToDouble(rules.Data[idx++]);
- radiusoffset = (float)Convert.ToDouble(rules.Data[idx++]);
- skew = (float)Convert.ToDouble(rules.Data[idx++]);
+ face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
+ v = rules.GetVector3Item(idx++); //cut
+ hollow = (float)rules.GetLSLFloatItem(idx++);
+ twist = rules.GetVector3Item(idx++);
+ holesize = rules.GetVector3Item(idx++);
+ topshear = rules.GetVector3Item(idx++);
+ profilecut = rules.GetVector3Item(idx++);
+ taper_b = rules.GetVector3Item(idx++); // taper_a
+ revolutions = (float)rules.GetLSLFloatItem(idx++);
+ radiusoffset = (float)rules.GetLSLFloatItem(idx++);
+ skew = (float)rules.GetLSLFloatItem(idx++);
part.Shape.PathCurve = (byte)Extrusion.Curve1;
SetPrimitiveShapeParams(part, face, v, hollow, twist, holesize, topshear, profilecut, taper_b, revolutions, radiusoffset, skew, 1);
break;
@@ -5996,17 +6107,17 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 11)
return;
- face = Convert.ToInt32(rules.Data[idx++]); // holeshape
- v = new LSL_Types.Vector3(rules.Data[idx++].ToString()); //cut
- hollow = (float)Convert.ToDouble(rules.Data[idx++]);
- twist = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- holesize = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- topshear = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- profilecut = new LSL_Types.Vector3(rules.Data[idx++].ToString());
- taper_b = new LSL_Types.Vector3(rules.Data[idx++].ToString()); // taper_a
- revolutions = (float)Convert.ToDouble(rules.Data[idx++]);
- radiusoffset = (float)Convert.ToDouble(rules.Data[idx++]);
- skew = (float)Convert.ToDouble(rules.Data[idx++]);
+ face = (int)rules.GetLSLIntegerItem(idx++); // holeshape
+ v = rules.GetVector3Item(idx++); //cut
+ hollow = (float)rules.GetLSLFloatItem(idx++);
+ twist = rules.GetVector3Item(idx++);
+ holesize = rules.GetVector3Item(idx++);
+ topshear = rules.GetVector3Item(idx++);
+ profilecut = rules.GetVector3Item(idx++);
+ taper_b = rules.GetVector3Item(idx++); // taper_a
+ revolutions = (float)rules.GetLSLFloatItem(idx++);
+ radiusoffset = (float)rules.GetLSLFloatItem(idx++);
+ skew = (float)rules.GetLSLFloatItem(idx++);
part.Shape.PathCurve = (byte)Extrusion.Curve1;
SetPrimitiveShapeParams(part, face, v, hollow, twist, holesize, topshear, profilecut, taper_b, revolutions, radiusoffset, skew, 3);
break;
@@ -6016,7 +6127,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return;
string map = rules.Data[idx++].ToString();
- face = Convert.ToInt32(rules.Data[idx++]); // type
+ face = (int)rules.GetLSLIntegerItem(idx++); // type
part.Shape.PathCurve = (byte)Extrusion.Curve1;
SetPrimitiveShapeParams(part, map, face);
break;
@@ -6028,11 +6139,11 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 5)
return;
- face=Convert.ToInt32(rules.Data[idx++]);
+ face=(int)rules.GetLSLIntegerItem(idx++);
string tex=rules.Data[idx++].ToString();
- LSL_Types.Vector3 repeats=new LSL_Types.Vector3(rules.Data[idx++].ToString());
- LSL_Types.Vector3 offsets=new LSL_Types.Vector3(rules.Data[idx++].ToString());
- double rotation=Convert.ToDouble(rules.Data[idx++]);
+ LSL_Vector repeats=rules.GetVector3Item(idx++);
+ LSL_Vector offsets=rules.GetVector3Item(idx++);
+ double rotation=(double)rules.GetLSLFloatItem(idx++);
SetTexture(part, tex, face);
ScaleTexture(part, repeats.x, repeats.y, face);
@@ -6045,9 +6156,9 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 3)
return;
- face=Convert.ToInt32(rules.Data[idx++]);
- LSL_Types.Vector3 color=new LSL_Types.Vector3(rules.Data[idx++].ToString());
- double alpha=Convert.ToDouble(rules.Data[idx++]);
+ face=(int)rules.GetLSLIntegerItem(idx++);
+ LSL_Vector color=rules.GetVector3Item(idx++);
+ double alpha=(double)rules.GetLSLFloatItem(idx++);
SetColor(part, color, face);
SetAlpha(part, alpha, face);
@@ -6057,34 +6168,34 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 7)
return;
- int flexi = Convert.ToInt32(rules.Data[idx++]);
- int softness = Convert.ToInt32(rules.Data[idx++]);
- float gravity = (float)Convert.ToDouble(rules.Data[idx++]);
- float friction = (float)Convert.ToDouble(rules.Data[idx++]);
- float wind = (float)Convert.ToDouble(rules.Data[idx++]);
- float tension = (float)Convert.ToDouble(rules.Data[idx++]);
- LSL_Types.Vector3 force =new LSL_Types.Vector3(rules.Data[idx++].ToString());
+ bool flexi = rules.GetLSLIntegerItem(idx++);
+ int softness = rules.GetLSLIntegerItem(idx++);
+ float gravity = (float)rules.GetLSLFloatItem(idx++);
+ float friction = (float)rules.GetLSLFloatItem(idx++);
+ float wind = (float)rules.GetLSLFloatItem(idx++);
+ float tension = (float)rules.GetLSLFloatItem(idx++);
+ LSL_Vector force = rules.GetVector3Item(idx++);
- SetFlexi(part, (flexi == 1), softness, gravity, friction, wind, tension, force);
+ SetFlexi(part, flexi, softness, gravity, friction, wind, tension, force);
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_POINT_LIGHT:
if (remain < 5)
return;
- int light = Convert.ToInt32(rules.Data[idx++]);
- LSL_Types.Vector3 lightcolor =new LSL_Types.Vector3(rules.Data[idx++].ToString());
- float intensity = (float)Convert.ToDouble(rules.Data[idx++]);
- float radius = (float)Convert.ToDouble(rules.Data[idx++]);
- float falloff = (float)Convert.ToDouble(rules.Data[idx++]);
+ bool light = rules.GetLSLIntegerItem(idx++);
+ LSL_Vector lightcolor = rules.GetVector3Item(idx++);
+ float intensity = (float)rules.GetLSLFloatItem(idx++);
+ float radius = (float)rules.GetLSLFloatItem(idx++);
+ float falloff = (float)rules.GetLSLFloatItem(idx++);
- SetPointLight(part, (light == 1), lightcolor, intensity, radius, falloff);
+ SetPointLight(part, light, lightcolor, intensity, radius, falloff);
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_GLOW:
if (remain < 2)
return;
- face = Convert.ToInt32(rules.Data[idx++]);
- float glow = (float)Convert.ToDouble(rules.Data[idx++]);
+ face = rules.GetLSLIntegerItem(idx++);
+ float glow = (float)rules.GetLSLFloatItem(idx++);
SetGlow(part, face, glow);
@@ -6092,9 +6203,9 @@ namespace OpenSim.Region.ScriptEngine.Common
case (int)BuiltIn_Commands_BaseClass.PRIM_BUMP_SHINY:
if (remain < 3)
return;
- face = Convert.ToInt32(rules.Data[idx++]);
- int shiny = Convert.ToInt32(rules.Data[idx++]);
- Bumpiness bump = (Bumpiness)Convert.ToByte(rules.Data[idx++]);
+ face = (int)rules.GetLSLIntegerItem(idx++);
+ int shiny = (int)rules.GetLSLIntegerItem(idx++);
+ Bumpiness bump = (Bumpiness)Convert.ToByte((int)rules.GetLSLIntegerItem(idx++));
SetShiny(part, face, shiny, bump);
@@ -6102,14 +6213,8 @@ namespace OpenSim.Region.ScriptEngine.Common
case (int)BuiltIn_Commands_BaseClass.PRIM_FULLBRIGHT:
if (remain < 2)
return;
- face = Convert.ToInt32(rules.Data[idx++]);
- string bv = rules.Data[idx++].ToString();
- bool st;
- if (bv.Equals("1"))
- st = true;
- else
- st = false;
-
+ face = rules.GetLSLIntegerItem(idx++);
+ bool st = rules.GetLSLIntegerItem(idx++);
SetFullBright(part, face , st);
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_MATERIAL:
@@ -6119,7 +6224,7 @@ namespace OpenSim.Region.ScriptEngine.Common
{
/* Unhandled at this time - sends "Unhandled" message
will enable when available
- byte material = (byte)Convert.ToByte( rules.Data[idx++]);
+ byte material = Convert.ToByte((int)rules.GetLSLIntegerItem(idx++));
part.Material = material;
*/
return;
@@ -6158,7 +6263,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public string llStringToBase64(string str)
+ public LSL_String llStringToBase64(string str)
{
m_host.AddScriptLPS(1);
try
@@ -6174,7 +6279,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public string llBase64ToString(string str)
+ public LSL_String llBase64ToString(string str)
{
m_host.AddScriptLPS(1);
UTF8Encoding encoder = new UTF8Encoding();
@@ -6207,23 +6312,23 @@ namespace OpenSim.Region.ScriptEngine.Common
NotImplemented("llRemoteDataSetRegion");
}
- public double llLog10(double val)
+ public LSL_Float llLog10(double val)
{
m_host.AddScriptLPS(1);
return (double)Math.Log10(val);
}
- public double llLog(double val)
+ public LSL_Float llLog(double val)
{
m_host.AddScriptLPS(1);
return (double)Math.Log(val);
}
- public LSL_Types.list llGetAnimationList( string id )
+ public LSL_List llGetAnimationList( string id )
{
m_host.AddScriptLPS(1);
- LSL_Types.list l = new LSL_Types.list();
+ LSL_List l = new LSL_List();
ScenePresence av = World.GetScenePresence(id);
if (av == null)
return l;
@@ -6250,44 +6355,19 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(2000);
}
- public void osSetParcelMediaURL(string url)
+ public LSL_Vector llGetRootPosition()
{
m_host.AddScriptLPS(1);
- UUID landowner = World.GetLandOwner(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
-
- if (landowner == UUID.Zero)
- {
- return;
- }
-
- if (landowner != m_host.ObjectOwner)
- {
- return;
- }
-
- World.SetLandMediaURL(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, url);
- }
-
- public LSL_Types.Vector3 llGetRootPosition()
- {
- m_host.AddScriptLPS(1);
- return new LSL_Types.Vector3(
- m_host.ParentGroup.AbsolutePosition.X,
- m_host.ParentGroup.AbsolutePosition.Y,
- m_host.ParentGroup.AbsolutePosition.Z);
+ return new LSL_Vector(m_host.ParentGroup.AbsolutePosition.X, m_host.ParentGroup.AbsolutePosition.Y, m_host.ParentGroup.AbsolutePosition.Z);
}
- public LSL_Types.Quaternion llGetRootRotation()
+ public LSL_Rotation llGetRootRotation()
{
m_host.AddScriptLPS(1);
- return new LSL_Types.Quaternion(
- m_host.ParentGroup.GroupRotation.X,
- m_host.ParentGroup.GroupRotation.Y,
- m_host.ParentGroup.GroupRotation.Z,
- m_host.ParentGroup.GroupRotation.W);
+ return new LSL_Rotation(m_host.ParentGroup.GroupRotation.X, m_host.ParentGroup.GroupRotation.Y, m_host.ParentGroup.GroupRotation.Z, m_host.ParentGroup.GroupRotation.W);
}
- public string llGetObjectDesc()
+ public LSL_String llGetObjectDesc()
{
return m_host.Description!=null?m_host.Description:String.Empty;
}
@@ -6298,13 +6378,13 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.Description = desc!=null?desc:String.Empty;
}
- public string llGetCreator()
+ public LSL_String llGetCreator()
{
m_host.AddScriptLPS(1);
return m_host.ObjectCreator.ToString();
}
- public string llGetTimestamp()
+ public LSL_String llGetTimestamp()
{
m_host.AddScriptLPS(1);
return DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ");
@@ -6318,7 +6398,7 @@ namespace OpenSim.Region.ScriptEngine.Common
{
Primitive.TextureEntry tex = part.Shape.Textures;
Color4 texcolor;
- if (face > -1)
+ if (face >= 0 && face < GetNumberOfSides(m_host))
{
texcolor = tex.CreateFace((uint)face).RGBA;
texcolor.A = Util.Clip((float)alpha, 0.0f, 1.0f);
@@ -6326,12 +6406,12 @@ namespace OpenSim.Region.ScriptEngine.Common
part.UpdateTexture(tex);
return;
}
- else if (face == -1)
+ else if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
{
texcolor = tex.DefaultTexture.RGBA;
texcolor.A = Util.Clip((float)alpha, 0.0f, 1.0f);
tex.DefaultTexture.RGBA = texcolor;
- for (uint i = 0; i < 32; i++)
+ for (uint i = 0; i < GetNumberOfSides(m_host); i++)
{
if (tex.FaceTextures[i] != null)
{
@@ -6388,77 +6468,76 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.LSLInteger llGetNumberOfPrims()
+ public LSL_Integer llGetNumberOfPrims()
{
m_host.AddScriptLPS(1);
return m_host.ParentGroup.PrimCount;
}
- public LSL_Types.list llGetBoundingBox(string obj)
+ public LSL_List llGetBoundingBox(string obj)
{
m_host.AddScriptLPS(1);
NotImplemented("llGetBoundingBox");
- return new LSL_Types.list();
+ return new LSL_List();
}
- public LSL_Types.Vector3 llGetGeometricCenter()
+ public LSL_Vector llGetGeometricCenter()
{
- return new LSL_Types.Vector3(
- m_host.GetGeometricCenter().X, m_host.GetGeometricCenter().Y, m_host.GetGeometricCenter().Z);
+ return new LSL_Vector(m_host.GetGeometricCenter().X, m_host.GetGeometricCenter().Y, m_host.GetGeometricCenter().Z);
}
- public LSL_Types.list llGetPrimitiveParams(LSL_Types.list rules)
+ public LSL_List llGetPrimitiveParams(LSL_List rules)
{
m_host.AddScriptLPS(1);
- LSL_Types.list res = new LSL_Types.list();
+ LSL_List res = new LSL_List();
int idx=0;
while (idx < rules.Length)
{
- int code=Convert.ToInt32(rules.Data[idx++]);
+ int code=(int)rules.GetLSLIntegerItem(idx++);
int remain=rules.Length-idx;
switch (code)
{
case (int)BuiltIn_Commands_BaseClass.PRIM_MATERIAL:
- res.Add(new LSL_Types.LSLInteger(m_host.Material));
+ res.Add(new LSL_Integer(m_host.Material));
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_PHYSICS:
if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.Physics) != 0)
- res.Add(new LSL_Types.LSLInteger(1));
+ res.Add(new LSL_Integer(1));
else
- res.Add(new LSL_Types.LSLInteger(0));
+ res.Add(new LSL_Integer(0));
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_TEMP_ON_REZ:
if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.TemporaryOnRez) != 0)
- res.Add(new LSL_Types.LSLInteger(1));
+ res.Add(new LSL_Integer(1));
else
- res.Add(new LSL_Types.LSLInteger(0));
+ res.Add(new LSL_Integer(0));
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_PHANTOM:
if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.Phantom) != 0)
- res.Add(new LSL_Types.LSLInteger(1));
+ res.Add(new LSL_Integer(1));
else
- res.Add(new LSL_Types.LSLInteger(0));
+ res.Add(new LSL_Integer(0));
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_POSITION:
- res.Add(new LSL_Types.Vector3(m_host.AbsolutePosition.X,
+ res.Add(new LSL_Vector(m_host.AbsolutePosition.X,
m_host.AbsolutePosition.Y,
m_host.AbsolutePosition.Z));
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_SIZE:
- res.Add(new LSL_Types.Vector3(m_host.Scale.X,
+ res.Add(new LSL_Vector(m_host.Scale.X,
m_host.Scale.Y,
m_host.Scale.Z));
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_ROTATION:
- res.Add(new LSL_Types.Quaternion(m_host.RotationOffset.X,
+ res.Add(new LSL_Rotation(m_host.RotationOffset.X,
m_host.RotationOffset.Y,
m_host.RotationOffset.Z,
m_host.RotationOffset.W));
@@ -6468,69 +6547,69 @@ namespace OpenSim.Region.ScriptEngine.Common
// implementing box
PrimitiveBaseShape Shape = m_host.Shape;
int primType = getScriptPrimType(m_host.Shape);
- res.Add(new LSL_Types.LSLInteger(primType));
+ res.Add(new LSL_Integer(primType));
switch (primType)
{
case BuiltIn_Commands_BaseClass.PRIM_TYPE_BOX:
case BuiltIn_Commands_BaseClass.PRIM_TYPE_CYLINDER:
case BuiltIn_Commands_BaseClass.PRIM_TYPE_PRISM:
- res.Add(new LSL_Types.LSLInteger(Shape.ProfileCurve));
- res.Add(new LSL_Types.Vector3(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0));
- res.Add(new LSL_Types.LSLFloat(Shape.ProfileHollow / 50000.0));
- res.Add(new LSL_Types.Vector3(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0));
- res.Add(new LSL_Types.Vector3(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0));
- res.Add(new LSL_Types.Vector3(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0));
+ res.Add(new LSL_Integer(Shape.ProfileCurve));
+ res.Add(new LSL_Vector(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0));
+ res.Add(new LSL_Float(Shape.ProfileHollow / 50000.0));
+ res.Add(new LSL_Vector(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0));
+ res.Add(new LSL_Vector(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0));
+ res.Add(new LSL_Vector(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0));
break;
case BuiltIn_Commands_BaseClass.PRIM_TYPE_SPHERE:
- res.Add(new LSL_Types.LSLInteger(Shape.ProfileCurve));
- res.Add(new LSL_Types.Vector3(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0));
- res.Add(new LSL_Types.LSLFloat(Shape.ProfileHollow / 50000.0));
- res.Add(new LSL_Types.Vector3(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0));
- res.Add(new LSL_Types.Vector3(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0));
+ res.Add(new LSL_Integer(Shape.ProfileCurve));
+ res.Add(new LSL_Vector(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0));
+ res.Add(new LSL_Float(Shape.ProfileHollow / 50000.0));
+ res.Add(new LSL_Vector(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0));
+ res.Add(new LSL_Vector(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0));
break;
case BuiltIn_Commands_BaseClass.PRIM_TYPE_SCULPT:
res.Add(Shape.SculptTexture.ToString());
- res.Add(new LSL_Types.LSLInteger(Shape.SculptType));
+ res.Add(new LSL_Integer(Shape.SculptType));
break;
case BuiltIn_Commands_BaseClass.PRIM_TYPE_RING:
case BuiltIn_Commands_BaseClass.PRIM_TYPE_TUBE:
case BuiltIn_Commands_BaseClass.PRIM_TYPE_TORUS:
// holeshape
- res.Add(new LSL_Types.LSLInteger(Shape.ProfileCurve));
+ res.Add(new LSL_Integer(Shape.ProfileCurve));
// cut
- res.Add(new LSL_Types.Vector3(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0));
+ res.Add(new LSL_Vector(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0));
// hollow
- res.Add(new LSL_Types.LSLFloat(Shape.ProfileHollow / 50000.0));
+ res.Add(new LSL_Float(Shape.ProfileHollow / 50000.0));
// twist
- res.Add(new LSL_Types.Vector3(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0));
+ res.Add(new LSL_Vector(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0));
// vector holesize
- res.Add(new LSL_Types.Vector3(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0));
+ res.Add(new LSL_Vector(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0));
// vector topshear
- res.Add(new LSL_Types.Vector3(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0));
+ res.Add(new LSL_Vector(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0));
// vector profilecut
- res.Add(new LSL_Types.Vector3(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0));
+ res.Add(new LSL_Vector(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0));
// vector tapera
- res.Add(new LSL_Types.Vector3(Shape.PathTaperX / 100.0, Shape.PathTaperY / 100.0, 0));
+ res.Add(new LSL_Vector(Shape.PathTaperX / 100.0, Shape.PathTaperY / 100.0, 0));
// float revolutions,
- res.Add(new LSL_Types.LSLFloat(Shape.PathRevolutions / 50.0)); // needs fixing :(
+ res.Add(new LSL_Float(Shape.PathRevolutions / 50.0)); // needs fixing :(
// float radiusoffset,
- res.Add(new LSL_Types.LSLFloat(Shape.PathRadiusOffset / 100.0));
+ res.Add(new LSL_Float(Shape.PathRadiusOffset / 100.0));
// float skew
- res.Add(new LSL_Types.LSLFloat(Shape.PathSkew / 100.0));
+ res.Add(new LSL_Float(Shape.PathSkew / 100.0));
break;
}
@@ -6540,39 +6619,69 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 1)
return res;
- int face = Convert.ToInt32("" + rules.Data[idx++]);
- if (face == -1)
- face = 0;
-
+ int face = (int)rules.GetLSLIntegerItem(idx++);
Primitive.TextureEntry tex = m_host.Shape.Textures;
- Primitive.TextureEntryFace texface = tex.GetFace((uint)face);
-
- res.Add(new LSL_Types.LSLString(texface.TextureID.ToString()));
- res.Add(new LSL_Types.Vector3(texface.RepeatU,
- texface.RepeatV,
- 0));
- res.Add(new LSL_Types.Vector3(texface.OffsetU,
- texface.OffsetV,
- 0));
- res.Add(new LSL_Types.LSLFloat(texface.Rotation));
+ if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
+ {
+ for (face = 0 ; face < GetNumberOfSides(m_host) ; face++)
+ {
+ Primitive.TextureEntryFace texface = tex.GetFace((uint)face);
+
+ res.Add(new LSL_String(texface.TextureID.ToString()));
+ res.Add(new LSL_Vector(texface.RepeatU,
+ texface.RepeatV,
+ 0));
+ res.Add(new LSL_Vector(texface.OffsetU,
+ texface.OffsetV,
+ 0));
+ res.Add(new LSL_Float(texface.Rotation));
+ }
+ }
+ else
+ {
+ if (face >= 0 && face < GetNumberOfSides(m_host))
+ {
+ Primitive.TextureEntryFace texface = tex.GetFace((uint)face);
+
+ res.Add(new LSL_String(texface.TextureID.ToString()));
+ res.Add(new LSL_Vector(texface.RepeatU,
+ texface.RepeatV,
+ 0));
+ res.Add(new LSL_Vector(texface.OffsetU,
+ texface.OffsetV,
+ 0));
+ res.Add(new LSL_Float(texface.Rotation));
+ }
+ }
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_COLOR:
if (remain < 1)
return res;
- face=Convert.ToInt32("" + rules.Data[idx++]);
+ face=(int)rules.GetLSLIntegerItem(idx++);
tex = m_host.Shape.Textures;
Color4 texcolor;
- if (face == -1) // TMP: Until we can determine number of sides, ALL_SIDES (-1) will return default color
- texcolor = tex.DefaultTexture.RGBA;
+ if (face == BuiltIn_Commands_BaseClass.ALL_SIDES)
+ {
+ for (face = 0 ; face < GetNumberOfSides(m_host) ; face++)
+ {
+ texcolor = tex.GetFace((uint)face).RGBA;
+ res.Add(new LSL_Vector(texcolor.R,
+ texcolor.G,
+ texcolor.B));
+ res.Add(new LSL_Float(texcolor.A));
+ }
+ }
else
+ {
texcolor = tex.GetFace((uint)face).RGBA;
- res.Add(new LSL_Types.Vector3((255 - (texcolor.R * 255)) / 255,
- (255 - (texcolor.G * 255)) / 255,
- (255 - (texcolor.B * 255)) / 255));
- res.Add(new LSL_Types.LSLFloat((texcolor.A * 255) / 255));
+ res.Add(new LSL_Vector(texcolor.R,
+ texcolor.G,
+ texcolor.B));
+ res.Add(new LSL_Float(texcolor.A));
+ }
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_BUMP_SHINY:
@@ -6580,10 +6689,10 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 1)
return res;
- face=Convert.ToInt32(rules.Data[idx++]);
+ face=(int)rules.GetLSLIntegerItem(idx++);
- res.Add(new LSL_Types.LSLInteger(0));
- res.Add(new LSL_Types.LSLInteger(0));
+ res.Add(new LSL_Integer(0));
+ res.Add(new LSL_Integer(0));
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_FULLBRIGHT:
@@ -6591,24 +6700,24 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 1)
return res;
- face=Convert.ToInt32(rules.Data[idx++]);
+ face=(int)rules.GetLSLIntegerItem(idx++);
- res.Add(new LSL_Types.LSLInteger(0));
+ res.Add(new LSL_Integer(0));
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_FLEXIBLE:
PrimitiveBaseShape shape = m_host.Shape;
if (shape.FlexiEntry)
- res.Add(new LSL_Types.LSLInteger(1)); // active
+ res.Add(new LSL_Integer(1)); // active
else
- res.Add(new LSL_Types.LSLInteger(0));
- res.Add(new LSL_Types.LSLInteger(shape.FlexiSoftness));// softness
- res.Add(new LSL_Types.LSLFloat(shape.FlexiGravity)); // gravity
- res.Add(new LSL_Types.LSLFloat(shape.FlexiDrag)); // friction
- res.Add(new LSL_Types.LSLFloat(shape.FlexiWind)); // wind
- res.Add(new LSL_Types.LSLFloat(shape.FlexiTension)); // tension
- res.Add(new LSL_Types.Vector3(shape.FlexiForceX, // force
+ res.Add(new LSL_Integer(0));
+ res.Add(new LSL_Integer(shape.FlexiSoftness));// softness
+ res.Add(new LSL_Float(shape.FlexiGravity)); // gravity
+ res.Add(new LSL_Float(shape.FlexiDrag)); // friction
+ res.Add(new LSL_Float(shape.FlexiWind)); // wind
+ res.Add(new LSL_Float(shape.FlexiTension)); // tension
+ res.Add(new LSL_Vector(shape.FlexiForceX, // force
shape.FlexiForceY,
shape.FlexiForceZ));
break;
@@ -6619,24 +6728,24 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 1)
return res;
- face=Convert.ToInt32(rules.Data[idx++]);
+ face=(int)rules.GetLSLIntegerItem(idx++);
- res.Add(new LSL_Types.LSLInteger(0));
+ res.Add(new LSL_Integer(0));
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_POINT_LIGHT:
shape = m_host.Shape;
if (shape.LightEntry)
- res.Add(new LSL_Types.LSLInteger(1)); // active
+ res.Add(new LSL_Integer(1)); // active
else
- res.Add(new LSL_Types.LSLInteger(0));
- res.Add(new LSL_Types.Vector3(shape.LightColorR, // color
+ res.Add(new LSL_Integer(0));
+ res.Add(new LSL_Vector(shape.LightColorR, // color
shape.LightColorG,
shape.LightColorB));
- res.Add(new LSL_Types.LSLFloat(shape.LightIntensity)); // intensity
- res.Add(new LSL_Types.LSLFloat(shape.LightRadius)); // radius
- res.Add(new LSL_Types.LSLFloat(shape.LightFalloff)); // falloff
+ res.Add(new LSL_Float(shape.LightIntensity)); // intensity
+ res.Add(new LSL_Float(shape.LightRadius)); // radius
+ res.Add(new LSL_Float(shape.LightFalloff)); // falloff
break;
case (int)BuiltIn_Commands_BaseClass.PRIM_GLOW:
@@ -6644,9 +6753,9 @@ namespace OpenSim.Region.ScriptEngine.Common
if (remain < 1)
return res;
- face=Convert.ToInt32(rules.Data[idx++]);
+ face=(int)rules.GetLSLIntegerItem(idx++);
- res.Add(new LSL_Types.LSLFloat(0));
+ res.Add(new LSL_Float(0));
break;
}
}
@@ -6780,7 +6889,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// characters are padded with "=".
//
- public string llIntegerToBase64(int number)
+ public LSL_String llIntegerToBase64(int number)
{
// uninitialized string
@@ -6843,7 +6952,7 @@ namespace OpenSim.Region.ScriptEngine.Common
//
//
- public LSL_Types.LSLInteger llBase64ToInteger(string str)
+ public LSL_Integer llBase64ToInteger(string str)
{
int number = 0;
int digit;
@@ -6903,19 +7012,19 @@ namespace OpenSim.Region.ScriptEngine.Common
return number;
}
- public double llGetGMTclock()
+ public LSL_Float llGetGMTclock()
{
m_host.AddScriptLPS(1);
return DateTime.UtcNow.TimeOfDay.TotalSeconds;
}
- public string llGetSimulatorHostname()
+ public LSL_String llGetSimulatorHostname()
{
m_host.AddScriptLPS(1);
return System.Environment.MachineName;
}
- public void llSetLocalRot(LSL_Types.Quaternion rot)
+ public void llSetLocalRot(LSL_Rotation rot)
{
m_host.AddScriptLPS(1);
m_host.RotationOffset = new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s);
@@ -6970,7 +7079,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// of arrays or other objects.
//
- public LSL_Types.list llParseStringKeepNulls(string src, LSL_Types.list separators, LSL_Types.list spacers)
+ public LSL_List llParseStringKeepNulls(string src, LSL_List separators, LSL_List spacers)
{
int beginning = 0;
int srclen = src.Length;
@@ -6988,7 +7097,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// Initial capacity reduces resize cost
- LSL_Types.list tokens = new LSL_Types.list();
+ LSL_List tokens = new LSL_List();
m_host.AddScriptLPS(1);
@@ -7098,7 +7207,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return tokens;
}
- public LSL_Types.LSLInteger llGetObjectPermMask(int mask)
+ public LSL_Integer llGetObjectPermMask(int mask)
{
m_host.AddScriptLPS(1);
@@ -7171,7 +7280,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.LSLInteger llGetInventoryPermMask(string item, int mask)
+ public LSL_Integer llGetInventoryPermMask(string item, int mask)
{
m_host.AddScriptLPS(1);
foreach (KeyValuePair inv in m_host.TaskInventory)
@@ -7202,7 +7311,7 @@ namespace OpenSim.Region.ScriptEngine.Common
NotImplemented("llSetInventoryPermMask");
}
- public string llGetInventoryCreator(string item)
+ public LSL_String llGetInventoryCreator(string item)
{
m_host.AddScriptLPS(1);
foreach (KeyValuePair inv in m_host.TaskInventory)
@@ -7225,7 +7334,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// wComm.DeliverMessage(ChatTypeEnum.Owner, 0, m_host.Name, m_host.UUID, msg);
}
- public string llRequestSimulatorData(string simulator, int data)
+ public LSL_String llRequestSimulatorData(string simulator, int data)
{
try
{
@@ -7243,7 +7352,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(1000);
return UUID.Zero.ToString();
}
- reply = new LSL_Types.Vector3(
+ reply = new LSL_Vector(
info.RegionLocX * Constants.RegionSize,
info.RegionLocY * Constants.RegionSize,
0).ToString();
@@ -7299,7 +7408,7 @@ namespace OpenSim.Region.ScriptEngine.Common
m_host.SetForceMouselook(mouselook != 0);
}
- public double llGetObjectMass(string id)
+ public LSL_Float llGetObjectMass(string id)
{
m_host.AddScriptLPS(1);
UUID key = new UUID();
@@ -7322,9 +7431,9 @@ namespace OpenSim.Region.ScriptEngine.Common
/// and the source list is added as a suffix.
///
- public LSL_Types.list llListReplaceList(LSL_Types.list dest, LSL_Types.list src, int start, int end)
+ public LSL_List llListReplaceList(LSL_List dest, LSL_List src, int start, int end)
{
- LSL_Types.list pref = null;
+ LSL_List pref = null;
m_host.AddScriptLPS(1);
@@ -7401,7 +7510,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(10000);
}
- public void llParcelMediaCommandList(LSL_Types.list commandList)
+ public void llParcelMediaCommandList(LSL_List commandList)
{
//TO DO: Implement the missing commands
//PARCEL_MEDIA_COMMAND_STOP Stop the media stream and go back to the first frame.
@@ -7459,8 +7568,19 @@ namespace OpenSim.Region.ScriptEngine.Common
{
if (commandList.Data[i + 1] is string)
{
- //Set the new media URL only if the user is the owner of the land
- osSetParcelMediaURL(commandList.Data[i + 1].ToString());
+ UUID landowner = World.GetLandOwner(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
+
+ if (landowner == UUID.Zero)
+ {
+ return;
+ }
+
+ if (landowner != m_host.ObjectOwner)
+ {
+ return;
+ }
+
+ World.SetLandMediaURL(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, (string)commandList.GetLSLStringItem(i + 1));
List scenePresenceList = World.GetScenePresences();
LandData landData = World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y);
@@ -7485,12 +7605,13 @@ namespace OpenSim.Region.ScriptEngine.Common
}//end switch
}
+ // ScriptSleep(2000);
}
- public LSL_Types.list llParcelMediaQuery(LSL_Types.list aList)
+ public LSL_List llParcelMediaQuery(LSL_List aList)
{
m_host.AddScriptLPS(1);
- LSL_Types.list list = new LSL_Types.list();
+ LSL_List list = new LSL_List();
//TO DO: make the implementation for the missing commands
//PARCEL_MEDIA_COMMAND_TEXTURE key uuid Use this to get or set the parcel's media texture.
//PARCEL_MEDIA_COMMAND_URL string url Used to get or set the parcel's media url.
@@ -7506,13 +7627,13 @@ namespace OpenSim.Region.ScriptEngine.Common
switch ((ParcelMediaCommandEnum) aList.Data[i])
{
case ParcelMediaCommandEnum.Url:
- list.Add(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaURL);
+ list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaURL));
break;
case ParcelMediaCommandEnum.Desc:
- list.Add(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).Description);
+ list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).Description));
break;
case ParcelMediaCommandEnum.Texture:
- list.Add(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaID);
+ list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaID.ToString()));
break;
default:
ParcelMediaCommandEnum mediaCommandEnum = ParcelMediaCommandEnum.Url;
@@ -7526,7 +7647,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return list;
}
- public LSL_Types.LSLInteger llModPow(int a, int b, int c)
+ public LSL_Integer llModPow(int a, int b, int c)
{
m_host.AddScriptLPS(1);
Int64 tmp = 0;
@@ -7535,7 +7656,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return Convert.ToInt32(tmp);
}
- public LSL_Types.LSLInteger llGetInventoryType(string name)
+ public LSL_Integer llGetInventoryType(string name)
{
m_host.AddScriptLPS(1);
foreach (KeyValuePair inv in m_host.TaskInventory)
@@ -7548,7 +7669,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return -1;
}
- public void llSetPayPrice(int price, LSL_Types.list quick_pay_buttons)
+ public void llSetPayPrice(int price, LSL_List quick_pay_buttons)
{
m_host.AddScriptLPS(1);
@@ -7558,42 +7679,41 @@ namespace OpenSim.Region.ScriptEngine.Common
return;
}
m_host.ParentGroup.RootPart.PayPrice[0]=price;
- m_host.ParentGroup.RootPart.PayPrice[1]=(int)quick_pay_buttons.Data[0];
- m_host.ParentGroup.RootPart.PayPrice[2]=(int)quick_pay_buttons.Data[1];
- m_host.ParentGroup.RootPart.PayPrice[3]=(int)quick_pay_buttons.Data[2];
- m_host.ParentGroup.RootPart.PayPrice[4]=(int)quick_pay_buttons.Data[3];
+
+ m_host.ParentGroup.RootPart.PayPrice[1]=(LSL_Integer)quick_pay_buttons.Data[0];
+ m_host.ParentGroup.RootPart.PayPrice[2]=(LSL_Integer)quick_pay_buttons.Data[1];
+ m_host.ParentGroup.RootPart.PayPrice[3]=(LSL_Integer)quick_pay_buttons.Data[2];
+ m_host.ParentGroup.RootPart.PayPrice[4]=(LSL_Integer)quick_pay_buttons.Data[3];
+ m_host.ParentGroup.HasGroupChanged = true;
}
- public LSL_Types.Vector3 llGetCameraPos()
+ public LSL_Vector llGetCameraPos()
{
m_host.AddScriptLPS(1);
UUID invItemID=InventorySelf();
if (invItemID == UUID.Zero)
- return new LSL_Types.Vector3();
+ return new LSL_Vector();
if (m_host.TaskInventory[invItemID].PermsGranter == UUID.Zero)
- return new LSL_Types.Vector3();
+ return new LSL_Vector();
if ((m_host.TaskInventory[invItemID].PermsMask & BuiltIn_Commands_BaseClass.PERMISSION_TRACK_CAMERA) == 0)
{
ShoutError("No permissions to track the camera");
- return new LSL_Types.Vector3();
+ return new LSL_Vector();
}
ScenePresence presence = World.GetScenePresence(m_host.OwnerID);
if (presence != null)
{
- LSL_Types.Vector3 pos = new LSL_Types.Vector3(
- presence.CameraPosition.X,
- presence.CameraPosition.Y,
- presence.CameraPosition.Z);
+ LSL_Vector pos = new LSL_Vector(presence.CameraPosition.X, presence.CameraPosition.Y, presence.CameraPosition.Z);
return pos;
}
- return new LSL_Types.Vector3();
+ return new LSL_Vector();
}
- public LSL_Types.Quaternion llGetCameraRot()
+ public LSL_Rotation llGetCameraRot()
{
m_host.AddScriptLPS(1);
NotImplemented("llGetCameraRot");
- return new LSL_Types.Quaternion();
+ return new LSL_Rotation();
}
public void llSetPrimURL()
@@ -7610,7 +7730,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(20000);
}
- public string llEscapeURL(string url)
+ public LSL_String llEscapeURL(string url)
{
m_host.AddScriptLPS(1);
try
@@ -7623,7 +7743,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public string llUnescapeURL(string url)
+ public LSL_String llUnescapeURL(string url)
{
m_host.AddScriptLPS(1);
try
@@ -7636,7 +7756,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public void llMapDestination(string simname, LSL_Types.Vector3 pos, LSL_Types.Vector3 look_at)
+ public void llMapDestination(string simname, LSL_Vector pos, LSL_Vector look_at)
{
m_host.AddScriptLPS(1);
NotImplemented("llMapDestination");
@@ -7706,7 +7826,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(100);
}
- public void llSetCameraParams(LSL_Types.list rules)
+ public void llSetCameraParams(LSL_List rules)
{
m_host.AddScriptLPS(1);
@@ -7731,7 +7851,7 @@ namespace OpenSim.Region.ScriptEngine.Common
SortedDictionary parameters = new SortedDictionary();
object[] data = rules.Data;
for (int i = 0; i < data.Length; ++i) {
- int type = Convert.ToInt32(data[i++]);
+ int type = Convert.ToInt32(data[i++].ToString());
if (i >= data.Length) break; // odd number of entries => ignore the last
// some special cases: Vector parameters are split into 3 float parameters (with type+1, type+2, type+3)
@@ -7739,17 +7859,17 @@ namespace OpenSim.Region.ScriptEngine.Common
case BuiltIn_Commands_BaseClass.CAMERA_FOCUS:
case BuiltIn_Commands_BaseClass.CAMERA_FOCUS_OFFSET:
case BuiltIn_Commands_BaseClass.CAMERA_POSITION:
- LSL_Types.Vector3 v = (LSL_Types.Vector3)data[i];
+ LSL_Vector v = (LSL_Vector)data[i];
parameters.Add(type + 1, (float)v.x);
parameters.Add(type + 2, (float)v.y);
parameters.Add(type + 3, (float)v.z);
break;
default:
// TODO: clean that up as soon as the implicit casts are in
- if (data[i] is LSL_Types.LSLFloat)
- parameters.Add(type, (float)((LSL_Types.LSLFloat)data[i]).value);
- else if (data[i] is LSL_Types.LSLInteger)
- parameters.Add(type, (float)((LSL_Types.LSLInteger)data[i]).value);
+ if (data[i] is LSL_Float)
+ parameters.Add(type, (float)((LSL_Float)data[i]).value);
+ else if (data[i] is LSL_Integer)
+ parameters.Add(type, (float)((LSL_Integer)data[i]).value);
else parameters.Add(type, Convert.ToSingle(data[i]));
break;
}
@@ -7782,10 +7902,10 @@ namespace OpenSim.Region.ScriptEngine.Common
presence.ControllingClient.SendClearFollowCamProperties(objectID);
}
- public double llListStatistics(int operation, LSL_Types.list src)
+ public LSL_Float llListStatistics(int operation, LSL_List src)
{
m_host.AddScriptLPS(1);
- LSL_Types.list nums = LSL_Types.list.ToDoubleList(src);
+ LSL_List nums = LSL_List.ToDoubleList(src);
switch (operation)
{
case BuiltIn_Commands_BaseClass.LIST_STAT_RANGE:
@@ -7815,19 +7935,19 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.LSLInteger llGetUnixTime()
+ public LSL_Integer llGetUnixTime()
{
m_host.AddScriptLPS(1);
return Util.UnixTimeSinceEpoch();
}
- public LSL_Types.LSLInteger llGetParcelFlags(LSL_Types.Vector3 pos)
+ public LSL_Integer llGetParcelFlags(LSL_Vector pos)
{
m_host.AddScriptLPS(1);
return (int)World.LandChannel.GetLandObject((float)pos.x, (float)pos.y).landData.Flags;
}
- public LSL_Types.LSLInteger llGetRegionFlags()
+ public LSL_Integer llGetRegionFlags()
{
m_host.AddScriptLPS(1);
IEstateModule estate = World.RequestModuleInterface();
@@ -7836,7 +7956,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return (int)estate.GetRegionFlags();
}
- public string llXorBase64StringsCorrect(string str1, string str2)
+ public LSL_String llXorBase64StringsCorrect(string str1, string str2)
{
m_host.AddScriptLPS(1);
string ret = String.Empty;
@@ -7854,7 +7974,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return llStringToBase64(ret);
}
- public string llHTTPRequest(string url, LSL_Types.list parameters, string body)
+ public LSL_String llHTTPRequest(string url, LSL_List parameters, string body)
{
// Partial implementation: support for parameter flags needed
// see http://wiki.secondlife.com/wiki/LlHTTPRequest
@@ -7931,7 +8051,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(100);
}
- public LSL_Types.LSLInteger llGetParcelPrimCount(LSL_Types.Vector3 pos, int category, int sim_wide)
+ public LSL_Integer llGetParcelPrimCount(LSL_Vector pos, int category, int sim_wide)
{
m_host.AddScriptLPS(1);
@@ -7994,11 +8114,11 @@ namespace OpenSim.Region.ScriptEngine.Common
return 0;
}
- public LSL_Types.list llGetParcelPrimOwners(LSL_Types.Vector3 pos)
+ public LSL_List llGetParcelPrimOwners(LSL_Vector pos)
{
m_host.AddScriptLPS(1);
LandObject land = (LandObject)World.LandChannel.GetLandObject((float)pos.x, (float)pos.y);
- LSL_Types.list ret = new LSL_Types.list();
+ LSL_List ret = new LSL_List();
if (land != null)
{
foreach (KeyValuePair d in land.getLandObjectOwners())
@@ -8011,7 +8131,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return ret;
}
- public LSL_Types.LSLInteger llGetObjectPrimCount(string object_id)
+ public LSL_Integer llGetObjectPrimCount(string object_id)
{
m_host.AddScriptLPS(1);
SceneObjectPart part = World.GetSceneObjectPart(new UUID(object_id));
@@ -8025,7 +8145,7 @@ namespace OpenSim.Region.ScriptEngine.Common
}
}
- public LSL_Types.LSLInteger llGetParcelMaxPrims(LSL_Types.Vector3 pos, int sim_wide)
+ public LSL_Integer llGetParcelMaxPrims(LSL_Vector pos, int sim_wide)
{
m_host.AddScriptLPS(1);
// Alondria: This currently just is utilizing the normal grid's 0.22 prims/m2 calculation
@@ -8055,36 +8175,36 @@ namespace OpenSim.Region.ScriptEngine.Common
}
- public LSL_Types.list llGetParcelDetails(LSL_Types.Vector3 pos, LSL_Types.list param)
+ public LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param)
{
m_host.AddScriptLPS(1);
LandData land = World.GetLandData((float)pos.x, (float)pos.y);
if (land == null)
{
- return new LSL_Types.list(0);
+ return new LSL_List(0);
}
- LSL_Types.list ret = new LSL_Types.list();
+ LSL_List ret = new LSL_List();
foreach (object o in param.Data)
{
switch (o.ToString())
{
case "0":
- ret = ret + new LSL_Types.list(land.Name);
+ ret = ret + new LSL_List(land.Name);
break;
case "1":
- ret = ret + new LSL_Types.list(land.Description);
+ ret = ret + new LSL_List(land.Description);
break;
case "2":
- ret = ret + new LSL_Types.list(land.OwnerID.ToString());
+ ret = ret + new LSL_List(land.OwnerID.ToString());
break;
case "3":
- ret = ret + new LSL_Types.list(land.GroupID.ToString());
+ ret = ret + new LSL_List(land.GroupID.ToString());
break;
case "4":
- ret = ret + new LSL_Types.list(land.Area);
+ ret = ret + new LSL_List(land.Area);
break;
default:
- ret = ret + new LSL_Types.list(0);
+ ret = ret + new LSL_List(0);
break;
}
}
@@ -8107,7 +8227,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(200);
}
- public string llStringTrim(string src, int type)
+ public LSL_String llStringTrim(string src, int type)
{
m_host.AddScriptLPS(1);
if (type == (int)BuiltIn_Commands_BaseClass.STRING_TRIM_HEAD) { return src.TrimStart(); }
@@ -8116,10 +8236,10 @@ namespace OpenSim.Region.ScriptEngine.Common
return src;
}
- public LSL_Types.list llGetObjectDetails(string id, LSL_Types.list args)
+ public LSL_List llGetObjectDetails(string id, LSL_List args)
{
m_host.AddScriptLPS(1);
- LSL_Types.list ret = new LSL_Types.list();
+ LSL_List ret = new LSL_List();
UUID key = new UUID();
if (UUID.TryParse(id, out key))
{
@@ -8138,13 +8258,13 @@ namespace OpenSim.Region.ScriptEngine.Common
ret.Add("");
break;
case "3":
- ret.Add(new LSL_Types.Vector3((double)av.AbsolutePosition.X, (double)av.AbsolutePosition.Y, (double)av.AbsolutePosition.Z));
+ ret.Add(new LSL_Vector((double)av.AbsolutePosition.X, (double)av.AbsolutePosition.Y, (double)av.AbsolutePosition.Z));
break;
case "4":
- ret.Add(new LSL_Types.Quaternion((double)av.Rotation.X, (double)av.Rotation.Y, (double)av.Rotation.Z, (double)av.Rotation.W));
+ ret.Add(new LSL_Rotation((double)av.Rotation.X, (double)av.Rotation.Y, (double)av.Rotation.Z, (double)av.Rotation.W));
break;
case "5":
- ret.Add(new LSL_Types.Vector3(av.Velocity.X, av.Velocity.Y, av.Velocity.Z));
+ ret.Add(new LSL_Vector(av.Velocity.X, av.Velocity.Y, av.Velocity.Z));
break;
case "6":
ret.Add(id);
@@ -8173,13 +8293,13 @@ namespace OpenSim.Region.ScriptEngine.Common
ret.Add(obj.Description);
break;
case "3":
- ret.Add(new LSL_Types.Vector3(obj.AbsolutePosition.X, obj.AbsolutePosition.Y, obj.AbsolutePosition.Z));
+ ret.Add(new LSL_Vector(obj.AbsolutePosition.X, obj.AbsolutePosition.Y, obj.AbsolutePosition.Z));
break;
case "4":
- ret.Add(new LSL_Types.Quaternion(obj.RotationOffset.X, obj.RotationOffset.Y, obj.RotationOffset.Z, obj.RotationOffset.W));
+ ret.Add(new LSL_Rotation(obj.RotationOffset.X, obj.RotationOffset.Y, obj.RotationOffset.Z, obj.RotationOffset.W));
break;
case "5":
- ret.Add(new LSL_Types.Vector3(obj.Velocity.X, obj.Velocity.Y, obj.Velocity.Z));
+ ret.Add(new LSL_Vector(obj.Velocity.X, obj.Velocity.Y, obj.Velocity.Z));
break;
case "6":
ret.Add(obj.OwnerID.ToString());
@@ -8195,7 +8315,7 @@ namespace OpenSim.Region.ScriptEngine.Common
return ret;
}
}
- return new LSL_Types.list();
+ return new LSL_List();
}
@@ -8232,7 +8352,7 @@ namespace OpenSim.Region.ScriptEngine.Common
throw new Exception("LSL Runtime Error: " + msg);
}
- public string llGetNumberOfNotecardLines(string name)
+ public LSL_String llGetNumberOfNotecardLines(string name)
{
m_host.AddScriptLPS(1);
@@ -8255,7 +8375,7 @@ namespace OpenSim.Region.ScriptEngine.Common
// ScriptSleep(100);
}
- public string llGetNotecardLine(string name, int line)
+ public LSL_String llGetNotecardLine(string name, int line)
{
m_host.AddScriptLPS(1);
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs
index d4cf3f5..fa468bd 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs
@@ -27,6 +27,14 @@
using OpenSim.Region.Environment.Interfaces;
+using LSL_Float = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLFloat;
+using LSL_Integer = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLInteger;
+using LSL_Key = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLString;
+using LSL_List = OpenSim.Region.ScriptEngine.Common.LSL_Types.list;
+using LSL_Rotation = OpenSim.Region.ScriptEngine.Common.LSL_Types.Quaternion;
+using LSL_String = OpenSim.Region.ScriptEngine.Common.LSL_Types.LSLString;
+using LSL_Vector = OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3;
+
namespace OpenSim.Region.ScriptEngine.Common
{
public interface LSL_BuiltIn_Commands_Interface
@@ -37,618 +45,347 @@ namespace OpenSim.Region.ScriptEngine.Common
ICommander GetCommander(string name);
- double llSin(double f);
- double llCos(double f);
- double llTan(double f);
- double llAtan2(double x, double y);
- double llSqrt(double f);
- double llPow(double fbase, double fexponent);
- LSL_Types.LSLInteger llAbs(int i);
- double llFabs(double f);
- double llFrand(double mag);
- LSL_Types.LSLInteger llFloor(double f);
- LSL_Types.LSLInteger llCeil(double f);
- LSL_Types.LSLInteger llRound(double f);
- double llVecMag(LSL_Types.Vector3 v);
- LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v);
- double llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b);
- LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r);
- LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v);
- LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up);
- LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r);
- LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r);
- LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r);
- LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 start, LSL_Types.Vector3 end);
- void llWhisper(int channelID, string text);
- //void llSay(int channelID, string text);
- void llSay(int channelID, string text);
- void llShout(int channelID, string text);
- void llRegionSay(int channelID, string text);
- LSL_Types.LSLInteger llListen(int channelID, string name, string ID, string msg);
- void llListenControl(int number, int active);
- void llListenRemove(int number);
- void llSensor(string name, string id, int type, double range, double arc);
- void llSensorRepeat(string name, string id, int type, double range, double arc, double rate);
- void llSensorRemove();
- string llDetectedName(int number);
- string llDetectedKey(int number);
- string llDetectedOwner(int number);
- LSL_Types.LSLInteger llDetectedType(int number);
- LSL_Types.Vector3 llDetectedPos(int number);
- LSL_Types.Vector3 llDetectedVel(int number);
- LSL_Types.Vector3 llDetectedGrab(int number);
- LSL_Types.Quaternion llDetectedRot(int number);
- LSL_Types.LSLInteger llDetectedGroup(int number);
- LSL_Types.LSLInteger llDetectedLinkNumber(int number);
- void llDie();
- double llGround(LSL_Types.Vector3 offset);
- double llCloud(LSL_Types.Vector3 offset);
- LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset);
- void llSetStatus(int status, int value);
- LSL_Types.LSLInteger llGetStatus(int status);
- void llSetScale(LSL_Types.Vector3 scale);
- LSL_Types.Vector3 llGetScale();
- void llSetColor(LSL_Types.Vector3 color, int face);
- double llGetAlpha(int face);
- void llSetAlpha(double alpha, int face);
- LSL_Types.Vector3 llGetColor(int face);
- void llSetTexture(string texture, int face);
- void llScaleTexture(double u, double v, int face);
- void llOffsetTexture(double u, double v, int face);
- void llRotateTexture(double rotation, int face);
- string llGetTexture(int face);
- void llSetPos(LSL_Types.Vector3 pos);
-
- //wiki: vector llGetPos()
- LSL_Types.Vector3 llGetPos();
- //wiki: vector llGetLocalPos()
- LSL_Types.Vector3 llGetLocalPos();
- //wiki: llSetRot(rotation rot)
- void llSetRot(LSL_Types.Quaternion rot);
- //wiki: rotation llGetRot()
- LSL_Types.Quaternion llGetRot();
- //wiki: rotation llGetLocalRot()
- LSL_Types.Quaternion llGetLocalRot();
- //wiki: llSetForce(vector force, integer local)
- void llSetForce(LSL_Types.Vector3 force, int local);
- //wiki: vector llGetForce()
- LSL_Types.Vector3 llGetForce();
- //wiki: integer llTarget(vector position, double range)
- LSL_Types.LSLInteger llTarget(LSL_Types.Vector3 position, double range);
- //wiki: llTargetRemove(integer number)
- void llTargetRemove(int number);
- //wiki: integer llRotTarget(rotation rot, double error)
- LSL_Types.LSLInteger llRotTarget(LSL_Types.Quaternion rot, double error);
- //wiki: integer llRotTargetRemove(integer number)
- void llRotTargetRemove(int number);
- //wiki: llMoveToTarget(vector target, double tau)
- void llMoveToTarget(LSL_Types.Vector3 target, double tau);
- //wiki: llStopMoveToTarget()
- void llStopMoveToTarget();
- //wiki: llApplyImpulse(vector force, integer local)
- void llApplyImpulse(LSL_Types.Vector3 force, int local);
- //wiki: llapplyRotationalImpulse(vector force, integer local)
- void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local);
- //wiki: llSetTorque(vector torque, integer local)
- void llSetTorque(LSL_Types.Vector3 torque, int local);
- //wiki: vector llGetTorque()
- LSL_Types.Vector3 llGetTorque();
- //wiki: llSeForceAndTorque(vector force, vector torque, integer local)
- void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local);
- //wiki: vector llGetVel()
- LSL_Types.Vector3 llGetVel();
- //wiki: vector llGetAccel()
- LSL_Types.Vector3 llGetAccel();
- //wiki: vector llGetOmega()
- LSL_Types.Vector3 llGetOmega();
- //wiki: double llGetTimeOfDay()
- double llGetTimeOfDay();
- //wiki: double llGetWallclock()
- double llGetWallclock();
- //wiki: double llGetTime()
- double llGetTime();
- //wiki: llResetTime()
- void llResetTime();
- //wiki: double llGetAndResetTime()
- double llGetAndResetTime();
- //wiki (deprecated) llSound(string sound, double volume, integer queue, integer loop)
- void llSound();
- //wiki: llPlaySound(string sound, double volume)
- void llPlaySound(string sound, double volume);
- //wiki: llLoopSound(string sound, double volume)
- void llLoopSound(string sound, double volume);
- //wiki: llLoopSoundMaster(string sound, double volume)
- void llLoopSoundMaster(string sound, double volume);
- //wiki: llLoopSoundSlave(string sound, double volume)
- void llLoopSoundSlave(string sound, double volume);
- //wiki llPlaySoundSlave(string sound, double volume)
- void llPlaySoundSlave(string sound, double volume);
- //wiki: llTriggerSound(string sound, double volume)
- void llTriggerSound(string sound, double volume);
- //wiki: llStopSound()
- void llStopSound();
- //wiki: llPreloadSound(string sound)
- void llPreloadSound(string sound);
- //wiki: string llGetSubString(string src, integer start, integer end)
- string llGetSubString(string src, int start, int end);
- //wiki: string llDeleteSubString(string src, integer start, integer end)
- string llDeleteSubString(string src, int start, int end);
- //wiki string llInsertString(string dst, integer position, string src)
- string llInsertString(string dst, int position, string src);
- //wiki: string llToUpper(string source)
- string llToUpper(string source);
- //wiki: string llToLower(string source)
- string llToLower(string source);
- //wiki: integer llGiveMoney(key destination, integer amount)
- LSL_Types.LSLInteger llGiveMoney(string destination, int amount);
- //wiki: (deprecated)
- void llMakeExplosion();
- //wiki: (deprecated)
- void llMakeFountain();
- //wiki: (deprecated)
- void llMakeSmoke();
- //wiki: (deprecated)
- void llMakeFire();
- //wiki: llRezObject(string inventory, vector pos, vector rel, rotation rot, integer param)
- void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param);
- //wiki: llLookAt(vector target, double strength, double damping)
- void llLookAt(LSL_Types.Vector3 target, double strength, double damping);
- //wiki: llStopLookAt()
- void llStopLookAt();
- //wiki: llSetTimerEvent(double sec)
- void llSetTimerEvent(double sec);
- //wiki: llSleep(double sec)
- void llSleep(double sec);
- //wiki: double llGetMass()
- double llGetMass();
- //wiki: llCollisionFilter(string name, key id, integer accept)
- void llCollisionFilter(string name, string id, int accept);
- //wiki: llTakeControls(integer controls, integer accept, integer pass_on)
- void llTakeControls(int controls, int accept, int pass_on);
- //wiki: llReleaseControls()
- void llReleaseControls();
- //wiki: llAttachToAvatar(integer attachment)
- void llAttachToAvatar(int attachment);
- //wiki: llDetachFromAvatar()
- void llDetachFromAvatar();
- //wiki: (deprecated) llTakeCamera(key avatar)
- void llTakeCamera(string avatar);
- //wiki: (deprecated) llReleaseCamera(key avatar)
- void llReleaseCamera(string avatar);
- //wiki: key llGetOwner()
- string llGetOwner();
- //wiki: llInstantMessage(key user, string message)
- void llInstantMessage(string user, string message);
- //wiki: llEmail(string address, string subject, string message)
- void llEmail(string address, string subject, string message);
- //wiki: llGetNextEmail(string address, string subject)
- void llGetNextEmail(string address, string subject);
- //wiki: key llGetKey()
- string llGetKey();
- //wiki: llSetBuoyancy(double buoyancy)
- void llSetBuoyancy(double buoyancy);
- //wiki: llSetHoverHeight(double height, integer water, double tau)
- void llSetHoverHeight(double height, int water, double tau);
- //wiki: llStopHover
- void llStopHover();
- //wiki: llMinEventDelay(double delay)
- void llMinEventDelay(double delay);
- //wiki: (deprecated) llSoundPreload()
- void llSoundPreload();
- //wiki: llRotLookAt(rotation target, double strength, double damping)
- void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping);
- //wiki: integer llStringLength(string str)
- LSL_Types.LSLInteger llStringLength(string str);
- //wiki: llStartAnimation(string anim)
- void llStartAnimation(string anim);
- //wiki: llStopAnimation(string anim)
- void llStopAnimation(string anim);
- //wiki: (deprecated) llPointAt
- void llPointAt();
- //wiki: (deprecated) llStopPointAt
- void llStopPointAt();
- //wiki: llTargetOmega(vector axis, double spinrate, double gain)
- void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain);
- //wiki: integer llGetStartParameter()
- LSL_Types.LSLInteger llGetStartParameter();
- //wiki: llGodLikeRezObject(key inventory, vector pos)
- void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos);
- //wiki: llRequestPermissions(key agent, integer perm)
- void llRequestPermissions(string agent, int perm);
- //wiki: key llGetPermissionsKey()
- string llGetPermissionsKey();
- //wiki: integer llGetPermissions()
- LSL_Types.LSLInteger llGetPermissions();
- //wiki integer llGetLinkNumber()
- LSL_Types.LSLInteger llGetLinkNumber();
- //wiki: llSetLinkColor(integer linknumber, vector color, integer face)
- void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face);
- //wiki: llCreateLink(key target, integer parent)
- void llCreateLink(string target, int parent);
- //wiki: llBreakLink(integer linknum)
- void llBreakLink(int linknum);
- //wiki: llBreakAllLinks()
- void llBreakAllLinks();
- //wiki: key llGetLinkKey(integer linknum)
- string llGetLinkKey(int linknum);
- //wiki: llGetLinkName(integer linknum)
- string llGetLinkName(int linknum);
- //wiki: integer llGetInventoryNumber(integer type)
- LSL_Types.LSLInteger llGetInventoryNumber(int type);
- //wiki: string llGetInventoryName(integer type, integer number)
- string llGetInventoryName(int type, int number);
- //wiki: llSetScriptState(string name, integer run)
- void llSetScriptState(string name, int run);
- //wiki: double llGetEnergy()
- double llGetEnergy();
- //wiki: llGiveInventory(key destination, string inventory)
- void llGiveInventory(string destination, string inventory);
- //wiki: llRemoveInventory(string item)
- void llRemoveInventory(string item);
- //wiki: llSetText(string text, vector color, double alpha)
- void llSetText(string text, LSL_Types.Vector3 color, double alpha);
- //wiki: double llWater(vector offset)
- double llWater(LSL_Types.Vector3 offset);
- //wiki: llPassTouches(integer pass)
- void llPassTouches(int pass);
- //wiki: key llRequestAgentData(key id, integer data)
- string llRequestAgentData(string id, int data);
- //wiki: key llRequestInventoryData(string name)
- string llRequestInventoryData(string name);
- //wiki: llSetDamage(double damage)
- void llSetDamage(double damage);
- //wiki: llTeleportAgentHome(key agent)
- void llTeleportAgentHome(string agent);
- //wiki: llModifyLand(integer action, integer brush)
- void llModifyLand(int action, int brush);
- //wiki: llCollisionSound(string impact_sound, double impact_volume)
- void llCollisionSound(string impact_sound, double impact_volume);
- //wiki: llCollisionSprite(string impact_sprite)
- void llCollisionSprite(string impact_sprite);
- //wiki: string llGetAnimation(key id)
- string llGetAnimation(string id);
- //wiki: llResetScript()
- void llResetScript();
- //wiki: llMessageLinked(integer linknum, integer num, string str, key id)
- void llMessageLinked(int linknum, int num, string str, string id);
- //wiki: llPushObject(key target, vector impulse, vector ang_impulse, integer local)
- void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local);
- //wiki: llPassCollisions(integer pass)
- void llPassCollisions(int pass);
- //wiki: string llGetScriptName()
- string llGetScriptName();
- //wiki: integer llGetNumberOfSides()
- LSL_Types.LSLInteger llGetNumberOfSides();
- //wiki: rotation llAxisAngle2Rot(vector axis, double angle)
- LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle);
- //wiki: vector llRot2Axis(rotation rot)
- LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot);
- //wiki: double llRot2Angle(rotation rot);
- double llRot2Angle(LSL_Types.Quaternion rot);
- //wiki: double llAcos(double val)
- double llAcos(double val);
- //wiki: double llAsin(double val)
- double llAsin(double val);
- //wiki: double llAngleBetween(rotation a, rotation b)
- double llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b);
- //wiki: string llGetInventoryKey(string name)
- string llGetInventoryKey(string name);
- //wiki: llAllowInventoryDrop(integer add)
- void llAllowInventoryDrop(int add);
- //wiki: vector llGetSunDirection()
- LSL_Types.Vector3 llGetSunDirection();
- //wiki: vector llGetTextureOffset(integer face)
- LSL_Types.Vector3 llGetTextureOffset(int face);
- //wiki: vector llGetTextureScale(integer side)
- LSL_Types.Vector3 llGetTextureScale(int side);
- //wiki: double llGetTextureRot(integer side)
- double llGetTextureRot(int side);
- //wiki: integer llSubStringIndex(string source, string pattern)
- LSL_Types.LSLInteger llSubStringIndex(string source, string pattern);
- //wiki: key llGetOwnerKey(key id)
- string llGetOwnerKey(string id);
- //wiki: vector llGetCenterOfMass()
- LSL_Types.Vector3 llGetCenterOfMass();
- //wiki: list llListSort(list src, integer stride, integer ascending)
- LSL_Types.list llListSort(LSL_Types.list src, int stride, int ascending);
- //integer llGetListLength(list src)
- LSL_Types.LSLInteger llGetListLength(LSL_Types.list src);
- //wiki: integer llList2Integer(list src, integer index)
- LSL_Types.LSLInteger llList2Integer(LSL_Types.list src, int index);
- //wiki: double llList2double(list src, integer index)
- double llList2Float(LSL_Types.list src, int index);
- double osList2Double(LSL_Types.list src, int index);
- //wiki: string llList2String(list src, integer index)
- string llList2String(LSL_Types.list src, int index);
- //wiki: key llList2Key(list src, integer index)
- string llList2Key(LSL_Types.list src, int index);
- //wiki: vector llList2Vector(list src, integer index)
- LSL_Types.Vector3 llList2Vector(LSL_Types.list src, int index);
- //wiki rotation llList2Rot(list src, integer index)
- LSL_Types.Quaternion llList2Rot(LSL_Types.list src, int index);
- //wiki: list llList2List(list src, integer start, integer end)
- LSL_Types.list llList2List(LSL_Types.list src, int start, int end);
- //wiki: llDeleteSubList(list src, integer start, integer end)
- LSL_Types.list llDeleteSubList(LSL_Types.list src, int start, int end);
- //wiki: integer llGetListEntryType(list src, integer index)
- LSL_Types.LSLInteger llGetListEntryType(LSL_Types.list src, int index);
- //wiki: string llList2CSV(list src)
- string llList2CSV(LSL_Types.list src);
- //wiki: list llCSV2List(string src)
- LSL_Types.list llCSV2List(string src);
- //wiki: list llListRandomize(list src, integer stride)
- LSL_Types.list llListRandomize(LSL_Types.list src, int stride);
- //wiki: list llList2ListStrided(list src, integer start, integer end, integer stride)
- LSL_Types.list llList2ListStrided(LSL_Types.list src, int start, int end, int stride);
- //wiki: vector llGetRegionCorner()
- LSL_Types.Vector3 llGetRegionCorner();
- //wiki: list llListInsertList(list dest, list src, integer start)
- LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int start);
- //wiki: integer llListFindList(list src, list test)
- LSL_Types.LSLInteger llListFindList(LSL_Types.list src, LSL_Types.list test);
- //wiki: string llGetObjectName()
- string llGetObjectName();
- //wiki: llSetObjectName(string name)
- void llSetObjectName(string name);
- //wiki: string llGetDate()
- string llGetDate();
- //wiki: integer llEdgeOfWorld(vector pos, vector dir)
- LSL_Types.LSLInteger llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir);
- //wiki: integer llGetAgentInfo(key id)
- LSL_Types.LSLInteger llGetAgentInfo(string id);
- //wiki: llAdjustSoundVolume(double volume)
- void llAdjustSoundVolume(double volume);
- //wiki: llSetSoundQueueing(integer queue)
- void llSetSoundQueueing(int queue);
- //wiki: llSetSoundRadius(double radius)
- void llSetSoundRadius(double radius);
- //wiki: string llKey2Name(key id)
- string llKey2Name(string id);
- //wiki: llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, double start, double length, double rate)
- void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate);
- //wiki: llTriggerSoundLimited(string sound, double volume, vector top_north_east, vector bottom_south_west)
- void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east,
- LSL_Types.Vector3 bottom_south_west);
-
- //wiki: llEjectFromLand(key pest)
- void llEjectFromLand(string pest);
- LSL_Types.list llParseString2List(string str, LSL_Types.list separators, LSL_Types.list spacers);
- //wiki: integer llOverMyLand(key id)
- LSL_Types.LSLInteger llOverMyLand(string id);
- //wiki: key llGetLandOwnerAt(vector pos)
- string llGetLandOwnerAt(LSL_Types.Vector3 pos);
- //wiki: key llGetNotecardLine(string name, integer line)
- string llGetNotecardLine(string name, int line);
- //wiki: vector llGetAgentSize(key id)
- LSL_Types.Vector3 llGetAgentSize(string id);
- //wiki: integer llSameGroup(key agent)
- LSL_Types.LSLInteger llSameGroup(string agent);
- //wiki: llUnSit(key id)
- void llUnSit(string id);
- //wiki: vector llGroundSlope(vector offset)
- LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset);
- //wiki: vector llGroundNormal(vector offset)
- LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset);
- //wiki: vector llGroundContour(vector offset)
- LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset);
- //wiki: integer llGetAttached()
- LSL_Types.LSLInteger llGetAttached();
- //wiki: integer llGetFreeMemory()
- LSL_Types.LSLInteger llGetFreeMemory();
- //wiki: string llGetRegionName()
- string llGetRegionName();
- //wiki: double llGetRegionTimeDilation()
- double llGetRegionTimeDilation();
- //wiki: double llGetRegionFPS()
- double llGetRegionFPS();
- //wiki: llParticleSystem(List