From 3358d70c5b174b2b9ac1216e9e43497279982805 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Sun, 20 Apr 2008 04:19:44 +0000 Subject: * Updates LSL2CS converter * All objects are not touchable by default now * When a script listens for one of the touch events in the state, an object becomes touchable. * All LSL scripts report which events they consume now ** This uses semi-complicated Regex to discover the events, stick them in a dictionary, and then write a method call into each script state's state_entry() event. ** Tedd may figure out a better way to do this in the future. For now, this works for LSL. --- OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs | 4 ++++ OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 5 +++++ OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs | 1 + 3 files changed, 10 insertions(+) (limited to 'OpenSim/Region/ScriptEngine/Common') diff --git a/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs b/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs index cb4ca39..b6468c2 100644 --- a/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs +++ b/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs @@ -1990,6 +1990,10 @@ namespace OpenSim.Region.ScriptEngine.Common return m_LSL_Functions.osDrawImage(drawList, width, height, imageUrl); } + public void osSetStateEvents(int events) + { + m_LSL_Functions.osSetStateEvents(events); + } // diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 26e56c7..4192d40 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs @@ -5597,6 +5597,11 @@ namespace OpenSim.Region.ScriptEngine.Common return drawList; } + public void osSetStateEvents(int events) + { + m_host.setScriptEvents(m_itemID,events); + } + private void NotImplemented(string command) { if (throwErrorOnNotImplemented) diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs index 4e632ef..205e908 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands_Interface.cs @@ -669,5 +669,6 @@ namespace OpenSim.Region.ScriptEngine.Common string osSetPenSize(string drawList, int penSize); string osSetPenColour(string drawList, string colour); string osDrawImage(string drawList, int width, int height, string imageUrl); + void osSetStateEvents(int events); } } -- cgit v1.1