mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 06:06:06 +08:00
* Made new Framework.Constants class, added RegionSize member.
* Converted all instances of "256" spotted to use RegionSize instead. Some approximations used for border crossings (ie 255.9f) are still using that value, but should be updated to use something based on RegionSize. * Moving Terrain to a RegionModule, implemented ITerrainChannel and TerrainModule - nonfunctional, but will be soon.
This commit is contained in:
@@ -2232,7 +2232,7 @@ namespace OpenSim.Region.ScriptEngine.Common
|
||||
public LSL_Types.Vector3 llGetRegionCorner()
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * 256, World.RegionInfo.RegionLocY * 256, 0);
|
||||
return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * Constants.RegionSize, World.RegionInfo.RegionLocY * Constants.RegionSize, 0);
|
||||
}
|
||||
|
||||
public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int start)
|
||||
|
||||
@@ -272,41 +272,59 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
|
||||
switch (l)
|
||||
{
|
||||
case enumCompileType.cs:
|
||||
compileScript = String.Empty +
|
||||
"using OpenSim.Region.ScriptEngine.Common; using System.Collections.Generic;\r\n" +
|
||||
String.Empty + "namespace SecondLife { " +
|
||||
String.Empty + "public class Script : OpenSim.Region.ScriptEngine.Common.LSL_BaseClass { \r\n" +
|
||||
@"public Script() { } " +
|
||||
compileScript +
|
||||
"} }\r\n";
|
||||
compileScript = CreateCSCompilerScript(compileScript);
|
||||
break;
|
||||
case enumCompileType.vb:
|
||||
compileScript = String.Empty +
|
||||
"Imports OpenSim.Region.ScriptEngine.Common: Imports System.Collections.Generic: " +
|
||||
String.Empty + "NameSpace SecondLife:" +
|
||||
String.Empty + "Public Class Script: Inherits OpenSim.Region.ScriptEngine.Common.LSL_BaseClass: " +
|
||||
"\r\nPublic Sub New()\r\nEnd Sub: " +
|
||||
compileScript +
|
||||
":End Class :End Namespace\r\n";
|
||||
compileScript = CreateVBCompilerScript(compileScript);
|
||||
break;
|
||||
case enumCompileType.js:
|
||||
compileScript = String.Empty +
|
||||
"import OpenSim.Region.ScriptEngine.Common; import System.Collections.Generic;\r\n" +
|
||||
"package SecondLife {\r\n" +
|
||||
"class Script extends OpenSim.Region.ScriptEngine.Common.LSL_BaseClass { \r\n" +
|
||||
compileScript +
|
||||
"} }\r\n";
|
||||
compileScript = CreateJSCompilerScript(compileScript);
|
||||
break;
|
||||
}
|
||||
return CompileFromCSorVBText(compileScript, l);
|
||||
return CompileFromDotNetText(compileScript, l);
|
||||
}
|
||||
|
||||
private static string CreateJSCompilerScript(string compileScript)
|
||||
{
|
||||
compileScript = String.Empty +
|
||||
"import OpenSim.Region.ScriptEngine.Common; import System.Collections.Generic;\r\n" +
|
||||
"package SecondLife {\r\n" +
|
||||
"class Script extends OpenSim.Region.ScriptEngine.Common.LSL_BaseClass { \r\n" +
|
||||
compileScript +
|
||||
"} }\r\n";
|
||||
return compileScript;
|
||||
}
|
||||
|
||||
private static string CreateCSCompilerScript(string compileScript)
|
||||
{
|
||||
compileScript = String.Empty +
|
||||
"using OpenSim.Region.ScriptEngine.Common; using System.Collections.Generic;\r\n" +
|
||||
String.Empty + "namespace SecondLife { " +
|
||||
String.Empty + "public class Script : OpenSim.Region.ScriptEngine.Common.LSL_BaseClass { \r\n" +
|
||||
@"public Script() { } " +
|
||||
compileScript +
|
||||
"} }\r\n";
|
||||
return compileScript;
|
||||
}
|
||||
|
||||
private static string CreateVBCompilerScript(string compileScript)
|
||||
{
|
||||
compileScript = String.Empty +
|
||||
"Imports OpenSim.Region.ScriptEngine.Common: Imports System.Collections.Generic: " +
|
||||
String.Empty + "NameSpace SecondLife:" +
|
||||
String.Empty + "Public Class Script: Inherits OpenSim.Region.ScriptEngine.Common.LSL_BaseClass: " +
|
||||
"\r\nPublic Sub New()\r\nEnd Sub: " +
|
||||
compileScript +
|
||||
":End Class :End Namespace\r\n";
|
||||
return compileScript;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Compile CS script to .Net assembly (.dll)
|
||||
/// Compile .NET script to .Net assembly (.dll)
|
||||
/// </summary>
|
||||
/// <param name="Script">CS script</param>
|
||||
/// <returns>Filename to .dll assembly</returns>
|
||||
internal string CompileFromCSorVBText(string Script, enumCompileType lang)
|
||||
internal string CompileFromDotNetText(string Script, enumCompileType lang)
|
||||
{
|
||||
string ext = "." + lang.ToString();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user