aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs97
1 files changed, 83 insertions, 14 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
index bfee3e5..757813b 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
@@ -37,7 +37,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
37 37
38 38
39 private string m_state = "default"; 39 private string m_state = "default";
40 public string State() { 40
41 public string State()
42 {
41 return m_state; 43 return m_state;
42 } 44 }
43 45
@@ -81,12 +83,17 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
81 return OpenSim.Framework.Utilities.Util.RandomClass.Next((int)mag); 83 return OpenSim.Framework.Utilities.Util.RandomClass.Next((int)mag);
82 } 84 }
83 } 85 }
86
84 public int llFloor(double f) { return (int)Math.Floor(f); } 87 public int llFloor(double f) { return (int)Math.Floor(f); }
85 public int llCeil(double f) { return (int)Math.Ceiling(f); } 88 public int llCeil(double f) { return (int)Math.Ceiling(f); }
86 public int llRound(double f) { return (int)Math.Round(f, 3); } 89 public int llRound(double f) { return (int)Math.Round(f, 3); }
87 90
88 //This next group are vector operations involving squaring and square root. ckrinke 91 //This next group are vector operations involving squaring and square root. ckrinke
89 public double llVecMag(LSL_Types.Vector3 v) { return (v.X*v.X + v.Y*v.Y + v.Z*v.Z); } 92 public double llVecMag(LSL_Types.Vector3 v)
93 {
94 return (v.X*v.X + v.Y*v.Y + v.Z*v.Z);
95 }
96
90 public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v) 97 public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v)
91 { 98 {
92 double mag = v.X * v.X + v.Y * v.Y + v.Z * v.Z; 99 double mag = v.X * v.X + v.Y * v.Y + v.Z * v.Z;
@@ -120,8 +127,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
120 } 127 }
121 128
122 public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v) 129 public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v)
123 { //this comes from from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions but is incomplete as of 8/19/07 130 {
124 float err = 0.00001f; 131 //this comes from from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions but is incomplete as of 8/19/07
132 float err = 0.00001f;
125 double ax = Math.Sin(v.X / 2); double aw = Math.Cos(v.X / 2); 133 double ax = Math.Sin(v.X / 2); double aw = Math.Cos(v.X / 2);
126 double by = Math.Sin(v.Y / 2); double bw = Math.Cos(v.Y / 2); 134 double by = Math.Sin(v.Y / 2); double bw = Math.Cos(v.Y / 2);
127 double cz = Math.Sin(v.Z / 2); double cw = Math.Cos(v.Z / 2); 135 double cz = Math.Sin(v.Z / 2); double cw = Math.Cos(v.Z / 2);
@@ -160,6 +168,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
160 World.SimChat(Helpers.StringToField(text), 168 World.SimChat(Helpers.StringToField(text),
161 0, m_host.AbsolutePosition, m_host.Name, m_host.UUID); 169 0, m_host.AbsolutePosition, m_host.Name, m_host.UUID);
162 } 170 }
171
163 public void llSay(int channelID, string text) 172 public void llSay(int channelID, string text)
164 { 173 {
165 //type for say is 1 174 //type for say is 1
@@ -237,7 +246,12 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
237 public LSL_Types.Vector3 llGetAccel() { return new LSL_Types.Vector3(); } 246 public LSL_Types.Vector3 llGetAccel() { return new LSL_Types.Vector3(); }
238 public LSL_Types.Vector3 llGetOmega() { return new LSL_Types.Vector3(); } 247 public LSL_Types.Vector3 llGetOmega() { return new LSL_Types.Vector3(); }
239 public double llGetTimeOfDay() { return 0; } 248 public double llGetTimeOfDay() { return 0; }
240 public double llGetWallclock() { return DateTime.Now.TimeOfDay.TotalSeconds; } 249
250 public double llGetWallclock()
251 {
252 return DateTime.Now.TimeOfDay.TotalSeconds;
253 }
254
241 public double llGetTime() { return 0; } 255 public double llGetTime() { return 0; }
242 public void llResetTime() { } 256 public void llResetTime() { }
243 public double llGetAndResetTime() { return 0; } 257 public double llGetAndResetTime() { return 0; }
@@ -263,11 +277,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
263 public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Quaternion rot, int param) { } 277 public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Quaternion rot, int param) { }
264 public void llLookAt(LSL_Types.Vector3 target, double strength, double damping) { } 278 public void llLookAt(LSL_Types.Vector3 target, double strength, double damping) { }
265 public void llStopLookAt() { } 279 public void llStopLookAt() { }
280
266 public void llSetTimerEvent(double sec) 281 public void llSetTimerEvent(double sec)
267 { 282 {
268 // Setting timer repeat 283 // Setting timer repeat
269 m_ScriptEngine.myLSLLongCmdHandler.SetTimerEvent(m_localID, m_itemID, sec); 284 m_ScriptEngine.myLSLLongCmdHandler.SetTimerEvent(m_localID, m_itemID, sec);
270 } 285 }
286
271 public void llSleep(double sec) { System.Threading.Thread.Sleep((int)(sec * 1000)); } 287 public void llSleep(double sec) { System.Threading.Thread.Sleep((int)(sec * 1000)); }
272 public double llGetMass() { return 0; } 288 public double llGetMass() { return 0; }
273 public void llCollisionFilter(string name, string id, int accept) { } 289 public void llCollisionFilter(string name, string id, int accept) { }
@@ -281,10 +297,12 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
281 public void llInstantMessage(string user, string message) { } 297 public void llInstantMessage(string user, string message) { }
282 public void llEmail(string address, string subject, string message) { } 298 public void llEmail(string address, string subject, string message) { }
283 public void llGetNextEmail(string address, string subject) { } 299 public void llGetNextEmail(string address, string subject) { }
300
284 public string llGetKey() 301 public string llGetKey()
285 { 302 {
286 return m_host.UUID.ToStringHyphenated(); 303 return m_host.UUID.ToStringHyphenated();
287 } 304 }
305
288 public void llSetBuoyancy(double buoyancy) { } 306 public void llSetBuoyancy(double buoyancy) { }
289 public void llSetHoverHeight(double height, int water, double tau) { } 307 public void llSetHoverHeight(double height, int water, double tau) { }
290 public void llStopHover() { } 308 public void llStopHover() { }
@@ -362,19 +380,59 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
362 public LSL_Types.Vector3 llGetTextureOffset(int face) { return new LSL_Types.Vector3(); } 380 public LSL_Types.Vector3 llGetTextureOffset(int face) { return new LSL_Types.Vector3(); }
363 public LSL_Types.Vector3 llGetTextureScale(int side) { return new LSL_Types.Vector3(); } 381 public LSL_Types.Vector3 llGetTextureScale(int side) { return new LSL_Types.Vector3(); }
364 public double llGetTextureRot(int side) { return 0; } 382 public double llGetTextureRot(int side) { return 0; }
383
365 public int llSubStringIndex(string source, string pattern) 384 public int llSubStringIndex(string source, string pattern)
366 { 385 {
367 return source.IndexOf(pattern); 386 return source.IndexOf(pattern);
368 } 387 }
388
369 public string llGetOwnerKey(string id) { return ""; } 389 public string llGetOwnerKey(string id) { return ""; }
370 public LSL_Types.Vector3 llGetCenterOfMass() { return new LSL_Types.Vector3(); } 390 public LSL_Types.Vector3 llGetCenterOfMass() { return new LSL_Types.Vector3(); }
391
371 public List<string> llListSort(List<string> src, int stride, int ascending) 392 public List<string> llListSort(List<string> src, int stride, int ascending)
372 { return new List<string>(); } 393 {
373 public int llGetListLength(List<string> src) { return 0; } 394 //List<string> nlist = src.Sort();
374 public int llList2Integer(List<string> src, int index) { return 0; } 395
375 public double llList2double(List<string> src, int index) { return 0; } 396 //if (ascending == 0)
376 public string llList2String(List<string> src, int index) { return ""; } 397 //{
377 public string llList2Key(List<string> src, int index) { return ""; } 398 //nlist.Reverse();
399 //}
400
401 //return nlist;
402 return new List<string>(); ;
403 }
404
405 public int llGetListLength(List<string> src)
406 {
407 return src.Count;
408 }
409
410 public int llList2Integer(List<string> src, int index)
411 {
412 return Convert.ToInt32(src[index]);
413 }
414
415 public double llList2Double(List<string> src, int index)
416 {
417 return Convert.ToDouble(src[index]);
418 }
419
420 public float llList2Float(List<string> src, int index)
421 {
422 return Convert.ToSingle(src[index]);
423 }
424
425 public string llList2String(List<string> src, int index)
426 {
427 return src[index];
428 }
429
430 public string llList2Key(List<string> src, int index)
431 {
432 //return OpenSim.Framework.Types.ToStringHyphenated(src[index]);
433 return "";
434 }
435
378 public LSL_Types.Vector3 llList2Vector(List<string> src, int index) 436 public LSL_Types.Vector3 llList2Vector(List<string> src, int index)
379 { return new LSL_Types.Vector3(); } 437 { return new LSL_Types.Vector3(); }
380 public LSL_Types.Quaternion llList2Rot(List<string> src, int index) 438 public LSL_Types.Quaternion llList2Rot(List<string> src, int index)
@@ -391,19 +449,25 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
391 { return new List<string>(); } 449 { return new List<string>(); }
392 public List<string> llList2ListStrided(List<string> src, int start, int end, int stride) 450 public List<string> llList2ListStrided(List<string> src, int start, int end, int stride)
393 { return new List<string>(); } 451 { return new List<string>(); }
452
394 public LSL_Types.Vector3 llGetRegionCorner() 453 public LSL_Types.Vector3 llGetRegionCorner()
395 { return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * 256, World.RegionInfo.RegionLocY * 256, 0); } 454 {
455 return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * 256, World.RegionInfo.RegionLocY * 256, 0);
456 }
457
396 public List<string> llListInsertList(List<string> dest, List<string> src, int start) 458 public List<string> llListInsertList(List<string> dest, List<string> src, int start)
397 { return new List<string>(); } 459 { return new List<string>(); }
398 public int llListFindList(List<string> src, List<string> test) { return 0; } 460 public int llListFindList(List<string> src, List<string> test) { return 0; }
399 public string llGetObjectName() { return ""; } 461 public string llGetObjectName() { return ""; }
400 public void llSetObjectName(string name) { } 462 public void llSetObjectName(string name) { }
463
401 public string llGetDate() 464 public string llGetDate()
402 { 465 {
403 DateTime date = DateTime.Now.ToUniversalTime(); 466 DateTime date = DateTime.Now.ToUniversalTime();
404 string result = date.ToString("yyyy-MM-dd"); 467 string result = date.ToString("yyyy-MM-dd");
405 return result; 468 return result;
406 } 469 }
470
407 public int llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir) { return 0; } 471 public int llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir) { return 0; }
408 public int llGetAgentInfo(string id) { return 0; } 472 public int llGetAgentInfo(string id) { return 0; }
409 public void llAdjustSoundVolume(double volume) { } 473 public void llAdjustSoundVolume(double volume) { }
@@ -454,7 +518,12 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
454 public void llDialog(string avatar, string message, List<string> buttons, int chat_channel) { } 518 public void llDialog(string avatar, string message, List<string> buttons, int chat_channel) { }
455 public void llVolumeDetect(int detect) { } 519 public void llVolumeDetect(int detect) { }
456 public void llResetOtherScript(string name) { } 520 public void llResetOtherScript(string name) { }
457 public int llGetScriptState(string name) { return 0; } 521
522 public int llGetScriptState(string name)
523 {
524 return 0;
525 }
526
458 public void llRemoteLoadScript() { } 527 public void llRemoteLoadScript() { }
459 public void llSetRemoteScriptAccessPin(int pin) { } 528 public void llSetRemoteScriptAccessPin(int pin) { }
460 public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) { } 529 public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) { }