Taken the old scripting engine out of Region.Environment and moved it into a separate module: OpenSim.Region.ExtensionsScriptModule (named as such because the purpose of it is to script server extensions, rather than "user scripting" like Tedd's engine.)

afrisby
MW 2007-08-28 18:30:28 +00:00
parent 5a149084d4
commit c16aafee09
45 changed files with 3727 additions and 3081 deletions

View File

@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using OpenSim.Framework.Console;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Modules;
@ -37,6 +38,8 @@ namespace OpenSim.Region.Environment
avatarProfiles.Initialise(scene);
scene.AddModule(avatarProfiles.GetName(), avatarProfiles);
this.LoadModule("OpenSim.Region.ExtensionsScriptModule.dll", "ExtensionsScriptingModule", scene);
// Post Initialise Modules
xferManager.PostInitialise();
// chatModule.PostInitialise(); //for now leave this disabled as it would start up a partially working irc bot

View File

@ -21,7 +21,7 @@ namespace OpenSim.Region.Environment.Modules
private int m_port = 6668;
private string m_user = "USER OpenSimBot 8 * :I'm a OpenSim to irc bot";
private string m_nick = "OpenSimBoT";
private string m_nick = "OpenSimBot";
private string m_channel = "#opensim";
private NetworkStream m_stream;

View File

@ -155,16 +155,6 @@ namespace OpenSim.Region.Environment.Scenes
});
}
/// <summary>
///
/// </summary>
/// <param name="remoteClient"></param>
public void SendAvatarsToClient(IClientAPI remoteClient)
{
}
/// <summary>
///
/// </summary>

View File

@ -44,7 +44,6 @@ using OpenSim.Framework.Communications.Caches;
using OpenSim.Region.Environment.LandManagement;
using OpenSim.Region.Environment;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Scripting;
using OpenSim.Region.Terrain;
using OpenSim.Framework.Data;
using Caps = OpenSim.Region.Capabilities.Caps;
@ -122,13 +121,6 @@ namespace OpenSim.Region.Environment.Scenes
get { return m_estateManager; }
}
private ScriptManager m_scriptManager;
public ScriptManager ScriptManager
{
get { return m_scriptManager; }
}
private PermissionManager m_permissionManager;
public PermissionManager PermissionsMngr
@ -174,7 +166,6 @@ namespace OpenSim.Region.Environment.Scenes
m_LandManager = new LandManager(this, m_regInfo);
m_estateManager = new EstateManager(this, m_regInfo);
m_scriptManager = new ScriptManager(this);
m_eventManager = new EventManager();
m_permissionManager = new PermissionManager(this);

View File

@ -1,10 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM.Types.PrimitiveTypes
{
public class Byte : BaseType
{
}
}

View File

@ -1,10 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM.Types.PrimitiveTypes
{
public class Char : BaseType
{
}
}

View File

@ -31,7 +31,7 @@ using System.Collections.Generic;
using Microsoft.CSharp;
using OpenSim.Framework.Console;
namespace OpenSim.Region.Scripting
namespace OpenSim.Region.ExtensionsScriptModule.CSharp
{
public class CSharpScriptEngine : IScriptCompiler
{

View File

@ -6,7 +6,7 @@ using OpenSim.Region.Environment.Scenes;
using System.Collections.Generic;
using libsecondlife;
namespace OpenSim.Region.Scripting.Examples
namespace OpenSim.Region.ExtensionsScriptModule.CSharp.Examples
{
public class LSLExportScript : IScript
{

View File

@ -31,7 +31,7 @@ using System.Collections.Generic;
using Microsoft.JScript;
using OpenSim.Framework.Console;
namespace OpenSim.Region.Scripting
namespace OpenSim.Region.ExtensionsScriptModule.JScript
{
public class JScriptEngine : IScriptCompiler
{

View File

@ -28,9 +28,9 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.Scripting.EmbeddedJVM.Types;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
public class ClassInstance : Object
{

View File

@ -29,10 +29,10 @@ using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.Scripting.EmbeddedJVM.Types;
using OpenSim.Region.Scripting.EmbeddedJVM.Types.PrimitiveTypes;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types.PrimitiveTypes;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
public class ClassRecord
{

View File

@ -29,7 +29,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
public class Heap
{

View File

@ -28,10 +28,10 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.Scripting.EmbeddedJVM.Types;
using OpenSim.Region.Scripting.EmbeddedJVM.Types.PrimitiveTypes;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types.PrimitiveTypes;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
partial class Thread
{

View File

@ -28,13 +28,13 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.Scripting.EmbeddedJVM.Types;
using OpenSim.Region.Scripting.EmbeddedJVM.Types.PrimitiveTypes;
using OpenSim.Framework.Interfaces;
using OpenSim.Framework;
using OpenSim.Framework.Types;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types.PrimitiveTypes;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
partial class Thread
{

View File

@ -29,7 +29,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
partial class Thread
{

View File

@ -28,10 +28,10 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.Scripting.EmbeddedJVM.Types;
using OpenSim.Region.Scripting.EmbeddedJVM.Types.PrimitiveTypes;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types.PrimitiveTypes;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
partial class Thread
{

View File

@ -29,7 +29,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
public class MainMemory
{

View File

@ -29,7 +29,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
public class MethodMemory
{

View File

@ -29,7 +29,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
public class Object
{

View File

@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
public enum OpCode : byte
{

View File

@ -29,7 +29,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
public class Stack
{

View File

@ -28,9 +28,9 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.Scripting.EmbeddedJVM.Types;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
public class StackFrame
{

View File

@ -28,14 +28,14 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.Scripting.EmbeddedJVM.Types;
using OpenSim.Region.Scripting.EmbeddedJVM.Types.PrimitiveTypes;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types.PrimitiveTypes;
using OpenSim.Framework;
using OpenSim.Framework.Interfaces;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Scripting;
using OpenSim.Region.ExtensionsScriptModule;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM
{
public partial class Thread
{

View File

@ -2,10 +2,9 @@ using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.Scripting;
using OpenSim.Region.Scripting.EmbeddedJVM;
using OpenSim.Region.ExtensionsScriptModule;
namespace OpenSim.Region.Scripting
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine
{
public class JavaEngine : IScriptCompiler
{

View File

@ -33,10 +33,11 @@ using System.Threading;
using OpenSim.Framework;
using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Utilities;
using OpenSim.Region.Scripting;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM;
using Thread = OpenSim.Region.ExtensionsScriptModule.JVMEngine.JVM.Thread;
namespace OpenSim.Region.Scripting.EmbeddedJVM
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine
{
public class JVMScript : IScript
{

View File

@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM.Types
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types
{
public class ArrayReference :BaseType
{

View File

@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM.Types
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types
{
public class BaseType : Object
{

View File

@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Scripting.EmbeddedJVM.Types
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types
{
public class ObjectReference : BaseType
{

View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types.PrimitiveTypes
{
public class Byte : BaseType
{
}
}

View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types.PrimitiveTypes
{
public class Char : BaseType
{
}
}

View File

@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
namespace OpenSim.Region.Scripting.EmbeddedJVM.Types.PrimitiveTypes
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types.PrimitiveTypes
{
public class Float : BaseType
{

View File

@ -1,8 +1,9 @@
using System;
using System.Collections.Generic;
using System.Text;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types;
namespace OpenSim.Region.Scripting.EmbeddedJVM.Types.PrimitiveTypes
namespace OpenSim.Region.ExtensionsScriptModule.JVMEngine.Types.PrimitiveTypes
{
public class Int : BaseType
{

View File

@ -0,0 +1,213 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{DD34045D-0000-0000-0000-000000000000}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>OpenSim.Region.ExtensionScriptEngine</AssemblyName>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<AppDesignerFolder>
</AppDesignerFolder>
<RootNamespace>OpenSim.Region.ExtensionScriptEngine</RootNamespace>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>True</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<Optimize>False</Optimize>
<OutputPath>..\..\..\bin\</OutputPath>
<RegisterForComInterop>False</RegisterForComInterop>
<RemoveIntegerChecks>False</RemoveIntegerChecks>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<NoWarn>
</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>False</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<Optimize>True</Optimize>
<OutputPath>..\..\..\bin\</OutputPath>
<RegisterForComInterop>False</RegisterForComInterop>
<RemoveIntegerChecks>False</RemoveIntegerChecks>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<NoWarn>
</NoWarn>
</PropertyGroup>
<ItemGroup>
<Reference Include="libsecondlife.dll">
<HintPath>..\..\..\bin\libsecondlife.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.JScript">
<HintPath>Microsoft.JScript.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System">
<HintPath>System.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System.Xml">
<HintPath>System.Xml.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Framework\General\OpenSim.Framework.csproj">
<Name>OpenSim.Framework</Name>
<Project>{8ACA2445-0000-0000-0000-000000000000}</Project>
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\Framework\Console\OpenSim.Framework.Console.csproj">
<Name>OpenSim.Framework.Console</Name>
<Project>{A7CD0630-0000-0000-0000-000000000000}</Project>
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\Environment\OpenSim.Region.Environment.csproj">
<Name>OpenSim.Region.Environment</Name>
<Project>{DCBA491C-0000-0000-0000-000000000000}</Project>
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Compile Include="NullScriptHost.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Script.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ScriptAPI.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ScriptInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ScriptInterpretedAPI.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ScriptInterpretedEvents.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ScriptManager.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\CSharpEngine\CSharpScriptEngine.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\CSharpEngine\Examples\ExportRegionToLSL.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JScriptEngine\JScriptEngine.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JavaEngine.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\OpenSimJVM.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\ClassInstance.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\ClassRecord.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Heap.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Interpreter.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Interpreter.Logic.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Interpreter.Methods.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Interpreter.Return.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\MainMemory.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\MethodMemory.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Object.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\OpCodes.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Stack.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\StackFrame.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Thread.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\ArrayReference.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\BaseType.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\ObjectReference.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\PrimitiveTypes\Byte.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\PrimitiveTypes\Char.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\PrimitiveTypes\Float.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\PrimitiveTypes\Int.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,12 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ReferencePath>C:\New Folder\second-life-viewer\opensim-dailys2\opensim11-07\bin\</ReferencePath>
<LastOpenVersion>8.0.50727</LastOpenVersion>
<ProjectView>ProjectFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition = " '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition = " '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
</Project>

View File

@ -0,0 +1,78 @@
<?xml version="1.0" ?>
<project name="OpenSim.Region.ExtensionScriptEngine" default="build">
<target name="build">
<echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" />
<mkdir dir="${project::get-base-directory()}/${build.dir}" />
<copy todir="${project::get-base-directory()}/${build.dir}">
<fileset basedir="${project::get-base-directory()}">
</fileset>
</copy>
<csc target="library" debug="${build.debug}" unsafe="False" define="TRACE;DEBUG" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.dll">
<resources prefix="OpenSim.Region.ExtensionScriptEngine" dynamicprefix="true" >
</resources>
<sources failonempty="true">
<include name="IScriptHost.cs" />
<include name="NullScriptHost.cs" />
<include name="Script.cs" />
<include name="ScriptAPI.cs" />
<include name="ScriptInfo.cs" />
<include name="ScriptInterpretedAPI.cs" />
<include name="ScriptInterpretedEvents.cs" />
<include name="ScriptManager.cs" />
<include name="Engines/CSharpEngine/CSharpScriptEngine.cs" />
<include name="Engines/CSharpEngine/Examples/ExportRegionToLSL.cs" />
<include name="Engines/JScriptEngine/JScriptEngine.cs" />
<include name="Engines/JVMEngine/JavaEngine.cs" />
<include name="Engines/JVMEngine/OpenSimJVM.cs" />
<include name="Engines/JVMEngine/JVM/ClassInstance.cs" />
<include name="Engines/JVMEngine/JVM/ClassRecord.cs" />
<include name="Engines/JVMEngine/JVM/Heap.cs" />
<include name="Engines/JVMEngine/JVM/Interpreter.cs" />
<include name="Engines/JVMEngine/JVM/Interpreter.Logic.cs" />
<include name="Engines/JVMEngine/JVM/Interpreter.Methods.cs" />
<include name="Engines/JVMEngine/JVM/Interpreter.Return.cs" />
<include name="Engines/JVMEngine/JVM/MainMemory.cs" />
<include name="Engines/JVMEngine/JVM/MethodMemory.cs" />
<include name="Engines/JVMEngine/JVM/Object.cs" />
<include name="Engines/JVMEngine/JVM/OpCodes.cs" />
<include name="Engines/JVMEngine/JVM/Stack.cs" />
<include name="Engines/JVMEngine/JVM/StackFrame.cs" />
<include name="Engines/JVMEngine/JVM/Thread.cs" />
<include name="Engines/JVMEngine/Types/ArrayReference.cs" />
<include name="Engines/JVMEngine/Types/BaseType.cs" />
<include name="Engines/JVMEngine/Types/ObjectReference.cs" />
<include name="Engines/JVMEngine/Types/PrimitiveTypes/Byte.cs" />
<include name="Engines/JVMEngine/Types/PrimitiveTypes/Char.cs" />
<include name="Engines/JVMEngine/Types/PrimitiveTypes/Float.cs" />
<include name="Engines/JVMEngine/Types/PrimitiveTypes/Int.cs" />
</sources>
<references basedir="${project::get-base-directory()}">
<lib>
<include name="${project::get-base-directory()}" />
<include name="${project::get-base-directory()}/${build.dir}" />
</lib>
<include name="../../../bin/libsecondlife.dll" />
<include name="Microsoft.JScript.dll" />
<include name="../../../bin/OpenSim.Framework.dll" />
<include name="../../../bin/OpenSim.Framework.Console.dll" />
<include name="../../../bin/OpenSim.Region.Environment.dll" />
<include name="System.dll" />
<include name="System.Xml.dll" />
</references>
</csc>
<echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../../bin/" />
<mkdir dir="${project::get-base-directory()}/../../../bin/"/>
<copy todir="${project::get-base-directory()}/../../../bin/">
<fileset basedir="${project::get-base-directory()}/${build.dir}/" >
<include name="*.dll"/>
<include name="*.exe"/>
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="${bin.dir}" failonerror="false" />
<delete dir="${obj.dir}" failonerror="false" />
</target>
<target name="doc" description="Creates documentation.">
</target>
</project>

View File

@ -0,0 +1,207 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{512D761A-0000-0000-0000-000000000000}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon></ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>OpenSim.Region.ExtensionsScriptModule</AssemblyName>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<AppDesignerFolder></AppDesignerFolder>
<RootNamespace>OpenSim.Region.ExtensionsScriptModule</RootNamespace>
<StartupObject></StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<DocumentationFile></DocumentationFile>
<DebugSymbols>True</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<Optimize>False</Optimize>
<OutputPath>..\..\..\bin\</OutputPath>
<RegisterForComInterop>False</RegisterForComInterop>
<RemoveIntegerChecks>False</RemoveIntegerChecks>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<NoWarn></NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile></DocumentationFile>
<DebugSymbols>False</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<Optimize>True</Optimize>
<OutputPath>..\..\..\bin\</OutputPath>
<RegisterForComInterop>False</RegisterForComInterop>
<RemoveIntegerChecks>False</RemoveIntegerChecks>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<NoWarn></NoWarn>
</PropertyGroup>
<ItemGroup>
<Reference Include="Axiom.MathLib.dll" >
<HintPath>..\..\..\bin\Axiom.MathLib.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="libsecondlife.dll" >
<HintPath>..\..\..\bin\libsecondlife.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.JScript" >
<HintPath>Microsoft.JScript.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" >
<HintPath>System.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System.Xml" >
<HintPath>System.Xml.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Framework\General\OpenSim.Framework.csproj">
<Name>OpenSim.Framework</Name>
<Project>{8ACA2445-0000-0000-0000-000000000000}</Project>
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\Framework\Console\OpenSim.Framework.Console.csproj">
<Name>OpenSim.Framework.Console</Name>
<Project>{A7CD0630-0000-0000-0000-000000000000}</Project>
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\Environment\OpenSim.Region.Environment.csproj">
<Name>OpenSim.Region.Environment</Name>
<Project>{DCBA491C-0000-0000-0000-000000000000}</Project>
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Compile Include="Script.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ScriptAPI.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ScriptInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ScriptInterpretedAPI.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ScriptInterpretedEvents.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="ScriptManager.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\CSharp\CSharpScriptEngine.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\CSharp\Examples\ExportRegionToLSL.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JScript\JScriptEngine.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JavaEngine.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\OpenSimJVM.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\ClassInstance.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\ClassRecord.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Heap.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Interpreter.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Interpreter.Logic.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Interpreter.Methods.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Interpreter.Return.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\MainMemory.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\MethodMemory.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Object.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\OpCodes.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Stack.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\StackFrame.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\JVM\Thread.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\ArrayReference.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\BaseType.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\ObjectReference.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\PrimitiveTypes\Byte.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\PrimitiveTypes\Char.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\PrimitiveTypes\Float.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Engines\JVMEngine\Types\PrimitiveTypes\Int.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,12 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ReferencePath>C:\New Folder\second-life-viewer\opensim-dailys2\opensim11-07\bin\</ReferencePath>
<LastOpenVersion>8.0.50727</LastOpenVersion>
<ProjectView>ProjectFiles</ProjectView>
<ProjectTrust>0</ProjectTrust>
</PropertyGroup>
<PropertyGroup Condition = " '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition = " '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
</Project>

View File

@ -0,0 +1,77 @@
<?xml version="1.0" ?>
<project name="OpenSim.Region.ExtensionsScriptModule" default="build">
<target name="build">
<echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" />
<mkdir dir="${project::get-base-directory()}/${build.dir}" />
<copy todir="${project::get-base-directory()}/${build.dir}">
<fileset basedir="${project::get-base-directory()}">
</fileset>
</copy>
<csc target="library" debug="${build.debug}" unsafe="False" define="TRACE;DEBUG" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.dll">
<resources prefix="OpenSim.Region.ExtensionsScriptModule" dynamicprefix="true" >
</resources>
<sources failonempty="true">
<include name="Script.cs" />
<include name="ScriptAPI.cs" />
<include name="ScriptInfo.cs" />
<include name="ScriptInterpretedAPI.cs" />
<include name="ScriptInterpretedEvents.cs" />
<include name="ScriptManager.cs" />
<include name="Engines/CSharp/CSharpScriptEngine.cs" />
<include name="Engines/CSharp/Examples/ExportRegionToLSL.cs" />
<include name="Engines/JScript/JScriptEngine.cs" />
<include name="Engines/JVMEngine/JavaEngine.cs" />
<include name="Engines/JVMEngine/OpenSimJVM.cs" />
<include name="Engines/JVMEngine/JVM/ClassInstance.cs" />
<include name="Engines/JVMEngine/JVM/ClassRecord.cs" />
<include name="Engines/JVMEngine/JVM/Heap.cs" />
<include name="Engines/JVMEngine/JVM/Interpreter.cs" />
<include name="Engines/JVMEngine/JVM/Interpreter.Logic.cs" />
<include name="Engines/JVMEngine/JVM/Interpreter.Methods.cs" />
<include name="Engines/JVMEngine/JVM/Interpreter.Return.cs" />
<include name="Engines/JVMEngine/JVM/MainMemory.cs" />
<include name="Engines/JVMEngine/JVM/MethodMemory.cs" />
<include name="Engines/JVMEngine/JVM/Object.cs" />
<include name="Engines/JVMEngine/JVM/OpCodes.cs" />
<include name="Engines/JVMEngine/JVM/Stack.cs" />
<include name="Engines/JVMEngine/JVM/StackFrame.cs" />
<include name="Engines/JVMEngine/JVM/Thread.cs" />
<include name="Engines/JVMEngine/Types/ArrayReference.cs" />
<include name="Engines/JVMEngine/Types/BaseType.cs" />
<include name="Engines/JVMEngine/Types/ObjectReference.cs" />
<include name="Engines/JVMEngine/Types/PrimitiveTypes/Byte.cs" />
<include name="Engines/JVMEngine/Types/PrimitiveTypes/Char.cs" />
<include name="Engines/JVMEngine/Types/PrimitiveTypes/Float.cs" />
<include name="Engines/JVMEngine/Types/PrimitiveTypes/Int.cs" />
</sources>
<references basedir="${project::get-base-directory()}">
<lib>
<include name="${project::get-base-directory()}" />
<include name="${project::get-base-directory()}/${build.dir}" />
</lib>
<include name="../../../bin/Axiom.MathLib.dll" />
<include name="../../../bin/libsecondlife.dll" />
<include name="Microsoft.JScript.dll" />
<include name="../../../bin/OpenSim.Framework.dll" />
<include name="../../../bin/OpenSim.Framework.Console.dll" />
<include name="../../../bin/OpenSim.Region.Environment.dll" />
<include name="System.dll" />
<include name="System.Xml.dll" />
</references>
</csc>
<echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../../bin/" />
<mkdir dir="${project::get-base-directory()}/../../../bin/"/>
<copy todir="${project::get-base-directory()}/../../../bin/">
<fileset basedir="${project::get-base-directory()}/${build.dir}/" >
<include name="*.dll"/>
<include name="*.exe"/>
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="${bin.dir}" failonerror="false" />
<delete dir="${obj.dir}" failonerror="false" />
</target>
<target name="doc" description="Creates documentation.">
</target>
</project>

View File

@ -27,7 +27,7 @@
*/
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Scripting
namespace OpenSim.Region.ExtensionsScriptModule
{
public interface IScript
{

View File

@ -9,7 +9,7 @@ using LSLList = System.Collections.Generic.List<string>;
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Scripting
namespace OpenSim.Region.ExtensionsScriptModule
{
// This class is to be used for engines which may not be able to access the Scene directly.
// Scene access is preffered, but obviously not possible on some non-.NET languages.

View File

@ -28,7 +28,7 @@
using OpenSim.Framework.Console;
using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Scripting
namespace OpenSim.Region.ExtensionsScriptModule
{
/// <summary>
/// Class which provides access to the world

View File

@ -10,7 +10,7 @@ using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Environment.LandManagement;
using libsecondlife;
namespace OpenSim.Region.Scripting
namespace OpenSim.Region.ExtensionsScriptModule
{
/// <summary>
/// A class inteded to act as an API for LSL-styled interpreted languages

View File

@ -5,7 +5,7 @@ using OpenSim.Region.Environment.Scenes;
using libsecondlife;
using Key = libsecondlife.LLUUID;
namespace OpenSim.Region.Scripting
namespace OpenSim.Region.ExtensionsScriptModule
{
public class ScriptInterpretedEvents

View File

@ -27,21 +27,26 @@
*/
using System.Collections.Generic;
using OpenSim.Framework.Console;
using OpenSim.Region.Environment;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.ExtensionsScriptModule.CSharp;
using OpenSim.Region.ExtensionsScriptModule.JScript;
using OpenSim.Region.ExtensionsScriptModule.JVMEngine;
namespace OpenSim.Region.Scripting
namespace OpenSim.Region.ExtensionsScriptModule
{
public class ScriptManager
public class ScriptManager : IRegionModule
{
List<IScript> scripts = new List<IScript>();
Scene scene;
Scene m_scene;
Dictionary<string, IScriptCompiler> compilers = new Dictionary<string, IScriptCompiler>();
private void LoadFromCompiler(Dictionary<string, IScript> compiledscripts)
{
foreach (KeyValuePair<string, IScript> script in compiledscripts)
{
ScriptInfo scriptInfo = new ScriptInfo(scene); // Since each script could potentially corrupt their access with a stray assignment, making a new one for each script.
ScriptInfo scriptInfo = new ScriptInfo(m_scene); // Since each script could potentially corrupt their access with a stray assignment, making a new one for each script.
MainLog.Instance.Verbose("Loading " + script.Key);
script.Value.Initialise(scriptInfo);
scripts.Add(script.Value);
@ -49,10 +54,8 @@ namespace OpenSim.Region.Scripting
MainLog.Instance.Verbose("Finished loading " + compiledscripts.Count.ToString() + " script(s)");
}
public ScriptManager(Scene world)
public ScriptManager()
{
scene = world;
// Default Engines
CSharpScriptEngine csharpCompiler = new CSharpScriptEngine();
compilers.Add(csharpCompiler.FileExt(),csharpCompiler);
@ -64,7 +67,31 @@ namespace OpenSim.Region.Scripting
compilers.Add(javaCompiler.FileExt(), javaCompiler);
}
public void Compile(string filename)
public void Initialise(Scene scene)
{
System.Console.WriteLine("Initialising Extensions Scripting Module");
m_scene = scene;
m_scene.RegisterAPIMethod("API_CompileExtensionScript", new ModuleAPIMethod<bool, string, int>(Compile));
m_scene.RegisterAPIMethod("API_AddExtensionScript", new ModuleAPIMethod<bool, IScript, int>(AddPreCompiledScript));
}
public void PostInitialise()
{
}
public void CloseDown()
{
}
public string GetName()
{
return "ExtensionsScriptingModule";
}
public bool Compile(string filename, int dummyParam)
{
foreach (KeyValuePair<string, IScriptCompiler> compiler in compilers)
{
@ -74,6 +101,8 @@ namespace OpenSim.Region.Scripting
break;
}
}
return true;
}
public void RunScriptCmd(string[] args)
@ -81,7 +110,7 @@ namespace OpenSim.Region.Scripting
switch (args[0])
{
case "load":
Compile(args[1]);
Compile(args[1], 0);
break;
default:
@ -90,12 +119,14 @@ namespace OpenSim.Region.Scripting
}
}
public void AddPreCompiledScript(IScript script)
public bool AddPreCompiledScript(IScript script, int dummyParam)
{
MainLog.Instance.Verbose("Loading script " + script.Name);
ScriptInfo scriptInfo = new ScriptInfo(scene); // Since each script could potentially corrupt their access with a stray assignment, making a new one for each script.
ScriptInfo scriptInfo = new ScriptInfo(m_scene); // Since each script could potentially corrupt their access with a stray assignment, making a new one for each script.
script.Initialise(scriptInfo);
scripts.Add(script);
return true;
}
}

View File

@ -595,6 +595,34 @@
</Files>
</Project>
<Project name="OpenSim.Region.ExtensionsScriptModule" path="OpenSim/Region/ExtensionsScriptModule" type="Library">
<Configuration name="Debug">
<Options>
<OutputPath>../../../bin/</OutputPath>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../../bin/</OutputPath>
</Options>
</Configuration>
<ReferencePath>../../../bin/</ReferencePath>
<Reference name="System"/>
<Reference name="System.Xml"/>
<Reference name="Microsoft.JScript"/>
<Reference name="libsecondlife.dll" />
<Reference name="OpenSim.Framework"/>
<Reference name="OpenSim.Region.Environment"/>
<Reference name="OpenSim.Framework.Console"/>
<Reference name="Axiom.MathLib.dll"/>
<Files>
<Match pattern="*.cs" recurse="true"/>
</Files>
</Project>
<!-- OpenSim app -->
<Project name="OpenSim" path="OpenSim/Region/Application" type="Exe">
<Configuration name="Debug">