From 6acfd0ddea3857a10f74095fb7ac73f5c52f1a58 Mon Sep 17 00:00:00 2001 From: MW Date: Fri, 8 Jun 2007 16:16:32 +0000 Subject: [PATCH] prebuild.xml should be fixed/updated. --- .../OpenGrid.Framework.Communications.csproj | 118 +++-- .../OpenSim.Framework.csproj | 74 +-- OpenGridServices.sln | 125 ++--- .../ServiceManager/ServiceManager.csproj | 33 +- OpenSim.sln | 22 +- OpenSim.suo | Bin 331264 -> 375744 bytes .../OpenSim.RegionServer.csproj | 12 +- OpenSim/OpenSim.RegionServer/RegionInfo.cs | 147 ------ OpenSim/OpenSim.World/OpenSim.World.csproj | 10 +- OpenSim/OpenSim.World/Primitive2.cs | 491 ------------------ OpenSim/OpenSim/OpenSim.csproj | 71 ++- bin/XMLRPC.dll | Bin 36864 -> 36864 bytes prebuild.xml | 29 ++ 13 files changed, 290 insertions(+), 842 deletions(-) delete mode 100644 OpenSim/OpenSim.RegionServer/RegionInfo.cs delete mode 100644 OpenSim/OpenSim.World/Primitive2.cs diff --git a/Common/OpenGrid.Framework.Communications/OpenGrid.Framework.Communications.csproj b/Common/OpenGrid.Framework.Communications/OpenGrid.Framework.Communications.csproj index 836ab7e053..00b1548b58 100644 --- a/Common/OpenGrid.Framework.Communications/OpenGrid.Framework.Communications.csproj +++ b/Common/OpenGrid.Framework.Communications/OpenGrid.Framework.Communications.csproj @@ -1,58 +1,100 @@ - + - Debug - AnyCPU + Local 8.0.50727 2.0 - {C9702041-922C-452A-A1B4-7880AF53149A} - Library - Properties - OpenGrid.Framework.Communications + {683344D5-0000-0000-0000-000000000000} + Debug + AnyCPU + + + OpenGrid.Framework.Communications + JScript + Grid + IE50 + false + Library + + OpenGrid.Framework.Communications + + + - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt + False + 285212672 + False + + + TRACE;DEBUG + + True + 4096 + False + ..\..\bin\ + False + False + False 4 + - pdbonly - true - bin\Release\ + False + 285212672 + False + + TRACE - prompt + + False + 4096 + True + ..\..\bin\ + False + False + False 4 + - - False - ..\..\bin\libsecondlife.dll + + System.dll + False + + + System.Xml.dll + False + + + ..\..\bin\libsecondlife.dll + False - - - - - - - - - {8ACA2445-0000-0000-0000-000000000000} OpenSim.Framework + {8ACA2445-0000-0000-0000-000000000000} + {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + False - - - \ No newline at end of file + + + Code + + + Code + + + Code + + + + + + + + + + diff --git a/Common/OpenSim.Framework/OpenSim.Framework.csproj b/Common/OpenSim.Framework/OpenSim.Framework.csproj index be17a23220..e2a850f35e 100644 --- a/Common/OpenSim.Framework/OpenSim.Framework.csproj +++ b/Common/OpenSim.Framework/OpenSim.Framework.csproj @@ -1,4 +1,4 @@ - + Local 8.0.50727 @@ -6,8 +6,7 @@ {8ACA2445-0000-0000-0000-000000000000} Debug AnyCPU - - + OpenSim.Framework @@ -16,11 +15,9 @@ IE50 false Library - - + OpenSim.Framework - - + @@ -31,8 +28,7 @@ TRACE;DEBUG - - + True 4096 False @@ -41,8 +37,7 @@ False False 4 - - + False @@ -51,8 +46,7 @@ TRACE - - + False 4096 True @@ -61,60 +55,68 @@ False False 4 - - + - + System.dll False - - + System.Xml.dll False - + ..\..\bin\libsecondlife.dll False - + ..\..\bin\Db4objects.Db4o.dll False - - {A7CD0630-0000-0000-0000-000000000000} - OpenSim.Framework.Console - XMLRPC {8E81D43C-0000-0000-0000-000000000000} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False + + + OpenSim.Framework.Console + {A7CD0630-0000-0000-0000-000000000000} + {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + False Code - + + Code + Code - + + Code + Code - + + Code + Code - - - - + + Code + + + Code + Code @@ -190,6 +192,9 @@ Code + + Code + Code @@ -205,6 +210,9 @@ Code + + Code + Code @@ -222,4 +230,4 @@ - \ No newline at end of file + diff --git a/OpenGridServices.sln b/OpenGridServices.sln index bc21256417..641f710e01 100644 --- a/OpenGridServices.sln +++ b/OpenGridServices.sln @@ -1,5 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual C# Express 2005 +# Visual Studio 2005 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenUser.Config.UserConfigDb4o", "OpenGridServices\OpenUser.Config\UserConfigDb4o\OpenUser.Config.UserConfigDb4o.csproj", "{7E494328-0000-0000-0000-000000000000}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGridServices.AssetServer", "OpenGridServices\OpenGridServices.AssetServer\OpenGridServices.AssetServer.csproj", "{0021261B-0000-0000-0000-000000000000}" @@ -25,61 +25,70 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGrid.Framework.Data.MySQL", "OpenGridServices\OpenGrid.Framework.Data.MySQL\OpenGrid.Framework.Data.MySQL.csproj", "{0F3C3AC1-0000-0000-0000-000000000000}" EndProject Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7E494328-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7E494328-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {0021261B-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0021261B-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0021261B-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0021261B-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B0027747-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B0027747-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {1E3F341A-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1E3F341A-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1E3F341A-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1E3F341A-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {39BD9497-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {39BD9497-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {39BD9497-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {39BD9497-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {E141F4EE-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E141F4EE-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E141F4EE-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E141F4EE-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {7924FD35-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7924FD35-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7924FD35-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7924FD35-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {0A563AC1-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0A563AC1-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0A563AC1-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0A563AC1-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {62CDF671-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {62CDF671-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {62CDF671-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {62CDF671-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {66591469-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {66591469-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {66591469-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {66591469-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {0F3C3AC1-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0F3C3AC1-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0F3C3AC1-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0F3C3AC1-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectDependencies) = postSolution + ({1E3F341A-0000-0000-0000-000000000000}).4 = ({62CDF671-0000-0000-0000-000000000000}) + ({39BD9497-0000-0000-0000-000000000000}).3 = ({62CDF671-0000-0000-0000-000000000000}) + ({21BFC8E2-0000-0000-0000-000000000000}).6 = ({62CDF671-0000-0000-0000-000000000000}) + ({21BFC8E2-0000-0000-0000-000000000000}).7 = ({7924FD35-0000-0000-0000-000000000000}) + ({0A563AC1-0000-0000-0000-000000000000}).3 = ({62CDF671-0000-0000-0000-000000000000}) + ({66591469-0000-0000-0000-000000000000}).5 = ({62CDF671-0000-0000-0000-000000000000}) + ({0F3C3AC1-0000-0000-0000-000000000000}).3 = ({62CDF671-0000-0000-0000-000000000000}) + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7E494328-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7E494328-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7E494328-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {0021261B-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0021261B-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0021261B-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0021261B-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B0027747-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B0027747-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B0027747-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {1E3F341A-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1E3F341A-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1E3F341A-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1E3F341A-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {39BD9497-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {39BD9497-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {39BD9497-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {39BD9497-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {E141F4EE-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E141F4EE-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E141F4EE-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E141F4EE-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {7924FD35-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7924FD35-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7924FD35-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7924FD35-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {21BFC8E2-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {21BFC8E2-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {0A563AC1-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0A563AC1-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0A563AC1-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0A563AC1-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {62CDF671-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {62CDF671-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {62CDF671-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {62CDF671-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {66591469-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {66591469-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {66591469-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {66591469-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {0F3C3AC1-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0F3C3AC1-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0F3C3AC1-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0F3C3AC1-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection EndGlobal diff --git a/OpenGridServices/ServiceManager/ServiceManager.csproj b/OpenGridServices/ServiceManager/ServiceManager.csproj index 392f56020d..54d31b2f8d 100644 --- a/OpenGridServices/ServiceManager/ServiceManager.csproj +++ b/OpenGridServices/ServiceManager/ServiceManager.csproj @@ -1,4 +1,4 @@ - + Local 8.0.50727 @@ -6,8 +6,7 @@ {E141F4EE-0000-0000-0000-000000000000} Debug AnyCPU - - + ServiceManager @@ -16,11 +15,9 @@ IE50 false Exe - - + ServiceManager - - + @@ -31,8 +28,7 @@ TRACE;DEBUG - - + True 4096 False @@ -41,8 +37,7 @@ False False 4 - - + False @@ -51,8 +46,7 @@ TRACE - - + False 4096 True @@ -61,19 +55,18 @@ False False 4 - - + - + System.dll False - + System.ServiceProcess.dll False - + System.Xml.dll False @@ -82,7 +75,7 @@ - Component + Code @@ -92,4 +85,4 @@ - \ No newline at end of file + diff --git a/OpenSim.sln b/OpenSim.sln index 2a00e9f7b6..d2036f0103 100644 --- a/OpenSim.sln +++ b/OpenSim.sln @@ -1,12 +1,14 @@ Microsoft Visual Studio Solution File, Format Version 9.00 # Visual C# Express 2005 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Framework.Console", "Common\OpenSim.Framework.Console\OpenSim.Framework.Console.csproj", "{A7CD0630-0000-0000-0000-000000000000}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Terrain.BasicTerrain", "OpenSim\OpenSim.Terrain.BasicTerrain\OpenSim.Terrain.BasicTerrain.csproj", "{2270B8FE-0000-0000-0000-000000000000}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Storage.LocalStorageBerkeleyDB", "OpenSim\OpenSim.Storage\LocalStorageBerkeleyDB\OpenSim.Storage.LocalStorageBerkeleyDB.csproj", "{EE9E5D96-0000-0000-0000-000000000000}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Physics.OdePlugin", "OpenSim\OpenSim.Physics\OdePlugin\OpenSim.Physics.OdePlugin.csproj", "{63A05FE9-0000-0000-0000-000000000000}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Framework.Console", "Common\OpenSim.Framework.Console\OpenSim.Framework.Console.csproj", "{A7CD0630-0000-0000-0000-000000000000}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGrid.Framework.Communications", "Common\OpenGrid.Framework.Communications\OpenGrid.Framework.Communications.csproj", "{683344D5-0000-0000-0000-000000000000}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.World", "OpenSim\OpenSim.World\OpenSim.World.csproj", "{642A14A8-0000-0000-0000-000000000000}" EndProject @@ -38,14 +40,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.GridInterfaces.Loca EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XMLRPC", "Common\XmlRpcCS\XMLRPC.csproj", "{8E81D43C-0000-0000-0000-000000000000}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenGrid.Framework.Communications", "Common\OpenGrid.Framework.Communications\OpenGrid.Framework.Communications.csproj", "{C9702041-922C-452A-A1B4-7880AF53149A}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU {2270B8FE-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2270B8FE-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU {2270B8FE-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -58,10 +62,10 @@ Global {63A05FE9-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU {63A05FE9-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU {63A05FE9-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A7CD0630-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A7CD0630-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU + {683344D5-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {683344D5-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU + {683344D5-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU + {683344D5-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU {642A14A8-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {642A14A8-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU {642A14A8-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -122,10 +126,6 @@ Global {8E81D43C-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU {8E81D43C-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU {8E81D43C-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - {C9702041-922C-452A-A1B4-7880AF53149A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C9702041-922C-452A-A1B4-7880AF53149A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C9702041-922C-452A-A1B4-7880AF53149A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C9702041-922C-452A-A1B4-7880AF53149A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/OpenSim.suo b/OpenSim.suo index a67621083638dcf8d4c515f15c75a0e353d2011e..60e93fdc12c9e94be39b4548eee62ae143763753 100644 GIT binary patch delta 12991 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 diff --git a/OpenSim/OpenSim.RegionServer/OpenSim.RegionServer.csproj b/OpenSim/OpenSim.RegionServer/OpenSim.RegionServer.csproj index 2c61026e2b..b7cea3a637 100644 --- a/OpenSim/OpenSim.RegionServer/OpenSim.RegionServer.csproj +++ b/OpenSim/OpenSim.RegionServer/OpenSim.RegionServer.csproj @@ -69,7 +69,6 @@ System.dll False - System.Xml.dll False @@ -162,7 +161,12 @@ Code - + + Code + + + Code + Code @@ -172,7 +176,9 @@ Code - + + Code + Code diff --git a/OpenSim/OpenSim.RegionServer/RegionInfo.cs b/OpenSim/OpenSim.RegionServer/RegionInfo.cs deleted file mode 100644 index d148d0f194..0000000000 --- a/OpenSim/OpenSim.RegionServer/RegionInfo.cs +++ /dev/null @@ -1,147 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Net; -using System.Web; -using System.IO; -using OpenSim.Framework.Interfaces; -using OpenSim.Framework.Utilities; -using libsecondlife; -using OpenSim.Framework.Types; - -namespace OpenSim -{ - public class RegionInfo : RegionInfoBase - { - - private bool isSandbox; - - public string DataStore; - - public RegionInfo() - { - - } - - public void InitConfig(bool sandboxMode, IGenericConfig configData) - { - this.isSandbox = sandboxMode; - try - { - // Sim UUID - string attri = ""; - attri = configData.GetAttribute("SimUUID"); - if (attri == "") - { - this.SimUUID = LLUUID.Random(); - configData.SetAttribute("SimUUID", this.SimUUID.ToString()); - } - else - { - this.SimUUID = new LLUUID(attri); - } - - // Sim name - attri = ""; - attri = configData.GetAttribute("SimName"); - if (attri == "") - { - this.RegionName = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Name", "OpenSim test"); - configData.SetAttribute("SimName", this.RegionName); - } - else - { - this.RegionName = attri; - } - // Sim/Grid location X - attri = ""; - attri = configData.GetAttribute("SimLocationX"); - if (attri == "") - { - string location = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Grid Location X", "997"); - configData.SetAttribute("SimLocationX", location); - this.RegionLocX = (uint)Convert.ToUInt32(location); - } - else - { - this.RegionLocX = (uint)Convert.ToUInt32(attri); - } - // Sim/Grid location Y - attri = ""; - attri = configData.GetAttribute("SimLocationY"); - if (attri == "") - { - string location = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Grid Location Y", "996"); - configData.SetAttribute("SimLocationY", location); - this.RegionLocY = (uint)Convert.ToUInt32(location); - } - else - { - this.RegionLocY = (uint)Convert.ToUInt32(attri); - } - - // Local storage datastore - attri = ""; - attri = configData.GetAttribute("Datastore"); - if (attri == "") - { - string datastore = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("Filename for local storage", "localworld.yap"); - configData.SetAttribute("Datastore", datastore); - this.DataStore = datastore; - } - else - { - this.DataStore = attri; - } - - //Sim Listen Port - attri = ""; - attri = configData.GetAttribute("SimListenPort"); - if (attri == "") - { - string port = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("UDP port for client connections", "9000"); - configData.SetAttribute("SimListenPort", port); - this.IPListenPort = Convert.ToInt32(port); - } - else - { - this.IPListenPort = Convert.ToInt32(attri); - } - //Sim Listen Address - attri = ""; - attri = configData.GetAttribute("SimListenAddress"); - if (attri == "") - { - this.IPListenAddr = OpenSim.Framework.Console.MainConsole.Instance.CmdPrompt("IP Address to listen on for client connections", "127.0.0.1"); - configData.SetAttribute("SimListenAddress", this.IPListenAddr); - } - else - { - this.IPListenAddr = attri; - } - - - this.RegionHandle = Util.UIntsToLong((RegionLocX * 256), (RegionLocY * 256)); - - configData.Commit(); - } - catch (Exception e) - { - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.MEDIUM,"Config.cs:InitConfig() - Exception occured"); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.MEDIUM,e.ToString()); - } - - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Sim settings loaded:"); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "UUID: " + this.SimUUID.ToStringHyphenated()); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Name: " + this.RegionName); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Region Location: [" + this.RegionLocX.ToString() + "," + this.RegionLocY + "]"); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Region Handle: " + this.RegionHandle.ToString()); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Listening on IP: " + this.IPListenAddr + ":" + this.IPListenPort); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Sandbox Mode? " + isSandbox.ToString()); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Asset URL: " + this.AssetURL); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Asset key: " + this.AssetSendKey); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Grid URL: " + this.GridURL); - OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Grid key: " + this.GridSendKey); - } - } -} diff --git a/OpenSim/OpenSim.World/OpenSim.World.csproj b/OpenSim/OpenSim.World/OpenSim.World.csproj index 78025d3603..6cda5180d1 100644 --- a/OpenSim/OpenSim.World/OpenSim.World.csproj +++ b/OpenSim/OpenSim.World/OpenSim.World.csproj @@ -87,10 +87,6 @@ - - {C9702041-922C-452A-A1B4-7880AF53149A} - OpenGrid.Framework.Communications - OpenSim.Terrain.BasicTerrain {2270B8FE-0000-0000-0000-000000000000} @@ -133,6 +129,12 @@ {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} False + + OpenGrid.Framework.Communications + {683344D5-0000-0000-0000-000000000000} + {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + False + diff --git a/OpenSim/OpenSim.World/Primitive2.cs b/OpenSim/OpenSim.World/Primitive2.cs deleted file mode 100644 index 6d071d4b97..0000000000 --- a/OpenSim/OpenSim.World/Primitive2.cs +++ /dev/null @@ -1,491 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using OpenSim.types; -using libsecondlife; -using libsecondlife.Packets; -using OpenSim.Framework.Interfaces; -using OpenSim.Physics.Manager; -using OpenSim.Framework.Types; -using OpenSim.Framework.Inventory; - -namespace OpenSim.world -{ - public class Primitive2 : Entity - { - protected PrimData primData; - //private ObjectUpdatePacket OurPacket; - private LLVector3 positionLastFrame = new LLVector3(0, 0, 0); - private Dictionary m_clientThreads; - private ulong m_regionHandle; - private const uint FULL_MASK_PERMISSIONS = 2147483647; - private bool physicsEnabled = false; - - private Dictionary inventoryItems; - - #region Properties - - public LLVector3 Scale - { - set - { - this.primData.Scale = value; - //this.dirtyFlag = true; - } - get - { - return this.primData.Scale; - } - } - - public PhysicsActor PhysActor - { - set - { - this._physActor = value; - } - } - public override LLVector3 Pos - { - get - { - return base.Pos; - } - set - { - base.Pos = value; - } - } - #endregion - - public Primitive2(Dictionary clientThreads, ulong regionHandle, World world) - { - m_clientThreads = clientThreads; - m_regionHandle = regionHandle; - m_world = world; - inventoryItems = new Dictionary(); - } - - public Primitive2(Dictionary clientThreads, ulong regionHandle, World world, LLUUID owner) - { - m_clientThreads = clientThreads; - m_regionHandle = regionHandle; - m_world = world; - inventoryItems = new Dictionary(); - this.primData = new PrimData(); - this.primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds; - this.primData.OwnerID = owner; - } - - public byte[] GetByteArray() - { - byte[] result = null; - List dataArrays = new List(); - dataArrays.Add(primData.ToBytes()); - foreach (Entity child in children) - { - if (child is OpenSim.world.Primitive2) - { - dataArrays.Add(((OpenSim.world.Primitive2)child).GetByteArray()); - } - } - byte[] primstart = Helpers.StringToField(""); - byte[] primend = Helpers.StringToField(""); - int totalLength = primstart.Length + primend.Length; - for (int i = 0; i < dataArrays.Count; i++) - { - totalLength += dataArrays[i].Length; - } - - result = new byte[totalLength]; - int arraypos = 0; - Array.Copy(primstart, 0, result, 0, primstart.Length); - arraypos += primstart.Length; - for (int i = 0; i < dataArrays.Count; i++) - { - Array.Copy(dataArrays[i], 0, result, arraypos, dataArrays[i].Length); - arraypos += dataArrays[i].Length; - } - Array.Copy(primend, 0, result, arraypos, primend.Length); - - return result; - } - - #region Overridden Methods - - public override void update() - { - LLVector3 pos2 = new LLVector3(0, 0, 0); - } - - public override void BackUp() - { - - } - - #endregion - - #region Packet handlers - - public void UpdatePosition(LLVector3 pos) - { - - } - - public void UpdateShape(ObjectShapePacket.ObjectDataBlock addPacket) - { - this.primData.PathBegin = addPacket.PathBegin; - this.primData.PathEnd = addPacket.PathEnd; - this.primData.PathScaleX = addPacket.PathScaleX; - this.primData.PathScaleY = addPacket.PathScaleY; - this.primData.PathShearX = addPacket.PathShearX; - this.primData.PathShearY = addPacket.PathShearY; - this.primData.PathSkew = addPacket.PathSkew; - this.primData.ProfileBegin = addPacket.ProfileBegin; - this.primData.ProfileEnd = addPacket.ProfileEnd; - this.primData.PathCurve = addPacket.PathCurve; - this.primData.ProfileCurve = addPacket.ProfileCurve; - this.primData.ProfileHollow = addPacket.ProfileHollow; - this.primData.PathRadiusOffset = addPacket.PathRadiusOffset; - this.primData.PathRevolutions = addPacket.PathRevolutions; - this.primData.PathTaperX = addPacket.PathTaperX; - this.primData.PathTaperY = addPacket.PathTaperY; - this.primData.PathTwist = addPacket.PathTwist; - this.primData.PathTwistBegin = addPacket.PathTwistBegin; - } - - public void UpdateTexture(byte[] tex) - { - this.primData.Texture = tex; - //this.dirtyFlag = true; - } - - public void UpdateObjectFlags(ObjectFlagUpdatePacket pack) - { - - } - - public void AssignToParent(Primitive prim) - { - - } - - public void GetProperites(ClientView client) - { - ObjectPropertiesPacket proper = new ObjectPropertiesPacket(); - proper.ObjectData = new ObjectPropertiesPacket.ObjectDataBlock[1]; - proper.ObjectData[0] = new ObjectPropertiesPacket.ObjectDataBlock(); - proper.ObjectData[0].ItemID = LLUUID.Zero; - proper.ObjectData[0].CreationDate = (ulong)this.primData.CreationDate; - proper.ObjectData[0].CreatorID = this.primData.OwnerID; - proper.ObjectData[0].FolderID = LLUUID.Zero; - proper.ObjectData[0].FromTaskID = LLUUID.Zero; - proper.ObjectData[0].GroupID = LLUUID.Zero; - proper.ObjectData[0].InventorySerial = 0; - proper.ObjectData[0].LastOwnerID = LLUUID.Zero; - proper.ObjectData[0].ObjectID = this.uuid; - proper.ObjectData[0].OwnerID = primData.OwnerID; - proper.ObjectData[0].TouchName = new byte[0]; - proper.ObjectData[0].TextureID = new byte[0]; - proper.ObjectData[0].SitName = new byte[0]; - proper.ObjectData[0].Name = new byte[0]; - proper.ObjectData[0].Description = new byte[0]; - proper.ObjectData[0].OwnerMask = this.primData.OwnerMask; - proper.ObjectData[0].NextOwnerMask = this.primData.NextOwnerMask; - proper.ObjectData[0].GroupMask = this.primData.GroupMask; - proper.ObjectData[0].EveryoneMask = this.primData.EveryoneMask; - proper.ObjectData[0].BaseMask = this.primData.BaseMask; - - client.OutPacket(proper); - } - - #endregion - - # region Inventory Methods - - public bool AddToInventory(InventoryItem item) - { - return false; - } - - public InventoryItem RemoveFromInventory(LLUUID itemID) - { - return null; - } - - public void RequestInventoryInfo(ClientView simClient, RequestTaskInventoryPacket packet) - { - - } - - public void RequestXferInventory(ClientView simClient, ulong xferID) - { - //will only currently work if the total size of the inventory data array is under about 1000 bytes - SendXferPacketPacket send = new SendXferPacketPacket(); - - send.XferID.ID = xferID; - send.XferID.Packet = 1 + 2147483648; - send.DataPacket.Data = this.ConvertInventoryToBytes(); - - simClient.OutPacket(send); - } - - public byte[] ConvertInventoryToBytes() - { - System.Text.Encoding enc = System.Text.Encoding.ASCII; - byte[] result = new byte[0]; - List inventoryData = new List(); - int totallength = 0; - foreach (InventoryItem invItem in inventoryItems.Values) - { - byte[] data = enc.GetBytes(invItem.ExportString()); - inventoryData.Add(data); - totallength += data.Length; - } - //TODO: copy arrays into the single result array - - return result; - } - - public void CreateInventoryFromBytes(byte[] data) - { - - } - - #endregion - - #region Update viewers Methods - - //should change these mehtods, so that outgoing packets are sent through the avatar class - public void SendFullUpdateToClient(ClientView remoteClient) - { - LLVector3 lPos; - if (this._physActor != null && this.physicsEnabled) - { - PhysicsVector pPos = this._physActor.Position; - lPos = new LLVector3(pPos.X, pPos.Y, pPos.Z); - } - else - { - lPos = this.Pos; - } - - ObjectUpdatePacket outPacket = new ObjectUpdatePacket(); - outPacket.ObjectData = new ObjectUpdatePacket.ObjectDataBlock[1]; - outPacket.ObjectData[0] = this.CreateUpdateBlock(); - byte[] pb = lPos.GetBytes(); - Array.Copy(pb, 0, outPacket.ObjectData[0].ObjectData, 0, pb.Length); - - remoteClient.OutPacket(outPacket); - } - - public void SendFullUpdateToAllClients() - { - - } - - public void SendTerseUpdateToClient(ClientView RemoteClient) - { - - } - - public void SendTerseUpdateToALLClients() - { - - } - - #endregion - - #region Create Methods - - public void CreateFromPacket(ObjectAddPacket addPacket, LLUUID ownerID, uint localID) - { - PrimData PData = new PrimData(); - this.primData = PData; - this.primData.CreationDate = (Int32)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds; - - PData.OwnerID = ownerID; - PData.PCode = addPacket.ObjectData.PCode; - PData.PathBegin = addPacket.ObjectData.PathBegin; - PData.PathEnd = addPacket.ObjectData.PathEnd; - PData.PathScaleX = addPacket.ObjectData.PathScaleX; - PData.PathScaleY = addPacket.ObjectData.PathScaleY; - PData.PathShearX = addPacket.ObjectData.PathShearX; - PData.PathShearY = addPacket.ObjectData.PathShearY; - PData.PathSkew = addPacket.ObjectData.PathSkew; - PData.ProfileBegin = addPacket.ObjectData.ProfileBegin; - PData.ProfileEnd = addPacket.ObjectData.ProfileEnd; - PData.Scale = addPacket.ObjectData.Scale; - PData.PathCurve = addPacket.ObjectData.PathCurve; - PData.ProfileCurve = addPacket.ObjectData.ProfileCurve; - PData.ParentID = 0; - PData.ProfileHollow = addPacket.ObjectData.ProfileHollow; - PData.PathRadiusOffset = addPacket.ObjectData.PathRadiusOffset; - PData.PathRevolutions = addPacket.ObjectData.PathRevolutions; - PData.PathTaperX = addPacket.ObjectData.PathTaperX; - PData.PathTaperY = addPacket.ObjectData.PathTaperY; - PData.PathTwist = addPacket.ObjectData.PathTwist; - PData.PathTwistBegin = addPacket.ObjectData.PathTwistBegin; - LLVector3 pos1 = addPacket.ObjectData.RayEnd; - this.primData.FullID = this.uuid = LLUUID.Random(); - this.localid = (uint)(localID); - this.primData.Position = this.Pos = pos1; - } - - public void CreateFromBytes(byte[] data) - { - - } - - public void CreateFromPrimData(PrimData primData) - { - this.CreateFromPrimData(primData, primData.Position, primData.LocalID, false); - } - - public void CreateFromPrimData(PrimData primData, LLVector3 posi, uint localID, bool newprim) - { - - } - - #endregion - - #region Packet Update Methods - protected void SetDefaultPacketValues(ObjectUpdatePacket.ObjectDataBlock objdata) - { - objdata.PSBlock = new byte[0]; - objdata.ExtraParams = new byte[1]; - objdata.MediaURL = new byte[0]; - objdata.NameValue = new byte[0]; - objdata.Text = new byte[0]; - objdata.TextColor = new byte[4]; - objdata.JointAxisOrAnchor = new LLVector3(0, 0, 0); - objdata.JointPivot = new LLVector3(0, 0, 0); - objdata.Material = 3; - objdata.TextureAnim = new byte[0]; - objdata.Sound = LLUUID.Zero; - LLObject.TextureEntry ntex = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005")); - this.primData.Texture = objdata.TextureEntry = ntex.ToBytes(); - objdata.State = 0; - objdata.Data = new byte[0]; - - objdata.ObjectData = new byte[60]; - objdata.ObjectData[46] = 128; - objdata.ObjectData[47] = 63; - } - - protected void SetPacketShapeData(ObjectUpdatePacket.ObjectDataBlock objectData) - { - objectData.OwnerID = this.primData.OwnerID; - objectData.PCode = this.primData.PCode; - objectData.PathBegin = this.primData.PathBegin; - objectData.PathEnd = this.primData.PathEnd; - objectData.PathScaleX = this.primData.PathScaleX; - objectData.PathScaleY = this.primData.PathScaleY; - objectData.PathShearX = this.primData.PathShearX; - objectData.PathShearY = this.primData.PathShearY; - objectData.PathSkew = this.primData.PathSkew; - objectData.ProfileBegin = this.primData.ProfileBegin; - objectData.ProfileEnd = this.primData.ProfileEnd; - objectData.Scale = this.primData.Scale; - objectData.PathCurve = this.primData.PathCurve; - objectData.ProfileCurve = this.primData.ProfileCurve; - objectData.ParentID = this.primData.ParentID; - objectData.ProfileHollow = this.primData.ProfileHollow; - objectData.PathRadiusOffset = this.primData.PathRadiusOffset; - objectData.PathRevolutions = this.primData.PathRevolutions; - objectData.PathTaperX = this.primData.PathTaperX; - objectData.PathTaperY = this.primData.PathTaperY; - objectData.PathTwist = this.primData.PathTwist; - objectData.PathTwistBegin = this.primData.PathTwistBegin; - } - - #endregion - protected ObjectUpdatePacket.ObjectDataBlock CreateUpdateBlock() - { - ObjectUpdatePacket.ObjectDataBlock objupdate = new ObjectUpdatePacket.ObjectDataBlock(); - this.SetDefaultPacketValues(objupdate); - objupdate.UpdateFlags = 32 + 65536 + 131072 + 256 + 4 + 8 + 2048 + 524288 + 268435456; - this.SetPacketShapeData(objupdate); - byte[] pb = this.Pos.GetBytes(); - Array.Copy(pb, 0, objupdate.ObjectData, 0, pb.Length); - return objupdate; - } - - protected ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateImprovedBlock() - { - uint ID = this.localid; - byte[] bytes = new byte[60]; - - int i = 0; - ImprovedTerseObjectUpdatePacket.ObjectDataBlock dat = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock(); - dat.TextureEntry = new byte[0]; - bytes[i++] = (byte)(ID % 256); - bytes[i++] = (byte)((ID >> 8) % 256); - bytes[i++] = (byte)((ID >> 16) % 256); - bytes[i++] = (byte)((ID >> 24) % 256); - bytes[i++] = 0; - bytes[i++] = 0; - - LLVector3 lPos; - Axiom.MathLib.Quaternion lRot; - if (this._physActor != null && this.physicsEnabled) - { - PhysicsVector pPos = this._physActor.Position; - lPos = new LLVector3(pPos.X, pPos.Y, pPos.Z); - lRot = this._physActor.Orientation; - } - else - { - lPos = this.Pos; - lRot = this.rotation; - } - byte[] pb = lPos.GetBytes(); - Array.Copy(pb, 0, bytes, i, pb.Length); - i += 12; - ushort ac = 32767; - - //vel - bytes[i++] = (byte)(ac % 256); - bytes[i++] = (byte)((ac >> 8) % 256); - bytes[i++] = (byte)(ac % 256); - bytes[i++] = (byte)((ac >> 8) % 256); - bytes[i++] = (byte)(ac % 256); - bytes[i++] = (byte)((ac >> 8) % 256); - - //accel - bytes[i++] = (byte)(ac % 256); - bytes[i++] = (byte)((ac >> 8) % 256); - bytes[i++] = (byte)(ac % 256); - bytes[i++] = (byte)((ac >> 8) % 256); - bytes[i++] = (byte)(ac % 256); - bytes[i++] = (byte)((ac >> 8) % 256); - - ushort rw, rx, ry, rz; - rw = (ushort)(32768 * (lRot.w + 1)); - rx = (ushort)(32768 * (lRot.x + 1)); - ry = (ushort)(32768 * (lRot.y + 1)); - rz = (ushort)(32768 * (lRot.z + 1)); - - //rot - bytes[i++] = (byte)(rx % 256); - bytes[i++] = (byte)((rx >> 8) % 256); - bytes[i++] = (byte)(ry % 256); - bytes[i++] = (byte)((ry >> 8) % 256); - bytes[i++] = (byte)(rz % 256); - bytes[i++] = (byte)((rz >> 8) % 256); - bytes[i++] = (byte)(rw % 256); - bytes[i++] = (byte)((rw >> 8) % 256); - - //rotation vel - bytes[i++] = (byte)(ac % 256); - bytes[i++] = (byte)((ac >> 8) % 256); - bytes[i++] = (byte)(ac % 256); - bytes[i++] = (byte)((ac >> 8) % 256); - bytes[i++] = (byte)(ac % 256); - bytes[i++] = (byte)((ac >> 8) % 256); - - dat.Data = bytes; - return dat; - } - } -} diff --git a/OpenSim/OpenSim/OpenSim.csproj b/OpenSim/OpenSim/OpenSim.csproj index 03ae6abae4..0033d6b879 100644 --- a/OpenSim/OpenSim/OpenSim.csproj +++ b/OpenSim/OpenSim/OpenSim.csproj @@ -1,4 +1,4 @@ - + Local 8.0.50727 @@ -6,8 +6,7 @@ {438A9556-0000-0000-0000-000000000000} Debug AnyCPU - - + OpenSim @@ -16,11 +15,9 @@ IE50 false Exe - - + OpenSim - - + @@ -31,8 +28,7 @@ TRACE;DEBUG - - + True 4096 False @@ -41,8 +37,7 @@ False False 4 - - + False @@ -51,8 +46,7 @@ TRACE - - + False 4096 True @@ -61,87 +55,90 @@ False False 4 - - + - + System.dll False - + System.Xml.dll False - + ..\..\bin\libsecondlife.dll False - + ..\..\bin\Axiom.MathLib.dll False - + ..\..\bin\Db4objects.Db4o.dll False - - {C9702041-922C-452A-A1B4-7880AF53149A} - OpenGrid.Framework.Communications - OpenSim.Terrain.BasicTerrain {2270B8FE-0000-0000-0000-000000000000} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False OpenSim.Framework {8ACA2445-0000-0000-0000-000000000000} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False OpenSim.Framework.Console {A7CD0630-0000-0000-0000-000000000000} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False OpenSim.Physics.Manager {8BE16150-0000-0000-0000-000000000000} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False OpenSim.Servers {8BB20F0A-0000-0000-0000-000000000000} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False + + + OpenSim.World + {642A14A8-0000-0000-0000-000000000000} + {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + False OpenSim.RegionServer {632E1BFD-0000-0000-0000-000000000000} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False OpenSim.GenericConfig.Xml {E88EF749-0000-0000-0000-000000000000} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False + False + + + OpenGrid.Framework.Communications + {683344D5-0000-0000-0000-000000000000} + {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + False XMLRPC {8E81D43C-0000-0000-0000-000000000000} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False - - - {642A14A8-0000-0000-0000-000000000000} - OpenSim.World + False @@ -159,4 +156,4 @@ - \ No newline at end of file + diff --git a/bin/XMLRPC.dll b/bin/XMLRPC.dll index 3d338bc1fc801d60ba2a450b9e423af394bba7f1..eb3e3243f9c16f8deeb0380c310e6c0fb8317a49 100644 GIT binary patch literal 36864 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%0D^Poeq#22dn?e%%YIWrGnH(RpA43@#rK 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 EKXa8Y2><{9 literal 36864 zcmeHw3wT^tb?!QkIp@r1W~3P@k{_}>j$dQF;&<%C2_8$btyr>TNq!|xl(9UvCmHF; zXGVUhGBTKy&_LieO_MZGFeD8WS}38H1ZW8*X=r(b+Ym?yzR4{g1-{bqXak{v+<&co z<{>+Uv>(0S{l04S%{qJSz4qE`ueJ8tYwsD4d#`^d8AN2_{pzbkpTv`2n+5)AFpcKu z!bhX@aPUiuKB@J5Y0=QpY(6pWxktS8XksKiHs%%*2Qvw8Vl0szOLX=PCPv*unf6E| zw8UrK-$m4;8MNy}c58987bv=@N^^*AMomK1MkoF9wBRwRuTgSy4a+aD&jO;JUziuF zfe2oFmYRj;)2E60xHL`lUR|nYg7*@IXV$zvEJ1`BlwJ<-?Inz;y^uLs0A6Q#Yp|tl2z& zrA2=zdZn0A01qvsPYU@YlX+KQSj!EfV-jpb?gAc52;BKROcg3E7bp5qZJ@r^YH5lE zV%B|C6(qJBLF=-Z)v&MDidnJ1JF=^vD~`c3xCt-{J9YJz8)a_!YUXBM2uFfe9#;fh zrkL4G8s8Vtt+e!=6vkAvd1o+5v-#(~IgKf3$~3$+5LtKOBbK!5$ryOJaR4ucrerOb z_M_z1p#=TUUm2jkgz_=rnBG>C_@n7pU-f<$1o>VtIjy_QAY>UXOc|=ujbuHl+vY2} zdX2^n?=+w&NOif;7*?(Kquy~rACh5JtLeg+p|@j1EmB`=n(iE+wb7Q#Vo?|7f+mA8 zGZr`>GodmQmGe;9_J1y*eWDGWYO7<_t#+)MEf9L%)`M;%_kwaEeE2Mc|1pMDW5ul6 z$hZC;YOA$l_UT&3>(psHRv}V-vJW!tF{zN_gpNteHyU^#yM87+U70&oSaV3aS= z@2mukl(X6utBU1&v?W-N+WeI!{WW^QNn`ni7zRs&UCg~28ml!oybWzJQ%v^2TF{5% zdNKhrQC1Q*wyG*?+(l?pt7M0)l1R`+=m<5fSsyI4puf8qSnCSA)d@=P)+P)6m!MLX zVNmHGF(LFCOX?$#g#F~ITV8$jRk(_&Tm@E#tJum_EVYJos-<^-ROy80XhQ>7^8Or+ zh3zf^Q>eJAPG_s zI9QA`gA}=$HgTMpkNA8gYz^DT>Ov~0h$9&88&K=EgSW);&;_f?KE3P$qC?m_jp-;4 z4zb>`MA_|{5@aamRG0W`(9UeRJ;O)b*Y!@NX z@`>7NZCkCuFJmldtQ6H=gP6q?Z|qXu=qPVQ*no2cOWp`k;W0<3!!j*q-CxXysrR-Xd!C?uAsM?4OJJy!G?X2paU;@ zvA)@6(GWR8&0p5@utR7HQNz^pgV5qsLW+C1h(KWao0eE*3Sq!(e(v@5G1M+>s&2?r zq&uDng=X{R*x{uh`e40;L?3WKOX7%&ScUEEvNg8O8;8}b9@u_)oufl7V!~CgyC3#- z#lT&M?$-W>{bfD|VQmm{gqUt5YQR2;saqjSGN{(LrriK&`1yvL&&e5QeOR z4xgyy)zyK^fZ;9FZO#fCX(e&+{IHjBF>4GjGQei!!E+D(RK< zz}CZkBqBswHU(8Mz;e*5WM%jv!4`{3ny6xeM1Ik52y^O!Ov{2QpZN5Jx}aK>e#lm< zQVr}cdf&Am6X#w!EuifgEK0l((!{@@Ws0(mwt_Wsw{3V-*$wV?JneaIHy*leh)Qiy zspVdWy09&pb&!9W^pZwY4IXBj)@)7yncup^EbudAcu%qccc6=5)m!h#y4c@ChT97W zT3AYJjT_!GATot9M=x%{E-5YFzN7`F(^?aT_kC`8fU#OLZhB!0aRCu9ROA3F3WxP* zn8_QK6%L);@&IFPwl@T%CE)GDqsRev)Ha@lf(-8fSIaECqs5|G;85-MW6b(h{bqs5 zRm2Zq?+S>8s|?R8((8tuM6^U6%CiRn2iUe}u-6Ba9TB_{T`grtMOD%iZyOum30X|F zgBaeKB45Yd#nYA~)NbiUWS5PGbsI6fJBnn6cOQyDncNJioSJPUo~ev3D*VlA_S92PB5GS_kP|73xdRZrIaJro zF{{mxj}&8ui-5~sxW5ZE9L90BA^I*BsJ*cI>f3-fpFub=TkE|KU`~cR1bRs}{cKn& zmWDT8Ko>_WklYQDw)u{zO(6>$F{?r@Z`SLkU>y?=#5uEBPhtzPbXlBJ@WyftB2Gxv z6ovS+Um-+f<9-P7%i1%0!Q-m;LH32=Jj$V^vNYB{ceFw($bL%%0cem)Q*#27QFRd11&$*pC)g3G&O@X_nF#HW)XP`yt%M zd$5#aW*1ygj_kE~VsQ~1pN{zNGkE?X-XF&MCwMPK7k)SE`Xs9}c|9wQ^^2plRNR0H z>;VzI{tjM&s?BQH+=5!SC$%K7ihLKnTBIag-amnnTA7YVY%yqWE0$CMMvR zF@sE@4RfT)&sz&)KB&l7gbNnS7b7MySW)O#TOZK#8 zX=_Crax?5nhzX{f2EhX`q8`%YG>J{s6mMn(8?C97!90uo;{IHxn3fTqz!cLej@BK_ z%{|C-Iq$EZ@@kUV)~O-#BcPdLDVp2!hftp8NYH%K8AK7YEtFr2xleOhDp0_ls?(q1 zi4icj47!BmN~EejtS^lu52HfGl$H~?SAoPxM+Q;J=a_}nYYti}6x0S<_r?N}b*uG` zdk*huD7TD#zl7Dbv>>ryFO@{CWkEx@Wv<$YD=qEM)M=}-T&#o8Rg;`6+ri{fAkW*y zvswe)`5+$+h!6`gCBB(b`ERJ9boXISwP849ey~0g&Hy+}A^w=Uo`=I(Q;3=<|I&i% zTKQYK68ab4e zcTvud10ZQShQ|flQPa6Fx5|478nR`V7H6CzHxC!6S;hY-UEQtb$#WeTpt%mbo$a>` zI5r0OACK3%SYKMDq*CL1Jbs->biuZZ!-c%9HeX#`ht`?H`TI=`)h#KH*Vd-STdhyB z-rPL8aqh;5A^RJz1%ue9>LE+ZLaaKOegTwu*v~?W#!9u46R26HTHBt*m7HQ?7O$JY zCqT!+r-6MEr)`uaAFo$;Mt4E(%6!)FGjm+3u{5?w6LyLhP$36e^~L}zE}$HBVS`nx z?hXuO>2gRHn&!g@0XQQdmB3~Mh>IjEnF5e~6sw4k4M5-J*(22Y7hXJ`aq)PT8AwLC zKj*Lr5QG#0_lcOH4o|=;vs}bhm6^+uX>GLJENU*St@6(C43Z}xtM3vC??F^m_WOQu zdWynw;lrGQ`gej&O5Lj<(SB{^ROZ}D2kK^{?XNGy)U8G&*lPJ#8j8SIm49a1OxH~D)++H^ba&I4 zO=@a;cxqgh3alNS&Vz0N=2hIQkj+?^?p33&wO8#c?^V6no!AG|?olF$ zwd$F?f!T4a#nM%GAd^hmiit`WJvj^t?-gDvZv+KjiTEGaAXk#0lW_@b`oJ6nF7EGS6>;Cn6MLFl)h`7Wvw$JWOOfe-_wjuMtJ7 zex8WbkbD#BkPUmwP&>t{Xj$X63&s44DEM|nQN+Bfm_ou|{>{wPs(<_S2z2f_8E;`i zZh{;3RoO}btE;?|=%EC_^&q?`6n1>FNDx;_jwmXkJM}>s)_n^|k_Vtc9p^-*mzpUt z66VNj`3^i6@?2Hk(#67OEL;Xy3$OC8qAzPNiqNosO|5r-No;jsYgumZc)Juu3INoyv%7C& zYIyv0K$?H7OI|y*6^Jfd!xVOn;sv5H1^45R^Sb$=Px6D$ht`yIu3D+7uNFggJ$WnY zFW7qWcfkL7nWK(+$5HEdJzV}UD3Z4TG_!32^d+<}5{cg{t^8vkx^% zC<_}C7e$+@D7R01EywzaAya~#EL_OJ*|0;Dh%q()K7Ik!t)k12B|!}+Z>1&&P0uLB zx5m}e&43HS4eL|sms?oRVkfk48Rk-1IljO=c-*!6EbyKxrhkvX z7php!p9q{2=JFPSw})BU4~4n!*TPKyJ*oMHld&Aa<5n|=9}9dLFiNXx?hN4c z1ZdF%H9W6x)_k@G++s|*NMM`5?J?HFO)=KkajAJQ#xj3dYMvALVvHrX<4kih&K#bL ze<}{U1BP(J&H7wi%k`TDUJnRo@x6roo+Hj>v;>}B#I67qgii&fEhTLh{EjJy1aole zWb6>I2t4sJ!6v1x30}-?w*zaW#rR|F-N5SbUMAR|_!v&jXnPD;5@)s5kgJBi2`oS@ z$Va*DB_F$zG{|jeOTc|KbxK;sr><_!7ZBQt$_OV-mC214p$)n!}EI`*_O)`cLnt^Sl!-72|*bZ5%_-7S094q$H zDB5!H1dH-|1mzcXNKQWy_%r<~lsk;wNHF&r`)SYg!^V|>j|qHI;8z6xoxpDj{IF-KNa{3fx5{Yf&yy#_XtsZ^Xbkxp(@)~;-uv^Oe z?PDk(wD+TL&YnQ|f7qvV%lc=u?wS6n{V_npVORxNkIy1Mj}hN!{Q#7EoD5_*;9LoP zrk#+CVo0lv)>~1p(FuWP1>Py}et|#Js|}6*!l?!PU(OuBZ#xSZnmy?I4U_q^Ei_V; zKMY=H?3r!~u~chAtks=T9+C2IN%@^pen`rnmh#h5{*IJik#e}|O59(4wUhuI$G^R0s6T2eOyXG`RYppt} z5lm^Kj^+qE+>!{as4cYTayX`;JYq@VUspcU4=N3h%Ip}-nFLC^cxpP_9L zy@Ct7qQAiM?UmRf!Jg1ISexM$O9VSd1J+i33Ehl~EVjc2YrejeeoL^kbkM3nw0+pe zMg{vv!Oqbs!7k%~>)U7$dQDZy@YK4s4b_Ev?_ z=RtV|{e_P`Wxqqef}ZlR{eekZMFV_^fe|(tcj>DsSHkYo*U*Q3>@9W^_Keo`OnEo` zZ~HuA^A~+=p7W%>iCz>;*%rwtUWTmVujobW32l?{HGMNTq3sE6v-7;ZrG)i3|A003 zJ;f9H{E@zm5M=Rs0(Nf&c86eUgl@X4gw;_ueL!IjulF7FVISjIu!9~JOs)4F^sj=k z#r{p-K{dF^DUPs%o)k=t&`VDV#*_i0m%i&$vTb|mAwDSiQEDfBw1i!bNbv)OIX`fc zMj!pFkNwPP2lfje(}Qb)1+HQ)XProJIsWxy#K-0b>-9cbBG_%t3bgf8tB-9EY^{%V z3AV|{1_Zm`$3_JEp{n{bA;i1Jo%Gh`m8-J|5wE1!GYzZ!1AXsnHIp;agV)DfHl}%8OF3v+5cq5 zq$Z|4W&gyC(GykkKtHL!YNj;a8&+w0I1tEEFkC|^tvVb=`6+xeE~T}E>jS&cw^3ko zAV_<|TLQaiIIMbY3#38$6LS~c748kB=sl=UYkwYIOe=_E=CkzK@H~2!z8D?~WVIK; z{}^J_zQ8g17oWp$;9imKeH!N+yXa)(?P$F-^1Fd!+Iu2Hf%j>D9GNE)-Wyn@eKPVe z;AbO`2>eS(@;8ysqpXMjHn3lNIE%^<%U%+H1`f z&3r+|Wu6DDRoZxTF@070{pc;$BlMBzIN)DJ>-9(I%Ye^n7ox{e^Gfs_YO1Rzt+U{8 z*7}~-TwO!o(|AQcLYt})Q?-3))xi0k*1fXQe5JCw6soD$SLoYneqpW9 zl_rO3411&SuLJ*c$itqp=h=1iO3meVw_X!#v3KdqW2@}Bfa~oQ+Va@dc1*t}w%J~x zpG8bhqi?W5>8L7$7kn))%6kD=Eo>j1PpuXZ^-CX%euHq>r#zTlUK zYv16k(vF~Ym6oeDFp3@?bY3L3-HT$QmjwnT-s0qpyTm9?X`cX0(&qqM=_`OM>1n{V zI0;5^W_ty26IJ2lyqW3&J82={c6<;Sr5;)X*iV}Qho~2DA6*Z4fHHtLlLvT+ejD&8 z-4B?fM*zp^^MD2VI(`x0!*o=4=!^6Tz^CX@z^Cai0b8}h1|-pL#dki}Y9By(gZ4p` zH);Qf@@DNvD0gaGa2v8++h#iW#eus~?$`bRe$X^_R^xfg^$U2EGw^Dey|5 z%Nn%OR>t~$>qFLGTmN9~uy@-x*tgnWw4brRZ~wFXulB392dZuH#s_@ zrinir@zg=Ys={9cCjpLTacCGhI-*((mr-$i(#iKrk0XC0`dj2!L|;SxMD#)9w*dzN z%XOmt0j@bDa6+J}QLXn_yFv4P`@?|uST6x84vO1776Lr#LxA@OHv+yt_y)ia2KgI6 z9}P0+M+H7E@XG?fF7Vp|>qBWn2NOePWgtEW@TcR{V*`dUKOJ+Z0&K+mG~5eBP;SEa zCUo3g#{ieWCOU2bE(2VR8SC(|xq#Q9pH4f`Lq{I75O5c64s>|eV!(aqq0@d^4tPBx zuTD4Mrb2_iwV-?>wE^CQ995@bWTQIWOlttsxXaLSYj7n!WyNiC8q=HcIwQMQxk`hV zG6uDkUK)MwHR|pRFhPxcAA~mbx`!rmnQLiZZ_hw~NBf~%j`oe_2F6DQGWl_L4Bw~N zd19npRrxI)xol>v(C@h?Px&>2r}Bl&Xy3tGG9v}Q3O$D0TQg&MAMZLj?&dRxQUzRs z9-Js-{OWo;@I^+3WIy3o;tNb1_T2dn;nejp@m+Q!Q zh3w(%NV<^ecXQd1lF%9NIGFahM|v{HGdV6CQ8*r*nOx=wdX&Ue%D6Y1jd0j$Z)andT2eYH&xy<%LVSMJ)74f0c%)30#^*Zp=C3zankGNhgdytgs z$=AKY+6N}a3fa+2`#@&YE#S_%osE@6w}DJLrwms%gx_apra;}7>dJ5JaC12r7Zc4> zch}g&XvRw)%w>p+)H{(YK)?AyNo!@b>`CV)GDD}vGccb{q~)!|+D-qwdbE=qK%+qT$g@;i!9PdnPw7^7od} z?w%~%JqMsFVM=Kn%pMs_7bd)nk4xWCR%}NaYqFBVVBc_OYN%_dySIzBqz1dzucg7E zf$p8#sC(xSrFw>j`B^6E>+9)C?W8@ap50xvGlgEMfq~S1rbtn5SMQdt0cNnf1D*PI zZ|Uix{?tIKSHVG03~lf09PUW<^c2g&#IGOd8tm`eIoL&8Q@eYH6ddm8>+~yzebM~& z@B68bsag3x3~xQ``xvG>dNAX4j~#a5FFtWmt71jpPDA|jHCh4wkTr5>{7s1d%&CRw&9cm>HRXUQV@lc&Ek-{4-DEM^ClyTeos! zMf}3XGqZyBW)2qPYsb;d$gPMQS!e|@4bpH(Qm)+DH30wJjV0vk7Ll=i&>guoQ^?cM z$T%XA8W@ z4~i*HjIdF_Y_Q;tmtrl)%59l~A9;(Bvm3jvqE>yh zJcIYGy=iZZ7msW%Fs#4t35Tw+0-{-WDt~H>^8wb8luOcX$si{Bfv{`rP%$K8JtA*l z?_ql@Pa8f8VSI-l9{1dWJK`b`AI|17{prHdt$3EP&MeehYGbXdqyv+M)<%6_8_tf6 zPq3o6&Y$wIJ5k`u?dkl{f^1R4M@0i_$@i&N_O@>6%q5>U7t3RE7${@h#@h5Jz$i8h zH3vpme4d8dt}5qL*~-(}mcb&Dt< zBBE0^0)`hcnFW`(X2&GKLUzDe&LJu`U>g|h8txhx=o=XBP4#T;8|dxo7+Tq^8 zZ8KWBc480UJ*kqsSSi$lT?2ct)O_}`$VXWBma!r? zY_yyUu|S;iai6UdxtxRo1U2A(dLuQm6=yJuyuV4xPKC}DtE|YmyPSav+YT2wt}0D< zJZ%ZuZkI;|CTh?6$>T9_h$3F|ER&r87mZk^meRJt{D=^WoKt; zW$24rIrKr1h^Xb3l;@>oi=c9Ds6wjDky9L=IX_ulDngZUk+eJCKXDMJ7D0AoPSF^L z)$XxFnUj5oX>j6TUO7pLqYx^qhz&|&7nNJ8s7Qi%S}GTY#q-F`B{?s7>Tcw|nG!~& zl2S~b+=I8!XqL_1F_AC0qa}hor3O2?abWN>G}e7jX6y(8B_B`_t2v=5ZScM6F%0C% zS)gJo_m6EI2=h3RadfKK%FF4R>c+>gG39>Tl*;AY6S6m`ZDPyB;ls!Vv8=e2lOz#B zwh*3xADb01=QjSnvNeb7MWqn_xmbw(a!IC3+k8$K#owzic9ExS!hApzVN`ZjLfOXH zJSCy?CxEn|E0F-9jxxhjnyB#9ps;%~kvae`M`=Ox4)AMQFffgPoAiZ=Co+2b%;Hy?0WZkbMJ z201}4f9>Sz^=me+Np-DkTel^(rEP8Jy47u|RBCjJZiO9VedE60X>yHH`hl$YGit7*xSQ8{I;Jh^@)UaJqbt)e0C6ilcNj|g&zTLs$c zxuZ&{zTOaISFPuy9)Y7<83^0$@hm67QrmShjXMuT?P~@pFLADmh%}bvRIQ66HFnqZ zA?iArE#R=8hxQ83sV*lB zykdC;>_I%^lrrCoqp6>FW{2FumQw`;w>$(ZOyoN_H-uV?eoHyIeNkNf-GQ+8sB{=3 zaMoG&|4w&AqH{5gE?#xWZs?Aec4k;)Vx-WMK81x>R+++gWRc|fHvmZPPhh4XM-IsW zz%Q}2dT>Od)c82U??sVaHgufT5%u{H(KpVHIV1LW9L0V*L*{gimN@0+rA0hGh-Vj7kAJ2Hljui<=R2Cc$6h9SA5LXj(BOnsKyb(SMA6aK;zm5b7!gNPvk8b_rZxx}Y1wKvx0lM(H@j$YCJvQ$QIx2lz0p zO9$x|lt+L;gpvOW33_ELrKSYF^_qYrd5m3@H$x|(I2UypNC+wL^~~SA9%xqzql}9l zMxcYD;w$yc`kE;%YrOz%vN2h@1TLI+!>UzcDVzuv~h6~Ply7M*Ds{(c0e*p-4})Kcd~dMV`~)Nur=VNYWJVCAu2 zi3Cx$}fDFNYe0(#Ak8LQ%v?o!21>h+7(W1(b%K=vf>?}r9nx@D> zl=A4e9v?$;h%Sd(!bkR~TXe{mVhCfh?%MH0_KXiK*W&}sRYWUJVP5>#i@!toI{<06 z}0Fp58ZVk-szLo!okC8|CM%oU5VuE$;_GXKFZ$4Hp;_#tWk~}Y$>(>Q;b76M=Gx8TBSMf4628xRn2n6R zcrP@>QIQit-Um(rPT+Y0wY;j|Ky*bf$~np7Jn>uR&HDv=vWmZ)&9Rk)=QW*Td9G8L z4ST~(dfw~UiTJ9tNRD{5HrMw^VrXf(dUP8b?L zt%MeDi?^X^E#9k4{073R0C>dLGG${lzRpZgd>yLd>!M&DjdG85sCGb^e7&(cT)8oX zEB6JHw*`we0W18v%^^B7#)ry5+$qM8P&wQ?#b_U9hb@M5e{>b?!|5*bJtg=_ zC>lRzCLxev#Wr9Ne5+7npeweUEke)O24>JWM`jV*014s~sEnUtmRfuQV|KEDoh+b~ z`nlB4bwgZY9ZZ>4eEKYdw=lR}x=sZk-t=1po@G&|0!gW0c$T#@g|7R!WuMKnS_=vu zb04?uGduBnjvM;1$oVk9OSlWA@&T}zSe-zdN-|ZF$PRFb%ntP4^6&TN1L36`L;`)s zB#<4F&~SuI{*li9nE`sH95ch^YX!cdq~)#7pZ*NGpzrqh^kdP+`1IrP z=`S?KN8{6&x^ z7GBZO1&tQ-n0|JF9f_}VqK#&pH8HkH)vx+aXjt@l|mMv<@OI z5<&3oFAXfU*z}9bG-Rdx6{sOSBKN-X#T48;q9WKmb`7wKxiCU+B6u(B$mwDhgP#a6{2V6+Sr+%J5mT1eF%k4^z_E?^SuLK5>I(wA87&An&?Z7cRM>v(GCQ~+&=_A8jhzij zZ=VIl&d%j{7=;!ui=SNto!Z4Gy4T|0vq3<;7T>?rAo_wp)P!;vL>M^H5E)>JICZuy zXa^jy11t8ev#T)cSdU2A3sS8yf;sJqH|p_LrV{D&t2J6D|GAR7txMp)SsHUsBnt9T zb|RlXoM}zmf=>Vv6ZuRc&Hvj{zK|Xp$sm)VAihf|_lYD*JDUo!61rf;wH6G52haU% zH$tNx&o;6V4g_oiP63dY$-GE}b1yU*^hW_|J}6wKGpQhnR6f}91rP|dZycs_dc|Aa+2-8I(1yT(HTZC$&$AsXXWduZsd-fYw~Le zaj$Z=$Cs+bOD-XxkD4FAkQ!tvpLs6jG%YlIELMMOaiIep;G-D+etwa@6Qf`HSq_hr zz)OjC9WdNZ^DIS73g_3e6hkGIq)?=@uUYm<1(WM+U&>mXFGC! zJ_YbADKhaD%n|9q2fT3{_xVJ31Q!9gDinD(3;#a9o-=OdUz`hLe3tn4$5|`$=|_LQ zVo}H0i)U4y56_L~#5zb}-h8Iv6S2C^`gQ%#b@nx@fmsdAYG76avl^Jyz^n#lH887z zSq;o;U{(XaDGiLP-zcn+UugMFF`eZztASY!%xYj(1G5^K)xfL + @@ -123,6 +124,31 @@ + + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + @@ -469,6 +495,7 @@ + @@ -499,8 +526,10 @@ + +