diff options
-rw-r--r-- | OpenSim.Config/SimConfigDb4o/AssemblyInfo.cs | 31 | ||||
-rw-r--r-- | OpenSim.Config/SimConfigDb4o/DbSimConfig.cs | 136 | ||||
-rw-r--r-- | OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.csproj | 111 | ||||
-rw-r--r-- | OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.dll.build | 46 | ||||
-rw-r--r-- | OpenSim.Config/SimConfigDb4o/OpenSim.Framework.Config.SimConfigDb4o.dll.build | 47 | ||||
-rw-r--r-- | OpenSim.RegionServer/OpenSim.RegionServer.csproj | 3 | ||||
-rw-r--r-- | OpenSim.RegionServer/OpenSim.RegionServer.dll.build | 1 | ||||
-rw-r--r-- | OpenSim.RegionServer/SimClient.cs | 7 | ||||
-rw-r--r-- | OpenSim.RegionServer/world/World.cs | 224 | ||||
-rw-r--r-- | OpenSim.RegionServer/world/WorldPacketHandlers.cs | 200 | ||||
-rw-r--r-- | OpenSim.build | 3 | ||||
-rw-r--r-- | OpenSim.sln | 6 | ||||
-rw-r--r-- | prebuild.xml | 26 |
13 files changed, 237 insertions, 604 deletions
diff --git a/OpenSim.Config/SimConfigDb4o/AssemblyInfo.cs b/OpenSim.Config/SimConfigDb4o/AssemblyInfo.cs deleted file mode 100644 index 96c3e73..0000000 --- a/OpenSim.Config/SimConfigDb4o/AssemblyInfo.cs +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | using System.Reflection; | ||
2 | using System.Runtime.CompilerServices; | ||
3 | using System.Runtime.InteropServices; | ||
4 | |||
5 | // Information about this assembly is defined by the following | ||
6 | // attributes. | ||
7 | // | ||
8 | // change them to the information which is associated with the assembly | ||
9 | // you compile. | ||
10 | |||
11 | [assembly: AssemblyTitle("SimConfig")] | ||
12 | [assembly: AssemblyDescription("")] | ||
13 | [assembly: AssemblyConfiguration("")] | ||
14 | [assembly: AssemblyCompany("")] | ||
15 | [assembly: AssemblyProduct("SimConfig")] | ||
16 | [assembly: AssemblyCopyright("")] | ||
17 | [assembly: AssemblyTrademark("")] | ||
18 | [assembly: AssemblyCulture("")] | ||
19 | |||
20 | // This sets the default COM visibility of types in the assembly to invisible. | ||
21 | // If you need to expose a type to COM, use [ComVisible(true)] on that type. | ||
22 | [assembly: ComVisible(false)] | ||
23 | |||
24 | // The assembly version has following format : | ||
25 | // | ||
26 | // Major.Minor.Build.Revision | ||
27 | // | ||
28 | // You can specify all values by your own or you can build default build and revision | ||
29 | // numbers with the '*' character (the default): | ||
30 | |||
31 | [assembly: AssemblyVersion("1.0.*")] | ||
diff --git a/OpenSim.Config/SimConfigDb4o/DbSimConfig.cs b/OpenSim.Config/SimConfigDb4o/DbSimConfig.cs deleted file mode 100644 index 9b51b45..0000000 --- a/OpenSim.Config/SimConfigDb4o/DbSimConfig.cs +++ /dev/null | |||
@@ -1,136 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (c) OpenSim project, http://sim.opensecondlife.org/ | ||
3 | * | ||
4 | * Redistribution and use in source and binary forms, with or without | ||
5 | * modification, are permitted provided that the following conditions are met: | ||
6 | * * Redistributions of source code must retain the above copyright | ||
7 | * notice, this list of conditions and the following disclaimer. | ||
8 | * * Redistributions in binary form must reproduce the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer in the | ||
10 | * documentation and/or other materials provided with the distribution. | ||
11 | * * Neither the name of the <organization> nor the | ||
12 | * names of its contributors may be used to endorse or promote products | ||
13 | * derived from this software without specific prior written permission. | ||
14 | * | ||
15 | * THIS SOFTWARE IS PROVIDED BY <copyright holder> ``AS IS'' AND ANY | ||
16 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
17 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
18 | * DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY | ||
19 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
20 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
21 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
22 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
24 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
25 | * | ||
26 | */ | ||
27 | using System; | ||
28 | using System.Collections.Generic; | ||
29 | using OpenSim; | ||
30 | using OpenSim.Framework.Utilities; | ||
31 | using OpenSim.Framework.Interfaces; | ||
32 | //using OpenSim.world; | ||
33 | using Db4objects.Db4o; | ||
34 | |||
35 | namespace OpenSim.Config.SimConfigDb4o | ||
36 | { | ||
37 | public class Db40ConfigPlugin: ISimConfig | ||
38 | { | ||
39 | public SimConfig GetConfigObject() | ||
40 | { | ||
41 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Loading Db40Config dll"); | ||
42 | return ( new DbSimConfig()); | ||
43 | } | ||
44 | } | ||
45 | |||
46 | public class DbSimConfig : SimConfig | ||
47 | { | ||
48 | private bool isSandbox; | ||
49 | private IObjectContainer db; | ||
50 | |||
51 | public void LoadDefaults() { | ||
52 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Config.cs:LoadDefaults() - Please press enter to retain default or enter new settings"); | ||
53 | |||
54 | this.RegionName=OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Name [OpenSim test]: ","OpenSim test"); | ||
55 | this.RegionLocX=(uint)Convert.ToInt32(OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Grid Location X [997]: ","997")); | ||
56 | this.RegionLocY=(uint)Convert.ToInt32(OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Grid Location Y [996]: ","996")); | ||
57 | this.IPListenPort=Convert.ToInt32(OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("UDP port for client connections [9000]: ","9000")); | ||
58 | this.IPListenAddr=OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("IP Address to listen on for client connections [127.0.0.1]: ","127.0.0.1"); | ||
59 | |||
60 | if(!isSandbox) | ||
61 | { | ||
62 | this.AssetURL=OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Asset server URL: "); | ||
63 | this.AssetSendKey=OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Asset server key: "); | ||
64 | this.GridURL=OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Grid server URL: "); | ||
65 | this.GridSendKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to send to grid server: "); | ||
66 | this.GridRecvKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to expect from grid server: "); | ||
67 | this.UserURL = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("User server URL: "); | ||
68 | this.UserSendKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to send to user server: "); | ||
69 | this.UserRecvKey = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Key to expect from user server: "); | ||
70 | } | ||
71 | this.RegionHandle = Util.UIntsToLong((RegionLocX*256), (RegionLocY*256)); | ||
72 | } | ||
73 | |||
74 | public override void InitConfig(bool sandboxMode) { | ||
75 | this.isSandbox = sandboxMode; | ||
76 | try { | ||
77 | db = Db4oFactory.OpenFile("opensim.yap"); | ||
78 | IObjectSet result = db.Get(typeof(DbSimConfig)); | ||
79 | if(result.Count==1) { | ||
80 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Config.cs:InitConfig() - Found a SimConfig object in the local database, loading"); | ||
81 | foreach (DbSimConfig cfg in result) { | ||
82 | this.RegionName = cfg.RegionName; | ||
83 | this.RegionLocX = cfg.RegionLocX; | ||
84 | this.RegionLocY = cfg.RegionLocY; | ||
85 | this.RegionHandle = Util.UIntsToLong((RegionLocX*256), (RegionLocY*256)); | ||
86 | this.IPListenPort = cfg.IPListenPort; | ||
87 | this.IPListenAddr = cfg.IPListenAddr; | ||
88 | this.AssetURL = cfg.AssetURL; | ||
89 | this.AssetSendKey = cfg.AssetSendKey; | ||
90 | this.GridURL = cfg.GridURL; | ||
91 | this.GridSendKey = cfg.GridSendKey; | ||
92 | } | ||
93 | } else { | ||
94 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Config.cs:InitConfig() - Could not find object in database, loading precompiled defaults"); | ||
95 | LoadDefaults(); | ||
96 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Writing out default settings to local database"); | ||
97 | db.Set(this); | ||
98 | db.Commit(); | ||
99 | } | ||
100 | } catch(Exception e) { | ||
101 | db.Close(); | ||
102 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Config.cs:InitConfig() - Exception occured"); | ||
103 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(e.ToString()); | ||
104 | } | ||
105 | |||
106 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Sim settings loaded:"); | ||
107 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Name: " + this.RegionName); | ||
108 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Region Location: [" + this.RegionLocX.ToString() + "," + this.RegionLocY + "]"); | ||
109 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Region Handle: " + this.RegionHandle.ToString()); | ||
110 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Listening on IP: " + this.IPListenAddr + ":" + this.IPListenPort); | ||
111 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Sandbox Mode? " + isSandbox.ToString()); | ||
112 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Asset URL: " + this.AssetURL); | ||
113 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Asset key: " + this.AssetSendKey); | ||
114 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Grid URL: " + this.GridURL); | ||
115 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Grid key: " + this.GridSendKey); | ||
116 | } | ||
117 | |||
118 | public override void LoadFromGrid() { | ||
119 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Config.cs:LoadFromGrid() - dummy function, DOING ABSOLUTELY NOTHING AT ALL!!!"); | ||
120 | // TODO: Make this crap work | ||
121 | /* WebRequest GridLogin = WebRequest.Create(this.GridURL + "regions/" + this.RegionHandle.ToString() + "/login"); | ||
122 | WebResponse GridResponse = GridLogin.GetResponse(); | ||
123 | byte[] idata = new byte[(int)GridResponse.ContentLength]; | ||
124 | BinaryReader br = new BinaryReader(GridResponse.GetResponseStream()); | ||
125 | |||
126 | br.Close(); | ||
127 | GridResponse.Close(); | ||
128 | */ | ||
129 | } | ||
130 | |||
131 | public void Shutdown() { | ||
132 | db.Close(); | ||
133 | } | ||
134 | } | ||
135 | |||
136 | } | ||
diff --git a/OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.csproj b/OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.csproj deleted file mode 100644 index 5e0577e..0000000 --- a/OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.csproj +++ /dev/null | |||
@@ -1,111 +0,0 @@ | |||
1 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
2 | <PropertyGroup> | ||
3 | <ProjectType>Local</ProjectType> | ||
4 | <ProductVersion>8.0.50727</ProductVersion> | ||
5 | <SchemaVersion>2.0</SchemaVersion> | ||
6 | <ProjectGuid>{83C87BE6-0000-0000-0000-000000000000}</ProjectGuid> | ||
7 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
8 | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | ||
9 | <ApplicationIcon></ApplicationIcon> | ||
10 | <AssemblyKeyContainerName> | ||
11 | </AssemblyKeyContainerName> | ||
12 | <AssemblyName>OpenSim.Config.SimConfigDb4o</AssemblyName> | ||
13 | <DefaultClientScript>JScript</DefaultClientScript> | ||
14 | <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> | ||
15 | <DefaultTargetSchema>IE50</DefaultTargetSchema> | ||
16 | <DelaySign>false</DelaySign> | ||
17 | <OutputType>Library</OutputType> | ||
18 | <AppDesignerFolder></AppDesignerFolder> | ||
19 | <RootNamespace>OpenSim.Config.SimConfigDb4o</RootNamespace> | ||
20 | <StartupObject></StartupObject> | ||
21 | <FileUpgradeFlags> | ||
22 | </FileUpgradeFlags> | ||
23 | </PropertyGroup> | ||
24 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | ||
25 | <AllowUnsafeBlocks>False</AllowUnsafeBlocks> | ||
26 | <BaseAddress>285212672</BaseAddress> | ||
27 | <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> | ||
28 | <ConfigurationOverrideFile> | ||
29 | </ConfigurationOverrideFile> | ||
30 | <DefineConstants>TRACE;DEBUG</DefineConstants> | ||
31 | <DocumentationFile></DocumentationFile> | ||
32 | <DebugSymbols>True</DebugSymbols> | ||
33 | <FileAlignment>4096</FileAlignment> | ||
34 | <Optimize>False</Optimize> | ||
35 | <OutputPath>..\..\bin\</OutputPath> | ||
36 | <RegisterForComInterop>False</RegisterForComInterop> | ||
37 | <RemoveIntegerChecks>False</RemoveIntegerChecks> | ||
38 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> | ||
39 | <WarningLevel>4</WarningLevel> | ||
40 | <NoWarn></NoWarn> | ||
41 | </PropertyGroup> | ||
42 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | ||
43 | <AllowUnsafeBlocks>False</AllowUnsafeBlocks> | ||
44 | <BaseAddress>285212672</BaseAddress> | ||
45 | <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> | ||
46 | <ConfigurationOverrideFile> | ||
47 | </ConfigurationOverrideFile> | ||
48 | <DefineConstants>TRACE</DefineConstants> | ||
49 | <DocumentationFile></DocumentationFile> | ||
50 | <DebugSymbols>False</DebugSymbols> | ||
51 | <FileAlignment>4096</FileAlignment> | ||
52 | <Optimize>True</Optimize> | ||
53 | <OutputPath>..\..\bin\</OutputPath> | ||
54 | <RegisterForComInterop>False</RegisterForComInterop> | ||
55 | <RemoveIntegerChecks>False</RemoveIntegerChecks> | ||
56 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> | ||
57 | <WarningLevel>4</WarningLevel> | ||
58 | <NoWarn></NoWarn> | ||
59 | </PropertyGroup> | ||
60 | <ItemGroup> | ||
61 | <Reference Include="System" > | ||
62 | <HintPath>System.dll</HintPath> | ||
63 | <Private>False</Private> | ||
64 | </Reference> | ||
65 | <Reference Include="System.Data.dll" > | ||
66 | <HintPath>..\..\bin\System.Data.dll</HintPath> | ||
67 | <Private>False</Private> | ||
68 | </Reference> | ||
69 | <Reference Include="System.Xml" > | ||
70 | <HintPath>System.Xml.dll</HintPath> | ||
71 | <Private>False</Private> | ||
72 | </Reference> | ||
73 | <Reference Include="libsecondlife.dll" > | ||
74 | <HintPath>..\..\bin\libsecondlife.dll</HintPath> | ||
75 | <Private>False</Private> | ||
76 | </Reference> | ||
77 | <Reference Include="Db4objects.Db4o.dll" > | ||
78 | <HintPath>..\..\bin\Db4objects.Db4o.dll</HintPath> | ||
79 | <Private>False</Private> | ||
80 | </Reference> | ||
81 | </ItemGroup> | ||
82 | <ItemGroup> | ||
83 | <ProjectReference Include="..\..\OpenSim.Framework\OpenSim.Framework.csproj"> | ||
84 | <Name>OpenSim.Framework</Name> | ||
85 | <Project>{8ACA2445-0000-0000-0000-000000000000}</Project> | ||
86 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | ||
87 | <Private>False</Private> | ||
88 | </ProjectReference> | ||
89 | <ProjectReference Include="..\..\OpenSim.Framework.Console\OpenSim.Framework.Console.csproj"> | ||
90 | <Name>OpenSim.Framework.Console</Name> | ||
91 | <Project>{A7CD0630-0000-0000-0000-000000000000}</Project> | ||
92 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | ||
93 | <Private>False</Private> | ||
94 | </ProjectReference> | ||
95 | </ItemGroup> | ||
96 | <ItemGroup> | ||
97 | <Compile Include="AssemblyInfo.cs"> | ||
98 | <SubType>Code</SubType> | ||
99 | </Compile> | ||
100 | <Compile Include="DbSimConfig.cs"> | ||
101 | <SubType>Code</SubType> | ||
102 | </Compile> | ||
103 | </ItemGroup> | ||
104 | <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" /> | ||
105 | <PropertyGroup> | ||
106 | <PreBuildEvent> | ||
107 | </PreBuildEvent> | ||
108 | <PostBuildEvent> | ||
109 | </PostBuildEvent> | ||
110 | </PropertyGroup> | ||
111 | </Project> | ||
diff --git a/OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.dll.build b/OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.dll.build deleted file mode 100644 index 3ec42a8..0000000 --- a/OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.dll.build +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | <?xml version="1.0" ?> | ||
2 | <project name="OpenSim.Config.SimConfigDb4o" default="build"> | ||
3 | <target name="build"> | ||
4 | <echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" /> | ||
5 | <mkdir dir="${project::get-base-directory()}/${build.dir}" /> | ||
6 | <copy todir="${project::get-base-directory()}/${build.dir}"> | ||
7 | <fileset basedir="${project::get-base-directory()}"> | ||
8 | </fileset> | ||
9 | </copy> | ||
10 | <csc target="library" debug="${build.debug}" unsafe="False" define="TRACE;DEBUG" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.dll"> | ||
11 | <resources prefix="OpenSim.Config.SimConfigDb4o" dynamicprefix="true" > | ||
12 | </resources> | ||
13 | <sources failonempty="true"> | ||
14 | <include name="AssemblyInfo.cs" /> | ||
15 | <include name="DbSimConfig.cs" /> | ||
16 | </sources> | ||
17 | <references basedir="${project::get-base-directory()}"> | ||
18 | <lib> | ||
19 | <include name="${project::get-base-directory()}" /> | ||
20 | <include name="${project::get-base-directory()}/${build.dir}" /> | ||
21 | </lib> | ||
22 | <include name="System.dll" /> | ||
23 | <include name="System.Data.dll.dll" /> | ||
24 | <include name="System.Xml.dll" /> | ||
25 | <include name="../../bin/libsecondlife.dll" /> | ||
26 | <include name="../../bin/Db4objects.Db4o.dll" /> | ||
27 | <include name="../../bin/OpenSim.Framework.dll" /> | ||
28 | <include name="../../bin/OpenSim.Framework.Console.dll" /> | ||
29 | </references> | ||
30 | </csc> | ||
31 | <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" /> | ||
32 | <mkdir dir="${project::get-base-directory()}/../../bin/"/> | ||
33 | <copy todir="${project::get-base-directory()}/../../bin/"> | ||
34 | <fileset basedir="${project::get-base-directory()}/${build.dir}/" > | ||
35 | <include name="*.dll"/> | ||
36 | <include name="*.exe"/> | ||
37 | </fileset> | ||
38 | </copy> | ||
39 | </target> | ||
40 | <target name="clean"> | ||
41 | <delete dir="${bin.dir}" failonerror="false" /> | ||
42 | <delete dir="${obj.dir}" failonerror="false" /> | ||
43 | </target> | ||
44 | <target name="doc" description="Creates documentation."> | ||
45 | </target> | ||
46 | </project> | ||
diff --git a/OpenSim.Config/SimConfigDb4o/OpenSim.Framework.Config.SimConfigDb4o.dll.build b/OpenSim.Config/SimConfigDb4o/OpenSim.Framework.Config.SimConfigDb4o.dll.build deleted file mode 100644 index 9e9d767..0000000 --- a/OpenSim.Config/SimConfigDb4o/OpenSim.Framework.Config.SimConfigDb4o.dll.build +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | <?xml version="1.0" ?> | ||
2 | <project name="OpenSim.Framework.Config.SimConfigDb4o" default="build"> | ||
3 | <target name="build"> | ||
4 | <echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" /> | ||
5 | <mkdir dir="${project::get-base-directory()}/${build.dir}" /> | ||
6 | <copy todir="${project::get-base-directory()}/${build.dir}"> | ||
7 | <fileset basedir="${project::get-base-directory()}"> | ||
8 | </fileset> | ||
9 | </copy> | ||
10 | <csc target="library" debug="${build.debug}" unsafe="False" define="TRACE" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.dll"> | ||
11 | <resources prefix="OpenSim.Framework.Config.SimConfigDb4o" dynamicprefix="true" > | ||
12 | </resources> | ||
13 | <sources failonempty="true"> | ||
14 | <include name="AssemblyInfo.cs" /> | ||
15 | <include name="DbSimConfig.cs" /> | ||
16 | <include name="MapStorage.cs" /> | ||
17 | </sources> | ||
18 | <references basedir="${project::get-base-directory()}"> | ||
19 | <lib> | ||
20 | <include name="${project::get-base-directory()}" /> | ||
21 | <include name="${project::get-base-directory()}/${build.dir}" /> | ||
22 | </lib> | ||
23 | <include name="System.dll" /> | ||
24 | <include name="System.Data.dll.dll" /> | ||
25 | <include name="System.Xml.dll" /> | ||
26 | <include name="../../bin/libsecondlife.dll" /> | ||
27 | <include name="../../bin/Db4objects.Db4o.dll" /> | ||
28 | <include name="../../OpenSim.Framework/${build.dir}/OpenSim.Framework.dll" /> | ||
29 | <include name="../../OpenSim.Framework.Console/${build.dir}/OpenSim.Framework.Console.dll" /> | ||
30 | </references> | ||
31 | </csc> | ||
32 | <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/" /> | ||
33 | <mkdir dir="${project::get-base-directory()}/../../bin/"/> | ||
34 | <copy todir="${project::get-base-directory()}/../../bin/"> | ||
35 | <fileset basedir="${project::get-base-directory()}/${build.dir}/" > | ||
36 | <include name="*.dll"/> | ||
37 | <include name="*.exe"/> | ||
38 | </fileset> | ||
39 | </copy> | ||
40 | </target> | ||
41 | <target name="clean"> | ||
42 | <delete dir="${bin.dir}" failonerror="false" /> | ||
43 | <delete dir="${obj.dir}" failonerror="false" /> | ||
44 | </target> | ||
45 | <target name="doc" description="Creates documentation."> | ||
46 | </target> | ||
47 | </project> | ||
diff --git a/OpenSim.RegionServer/OpenSim.RegionServer.csproj b/OpenSim.RegionServer/OpenSim.RegionServer.csproj index cee91f8..73f523a 100644 --- a/OpenSim.RegionServer/OpenSim.RegionServer.csproj +++ b/OpenSim.RegionServer/OpenSim.RegionServer.csproj | |||
@@ -190,6 +190,9 @@ | |||
190 | <Compile Include="world\World.cs"> | 190 | <Compile Include="world\World.cs"> |
191 | <SubType>Code</SubType> | 191 | <SubType>Code</SubType> |
192 | </Compile> | 192 | </Compile> |
193 | <Compile Include="world\WorldPacketHandlers.cs"> | ||
194 | <SubType>Code</SubType> | ||
195 | </Compile> | ||
193 | <Compile Include="world\scripting\IScript.cs"> | 196 | <Compile Include="world\scripting\IScript.cs"> |
194 | <SubType>Code</SubType> | 197 | <SubType>Code</SubType> |
195 | </Compile> | 198 | </Compile> |
diff --git a/OpenSim.RegionServer/OpenSim.RegionServer.dll.build b/OpenSim.RegionServer/OpenSim.RegionServer.dll.build index c0289e7..7488a3e 100644 --- a/OpenSim.RegionServer/OpenSim.RegionServer.dll.build +++ b/OpenSim.RegionServer/OpenSim.RegionServer.dll.build | |||
@@ -37,6 +37,7 @@ | |||
37 | <include name="world/ScriptEngine.cs" /> | 37 | <include name="world/ScriptEngine.cs" /> |
38 | <include name="world/SurfacePatch.cs" /> | 38 | <include name="world/SurfacePatch.cs" /> |
39 | <include name="world/World.cs" /> | 39 | <include name="world/World.cs" /> |
40 | <include name="world/WorldPacketHandlers.cs" /> | ||
40 | <include name="world/scripting/IScript.cs" /> | 41 | <include name="world/scripting/IScript.cs" /> |
41 | <include name="world/scripting/IScriptContext.cs" /> | 42 | <include name="world/scripting/IScriptContext.cs" /> |
42 | <include name="world/scripting/IScriptEntity.cs" /> | 43 | <include name="world/scripting/IScriptEntity.cs" /> |
diff --git a/OpenSim.RegionServer/SimClient.cs b/OpenSim.RegionServer/SimClient.cs index 1564238..770573a 100644 --- a/OpenSim.RegionServer/SimClient.cs +++ b/OpenSim.RegionServer/SimClient.cs | |||
@@ -813,12 +813,13 @@ namespace OpenSim | |||
813 | } | 813 | } |
814 | 814 | ||
815 | m_gridServer.LogoutSession(this.SessionID, this.AgentID, this.CircuitCode); | 815 | m_gridServer.LogoutSession(this.SessionID, this.AgentID, this.CircuitCode); |
816 | lock (m_world.Entities) | 816 | /*lock (m_world.Entities) |
817 | { | 817 | { |
818 | m_world.Entities.Remove(this.AgentID); | 818 | m_world.Entities.Remove(this.AgentID); |
819 | } | 819 | }*/ |
820 | m_world.RemoveViewerAgent(this); | ||
820 | //need to do other cleaning up here too | 821 | //need to do other cleaning up here too |
821 | m_clientThreads.Remove(this.CircuitCode); //this.userEP); | 822 | m_clientThreads.Remove(this.CircuitCode); |
822 | m_application.RemoveClientCircuit(this.CircuitCode); | 823 | m_application.RemoveClientCircuit(this.CircuitCode); |
823 | this.ClientThread.Abort(); | 824 | this.ClientThread.Abort(); |
824 | return true; | 825 | return true; |
diff --git a/OpenSim.RegionServer/world/World.cs b/OpenSim.RegionServer/world/World.cs index 4661a90..5e4a3d3 100644 --- a/OpenSim.RegionServer/world/World.cs +++ b/OpenSim.RegionServer/world/World.cs | |||
@@ -17,7 +17,7 @@ using OpenSim.RegionServer.world.scripting.Scripts; | |||
17 | 17 | ||
18 | namespace OpenSim.world | 18 | namespace OpenSim.world |
19 | { | 19 | { |
20 | public class World : ILocalStorageReceiver | 20 | public partial class World : ILocalStorageReceiver |
21 | { | 21 | { |
22 | public object LockPhysicsEngine = new object(); | 22 | public object LockPhysicsEngine = new object(); |
23 | public Dictionary<libsecondlife.LLUUID, Entity> Entities; | 23 | public Dictionary<libsecondlife.LLUUID, Entity> Entities; |
@@ -86,10 +86,10 @@ namespace OpenSim.world | |||
86 | 86 | ||
87 | if (this.m_scripts.TryGetValue(substring, out scriptFactory)) | 87 | if (this.m_scripts.TryGetValue(substring, out scriptFactory)) |
88 | { | 88 | { |
89 | //Console.WriteLine("added script"); | 89 | //Console.WriteLine("added script"); |
90 | this.AddScript(entity, scriptFactory()); | 90 | this.AddScript(entity, scriptFactory()); |
91 | } | 91 | } |
92 | 92 | ||
93 | } | 93 | } |
94 | 94 | ||
95 | public InventoryCache InventoryCache | 95 | public InventoryCache InventoryCache |
@@ -208,7 +208,6 @@ namespace OpenSim.world | |||
208 | 208 | ||
209 | public void RegenerateTerrain(float[] newMap) | 209 | public void RegenerateTerrain(float[] newMap) |
210 | { | 210 | { |
211 | |||
212 | this.LandMap = newMap; | 211 | this.LandMap = newMap; |
213 | lock (this.LockPhysicsEngine) | 212 | lock (this.LockPhysicsEngine) |
214 | { | 213 | { |
@@ -309,8 +308,8 @@ namespace OpenSim.world | |||
309 | 308 | ||
310 | Packet layerpack = TerrainManager.CreateLandPacket(LandMap, patches); | 309 | Packet layerpack = TerrainManager.CreateLandPacket(LandMap, patches); |
311 | RemoteClient.OutPacket(layerpack); | 310 | RemoteClient.OutPacket(layerpack); |
312 | |||
313 | } | 311 | } |
312 | |||
314 | public void GetInitialPrims(SimClient RemoteClient) | 313 | public void GetInitialPrims(SimClient RemoteClient) |
315 | { | 314 | { |
316 | foreach (libsecondlife.LLUUID UUID in Entities.Keys) | 315 | foreach (libsecondlife.LLUUID UUID in Entities.Keys) |
@@ -323,19 +322,38 @@ namespace OpenSim.world | |||
323 | } | 322 | } |
324 | } | 323 | } |
325 | 324 | ||
326 | public void AddViewerAgent(SimClient AgentClient) | 325 | public void AddViewerAgent(SimClient agentClient) |
327 | { | 326 | { |
328 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Creating new avatar for remote viewer agent"); | 327 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Creating new avatar for remote viewer agent"); |
329 | Avatar NewAvatar = new Avatar(AgentClient, this, m_regionName, m_clientThreads, m_regionHandle); | 328 | Avatar newAvatar = new Avatar(agentClient, this, m_regionName, m_clientThreads, m_regionHandle); |
330 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Adding new avatar to world"); | 329 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Adding new avatar to world"); |
331 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Starting RegionHandshake "); | 330 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("World.cs:AddViewerAgent() - Starting RegionHandshake "); |
332 | NewAvatar.SendRegionHandshake(this); | 331 | newAvatar.SendRegionHandshake(this); |
333 | PhysicsVector pVec = new PhysicsVector(NewAvatar.Pos.X, NewAvatar.Pos.Y, NewAvatar.Pos.Z); | 332 | PhysicsVector pVec = new PhysicsVector(newAvatar.Pos.X, newAvatar.Pos.Y, newAvatar.Pos.Z); |
334 | lock (this.LockPhysicsEngine) | 333 | lock (this.LockPhysicsEngine) |
335 | { | 334 | { |
336 | NewAvatar.PhysActor = this.phyScene.AddAvatar(pVec); | 335 | newAvatar.PhysActor = this.phyScene.AddAvatar(pVec); |
336 | } | ||
337 | lock (Entities) | ||
338 | { | ||
339 | this.Entities.Add(agentClient.AgentID, newAvatar); | ||
340 | } | ||
341 | lock (Avatars) | ||
342 | { | ||
343 | this.Avatars.Add(agentClient.AgentID, newAvatar); | ||
344 | } | ||
345 | } | ||
346 | |||
347 | public void RemoveViewerAgent(SimClient agentClient) | ||
348 | { | ||
349 | lock (Entities) | ||
350 | { | ||
351 | Entities.Remove(agentClient.AgentID); | ||
352 | } | ||
353 | lock (Avatars) | ||
354 | { | ||
355 | Avatars.Remove(agentClient.AgentID); | ||
337 | } | 356 | } |
338 | this.Entities.Add(AgentClient.AgentID, NewAvatar); | ||
339 | } | 357 | } |
340 | 358 | ||
341 | public void AddNewPrim(ObjectAddPacket addPacket, SimClient AgentClient) | 359 | public void AddNewPrim(ObjectAddPacket addPacket, SimClient AgentClient) |
@@ -357,94 +375,6 @@ namespace OpenSim.world | |||
357 | this._primCount++; | 375 | this._primCount++; |
358 | } | 376 | } |
359 | 377 | ||
360 | public bool DeRezObject(SimClient simClient, Packet packet) | ||
361 | { | ||
362 | DeRezObjectPacket DeRezPacket = (DeRezObjectPacket)packet; | ||
363 | // Console.WriteLine(DeRezPacket); | ||
364 | //Needs to delete object from physics at a later date | ||
365 | if (DeRezPacket.AgentBlock.DestinationID == LLUUID.Zero) | ||
366 | { | ||
367 | libsecondlife.LLUUID[] DeRezEnts; | ||
368 | DeRezEnts = new libsecondlife.LLUUID[DeRezPacket.ObjectData.Length]; | ||
369 | int i = 0; | ||
370 | foreach (DeRezObjectPacket.ObjectDataBlock Data in DeRezPacket.ObjectData) | ||
371 | { | ||
372 | |||
373 | //OpenSim.Framework.Console.MainConsole.Instance.WriteLine("LocalID:" + Data.ObjectLocalID.ToString()); | ||
374 | foreach (Entity ent in this.Entities.Values) | ||
375 | { | ||
376 | if (ent.localid == Data.ObjectLocalID) | ||
377 | { | ||
378 | DeRezEnts[i++] = ent.uuid; | ||
379 | this.localStorage.RemovePrim(ent.uuid); | ||
380 | KillObjectPacket kill = new KillObjectPacket(); | ||
381 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; | ||
382 | kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); | ||
383 | kill.ObjectData[0].ID = ent.localid; | ||
384 | foreach (SimClient client in m_clientThreads.Values) | ||
385 | { | ||
386 | client.OutPacket(kill); | ||
387 | } | ||
388 | //Uncommenting this means an old UUID will be re-used, thus crashing the asset server | ||
389 | //Uncomment when prim/object UUIDs are random or such | ||
390 | //2007-03-22 - Randomskk | ||
391 | //this._primCount--; | ||
392 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Deleted UUID " + ent.uuid); | ||
393 | } | ||
394 | } | ||
395 | } | ||
396 | foreach (libsecondlife.LLUUID uuid in DeRezEnts) | ||
397 | { | ||
398 | lock (Entities) | ||
399 | { | ||
400 | Entities.Remove(uuid); | ||
401 | } | ||
402 | } | ||
403 | } | ||
404 | else | ||
405 | { | ||
406 | foreach (DeRezObjectPacket.ObjectDataBlock Data in DeRezPacket.ObjectData) | ||
407 | { | ||
408 | Entity selectedEnt = null; | ||
409 | //OpenSim.Framework.Console.MainConsole.Instance.WriteLine("LocalID:" + Data.ObjectLocalID.ToString()); | ||
410 | foreach (Entity ent in this.Entities.Values) | ||
411 | { | ||
412 | if (ent.localid == Data.ObjectLocalID) | ||
413 | { | ||
414 | AssetBase primAsset = new AssetBase(); | ||
415 | primAsset.FullID = LLUUID.Random();//DeRezPacket.AgentBlock.TransactionID.Combine(LLUUID.Zero); //should be combining with securesessionid | ||
416 | primAsset.InvType = 6; | ||
417 | primAsset.Type = 6; | ||
418 | primAsset.Name = "Prim"; | ||
419 | primAsset.Description = ""; | ||
420 | primAsset.Data = ((Primitive)ent).GetByteArray(); | ||
421 | this._assetCache.AddAsset(primAsset); | ||
422 | this._inventoryCache.AddNewInventoryItem(simClient, DeRezPacket.AgentBlock.DestinationID, primAsset); | ||
423 | selectedEnt = ent; | ||
424 | break; | ||
425 | } | ||
426 | } | ||
427 | if (selectedEnt != null) | ||
428 | { | ||
429 | this.localStorage.RemovePrim(selectedEnt.uuid); | ||
430 | KillObjectPacket kill = new KillObjectPacket(); | ||
431 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; | ||
432 | kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); | ||
433 | kill.ObjectData[0].ID = selectedEnt.localid; | ||
434 | foreach (SimClient client in m_clientThreads.Values) | ||
435 | { | ||
436 | client.OutPacket(kill); | ||
437 | } | ||
438 | lock (Entities) | ||
439 | { | ||
440 | Entities.Remove(selectedEnt.uuid); | ||
441 | } | ||
442 | } | ||
443 | } | ||
444 | } | ||
445 | return true; | ||
446 | } | ||
447 | |||
448 | public bool Backup() | 378 | public bool Backup() |
449 | { | 379 | { |
450 | 380 | ||
@@ -456,100 +386,6 @@ namespace OpenSim.world | |||
456 | return true; | 386 | return true; |
457 | } | 387 | } |
458 | 388 | ||
459 | #region Packet Handlers | ||
460 | public bool ModifyTerrain(SimClient simClient, Packet packet) | ||
461 | { | ||
462 | ModifyLandPacket modify = (ModifyLandPacket)packet; | ||
463 | |||
464 | switch (modify.ModifyBlock.Action) | ||
465 | { | ||
466 | case 1: | ||
467 | // raise terrain | ||
468 | if (modify.ParcelData.Length > 0) | ||
469 | { | ||
470 | int mody = (int)modify.ParcelData[0].North; | ||
471 | int modx = (int)modify.ParcelData[0].West; | ||
472 | lock (LandMap) | ||
473 | { | ||
474 | LandMap[(mody * 256) + modx - 1] += 0.05f; | ||
475 | LandMap[(mody * 256) + modx] += 0.1f; | ||
476 | LandMap[(mody * 256) + modx + 1] += 0.05f; | ||
477 | LandMap[((mody + 1) * 256) + modx] += 0.05f; | ||
478 | LandMap[((mody - 1) * 256) + modx] += 0.05f; | ||
479 | } | ||
480 | RegenerateTerrain(true, modx, mody); | ||
481 | } | ||
482 | break; | ||
483 | case 2: | ||
484 | //lower terrain | ||
485 | if (modify.ParcelData.Length > 0) | ||
486 | { | ||
487 | int mody = (int)modify.ParcelData[0].North; | ||
488 | int modx = (int)modify.ParcelData[0].West; | ||
489 | lock (LandMap) | ||
490 | { | ||
491 | LandMap[(mody * 256) + modx - 1] -= 0.05f; | ||
492 | LandMap[(mody * 256) + modx] -= 0.1f; | ||
493 | LandMap[(mody * 256) + modx + 1] -= 0.05f; | ||
494 | LandMap[((mody + 1) * 256) + modx] -= 0.05f; | ||
495 | LandMap[((mody - 1) * 256) + modx] -= 0.05f; | ||
496 | } | ||
497 | RegenerateTerrain(true, modx, mody); | ||
498 | } | ||
499 | break; | ||
500 | } | ||
501 | return true; | ||
502 | } | ||
503 | |||
504 | public bool SimChat(SimClient simClient, Packet packet) | ||
505 | { | ||
506 | System.Text.Encoding enc = System.Text.Encoding.ASCII; | ||
507 | ChatFromViewerPacket inchatpack = (ChatFromViewerPacket)packet; | ||
508 | if (Helpers.FieldToString(inchatpack.ChatData.Message) == "") | ||
509 | { | ||
510 | //empty message so don't bother with it | ||
511 | return true; | ||
512 | } | ||
513 | |||
514 | libsecondlife.Packets.ChatFromSimulatorPacket reply = new ChatFromSimulatorPacket(); | ||
515 | reply.ChatData.Audible = 1; | ||
516 | reply.ChatData.Message = inchatpack.ChatData.Message; | ||
517 | reply.ChatData.ChatType = 1; | ||
518 | reply.ChatData.SourceType = 1; | ||
519 | reply.ChatData.Position = simClient.ClientAvatar.Pos; | ||
520 | reply.ChatData.FromName = enc.GetBytes(simClient.ClientAvatar.firstname + " " + simClient.ClientAvatar.lastname + "\0"); | ||
521 | reply.ChatData.OwnerID = simClient.AgentID; | ||
522 | reply.ChatData.SourceID = simClient.AgentID; | ||
523 | foreach (SimClient client in m_clientThreads.Values) | ||
524 | { | ||
525 | client.OutPacket(reply); | ||
526 | } | ||
527 | return true; | ||
528 | } | ||
529 | |||
530 | public bool RezObject(SimClient simClient, Packet packet) | ||
531 | { | ||
532 | RezObjectPacket rezPacket = (RezObjectPacket)packet; | ||
533 | AgentInventory inven = this._inventoryCache.GetAgentsInventory(simClient.AgentID); | ||
534 | if (inven != null) | ||
535 | { | ||
536 | if (inven.InventoryItems.ContainsKey(rezPacket.InventoryData.ItemID)) | ||
537 | { | ||
538 | AssetBase asset = this._assetCache.GetAsset(inven.InventoryItems[rezPacket.InventoryData.ItemID].AssetID); | ||
539 | if (asset != null) | ||
540 | { | ||
541 | PrimData primd = new PrimData(asset.Data); | ||
542 | Primitive nPrim = new Primitive(m_clientThreads, m_regionHandle, this); | ||
543 | nPrim.CreateFromStorage(primd, rezPacket.RezData.RayEnd, this._primCount, true); | ||
544 | this.Entities.Add(nPrim.uuid, nPrim); | ||
545 | this._primCount++; | ||
546 | this._inventoryCache.DeleteInventoryItem(simClient, rezPacket.InventoryData.ItemID); | ||
547 | } | ||
548 | } | ||
549 | } | ||
550 | return true; | ||
551 | } | ||
552 | |||
553 | public void SetDefaultScripts() | 389 | public void SetDefaultScripts() |
554 | { | 390 | { |
555 | this.m_scripts.Add("FollowRandomAvatar", delegate() | 391 | this.m_scripts.Add("FollowRandomAvatar", delegate() |
@@ -558,7 +394,5 @@ namespace OpenSim.world | |||
558 | }); | 394 | }); |
559 | } | 395 | } |
560 | 396 | ||
561 | |||
562 | #endregion | ||
563 | } | 397 | } |
564 | } | 398 | } |
diff --git a/OpenSim.RegionServer/world/WorldPacketHandlers.cs b/OpenSim.RegionServer/world/WorldPacketHandlers.cs new file mode 100644 index 0000000..a155ffe --- /dev/null +++ b/OpenSim.RegionServer/world/WorldPacketHandlers.cs | |||
@@ -0,0 +1,200 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using libsecondlife; | ||
5 | using libsecondlife.Packets; | ||
6 | using OpenSim.Physics.Manager; | ||
7 | using OpenSim.Framework.Interfaces; | ||
8 | using OpenSim.Framework.Assets; | ||
9 | using OpenSim.Framework.Terrain; | ||
10 | using OpenSim.Framework.Inventory; | ||
11 | using OpenSim.Assets; | ||
12 | |||
13 | namespace OpenSim.world | ||
14 | { | ||
15 | partial class World | ||
16 | { | ||
17 | public bool ModifyTerrain(SimClient simClient, Packet packet) | ||
18 | { | ||
19 | ModifyLandPacket modify = (ModifyLandPacket)packet; | ||
20 | |||
21 | switch (modify.ModifyBlock.Action) | ||
22 | { | ||
23 | case 1: | ||
24 | // raise terrain | ||
25 | if (modify.ParcelData.Length > 0) | ||
26 | { | ||
27 | int mody = (int)modify.ParcelData[0].North; | ||
28 | int modx = (int)modify.ParcelData[0].West; | ||
29 | lock (LandMap) | ||
30 | { | ||
31 | LandMap[(mody * 256) + modx - 1] += 0.05f; | ||
32 | LandMap[(mody * 256) + modx] += 0.1f; | ||
33 | LandMap[(mody * 256) + modx + 1] += 0.05f; | ||
34 | LandMap[((mody + 1) * 256) + modx] += 0.05f; | ||
35 | LandMap[((mody - 1) * 256) + modx] += 0.05f; | ||
36 | } | ||
37 | RegenerateTerrain(true, modx, mody); | ||
38 | } | ||
39 | break; | ||
40 | case 2: | ||
41 | //lower terrain | ||
42 | if (modify.ParcelData.Length > 0) | ||
43 | { | ||
44 | int mody = (int)modify.ParcelData[0].North; | ||
45 | int modx = (int)modify.ParcelData[0].West; | ||
46 | lock (LandMap) | ||
47 | { | ||
48 | LandMap[(mody * 256) + modx - 1] -= 0.05f; | ||
49 | LandMap[(mody * 256) + modx] -= 0.1f; | ||
50 | LandMap[(mody * 256) + modx + 1] -= 0.05f; | ||
51 | LandMap[((mody + 1) * 256) + modx] -= 0.05f; | ||
52 | LandMap[((mody - 1) * 256) + modx] -= 0.05f; | ||
53 | } | ||
54 | RegenerateTerrain(true, modx, mody); | ||
55 | } | ||
56 | break; | ||
57 | } | ||
58 | return true; | ||
59 | } | ||
60 | |||
61 | public bool SimChat(SimClient simClient, Packet packet) | ||
62 | { | ||
63 | System.Text.Encoding enc = System.Text.Encoding.ASCII; | ||
64 | ChatFromViewerPacket inchatpack = (ChatFromViewerPacket)packet; | ||
65 | if (Helpers.FieldToString(inchatpack.ChatData.Message) == "") | ||
66 | { | ||
67 | //empty message so don't bother with it | ||
68 | return true; | ||
69 | } | ||
70 | |||
71 | libsecondlife.Packets.ChatFromSimulatorPacket reply = new ChatFromSimulatorPacket(); | ||
72 | reply.ChatData.Audible = 1; | ||
73 | reply.ChatData.Message = inchatpack.ChatData.Message; | ||
74 | reply.ChatData.ChatType = 1; | ||
75 | reply.ChatData.SourceType = 1; | ||
76 | reply.ChatData.Position = simClient.ClientAvatar.Pos; | ||
77 | reply.ChatData.FromName = enc.GetBytes(simClient.ClientAvatar.firstname + " " + simClient.ClientAvatar.lastname + "\0"); | ||
78 | reply.ChatData.OwnerID = simClient.AgentID; | ||
79 | reply.ChatData.SourceID = simClient.AgentID; | ||
80 | foreach (SimClient client in m_clientThreads.Values) | ||
81 | { | ||
82 | client.OutPacket(reply); | ||
83 | } | ||
84 | return true; | ||
85 | } | ||
86 | |||
87 | public bool RezObject(SimClient simClient, Packet packet) | ||
88 | { | ||
89 | RezObjectPacket rezPacket = (RezObjectPacket)packet; | ||
90 | AgentInventory inven = this._inventoryCache.GetAgentsInventory(simClient.AgentID); | ||
91 | if (inven != null) | ||
92 | { | ||
93 | if (inven.InventoryItems.ContainsKey(rezPacket.InventoryData.ItemID)) | ||
94 | { | ||
95 | AssetBase asset = this._assetCache.GetAsset(inven.InventoryItems[rezPacket.InventoryData.ItemID].AssetID); | ||
96 | if (asset != null) | ||
97 | { | ||
98 | PrimData primd = new PrimData(asset.Data); | ||
99 | Primitive nPrim = new Primitive(m_clientThreads, m_regionHandle, this); | ||
100 | nPrim.CreateFromStorage(primd, rezPacket.RezData.RayEnd, this._primCount, true); | ||
101 | this.Entities.Add(nPrim.uuid, nPrim); | ||
102 | this._primCount++; | ||
103 | this._inventoryCache.DeleteInventoryItem(simClient, rezPacket.InventoryData.ItemID); | ||
104 | } | ||
105 | } | ||
106 | } | ||
107 | return true; | ||
108 | } | ||
109 | |||
110 | public bool DeRezObject(SimClient simClient, Packet packet) | ||
111 | { | ||
112 | DeRezObjectPacket DeRezPacket = (DeRezObjectPacket)packet; | ||
113 | |||
114 | //Needs to delete object from physics at a later date | ||
115 | if (DeRezPacket.AgentBlock.DestinationID == LLUUID.Zero) | ||
116 | { | ||
117 | //currently following code not used (or don't know of any case of destination being zero | ||
118 | libsecondlife.LLUUID[] DeRezEnts; | ||
119 | DeRezEnts = new libsecondlife.LLUUID[DeRezPacket.ObjectData.Length]; | ||
120 | int i = 0; | ||
121 | foreach (DeRezObjectPacket.ObjectDataBlock Data in DeRezPacket.ObjectData) | ||
122 | { | ||
123 | |||
124 | //OpenSim.Framework.Console.MainConsole.Instance.WriteLine("LocalID:" + Data.ObjectLocalID.ToString()); | ||
125 | foreach (Entity ent in this.Entities.Values) | ||
126 | { | ||
127 | if (ent.localid == Data.ObjectLocalID) | ||
128 | { | ||
129 | DeRezEnts[i++] = ent.uuid; | ||
130 | this.localStorage.RemovePrim(ent.uuid); | ||
131 | KillObjectPacket kill = new KillObjectPacket(); | ||
132 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; | ||
133 | kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); | ||
134 | kill.ObjectData[0].ID = ent.localid; | ||
135 | foreach (SimClient client in m_clientThreads.Values) | ||
136 | { | ||
137 | client.OutPacket(kill); | ||
138 | } | ||
139 | //Uncommenting this means an old UUID will be re-used, thus crashing the asset server | ||
140 | //Uncomment when prim/object UUIDs are random or such | ||
141 | //2007-03-22 - Randomskk | ||
142 | //this._primCount--; | ||
143 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Deleted UUID " + ent.uuid); | ||
144 | } | ||
145 | } | ||
146 | } | ||
147 | foreach (libsecondlife.LLUUID uuid in DeRezEnts) | ||
148 | { | ||
149 | lock (Entities) | ||
150 | { | ||
151 | Entities.Remove(uuid); | ||
152 | } | ||
153 | } | ||
154 | } | ||
155 | else | ||
156 | { | ||
157 | foreach (DeRezObjectPacket.ObjectDataBlock Data in DeRezPacket.ObjectData) | ||
158 | { | ||
159 | Entity selectedEnt = null; | ||
160 | //OpenSim.Framework.Console.MainConsole.Instance.WriteLine("LocalID:" + Data.ObjectLocalID.ToString()); | ||
161 | foreach (Entity ent in this.Entities.Values) | ||
162 | { | ||
163 | if (ent.localid == Data.ObjectLocalID) | ||
164 | { | ||
165 | AssetBase primAsset = new AssetBase(); | ||
166 | primAsset.FullID = LLUUID.Random();//DeRezPacket.AgentBlock.TransactionID.Combine(LLUUID.Zero); //should be combining with securesessionid | ||
167 | primAsset.InvType = 6; | ||
168 | primAsset.Type = 6; | ||
169 | primAsset.Name = "Prim"; | ||
170 | primAsset.Description = ""; | ||
171 | primAsset.Data = ((Primitive)ent).GetByteArray(); | ||
172 | this._assetCache.AddAsset(primAsset); | ||
173 | this._inventoryCache.AddNewInventoryItem(simClient, DeRezPacket.AgentBlock.DestinationID, primAsset); | ||
174 | selectedEnt = ent; | ||
175 | break; | ||
176 | } | ||
177 | } | ||
178 | if (selectedEnt != null) | ||
179 | { | ||
180 | this.localStorage.RemovePrim(selectedEnt.uuid); | ||
181 | KillObjectPacket kill = new KillObjectPacket(); | ||
182 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; | ||
183 | kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); | ||
184 | kill.ObjectData[0].ID = selectedEnt.localid; | ||
185 | foreach (SimClient client in m_clientThreads.Values) | ||
186 | { | ||
187 | client.OutPacket(kill); | ||
188 | } | ||
189 | lock (Entities) | ||
190 | { | ||
191 | Entities.Remove(selectedEnt.uuid); | ||
192 | } | ||
193 | } | ||
194 | } | ||
195 | } | ||
196 | return true; | ||
197 | } | ||
198 | |||
199 | } | ||
200 | } | ||
diff --git a/OpenSim.build b/OpenSim.build index 069b031..4af9389 100644 --- a/OpenSim.build +++ b/OpenSim.build | |||
@@ -52,7 +52,6 @@ | |||
52 | <nant buildfile="OpenSim.GenericConfig/Xml/OpenSim.GenericConfig.Xml.dll.build" target="clean" /> | 52 | <nant buildfile="OpenSim.GenericConfig/Xml/OpenSim.GenericConfig.Xml.dll.build" target="clean" /> |
53 | <nant buildfile="OpenSim.Physics/Manager/OpenSim.Physics.Manager.dll.build" target="clean" /> | 53 | <nant buildfile="OpenSim.Physics/Manager/OpenSim.Physics.Manager.dll.build" target="clean" /> |
54 | <nant buildfile="OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build" target="clean" /> | 54 | <nant buildfile="OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build" target="clean" /> |
55 | <nant buildfile="OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.dll.build" target="clean" /> | ||
56 | <nant buildfile="OpenSim.Physics/BasicPhysicsPlugin/OpenSim.Physics.BasicPhysicsPlugin.dll.build" target="clean" /> | 55 | <nant buildfile="OpenSim.Physics/BasicPhysicsPlugin/OpenSim.Physics.BasicPhysicsPlugin.dll.build" target="clean" /> |
57 | <nant buildfile="OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build" target="clean" /> | 56 | <nant buildfile="OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build" target="clean" /> |
58 | <nant buildfile="Servers/OpenSim.Servers.dll.build" target="clean" /> | 57 | <nant buildfile="Servers/OpenSim.Servers.dll.build" target="clean" /> |
@@ -73,7 +72,6 @@ | |||
73 | <nant buildfile="OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build" target="build" /> | 72 | <nant buildfile="OpenGridServices.GridServer/OpenGridServices.GridServer.exe.build" target="build" /> |
74 | <nant buildfile="OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build" target="build" /> | 73 | <nant buildfile="OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build" target="build" /> |
75 | <nant buildfile="OpenSim.Physics/Manager/OpenSim.Physics.Manager.dll.build" target="build" /> | 74 | <nant buildfile="OpenSim.Physics/Manager/OpenSim.Physics.Manager.dll.build" target="build" /> |
76 | <nant buildfile="OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.dll.build" target="build" /> | ||
77 | <nant buildfile="OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build" target="build" /> | 75 | <nant buildfile="OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build" target="build" /> |
78 | <nant buildfile="OpenUser.Config/UserConfigDb4o/OpenUser.Config.UserConfigDb4o.dll.build" target="build" /> | 76 | <nant buildfile="OpenUser.Config/UserConfigDb4o/OpenUser.Config.UserConfigDb4o.dll.build" target="build" /> |
79 | <nant buildfile="OpenSim.GridInterfaces/Local/OpenSim.GridInterfaces.Local.dll.build" target="build" /> | 77 | <nant buildfile="OpenSim.GridInterfaces/Local/OpenSim.GridInterfaces.Local.dll.build" target="build" /> |
@@ -101,7 +99,6 @@ | |||
101 | <nant buildfile="OpenSim.GenericConfig/Xml/OpenSim.GenericConfig.Xml.dll.build" target="doc" /> | 99 | <nant buildfile="OpenSim.GenericConfig/Xml/OpenSim.GenericConfig.Xml.dll.build" target="doc" /> |
102 | <nant buildfile="OpenSim.Physics/Manager/OpenSim.Physics.Manager.dll.build" target="doc" /> | 100 | <nant buildfile="OpenSim.Physics/Manager/OpenSim.Physics.Manager.dll.build" target="doc" /> |
103 | <nant buildfile="OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build" target="doc" /> | 101 | <nant buildfile="OpenGridServices.UserServer/OpenGridServices.UserServer.exe.build" target="doc" /> |
104 | <nant buildfile="OpenSim.Config/SimConfigDb4o/OpenSim.Config.SimConfigDb4o.dll.build" target="doc" /> | ||
105 | <nant buildfile="OpenSim.Physics/BasicPhysicsPlugin/OpenSim.Physics.BasicPhysicsPlugin.dll.build" target="doc" /> | 102 | <nant buildfile="OpenSim.Physics/BasicPhysicsPlugin/OpenSim.Physics.BasicPhysicsPlugin.dll.build" target="doc" /> |
106 | <nant buildfile="OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build" target="doc" /> | 103 | <nant buildfile="OpenGrid.Config/GridConfigDb4o/OpenGrid.Config.GridConfigDb4o.dll.build" target="doc" /> |
107 | <nant buildfile="Servers/OpenSim.Servers.dll.build" target="doc" /> | 104 | <nant buildfile="Servers/OpenSim.Servers.dll.build" target="doc" /> |
diff --git a/OpenSim.sln b/OpenSim.sln index 01a2df2..300412e 100644 --- a/OpenSim.sln +++ b/OpenSim.sln | |||
@@ -12,8 +12,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Physics.Manager", " | |||
12 | EndProject | 12 | EndProject |
13 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGridServices.UserServer", "OpenGridServices.UserServer\OpenGridServices.UserServer.csproj", "{66591469-0000-0000-0000-000000000000}" | 13 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGridServices.UserServer", "OpenGridServices.UserServer\OpenGridServices.UserServer.csproj", "{66591469-0000-0000-0000-000000000000}" |
14 | EndProject | 14 | EndProject |
15 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Config.SimConfigDb4o", "OpenSim.Config\SimConfigDb4o\OpenSim.Config.SimConfigDb4o.csproj", "{83C87BE6-0000-0000-0000-000000000000}" | ||
16 | EndProject | ||
17 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Physics.BasicPhysicsPlugin", "OpenSim.Physics\BasicPhysicsPlugin\OpenSim.Physics.BasicPhysicsPlugin.csproj", "{4F874463-0000-0000-0000-000000000000}" | 15 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Physics.BasicPhysicsPlugin", "OpenSim.Physics\BasicPhysicsPlugin\OpenSim.Physics.BasicPhysicsPlugin.csproj", "{4F874463-0000-0000-0000-000000000000}" |
18 | EndProject | 16 | EndProject |
19 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGrid.Config.GridConfigDb4o", "OpenGrid.Config\GridConfigDb4o\OpenGrid.Config.GridConfigDb4o.csproj", "{B0027747-0000-0000-0000-000000000000}" | 17 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGrid.Config.GridConfigDb4o", "OpenGrid.Config\GridConfigDb4o\OpenGrid.Config.GridConfigDb4o.csproj", "{B0027747-0000-0000-0000-000000000000}" |
@@ -66,10 +64,6 @@ Global | |||
66 | {66591469-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 64 | {66591469-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
67 | {66591469-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 65 | {66591469-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
68 | {66591469-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | 66 | {66591469-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU |
69 | {83C87BE6-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
70 | {83C87BE6-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
71 | {83C87BE6-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
72 | {83C87BE6-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU | ||
73 | {4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | 67 | {4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
74 | {4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU | 68 | {4F874463-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU |
75 | {4F874463-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU | 69 | {4F874463-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU |
diff --git a/prebuild.xml b/prebuild.xml index 54acc4b..4230a9a 100644 --- a/prebuild.xml +++ b/prebuild.xml | |||
@@ -177,32 +177,6 @@ | |||
177 | </Files> | 177 | </Files> |
178 | </Project> | 178 | </Project> |
179 | 179 | ||
180 | <!-- Config Plug-ins --> | ||
181 | <Project name="OpenSim.Config.SimConfigDb4o" path="OpenSim.Config/SimConfigDb4o" type="Library"> | ||
182 | <Configuration name="Debug"> | ||
183 | <Options> | ||
184 | <OutputPath>../../bin/</OutputPath> | ||
185 | </Options> | ||
186 | </Configuration> | ||
187 | <Configuration name="Release"> | ||
188 | <Options> | ||
189 | <OutputPath>../../bin/</OutputPath> | ||
190 | </Options> | ||
191 | </Configuration> | ||
192 | |||
193 | <ReferencePath>../../bin/</ReferencePath> | ||
194 | <Reference name="System" localCopy="false"/> | ||
195 | <Reference name="System.Data.dll"/> | ||
196 | <Reference name="System.Xml"/> | ||
197 | <Reference name="libsecondlife.dll"/> | ||
198 | <Reference name="Db4objects.Db4o.dll"/> | ||
199 | <Reference name="OpenSim.Framework"/> | ||
200 | <Reference name="OpenSim.Framework.Console"/> | ||
201 | <Files> | ||
202 | <Match pattern="*.cs" recurse="true"/> | ||
203 | </Files> | ||
204 | </Project> | ||
205 | |||
206 | <Project name="OpenGrid.Config.GridConfigDb4o" path="OpenGrid.Config/GridConfigDb4o" type="Library"> | 180 | <Project name="OpenGrid.Config.GridConfigDb4o" path="OpenGrid.Config/GridConfigDb4o" type="Library"> |
207 | <Configuration name="Debug"> | 181 | <Configuration name="Debug"> |
208 | <Options> | 182 | <Options> |