ScriptEngine: Some error handling, logs to logger
parent
ff08d4d016
commit
afaa12a9e2
|
@ -155,7 +155,7 @@ namespace OpenSim
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load all script engines found
|
// Load all script engines found
|
||||||
//OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineLoader ScriptEngineLoader = new OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineLoader();
|
OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineLoader ScriptEngineLoader = new OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineLoader(m_log);
|
||||||
|
|
||||||
for (int i = 0; i < configFiles.Length; i++)
|
for (int i = 0; i < configFiles.Length; i++)
|
||||||
{
|
{
|
||||||
|
@ -166,11 +166,11 @@ namespace OpenSim
|
||||||
UDPServer udpServer;
|
UDPServer udpServer;
|
||||||
Scene scene = SetupScene(regionInfo, out udpServer);
|
Scene scene = SetupScene(regionInfo, out udpServer);
|
||||||
|
|
||||||
|
|
||||||
//OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface ScriptEngine = ScriptEngineLoader.LoadScriptEngine("DotNetEngine");
|
OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface ScriptEngine = ScriptEngineLoader.LoadScriptEngine("DotNetEngine");
|
||||||
//scene.AddScriptEngine(ScriptEngine);
|
scene.AddScriptEngine(ScriptEngine, m_log);
|
||||||
//// TODO: TEMP load default script
|
// TODO: TEMP load default script
|
||||||
//ScriptEngine.StartScript(Path.Combine("ScriptEngines", "default.lsl"), "TEST");
|
ScriptEngine.StartScript(Path.Combine("ScriptEngines", "default.lsl"), "TEST");
|
||||||
|
|
||||||
|
|
||||||
m_localScenes.Add(scene);
|
m_localScenes.Add(scene);
|
||||||
|
|
|
@ -1017,10 +1017,10 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
|
|
||||||
#region Script Engine
|
#region Script Engine
|
||||||
private List<OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface> ScriptEngines = new List<OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface>();
|
private List<OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface> ScriptEngines = new List<OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface>();
|
||||||
public void AddScriptEngine(OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface ScriptEngine)
|
public void AddScriptEngine(OpenSim.Region.Environment.Scenes.Scripting.ScriptEngineInterface ScriptEngine, LogBase m_logger)
|
||||||
{
|
{
|
||||||
ScriptEngines.Add(ScriptEngine);
|
ScriptEngines.Add(ScriptEngine);
|
||||||
ScriptEngine.InitializeEngine(this);
|
ScriptEngine.InitializeEngine(this, m_logger);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace OpenSim.Region.Environment.Scenes.Scripting
|
||||||
{
|
{
|
||||||
public interface ScriptEngineInterface
|
public interface ScriptEngineInterface
|
||||||
{
|
{
|
||||||
void InitializeEngine(OpenSim.Region.Environment.Scenes.Scene Sceneworld);
|
void InitializeEngine(OpenSim.Region.Environment.Scenes.Scene Sceneworld, OpenSim.Framework.Console.LogBase logger);
|
||||||
void Shutdown();
|
void Shutdown();
|
||||||
void StartScript(string ScriptID, string ObjectID);
|
void StartScript(string ScriptID, string ObjectID);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,14 +36,25 @@ namespace OpenSim.Region.Environment.Scenes.Scripting
|
||||||
{
|
{
|
||||||
public class ScriptEngineLoader
|
public class ScriptEngineLoader
|
||||||
{
|
{
|
||||||
public ScriptEngineLoader()
|
private OpenSim.Framework.Console.LogBase m_log;
|
||||||
|
public ScriptEngineLoader(OpenSim.Framework.Console.LogBase logger)
|
||||||
{
|
{
|
||||||
|
m_log = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ScriptEngineInterface LoadScriptEngine(string EngineName)
|
public ScriptEngineInterface LoadScriptEngine(string EngineName)
|
||||||
{
|
{
|
||||||
return LoadAndInitAssembly(Path.Combine("ScriptEngines", "OpenSim.Region.ScriptEngine." + EngineName + ".dll"),
|
ScriptEngineInterface ret = null;
|
||||||
"OpenSim.Region.ScriptEngine." + EngineName + ".ScriptEngine");
|
try
|
||||||
|
{
|
||||||
|
ret = LoadAndInitAssembly(Path.Combine("ScriptEngines", "OpenSim.Region.ScriptEngine." + EngineName + ".dll"),
|
||||||
|
"OpenSim.Region.ScriptEngine." + EngineName + ".ScriptEngine");
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_log.Error("ScriptEngine", "Error loading assembly \"" + EngineName + "\": " + e.ToString());
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -73,6 +84,7 @@ namespace OpenSim.Region.Environment.Scenes.Scripting
|
||||||
//}
|
//}
|
||||||
//catch (Exception e)
|
//catch (Exception e)
|
||||||
//{
|
//{
|
||||||
|
// m_log.Error("ScriptEngine", "Error loading assembly \"" + FileName + "\": " + e.ToString());
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
@ -89,9 +101,20 @@ namespace OpenSim.Region.Environment.Scenes.Scripting
|
||||||
//}
|
//}
|
||||||
//catch (Exception e)
|
//catch (Exception e)
|
||||||
//{
|
//{
|
||||||
|
// m_log.Error("ScriptEngine", "Error initializing type \"" + NameSpace + "\" from \"" + FileName + "\": " + e.ToString());
|
||||||
//}
|
//}
|
||||||
|
|
||||||
return (ScriptEngineInterface)Activator.CreateInstance(t);
|
ScriptEngineInterface ret;
|
||||||
|
//try
|
||||||
|
//{
|
||||||
|
ret = (ScriptEngineInterface)Activator.CreateInstance(t);
|
||||||
|
//}
|
||||||
|
//catch (Exception e)
|
||||||
|
//{
|
||||||
|
// m_log.Error("ScriptEngine", "Error initializing type \"" + NameSpace + "\" from \"" + FileName + "\": " + e.ToString());
|
||||||
|
//}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
public static class Common
|
public static class Common
|
||||||
{
|
{
|
||||||
static public bool Debug = true;
|
static public bool Debug = true;
|
||||||
|
static public ScriptEngine mySE;
|
||||||
|
|
||||||
//public delegate void SendToDebugEventDelegate(string Message);
|
//public delegate void SendToDebugEventDelegate(string Message);
|
||||||
//public delegate void SendToLogEventDelegate(string Message);
|
//public delegate void SendToLogEventDelegate(string Message);
|
||||||
|
@ -44,13 +45,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
static public void SendToDebug(string Message)
|
static public void SendToDebug(string Message)
|
||||||
{
|
{
|
||||||
//if (Debug == true)
|
//if (Debug == true)
|
||||||
Console.WriteLine("SE:Debug: " + Message);
|
mySE.m_logger.Verbose("ScriptEngine", "Debug: " + Message);
|
||||||
//SendToDebugEvent("\r\n" + DateTime.Now.ToString("[HH:mm:ss] ") + Message);
|
//SendToDebugEvent("\r\n" + DateTime.Now.ToString("[HH:mm:ss] ") + Message);
|
||||||
}
|
}
|
||||||
static public void SendToLog(string Message)
|
static public void SendToLog(string Message)
|
||||||
{
|
{
|
||||||
//if (Debug == true)
|
//if (Debug == true)
|
||||||
Console.WriteLine("SE:LOG: " + Message);
|
mySE.m_logger.Verbose("ScriptEngine", "LOG: " + Message);
|
||||||
//SendToLogEvent("\r\n" + DateTime.Now.ToString("[HH:mm:ss] ") + Message);
|
//SendToLogEvent("\r\n" + DateTime.Now.ToString("[HH:mm:ss] ") + Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
|
||||||
public void Start(OpenSim.Region.Environment.Scenes.Scene _World, string FullScriptID)
|
public void Start(OpenSim.Region.Environment.Scenes.Scene _World, string FullScriptID)
|
||||||
{
|
{
|
||||||
World = _World;
|
World = _World;
|
||||||
Common.SendToLog("OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass.Start() called. FullScriptID: " + FullScriptID);
|
Console.WriteLine("ScriptEngine", "LSL_BaseClass.Start() called. FullScriptID: " + FullScriptID);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -49,14 +49,14 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
|
||||||
public void llWhisper(int channelID, string text)
|
public void llWhisper(int channelID, string text)
|
||||||
{
|
{
|
||||||
//Common.SendToDebug("INTERNAL FUNCTION llWhisper(" + channelID + ", \"" + text + "\");");
|
//Common.SendToDebug("INTERNAL FUNCTION llWhisper(" + channelID + ", \"" + text + "\");");
|
||||||
Console.WriteLine("llWhisper Channel " + channelID + ", Text: \"" + text + "\"");
|
Console.WriteLine("ScriptEngine", "llWhisper Channel " + channelID + ", Text: \"" + text + "\"");
|
||||||
}
|
}
|
||||||
//public void llSay(UInt32 channelID, string text)
|
//public void llSay(UInt32 channelID, string text)
|
||||||
public void llSay(int channelID, string text)
|
public void llSay(int channelID, string text)
|
||||||
{
|
{
|
||||||
//TODO: DO SOMETHING USEFUL HERE
|
//TODO: DO SOMETHING USEFUL HERE
|
||||||
//Common.SendToDebug("INTERNAL FUNCTION llSay(" + (UInt32)channelID + ", \"" + (string)text + "\");");
|
//Common.SendToDebug("INTERNAL FUNCTION llSay(" + (UInt32)channelID + ", \"" + (string)text + "\");");
|
||||||
Console.WriteLine("llSay Channel " + channelID + ", Text: \"" + text + "\"");
|
Console.WriteLine("ScriptEngine", "llSay Channel " + channelID + ", Text: \"" + text + "\"");
|
||||||
//World.SimChat(
|
//World.SimChat(
|
||||||
}
|
}
|
||||||
public void llShout(UInt16 channelID, string text) { return; }
|
public void llShout(UInt16 channelID, string text) { return; }
|
||||||
|
|
|
@ -1,387 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) Contributors, http://www.openmetaverse.org/
|
|
||||||
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
* * Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
* * Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
* * Neither the name of the OpenSim Project nor the
|
|
||||||
* names of its contributors may be used to endorse or promote products
|
|
||||||
* derived from this software without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
|
|
||||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
|
||||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
/* Original code: Tedd Hansen */
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
|
|
||||||
{
|
|
||||||
public class LSL_BuiltIn_Commands_TestImplementation //: LSL_BuiltIn_Commands_Interface
|
|
||||||
{
|
|
||||||
public LSL_BuiltIn_Commands_TestImplementation(string FullScriptID)
|
|
||||||
{
|
|
||||||
Common.SendToDebug("LSL_BuiltIn_Commands_TestImplementation: Creating object for FullScriptID: " + FullScriptID);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public float llSin(float f) { return 0; }
|
|
||||||
public float llCos(float f) { return 0; }
|
|
||||||
public float llTan(float f) { return 0; }
|
|
||||||
public float llAtan2(float x, float y) { return 0; }
|
|
||||||
public float llSqrt(float f) { return 0; }
|
|
||||||
public float llPow(float fbase, float fexponent) { return 0; }
|
|
||||||
public UInt32 llAbs(UInt32 i) { return 0; }
|
|
||||||
public float llFabs(float f) { return 0; }
|
|
||||||
public float llFrand(float mag) { return 0; }
|
|
||||||
public UInt32 llFloor(float f) { return 0; }
|
|
||||||
public UInt32 llCeil(float f) { return 0; }
|
|
||||||
public UInt32 llRound(float f) { return 0; }
|
|
||||||
public float llVecMag(Axiom.Math.Vector3 v) { return 0; }
|
|
||||||
public Axiom.Math.Vector3 llVecNorm(Axiom.Math.Vector3 v) { return new Axiom.Math.Vector3(); }
|
|
||||||
public float llVecDist(Axiom.Math.Vector3 a, Axiom.Math.Vector3 b) { return 0; }
|
|
||||||
public Axiom.Math.Vector3 llRot2Euler(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
|
|
||||||
public Axiom.Math.Quaternion llEuler2Rot(Axiom.Math.Vector3 v) { return new Axiom.Math.Quaternion(); }
|
|
||||||
public Axiom.Math.Quaternion llAxes2Rot(Axiom.Math.Vector3 fwd, Axiom.Math.Vector3 left, Axiom.Math.Vector3 up) { return new Axiom.Math.Quaternion(); }
|
|
||||||
public Axiom.Math.Vector3 llRot2Fwd(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
|
|
||||||
public Axiom.Math.Vector3 llRot2Left(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
|
|
||||||
public Axiom.Math.Vector3 llRot2Up(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
|
|
||||||
public Axiom.Math.Quaternion llRotBetween(Axiom.Math.Vector3 start, Axiom.Math.Vector3 end) { return new Axiom.Math.Quaternion(); }
|
|
||||||
public void llWhisper(UInt16 channelID, string text)
|
|
||||||
{
|
|
||||||
Common.SendToDebug("INTERNAL FUNCTION llWhisper(" + channelID + ", \"" + text + "\");");
|
|
||||||
Common.SendToLog("llWhisper Channel " + channelID + ", Text: \"" + text + "\"");
|
|
||||||
}
|
|
||||||
//public void llSay(UInt32 channelID, string text)
|
|
||||||
public void llSay(object channelID, object text)
|
|
||||||
{
|
|
||||||
//TODO: DO SOMETHING USEFUL HERE
|
|
||||||
Common.SendToDebug("INTERNAL FUNCTION llSay(" + (UInt32)channelID + ", \"" + (string)text + "\");");
|
|
||||||
Common.SendToLog("llSay Channel " + (UInt32)channelID + ", Text: \"" + (string)text + "\"");
|
|
||||||
}
|
|
||||||
public void llShout(UInt16 channelID, string text) { return; }
|
|
||||||
public UInt32 llListen(UInt16 channelID, string name, string ID, string msg) { return 0; }
|
|
||||||
public void llListenControl(UInt32 number, UInt32 active) { return; }
|
|
||||||
public void llListenRemove(UInt32 number) { return; }
|
|
||||||
public void llSensor(string name, string id, UInt32 type, float range, float arc) { return; }
|
|
||||||
public void llSensorRepeat(string name, string id, UInt32 type, float range, float arc, float rate) { return; }
|
|
||||||
public void llSensorRemove() { return; }
|
|
||||||
public string llDetectedName(UInt32 number) { return ""; }
|
|
||||||
public string llDetectedKey(UInt32 number) { return ""; }
|
|
||||||
public string llDetectedOwner(UInt32 number) { return ""; }
|
|
||||||
public UInt32 llDetectedType(UInt32 number) { return 0; }
|
|
||||||
public Axiom.Math.Vector3 llDetectedPos(UInt32 number) { return new Axiom.Math.Vector3(); }
|
|
||||||
public Axiom.Math.Vector3 llDetectedVel(UInt32 number) { return new Axiom.Math.Vector3(); }
|
|
||||||
public Axiom.Math.Vector3 llDetectedGrab(UInt32 number) { return new Axiom.Math.Vector3(); }
|
|
||||||
public Axiom.Math.Quaternion llDetectedRot(UInt32 number) { return new Axiom.Math.Quaternion(); }
|
|
||||||
public UInt32 llDetectedGroup(UInt32 number) { return 0; }
|
|
||||||
public UInt32 llDetectedLinkNumber(UInt32 number) { return 0; }
|
|
||||||
public void llDie() { return; }
|
|
||||||
public float llGround(Axiom.Math.Vector3 offset) { return 0; }
|
|
||||||
public float llCloud(Axiom.Math.Vector3 offset) { return 0; }
|
|
||||||
public Axiom.Math.Vector3 llWind(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
|
|
||||||
public void llSetStatus(UInt32 status, UInt32 value) { return; }
|
|
||||||
public UInt32 llGetStatus(UInt32 status) { return 0; }
|
|
||||||
public void llSetScale(Axiom.Math.Vector3 scale) { return; }
|
|
||||||
public Axiom.Math.Vector3 llGetScale() { return new Axiom.Math.Vector3(); }
|
|
||||||
public void llSetColor(Axiom.Math.Vector3 color, UInt32 face) { return; }
|
|
||||||
public float llGetAlpha(UInt32 face) { return 0; }
|
|
||||||
public void llSetAlpha(float alpha, UInt32 face) { return; }
|
|
||||||
public Axiom.Math.Vector3 llGetColor(UInt32 face) { return new Axiom.Math.Vector3(); }
|
|
||||||
public void llSetTexture(string texture, UInt32 face) { return; }
|
|
||||||
public void llScaleTexture(float u, float v, UInt32 face) { return; }
|
|
||||||
public void llOffsetTexture(float u, float v, UInt32 face) { return; }
|
|
||||||
public void llRotateTexture(float rotation, UInt32 face) { return; }
|
|
||||||
public string llGetTexture(UInt32 face) { return ""; }
|
|
||||||
public void llSetPos(Axiom.Math.Vector3 pos) { return; }
|
|
||||||
|
|
||||||
|
|
||||||
public void llGetPos() { }
|
|
||||||
public void llGetLocalPos() { }
|
|
||||||
public void llSetRot() { }
|
|
||||||
public void llGetRot() { }
|
|
||||||
public void llGetLocalRot() { }
|
|
||||||
public void llSetForce() { }
|
|
||||||
public void llGetForce() { }
|
|
||||||
public void llTarget() { }
|
|
||||||
public void llTargetRemove() { }
|
|
||||||
public void llRotTarget() { }
|
|
||||||
public void llRotTargetRemove() { }
|
|
||||||
public void llMoveToTarget() { }
|
|
||||||
public void llStopMoveToTarget() { }
|
|
||||||
public void llApplyImpulse() { }
|
|
||||||
public void llApplyRotationalImpulse() { }
|
|
||||||
public void llSetTorque() { }
|
|
||||||
public void llGetTorque() { }
|
|
||||||
public void llSetForceAndTorque() { }
|
|
||||||
public void llGetVel() { }
|
|
||||||
public void llGetAccel() { }
|
|
||||||
public void llGetOmega() { }
|
|
||||||
public void llGetTimeOfDay() { }
|
|
||||||
public void llGetWallclock() { }
|
|
||||||
public void llGetTime() { }
|
|
||||||
public void llResetTime() { }
|
|
||||||
public void llGetAndResetTime() { }
|
|
||||||
public void llSound() { }
|
|
||||||
public void llPlaySound() { }
|
|
||||||
public void llLoopSound() { }
|
|
||||||
public void llLoopSoundMaster() { }
|
|
||||||
public void llLoopSoundSlave() { }
|
|
||||||
public void llPlaySoundSlave() { }
|
|
||||||
public void llTriggerSound() { }
|
|
||||||
public void llStopSound() { }
|
|
||||||
public void llPreloadSound() { }
|
|
||||||
public void llGetSubString() { }
|
|
||||||
public void llDeleteSubString() { }
|
|
||||||
public void llInsertString() { }
|
|
||||||
public void llToUpper() { }
|
|
||||||
public void llToLower() { }
|
|
||||||
public void llGiveMoney() { }
|
|
||||||
public void llMakeExplosion() { }
|
|
||||||
public void llMakeFountain() { }
|
|
||||||
public void llMakeSmoke() { }
|
|
||||||
public void llMakeFire() { }
|
|
||||||
public void llRezObject() { }
|
|
||||||
public void llLookAt() { }
|
|
||||||
public void llStopLookAt() { }
|
|
||||||
public void llSetTimerEvent() { }
|
|
||||||
public void llSleep() { }
|
|
||||||
public void llGetMass() { }
|
|
||||||
public void llCollisionFilter() { }
|
|
||||||
public void llTakeControls() { }
|
|
||||||
public void llReleaseControls() { }
|
|
||||||
public void llAttachToAvatar() { }
|
|
||||||
public void llDetachFromAvatar() { }
|
|
||||||
public void llTakeCamera() { }
|
|
||||||
public void llReleaseCamera() { }
|
|
||||||
public void llGetOwner() { }
|
|
||||||
public void llInstantMessage() { }
|
|
||||||
public void llEmail() { }
|
|
||||||
public void llGetNextEmail() { }
|
|
||||||
public void llGetKey() { }
|
|
||||||
public void llSetBuoyancy() { }
|
|
||||||
public void llSetHoverHeight() { }
|
|
||||||
public void llStopHover() { }
|
|
||||||
public void llMinEventDelay() { }
|
|
||||||
public void llSoundPreload() { }
|
|
||||||
public void llRotLookAt() { }
|
|
||||||
public void llStringLength() { }
|
|
||||||
public void llStartAnimation() { }
|
|
||||||
public void llStopAnimation() { }
|
|
||||||
public void llPointAt() { }
|
|
||||||
public void llStopPointAt() { }
|
|
||||||
public void llTargetOmega() { }
|
|
||||||
public void llGetStartParameter() { }
|
|
||||||
public void llGodLikeRezObject() { }
|
|
||||||
public void llRequestPermissions() { }
|
|
||||||
public void llGetPermissionsKey() { }
|
|
||||||
public void llGetPermissions() { }
|
|
||||||
public void llGetLinkNumber() { }
|
|
||||||
public void llSetLinkColor() { }
|
|
||||||
public void llCreateLink() { }
|
|
||||||
public void llBreakLink() { }
|
|
||||||
public void llBreakAllLinks() { }
|
|
||||||
public void llGetLinkKey() { }
|
|
||||||
public void llGetLinkName() { }
|
|
||||||
public void llGetInventoryNumber() { }
|
|
||||||
public void llGetInventoryName() { }
|
|
||||||
public void llSetScriptState() { }
|
|
||||||
public void llGetEnergy() { }
|
|
||||||
public void llGiveInventory() { }
|
|
||||||
public void llRemoveInventory() { }
|
|
||||||
public void llSetText() { }
|
|
||||||
public void llWater() { }
|
|
||||||
public void llPassTouches() { }
|
|
||||||
public void llRequestAgentData() { }
|
|
||||||
public void llRequestInventoryData() { }
|
|
||||||
public void llSetDamage() { }
|
|
||||||
public void llTeleportAgentHome() { }
|
|
||||||
public void llModifyLand() { }
|
|
||||||
public void llCollisionSound() { }
|
|
||||||
public void llCollisionSprite() { }
|
|
||||||
public void llGetAnimation() { }
|
|
||||||
public void llResetScript() { }
|
|
||||||
public void llMessageLinked() { }
|
|
||||||
public void llPushObject() { }
|
|
||||||
public void llPassCollisions() { }
|
|
||||||
public void llGetScriptName() { }
|
|
||||||
public void llGetNumberOfSides() { }
|
|
||||||
public void llAxisAngle2Rot() { }
|
|
||||||
public void llRot2Axis() { }
|
|
||||||
public void llRot2Angle() { }
|
|
||||||
public void llAcos() { }
|
|
||||||
public void llAsin() { }
|
|
||||||
public void llAngleBetween() { }
|
|
||||||
public void llGetInventoryKey() { }
|
|
||||||
public void llAllowInventoryDrop() { }
|
|
||||||
public void llGetSunDirection() { }
|
|
||||||
public void llGetTextureOffset() { }
|
|
||||||
public void llGetTextureScale() { }
|
|
||||||
public void llGetTextureRot() { }
|
|
||||||
public void llSubStringIndex() { }
|
|
||||||
public void llGetOwnerKey() { }
|
|
||||||
public void llGetCenterOfMass() { }
|
|
||||||
public void llListSort() { }
|
|
||||||
public void llGetListLength() { }
|
|
||||||
public void llList2Integer() { }
|
|
||||||
public void llList2Float() { }
|
|
||||||
public void llList2String() { }
|
|
||||||
public void llList2Key() { }
|
|
||||||
public void llList2Vector() { }
|
|
||||||
public void llList2Rot() { }
|
|
||||||
public void llList2List() { }
|
|
||||||
public void llDeleteSubList() { }
|
|
||||||
public void llGetListEntryType() { }
|
|
||||||
public void llList2CSV() { }
|
|
||||||
public void llCSV2List() { }
|
|
||||||
public void llListRandomize() { }
|
|
||||||
public void llList2ListStrided() { }
|
|
||||||
public void llGetRegionCorner() { }
|
|
||||||
public void llListInsertList() { }
|
|
||||||
public void llListFindList() { }
|
|
||||||
public void llGetObjectName() { }
|
|
||||||
public void llSetObjectName() { }
|
|
||||||
public void llGetDate() { }
|
|
||||||
public void llEdgeOfWorld() { }
|
|
||||||
public void llGetAgentInfo() { }
|
|
||||||
public void llAdjustSoundVolume() { }
|
|
||||||
public void llSetSoundQueueing() { }
|
|
||||||
public void llSetSoundRadius() { }
|
|
||||||
public void llKey2Name() { }
|
|
||||||
public void llSetTextureAnim() { }
|
|
||||||
public void llTriggerSoundLimited() { }
|
|
||||||
public void llEjectFromLand() { }
|
|
||||||
public void llParseString2List() { }
|
|
||||||
public void llOverMyLand() { }
|
|
||||||
public void llGetLandOwnerAt() { }
|
|
||||||
public void llGetNotecardLine() { }
|
|
||||||
public void llGetAgentSize() { }
|
|
||||||
public void llSameGroup() { }
|
|
||||||
public void llUnSit() { }
|
|
||||||
public void llGroundSlope() { }
|
|
||||||
public void llGroundNormal() { }
|
|
||||||
public void llGroundContour() { }
|
|
||||||
public void llGetAttached() { }
|
|
||||||
public void llGetFreeMemory() { }
|
|
||||||
public void llGetRegionName() { }
|
|
||||||
public void llGetRegionTimeDilation() { }
|
|
||||||
public void llGetRegionFPS() { }
|
|
||||||
public void llParticleSystem() { }
|
|
||||||
public void llGroundRepel() { }
|
|
||||||
public void llGiveInventoryList() { }
|
|
||||||
public void llSetVehicleType() { }
|
|
||||||
public void llSetVehicleFloatParam() { }
|
|
||||||
public void llSetVehicleVectorParam() { }
|
|
||||||
public void llSetVehicleRotationParam() { }
|
|
||||||
public void llSetVehicleFlags() { }
|
|
||||||
public void llRemoveVehicleFlags() { }
|
|
||||||
public void llSitTarget() { }
|
|
||||||
public void llAvatarOnSitTarget() { }
|
|
||||||
public void llAddToLandPassList() { }
|
|
||||||
public void llSetTouchText() { }
|
|
||||||
public void llSetSitText() { }
|
|
||||||
public void llSetCameraEyeOffset() { }
|
|
||||||
public void llSetCameraAtOffset() { }
|
|
||||||
public void llDumpList2String() { }
|
|
||||||
public void llScriptDanger() { }
|
|
||||||
public void llDialog() { }
|
|
||||||
public void llVolumeDetect() { }
|
|
||||||
public void llResetOtherScript() { }
|
|
||||||
public void llGetScriptState() { }
|
|
||||||
public void llRemoteLoadScript() { }
|
|
||||||
public void llSetRemoteScriptAccessPin() { }
|
|
||||||
public void llRemoteLoadScriptPin() { }
|
|
||||||
public void llOpenRemoteDataChannel() { }
|
|
||||||
public void llSendRemoteData() { }
|
|
||||||
public void llRemoteDataReply() { }
|
|
||||||
public void llCloseRemoteDataChannel() { }
|
|
||||||
public void llMD5String() { }
|
|
||||||
public void llSetPrimitiveParams() { }
|
|
||||||
public void llStringToBase64() { }
|
|
||||||
public void llBase64ToString() { }
|
|
||||||
public void llXorBase64Strings() { }
|
|
||||||
public void llRemoteDataSetRegion() { }
|
|
||||||
public void llLog10() { }
|
|
||||||
public void llLog() { }
|
|
||||||
public void llGetAnimationList() { }
|
|
||||||
public void llSetParcelMusicURL() { }
|
|
||||||
public void llGetRootPosition() { }
|
|
||||||
public void llGetRootRotation() { }
|
|
||||||
public void llGetObjectDesc() { }
|
|
||||||
public void llSetObjectDesc() { }
|
|
||||||
public void llGetCreator() { }
|
|
||||||
public void llGetTimestamp() { }
|
|
||||||
public void llSetLinkAlpha() { }
|
|
||||||
public void llGetNumberOfPrims() { }
|
|
||||||
public void llGetNumberOfNotecardLines() { }
|
|
||||||
public void llGetBoundingBox() { }
|
|
||||||
public void llGetGeometricCenter() { }
|
|
||||||
public void llGetPrimitiveParams() { }
|
|
||||||
public void llIntegerToBase64() { }
|
|
||||||
public void llBase64ToInteger() { }
|
|
||||||
public void llGetGMTclock() { }
|
|
||||||
public void llGetSimulatorHostname() { }
|
|
||||||
public void llSetLocalRot() { }
|
|
||||||
public void llParseStringKeepNulls() { }
|
|
||||||
public void llRezAtRoot() { }
|
|
||||||
public void llGetObjectPermMask() { }
|
|
||||||
public void llSetObjectPermMask() { }
|
|
||||||
public void llGetInventoryPermMask() { }
|
|
||||||
public void llSetInventoryPermMask() { }
|
|
||||||
public void llGetInventoryCreator() { }
|
|
||||||
public void llOwnerSay() { }
|
|
||||||
public void llRequestSimulatorData() { }
|
|
||||||
public void llForceMouselook() { }
|
|
||||||
public void llGetObjectMass() { }
|
|
||||||
public void llListReplaceList() { }
|
|
||||||
public void llLoadURL() { }
|
|
||||||
public void llParcelMediaCommandList() { }
|
|
||||||
public void llParcelMediaQuery() { }
|
|
||||||
public void llModPow() { }
|
|
||||||
public void llGetInventoryType() { }
|
|
||||||
public void llSetPayPrice() { }
|
|
||||||
public void llGetCameraPos() { }
|
|
||||||
public void llGetCameraRot() { }
|
|
||||||
public void llSetPrimURL() { }
|
|
||||||
public void llRefreshPrimURL() { }
|
|
||||||
public void llEscapeURL() { }
|
|
||||||
public void llUnescapeURL() { }
|
|
||||||
public void llMapDestination() { }
|
|
||||||
public void llAddToLandBanList() { }
|
|
||||||
public void llRemoveFromLandPassList() { }
|
|
||||||
public void llRemoveFromLandBanList() { }
|
|
||||||
public void llSetCameraParams() { }
|
|
||||||
public void llClearCameraParams() { }
|
|
||||||
public void llListStatistics() { }
|
|
||||||
public void llGetUnixTime() { }
|
|
||||||
public void llGetParcelFlags() { }
|
|
||||||
public void llGetRegionFlags() { }
|
|
||||||
public void llXorBase64StringsCorrect() { }
|
|
||||||
public void llHTTPRequest() { }
|
|
||||||
public void llResetLandBanList() { }
|
|
||||||
public void llResetLandPassList() { }
|
|
||||||
public void llGetParcelPrimCount() { }
|
|
||||||
public void llGetParcelPrimOwners() { }
|
|
||||||
public void llGetObjectPrimCount() { }
|
|
||||||
public void llGetParcelMaxPrims() { }
|
|
||||||
public void llGetParcelDetails() { }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -44,12 +44,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
{
|
{
|
||||||
myScriptEngine = _ScriptEngine;
|
myScriptEngine = _ScriptEngine;
|
||||||
// TODO: HOOK EVENTS UP TO SERVER!
|
// TODO: HOOK EVENTS UP TO SERVER!
|
||||||
Common.SendToDebug("EventManager Start");
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "EventManager Start");
|
||||||
|
|
||||||
// TODO: ADD SERVER HOOK TO LOAD A SCRIPT THROUGH myScriptEngine.ScriptManager
|
// TODO: ADD SERVER HOOK TO LOAD A SCRIPT THROUGH myScriptEngine.ScriptManager
|
||||||
|
|
||||||
// Hook up a test event to our test form
|
// Hook up a test event to our test form
|
||||||
Common.SendToDebug("EventManager Hooking up dummy-event: touch_start");
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "EventManager Hooking up dummy-event: touch_start");
|
||||||
// TODO: REPLACE THIS WITH A REAL TOUCH_START EVENT IN SERVER
|
// TODO: REPLACE THIS WITH A REAL TOUCH_START EVENT IN SERVER
|
||||||
myScriptEngine.World.EventManager.OnObjectGrab += new OpenSim.Region.Environment.Scenes.EventManager.ObjectGrabDelegate(touch_start);
|
myScriptEngine.World.EventManager.OnObjectGrab += new OpenSim.Region.Environment.Scenes.EventManager.ObjectGrabDelegate(touch_start);
|
||||||
//myScriptEngine.World.touch_start += new TempWorldInterfaceEventDelegates.touch_start(touch_start);
|
//myScriptEngine.World.touch_start += new TempWorldInterfaceEventDelegates.touch_start(touch_start);
|
||||||
|
@ -58,7 +57,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
public void touch_start(uint localID, LLVector3 offsetPos, IClientAPI remoteClient)
|
public void touch_start(uint localID, LLVector3 offsetPos, IClientAPI remoteClient)
|
||||||
{
|
{
|
||||||
// Add to queue for all scripts in ObjectID object
|
// Add to queue for all scripts in ObjectID object
|
||||||
Common.SendToDebug("EventManager Event: touch_start");
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "EventManager Event: touch_start");
|
||||||
myScriptEngine.myEventQueueManager.AddToObjectQueue("TEST", "touch_start", new object[] { (int)0 });
|
myScriptEngine.myEventQueueManager.AddToObjectQueue("TEST", "touch_start", new object[] { (int)0 });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
public EventQueueManager(ScriptEngine _ScriptEngine)
|
public EventQueueManager(ScriptEngine _ScriptEngine)
|
||||||
{
|
{
|
||||||
myScriptEngine = _ScriptEngine;
|
myScriptEngine = _ScriptEngine;
|
||||||
Common.SendToDebug("EventQueueManager Start");
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "EventQueueManager Start");
|
||||||
// Start worker thread
|
// Start worker thread
|
||||||
EventQueueThread = new Thread(EventQueueThreadLoop);
|
EventQueueThread = new Thread(EventQueueThreadLoop);
|
||||||
EventQueueThread.IsBackground = true;
|
EventQueueThread.IsBackground = true;
|
||||||
|
@ -70,7 +70,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Common.SendToDebug("EventQueueManager Exception killing worker thread: " + e.ToString());
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "EventQueueManager Exception killing worker thread: " + e.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Todo: Clean up our queues
|
// Todo: Clean up our queues
|
||||||
|
@ -79,7 +79,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
|
|
||||||
private void EventQueueThreadLoop()
|
private void EventQueueThreadLoop()
|
||||||
{
|
{
|
||||||
Common.SendToDebug("EventQueueManager Worker thread spawned");
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "EventQueueManager Worker thread spawned");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
while (true)
|
while (true)
|
||||||
|
@ -93,7 +93,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
{
|
{
|
||||||
// Something in queue, process
|
// Something in queue, process
|
||||||
QueueItemStruct QIS = EventQueue.Dequeue();
|
QueueItemStruct QIS = EventQueue.Dequeue();
|
||||||
Common.SendToDebug("Processing event for ObjectID: " + QIS.ObjectID + ", ScriptID: " + QIS.ScriptID + ", FunctionName: " + QIS.FunctionName);
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "Processing event for ObjectID: " + QIS.ObjectID + ", ScriptID: " + QIS.ScriptID + ", FunctionName: " + QIS.FunctionName);
|
||||||
// TODO: Execute function
|
// TODO: Execute function
|
||||||
myScriptEngine.myScriptManager.ExecuteFunction(QIS.ObjectID, QIS.ScriptID, QIS.FunctionName, QIS.param);
|
myScriptEngine.myScriptManager.ExecuteFunction(QIS.ObjectID, QIS.ScriptID, QIS.FunctionName, QIS.param);
|
||||||
}
|
}
|
||||||
|
@ -101,14 +101,14 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
}
|
}
|
||||||
catch (ThreadAbortException tae)
|
catch (ThreadAbortException tae)
|
||||||
{
|
{
|
||||||
Common.SendToDebug("EventQueueManager Worker thread killed: " + tae.Message);
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "EventQueueManager Worker thread killed: " + tae.Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddToObjectQueue(string ObjectID, string FunctionName, object[] param)
|
public void AddToObjectQueue(string ObjectID, string FunctionName, object[] param)
|
||||||
{
|
{
|
||||||
// Determine all scripts in Object and add to their queue
|
// Determine all scripts in Object and add to their queue
|
||||||
Common.SendToDebug("EventQueueManager Adding ObjectID: " + ObjectID + ", FunctionName: " + FunctionName);
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "EventQueueManager Adding ObjectID: " + ObjectID + ", FunctionName: " + FunctionName);
|
||||||
|
|
||||||
foreach (string ScriptID in myScriptEngine.myScriptManager.GetScriptKeys(ObjectID))
|
foreach (string ScriptID in myScriptEngine.myScriptManager.GetScriptKeys(ObjectID))
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,16 +42,20 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
internal EventManager myEventManager; // Handles and queues incoming events from OpenSim
|
internal EventManager myEventManager; // Handles and queues incoming events from OpenSim
|
||||||
internal EventQueueManager myEventQueueManager; // Executes events
|
internal EventQueueManager myEventQueueManager; // Executes events
|
||||||
internal ScriptManager myScriptManager; // Load, unload and execute scripts
|
internal ScriptManager myScriptManager; // Load, unload and execute scripts
|
||||||
|
internal OpenSim.Framework.Console.LogBase m_logger;
|
||||||
|
|
||||||
public ScriptEngine()
|
public ScriptEngine()
|
||||||
{
|
{
|
||||||
Common.SendToDebug("ScriptEngine Object Initialized");
|
//Common.SendToDebug("ScriptEngine Object Initialized");
|
||||||
|
Common.mySE = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitializeEngine(OpenSim.Region.Environment.Scenes.Scene Sceneworld)
|
public void InitializeEngine(OpenSim.Region.Environment.Scenes.Scene Sceneworld, OpenSim.Framework.Console.LogBase logger)
|
||||||
{
|
{
|
||||||
World = Sceneworld;
|
World = Sceneworld;
|
||||||
Common.SendToDebug("ScriptEngine InitializeEngine()");
|
m_logger = logger;
|
||||||
|
|
||||||
|
m_logger.Status("ScriptEngine", "InitializeEngine");
|
||||||
|
|
||||||
// Create all objects we'll be using
|
// Create all objects we'll be using
|
||||||
myEventQueueManager = new EventQueueManager(this);
|
myEventQueueManager = new EventQueueManager(this);
|
||||||
|
@ -71,7 +75,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
[Obsolete("!!!FOR DEBUGGING ONLY!!!")]
|
[Obsolete("!!!FOR DEBUGGING ONLY!!!")]
|
||||||
public void StartScript(string ScriptID, string ObjectID)
|
public void StartScript(string ScriptID, string ObjectID)
|
||||||
{
|
{
|
||||||
Common.SendToDebug("ScriptEngine DEBUG: StartScript: " + ScriptID);
|
m_logger.Status("ScriptEngine", "DEBUG: StartScript: " + ScriptID);
|
||||||
myScriptManager.StartScript(ScriptID, ObjectID);
|
myScriptManager.StartScript(ScriptID, ObjectID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
public ScriptManager(ScriptEngine _ScriptEngine)
|
public ScriptManager(ScriptEngine _ScriptEngine)
|
||||||
{
|
{
|
||||||
myScriptEngine = _ScriptEngine;
|
myScriptEngine = _ScriptEngine;
|
||||||
Common.SendToDebug("ScriptManager Start");
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "ScriptManager Start");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
/// <param name="ObjectID"></param>
|
/// <param name="ObjectID"></param>
|
||||||
public void StartScript(string ScriptID, string ObjectID)
|
public void StartScript(string ScriptID, string ObjectID)
|
||||||
{
|
{
|
||||||
Common.SendToDebug("ScriptManager StartScript: ScriptID: " + ScriptID + ", ObjectID: " + ObjectID);
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "ScriptManager StartScript: ScriptID: " + ScriptID + ", ObjectID: " + ObjectID);
|
||||||
|
|
||||||
// We will initialize and start the script.
|
// We will initialize and start the script.
|
||||||
// It will be up to the script itself to hook up the correct events.
|
// It will be up to the script itself to hook up the correct events.
|
||||||
|
@ -114,13 +114,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
FileName = ScriptID;
|
FileName = ScriptID;
|
||||||
|
|
||||||
// * Does script need compile? Send it to LSL compiler first. (TODO: Use (and clean) compiler cache)
|
// * Does script need compile? Send it to LSL compiler first. (TODO: Use (and clean) compiler cache)
|
||||||
Common.SendToDebug("ScriptManager Script extension: " + System.IO.Path.GetExtension(FileName).ToLower());
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "ScriptManager Script extension: " + System.IO.Path.GetExtension(FileName).ToLower());
|
||||||
switch (System.IO.Path.GetExtension(FileName).ToLower())
|
switch (System.IO.Path.GetExtension(FileName).ToLower())
|
||||||
{
|
{
|
||||||
case ".txt":
|
case ".txt":
|
||||||
case ".lsl":
|
case ".lsl":
|
||||||
case ".cs":
|
case ".cs":
|
||||||
Common.SendToDebug("ScriptManager Script is CS/LSL, compiling to .Net Assembly");
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "ScriptManager Script is CS/LSL, compiling to .Net Assembly");
|
||||||
// Create a new instance of the compiler (currently we don't want reuse)
|
// Create a new instance of the compiler (currently we don't want reuse)
|
||||||
OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.Compiler LSLCompiler = new OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.Compiler();
|
OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.Compiler LSLCompiler = new OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.Compiler();
|
||||||
// Compile
|
// Compile
|
||||||
|
@ -130,7 +130,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
throw new Exception("Unknown script type.");
|
throw new Exception("Unknown script type.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Common.SendToDebug("Compilation done");
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "Compilation done");
|
||||||
// * Insert yield into code
|
// * Insert yield into code
|
||||||
FileName = ProcessYield(FileName);
|
FileName = ProcessYield(FileName);
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
//OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL_BuiltIn_Commands_Interface LSLB = new OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL_BuiltIn_Commands_TestImplementation(FullScriptID);
|
//OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL_BuiltIn_Commands_Interface LSLB = new OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL_BuiltIn_Commands_TestImplementation(FullScriptID);
|
||||||
|
|
||||||
// Start the script - giving it BuiltIns
|
// Start the script - giving it BuiltIns
|
||||||
Common.SendToDebug("ScriptManager initializing script, handing over private builtin command interface");
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "ScriptManager initializing script, handing over private builtin command interface");
|
||||||
Script.Start(myScriptEngine.World, ScriptID);
|
Script.Start(myScriptEngine.World, ScriptID);
|
||||||
|
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass LoadAndInitAssembly(AppDomain FreeAppDomain, string FileName)
|
private OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass LoadAndInitAssembly(AppDomain FreeAppDomain, string FileName)
|
||||||
{
|
{
|
||||||
Common.SendToDebug("ScriptManager Loading Assembly " + FileName);
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "ScriptManager Loading Assembly " + FileName);
|
||||||
// Load .Net Assembly (.dll)
|
// Load .Net Assembly (.dll)
|
||||||
// Initialize and return it
|
// Initialize and return it
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
|
|
||||||
internal void ExecuteFunction(string ObjectID, string ScriptID, string FunctionName, object[] args)
|
internal void ExecuteFunction(string ObjectID, string ScriptID, string FunctionName, object[] args)
|
||||||
{
|
{
|
||||||
Common.SendToDebug("Executing Function ObjectID: " + ObjectID + ", ScriptID: " + ScriptID + ", FunctionName: " + FunctionName);
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "Executing Function ObjectID: " + ObjectID + ", ScriptID: " + ScriptID + ", FunctionName: " + FunctionName);
|
||||||
OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass Script = myScriptEngine.myScriptManager.GetScript(ObjectID, ScriptID);
|
OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass Script = myScriptEngine.myScriptManager.GetScript(ObjectID, ScriptID);
|
||||||
|
|
||||||
Type type = Script.GetType();
|
Type type = Script.GetType();
|
||||||
|
@ -226,7 +226,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
|
|
||||||
//System.Collections.Generic.List<string> Functions = (System.Collections.Generic.List<string>)
|
//System.Collections.Generic.List<string> Functions = (System.Collections.Generic.List<string>)
|
||||||
//Type type = typeof(OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO.LSL_BaseClass);
|
//Type type = typeof(OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO.LSL_BaseClass);
|
||||||
Common.SendToDebug("Invoke: \"" + Script.State + "_event_" + FunctionName + "\"");
|
myScriptEngine.m_logger.Verbose("ScriptEngine", "Invoke: \"" + Script.State + "_event_" + FunctionName + "\"");
|
||||||
type.InvokeMember(Script.State + "_event_" + FunctionName, BindingFlags.InvokeMethod, null, Script, args);
|
type.InvokeMember(Script.State + "_event_" + FunctionName, BindingFlags.InvokeMethod, null, Script, args);
|
||||||
//System.Collections.Generic.List<string> Functions = (System.Collections.Generic.List<string>)type.InvokeMember("GetFunctions", BindingFlags.InvokeMethod, null, Script, null);
|
//System.Collections.Generic.List<string> Functions = (System.Collections.Generic.List<string>)type.InvokeMember("GetFunctions", BindingFlags.InvokeMethod, null, Script, null);
|
||||||
|
|
||||||
|
|
|
@ -958,6 +958,7 @@
|
||||||
<Reference name="Axiom.MathLib.dll" localCopy="false"/>
|
<Reference name="Axiom.MathLib.dll" localCopy="false"/>
|
||||||
<Reference name="libsecondlife.dll"/>
|
<Reference name="libsecondlife.dll"/>
|
||||||
<Reference name="OpenSim.Framework"/>
|
<Reference name="OpenSim.Framework"/>
|
||||||
|
<Reference name="OpenSim.Framework.Console"/>
|
||||||
<Files>
|
<Files>
|
||||||
<Match pattern="*.cs" recurse="true"/>
|
<Match pattern="*.cs" recurse="true"/>
|
||||||
<Match pattern="*.lso" recurse="true"/>
|
<Match pattern="*.lso" recurse="true"/>
|
||||||
|
|
Loading…
Reference in New Issue