aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTedd Hansen2007-08-18 18:53:03 +0000
committerTedd Hansen2007-08-18 18:53:03 +0000
commit6d10c6535847a65f3bc56398a609916174684729 (patch)
treec2828badeeed054a465f6c634ac7cc343c4ca4f7
parentStarted on AppDomains for ScriptEngine. Moved llFunctions in LSL_BaseClass.cs... (diff)
downloadopensim-SC_OLD-6d10c6535847a65f3bc56398a609916174684729.zip
opensim-SC_OLD-6d10c6535847a65f3bc56398a609916174684729.tar.gz
opensim-SC_OLD-6d10c6535847a65f3bc56398a609916174684729.tar.bz2
opensim-SC_OLD-6d10c6535847a65f3bc56398a609916174684729.tar.xz
Moved LSL_BuiltIn_Commands_Interface.cs to a separate library (OpenSim.Region.ScriptEngine.Common). Fixed last compile error (forgot to include LSL_BuiltIn_Commands.cs).
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs (renamed from OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_Interface.cs)2
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs7
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs59
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_BaseClass.cs1
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_OPCODE_IL_processor.cs1
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs472
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs6
-rw-r--r--prebuild.xml26
8 files changed, 560 insertions, 14 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_Interface.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs
index b7fd2d2..58ade0b 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_Interface.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs
@@ -30,7 +30,7 @@ using System;
30using System.Collections.Generic; 30using System.Collections.Generic;
31using System.Text; 31using System.Text;
32 32
33namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler 33namespace OpenSim.Region.ScriptEngine.Common
34{ 34{
35 public interface LSL_BuiltIn_Commands_Interface 35 public interface LSL_BuiltIn_Commands_Interface
36 { 36 {
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs
index 1e20547..2e1e3d1 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs
@@ -85,7 +85,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
85 //Console.WriteLine("Loading: " + a.GetName(true)); 85 //Console.WriteLine("Loading: " + a.GetName(true));
86 try 86 try
87 { 87 {
88 AD.Load(a.GetName(true)); 88 //AD.Load(a.GetName(true));
89 89
90 } 90 }
91 catch (Exception e) 91 catch (Exception e)
@@ -106,10 +106,5 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
106 106
107 } 107 }
108 108
109 public class NOOP : MarshalByRefType
110 {
111 public NOOP() {
112 }
113 }
114 } 109 }
115} 110}
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs
index cc62ab5..bdae95d 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs
@@ -2,7 +2,7 @@ using System;
2using System.Collections.Generic; 2using System.Collections.Generic;
3using System.Text; 3using System.Text;
4using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler; 4using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler;
5using OpenSim.Framework.Console; 5using OpenSim.Region.ScriptEngine.Common;
6using System.Threading; 6using System.Threading;
7 7
8namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL 8namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
@@ -25,7 +25,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
25 { 25 {
26 m_LSL_Functions = LSL_Functions; 26 m_LSL_Functions = LSL_Functions;
27 27
28 MainLog.Instance.Notice("ScriptEngine", "LSL_BaseClass.Start() called."); 28 //MainLog.Instance.Notice("ScriptEngine", "LSL_BaseClass.Start() called.");
29 29
30 // Get this AppDomain's settings and display some of them. 30 // Get this AppDomain's settings and display some of them.
31 AppDomainSetup ads = AppDomain.CurrentDomain.SetupInformation; 31 AppDomainSetup ads = AppDomain.CurrentDomain.SetupInformation;
@@ -46,6 +46,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
46 return; 46 return;
47 } 47 }
48 48
49
50
51 //
52 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
53 //
54 // They are only forwarders to LSL_BuiltIn_Commands.cs
55 //
49 public double llSin(double f) { return m_LSL_Functions.llSin(f); } 56 public double llSin(double f) { return m_LSL_Functions.llSin(f); }
50 public double llCos(double f) { return m_LSL_Functions.llCos(f); } 57 public double llCos(double f) { return m_LSL_Functions.llCos(f); }
51 public double llTan(double f) { return m_LSL_Functions.llTan(f); } 58 public double llTan(double f) { return m_LSL_Functions.llTan(f); }
@@ -70,6 +77,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
70 public Axiom.Math.Quaternion llRotBetween(Axiom.Math.Vector3 start, Axiom.Math.Vector3 end) { return m_LSL_Functions.llRotBetween(start, end); } 77 public Axiom.Math.Quaternion llRotBetween(Axiom.Math.Vector3 start, Axiom.Math.Vector3 end) { return m_LSL_Functions.llRotBetween(start, end); }
71 public void llWhisper(int channelID, string text) { m_LSL_Functions.llWhisper(channelID, text); } 78 public void llWhisper(int channelID, string text) { m_LSL_Functions.llWhisper(channelID, text); }
72 public void llSay(int channelID, string text) { m_LSL_Functions.llSay(channelID, text); } 79 public void llSay(int channelID, string text) { m_LSL_Functions.llSay(channelID, text); }
80 //
81 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
82 //
73 public void llShout(int channelID, string text) { m_LSL_Functions.llShout(channelID, text); } 83 public void llShout(int channelID, string text) { m_LSL_Functions.llShout(channelID, text); }
74 public int llListen(int channelID, string name, string ID, string msg) { return m_LSL_Functions.llListen(channelID, name, ID, msg); } 84 public int llListen(int channelID, string name, string ID, string msg) { return m_LSL_Functions.llListen(channelID, name, ID, msg); }
75 public void llListenControl(int number, int active) { m_LSL_Functions.llListenControl(number, active); } 85 public void llListenControl(int number, int active) { m_LSL_Functions.llListenControl(number, active); }
@@ -87,6 +97,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
87 public Axiom.Math.Quaternion llDetectedRot(int number) { return m_LSL_Functions.llDetectedRot(number); } 97 public Axiom.Math.Quaternion llDetectedRot(int number) { return m_LSL_Functions.llDetectedRot(number); }
88 public int llDetectedGroup(int number) { return m_LSL_Functions.llDetectedGroup(number); } 98 public int llDetectedGroup(int number) { return m_LSL_Functions.llDetectedGroup(number); }
89 public int llDetectedLinkNumber(int number) { return m_LSL_Functions.llDetectedLinkNumber(number); } 99 public int llDetectedLinkNumber(int number) { return m_LSL_Functions.llDetectedLinkNumber(number); }
100 //
101 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
102 //
90 public void llDie() { m_LSL_Functions.llDie(); } 103 public void llDie() { m_LSL_Functions.llDie(); }
91 public double llGround(Axiom.Math.Vector3 offset) { return m_LSL_Functions.llGround(offset); } 104 public double llGround(Axiom.Math.Vector3 offset) { return m_LSL_Functions.llGround(offset); }
92 public double llCloud(Axiom.Math.Vector3 offset) { return m_LSL_Functions.llCloud(offset); } 105 public double llCloud(Axiom.Math.Vector3 offset) { return m_LSL_Functions.llCloud(offset); }
@@ -104,6 +117,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
104 public void llOffsetTexture(double u, double v, int face) { m_LSL_Functions.llOffsetTexture(u, v, face); } 117 public void llOffsetTexture(double u, double v, int face) { m_LSL_Functions.llOffsetTexture(u, v, face); }
105 public void llRotateTexture(double rotation, int face) { m_LSL_Functions.llRotateTexture(rotation, face); } 118 public void llRotateTexture(double rotation, int face) { m_LSL_Functions.llRotateTexture(rotation, face); }
106 public string llGetTexture(int face) { return m_LSL_Functions.llGetTexture(face); } 119 public string llGetTexture(int face) { return m_LSL_Functions.llGetTexture(face); }
120 //
121 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
122 //
107 public void llSetPos(Axiom.Math.Vector3 pos) { m_LSL_Functions.llSetPos(pos); } 123 public void llSetPos(Axiom.Math.Vector3 pos) { m_LSL_Functions.llSetPos(pos); }
108 public Axiom.Math.Vector3 llGetPos() { return m_LSL_Functions.llGetPos(); } 124 public Axiom.Math.Vector3 llGetPos() { return m_LSL_Functions.llGetPos(); }
109 public Axiom.Math.Vector3 llGetLocalPos() { return m_LSL_Functions.llGetLocalPos(); } 125 public Axiom.Math.Vector3 llGetLocalPos() { return m_LSL_Functions.llGetLocalPos(); }
@@ -119,6 +135,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
119 public void llMoveToTarget(Axiom.Math.Vector3 target, double tau) { m_LSL_Functions.llMoveToTarget(target, tau); } 135 public void llMoveToTarget(Axiom.Math.Vector3 target, double tau) { m_LSL_Functions.llMoveToTarget(target, tau); }
120 public void llStopMoveToTarget() { m_LSL_Functions.llStopMoveToTarget(); } 136 public void llStopMoveToTarget() { m_LSL_Functions.llStopMoveToTarget(); }
121 public void llApplyImpulse(Axiom.Math.Vector3 force, int local) { m_LSL_Functions.llApplyImpulse(force, local); } 137 public void llApplyImpulse(Axiom.Math.Vector3 force, int local) { m_LSL_Functions.llApplyImpulse(force, local); }
138 //
139 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
140 //
122 public void llApplyRotationalImpulse(Axiom.Math.Vector3 force, int local) { m_LSL_Functions.llApplyRotationalImpulse(force, local); } 141 public void llApplyRotationalImpulse(Axiom.Math.Vector3 force, int local) { m_LSL_Functions.llApplyRotationalImpulse(force, local); }
123 public void llSetTorque(Axiom.Math.Vector3 torque, int local) { m_LSL_Functions.llSetTorque(torque, local); } 142 public void llSetTorque(Axiom.Math.Vector3 torque, int local) { m_LSL_Functions.llSetTorque(torque, local); }
124 public Axiom.Math.Vector3 llGetTorque() { return m_LSL_Functions.llGetTorque(); } 143 public Axiom.Math.Vector3 llGetTorque() { return m_LSL_Functions.llGetTorque(); }
@@ -137,6 +156,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
137 public void llLoopSoundMaster(string sound, double volume) { m_LSL_Functions.llLoopSoundMaster(sound, volume); } 156 public void llLoopSoundMaster(string sound, double volume) { m_LSL_Functions.llLoopSoundMaster(sound, volume); }
138 public void llLoopSoundSlave(string sound, double volume) { m_LSL_Functions.llLoopSoundSlave(sound, volume); } 157 public void llLoopSoundSlave(string sound, double volume) { m_LSL_Functions.llLoopSoundSlave(sound, volume); }
139 public void llPlaySoundSlave(string sound, double volume) { m_LSL_Functions.llPlaySoundSlave(sound, volume); } 158 public void llPlaySoundSlave(string sound, double volume) { m_LSL_Functions.llPlaySoundSlave(sound, volume); }
159 //
160 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
161 //
140 public void llTriggerSound(string sound, double volume) { m_LSL_Functions.llTriggerSound(sound, volume); } 162 public void llTriggerSound(string sound, double volume) { m_LSL_Functions.llTriggerSound(sound, volume); }
141 public void llStopSound() { m_LSL_Functions.llStopSound(); } 163 public void llStopSound() { m_LSL_Functions.llStopSound(); }
142 public void llPreloadSound(string sound) { m_LSL_Functions.llPreloadSound(sound); } 164 public void llPreloadSound(string sound) { m_LSL_Functions.llPreloadSound(sound); }
@@ -155,6 +177,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
155 public void llStopLookAt() { m_LSL_Functions.llStopLookAt(); } 177 public void llStopLookAt() { m_LSL_Functions.llStopLookAt(); }
156 public void llSetTimerEvent(double sec) { m_LSL_Functions.llSetTimerEvent(sec); } 178 public void llSetTimerEvent(double sec) { m_LSL_Functions.llSetTimerEvent(sec); }
157 public void llSleep(double sec) { m_LSL_Functions.llSleep(sec); } 179 public void llSleep(double sec) { m_LSL_Functions.llSleep(sec); }
180 //
181 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
182 //
158 public double llGetMass() { return m_LSL_Functions.llGetMass(); } 183 public double llGetMass() { return m_LSL_Functions.llGetMass(); }
159 public void llCollisionFilter(string name, string id, int accept) { m_LSL_Functions.llCollisionFilter(name, id, accept); } 184 public void llCollisionFilter(string name, string id, int accept) { m_LSL_Functions.llCollisionFilter(name, id, accept); }
160 public void llTakeControls(int controls, int accept, int pass_on) { m_LSL_Functions.llTakeControls(controls, accept, pass_on); } 185 public void llTakeControls(int controls, int accept, int pass_on) { m_LSL_Functions.llTakeControls(controls, accept, pass_on); }
@@ -174,6 +199,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
174 public void llMinEventDelay(double delay) { m_LSL_Functions.llMinEventDelay(delay); } 199 public void llMinEventDelay(double delay) { m_LSL_Functions.llMinEventDelay(delay); }
175 public void llSoundPreload() { m_LSL_Functions.llSoundPreload(); } 200 public void llSoundPreload() { m_LSL_Functions.llSoundPreload(); }
176 public void llRotLookAt(Axiom.Math.Quaternion target, double strength, double damping) { m_LSL_Functions.llRotLookAt(target, strength, damping); } 201 public void llRotLookAt(Axiom.Math.Quaternion target, double strength, double damping) { m_LSL_Functions.llRotLookAt(target, strength, damping); }
202 //
203 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
204 //
177 public int llStringLength(string str) { return m_LSL_Functions.llStringLength(str); } 205 public int llStringLength(string str) { return m_LSL_Functions.llStringLength(str); }
178 public void llStartAnimation(string anim) { m_LSL_Functions.llStartAnimation(anim); } 206 public void llStartAnimation(string anim) { m_LSL_Functions.llStartAnimation(anim); }
179 public void llStopAnimation(string anim) { m_LSL_Functions.llStopAnimation(anim); } 207 public void llStopAnimation(string anim) { m_LSL_Functions.llStopAnimation(anim); }
@@ -194,6 +222,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
194 public void llGetLinkName(int linknum) { m_LSL_Functions.llGetLinkName(linknum); } 222 public void llGetLinkName(int linknum) { m_LSL_Functions.llGetLinkName(linknum); }
195 public int llGetInventoryNumber(int type) { return m_LSL_Functions.llGetInventoryNumber(type); } 223 public int llGetInventoryNumber(int type) { return m_LSL_Functions.llGetInventoryNumber(type); }
196 public string llGetInventoryName(int type, int number) { return m_LSL_Functions.llGetInventoryName(type, number); } 224 public string llGetInventoryName(int type, int number) { return m_LSL_Functions.llGetInventoryName(type, number); }
225 //
226 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
227 //
197 public void llSetScriptState(string name, int run) { m_LSL_Functions.llSetScriptState(name, run); } 228 public void llSetScriptState(string name, int run) { m_LSL_Functions.llSetScriptState(name, run); }
198 public double llGetEnergy() { return m_LSL_Functions.llGetEnergy(); } 229 public double llGetEnergy() { return m_LSL_Functions.llGetEnergy(); }
199 public void llGiveInventory(string destination, string inventory) { m_LSL_Functions.llGiveInventory(destination, inventory); } 230 public void llGiveInventory(string destination, string inventory) { m_LSL_Functions.llGiveInventory(destination, inventory); }
@@ -215,6 +246,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
215 public void llPassCollisions(int pass) { m_LSL_Functions.llPassCollisions(pass); } 246 public void llPassCollisions(int pass) { m_LSL_Functions.llPassCollisions(pass); }
216 public string llGetScriptName() { return m_LSL_Functions.llGetScriptName(); } 247 public string llGetScriptName() { return m_LSL_Functions.llGetScriptName(); }
217 public int llGetNumberOfSides() { return m_LSL_Functions.llGetNumberOfSides(); } 248 public int llGetNumberOfSides() { return m_LSL_Functions.llGetNumberOfSides(); }
249 //
250 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
251 //
218 public Axiom.Math.Quaternion llAxisAngle2Rot(Axiom.Math.Vector3 axis, double angle) { return m_LSL_Functions.llAxisAngle2Rot(axis, angle); } 252 public Axiom.Math.Quaternion llAxisAngle2Rot(Axiom.Math.Vector3 axis, double angle) { return m_LSL_Functions.llAxisAngle2Rot(axis, angle); }
219 public Axiom.Math.Vector3 llRot2Axis(Axiom.Math.Quaternion rot) { return m_LSL_Functions.llRot2Axis(rot); } 253 public Axiom.Math.Vector3 llRot2Axis(Axiom.Math.Quaternion rot) { return m_LSL_Functions.llRot2Axis(rot); }
220 public void llRot2Angle() { m_LSL_Functions.llRot2Angle(); } 254 public void llRot2Angle() { m_LSL_Functions.llRot2Angle(); }
@@ -232,6 +266,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
232 public Axiom.Math.Vector3 llGetCenterOfMass() { return m_LSL_Functions.llGetCenterOfMass(); } 266 public Axiom.Math.Vector3 llGetCenterOfMass() { return m_LSL_Functions.llGetCenterOfMass(); }
233 public List<string> llListSort(List<string> src, int stride, int ascending) { return m_LSL_Functions.llListSort(src, stride, ascending); } 267 public List<string> llListSort(List<string> src, int stride, int ascending) { return m_LSL_Functions.llListSort(src, stride, ascending); }
234 public int llGetListLength(List<string> src) { return m_LSL_Functions.llGetListLength(src); } 268 public int llGetListLength(List<string> src) { return m_LSL_Functions.llGetListLength(src); }
269 //
270 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
271 //
235 public int llList2Integer(List<string> src, int index) { return m_LSL_Functions.llList2Integer(src, index); } 272 public int llList2Integer(List<string> src, int index) { return m_LSL_Functions.llList2Integer(src, index); }
236 public double llList2double(List<string> src, int index) { return m_LSL_Functions.llList2double(src, index); } 273 public double llList2double(List<string> src, int index) { return m_LSL_Functions.llList2double(src, index); }
237 public string llList2String(List<string> src, int index) { return m_LSL_Functions.llList2String(src, index); } 274 public string llList2String(List<string> src, int index) { return m_LSL_Functions.llList2String(src, index); }
@@ -253,6 +290,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
253 public string llGetDate() { return m_LSL_Functions.llGetDate(); } 290 public string llGetDate() { return m_LSL_Functions.llGetDate(); }
254 public int llEdgeOfWorld(Axiom.Math.Vector3 pos, Axiom.Math.Vector3 dir) { return m_LSL_Functions.llEdgeOfWorld(pos, dir); } 291 public int llEdgeOfWorld(Axiom.Math.Vector3 pos, Axiom.Math.Vector3 dir) { return m_LSL_Functions.llEdgeOfWorld(pos, dir); }
255 public int llGetAgentInfo(string id) { return m_LSL_Functions.llGetAgentInfo(id); } 292 public int llGetAgentInfo(string id) { return m_LSL_Functions.llGetAgentInfo(id); }
293 //
294 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
295 //
256 public void llAdjustSoundVolume(double volume) { m_LSL_Functions.llAdjustSoundVolume(volume); } 296 public void llAdjustSoundVolume(double volume) { m_LSL_Functions.llAdjustSoundVolume(volume); }
257 public void llSetSoundQueueing(int queue) { m_LSL_Functions.llSetSoundQueueing(queue); } 297 public void llSetSoundQueueing(int queue) { m_LSL_Functions.llSetSoundQueueing(queue); }
258 public void llSetSoundRadius(double radius) { m_LSL_Functions.llSetSoundRadius(radius); } 298 public void llSetSoundRadius(double radius) { m_LSL_Functions.llSetSoundRadius(radius); }
@@ -275,6 +315,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
275 public string llGetRegionName() { return m_LSL_Functions.llGetRegionName(); } 315 public string llGetRegionName() { return m_LSL_Functions.llGetRegionName(); }
276 public double llGetRegionTimeDilation() { return m_LSL_Functions.llGetRegionTimeDilation(); } 316 public double llGetRegionTimeDilation() { return m_LSL_Functions.llGetRegionTimeDilation(); }
277 public double llGetRegionFPS() { return m_LSL_Functions.llGetRegionFPS(); } 317 public double llGetRegionFPS() { return m_LSL_Functions.llGetRegionFPS(); }
318 //
319 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
320 //
278 public void llParticleSystem(List<Object> rules) { m_LSL_Functions.llParticleSystem(rules); } 321 public void llParticleSystem(List<Object> rules) { m_LSL_Functions.llParticleSystem(rules); }
279 public void llGroundRepel(double height, int water, double tau) { m_LSL_Functions.llGroundRepel(height, water, tau); } 322 public void llGroundRepel(double height, int water, double tau) { m_LSL_Functions.llGroundRepel(height, water, tau); }
280 public void llGiveInventoryList() { m_LSL_Functions.llGiveInventoryList(); } 323 public void llGiveInventoryList() { m_LSL_Functions.llGiveInventoryList(); }
@@ -300,6 +343,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
300 public void llRemoteLoadScript() { m_LSL_Functions.llRemoteLoadScript(); } 343 public void llRemoteLoadScript() { m_LSL_Functions.llRemoteLoadScript(); }
301 public void llSetRemoteScriptAccessPin(int pin) { m_LSL_Functions.llSetRemoteScriptAccessPin(pin); } 344 public void llSetRemoteScriptAccessPin(int pin) { m_LSL_Functions.llSetRemoteScriptAccessPin(pin); }
302 public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) { m_LSL_Functions.llRemoteLoadScriptPin(target, name, pin, running, start_param); } 345 public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) { m_LSL_Functions.llRemoteLoadScriptPin(target, name, pin, running, start_param); }
346 //
347 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
348 //
303 public void llOpenRemoteDataChannel() { m_LSL_Functions.llOpenRemoteDataChannel(); } 349 public void llOpenRemoteDataChannel() { m_LSL_Functions.llOpenRemoteDataChannel(); }
304 public string llSendRemoteData(string channel, string dest, int idata, string sdata) { return m_LSL_Functions.llSendRemoteData(channel, dest, idata, sdata); } 350 public string llSendRemoteData(string channel, string dest, int idata, string sdata) { return m_LSL_Functions.llSendRemoteData(channel, dest, idata, sdata); }
305 public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) { m_LSL_Functions.llRemoteDataReply(channel, message_id, sdata, idata); } 351 public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) { m_LSL_Functions.llRemoteDataReply(channel, message_id, sdata, idata); }
@@ -326,6 +372,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
326 public List<string> llGetBoundingBox(string obj) { return m_LSL_Functions.llGetBoundingBox(obj); } 372 public List<string> llGetBoundingBox(string obj) { return m_LSL_Functions.llGetBoundingBox(obj); }
327 public Axiom.Math.Vector3 llGetGeometricCenter() { return m_LSL_Functions.llGetGeometricCenter(); } 373 public Axiom.Math.Vector3 llGetGeometricCenter() { return m_LSL_Functions.llGetGeometricCenter(); }
328 public void llGetPrimitiveParams() { m_LSL_Functions.llGetPrimitiveParams(); } 374 public void llGetPrimitiveParams() { m_LSL_Functions.llGetPrimitiveParams(); }
375 //
376 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
377 //
329 public string llIntegerToBase64(int number) { return m_LSL_Functions.llIntegerToBase64(number); } 378 public string llIntegerToBase64(int number) { return m_LSL_Functions.llIntegerToBase64(number); }
330 public int llBase64ToInteger(string str) { return m_LSL_Functions.llBase64ToInteger(str); } 379 public int llBase64ToInteger(string str) { return m_LSL_Functions.llBase64ToInteger(str); }
331 public double llGetGMTclock() { return m_LSL_Functions.llGetGMTclock(); } 380 public double llGetGMTclock() { return m_LSL_Functions.llGetGMTclock(); }
@@ -347,6 +396,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
347 public void llParcelMediaCommandList(List<string> commandList) { m_LSL_Functions.llParcelMediaCommandList(commandList); } 396 public void llParcelMediaCommandList(List<string> commandList) { m_LSL_Functions.llParcelMediaCommandList(commandList); }
348 public void llParcelMediaQuery() { m_LSL_Functions.llParcelMediaQuery(); } 397 public void llParcelMediaQuery() { m_LSL_Functions.llParcelMediaQuery(); }
349 public int llModPow(int a, int b, int c) { return m_LSL_Functions.llModPow(a, b, c); } 398 public int llModPow(int a, int b, int c) { return m_LSL_Functions.llModPow(a, b, c); }
399 //
400 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
401 //
350 public int llGetInventoryType(string name) { return m_LSL_Functions.llGetInventoryType(name); } 402 public int llGetInventoryType(string name) { return m_LSL_Functions.llGetInventoryType(name); }
351 public void llSetPayPrice(int price, List<string> quick_pay_buttons) { m_LSL_Functions.llSetPayPrice(price, quick_pay_buttons); } 403 public void llSetPayPrice(int price, List<string> quick_pay_buttons) { m_LSL_Functions.llSetPayPrice(price, quick_pay_buttons); }
352 public Axiom.Math.Vector3 llGetCameraPos() { return m_LSL_Functions.llGetCameraPos(); } 404 public Axiom.Math.Vector3 llGetCameraPos() { return m_LSL_Functions.llGetCameraPos(); }
@@ -372,6 +424,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
372 public int llGetParcelPrimCount(Axiom.Math.Vector3 pos, int category, int sim_wide) { return m_LSL_Functions.llGetParcelPrimCount(pos, category, sim_wide); } 424 public int llGetParcelPrimCount(Axiom.Math.Vector3 pos, int category, int sim_wide) { return m_LSL_Functions.llGetParcelPrimCount(pos, category, sim_wide); }
373 public List<string> llGetParcelPrimOwners(Axiom.Math.Vector3 pos) { return m_LSL_Functions.llGetParcelPrimOwners(pos); } 425 public List<string> llGetParcelPrimOwners(Axiom.Math.Vector3 pos) { return m_LSL_Functions.llGetParcelPrimOwners(pos); }
374 public int llGetObjectPrimCount(string object_id) { return m_LSL_Functions.llGetObjectPrimCount(object_id); } 426 public int llGetObjectPrimCount(string object_id) { return m_LSL_Functions.llGetObjectPrimCount(object_id); }
427 //
428 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
429 //
375 public int llGetParcelMaxPrims(Axiom.Math.Vector3 pos, int sim_wide) { return m_LSL_Functions.llGetParcelMaxPrims(pos, sim_wide); } 430 public int llGetParcelMaxPrims(Axiom.Math.Vector3 pos, int sim_wide) { return m_LSL_Functions.llGetParcelMaxPrims(pos, sim_wide); }
376 public List<string> llGetParcelDetails(Axiom.Math.Vector3 pos, List<string> param) { return m_LSL_Functions.llGetParcelDetails(pos, param); } 431 public List<string> llGetParcelDetails(Axiom.Math.Vector3 pos, List<string> param) { return m_LSL_Functions.llGetParcelDetails(pos, param); }
377 432
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_BaseClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_BaseClass.cs
index 0fbb2cf..374d37d 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_BaseClass.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_BaseClass.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
3using System.Text; 3using System.Text;
4using System.IO; 4using System.IO;
5using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler; 5using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler;
6using OpenSim.Region.ScriptEngine.Common;
6 7
7namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO 8namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO
8{ 9{
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_OPCODE_IL_processor.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_OPCODE_IL_processor.cs
index e472f4a..18a2b55 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_OPCODE_IL_processor.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_OPCODE_IL_processor.cs
@@ -31,6 +31,7 @@ using System.Collections.Generic;
31using System.Text; 31using System.Text;
32using System.Reflection; 32using System.Reflection;
33using System.Reflection.Emit; 33using System.Reflection.Emit;
34using OpenSim.Region.ScriptEngine.Common;
34 35
35namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO 36namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO
36{ 37{
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
new file mode 100644
index 0000000..8c2e799
--- /dev/null
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
@@ -0,0 +1,472 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using libsecondlife;
5using OpenSim.Region.Environment.Scenes;
6using OpenSim.Region.Environment.Scenes.Scripting;
7using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler;
8using OpenSim.Region.ScriptEngine.Common;
9using OpenSim.Framework.Console;
10
11namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
12{
13
14 /// <summary>
15 /// Contains all LSL ll-functions. This class will be in Default AppDomain.
16 /// </summary>
17 [Serializable]
18 public class LSL_BuiltIn_Commands: LSL_BuiltIn_Commands_Interface
19 {
20 private System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
21 private ScriptManager m_manager;
22 private IScriptHost m_host;
23
24 public LSL_BuiltIn_Commands(ScriptManager manager, IScriptHost host)
25 {
26 m_manager = manager;
27 m_host = host;
28
29 MainLog.Instance.Notice("ScriptEngine", "LSL_BaseClass.Start() called. Hosted by [" + m_host.Name + ":" + m_host.UUID + "@" + m_host.AbsolutePosition + "]");
30 }
31
32
33 public string State = "default";
34
35 public Scene World
36 {
37 get { return m_manager.World; }
38 }
39
40 //These are the implementations of the various ll-functions used by the LSL scripts.
41 //starting out, we use the System.Math library for trig functions. - CFK 8-14-07
42 public double llSin(double f) { return (double)Math.Sin(f); }
43 public double llCos(double f) { return (double)Math.Cos(f); }
44 public double llTan(double f) { return (double)Math.Tan(f); }
45 public double llAtan2(double x, double y) { return (double)Math.Atan2(y, x); }
46 public double llSqrt(double f) { return (double)Math.Sqrt(f); }
47 public double llPow(double fbase, double fexponent) { return (double)Math.Pow(fbase, fexponent); }
48 public int llAbs(int i) { return (int)Math.Abs(i); }
49 public double llFabs(double f) { return (double)Math.Abs(f); }
50
51 public double llFrand(double mag)
52 {
53 lock (OpenSim.Framework.Utilities.Util.RandomClass)
54 {
55 return OpenSim.Framework.Utilities.Util.RandomClass.Next((int)mag);
56 }
57 }
58 public int llFloor(double f) { return (int)Math.Floor(f); }
59 public int llCeil(double f) { return (int)Math.Ceiling(f); }
60 public int llRound(double f) { return (int)Math.Round(f, 1); }
61 public double llVecMag(Axiom.Math.Vector3 v) { return 0; }
62 public Axiom.Math.Vector3 llVecNorm(Axiom.Math.Vector3 v) { return new Axiom.Math.Vector3(); }
63 public double llVecDist(Axiom.Math.Vector3 a, Axiom.Math.Vector3 b) { return 0; }
64 public Axiom.Math.Vector3 llRot2Euler(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
65 public Axiom.Math.Quaternion llEuler2Rot(Axiom.Math.Vector3 v) { return new Axiom.Math.Quaternion(); }
66 public Axiom.Math.Quaternion llAxes2Rot(Axiom.Math.Vector3 fwd, Axiom.Math.Vector3 left, Axiom.Math.Vector3 up) { return new Axiom.Math.Quaternion(); }
67 public Axiom.Math.Vector3 llRot2Fwd(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
68 public Axiom.Math.Vector3 llRot2Left(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
69 public Axiom.Math.Vector3 llRot2Up(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
70 public Axiom.Math.Quaternion llRotBetween(Axiom.Math.Vector3 start, Axiom.Math.Vector3 end) { return new Axiom.Math.Quaternion(); }
71
72 public void llWhisper(int channelID, string text)
73 {
74 //Common.SendToDebug("INTERNAL FUNCTION llWhisper(" + channelID + ", \"" + text + "\");");
75 Console.WriteLine("llWhisper Channel " + channelID + ", Text: \"" + text + "\"");
76 //type for whisper is 0
77 World.SimChat(Helpers.StringToField(text),
78 0, m_host.AbsolutePosition, m_host.Name, m_host.UUID);
79
80
81 }
82 //public void llSay(int channelID, string text)
83 public void llSay(int channelID, string text)
84 {
85 //TODO: DO SOMETHING USEFUL HERE
86 //Common.SendToDebug("INTERNAL FUNCTION llSay(" + (int)channelID + ", \"" + (string)text + "\");");
87 Console.WriteLine("llSay Channel " + channelID + ", Text: \"" + text + "\"");
88 //type for say is 1
89
90 World.SimChat(Helpers.StringToField(text),
91 1, m_host.AbsolutePosition, m_host.Name, m_host.UUID);
92 }
93
94 public void llShout(int channelID, string text)
95 {
96 Console.WriteLine("llShout Channel " + channelID + ", Text: \"" + text + "\"");
97 //type for shout is 2
98 World.SimChat(Helpers.StringToField(text),
99 2, m_host.AbsolutePosition, m_host.Name, m_host.UUID);
100
101 }
102
103 public int llListen(int channelID, string name, string ID, string msg) { return 0; }
104 public void llListenControl(int number, int active) { return; }
105 public void llListenRemove(int number) { return; }
106 public void llSensor(string name, string id, int type, double range, double arc) { return; }
107 public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) { return; }
108 public void llSensorRemove() { return; }
109 public string llDetectedName(int number) { return ""; }
110 public string llDetectedKey(int number) { return ""; }
111 public string llDetectedOwner(int number) { return ""; }
112 public int llDetectedType(int number) { return 0; }
113 public Axiom.Math.Vector3 llDetectedPos(int number) { return new Axiom.Math.Vector3(); }
114 public Axiom.Math.Vector3 llDetectedVel(int number) { return new Axiom.Math.Vector3(); }
115 public Axiom.Math.Vector3 llDetectedGrab(int number) { return new Axiom.Math.Vector3(); }
116 public Axiom.Math.Quaternion llDetectedRot(int number) { return new Axiom.Math.Quaternion(); }
117 public int llDetectedGroup(int number) { return 0; }
118 public int llDetectedLinkNumber(int number) { return 0; }
119 public void llDie() { return; }
120 public double llGround(Axiom.Math.Vector3 offset) { return 0; }
121 public double llCloud(Axiom.Math.Vector3 offset) { return 0; }
122 public Axiom.Math.Vector3 llWind(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
123 public void llSetStatus(int status, int value) { return; }
124 public int llGetStatus(int status) { return 0; }
125 public void llSetScale(Axiom.Math.Vector3 scale) { return; }
126 public Axiom.Math.Vector3 llGetScale() { return new Axiom.Math.Vector3(); }
127 public void llSetColor(Axiom.Math.Vector3 color, int face) { return; }
128 public double llGetAlpha(int face) { return 0; }
129 public void llSetAlpha(double alpha, int face) { return; }
130 public Axiom.Math.Vector3 llGetColor(int face) { return new Axiom.Math.Vector3(); }
131 public void llSetTexture(string texture, int face) { return; }
132 public void llScaleTexture(double u, double v, int face) { return; }
133 public void llOffsetTexture(double u, double v, int face) { return; }
134 public void llRotateTexture(double rotation, int face) { return; }
135 public string llGetTexture(int face) { return ""; }
136 public void llSetPos(Axiom.Math.Vector3 pos) { return; }
137
138 public Axiom.Math.Vector3 llGetPos()
139 {
140 throw new NotImplementedException("llGetPos");
141 // return m_host.AbsolutePosition;
142 }
143
144 public Axiom.Math.Vector3 llGetLocalPos() { return new Axiom.Math.Vector3(); }
145 public void llSetRot(Axiom.Math.Quaternion rot) { }
146 public Axiom.Math.Quaternion llGetRot() { return new Axiom.Math.Quaternion(); }
147 public Axiom.Math.Quaternion llGetLocalRot() { return new Axiom.Math.Quaternion(); }
148 public void llSetForce(Axiom.Math.Vector3 force, int local) { }
149 public Axiom.Math.Vector3 llGetForce() { return new Axiom.Math.Vector3(); }
150 public int llTarget(Axiom.Math.Vector3 position, double range) { return 0; }
151 public void llTargetRemove(int number) { }
152 public int llRotTarget(Axiom.Math.Quaternion rot, double error) { return 0; }
153 public void llRotTargetRemove(int number) { }
154 public void llMoveToTarget(Axiom.Math.Vector3 target, double tau) { }
155 public void llStopMoveToTarget() { }
156 public void llApplyImpulse(Axiom.Math.Vector3 force, int local) { }
157 public void llApplyRotationalImpulse(Axiom.Math.Vector3 force, int local) { }
158 public void llSetTorque(Axiom.Math.Vector3 torque, int local) { }
159 public Axiom.Math.Vector3 llGetTorque() { return new Axiom.Math.Vector3(); }
160 public void llSetForceAndTorque(Axiom.Math.Vector3 force, Axiom.Math.Vector3 torque, int local) { }
161 public Axiom.Math.Vector3 llGetVel() { return new Axiom.Math.Vector3(); }
162 public Axiom.Math.Vector3 llGetAccel() { return new Axiom.Math.Vector3(); }
163 public Axiom.Math.Vector3 llGetOmega() { return new Axiom.Math.Vector3(); }
164 public double llGetTimeOfDay() { return 0; }
165 public double llGetWallclock() { return 0; }
166 public double llGetTime() { return 0; }
167 public void llResetTime() { }
168 public double llGetAndResetTime() { return 0; }
169 public void llSound() { }
170 public void llPlaySound(string sound, double volume) { }
171 public void llLoopSound(string sound, double volume) { }
172 public void llLoopSoundMaster(string sound, double volume) { }
173 public void llLoopSoundSlave(string sound, double volume) { }
174 public void llPlaySoundSlave(string sound, double volume) { }
175 public void llTriggerSound(string sound, double volume) { }
176 public void llStopSound() { }
177 public void llPreloadSound(string sound) { }
178 public string llGetSubString(string src, int start, int end) { return src.Substring(start, end); }
179 public string llDeleteSubString(string src, int start, int end) { return ""; }
180 public string llInsertString(string dst, int position, string src) { return ""; }
181 public string llToUpper(string src) { return src.ToUpper(); }
182 public string llToLower(string src) { return src.ToLower(); }
183 public int llGiveMoney(string destination, int amount) { return 0; }
184 public void llMakeExplosion() { }
185 public void llMakeFountain() { }
186 public void llMakeSmoke() { }
187 public void llMakeFire() { }
188 public void llRezObject(string inventory, Axiom.Math.Vector3 pos, Axiom.Math.Quaternion rot, int param) { }
189 public void llLookAt(Axiom.Math.Vector3 target, double strength, double damping) { }
190 public void llStopLookAt() { }
191 public void llSetTimerEvent(double sec) { }
192 public void llSleep(double sec) { System.Threading.Thread.Sleep((int)(sec * 1000)); }
193 public double llGetMass() { return 0; }
194 public void llCollisionFilter(string name, string id, int accept) { }
195 public void llTakeControls(int controls, int accept, int pass_on) { }
196 public void llReleaseControls() { }
197 public void llAttachToAvatar(int attachment) { }
198 public void llDetachFromAvatar() { }
199 public void llTakeCamera() { }
200 public void llReleaseCamera() { }
201 public string llGetOwner() { return ""; }
202 public void llInstantMessage(string user, string message) { }
203 public void llEmail(string address, string subject, string message) { }
204 public void llGetNextEmail(string address, string subject) { }
205 public string llGetKey() { return ""; }
206 public void llSetBuoyancy(double buoyancy) { }
207 public void llSetHoverHeight(double height, int water, double tau) { }
208 public void llStopHover() { }
209 public void llMinEventDelay(double delay) { }
210 public void llSoundPreload() { }
211 public void llRotLookAt(Axiom.Math.Quaternion target, double strength, double damping) { }
212
213 public int llStringLength(string str)
214 {
215 if (str.Length > 0)
216 {
217 return str.Length;
218 }
219 else
220 {
221 return 0;
222 }
223 }
224
225 public void llStartAnimation(string anim) { }
226 public void llStopAnimation(string anim) { }
227 public void llPointAt() { }
228 public void llStopPointAt() { }
229 public void llTargetOmega(Axiom.Math.Vector3 axis, double spinrate, double gain) { }
230 public int llGetStartParameter() { return 0; }
231 public void llGodLikeRezObject(string inventory, Axiom.Math.Vector3 pos) { }
232 public void llRequestPermissions(string agent, int perm) { }
233 public string llGetPermissionsKey() { return ""; }
234 public int llGetPermissions() { return 0; }
235 public int llGetLinkNumber() { return 0; }
236 public void llSetLinkColor(int linknumber, Axiom.Math.Vector3 color, int face) { }
237 public void llCreateLink(string target, int parent) { }
238 public void llBreakLink(int linknum) { }
239 public void llBreakAllLinks() { }
240 public string llGetLinkKey(int linknum) { return ""; }
241 public void llGetLinkName(int linknum) { }
242 public int llGetInventoryNumber(int type) { return 0; }
243 public string llGetInventoryName(int type, int number) { return ""; }
244 public void llSetScriptState(string name, int run) { }
245 public double llGetEnergy() { return 1.0f; }
246 public void llGiveInventory(string destination, string inventory) { }
247 public void llRemoveInventory(string item) { }
248
249 public void llSetText(string text, Axiom.Math.Vector3 color, double alpha)
250 {
251 m_host.SetText(text, color, alpha);
252 }
253
254 public double llWater(Axiom.Math.Vector3 offset) { return 0; }
255 public void llPassTouches(int pass) { }
256 public string llRequestAgentData(string id, int data) { return ""; }
257 public string llRequestInventoryData(string name) { return ""; }
258 public void llSetDamage(double damage) { }
259 public void llTeleportAgentHome(string agent) { }
260 public void llModifyLand(int action, int brush) { }
261 public void llCollisionSound(string impact_sound, double impact_volume) { }
262 public void llCollisionSprite(string impact_sprite) { }
263 public string llGetAnimation(string id) { return ""; }
264 public void llResetScript() { }
265 public void llMessageLinked(int linknum, int num, string str, string id) { }
266 public void llPushObject(string target, Axiom.Math.Vector3 impulse, Axiom.Math.Vector3 ang_impulse, int local) { }
267 public void llPassCollisions(int pass) { }
268 public string llGetScriptName() { return ""; }
269 public int llGetNumberOfSides() { return 0; }
270 public Axiom.Math.Quaternion llAxisAngle2Rot(Axiom.Math.Vector3 axis, double angle) { return new Axiom.Math.Quaternion(); }
271 public Axiom.Math.Vector3 llRot2Axis(Axiom.Math.Quaternion rot) { return new Axiom.Math.Vector3(); }
272 public void llRot2Angle() { }
273 public double llAcos(double val) { return (double)Math.Acos(val); }
274 public double llAsin(double val) { return (double)Math.Asin(val); }
275 public double llAngleBetween(Axiom.Math.Quaternion a, Axiom.Math.Quaternion b) { return 0; }
276 public string llGetInventoryKey(string name) { return ""; }
277 public void llAllowInventoryDrop(int add) { }
278 public Axiom.Math.Vector3 llGetSunDirection() { return new Axiom.Math.Vector3(); }
279 public Axiom.Math.Vector3 llGetTextureOffset(int face) { return new Axiom.Math.Vector3(); }
280 public Axiom.Math.Vector3 llGetTextureScale(int side) { return new Axiom.Math.Vector3(); }
281 public double llGetTextureRot(int side) { return 0; }
282 public int llSubStringIndex(string source, string pattern) { return 0; }
283 public string llGetOwnerKey(string id) { return ""; }
284 public Axiom.Math.Vector3 llGetCenterOfMass() { return new Axiom.Math.Vector3(); }
285 public List<string> llListSort(List<string> src, int stride, int ascending)
286 { return new List<string>(); }
287 public int llGetListLength(List<string> src) { return 0; }
288 public int llList2Integer(List<string> src, int index) { return 0; }
289 public double llList2double(List<string> src, int index) { return 0; }
290 public string llList2String(List<string> src, int index) { return ""; }
291 public string llList2Key(List<string> src, int index) { return ""; }
292 public Axiom.Math.Vector3 llList2Vector(List<string> src, int index)
293 { return new Axiom.Math.Vector3(); }
294 public Axiom.Math.Quaternion llList2Rot(List<string> src, int index)
295 { return new Axiom.Math.Quaternion(); }
296 public List<string> llList2List(List<string> src, int start, int end)
297 { return new List<string>(); }
298 public List<string> llDeleteSubList(List<string> src, int start, int end)
299 { return new List<string>(); }
300 public int llGetListEntryType(List<string> src, int index) { return 0; }
301 public string llList2CSV(List<string> src) { return ""; }
302 public List<string> llCSV2List(string src)
303 { return new List<string>(); }
304 public List<string> llListRandomize(List<string> src, int stride)
305 { return new List<string>(); }
306 public List<string> llList2ListStrided(List<string> src, int start, int end, int stride)
307 { return new List<string>(); }
308 public Axiom.Math.Vector3 llGetRegionCorner()
309 { return new Axiom.Math.Vector3(World.RegionInfo.RegionLocX * 256, World.RegionInfo.RegionLocY * 256, 0); }
310 public List<string> llListInsertList(List<string> dest, List<string> src, int start)
311 { return new List<string>(); }
312 public int llListFindList(List<string> src, List<string> test) { return 0; }
313 public string llGetObjectName() { return ""; }
314 public void llSetObjectName(string name) { }
315 public string llGetDate() { return ""; }
316 public int llEdgeOfWorld(Axiom.Math.Vector3 pos, Axiom.Math.Vector3 dir) { return 0; }
317 public int llGetAgentInfo(string id) { return 0; }
318 public void llAdjustSoundVolume(double volume) { }
319 public void llSetSoundQueueing(int queue) { }
320 public void llSetSoundRadius(double radius) { }
321 public string llKey2Name(string id) { return ""; }
322 public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) { }
323 public void llTriggerSoundLimited(string sound, double volume, Axiom.Math.Vector3 top_north_east, Axiom.Math.Vector3 bottom_south_west) { }
324 public void llEjectFromLand(string pest) { }
325 public void llParseString2List() { }
326 public int llOverMyLand(string id) { return 0; }
327 public string llGetLandOwnerAt(Axiom.Math.Vector3 pos) { return ""; }
328 public string llGetNotecardLine(string name, int line) { return ""; }
329 public Axiom.Math.Vector3 llGetAgentSize(string id) { return new Axiom.Math.Vector3(); }
330 public int llSameGroup(string agent) { return 0; }
331 public void llUnSit(string id) { }
332 public Axiom.Math.Vector3 llGroundSlope(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
333 public Axiom.Math.Vector3 llGroundNormal(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
334 public Axiom.Math.Vector3 llGroundContour(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
335 public int llGetAttached() { return 0; }
336 public int llGetFreeMemory() { return 0; }
337 public string llGetRegionName() { return m_manager.RegionName; }
338 public double llGetRegionTimeDilation() { return 1.0f; }
339 public double llGetRegionFPS() { return 10.0f; }
340 public void llParticleSystem(List<Object> rules) { }
341 public void llGroundRepel(double height, int water, double tau) { }
342 public void llGiveInventoryList() { }
343 public void llSetVehicleType(int type) { }
344 public void llSetVehicledoubleParam(int param, double value) { }
345 public void llSetVehicleVectorParam(int param, Axiom.Math.Vector3 vec) { }
346 public void llSetVehicleRotationParam(int param, Axiom.Math.Quaternion rot) { }
347 public void llSetVehicleFlags(int flags) { }
348 public void llRemoveVehicleFlags(int flags) { }
349 public void llSitTarget(Axiom.Math.Vector3 offset, Axiom.Math.Quaternion rot) { }
350 public string llAvatarOnSitTarget() { return ""; }
351 public void llAddToLandPassList(string avatar, double hours) { }
352 public void llSetTouchText(string text)
353 {
354 }
355
356 public void llSetSitText(string text)
357 {
358 }
359 public void llSetCameraEyeOffset(Axiom.Math.Vector3 offset) { }
360 public void llSetCameraAtOffset(Axiom.Math.Vector3 offset) { }
361 public void llDumpList2String() { }
362 public void llScriptDanger(Axiom.Math.Vector3 pos) { }
363 public void llDialog(string avatar, string message, List<string> buttons, int chat_channel) { }
364 public void llVolumeDetect(int detect) { }
365 public void llResetOtherScript(string name) { }
366 public int llGetScriptState(string name) { return 0; }
367 public void llRemoteLoadScript() { }
368 public void llSetRemoteScriptAccessPin(int pin) { }
369 public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) { }
370 public void llOpenRemoteDataChannel() { }
371 public string llSendRemoteData(string channel, string dest, int idata, string sdata) { return ""; }
372 public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) { }
373 public void llCloseRemoteDataChannel(string channel) { }
374 public string llMD5String(string src, int nonce)
375 {
376 return OpenSim.Framework.Utilities.Util.Md5Hash(src + ":" + nonce.ToString());
377 }
378 public void llSetPrimitiveParams(List<string> rules) { }
379 public string llStringToBase64(string str) { return ""; }
380 public string llBase64ToString(string str) { return ""; }
381 public void llXorBase64Strings() { }
382 public void llRemoteDataSetRegion() { }
383 public double llLog10(double val) { return (double)Math.Log10(val); }
384 public double llLog(double val) { return (double)Math.Log(val); }
385 public List<string> llGetAnimationList(string id) { return new List<string>(); }
386 public void llSetParcelMusicURL(string url) { }
387
388 public Axiom.Math.Vector3 llGetRootPosition()
389 {
390 throw new NotImplementedException("llGetRootPosition");
391 //return m_root.AbsolutePosition;
392 }
393
394 public Axiom.Math.Quaternion llGetRootRotation()
395 {
396 return new Axiom.Math.Quaternion();
397 }
398
399 public string llGetObjectDesc() { return ""; }
400 public void llSetObjectDesc(string desc) { }
401 public string llGetCreator() { return ""; }
402 public string llGetTimestamp() { return ""; }
403 public void llSetLinkAlpha(int linknumber, double alpha, int face) { }
404 public int llGetNumberOfPrims() { return 0; }
405 public string llGetNumberOfNotecardLines(string name) { return ""; }
406 public List<string> llGetBoundingBox(string obj) { return new List<string>(); }
407 public Axiom.Math.Vector3 llGetGeometricCenter() { return new Axiom.Math.Vector3(); }
408 public void llGetPrimitiveParams() { }
409 public string llIntegerToBase64(int number) { return ""; }
410 public int llBase64ToInteger(string str) { return 0; }
411 public double llGetGMTclock() { return 0; }
412 public string llGetSimulatorHostname() { return ""; }
413 public void llSetLocalRot(Axiom.Math.Quaternion rot) { }
414 public List<string> llParseStringKeepNulls(string src, List<string> seperators, List<string> spacers)
415 { return new List<string>(); }
416 public void llRezAtRoot(string inventory, Axiom.Math.Vector3 position, Axiom.Math.Vector3 velocity, Axiom.Math.Quaternion rot, int param) { }
417 public int llGetObjectPermMask(int mask) { return 0; }
418 public void llSetObjectPermMask(int mask, int value) { }
419 public void llGetInventoryPermMask(string item, int mask) { }
420 public void llSetInventoryPermMask(string item, int mask, int value) { }
421 public string llGetInventoryCreator(string item) { return ""; }
422 public void llOwnerSay(string msg) { }
423 public void llRequestSimulatorData(string simulator, int data) { }
424 public void llForceMouselook(int mouselook) { }
425 public double llGetObjectMass(string id) { return 0; }
426 public void llListReplaceList() { }
427 public void llLoadURL(string avatar_id, string message, string url) { }
428 public void llParcelMediaCommandList(List<string> commandList) { }
429 public void llParcelMediaQuery() { }
430
431 public int llModPow(int a, int b, int c)
432 {
433 Int64 tmp = 0;
434 Int64 val = Math.DivRem(Convert.ToInt64(Math.Pow(a, b)), c, out tmp);
435
436 return Convert.ToInt32(tmp);
437 }
438
439 public int llGetInventoryType(string name) { return 0; }
440 public void llSetPayPrice(int price, List<string> quick_pay_buttons) { }
441 public Axiom.Math.Vector3 llGetCameraPos() { return new Axiom.Math.Vector3(); }
442 public Axiom.Math.Quaternion llGetCameraRot() { return new Axiom.Math.Quaternion(); }
443 public void llSetPrimURL() { }
444 public void llRefreshPrimURL() { }
445 public string llEscapeURL(string url) { return ""; }
446 public string llUnescapeURL(string url) { return ""; }
447 public void llMapDestination(string simname, Axiom.Math.Vector3 pos, Axiom.Math.Vector3 look_at) { }
448 public void llAddToLandBanList(string avatar, double hours) { }
449 public void llRemoveFromLandPassList(string avatar) { }
450 public void llRemoveFromLandBanList(string avatar) { }
451 public void llSetCameraParams(List<string> rules) { }
452 public void llClearCameraParams() { }
453 public double llListStatistics(int operation, List<string> src) { return 0; }
454 public int llGetUnixTime()
455 {
456 return OpenSim.Framework.Utilities.Util.UnixTimeSinceEpoch();
457 }
458 public int llGetParcelFlags(Axiom.Math.Vector3 pos) { return 0; }
459 public int llGetRegionFlags() { return 0; }
460 public string llXorBase64StringsCorrect(string str1, string str2) { return ""; }
461 public void llHTTPRequest() { }
462 public void llResetLandBanList() { }
463 public void llResetLandPassList() { }
464 public int llGetParcelPrimCount(Axiom.Math.Vector3 pos, int category, int sim_wide) { return 0; }
465 public List<string> llGetParcelPrimOwners(Axiom.Math.Vector3 pos) { return new List<string>(); }
466 public int llGetObjectPrimCount(string object_id) { return 0; }
467 public int llGetParcelMaxPrims(Axiom.Math.Vector3 pos, int sim_wide) { return 0; }
468 public List<string> llGetParcelDetails(Axiom.Math.Vector3 pos, List<string> param) { return new List<string>(); }
469
470
471 }
472}
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
index 7155b09..1d2689d 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
@@ -58,7 +58,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
58 private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) 58 private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
59 { 59 {
60 60
61 Console.WriteLine("CurrentDomain_AssemblyResolve: " + args.Name); 61 //Console.WriteLine("CurrentDomain_AssemblyResolve: " + args.Name);
62 return Assembly.GetExecutingAssembly().FullName == args.Name ? Assembly.GetExecutingAssembly() : null; 62 return Assembly.GetExecutingAssembly().FullName == args.Name ? Assembly.GetExecutingAssembly() : null;
63 63
64 } 64 }
@@ -231,11 +231,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
231 //Console.WriteLine("Base directory: " + AppDomain.CurrentDomain.BaseDirectory); 231 //Console.WriteLine("Base directory: " + AppDomain.CurrentDomain.BaseDirectory);
232 232
233 //LSL_BaseClass mbrt = (LSL_BaseClass)FreeAppDomain.CreateInstanceFromAndUnwrap(FileName, "SecondLife.Script"); 233 //LSL_BaseClass mbrt = (LSL_BaseClass)FreeAppDomain.CreateInstanceFromAndUnwrap(FileName, "SecondLife.Script");
234
235 //Type mytype = mbrt.GetType(); 234 //Type mytype = mbrt.GetType();
236
237
238
239 235
240 //Console.WriteLine("is proxy={0}", RemotingServices.IsTransparentProxy(mbrt)); 236 //Console.WriteLine("is proxy={0}", RemotingServices.IsTransparentProxy(mbrt));
241 237
diff --git a/prebuild.xml b/prebuild.xml
index bfc8cd4..7f4a45e 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -937,6 +937,30 @@
937 </Files> 937 </Files>
938 </Project> 938 </Project>
939 939
940 <Project name="OpenSim.Region.ScriptEngine.Common" path="OpenSim/Region/ScriptEngine/Common" type="Library">
941 <Configuration name="Debug">
942 <Options>
943 <OutputPath>../../../../bin/ScriptEngines/</OutputPath>
944 </Options>
945 </Configuration>
946 <Configuration name="Release">
947 <Options>
948 <OutputPath>../../../../bin/ScriptEngines/</OutputPath>
949 </Options>
950 </Configuration>
951
952 <ReferencePath>../../../../bin/</ReferencePath>
953 <ReferencePath>../../../../bin/ScriptEngines/</ReferencePath>
954 <Reference name="System" localCopy="false"/>
955 <Reference name="System.Data" localCopy="false"/>
956 <Reference name="System.Xml" localCopy="false"/>
957 <Reference name="Axiom.MathLib.dll" localCopy="false"/>
958 <Files>
959 <Match pattern="*.cs" recurse="true"/>
960 </Files>
961 </Project>
962
963
940 964
941 <Project name="OpenSim.Region.ScriptEngine.DotNetEngine" path="OpenSim/Region/ScriptEngine/DotNetEngine" type="Library"> 965 <Project name="OpenSim.Region.ScriptEngine.DotNetEngine" path="OpenSim/Region/ScriptEngine/DotNetEngine" type="Library">
942 <Configuration name="Debug"> 966 <Configuration name="Debug">
@@ -962,6 +986,7 @@
962 <Reference name="RAIL.dll"/> 986 <Reference name="RAIL.dll"/>
963 <Reference name="OpenSim.Framework"/> 987 <Reference name="OpenSim.Framework"/>
964 <Reference name="OpenSim.Framework.Console"/> 988 <Reference name="OpenSim.Framework.Console"/>
989 <Reference name="OpenSim.Region.ScriptEngine.Common"/>
965 <Files> 990 <Files>
966 <Match pattern="*.cs" recurse="true"/> 991 <Match pattern="*.cs" recurse="true"/>
967 </Files> 992 </Files>
@@ -970,6 +995,7 @@
970 995
971 996
972 997
998
973 </Solution> 999 </Solution>
974 1000
975 1001