diff --git a/OpenSim/Tests/Common/ANumericalToleranceConstraint.cs b/OpenSim/Tests/Common/ANumericalToleranceConstraint.cs
new file mode 100644
index 0000000000..893862f330
--- /dev/null
+++ b/OpenSim/Tests/Common/ANumericalToleranceConstraint.cs
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using NUnit.Framework.Constraints;
+
+namespace OpenSim.Tests.Common
+{
+ public abstract class ANumericalToleranceConstraint : Constraint
+ {
+ protected double _tolerance;
+
+ public ANumericalToleranceConstraint(double tolerance)
+ {
+ if (tolerance < 0)
+ {
+ throw new ArgumentException("Tolerance cannot be negative.");
+ }
+ _tolerance = tolerance;
+ }
+
+ protected bool IsWithinDoubleConstraint(double doubleValue, double baseValue)
+ {
+ if (doubleValue >= baseValue - _tolerance && doubleValue <= baseValue + _tolerance)
+ {
+ return true;
+ }
+
+ return false;
+ }
+ }
+}
diff --git a/OpenSim/Tests/Common/DoubleToleranceConstraint.cs b/OpenSim/Tests/Common/DoubleToleranceConstraint.cs
new file mode 100644
index 0000000000..29b808df6d
--- /dev/null
+++ b/OpenSim/Tests/Common/DoubleToleranceConstraint.cs
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using NUnit.Framework;
+using NUnit.Framework.Constraints;
+using OpenSim.Tests.Common;
+
+namespace OpenSim.Tests.Common
+{
+ public class DoubleToleranceConstraint : ANumericalToleranceConstraint
+ {
+
+ private double _baseValue;
+ private double _valueToBeTested;
+
+ public DoubleToleranceConstraint(double baseValue, double tolerance) : base(tolerance)
+ {
+ _baseValue = baseValue;
+ }
+
+ ///
+ ///Test whether the constraint is satisfied by a given value
+ ///
+ ///The value to be tested
+ ///
+ ///True for success, false for failure
+ ///
+ public override bool Matches(object valueToBeTested)
+ {
+ if (valueToBeTested == null)
+ {
+ throw new ArgumentException("Constraint cannot be used upon null values.");
+ }
+ if( valueToBeTested.GetType() != typeof(double))
+ {
+ throw new ArgumentException("Constraint cannot be used upon non double-values.");
+ }
+
+ _valueToBeTested = (double)valueToBeTested;
+
+ return IsWithinDoubleConstraint(_valueToBeTested, _baseValue );
+ }
+
+ public override void WriteDescriptionTo(MessageWriter writer)
+ {
+ writer.WriteExpectedValue(string.Format("A value {0} within tolerance of plus or minus {1}",_baseValue,_tolerance));
+ }
+
+ public override void WriteActualValueTo(MessageWriter writer)
+ {
+ writer.WriteActualValue(_valueToBeTested);
+ }
+ }
+}
diff --git a/OpenSim/Tests/Common/TestHelper.cs b/OpenSim/Tests/Common/TestHelper.cs
new file mode 100644
index 0000000000..1ec9e65ec7
--- /dev/null
+++ b/OpenSim/Tests/Common/TestHelper.cs
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace OpenSim.Tests.Common
+{
+ public delegate void TestDelegate();
+
+ public class TestHelper
+ {
+ public static bool AssertThisDelegateCausesArgumentException(TestDelegate d)
+ {
+ try
+ {
+ d();
+ }
+ catch(ArgumentException e)
+ {
+ return true;
+ }
+
+ return false;
+ }
+ }
+}
diff --git a/OpenSim/Tests/Common/VectorToleranceConstraint.cs b/OpenSim/Tests/Common/VectorToleranceConstraint.cs
new file mode 100644
index 0000000000..39f1b1a59d
--- /dev/null
+++ b/OpenSim/Tests/Common/VectorToleranceConstraint.cs
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using libsecondlife;
+using NUnit.Framework;
+
+namespace OpenSim.Tests.Common
+{
+ public class VectorToleranceConstraint : ANumericalToleranceConstraint
+ {
+ private LLVector3 _baseValue;
+ private LLVector3 _valueToBeTested;
+
+ public VectorToleranceConstraint(LLVector3 baseValue, double tolerance) : base(tolerance)
+ {
+ _baseValue = baseValue;
+ }
+
+ ///
+ ///Test whether the constraint is satisfied by a given value
+ ///
+ ///The value to be tested
+ ///
+ ///True for success, false for failure
+ ///
+ public override bool Matches(object valueToBeTested)
+ {
+ if (valueToBeTested == null)
+ {
+ throw new ArgumentException("Constraint cannot be used upon null values.");
+ }
+ if (valueToBeTested.GetType() != typeof (LLVector3))
+ {
+ throw new ArgumentException("Constraint cannot be used upon non vector values.");
+ }
+
+ _valueToBeTested = (LLVector3) valueToBeTested;
+
+ if ( IsWithinDoubleConstraint(_valueToBeTested.X,_baseValue.X) &&
+ IsWithinDoubleConstraint(_valueToBeTested.Y,_baseValue.Y) &&
+ IsWithinDoubleConstraint(_valueToBeTested.Z,_baseValue.Z) )
+ {
+ return true;
+ }
+
+ return false;
+ }
+
+ public override void WriteDescriptionTo(MessageWriter writer)
+ {
+ writer.WriteExpectedValue(
+ string.Format("A value {0} within tolerance of plus or minus {1}", _baseValue, _tolerance));
+ }
+
+ public override void WriteActualValueTo(MessageWriter writer)
+ {
+ writer.WriteActualValue(_valueToBeTested);
+ }
+ }
+}
diff --git a/OpenSim/Tests/Inventory/Properties/AssemblyInfo.cs b/OpenSim/Tests/Inventory/Properties/AssemblyInfo.cs
index dd537a557b..ac5dbd9820 100644
--- a/OpenSim/Tests/Inventory/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tests/Inventory/Properties/AssemblyInfo.cs
@@ -1,3 +1,4 @@
+<<<<<<< .working
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -33,3 +34,68 @@ using System.Runtime.InteropServices;
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
+=======
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Inventory")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Lauridsen")]
+[assembly: AssemblyProduct("Inventory")]
+[assembly: AssemblyCopyright("Copyright © Lauridsen 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("2330add7-08a2-4f33-9ab8-74894fe7e3dd")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+>>>>>>> .merge-right.r3604
diff --git a/OpenSim/Tests/Inventory/TestInventory.cs b/OpenSim/Tests/Inventory/TestInventory.cs
index bc339b39c8..18a22c46eb 100644
--- a/OpenSim/Tests/Inventory/TestInventory.cs
+++ b/OpenSim/Tests/Inventory/TestInventory.cs
@@ -1,1008 +1,1008 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using NUnit.Framework;
-
-using libsecondlife;
-using OpenSim.Framework.Types;
-using OpenSim.Framework.Data;
-using OpenSim.Framework.Data.SQLite;
-using OpenSim.Framework.Data.MySQL;
-using OpenSim.Framework.Console;
-
-namespace OpenSim.Test.Inventory
-{
- [TestFixture]
- public class TestInventory
- {
- IInventoryData _dbPlugin;
- LLUUID _agent_1_id;
- public static LLUUID LibraryFolderRootUuid = new LLUUID("5926de2a-c2d7-4c11-ac4e-74512ffeb6d1");
-
- Random _rnd = new Random((int)DateTime.Now.Ticks);
-
- [TestFixtureSetUp]
- public void SetupInventoryTest()
- {
-
- _agent_1_id = LLUUID.Random();
-
- MainLog.Instance = new LogBase("UnitTest.log", "TEST", null, false);
-// _dbPlugin = new SQLiteInventoryStore();
- _dbPlugin = new MySQLInventoryData();
- _dbPlugin.Initialise();
- }
-
- [TestFixtureTearDown]
- public void TeardownInventoryTest()
- {
- _dbPlugin.Close();
- }
-
- private bool AreFoldersIdentical(InventoryFolderBase a, InventoryFolderBase b)
- {
- if (a.agentID != b.agentID) return false;
- if (a.folderID != b.folderID) return false;
- if (a.name != b.name) return false;
- if (a.parentID != b.parentID) return false;
- if (a.type != b.type) return false;
- if (a.version != b.version) return false;
- return true;
- }
-
- private bool AreItemsIdentical(InventoryItemBase a, InventoryItemBase b)
- {
- if (a.assetID != b.assetID) return false;
- if (a.assetType != b.assetType) return false;
- if (a.avatarID != b.avatarID) return false;
- if (a.creatorsID != b.creatorsID) return false;
- if (a.inventoryBasePermissions != b.inventoryBasePermissions) return false;
- if (a.inventoryCurrentPermissions != b.inventoryCurrentPermissions) return false;
- if (a.inventoryEveryOnePermissions != b.inventoryEveryOnePermissions) return false;
- if (a.inventoryNextPermissions != b.inventoryNextPermissions) return false;
- if (a.inventoryID != b.inventoryID) return false;
- if (a.inventoryDescription != b.inventoryDescription) return false;
- if (a.inventoryName != b.inventoryName) return false;
- if (a.invType != b.invType) return false;
- if (a.parentFolderID != b.parentFolderID) return false;
- return true;
- }
-
- ///
- /// Test that we can insert a root folder
- ///
- [Test]
- public void T01_SetupRootFolder()
- {
- InventoryFolderBase root = new InventoryFolderBase();
- root.agentID = _agent_1_id;
- root.folderID = _agent_1_id;
- root.name = "Root folder";
- root.parentID = LLUUID.Zero;
- root.type = 2;
- root.version = 2;
- _dbPlugin.addInventoryFolder(root);
-
- InventoryFolderBase f = _dbPlugin.getInventoryFolder(root.folderID);
- Assert.IsNotNull(f, "Failed to get existing folder");
- Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
-
- // Test that we only get the root folder, based on it's id, i.e. any other gui will not find the folder
- f = _dbPlugin.getInventoryFolder(LLUUID.Zero);
- Assert.IsNull(f, "get folder returned a folder, but shouldn't find one");
-
- f = _dbPlugin.getInventoryFolder(LLUUID.Random());
- Assert.IsNull(f, "get folder returned a folder, but shouldn't find one");
-
- // test that we can delete the folder
-
- _dbPlugin.deleteInventoryFolder(_agent_1_id);
- f = _dbPlugin.getInventoryFolder(root.folderID);
- Assert.IsNull(f, "get folder returned a folder, but it should have been deleted");
- }
-
- ///
- /// Make sure that all folders reported as root folders are root folders
- ///
- [Test]
- public void T02_TestRootFolder()
- {
- InventoryFolderBase root = new InventoryFolderBase();
- root.agentID = _agent_1_id;
- root.folderID = _agent_1_id;
- root.name = "Root folder";
- root.parentID = LLUUID.Zero;
- root.type = 2;
- root.version = 2;
- _dbPlugin.addInventoryFolder(root);
-
- List folders = _dbPlugin.getUserRootFolders(_agent_1_id);
- Assert.IsNotNull(folders, "Failed to get rootfolders for user");
-
- bool foundRoot = false;
- foreach(InventoryFolderBase f in folders) {
-
- // a root folder has a zero valued LLUUID
- Assert.AreEqual(f.parentID, LLUUID.Zero, "non root folder returned");
-
-
- if(f.agentID == root.agentID)
- {
- // we cannot have two different user specific root folders
- Assert.IsFalse(foundRoot, "Two different user specific root folders returned");
-
- Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
- foundRoot = false;
- }
- }
- _dbPlugin.deleteInventoryFolder(_agent_1_id);
- }
-
- ///
- /// Test of folder hierarchy
- ///
- [Test]
- public void T03_TestRootFolder()
- {
- InventoryFolderBase root = new InventoryFolderBase();
- root.agentID = _agent_1_id;
- root.folderID = _agent_1_id;
- root.name = "Root folder";
- root.parentID = LLUUID.Zero;
- root.type = 2;
- root.version = 2;
- _dbPlugin.addInventoryFolder(root);
-
- List folders = _dbPlugin.getInventoryFolders(_agent_1_id);
- Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected");
- Assert.IsEmpty(folders, "non empty collection was returned, even though the list of sub-folders should be empty");
-
- InventoryFolderBase child1 = new InventoryFolderBase();
- child1.agentID = _agent_1_id;
- child1.folderID = LLUUID.Random();
- child1.name = "Child 1";
- child1.parentID = root.folderID;
- child1.type = 3;
- child1.version = 3;
- _dbPlugin.addInventoryFolder(child1);
-
- InventoryFolderBase child2 = new InventoryFolderBase();
- child2.agentID = _agent_1_id;
- child2.folderID = LLUUID.Random();
- child2.name = "Child 2";
- child2.parentID = root.folderID;
- child2.type = 4;
- child2.version = 4;
- _dbPlugin.addInventoryFolder(child2);
-
- folders = _dbPlugin.getInventoryFolders(_agent_1_id);
- Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected");
- Assert.AreEqual(folders.Count, 2, "two children were reported as inserted into the root folder");
-
- bool foundChild1 = false;
- bool foundChild2 = false;
-
- foreach (InventoryFolderBase f in folders)
- {
- if (f.folderID == child1.folderID)
- {
- Assert.IsTrue(AreFoldersIdentical(child1, f), "Difference between stored and retrieved folder data");
- foundChild1 = true;
- }
- else if (f.folderID == child2.folderID)
- {
- Assert.IsTrue(AreFoldersIdentical(child2, f), "Difference between stored and retrieved folder data");
- foundChild2 = true;
- }
- else
- {
- Assert.Fail("found unknown child folder");
- }
- }
-
- if (foundChild1 == false || foundChild2 == false)
- {
- Assert.Fail("one of the two child folders was not returned");
- }
-
- _dbPlugin.deleteInventoryFolder(child2.folderID);
- _dbPlugin.deleteInventoryFolder(child1.folderID);
- _dbPlugin.deleteInventoryFolder(_agent_1_id);
- }
-
- ///
- /// Test of folder hierarchy, and deletion
- ///
- [Test]
- public void T04_TestRootFolder()
- {
- InventoryFolderBase root = new InventoryFolderBase();
- root.agentID = _agent_1_id;
- root.folderID = _agent_1_id;
- root.name = "Root folder";
- root.parentID = LLUUID.Zero;
- root.type = 2;
- root.version = 2;
- _dbPlugin.addInventoryFolder(root);
-
- InventoryFolderBase child1 = new InventoryFolderBase();
- child1.agentID = _agent_1_id;
- child1.folderID = LLUUID.Random();
- child1.name = "Child 1";
- child1.parentID = root.folderID;
- child1.type = 3;
- child1.version = 3;
- _dbPlugin.addInventoryFolder(child1);
-
- InventoryFolderBase child2 = new InventoryFolderBase();
- child2.agentID = _agent_1_id;
- child2.folderID = LLUUID.Random();
- child2.name = "Child 2";
- child2.parentID = root.folderID;
- child2.type = 4;
- child2.version = 4;
- _dbPlugin.addInventoryFolder(child2);
-
- _dbPlugin.deleteInventoryFolder(_agent_1_id);
-
- List folders = _dbPlugin.getInventoryFolders(_agent_1_id);
- Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected");
- Assert.IsEmpty(folders, "non empty collection was returned, even though the list of sub-folders should be empty");
-
- InventoryFolderBase f = _dbPlugin.getInventoryFolder(_agent_1_id);
- Assert.IsNull(f, "Folder was returned, even though is has been deleted");
-
- f = _dbPlugin.getInventoryFolder(child1.folderID);
- Assert.IsNull(f, "Folder was returned, even though is has been deleted");
-
- f = _dbPlugin.getInventoryFolder(child2.folderID);
- Assert.IsNull(f, "Folder was returned, even though is has been deleted");
- }
-
- ///
- /// Folder update
- ///
- [Test]
- public void T05_UpdateFolder()
- {
- InventoryFolderBase root = new InventoryFolderBase();
- root.agentID = _agent_1_id;
- root.folderID = _agent_1_id;
- root.name = "Root folder";
- root.parentID = LLUUID.Zero;
- root.type = 2;
- root.version = 2;
- _dbPlugin.addInventoryFolder(root);
-
- InventoryFolderBase f = _dbPlugin.getInventoryFolder(_agent_1_id);
- Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
-
- root.agentID = LLUUID.Random();
- _dbPlugin.updateInventoryFolder(root);
- f = _dbPlugin.getInventoryFolder(root.folderID);
- Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
-
- root.folderID = LLUUID.Random();
- _dbPlugin.updateInventoryFolder(root);
- f = _dbPlugin.getInventoryFolder(root.folderID);
- Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
-
- root.name = "Root folder 2";
- _dbPlugin.updateInventoryFolder(root);
- f = _dbPlugin.getInventoryFolder(root.folderID);
- Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
-
- root.parentID = LLUUID.Random();
- _dbPlugin.updateInventoryFolder(root);
- f = _dbPlugin.getInventoryFolder(root.folderID);
- Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
-
- root.type = (short)(root.type + 1);
- _dbPlugin.updateInventoryFolder(root);
- f = _dbPlugin.getInventoryFolder(root.folderID);
- Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
-
- root.version = (ushort)(root.version + 1);
- _dbPlugin.updateInventoryFolder(root);
- f = _dbPlugin.getInventoryFolder(root.folderID);
- Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
-
- _dbPlugin.deleteInventoryFolder(_agent_1_id);
- _dbPlugin.deleteInventoryFolder(root.folderID);
- }
-
- ///
- /// Test that we can insert a root folder
- ///
- [Test]
- public void T06_SetupInventoryWithItems()
- {
-
- // Setup inventory
- InventoryFolderBase root = new InventoryFolderBase();
- root.agentID = _agent_1_id;
- root.folderID = _agent_1_id;
- root.name = "Root folder";
- root.parentID = LLUUID.Zero;
- root.type = 2;
- root.version = 2;
- _dbPlugin.addInventoryFolder(root);
-
- InventoryFolderBase child1 = new InventoryFolderBase();
- child1.agentID = _agent_1_id;
- child1.folderID = LLUUID.Random();
- child1.name = "Child 1";
- child1.parentID = root.folderID;
- child1.type = 3;
- child1.version = 3;
- _dbPlugin.addInventoryFolder(child1);
-
- InventoryFolderBase child1Child = new InventoryFolderBase();
- child1Child.agentID = _agent_1_id;
- child1Child.folderID = LLUUID.Random();
- child1Child.name = "Child 1 child";
- child1Child.parentID = child1.folderID;
- child1Child.type = 4;
- child1Child.version = 4;
- _dbPlugin.addInventoryFolder(child1Child);
-
- InventoryFolderBase child2 = new InventoryFolderBase();
- child2.agentID = _agent_1_id;
- child2.folderID = LLUUID.Random();
- child2.name = "Child 2";
- child2.parentID = root.folderID;
- child2.type = 5;
- child2.version = 5;
- _dbPlugin.addInventoryFolder(child2);
-
- InventoryFolderBase child2Child = new InventoryFolderBase();
- child2Child.agentID = _agent_1_id;
- child2Child.folderID = LLUUID.Random();
- child2Child.name = "Child 2 child";
- child2Child.parentID = child2.folderID;
- child2Child.type = 6;
- child2Child.version = 6;
- _dbPlugin.addInventoryFolder(child2Child);
-
- InventoryItemBase rootItem = new InventoryItemBase();
- rootItem.assetID = LLUUID.Random();
- rootItem.assetType = _rnd.Next(1, 1000);
- rootItem.avatarID = _agent_1_id;
- rootItem.creatorsID = LLUUID.Random();
- rootItem.inventoryBasePermissions = (uint)_rnd.Next(1,1000000);
- rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryID = LLUUID.Random();
- rootItem.inventoryDescription = "Root item, Description";
- rootItem.inventoryName = "Root item";
- rootItem.invType = _rnd.Next(1, 1000);
- rootItem.parentFolderID = root.folderID;
- _dbPlugin.addInventoryItem(rootItem);
-
- InventoryItemBase child1Item = new InventoryItemBase();
- child1Item.assetID = LLUUID.Random();
- child1Item.assetType = _rnd.Next(1, 1000);
- child1Item.avatarID = _agent_1_id;
- child1Item.creatorsID = LLUUID.Random();
- child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryID = LLUUID.Random();
- child1Item.inventoryDescription = "child1 item, Description";
- child1Item.inventoryName = "child1 item";
- child1Item.invType = _rnd.Next(1, 1000);
- child1Item.parentFolderID = child1.folderID;
- _dbPlugin.addInventoryItem(child1Item);
-
- InventoryItemBase child1ChildItem = new InventoryItemBase();
- child1ChildItem.assetID = LLUUID.Random();
- child1ChildItem.assetType = _rnd.Next(1, 1000);
- child1ChildItem.avatarID = _agent_1_id;
- child1ChildItem.creatorsID = LLUUID.Random();
- child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryID = LLUUID.Random();
- child1ChildItem.inventoryDescription = "child1Child item, Description";
- child1ChildItem.inventoryName = "child1Child item";
- child1ChildItem.invType = _rnd.Next(1, 1000);
- child1ChildItem.parentFolderID = child1Child.folderID;
- _dbPlugin.addInventoryItem(child1ChildItem);
-
- InventoryItemBase child2Item = new InventoryItemBase();
- child2Item.assetID = LLUUID.Random();
- child2Item.assetType = _rnd.Next(1, 1000);
- child2Item.avatarID = _agent_1_id;
- child2Item.creatorsID = LLUUID.Random();
- child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryID = LLUUID.Random();
- child2Item.inventoryDescription = "child2 item, Description";
- child2Item.inventoryName = "child2 item";
- child2Item.invType = _rnd.Next(1, 1000);
- child2Item.parentFolderID = child2.folderID;
- _dbPlugin.addInventoryItem(child2Item);
-
- InventoryItemBase child2ChildItem = new InventoryItemBase();
- child2ChildItem.assetID = LLUUID.Random();
- child2ChildItem.assetType = _rnd.Next(1, 1000);
- child2ChildItem.avatarID = _agent_1_id;
- child2ChildItem.creatorsID = LLUUID.Random();
- child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryID = LLUUID.Random();
- child2ChildItem.inventoryDescription = "child2Child item, Description";
- child2ChildItem.inventoryName = "child2Child item";
- child2ChildItem.invType = _rnd.Next(1, 1000);
- child2ChildItem.parentFolderID = child2Child.folderID;
- _dbPlugin.addInventoryItem(child2ChildItem);
-
- // test read of items
-
- InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- item = _dbPlugin.getInventoryItem(child1Item.inventoryID);
- Assert.IsTrue(AreItemsIdentical(child1Item, item));
-
- item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(child1ChildItem, item));
-
- item = _dbPlugin.getInventoryItem(child2Item.inventoryID);
- Assert.IsTrue(AreItemsIdentical(child2Item, item));
-
- item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(child2ChildItem, item));
-
- _dbPlugin.deleteInventoryItem(rootItem.inventoryID);
- _dbPlugin.deleteInventoryItem(child1Item.inventoryID);
- _dbPlugin.deleteInventoryItem(child1ChildItem.inventoryID);
- _dbPlugin.deleteInventoryItem(child2Item.inventoryID);
- _dbPlugin.deleteInventoryItem(child2ChildItem.inventoryID);
- }
-
- ///
- /// Test that we can insert a root folder
- ///
- [Test]
- public void T07_DeleteInventoryWithItems()
- {
-
- // Setup inventory
- InventoryFolderBase root = new InventoryFolderBase();
- root.agentID = _agent_1_id;
- root.folderID = _agent_1_id;
- root.name = "Root folder";
- root.parentID = LLUUID.Zero;
- root.type = 2;
- root.version = 2;
- _dbPlugin.addInventoryFolder(root);
-
- InventoryFolderBase child1 = new InventoryFolderBase();
- child1.agentID = _agent_1_id;
- child1.folderID = LLUUID.Random();
- child1.name = "Child 1";
- child1.parentID = root.folderID;
- child1.type = 3;
- child1.version = 3;
- _dbPlugin.addInventoryFolder(child1);
-
- InventoryFolderBase child1Child = new InventoryFolderBase();
- child1Child.agentID = _agent_1_id;
- child1Child.folderID = LLUUID.Random();
- child1Child.name = "Child 1 child";
- child1Child.parentID = child1.folderID;
- child1Child.type = 4;
- child1Child.version = 4;
- _dbPlugin.addInventoryFolder(child1Child);
-
- InventoryFolderBase child2 = new InventoryFolderBase();
- child2.agentID = _agent_1_id;
- child2.folderID = LLUUID.Random();
- child2.name = "Child 2";
- child2.parentID = root.folderID;
- child2.type = 5;
- child2.version = 5;
- _dbPlugin.addInventoryFolder(child2);
-
- InventoryFolderBase child2Child = new InventoryFolderBase();
- child2Child.agentID = _agent_1_id;
- child2Child.folderID = LLUUID.Random();
- child2Child.name = "Child 2 child";
- child2Child.parentID = child2.folderID;
- child2Child.type = 6;
- child2Child.version = 6;
- _dbPlugin.addInventoryFolder(child2Child);
-
- InventoryItemBase rootItem = new InventoryItemBase();
- rootItem.assetID = LLUUID.Random();
- rootItem.assetType = _rnd.Next(1, 1000);
- rootItem.avatarID = _agent_1_id;
- rootItem.creatorsID = LLUUID.Random();
- rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryID = LLUUID.Random();
- rootItem.inventoryDescription = "Root item, Description";
- rootItem.inventoryName = "Root item";
- rootItem.invType = _rnd.Next(1, 1000);
- rootItem.parentFolderID = root.folderID;
- _dbPlugin.addInventoryItem(rootItem);
-
- InventoryItemBase child1Item = new InventoryItemBase();
- child1Item.assetID = LLUUID.Random();
- child1Item.assetType = _rnd.Next(1, 1000);
- child1Item.avatarID = _agent_1_id;
- child1Item.creatorsID = LLUUID.Random();
- child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryID = LLUUID.Random();
- child1Item.inventoryDescription = "child1 item, Description";
- child1Item.inventoryName = "child1 item";
- child1Item.invType = _rnd.Next(1, 1000);
- child1Item.parentFolderID = child1.folderID;
- _dbPlugin.addInventoryItem(child1Item);
-
- InventoryItemBase child1ChildItem = new InventoryItemBase();
- child1ChildItem.assetID = LLUUID.Random();
- child1ChildItem.assetType = _rnd.Next(1, 1000);
- child1ChildItem.avatarID = _agent_1_id;
- child1ChildItem.creatorsID = LLUUID.Random();
- child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryID = LLUUID.Random();
- child1ChildItem.inventoryDescription = "child1Child item, Description";
- child1ChildItem.inventoryName = "child1Child item";
- child1ChildItem.invType = _rnd.Next(1, 1000);
- child1ChildItem.parentFolderID = child1Child.folderID;
- _dbPlugin.addInventoryItem(child1ChildItem);
-
- InventoryItemBase child2Item = new InventoryItemBase();
- child2Item.assetID = LLUUID.Random();
- child2Item.assetType = _rnd.Next(1, 1000);
- child2Item.avatarID = _agent_1_id;
- child2Item.creatorsID = LLUUID.Random();
- child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryID = LLUUID.Random();
- child2Item.inventoryDescription = "child2 item, Description";
- child2Item.inventoryName = "child2 item";
- child2Item.invType = _rnd.Next(1, 1000);
- child2Item.parentFolderID = child2.folderID;
- _dbPlugin.addInventoryItem(child2Item);
-
- InventoryItemBase child2ChildItem = new InventoryItemBase();
- child2ChildItem.assetID = LLUUID.Random();
- child2ChildItem.assetType = _rnd.Next(1, 1000);
- child2ChildItem.avatarID = _agent_1_id;
- child2ChildItem.creatorsID = LLUUID.Random();
- child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryID = LLUUID.Random();
- child2ChildItem.inventoryDescription = "child2Child item, Description";
- child2ChildItem.inventoryName = "child2Child item";
- child2ChildItem.invType = _rnd.Next(1, 1000);
- child2ChildItem.parentFolderID = child2Child.folderID;
- _dbPlugin.addInventoryItem(child2ChildItem);
-
- // test deletetion of items
-
- _dbPlugin.deleteInventoryItem(rootItem.inventoryID);
- _dbPlugin.deleteInventoryItem(child1Item.inventoryID);
- _dbPlugin.deleteInventoryItem(child1ChildItem.inventoryID);
- _dbPlugin.deleteInventoryItem(child2Item.inventoryID);
- _dbPlugin.deleteInventoryItem(child2ChildItem.inventoryID);
-
- InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsNull(item);
-
- item = _dbPlugin.getInventoryItem(child1Item.inventoryID);
- Assert.IsNull(item);
-
- item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID);
- Assert.IsNull(item);
-
- item = _dbPlugin.getInventoryItem(child2Item.inventoryID);
- Assert.IsNull(item);
-
- item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID);
- Assert.IsNull(item);
-
- _dbPlugin.deleteInventoryFolder(_agent_1_id);
- }
-
-
- ///
- /// Test that we can insert a root folder
- ///
- [Test]
- public void T08_DeleteInventoryWithItems()
- {
-
- // Setup inventory
- InventoryFolderBase root = new InventoryFolderBase();
- root.agentID = _agent_1_id;
- root.folderID = _agent_1_id;
- root.name = "Root folder";
- root.parentID = LLUUID.Zero;
- root.type = 2;
- root.version = 2;
- _dbPlugin.addInventoryFolder(root);
-
- InventoryFolderBase child1 = new InventoryFolderBase();
- child1.agentID = _agent_1_id;
- child1.folderID = LLUUID.Random();
- child1.name = "Child 1";
- child1.parentID = root.folderID;
- child1.type = 3;
- child1.version = 3;
- _dbPlugin.addInventoryFolder(child1);
-
- InventoryFolderBase child1Child = new InventoryFolderBase();
- child1Child.agentID = _agent_1_id;
- child1Child.folderID = LLUUID.Random();
- child1Child.name = "Child 1 child";
- child1Child.parentID = child1.folderID;
- child1Child.type = 4;
- child1Child.version = 4;
- _dbPlugin.addInventoryFolder(child1Child);
-
- InventoryFolderBase child2 = new InventoryFolderBase();
- child2.agentID = _agent_1_id;
- child2.folderID = LLUUID.Random();
- child2.name = "Child 2";
- child2.parentID = root.folderID;
- child2.type = 5;
- child2.version = 5;
- _dbPlugin.addInventoryFolder(child2);
-
- InventoryFolderBase child2Child = new InventoryFolderBase();
- child2Child.agentID = _agent_1_id;
- child2Child.folderID = LLUUID.Random();
- child2Child.name = "Child 2 child";
- child2Child.parentID = child2.folderID;
- child2Child.type = 6;
- child2Child.version = 6;
- _dbPlugin.addInventoryFolder(child2Child);
-
- InventoryItemBase rootItem = new InventoryItemBase();
- rootItem.assetID = LLUUID.Random();
- rootItem.assetType = _rnd.Next(1, 1000);
- rootItem.avatarID = _agent_1_id;
- rootItem.creatorsID = LLUUID.Random();
- rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryID = LLUUID.Random();
- rootItem.inventoryDescription = "Root item, Description";
- rootItem.inventoryName = "Root item";
- rootItem.invType = _rnd.Next(1, 1000);
- rootItem.parentFolderID = root.folderID;
- _dbPlugin.addInventoryItem(rootItem);
-
- InventoryItemBase child1Item = new InventoryItemBase();
- child1Item.assetID = LLUUID.Random();
- child1Item.assetType = _rnd.Next(1, 1000);
- child1Item.avatarID = _agent_1_id;
- child1Item.creatorsID = LLUUID.Random();
- child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child1Item.inventoryID = LLUUID.Random();
- child1Item.inventoryDescription = "child1 item, Description";
- child1Item.inventoryName = "child1 item";
- child1Item.invType = _rnd.Next(1, 1000);
- child1Item.parentFolderID = child1.folderID;
- _dbPlugin.addInventoryItem(child1Item);
-
- InventoryItemBase child1ChildItem = new InventoryItemBase();
- child1ChildItem.assetID = LLUUID.Random();
- child1ChildItem.assetType = _rnd.Next(1, 1000);
- child1ChildItem.avatarID = _agent_1_id;
- child1ChildItem.creatorsID = LLUUID.Random();
- child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child1ChildItem.inventoryID = LLUUID.Random();
- child1ChildItem.inventoryDescription = "child1Child item, Description";
- child1ChildItem.inventoryName = "child1Child item";
- child1ChildItem.invType = _rnd.Next(1, 1000);
- child1ChildItem.parentFolderID = child1Child.folderID;
- _dbPlugin.addInventoryItem(child1ChildItem);
-
- InventoryItemBase child2Item = new InventoryItemBase();
- child2Item.assetID = LLUUID.Random();
- child2Item.assetType = _rnd.Next(1, 1000);
- child2Item.avatarID = _agent_1_id;
- child2Item.creatorsID = LLUUID.Random();
- child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child2Item.inventoryID = LLUUID.Random();
- child2Item.inventoryDescription = "child2 item, Description";
- child2Item.inventoryName = "child2 item";
- child2Item.invType = _rnd.Next(1, 1000);
- child2Item.parentFolderID = child2.folderID;
- _dbPlugin.addInventoryItem(child2Item);
-
- InventoryItemBase child2ChildItem = new InventoryItemBase();
- child2ChildItem.assetID = LLUUID.Random();
- child2ChildItem.assetType = _rnd.Next(1, 1000);
- child2ChildItem.avatarID = _agent_1_id;
- child2ChildItem.creatorsID = LLUUID.Random();
- child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- child2ChildItem.inventoryID = LLUUID.Random();
- child2ChildItem.inventoryDescription = "child2Child item, Description";
- child2ChildItem.inventoryName = "child2Child item";
- child2ChildItem.invType = _rnd.Next(1, 1000);
- child2ChildItem.parentFolderID = child2Child.folderID;
- _dbPlugin.addInventoryItem(child2ChildItem);
-
- // test deletetion of items
-
- _dbPlugin.deleteInventoryFolder(_agent_1_id);
-
- InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsNull(item);
-
- item = _dbPlugin.getInventoryItem(child1Item.inventoryID);
- Assert.IsNull(item);
-
- item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID);
- Assert.IsNull(item);
-
- item = _dbPlugin.getInventoryItem(child2Item.inventoryID);
- Assert.IsNull(item);
-
- item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID);
- Assert.IsNull(item);
-
- }
-
- ///
- /// Test that we can update items
- ///
- [Test]
- public void T09_UpdateItem()
- {
-
- // Setup inventory
- InventoryFolderBase root = new InventoryFolderBase();
- root.agentID = _agent_1_id;
- root.folderID = _agent_1_id;
- root.name = "Root folder";
- root.parentID = LLUUID.Zero;
- root.type = 2;
- root.version = 2;
- _dbPlugin.addInventoryFolder(root);
-
- InventoryItemBase rootItem = new InventoryItemBase();
- rootItem.assetID = LLUUID.Random();
- rootItem.assetType = _rnd.Next(1, 1000);
- rootItem.avatarID = _agent_1_id;
- rootItem.creatorsID = LLUUID.Random();
- rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- rootItem.inventoryID = LLUUID.Random();
- rootItem.inventoryDescription = "Root item, Description";
- rootItem.inventoryName = "Root item";
- rootItem.invType = _rnd.Next(1, 1000);
- rootItem.parentFolderID = root.folderID;
- _dbPlugin.addInventoryItem(rootItem);
-
- rootItem.assetID = LLUUID.Random();
- _dbPlugin.updateInventoryItem(rootItem);
- InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.assetType = rootItem.assetType+1;
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.avatarID = LLUUID.Random();
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.creatorsID = LLUUID.Random();
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.inventoryBasePermissions = rootItem.inventoryBasePermissions+1;
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.inventoryCurrentPermissions = rootItem.inventoryCurrentPermissions+1;
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.inventoryDescription = "New description";
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.inventoryEveryOnePermissions = rootItem.inventoryEveryOnePermissions+1;
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.inventoryName = "New name";
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.inventoryNextPermissions = rootItem.inventoryNextPermissions+1;
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.invType = rootItem.invType+1;
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- rootItem.parentFolderID = LLUUID.Zero;
- _dbPlugin.updateInventoryItem(rootItem);
- item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
- Assert.IsTrue(AreItemsIdentical(rootItem, item));
-
- _dbPlugin.deleteInventoryFolder(_agent_1_id);
- _dbPlugin.deleteInventoryItem(rootItem.inventoryID);
- }
-
-
- ///
- /// Test that we can insert a root folder
- ///
- [Test]
- public void T10_GetListOfItemsInFolder()
- {
-
- // Setup inventory
- InventoryFolderBase root = new InventoryFolderBase();
- root.agentID = _agent_1_id;
- root.folderID = _agent_1_id;
- root.name = "Root folder";
- root.parentID = LLUUID.Zero;
- root.type = 2;
- root.version = 2;
- _dbPlugin.addInventoryFolder(root);
-
- InventoryFolderBase child1 = new InventoryFolderBase();
- child1.agentID = _agent_1_id;
- child1.folderID = LLUUID.Random();
- child1.name = "Child 1";
- child1.parentID = root.folderID;
- child1.type = 3;
- child1.version = 3;
- _dbPlugin.addInventoryFolder(child1);
-
- InventoryFolderBase child1Child = new InventoryFolderBase();
- child1Child.agentID = _agent_1_id;
- child1Child.folderID = LLUUID.Random();
- child1Child.name = "Child 1 child";
- child1Child.parentID = child1.folderID;
- child1Child.type = 4;
- child1Child.version = 4;
- _dbPlugin.addInventoryFolder(child1Child);
-
-
- InventoryItemBase item1 = new InventoryItemBase();
- item1.assetID = LLUUID.Random();
- item1.assetType = _rnd.Next(1, 1000);
- item1.avatarID = _agent_1_id;
- item1.creatorsID = LLUUID.Random();
- item1.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- item1.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- item1.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- item1.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- item1.inventoryID = LLUUID.Random();
- item1.inventoryDescription = "Item 1, description";
- item1.inventoryName = "Item 1";
- item1.invType = _rnd.Next(1, 1000);
- item1.parentFolderID = child1Child.folderID;
- _dbPlugin.addInventoryItem(item1);
-
- InventoryItemBase item2 = new InventoryItemBase();
- item2.assetID = LLUUID.Random();
- item2.assetType = _rnd.Next(1, 1000);
- item2.avatarID = _agent_1_id;
- item2.creatorsID = LLUUID.Random();
- item2.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
- item2.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
- item2.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
- item2.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
- item2.inventoryID = LLUUID.Random();
- item2.inventoryDescription = "Item 1, description";
- item2.inventoryName = "Item 1";
- item2.invType = _rnd.Next(1, 1000);
- item2.parentFolderID = child1Child.folderID;
- _dbPlugin.addInventoryItem(item2);
-
- List items = _dbPlugin.getInventoryInFolder(child1Child.folderID);
- Assert.IsNotNull(items);
- Assert.IsNotEmpty(items);
-
- bool foundItem1 = false;
- bool foundItem2 = false;
-
- foreach (InventoryItemBase i in items)
- {
- if (i.inventoryID == item1.inventoryID)
- {
- foundItem1 = true;
- Assert.IsTrue(AreItemsIdentical(item1, i));
- }
- else if (i.inventoryID == item2.inventoryID)
- {
- foundItem2 = true;
- Assert.IsTrue(AreItemsIdentical(item2, i));
- }
- else
- {
- Assert.Fail("Unknown inventory item found");
- }
- }
-
- Assert.IsTrue(foundItem1 && foundItem2, "not all items were returned");
- _dbPlugin.deleteInventoryFolder(_agent_1_id);
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using NUnit.Framework;
+
+using libsecondlife;
+using OpenSim.Framework.Types;
+using OpenSim.Framework.Data;
+using OpenSim.Framework.Data.SQLite;
+using OpenSim.Framework.Data.MySQL;
+using OpenSim.Framework.Console;
+
+namespace OpenSim.Test.Inventory
+{
+ [TestFixture]
+ public class TestInventory
+ {
+ IInventoryData _dbPlugin;
+ LLUUID _agent_1_id;
+ public static LLUUID LibraryFolderRootUuid = new LLUUID("5926de2a-c2d7-4c11-ac4e-74512ffeb6d1");
+
+ Random _rnd = new Random((int)DateTime.Now.Ticks);
+
+ [TestFixtureSetUp]
+ public void SetupInventoryTest()
+ {
+ _agent_1_id = LLUUID.Random();
+
+ MainConsole.Instance = new ConsoleBase("TEST", null);
+
+// _dbPlugin = new SQLiteInventoryStore();
+ _dbPlugin = new MySQLInventoryData();
+ _dbPlugin.Initialise();
+ }
+
+ [TestFixtureTearDown]
+ public void TeardownInventoryTest()
+ {
+ _dbPlugin.Close();
+ }
+
+ private bool AreFoldersIdentical(InventoryFolderBase a, InventoryFolderBase b)
+ {
+ if (a.agentID != b.agentID) return false;
+ if (a.folderID != b.folderID) return false;
+ if (a.name != b.name) return false;
+ if (a.parentID != b.parentID) return false;
+ if (a.type != b.type) return false;
+ if (a.version != b.version) return false;
+ return true;
+ }
+
+ private bool AreItemsIdentical(InventoryItemBase a, InventoryItemBase b)
+ {
+ if (a.assetID != b.assetID) return false;
+ if (a.assetType != b.assetType) return false;
+ if (a.avatarID != b.avatarID) return false;
+ if (a.creatorsID != b.creatorsID) return false;
+ if (a.inventoryBasePermissions != b.inventoryBasePermissions) return false;
+ if (a.inventoryCurrentPermissions != b.inventoryCurrentPermissions) return false;
+ if (a.inventoryEveryOnePermissions != b.inventoryEveryOnePermissions) return false;
+ if (a.inventoryNextPermissions != b.inventoryNextPermissions) return false;
+ if (a.inventoryID != b.inventoryID) return false;
+ if (a.inventoryDescription != b.inventoryDescription) return false;
+ if (a.inventoryName != b.inventoryName) return false;
+ if (a.invType != b.invType) return false;
+ if (a.parentFolderID != b.parentFolderID) return false;
+ return true;
+ }
+
+ ///
+ /// Test that we can insert a root folder
+ ///
+ [Test]
+ public void T01_SetupRootFolder()
+ {
+ InventoryFolderBase root = new InventoryFolderBase();
+ root.agentID = _agent_1_id;
+ root.folderID = _agent_1_id;
+ root.name = "Root folder";
+ root.parentID = LLUUID.Zero;
+ root.type = 2;
+ root.version = 2;
+ _dbPlugin.addInventoryFolder(root);
+
+ InventoryFolderBase f = _dbPlugin.getInventoryFolder(root.folderID);
+ Assert.IsNotNull(f, "Failed to get existing folder");
+ Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
+
+ // Test that we only get the root folder, based on it's id, i.e. any other gui will not find the folder
+ f = _dbPlugin.getInventoryFolder(LLUUID.Zero);
+ Assert.IsNull(f, "get folder returned a folder, but shouldn't find one");
+
+ f = _dbPlugin.getInventoryFolder(LLUUID.Random());
+ Assert.IsNull(f, "get folder returned a folder, but shouldn't find one");
+
+ // test that we can delete the folder
+
+ _dbPlugin.deleteInventoryFolder(_agent_1_id);
+ f = _dbPlugin.getInventoryFolder(root.folderID);
+ Assert.IsNull(f, "get folder returned a folder, but it should have been deleted");
+ }
+
+ ///
+ /// Make sure that all folders reported as root folders are root folders
+ ///
+ [Test]
+ public void T02_TestRootFolder()
+ {
+ InventoryFolderBase root = new InventoryFolderBase();
+ root.agentID = _agent_1_id;
+ root.folderID = _agent_1_id;
+ root.name = "Root folder";
+ root.parentID = LLUUID.Zero;
+ root.type = 2;
+ root.version = 2;
+ _dbPlugin.addInventoryFolder(root);
+
+ List folders = _dbPlugin.getUserRootFolders(_agent_1_id);
+ Assert.IsNotNull(folders, "Failed to get rootfolders for user");
+
+ bool foundRoot = false;
+ foreach(InventoryFolderBase f in folders) {
+
+ // a root folder has a zero valued LLUUID
+ Assert.AreEqual(f.parentID, LLUUID.Zero, "non root folder returned");
+
+
+ if(f.agentID == root.agentID)
+ {
+ // we cannot have two different user specific root folders
+ Assert.IsFalse(foundRoot, "Two different user specific root folders returned");
+
+ Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
+ foundRoot = false;
+ }
+ }
+ _dbPlugin.deleteInventoryFolder(_agent_1_id);
+ }
+
+ ///
+ /// Test of folder hierarchy
+ ///
+ [Test]
+ public void T03_TestRootFolder()
+ {
+ InventoryFolderBase root = new InventoryFolderBase();
+ root.agentID = _agent_1_id;
+ root.folderID = _agent_1_id;
+ root.name = "Root folder";
+ root.parentID = LLUUID.Zero;
+ root.type = 2;
+ root.version = 2;
+ _dbPlugin.addInventoryFolder(root);
+
+ List folders = _dbPlugin.getInventoryFolders(_agent_1_id);
+ Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected");
+ Assert.IsEmpty(folders, "non empty collection was returned, even though the list of sub-folders should be empty");
+
+ InventoryFolderBase child1 = new InventoryFolderBase();
+ child1.agentID = _agent_1_id;
+ child1.folderID = LLUUID.Random();
+ child1.name = "Child 1";
+ child1.parentID = root.folderID;
+ child1.type = 3;
+ child1.version = 3;
+ _dbPlugin.addInventoryFolder(child1);
+
+ InventoryFolderBase child2 = new InventoryFolderBase();
+ child2.agentID = _agent_1_id;
+ child2.folderID = LLUUID.Random();
+ child2.name = "Child 2";
+ child2.parentID = root.folderID;
+ child2.type = 4;
+ child2.version = 4;
+ _dbPlugin.addInventoryFolder(child2);
+
+ folders = _dbPlugin.getInventoryFolders(_agent_1_id);
+ Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected");
+ Assert.AreEqual(folders.Count, 2, "two children were reported as inserted into the root folder");
+
+ bool foundChild1 = false;
+ bool foundChild2 = false;
+
+ foreach (InventoryFolderBase f in folders)
+ {
+ if (f.folderID == child1.folderID)
+ {
+ Assert.IsTrue(AreFoldersIdentical(child1, f), "Difference between stored and retrieved folder data");
+ foundChild1 = true;
+ }
+ else if (f.folderID == child2.folderID)
+ {
+ Assert.IsTrue(AreFoldersIdentical(child2, f), "Difference between stored and retrieved folder data");
+ foundChild2 = true;
+ }
+ else
+ {
+ Assert.Fail("found unknown child folder");
+ }
+ }
+
+ if (foundChild1 == false || foundChild2 == false)
+ {
+ Assert.Fail("one of the two child folders was not returned");
+ }
+
+ _dbPlugin.deleteInventoryFolder(child2.folderID);
+ _dbPlugin.deleteInventoryFolder(child1.folderID);
+ _dbPlugin.deleteInventoryFolder(_agent_1_id);
+ }
+
+ ///
+ /// Test of folder hierarchy, and deletion
+ ///
+ [Test]
+ public void T04_TestRootFolder()
+ {
+ InventoryFolderBase root = new InventoryFolderBase();
+ root.agentID = _agent_1_id;
+ root.folderID = _agent_1_id;
+ root.name = "Root folder";
+ root.parentID = LLUUID.Zero;
+ root.type = 2;
+ root.version = 2;
+ _dbPlugin.addInventoryFolder(root);
+
+ InventoryFolderBase child1 = new InventoryFolderBase();
+ child1.agentID = _agent_1_id;
+ child1.folderID = LLUUID.Random();
+ child1.name = "Child 1";
+ child1.parentID = root.folderID;
+ child1.type = 3;
+ child1.version = 3;
+ _dbPlugin.addInventoryFolder(child1);
+
+ InventoryFolderBase child2 = new InventoryFolderBase();
+ child2.agentID = _agent_1_id;
+ child2.folderID = LLUUID.Random();
+ child2.name = "Child 2";
+ child2.parentID = root.folderID;
+ child2.type = 4;
+ child2.version = 4;
+ _dbPlugin.addInventoryFolder(child2);
+
+ _dbPlugin.deleteInventoryFolder(_agent_1_id);
+
+ List folders = _dbPlugin.getInventoryFolders(_agent_1_id);
+ Assert.IsNotNull(folders, "null was returned, but an empty list of subfolders were expected");
+ Assert.IsEmpty(folders, "non empty collection was returned, even though the list of sub-folders should be empty");
+
+ InventoryFolderBase f = _dbPlugin.getInventoryFolder(_agent_1_id);
+ Assert.IsNull(f, "Folder was returned, even though is has been deleted");
+
+ f = _dbPlugin.getInventoryFolder(child1.folderID);
+ Assert.IsNull(f, "Folder was returned, even though is has been deleted");
+
+ f = _dbPlugin.getInventoryFolder(child2.folderID);
+ Assert.IsNull(f, "Folder was returned, even though is has been deleted");
+ }
+
+ ///
+ /// Folder update
+ ///
+ [Test]
+ public void T05_UpdateFolder()
+ {
+ InventoryFolderBase root = new InventoryFolderBase();
+ root.agentID = _agent_1_id;
+ root.folderID = _agent_1_id;
+ root.name = "Root folder";
+ root.parentID = LLUUID.Zero;
+ root.type = 2;
+ root.version = 2;
+ _dbPlugin.addInventoryFolder(root);
+
+ InventoryFolderBase f = _dbPlugin.getInventoryFolder(_agent_1_id);
+ Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
+
+ root.agentID = LLUUID.Random();
+ _dbPlugin.updateInventoryFolder(root);
+ f = _dbPlugin.getInventoryFolder(root.folderID);
+ Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
+
+ root.folderID = LLUUID.Random();
+ _dbPlugin.updateInventoryFolder(root);
+ f = _dbPlugin.getInventoryFolder(root.folderID);
+ Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
+
+ root.name = "Root folder 2";
+ _dbPlugin.updateInventoryFolder(root);
+ f = _dbPlugin.getInventoryFolder(root.folderID);
+ Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
+
+ root.parentID = LLUUID.Random();
+ _dbPlugin.updateInventoryFolder(root);
+ f = _dbPlugin.getInventoryFolder(root.folderID);
+ Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
+
+ root.type = (short)(root.type + 1);
+ _dbPlugin.updateInventoryFolder(root);
+ f = _dbPlugin.getInventoryFolder(root.folderID);
+ Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
+
+ root.version = (ushort)(root.version + 1);
+ _dbPlugin.updateInventoryFolder(root);
+ f = _dbPlugin.getInventoryFolder(root.folderID);
+ Assert.IsTrue(AreFoldersIdentical(root, f), "Difference between stored and retrieved folder data");
+
+ _dbPlugin.deleteInventoryFolder(_agent_1_id);
+ _dbPlugin.deleteInventoryFolder(root.folderID);
+ }
+
+ ///
+ /// Test that we can insert a root folder
+ ///
+ [Test]
+ public void T06_SetupInventoryWithItems()
+ {
+
+ // Setup inventory
+ InventoryFolderBase root = new InventoryFolderBase();
+ root.agentID = _agent_1_id;
+ root.folderID = _agent_1_id;
+ root.name = "Root folder";
+ root.parentID = LLUUID.Zero;
+ root.type = 2;
+ root.version = 2;
+ _dbPlugin.addInventoryFolder(root);
+
+ InventoryFolderBase child1 = new InventoryFolderBase();
+ child1.agentID = _agent_1_id;
+ child1.folderID = LLUUID.Random();
+ child1.name = "Child 1";
+ child1.parentID = root.folderID;
+ child1.type = 3;
+ child1.version = 3;
+ _dbPlugin.addInventoryFolder(child1);
+
+ InventoryFolderBase child1Child = new InventoryFolderBase();
+ child1Child.agentID = _agent_1_id;
+ child1Child.folderID = LLUUID.Random();
+ child1Child.name = "Child 1 child";
+ child1Child.parentID = child1.folderID;
+ child1Child.type = 4;
+ child1Child.version = 4;
+ _dbPlugin.addInventoryFolder(child1Child);
+
+ InventoryFolderBase child2 = new InventoryFolderBase();
+ child2.agentID = _agent_1_id;
+ child2.folderID = LLUUID.Random();
+ child2.name = "Child 2";
+ child2.parentID = root.folderID;
+ child2.type = 5;
+ child2.version = 5;
+ _dbPlugin.addInventoryFolder(child2);
+
+ InventoryFolderBase child2Child = new InventoryFolderBase();
+ child2Child.agentID = _agent_1_id;
+ child2Child.folderID = LLUUID.Random();
+ child2Child.name = "Child 2 child";
+ child2Child.parentID = child2.folderID;
+ child2Child.type = 6;
+ child2Child.version = 6;
+ _dbPlugin.addInventoryFolder(child2Child);
+
+ InventoryItemBase rootItem = new InventoryItemBase();
+ rootItem.assetID = LLUUID.Random();
+ rootItem.assetType = _rnd.Next(1, 1000);
+ rootItem.avatarID = _agent_1_id;
+ rootItem.creatorsID = LLUUID.Random();
+ rootItem.inventoryBasePermissions = (uint)_rnd.Next(1,1000000);
+ rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryID = LLUUID.Random();
+ rootItem.inventoryDescription = "Root item, Description";
+ rootItem.inventoryName = "Root item";
+ rootItem.invType = _rnd.Next(1, 1000);
+ rootItem.parentFolderID = root.folderID;
+ _dbPlugin.addInventoryItem(rootItem);
+
+ InventoryItemBase child1Item = new InventoryItemBase();
+ child1Item.assetID = LLUUID.Random();
+ child1Item.assetType = _rnd.Next(1, 1000);
+ child1Item.avatarID = _agent_1_id;
+ child1Item.creatorsID = LLUUID.Random();
+ child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryID = LLUUID.Random();
+ child1Item.inventoryDescription = "child1 item, Description";
+ child1Item.inventoryName = "child1 item";
+ child1Item.invType = _rnd.Next(1, 1000);
+ child1Item.parentFolderID = child1.folderID;
+ _dbPlugin.addInventoryItem(child1Item);
+
+ InventoryItemBase child1ChildItem = new InventoryItemBase();
+ child1ChildItem.assetID = LLUUID.Random();
+ child1ChildItem.assetType = _rnd.Next(1, 1000);
+ child1ChildItem.avatarID = _agent_1_id;
+ child1ChildItem.creatorsID = LLUUID.Random();
+ child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryID = LLUUID.Random();
+ child1ChildItem.inventoryDescription = "child1Child item, Description";
+ child1ChildItem.inventoryName = "child1Child item";
+ child1ChildItem.invType = _rnd.Next(1, 1000);
+ child1ChildItem.parentFolderID = child1Child.folderID;
+ _dbPlugin.addInventoryItem(child1ChildItem);
+
+ InventoryItemBase child2Item = new InventoryItemBase();
+ child2Item.assetID = LLUUID.Random();
+ child2Item.assetType = _rnd.Next(1, 1000);
+ child2Item.avatarID = _agent_1_id;
+ child2Item.creatorsID = LLUUID.Random();
+ child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryID = LLUUID.Random();
+ child2Item.inventoryDescription = "child2 item, Description";
+ child2Item.inventoryName = "child2 item";
+ child2Item.invType = _rnd.Next(1, 1000);
+ child2Item.parentFolderID = child2.folderID;
+ _dbPlugin.addInventoryItem(child2Item);
+
+ InventoryItemBase child2ChildItem = new InventoryItemBase();
+ child2ChildItem.assetID = LLUUID.Random();
+ child2ChildItem.assetType = _rnd.Next(1, 1000);
+ child2ChildItem.avatarID = _agent_1_id;
+ child2ChildItem.creatorsID = LLUUID.Random();
+ child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryID = LLUUID.Random();
+ child2ChildItem.inventoryDescription = "child2Child item, Description";
+ child2ChildItem.inventoryName = "child2Child item";
+ child2ChildItem.invType = _rnd.Next(1, 1000);
+ child2ChildItem.parentFolderID = child2Child.folderID;
+ _dbPlugin.addInventoryItem(child2ChildItem);
+
+ // test read of items
+
+ InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ item = _dbPlugin.getInventoryItem(child1Item.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(child1Item, item));
+
+ item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(child1ChildItem, item));
+
+ item = _dbPlugin.getInventoryItem(child2Item.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(child2Item, item));
+
+ item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(child2ChildItem, item));
+
+ _dbPlugin.deleteInventoryItem(rootItem.inventoryID);
+ _dbPlugin.deleteInventoryItem(child1Item.inventoryID);
+ _dbPlugin.deleteInventoryItem(child1ChildItem.inventoryID);
+ _dbPlugin.deleteInventoryItem(child2Item.inventoryID);
+ _dbPlugin.deleteInventoryItem(child2ChildItem.inventoryID);
+ }
+
+ ///
+ /// Test that we can insert a root folder
+ ///
+ [Test]
+ public void T07_DeleteInventoryWithItems()
+ {
+
+ // Setup inventory
+ InventoryFolderBase root = new InventoryFolderBase();
+ root.agentID = _agent_1_id;
+ root.folderID = _agent_1_id;
+ root.name = "Root folder";
+ root.parentID = LLUUID.Zero;
+ root.type = 2;
+ root.version = 2;
+ _dbPlugin.addInventoryFolder(root);
+
+ InventoryFolderBase child1 = new InventoryFolderBase();
+ child1.agentID = _agent_1_id;
+ child1.folderID = LLUUID.Random();
+ child1.name = "Child 1";
+ child1.parentID = root.folderID;
+ child1.type = 3;
+ child1.version = 3;
+ _dbPlugin.addInventoryFolder(child1);
+
+ InventoryFolderBase child1Child = new InventoryFolderBase();
+ child1Child.agentID = _agent_1_id;
+ child1Child.folderID = LLUUID.Random();
+ child1Child.name = "Child 1 child";
+ child1Child.parentID = child1.folderID;
+ child1Child.type = 4;
+ child1Child.version = 4;
+ _dbPlugin.addInventoryFolder(child1Child);
+
+ InventoryFolderBase child2 = new InventoryFolderBase();
+ child2.agentID = _agent_1_id;
+ child2.folderID = LLUUID.Random();
+ child2.name = "Child 2";
+ child2.parentID = root.folderID;
+ child2.type = 5;
+ child2.version = 5;
+ _dbPlugin.addInventoryFolder(child2);
+
+ InventoryFolderBase child2Child = new InventoryFolderBase();
+ child2Child.agentID = _agent_1_id;
+ child2Child.folderID = LLUUID.Random();
+ child2Child.name = "Child 2 child";
+ child2Child.parentID = child2.folderID;
+ child2Child.type = 6;
+ child2Child.version = 6;
+ _dbPlugin.addInventoryFolder(child2Child);
+
+ InventoryItemBase rootItem = new InventoryItemBase();
+ rootItem.assetID = LLUUID.Random();
+ rootItem.assetType = _rnd.Next(1, 1000);
+ rootItem.avatarID = _agent_1_id;
+ rootItem.creatorsID = LLUUID.Random();
+ rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryID = LLUUID.Random();
+ rootItem.inventoryDescription = "Root item, Description";
+ rootItem.inventoryName = "Root item";
+ rootItem.invType = _rnd.Next(1, 1000);
+ rootItem.parentFolderID = root.folderID;
+ _dbPlugin.addInventoryItem(rootItem);
+
+ InventoryItemBase child1Item = new InventoryItemBase();
+ child1Item.assetID = LLUUID.Random();
+ child1Item.assetType = _rnd.Next(1, 1000);
+ child1Item.avatarID = _agent_1_id;
+ child1Item.creatorsID = LLUUID.Random();
+ child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryID = LLUUID.Random();
+ child1Item.inventoryDescription = "child1 item, Description";
+ child1Item.inventoryName = "child1 item";
+ child1Item.invType = _rnd.Next(1, 1000);
+ child1Item.parentFolderID = child1.folderID;
+ _dbPlugin.addInventoryItem(child1Item);
+
+ InventoryItemBase child1ChildItem = new InventoryItemBase();
+ child1ChildItem.assetID = LLUUID.Random();
+ child1ChildItem.assetType = _rnd.Next(1, 1000);
+ child1ChildItem.avatarID = _agent_1_id;
+ child1ChildItem.creatorsID = LLUUID.Random();
+ child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryID = LLUUID.Random();
+ child1ChildItem.inventoryDescription = "child1Child item, Description";
+ child1ChildItem.inventoryName = "child1Child item";
+ child1ChildItem.invType = _rnd.Next(1, 1000);
+ child1ChildItem.parentFolderID = child1Child.folderID;
+ _dbPlugin.addInventoryItem(child1ChildItem);
+
+ InventoryItemBase child2Item = new InventoryItemBase();
+ child2Item.assetID = LLUUID.Random();
+ child2Item.assetType = _rnd.Next(1, 1000);
+ child2Item.avatarID = _agent_1_id;
+ child2Item.creatorsID = LLUUID.Random();
+ child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryID = LLUUID.Random();
+ child2Item.inventoryDescription = "child2 item, Description";
+ child2Item.inventoryName = "child2 item";
+ child2Item.invType = _rnd.Next(1, 1000);
+ child2Item.parentFolderID = child2.folderID;
+ _dbPlugin.addInventoryItem(child2Item);
+
+ InventoryItemBase child2ChildItem = new InventoryItemBase();
+ child2ChildItem.assetID = LLUUID.Random();
+ child2ChildItem.assetType = _rnd.Next(1, 1000);
+ child2ChildItem.avatarID = _agent_1_id;
+ child2ChildItem.creatorsID = LLUUID.Random();
+ child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryID = LLUUID.Random();
+ child2ChildItem.inventoryDescription = "child2Child item, Description";
+ child2ChildItem.inventoryName = "child2Child item";
+ child2ChildItem.invType = _rnd.Next(1, 1000);
+ child2ChildItem.parentFolderID = child2Child.folderID;
+ _dbPlugin.addInventoryItem(child2ChildItem);
+
+ // test deletetion of items
+
+ _dbPlugin.deleteInventoryItem(rootItem.inventoryID);
+ _dbPlugin.deleteInventoryItem(child1Item.inventoryID);
+ _dbPlugin.deleteInventoryItem(child1ChildItem.inventoryID);
+ _dbPlugin.deleteInventoryItem(child2Item.inventoryID);
+ _dbPlugin.deleteInventoryItem(child2ChildItem.inventoryID);
+
+ InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsNull(item);
+
+ item = _dbPlugin.getInventoryItem(child1Item.inventoryID);
+ Assert.IsNull(item);
+
+ item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID);
+ Assert.IsNull(item);
+
+ item = _dbPlugin.getInventoryItem(child2Item.inventoryID);
+ Assert.IsNull(item);
+
+ item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID);
+ Assert.IsNull(item);
+
+ _dbPlugin.deleteInventoryFolder(_agent_1_id);
+ }
+
+
+ ///
+ /// Test that we can insert a root folder
+ ///
+ [Test]
+ public void T08_DeleteInventoryWithItems()
+ {
+
+ // Setup inventory
+ InventoryFolderBase root = new InventoryFolderBase();
+ root.agentID = _agent_1_id;
+ root.folderID = _agent_1_id;
+ root.name = "Root folder";
+ root.parentID = LLUUID.Zero;
+ root.type = 2;
+ root.version = 2;
+ _dbPlugin.addInventoryFolder(root);
+
+ InventoryFolderBase child1 = new InventoryFolderBase();
+ child1.agentID = _agent_1_id;
+ child1.folderID = LLUUID.Random();
+ child1.name = "Child 1";
+ child1.parentID = root.folderID;
+ child1.type = 3;
+ child1.version = 3;
+ _dbPlugin.addInventoryFolder(child1);
+
+ InventoryFolderBase child1Child = new InventoryFolderBase();
+ child1Child.agentID = _agent_1_id;
+ child1Child.folderID = LLUUID.Random();
+ child1Child.name = "Child 1 child";
+ child1Child.parentID = child1.folderID;
+ child1Child.type = 4;
+ child1Child.version = 4;
+ _dbPlugin.addInventoryFolder(child1Child);
+
+ InventoryFolderBase child2 = new InventoryFolderBase();
+ child2.agentID = _agent_1_id;
+ child2.folderID = LLUUID.Random();
+ child2.name = "Child 2";
+ child2.parentID = root.folderID;
+ child2.type = 5;
+ child2.version = 5;
+ _dbPlugin.addInventoryFolder(child2);
+
+ InventoryFolderBase child2Child = new InventoryFolderBase();
+ child2Child.agentID = _agent_1_id;
+ child2Child.folderID = LLUUID.Random();
+ child2Child.name = "Child 2 child";
+ child2Child.parentID = child2.folderID;
+ child2Child.type = 6;
+ child2Child.version = 6;
+ _dbPlugin.addInventoryFolder(child2Child);
+
+ InventoryItemBase rootItem = new InventoryItemBase();
+ rootItem.assetID = LLUUID.Random();
+ rootItem.assetType = _rnd.Next(1, 1000);
+ rootItem.avatarID = _agent_1_id;
+ rootItem.creatorsID = LLUUID.Random();
+ rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryID = LLUUID.Random();
+ rootItem.inventoryDescription = "Root item, Description";
+ rootItem.inventoryName = "Root item";
+ rootItem.invType = _rnd.Next(1, 1000);
+ rootItem.parentFolderID = root.folderID;
+ _dbPlugin.addInventoryItem(rootItem);
+
+ InventoryItemBase child1Item = new InventoryItemBase();
+ child1Item.assetID = LLUUID.Random();
+ child1Item.assetType = _rnd.Next(1, 1000);
+ child1Item.avatarID = _agent_1_id;
+ child1Item.creatorsID = LLUUID.Random();
+ child1Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child1Item.inventoryID = LLUUID.Random();
+ child1Item.inventoryDescription = "child1 item, Description";
+ child1Item.inventoryName = "child1 item";
+ child1Item.invType = _rnd.Next(1, 1000);
+ child1Item.parentFolderID = child1.folderID;
+ _dbPlugin.addInventoryItem(child1Item);
+
+ InventoryItemBase child1ChildItem = new InventoryItemBase();
+ child1ChildItem.assetID = LLUUID.Random();
+ child1ChildItem.assetType = _rnd.Next(1, 1000);
+ child1ChildItem.avatarID = _agent_1_id;
+ child1ChildItem.creatorsID = LLUUID.Random();
+ child1ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child1ChildItem.inventoryID = LLUUID.Random();
+ child1ChildItem.inventoryDescription = "child1Child item, Description";
+ child1ChildItem.inventoryName = "child1Child item";
+ child1ChildItem.invType = _rnd.Next(1, 1000);
+ child1ChildItem.parentFolderID = child1Child.folderID;
+ _dbPlugin.addInventoryItem(child1ChildItem);
+
+ InventoryItemBase child2Item = new InventoryItemBase();
+ child2Item.assetID = LLUUID.Random();
+ child2Item.assetType = _rnd.Next(1, 1000);
+ child2Item.avatarID = _agent_1_id;
+ child2Item.creatorsID = LLUUID.Random();
+ child2Item.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child2Item.inventoryID = LLUUID.Random();
+ child2Item.inventoryDescription = "child2 item, Description";
+ child2Item.inventoryName = "child2 item";
+ child2Item.invType = _rnd.Next(1, 1000);
+ child2Item.parentFolderID = child2.folderID;
+ _dbPlugin.addInventoryItem(child2Item);
+
+ InventoryItemBase child2ChildItem = new InventoryItemBase();
+ child2ChildItem.assetID = LLUUID.Random();
+ child2ChildItem.assetType = _rnd.Next(1, 1000);
+ child2ChildItem.avatarID = _agent_1_id;
+ child2ChildItem.creatorsID = LLUUID.Random();
+ child2ChildItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ child2ChildItem.inventoryID = LLUUID.Random();
+ child2ChildItem.inventoryDescription = "child2Child item, Description";
+ child2ChildItem.inventoryName = "child2Child item";
+ child2ChildItem.invType = _rnd.Next(1, 1000);
+ child2ChildItem.parentFolderID = child2Child.folderID;
+ _dbPlugin.addInventoryItem(child2ChildItem);
+
+ // test deletetion of items
+
+ _dbPlugin.deleteInventoryFolder(_agent_1_id);
+
+ InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsNull(item);
+
+ item = _dbPlugin.getInventoryItem(child1Item.inventoryID);
+ Assert.IsNull(item);
+
+ item = _dbPlugin.getInventoryItem(child1ChildItem.inventoryID);
+ Assert.IsNull(item);
+
+ item = _dbPlugin.getInventoryItem(child2Item.inventoryID);
+ Assert.IsNull(item);
+
+ item = _dbPlugin.getInventoryItem(child2ChildItem.inventoryID);
+ Assert.IsNull(item);
+
+ }
+
+ ///
+ /// Test that we can update items
+ ///
+ [Test]
+ public void T09_UpdateItem()
+ {
+
+ // Setup inventory
+ InventoryFolderBase root = new InventoryFolderBase();
+ root.agentID = _agent_1_id;
+ root.folderID = _agent_1_id;
+ root.name = "Root folder";
+ root.parentID = LLUUID.Zero;
+ root.type = 2;
+ root.version = 2;
+ _dbPlugin.addInventoryFolder(root);
+
+ InventoryItemBase rootItem = new InventoryItemBase();
+ rootItem.assetID = LLUUID.Random();
+ rootItem.assetType = _rnd.Next(1, 1000);
+ rootItem.avatarID = _agent_1_id;
+ rootItem.creatorsID = LLUUID.Random();
+ rootItem.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ rootItem.inventoryID = LLUUID.Random();
+ rootItem.inventoryDescription = "Root item, Description";
+ rootItem.inventoryName = "Root item";
+ rootItem.invType = _rnd.Next(1, 1000);
+ rootItem.parentFolderID = root.folderID;
+ _dbPlugin.addInventoryItem(rootItem);
+
+ rootItem.assetID = LLUUID.Random();
+ _dbPlugin.updateInventoryItem(rootItem);
+ InventoryItemBase item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.assetType = rootItem.assetType+1;
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.avatarID = LLUUID.Random();
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.creatorsID = LLUUID.Random();
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.inventoryBasePermissions = rootItem.inventoryBasePermissions+1;
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.inventoryCurrentPermissions = rootItem.inventoryCurrentPermissions+1;
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.inventoryDescription = "New description";
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.inventoryEveryOnePermissions = rootItem.inventoryEveryOnePermissions+1;
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.inventoryName = "New name";
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.inventoryNextPermissions = rootItem.inventoryNextPermissions+1;
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.invType = rootItem.invType+1;
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ rootItem.parentFolderID = LLUUID.Zero;
+ _dbPlugin.updateInventoryItem(rootItem);
+ item = _dbPlugin.getInventoryItem(rootItem.inventoryID);
+ Assert.IsTrue(AreItemsIdentical(rootItem, item));
+
+ _dbPlugin.deleteInventoryFolder(_agent_1_id);
+ _dbPlugin.deleteInventoryItem(rootItem.inventoryID);
+ }
+
+
+ ///
+ /// Test that we can insert a root folder
+ ///
+ [Test]
+ public void T10_GetListOfItemsInFolder()
+ {
+
+ // Setup inventory
+ InventoryFolderBase root = new InventoryFolderBase();
+ root.agentID = _agent_1_id;
+ root.folderID = _agent_1_id;
+ root.name = "Root folder";
+ root.parentID = LLUUID.Zero;
+ root.type = 2;
+ root.version = 2;
+ _dbPlugin.addInventoryFolder(root);
+
+ InventoryFolderBase child1 = new InventoryFolderBase();
+ child1.agentID = _agent_1_id;
+ child1.folderID = LLUUID.Random();
+ child1.name = "Child 1";
+ child1.parentID = root.folderID;
+ child1.type = 3;
+ child1.version = 3;
+ _dbPlugin.addInventoryFolder(child1);
+
+ InventoryFolderBase child1Child = new InventoryFolderBase();
+ child1Child.agentID = _agent_1_id;
+ child1Child.folderID = LLUUID.Random();
+ child1Child.name = "Child 1 child";
+ child1Child.parentID = child1.folderID;
+ child1Child.type = 4;
+ child1Child.version = 4;
+ _dbPlugin.addInventoryFolder(child1Child);
+
+
+ InventoryItemBase item1 = new InventoryItemBase();
+ item1.assetID = LLUUID.Random();
+ item1.assetType = _rnd.Next(1, 1000);
+ item1.avatarID = _agent_1_id;
+ item1.creatorsID = LLUUID.Random();
+ item1.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ item1.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ item1.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ item1.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ item1.inventoryID = LLUUID.Random();
+ item1.inventoryDescription = "Item 1, description";
+ item1.inventoryName = "Item 1";
+ item1.invType = _rnd.Next(1, 1000);
+ item1.parentFolderID = child1Child.folderID;
+ _dbPlugin.addInventoryItem(item1);
+
+ InventoryItemBase item2 = new InventoryItemBase();
+ item2.assetID = LLUUID.Random();
+ item2.assetType = _rnd.Next(1, 1000);
+ item2.avatarID = _agent_1_id;
+ item2.creatorsID = LLUUID.Random();
+ item2.inventoryBasePermissions = (uint)_rnd.Next(1, 1000000);
+ item2.inventoryCurrentPermissions = (uint)_rnd.Next(1, 1000000);
+ item2.inventoryEveryOnePermissions = (uint)_rnd.Next(1, 1000000);
+ item2.inventoryNextPermissions = (uint)_rnd.Next(1, 1000000);
+ item2.inventoryID = LLUUID.Random();
+ item2.inventoryDescription = "Item 1, description";
+ item2.inventoryName = "Item 1";
+ item2.invType = _rnd.Next(1, 1000);
+ item2.parentFolderID = child1Child.folderID;
+ _dbPlugin.addInventoryItem(item2);
+
+ List items = _dbPlugin.getInventoryInFolder(child1Child.folderID);
+ Assert.IsNotNull(items);
+ Assert.IsNotEmpty(items);
+
+ bool foundItem1 = false;
+ bool foundItem2 = false;
+
+ foreach (InventoryItemBase i in items)
+ {
+ if (i.inventoryID == item1.inventoryID)
+ {
+ foundItem1 = true;
+ Assert.IsTrue(AreItemsIdentical(item1, i));
+ }
+ else if (i.inventoryID == item2.inventoryID)
+ {
+ foundItem2 = true;
+ Assert.IsTrue(AreItemsIdentical(item2, i));
+ }
+ else
+ {
+ Assert.Fail("Unknown inventory item found");
+ }
+ }
+
+ Assert.IsTrue(foundItem1 && foundItem2, "not all items were returned");
+ _dbPlugin.deleteInventoryFolder(_agent_1_id);
+ }
+ }
+}
diff --git a/OpenSim/Tests/OpenSim/Framework/UtilTest.cs b/OpenSim/Tests/OpenSim/Framework/UtilTest.cs
new file mode 100644
index 0000000000..78acc50689
--- /dev/null
+++ b/OpenSim/Tests/OpenSim/Framework/UtilTest.cs
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using libsecondlife;
+using NUnit.Framework;
+using NUnit.Framework.SyntaxHelpers;
+
+using OpenSim.Tests.Common;
+
+namespace OpenSim.Framework.Tests
+{
+ [TestFixture]
+ public class UtilTests
+ {
+ [Test]
+ public void VectorOperationTests()
+ {
+ LLVector3 v1, v2;
+ double expectedDistance;
+ double expectedMagnitude;
+ double lowPrecisionTolerance = 0.001;
+
+ //Lets test a simple case of <0,0,0> and <5,5,5>
+ {
+ v1 = new LLVector3(0, 0, 0);
+ v2 = new LLVector3(5, 5, 5);
+ expectedDistance = 8.66;
+ Assert.That(Util.GetDistanceTo(v1, v2),
+ new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance),
+ "Calculated distance between two vectors was not within tolerances.");
+
+ expectedMagnitude = 0;
+ Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero.");
+
+ expectedMagnitude = 8.66;
+ Assert.That(Util.GetMagnitude(v2),
+ new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance),
+ "Magnitude of vector was incorrect.");
+
+ TestDelegate d = delegate() { Util.GetNormalizedVector(v1); };
+ bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
+ Assert.That(causesArgumentException, Is.True,
+ "Getting magnitude of null vector did not cause argument exception.");
+
+ LLVector3 expectedNormalizedVector = new LLVector3(.577f, .577f, .577f);
+ double expectedNormalizedMagnitude = 1;
+ LLVector3 normalizedVector = Util.GetNormalizedVector(v2);
+ Assert.That(normalizedVector,
+ new VectorToleranceConstraint(expectedNormalizedVector, lowPrecisionTolerance),
+ "Normalized vector generated from vector was not what was expected.");
+ Assert.That(Util.GetMagnitude(normalizedVector),
+ new DoubleToleranceConstraint(expectedNormalizedMagnitude, lowPrecisionTolerance),
+ "Normalized vector generated from vector does not have magnitude of 1.");
+ }
+
+ //Lets test a simple case of <0,0,0> and <0,0,0>
+ {
+ v1 = new LLVector3(0, 0, 0);
+ v2 = new LLVector3(0, 0, 0);
+ expectedDistance = 0;
+ Assert.That(Util.GetDistanceTo(v1, v2),
+ new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance),
+ "Calculated distance between two vectors was not within tolerances.");
+
+ expectedMagnitude = 0;
+ Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero.");
+
+ expectedMagnitude = 0;
+ Assert.That(Util.GetMagnitude(v2),
+ new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance),
+ "Magnitude of vector was incorrect.");
+
+ TestDelegate d = delegate() { Util.GetNormalizedVector(v1); };
+ bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
+ Assert.That(causesArgumentException, Is.True,
+ "Getting magnitude of null vector did not cause argument exception.");
+
+ d = delegate() { Util.GetNormalizedVector(v2); };
+ causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
+ Assert.That(causesArgumentException, Is.True,
+ "Getting magnitude of null vector did not cause argument exception.");
+ }
+
+ //Lets test a simple case of <0,0,0> and <-5,-5,-5>
+ {
+ v1 = new LLVector3(0, 0, 0);
+ v2 = new LLVector3(-5, -5, -5);
+ expectedDistance = 8.66;
+ Assert.That(Util.GetDistanceTo(v1, v2),
+ new DoubleToleranceConstraint(expectedDistance, lowPrecisionTolerance),
+ "Calculated distance between two vectors was not within tolerances.");
+
+ expectedMagnitude = 0;
+ Assert.That(Util.GetMagnitude(v1), Is.EqualTo(0), "Magnitude of null vector was not zero.");
+
+ expectedMagnitude = 8.66;
+ Assert.That(Util.GetMagnitude(v2),
+ new DoubleToleranceConstraint(expectedMagnitude, lowPrecisionTolerance),
+ "Magnitude of vector was incorrect.");
+
+ TestDelegate d = delegate() { Util.GetNormalizedVector(v1); };
+ bool causesArgumentException = TestHelper.AssertThisDelegateCausesArgumentException(d);
+ Assert.That(causesArgumentException, Is.True,
+ "Getting magnitude of null vector did not cause argument exception.");
+
+ LLVector3 expectedNormalizedVector = new LLVector3(-.577f, -.577f, -.577f);
+ double expectedNormalizedMagnitude = 1;
+ LLVector3 normalizedVector = Util.GetNormalizedVector(v2);
+ Assert.That(normalizedVector,
+ new VectorToleranceConstraint(expectedNormalizedVector, lowPrecisionTolerance),
+ "Normalized vector generated from vector was not what was expected.");
+ Assert.That(Util.GetMagnitude(normalizedVector),
+ new DoubleToleranceConstraint(expectedNormalizedMagnitude, lowPrecisionTolerance),
+ "Normalized vector generated from vector does not have magnitude of 1.");
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tests/UserServer/Stress/UserServerStressTest.cs b/OpenSim/Tests/UserServer/Stress/UserServerStressTest.cs
new file mode 100644
index 0000000000..a523d8369b
--- /dev/null
+++ b/OpenSim/Tests/UserServer/Stress/UserServerStressTest.cs
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+
+namespace OpenSim.Tests.UserServer.Stress
+{
+ ///
+ /// In the future this class will programatically stress test the user server
+ ///
+ public class UserServerStressTest
+ {
+ public static void Main(string[] args)
+ {
+ log4net.Config.XmlConfigurator.Configure();
+
+ System.Console.WriteLine("Aborting - not yet functional");
+ }
+ }
+}
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index a08eea6fd3..8eebe35cb2 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -1,116 +1,110 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.IO;
-using Nini.Config;
-using OpenSim.Framework;
-using OpenSim.Framework.Console;
-using OpenSim.Region.Environment;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Tools.Export
-{
- public class OpenSimExport
- {
- public IniConfigSource config;
- public StorageManager sman;
-
- public OpenSimExport(IniConfigSource config)
- {
- this.config = config;
- IConfig startup = config.Configs["Startup"];
- // AddinManager.Initialize(".");
- // AddinManager.Registry.Update(null);
-
- // TODO: this really sucks, but given the way we do
- // logging in OpenSim, we need to establish a log up front
-
- MainLog.Instance = CreateLog();
-
- sman = new StorageManager(
- startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
- startup.GetString("storage_connection_string", "")
- );
- }
-
- public static void Main(string[] args)
- {
- OpenSimExport export = new OpenSimExport(InitConfig(args));
- RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml",false);
-
- Console.WriteLine("This application does nothing useful yet: " + reg.RegionID);
- foreach (SceneObjectGroup group in export.sman.DataStore.LoadObjects(reg.RegionID))
- {
- Console.WriteLine("{0} -> {1}", reg.RegionID, group.UUID);
- }
- }
-
- protected LogBase CreateLog()
- {
- if (!Directory.Exists(Util.logDir()))
- {
- Directory.CreateDirectory(Util.logDir());
- }
-
- return new LogBase((Path.Combine(Util.logDir(), "export.log")), "Export", null, true);
- }
-
-
- private static IniConfigSource InitConfig(string[] args)
- {
- Console.WriteLine("Good");
- ArgvConfigSource configSource = new ArgvConfigSource(args);
- configSource.AddSwitch("Startup", "inifile");
-
- IConfig startupConfig = configSource.Configs["Startup"];
- string iniFilePath = startupConfig.GetString("inifile", "OpenSim.ini");
- Console.WriteLine(iniFilePath);
- IniConfigSource config = new IniConfigSource();
- //check for .INI file (either default or name passed in command line)
- if (! File.Exists(iniFilePath))
- {
- iniFilePath = Path.Combine(Util.configDir(), iniFilePath);
- }
-
- if (File.Exists(iniFilePath))
- {
- config.Merge(new IniConfigSource(iniFilePath));
- config.Merge(configSource);
- }
- else
- {
- // no default config files, so set default values, and save it
- Console.WriteLine("We didn't find a config!");
- config.Merge(OpenSimMain.DefaultConfig());
- config.Merge(configSource);
- }
-
- return config;
- }
- }
-}
\ No newline at end of file
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.IO;
+using Nini.Config;
+using OpenSim.Framework;
+using OpenSim.Framework.Console;
+using OpenSim.Region.Environment;
+using OpenSim.Region.Environment.Scenes;
+
+namespace OpenSim.Tools.Export
+{
+ public class OpenSimExport
+ {
+ public IniConfigSource config;
+ public StorageManager sman;
+
+ public OpenSimExport(IniConfigSource config)
+ {
+ this.config = config;
+ IConfig startup = config.Configs["Startup"];
+ // AddinManager.Initialize(".");
+ // AddinManager.Registry.Update(null);
+
+ MainConsole.Instance = CreateConsole();
+
+ sman = new StorageManager(
+ startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
+ startup.GetString("storage_connection_string", String.Empty),
+ false
+ );
+ }
+
+ public static void Main(string[] args)
+ {
+ log4net.Config.XmlConfigurator.Configure();
+
+ OpenSimExport export = new OpenSimExport(InitConfig(args));
+ RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml",false);
+
+ Console.WriteLine("This application does nothing useful yet: " + reg.RegionID);
+ foreach (SceneObjectGroup group in export.sman.DataStore.LoadObjects(reg.RegionID))
+ {
+ Console.WriteLine("{0} -> {1}", reg.RegionID, group.UUID);
+ }
+ }
+
+ protected ConsoleBase CreateConsole()
+ {
+ return new ConsoleBase("Export", null);
+ }
+
+ private static IniConfigSource InitConfig(string[] args)
+ {
+ Console.WriteLine("Good");
+ ArgvConfigSource configSource = new ArgvConfigSource(args);
+ configSource.AddSwitch("Startup", "inifile");
+
+ IConfig startupConfig = configSource.Configs["Startup"];
+ string iniFilePath = startupConfig.GetString("inifile", "OpenSim.ini");
+ Console.WriteLine(iniFilePath);
+ IniConfigSource config = new IniConfigSource();
+ //check for .INI file (either default or name passed in command line)
+ if (! File.Exists(iniFilePath))
+ {
+ iniFilePath = Path.Combine(Util.configDir(), iniFilePath);
+ }
+
+ if (File.Exists(iniFilePath))
+ {
+ config.Merge(new IniConfigSource(iniFilePath));
+ config.Merge(configSource);
+ }
+ else
+ {
+ // no default config files, so set default values, and save it
+ Console.WriteLine("We didn't find a config!");
+ config.Merge(OpenSimMain.DefaultConfig());
+ config.Merge(configSource);
+ }
+
+ return config;
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
similarity index 96%
rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
rename to OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
index b04536cf4e..b841f0b03e 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
@@ -1,112 +1,108 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-namespace LaunchSLClient
-{
- partial class Form1
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.comboBox1 = new System.Windows.Forms.ComboBox();
- this.textBox1 = new System.Windows.Forms.TextBox();
- this.SuspendLayout();
- //
- // comboBox1
- //
- this.comboBox1.FormattingEnabled = true;
- this.comboBox1.Items.AddRange(new object[] {
- "Local Sandbox",
- "Local Grid Server",
- "DeepGrid - www.deepgrid.com",
- "OSGrid - www.osgrid.org",
- "Linden Labs - www.secondlife.com"});
- this.comboBox1.Location = new System.Drawing.Point(37, 83);
- this.comboBox1.Name = "comboBox1";
- this.comboBox1.Size = new System.Drawing.Size(348, 21);
- this.comboBox1.TabIndex = 0;
- this.comboBox1.Text = "Choose from list";
- this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
- //
- // textBox1
- //
- this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox1.Location = new System.Drawing.Point(37, 32);
- this.textBox1.Name = "textBox1";
- this.textBox1.ReadOnly = true;
- this.textBox1.Size = new System.Drawing.Size(292, 19);
- this.textBox1.TabIndex = 1;
- this.textBox1.Text = "Choose from one of the following:";
- //
- // Form1
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(501, 339);
- this.Controls.Add(this.textBox1);
- this.Controls.Add(this.comboBox1);
- this.Name = "Form1";
- this.Text = "OpenSim Client Launcher";
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.ComboBox comboBox1;
- private System.Windows.Forms.TextBox textBox1;
-
- }
-}
-
-
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+namespace LaunchSLClient
+{
+ partial class Form1
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.comboBox1 = new System.Windows.Forms.ComboBox();
+ this.textBox1 = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // comboBox1
+ //
+ this.comboBox1.FormattingEnabled = true;
+ this.comboBox1.Items.AddRange(new object[] {
+ "Local Sandbox",
+ "Local Grid Server",
+ "DeepGrid - www.deepgrid.com",
+ "OSGrid - www.osgrid.org",
+ "Linden Labs - www.secondlife.com"});
+ this.comboBox1.Location = new System.Drawing.Point(37, 83);
+ this.comboBox1.Name = "comboBox1";
+ this.comboBox1.Size = new System.Drawing.Size(348, 21);
+ this.comboBox1.TabIndex = 0;
+ this.comboBox1.Text = "Choose from list";
+ this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
+ //
+ // textBox1
+ //
+ this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox1.Location = new System.Drawing.Point(37, 32);
+ this.textBox1.Name = "textBox1";
+ this.textBox1.ReadOnly = true;
+ this.textBox1.Size = new System.Drawing.Size(292, 19);
+ this.textBox1.TabIndex = 1;
+ this.textBox1.Text = "Choose from one of the following:";
+ //
+ // Form1
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(501, 339);
+ this.Controls.Add(this.textBox1);
+ this.Controls.Add(this.comboBox1);
+ this.Name = "Form1";
+ this.Text = "OpenSim Client Launcher";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+ }
+
+ #endregion
+
+ private System.Windows.Forms.ComboBox comboBox1;
+ private System.Windows.Forms.TextBox textBox1;
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/Form1.cs
similarity index 55%
rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
rename to OpenSim/Tools/LaunchSLClient/Form1.cs
index 6842768394..183a104b23 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/Form1.cs
@@ -1,204 +1,211 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.IO;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Diagnostics;
-using System.Drawing;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Windows.Forms;
-using Microsoft.Win32;
-
-namespace LaunchSLClient
-{
- public partial class Form1 : Form
- {
- string gridUrl = "";
- string sandboxUrl = "";
- string deepGridUrl = "http://user.deepgrid.com:8002/";
- string osGridUrl = "http://www.osgrid.org:8002/";
- string runUrl = "";
- string runLine = "";
- Object exeFlags;
- Object exePath;
-
-
- public Form1()
- {
- InitializeComponent();
- ArrayList menuItems=new ArrayList();
- menuItems.Add("Please select one:");
- string sandboxHostName = "";
- string sandboxPort = "";
- Object simPath = null;
- FileInfo defaultFile;
- StreamReader stream;
-
-
- // get executable path from registry
- //
- RegistryKey regKey;
- RegistryKey exeKey;
- regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Linden Research, Inc.\SecondLife");
- if (regKey == null)
- {
- regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Linden Research, Inc.\SecondLife");
- if (regKey == null)
- {
- throw new LauncherException("Can't find Second Life. Are you sure it is installed?", "LauncherException.Form1");
- }
- }
- Object exe = regKey.GetValue("Exe");
- exeFlags = regKey.GetValue("Flags");
- exePath = regKey.GetValue("");
- runLine = exePath.ToString() + "\\" + exe.ToString();
- Registry.LocalMachine.Flush();
- Registry.LocalMachine.Close();
-
- // find opensim directory
- //
- exeKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\OpenSim\OpenSim");
- if (exeKey != null)
- {
-
- simPath = exeKey.GetValue("Path");
-
- // build sandbox URL from Regions\default.xml
- // this is highly dependant on a standard default.xml
- //
- Directory.SetCurrentDirectory(simPath.ToString()); //this should be set to wherever we decide to put the binaries
- string text;
- Regex myRegex = new Regex(".*internal_ip_port=\\\"(?.*?)\\\".*external_host_name=\\\"(?.*?)\\\".*");
- if (File.Exists(@"Regions\default.xml"))
- {
- defaultFile = new FileInfo(@"Regions\default.xml");
- stream = defaultFile.OpenText();
- do
- {
- text = stream.ReadLine();
- if (text == null)
- {
- break;
- }
- MatchCollection theMatches = myRegex.Matches(text);
- foreach (Match theMatch in theMatches)
- {
- if (theMatch.Length != 0)
- {
- sandboxHostName = theMatch.Groups["name"].ToString();
- sandboxPort = theMatch.Groups["port"].ToString();
- }
- }
- } while (text != null);
- stream.Close();
- sandboxUrl = "http:\\" + sandboxHostName + ":" + sandboxPort;
- menuItems.Add("Local Sandbox");
- }
- else
- {
- MessageBox.Show("No OpenSim config files found. Please run OpenSim and finish configuration to run a local sim. Showing public grids only", "No OpenSim");
- }
-
-
- //build local grid URL from network_servers_information.xml
- // this is highly dependant on a standard default.xml
- //
- myRegex = new Regex(".*UserServerURL=\\\"(?.*?)\\\".*");
- if (File.Exists(@"network_servers_information.xml"))
- {
- defaultFile = new FileInfo(@"network_servers_information.xml");
-
-
- stream = defaultFile.OpenText();
- do
- {
- text = stream.ReadLine();
- if (text == null)
- {
- break;
- }
- MatchCollection theMatches = myRegex.Matches(text);
- foreach (Match theMatch in theMatches)
- {
- if (theMatch.Length != 0)
- {
- gridUrl = theMatch.Groups["url"].ToString();
- }
- }
- } while (text != null);
- stream.Close();
- if (gridUrl != null)
- {
- menuItems.Add("Local Grid Server");
- }
- }
- }
- else
- {
- MessageBox.Show("No OpenSim installed. Showing public grids only", "No OpenSim");
- }
-
- menuItems.Add("OSGrid - www.osgrid.org");
- menuItems.Add("DeepGrid - www.deepgrid.com");
- menuItems.Add("OpenlifeGrid - www.openlifegrid.com");
-
- // We don't have a proper login uri for SL grid
- // menuItems.Add("Linden Labs - www.secondlife.com");
- comboBox1.DataSource=menuItems;
- }
-
- private void radioButton1_CheckedChanged(object sender, EventArgs e)
- {
-
- }
-
- private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (comboBox1.Text == "Please select one:") { return; }
- if (comboBox1.Text == "Local Sandbox") { runUrl=" -loginuri " + sandboxUrl;}
- if (comboBox1.Text == "Local Grid Server") { runUrl = " -loginuri " + gridUrl; }
- if (comboBox1.Text == "DeepGrid - www.deepgrid.com") { runUrl = " -loginuri " + deepGridUrl; }
- if (comboBox1.Text == "OSGrid - www.osgrid.org") { runUrl = " -loginuri " + osGridUrl; }
- if (comboBox1.Text == "Linden Labs - www.secondlife.com") { runUrl = ""; }
- if (comboBox1.Text == "OpenlifeGrid - www.openlifegrid.com") { runUrl = " -loginuri http://logingrid.net:8002"; }
-
- System.Diagnostics.Process proc = new System.Diagnostics.Process();
- proc.StartInfo.FileName = runLine;
- proc.StartInfo.Arguments = exeFlags.ToString() + " " + runUrl;
- proc.StartInfo.UseShellExecute = false;
- proc.StartInfo.RedirectStandardOutput = false;
- proc.StartInfo.WorkingDirectory = exePath.ToString();
- proc.Start();
- proc.WaitForExit();
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.IO;
+using System.Collections;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Diagnostics;
+using System.Drawing;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Windows.Forms;
+using Microsoft.Win32;
+
+namespace LaunchSLClient
+{
+ public partial class Form1 : Form
+ {
+ const string deepGridUrl = "http://user.deepgrid.com:8002/";
+ const string osGridUrl = "http://www.osgrid.org:8002/";
+ const string openLifeGridUrl = "http://logingrid.net:8002";
+
+ string gridUrl = "";
+ string sandboxUrl = "";
+ string runUrl = "";
+ string runLine = "";
+ string exeFlags = "";
+ string exePath = "";
+
+ private void addLocalSandbox(ref ArrayList menuItems)
+ {
+ // build sandbox URL from Regions\default.xml
+ // this is highly dependant on a standard default.xml
+ if (File.Exists(@"Regions\default.xml"))
+ {
+ string sandboxHostName = "";
+ string sandboxPort = "";
+ string text;
+
+ Regex myRegex = new Regex(".*internal_ip_port=\\\"(?.*?)\\\".*external_host_name=\\\"(?.*?)\\\".*");
+
+ FileInfo defaultFile = new FileInfo(@"Regions\default.xml");
+ StreamReader stream = defaultFile.OpenText();
+ do
+ {
+ text = stream.ReadLine();
+ if (text == null)
+ {
+ break;
+ }
+ MatchCollection theMatches = myRegex.Matches(text);
+ foreach (Match theMatch in theMatches)
+ {
+ if (theMatch.Length != 0)
+ {
+ sandboxHostName = theMatch.Groups["name"].ToString();
+ sandboxPort = theMatch.Groups["port"].ToString();
+ }
+ }
+ } while (text != null);
+
+ stream.Close();
+ sandboxUrl = "http:\\" + sandboxHostName + ":" + sandboxPort;
+ menuItems.Add("Local Sandbox");
+ }
+ }
+
+ private void addLocalGrid(ref ArrayList menuItems)
+ {
+ //build local grid URL from network_servers_information.xml
+ // this is highly dependant on a standard default.xml
+ if (File.Exists(@"network_servers_information.xml"))
+ {
+ string text;
+ FileInfo defaultFile = new FileInfo(@"network_servers_information.xml");
+ Regex myRegex = new Regex(".*UserServerURL=\\\"(?.*?)\\\".*");
+ StreamReader stream = defaultFile.OpenText();
+
+ do
+ {
+ text = stream.ReadLine();
+ if (text == null)
+ {
+ break;
+ }
+ foreach (Match theMatch in myRegex.Matches(text))
+ {
+ if (theMatch.Length != 0)
+ {
+ gridUrl = theMatch.Groups["url"].ToString();
+ }
+ }
+ } while (text != null);
+ stream.Close();
+ if (gridUrl != null)
+ {
+ menuItems.Add("Local Grid Server");
+ }
+ }
+ }
+
+ private void addLocalSims(ref ArrayList menuItems)
+ {
+ // find opensim directory
+ RegistryKey exeKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\OpenSim\OpenSim");
+ if (exeKey != null)
+ {
+ Object simPath = exeKey.GetValue("Path");
+
+ Directory.SetCurrentDirectory(simPath.ToString()); //this should be set to wherever we decide to put the binaries
+
+ addLocalSandbox(ref menuItems);
+ addLocalGrid(ref menuItems);
+ }
+ else
+ {
+ MessageBox.Show("No OpenSim installed. Showing public grids only", "No OpenSim");
+ }
+ }
+
+ private void getClient(ref string exePath, ref string runLine, ref string exeFlags)
+ {
+ // get executable path from registry
+ RegistryKey regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Linden Research, Inc.\SecondLife");
+ if (regKey == null)
+ {
+ regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Linden Research, Inc.\SecondLife");
+ if (regKey == null)
+ {
+ throw new LauncherException("Can't find Second Life. Are you sure it is installed?", "LauncherException.Form1");
+ }
+ }
+ string exe = regKey.GetValue("Exe").ToString();
+ exeFlags = regKey.GetValue("Flags").ToString();
+ exePath = regKey.GetValue("").ToString();
+ runLine = exePath + "\\" + exe;
+ Registry.LocalMachine.Flush();
+ Registry.LocalMachine.Close();
+ }
+
+ public Form1()
+ {
+ InitializeComponent();
+ ArrayList menuItems = new ArrayList();
+
+ getClient(ref exePath, ref runLine, ref exeFlags);
+
+ menuItems.Add("Please select one:");
+
+ addLocalSims(ref menuItems);
+
+ menuItems.Add("OSGrid - www.osgrid.org");
+ menuItems.Add("DeepGrid - www.deepgrid.com");
+ menuItems.Add("OpenlifeGrid - www.openlifegrid.com");
+ menuItems.Add("Linden Labs - www.secondlife.com");
+
+ comboBox1.DataSource = menuItems;
+ }
+
+ private void radioButton1_CheckedChanged(object sender, EventArgs e)
+ {
+ }
+
+ private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (comboBox1.Text == "Please select one:") { return; }
+ if (comboBox1.Text == "Local Sandbox") { runUrl=" -loginuri " + sandboxUrl;}
+ if (comboBox1.Text == "Local Grid Server") { runUrl = " -loginuri " + gridUrl; }
+ if (comboBox1.Text == "DeepGrid - www.deepgrid.com") { runUrl = " -loginuri " + deepGridUrl; }
+ if (comboBox1.Text == "OSGrid - www.osgrid.org") { runUrl = " -loginuri " + osGridUrl; }
+ if (comboBox1.Text == "OpenlifeGrid - www.openlifegrid.com") { runUrl = " -loginuri " + openLifeGridUrl; }
+ if (comboBox1.Text == "Linden Labs - www.secondlife.com") { runUrl = ""; }
+
+ System.Diagnostics.Process proc = new System.Diagnostics.Process();
+ proc.StartInfo.FileName = runLine;
+ proc.StartInfo.Arguments = exeFlags.ToString() + " " + runUrl;
+ proc.StartInfo.UseShellExecute = false;
+ proc.StartInfo.RedirectStandardOutput = false;
+ proc.StartInfo.WorkingDirectory = exePath.ToString();
+ proc.Start();
+ proc.WaitForExit();
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx b/OpenSim/Tools/LaunchSLClient/Form1.resx
similarity index 97%
rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
rename to OpenSim/Tools/LaunchSLClient/Form1.resx
index ff31a6db56..19dc0dd8b3 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
+++ b/OpenSim/Tools/LaunchSLClient/Form1.resx
@@ -1,120 +1,120 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
new file mode 100644
index 0000000000..b6b072bfe9
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
@@ -0,0 +1,152 @@
+
+
+ Local
+ 9.0.21022
+ 2.0
+ {FFC2EE60-0000-0000-0000-000000000000}
+ Debug
+ AnyCPU
+
+
+
+
+ LaunchSLClient
+ JScript
+ Grid
+ IE50
+ false
+ Exe
+
+
+ LaunchSLClient
+
+
+
+
+
+
+ False
+ 285212672
+ False
+
+
+ TRACE;DEBUG
+
+
+ True
+ 4096
+ False
+ ..\..\..\bin\
+ False
+ False
+ False
+ 4
+
+
+
+
+ False
+ 285212672
+ False
+
+
+ TRACE
+
+
+ False
+ 4096
+ True
+ ..\..\..\bin\
+ False
+ False
+ False
+ 4
+
+
+
+
+
+ Microsoft.Win32.dll
+ False
+
+
+ System.dll
+ False
+
+
+ System.Collections.dll
+ False
+
+
+ System.Collections.Generic.dll
+ False
+
+
+ System.ComponentModel.dll
+ False
+
+
+ System.Data.dll
+ False
+
+
+ System.Diagnostics.dll
+ False
+
+
+ System.Drawing.dll
+ False
+
+
+ System.IO.dll
+ False
+
+
+ System.Text.dll
+ False
+
+
+ System.Text.RegularExpressions.dll
+ False
+
+
+ System.Windows.Forms.dll
+ False
+
+
+
+
+
+
+ Form
+
+
+ Form1.cs
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Properties\Resources.cs
+ Code
+
+
+ Properties\Settings.cs
+ Code
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
new file mode 100644
index 0000000000..fa7bb7e0a1
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
@@ -0,0 +1,12 @@
+
+
+ Debug
+ AnyCPU
+ C:\OpenSim\trunk3\bin\
+ 9.0.21022
+ ProjectFiles
+ 0
+
+
+
+
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj
deleted file mode 100644
index bc70f11c55..0000000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
- Debug
- AnyCPU
- 8.0.50727
- 2.0
- {50FD2DCD-2E2D-413C-8260-D9CD22405895}
- WinExe
- Properties
- LaunchSLClient
- LaunchSLClient
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
- Form
-
-
- Form1.cs
-
-
-
-
-
- Designer
- Form1.cs
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
-
-
-
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
deleted file mode 100644
index 4bd2cea179..0000000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("LaunchSLClient")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Home")]
-[assembly: AssemblyProduct("LaunchSLClient")]
-[assembly: AssemblyCopyright("Copyright © Home 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("b08c6904-e6cc-4d9c-8d24-feb0464b1648")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LauncherException.cs
similarity index 97%
rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
rename to OpenSim/Tools/LaunchSLClient/LauncherException.cs
index ae5eb235c5..e31bd1de87 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
+++ b/OpenSim/Tools/LaunchSLClient/LauncherException.cs
@@ -1,53 +1,53 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace LaunchSLClient
-{
- class LauncherException : ApplicationException
- {
-
- private const string CUSTOMMESSAGE = "The SL Client Launcher has failed with the following error: ";
-
- private LauncherException() { }
-
- public LauncherException(string errorMesssage, string source)
- : base (CUSTOMMESSAGE + errorMesssage)
- {
- base.Source = source;
- }
-
- public LauncherException(string errorMessage, string source, Exception innerException)
- : base(CUSTOMMESSAGE + errorMessage, innerException)
- {
- base.Source = source;
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace LaunchSLClient
+{
+ class LauncherException : ApplicationException
+ {
+ private const string CUSTOMMESSAGE = "The SL Client Launcher has failed with the following error: ";
+
+ private LauncherException() { }
+
+ public LauncherException(string errorMesssage, string source)
+ : base (CUSTOMMESSAGE + errorMesssage)
+ {
+ base.Source = source;
+ }
+
+ public LauncherException(string errorMessage, string source, Exception innerException)
+ : base(CUSTOMMESSAGE + errorMessage, innerException)
+ {
+ base.Source = source;
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs b/OpenSim/Tools/LaunchSLClient/Program.cs
similarity index 97%
rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
rename to OpenSim/Tools/LaunchSLClient/Program.cs
index c05ed3ea3b..778d5c0606 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
+++ b/OpenSim/Tools/LaunchSLClient/Program.cs
@@ -1,57 +1,56 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-using System;
-using System.Collections.Generic;
-using System.Windows.Forms;
-
-
-namespace LaunchSLClient
-{
- static class Program
- {
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- static void Main()
- {
-
- try
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new Form1());
- }
- catch (Exception ex)
- {
- // Handles all unhandled errors
- MessageBox.Show(ex.Message,"Unhandled Error");
- }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Windows.Forms;
+
+namespace LaunchSLClient
+{
+ static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ try
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Form1());
+ }
+ catch (Exception ex)
+ {
+ // Handles all unhandled errors
+ MessageBox.Show(ex.Message,"Unhandled Error");
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..87a4ac4883
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("LaunchSLClient")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Home")]
+[assembly: AssemblyProduct("LaunchSLClient")]
+[assembly: AssemblyCopyright("Copyright © Home 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("b08c6904-e6cc-4d9c-8d24-feb0464b1648")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs b/OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs
similarity index 97%
rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
rename to OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs
index f9dfcc0f98..4e9188d308 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs
@@ -1,71 +1,71 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.832
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace LaunchSLClient.Properties
-{
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LaunchSLClient.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
- return resourceCulture;
- }
- set
- {
- resourceCulture = value;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.832
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace LaunchSLClient.Properties
+{
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LaunchSLClient.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx b/OpenSim/Tools/LaunchSLClient/Properties/Resources.resx
similarity index 97%
rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
rename to OpenSim/Tools/LaunchSLClient/Properties/Resources.resx
index ffecec851a..af7dbebbac 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
+++ b/OpenSim/Tools/LaunchSLClient/Properties/Resources.resx
@@ -1,117 +1,117 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs b/OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs
similarity index 97%
rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
rename to OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs
index 72c3ced2e9..3dcc200625 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs
@@ -1,30 +1,30 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.832
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace LaunchSLClient.Properties
-{
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
- return defaultInstance;
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.832
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace LaunchSLClient.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings b/OpenSim/Tools/LaunchSLClient/Properties/Settings.settings
similarity index 97%
rename from OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
rename to OpenSim/Tools/LaunchSLClient/Properties/Settings.settings
index abf36c5d3d..39645652af 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
+++ b/OpenSim/Tools/LaunchSLClient/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
new file mode 100644
index 0000000000..bfca5e4d77
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
@@ -0,0 +1,63 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.21022
+ 2.0
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}
+ Exe
+ Properties
+ OpenSim._32BitLaunch
+ OpenSim.32BitLaunch
+ v2.0
+ 512
+
+
+ true
+ full
+ false
+ ..\..\..\bin\
+ DEBUG;TRACE
+ prompt
+ 4
+ x86
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+ 3.5
+
+
+ 3.5
+
+
+
+
+
+
+
+
+
+
+ {AC9EB8AB-0000-0000-0000-000000000000}
+ OpenSim
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
new file mode 100644
index 0000000000..78ba598636
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+
+namespace OpenSim._32BitLaunch
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ log4net.Config.XmlConfigurator.Configure();
+
+ System.Console.WriteLine("32-bit OpenSim executor");
+ System.Console.WriteLine("-----------------------");
+ System.Console.WriteLine("");
+ System.Console.WriteLine("This application is compiled for 32-bit CPU and will run under WOW32 or similar.");
+ System.Console.WriteLine("All 64-bit incompatibilities should be gone.");
+ System.Console.WriteLine("");
+ System.Threading.Thread.Sleep(300);
+ try
+ {
+ OpenSim.Application.Main(args);
+ }
+ catch (Exception ex)
+ {
+ System.Console.WriteLine("OpenSim threw an exception:");
+ System.Console.WriteLine(ex.ToString());
+ System.Console.WriteLine("");
+ System.Console.WriteLine("Application will now terminate!");
+ System.Console.WriteLine("");
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..31543f8f74
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenSim.32BitLaunch")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.32BitLaunch")]
+[assembly: AssemblyCopyright("Copyright © 2008")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("5072e919-46ab-47e6-8a63-08108324ccdf")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
index 2fd8f44ecd..6f8d3329c0 100644
--- a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
+++ b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
@@ -1,116 +1,116 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Windows.Forms;
-
-namespace OpenSim.GUI
-{
- class InputTextBoxControl:System.Windows.Forms.TextBox
- {
- public InputTextBoxControl()
- {
- this.KeyDown += new System.Windows.Forms.KeyEventHandler(TextInputControl_KeyDown);
- }
-
-
- private List CommandHistory = new List();
- private bool InHistory = false;
- private int HistoryPosition = -1;
-
- void TextInputControl_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
- {
-
-
- if (e.KeyCode == Keys.Enter && InHistory == false)
- {
- CommandHistory.Add(this.Text);
- }
-
-
- if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down)
- {
- // if not inside buffer, enter
- // InBuffer = true
- //Console.WriteLine("History: Check");
- if (InHistory == false)
- {
- if (this.Text != "")
- {
- //Console.WriteLine("History: Add");
- CommandHistory.Add(this.Text);
- HistoryPosition = CommandHistory.Count;
- }
- else
- {
- //HistoryPosition = CommandHistory.Count + 1;
- }
- //Console.WriteLine("History: InHistory");
- InHistory = true;
- }
-
- if (e.KeyCode == Keys.Up)
- HistoryPosition -= 1;
- if (e.KeyCode == Keys.Down)
- HistoryPosition += 1;
-
- if (HistoryPosition > CommandHistory.Count - 1)
- HistoryPosition = -1;
- if (HistoryPosition < -1)
- HistoryPosition = CommandHistory.Count - 1;
-
- //Console.WriteLine("History: Pos: " + HistoryPosition);
- //Console.WriteLine("History: HaveInHistCount: " + CommandHistory.Count);
- if (CommandHistory.Count != 0)
- {
- if (HistoryPosition != -1)
- {
- //Console.WriteLine("History: Getting");
- //this.Text = CommandHistory.Item(HistoryPosition);
- this.Text = CommandHistory[HistoryPosition];
- this.SelectionStart = this.Text.Length;
- this.SelectionLength = 0;
- }
- else
- {
- //Console.WriteLine("History: Nothing");
- this.Text = "";
- }
- }
- e.Handled = true;
- } else {
- InHistory = false;
- HistoryPosition = -1;
- }
- }
-
-
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+
+namespace OpenSim.GUI
+{
+ class InputTextBoxControl:System.Windows.Forms.TextBox
+ {
+ public InputTextBoxControl()
+ {
+ this.KeyDown += new System.Windows.Forms.KeyEventHandler(TextInputControl_KeyDown);
+ }
+
+
+ private List CommandHistory = new List();
+ private bool InHistory = false;
+ private int HistoryPosition = -1;
+
+ void TextInputControl_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+
+
+ if (e.KeyCode == Keys.Enter && InHistory == false)
+ {
+ CommandHistory.Add(this.Text);
+ }
+
+
+ if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down)
+ {
+ // if not inside buffer, enter
+ // InBuffer = true
+ //Console.WriteLine("History: Check");
+ if (InHistory == false)
+ {
+ if (this.Text != "")
+ {
+ //Console.WriteLine("History: Add");
+ CommandHistory.Add(this.Text);
+ HistoryPosition = CommandHistory.Count;
+ }
+ else
+ {
+ //HistoryPosition = CommandHistory.Count + 1;
+ }
+ //Console.WriteLine("History: InHistory");
+ InHistory = true;
+ }
+
+ if (e.KeyCode == Keys.Up)
+ HistoryPosition -= 1;
+ if (e.KeyCode == Keys.Down)
+ HistoryPosition += 1;
+
+ if (HistoryPosition > CommandHistory.Count - 1)
+ HistoryPosition = -1;
+ if (HistoryPosition < -1)
+ HistoryPosition = CommandHistory.Count - 1;
+
+ //Console.WriteLine("History: Pos: " + HistoryPosition);
+ //Console.WriteLine("History: HaveInHistCount: " + CommandHistory.Count);
+ if (CommandHistory.Count != 0)
+ {
+ if (HistoryPosition != -1)
+ {
+ //Console.WriteLine("History: Getting");
+ //this.Text = CommandHistory.Item(HistoryPosition);
+ this.Text = CommandHistory[HistoryPosition];
+ this.SelectionStart = this.Text.Length;
+ this.SelectionLength = 0;
+ }
+ else
+ {
+ //Console.WriteLine("History: Nothing");
+ this.Text = "";
+ }
+ }
+ e.Handled = true;
+ } else {
+ InHistory = false;
+ HistoryPosition = -1;
+ }
+ }
+
+
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
index 59e0f91684..ec3970e3ce 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
@@ -1,1436 +1,1436 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-namespace OpenSim.GUI
-{
- partial class Main
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- this.menuStrip1 = new System.Windows.Forms.MenuStrip();
- this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.timer1 = new System.Windows.Forms.Timer(this.components);
- this.clientBox1 = new System.Windows.Forms.TextBox();
- this.btnStart = new System.Windows.Forms.Button();
- this.btnStop = new System.Windows.Forms.Button();
- this.rbGridRegionMode = new System.Windows.Forms.RadioButton();
- this.rbStandAloneMode = new System.Windows.Forms.RadioButton();
- this.rbGridServer = new System.Windows.Forms.RadioButton();
- this.Launch1 = new System.Windows.Forms.Button();
- this.gbLog = new System.Windows.Forms.GroupBox();
- this.tabLogs = new System.Windows.Forms.TabControl();
- this.tabMainLog = new System.Windows.Forms.TabPage();
- this.txtMainLog = new System.Windows.Forms.TextBox();
- this.tabRegionServer = new System.Windows.Forms.TabPage();
- this.txtInputRegionServer = new OpenSim.GUI.InputTextBoxControl();
- this.label1 = new System.Windows.Forms.Label();
- this.txtOpenSim = new System.Windows.Forms.TextBox();
- this.tabUserServer = new System.Windows.Forms.TabPage();
- this.txtInputUserServer = new OpenSim.GUI.InputTextBoxControl();
- this.label2 = new System.Windows.Forms.Label();
- this.txtUserServer = new System.Windows.Forms.TextBox();
- this.tabAssetServer = new System.Windows.Forms.TabPage();
- this.txtInputAssetServer = new OpenSim.GUI.InputTextBoxControl();
- this.label3 = new System.Windows.Forms.Label();
- this.txtAssetServer = new System.Windows.Forms.TextBox();
- this.tabGridServer = new System.Windows.Forms.TabPage();
- this.txtInputGridServer = new OpenSim.GUI.InputTextBoxControl();
- this.label4 = new System.Windows.Forms.Label();
- this.txtGridServer = new System.Windows.Forms.TextBox();
- this.label5 = new System.Windows.Forms.Label();
- this.noProbe1 = new System.Windows.Forms.CheckBox();
- this.label6 = new System.Windows.Forms.Label();
- this.multiple1 = new System.Windows.Forms.CheckBox();
- this.label7 = new System.Windows.Forms.Label();
- this.noMultiple1 = new System.Windows.Forms.CheckBox();
- this.ignorepixeldepth1 = new System.Windows.Forms.CheckBox();
- this.nothread1 = new System.Windows.Forms.CheckBox();
- this.safe1 = new System.Windows.Forms.CheckBox();
- this.noconsole1 = new System.Windows.Forms.CheckBox();
- this.log1 = new System.Windows.Forms.CheckBox();
- this.helperuri1 = new System.Windows.Forms.CheckBox();
- this.autologin1 = new System.Windows.Forms.CheckBox();
- this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
- this.dialog1 = new System.Windows.Forms.CheckBox();
- this.previous1 = new System.Windows.Forms.CheckBox();
- this.simple1 = new System.Windows.Forms.CheckBox();
- this.noinvlib1 = new System.Windows.Forms.CheckBox();
- this.debugst1 = new System.Windows.Forms.CheckBox();
- this.spanish1 = new System.Windows.Forms.CheckBox();
- this.korean1 = new System.Windows.Forms.CheckBox();
- this.local1 = new System.Windows.Forms.CheckBox();
- this.purge1 = new System.Windows.Forms.CheckBox();
- this.nofmod1 = new System.Windows.Forms.CheckBox();
- this.noaudio1 = new System.Windows.Forms.CheckBox();
- this.nosound1 = new System.Windows.Forms.CheckBox();
- this.url1 = new System.Windows.Forms.CheckBox();
- this.port1 = new System.Windows.Forms.CheckBox();
- this.simBox1 = new System.Windows.Forms.TextBox();
- this.portBox1 = new System.Windows.Forms.TextBox();
- this.user1 = new System.Windows.Forms.CheckBox();
- this.quitAfter1 = new System.Windows.Forms.CheckBox();
- this.techTag1 = new System.Windows.Forms.CheckBox();
- this.yield1 = new System.Windows.Forms.CheckBox();
- this.logfile1 = new System.Windows.Forms.CheckBox();
- this.settings1 = new System.Windows.Forms.CheckBox();
- this.outbw1 = new System.Windows.Forms.CheckBox();
- this.inbw1 = new System.Windows.Forms.CheckBox();
- this.drop1 = new System.Windows.Forms.CheckBox();
- this.dropBox1 = new System.Windows.Forms.TextBox();
- this.inbwBox1 = new System.Windows.Forms.TextBox();
- this.outbwBox1 = new System.Windows.Forms.TextBox();
- this.settingsBox1 = new System.Windows.Forms.TextBox();
- this.logfileBox1 = new System.Windows.Forms.TextBox();
- this.yieldBox1 = new System.Windows.Forms.TextBox();
- this.techtagBox1 = new System.Windows.Forms.TextBox();
- this.quitafterBox1 = new System.Windows.Forms.TextBox();
- this.comboBox1 = new System.Windows.Forms.ComboBox();
- this.loginuri1 = new System.Windows.Forms.CheckBox();
- this.loginuriBox1 = new System.Windows.Forms.TextBox();
- this.set1 = new System.Windows.Forms.CheckBox();
- this.setBox1 = new System.Windows.Forms.TextBox();
- this.errmask1 = new System.Windows.Forms.CheckBox();
- this.skin1 = new System.Windows.Forms.CheckBox();
- this.login1 = new System.Windows.Forms.CheckBox();
- this.errmaskBox1 = new System.Windows.Forms.TextBox();
- this.skinBox1 = new System.Windows.Forms.TextBox();
- this.firstBox1 = new System.Windows.Forms.TextBox();
- this.lastBox1 = new System.Windows.Forms.TextBox();
- this.noutc1 = new System.Windows.Forms.CheckBox();
- this.passBox1 = new System.Windows.Forms.TextBox();
- this.raw1 = new System.Windows.Forms.CheckBox();
- this.rawBox1 = new System.Windows.Forms.TextBox();
- this.clear1 = new System.Windows.Forms.Button();
- this.nataddress1 = new System.Windows.Forms.TextBox();
- this.label8 = new System.Windows.Forms.Label();
- this.label9 = new System.Windows.Forms.Label();
- this.exeBox1 = new System.Windows.Forms.TextBox();
- this.label10 = new System.Windows.Forms.Label();
- this.label11 = new System.Windows.Forms.Label();
- this.label12 = new System.Windows.Forms.Label();
- this.label13 = new System.Windows.Forms.Label();
- this.menuStrip1.SuspendLayout();
- this.gbLog.SuspendLayout();
- this.tabLogs.SuspendLayout();
- this.tabMainLog.SuspendLayout();
- this.tabRegionServer.SuspendLayout();
- this.tabUserServer.SuspendLayout();
- this.tabAssetServer.SuspendLayout();
- this.tabGridServer.SuspendLayout();
- this.SuspendLayout();
- //
- // menuStrip1
- //
- this.menuStrip1.AutoSize = false;
- this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.fileToolStripMenuItem});
- this.menuStrip1.Location = new System.Drawing.Point(0, 0);
- this.menuStrip1.Name = "menuStrip1";
- this.menuStrip1.Size = new System.Drawing.Size(900, 20);
- this.menuStrip1.TabIndex = 7;
- this.menuStrip1.Text = "menuStrip1";
- //
- // fileToolStripMenuItem
- //
- this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.exitToolStripMenuItem});
- this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
- this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 16);
- this.fileToolStripMenuItem.Text = "File";
- //
- // exitToolStripMenuItem
- //
- this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
- this.exitToolStripMenuItem.Size = new System.Drawing.Size(130, 22);
- this.exitToolStripMenuItem.Text = "Exit Cleanly";
- this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
- //
- // timer1
- //
- this.timer1.Enabled = true;
- //
- // clientBox1
- //
- this.clientBox1.Location = new System.Drawing.Point(680, 27);
- this.clientBox1.Name = "clientBox1";
- this.clientBox1.Size = new System.Drawing.Size(213, 20);
- this.clientBox1.TabIndex = 8;
- this.clientBox1.Text = "C://Secondlife//";
- //
- // btnStart
- //
- this.btnStart.Location = new System.Drawing.Point(7, 366);
- this.btnStart.Name = "btnStart";
- this.btnStart.Size = new System.Drawing.Size(80, 23);
- this.btnStart.TabIndex = 2;
- this.btnStart.Text = "Start";
- this.btnStart.UseVisualStyleBackColor = true;
- this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
- //
- // btnStop
- //
- this.btnStop.Location = new System.Drawing.Point(92, 366);
- this.btnStop.Name = "btnStop";
- this.btnStop.Size = new System.Drawing.Size(80, 23);
- this.btnStop.TabIndex = 3;
- this.btnStop.Text = "Stop";
- this.btnStop.UseVisualStyleBackColor = true;
- this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
- //
- // rbGridRegionMode
- //
- this.rbGridRegionMode.AutoSize = true;
- this.rbGridRegionMode.Location = new System.Drawing.Point(96, 27);
- this.rbGridRegionMode.Name = "rbGridRegionMode";
- this.rbGridRegionMode.Size = new System.Drawing.Size(76, 17);
- this.rbGridRegionMode.TabIndex = 4;
- this.rbGridRegionMode.Text = "Grid region";
- this.rbGridRegionMode.UseVisualStyleBackColor = true;
- this.rbGridRegionMode.CheckedChanged += new System.EventHandler(this.rbGridRegionMode_CheckedChanged);
- //
- // rbStandAloneMode
- //
- this.rbStandAloneMode.AutoSize = true;
- this.rbStandAloneMode.Checked = true;
- this.rbStandAloneMode.Location = new System.Drawing.Point(8, 27);
- this.rbStandAloneMode.Name = "rbStandAloneMode";
- this.rbStandAloneMode.Size = new System.Drawing.Size(82, 17);
- this.rbStandAloneMode.TabIndex = 5;
- this.rbStandAloneMode.TabStop = true;
- this.rbStandAloneMode.Text = "Stand alone";
- this.rbStandAloneMode.UseVisualStyleBackColor = true;
- this.rbStandAloneMode.CheckedChanged += new System.EventHandler(this.rbStandAloneMode_CheckedChanged);
- //
- // rbGridServer
- //
- this.rbGridServer.AutoSize = true;
- this.rbGridServer.Location = new System.Drawing.Point(178, 27);
- this.rbGridServer.Name = "rbGridServer";
- this.rbGridServer.Size = new System.Drawing.Size(76, 17);
- this.rbGridServer.TabIndex = 6;
- this.rbGridServer.Text = "Grid server";
- this.rbGridServer.UseVisualStyleBackColor = true;
- this.rbGridServer.CheckedChanged += new System.EventHandler(this.rbGridServer_CheckedChanged);
- //
- // Launch1
- //
- this.Launch1.Location = new System.Drawing.Point(264, 366);
- this.Launch1.Name = "Launch1";
- this.Launch1.Size = new System.Drawing.Size(80, 23);
- this.Launch1.TabIndex = 9;
- this.Launch1.Text = "Client Launch";
- this.Launch1.UseVisualStyleBackColor = true;
- this.Launch1.Click += new System.EventHandler(this.Launch1_Click);
- //
- // gbLog
- //
- this.gbLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.gbLog.Controls.Add(this.tabLogs);
- this.gbLog.Location = new System.Drawing.Point(8, 50);
- this.gbLog.Name = "gbLog";
- this.gbLog.Size = new System.Drawing.Size(345, 310);
- this.gbLog.TabIndex = 1;
- this.gbLog.TabStop = false;
- this.gbLog.Text = "Logs";
- //
- // tabLogs
- //
- this.tabLogs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.tabLogs.Controls.Add(this.tabMainLog);
- this.tabLogs.Controls.Add(this.tabRegionServer);
- this.tabLogs.Controls.Add(this.tabUserServer);
- this.tabLogs.Controls.Add(this.tabAssetServer);
- this.tabLogs.Controls.Add(this.tabGridServer);
- this.tabLogs.Location = new System.Drawing.Point(6, 19);
- this.tabLogs.Name = "tabLogs";
- this.tabLogs.SelectedIndex = 0;
- this.tabLogs.Size = new System.Drawing.Size(333, 285);
- this.tabLogs.TabIndex = 0;
- //
- // tabMainLog
- //
- this.tabMainLog.Controls.Add(this.txtMainLog);
- this.tabMainLog.Location = new System.Drawing.Point(4, 22);
- this.tabMainLog.Name = "tabMainLog";
- this.tabMainLog.Size = new System.Drawing.Size(325, 259);
- this.tabMainLog.TabIndex = 4;
- this.tabMainLog.Text = "Main log";
- this.tabMainLog.UseVisualStyleBackColor = true;
- //
- // txtMainLog
- //
- this.txtMainLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.txtMainLog.Location = new System.Drawing.Point(0, 0);
- this.txtMainLog.Multiline = true;
- this.txtMainLog.Name = "txtMainLog";
- this.txtMainLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtMainLog.Size = new System.Drawing.Size(325, 259);
- this.txtMainLog.TabIndex = 1;
- //
- // tabRegionServer
- //
- this.tabRegionServer.Controls.Add(this.txtInputRegionServer);
- this.tabRegionServer.Controls.Add(this.label1);
- this.tabRegionServer.Controls.Add(this.txtOpenSim);
- this.tabRegionServer.Location = new System.Drawing.Point(4, 22);
- this.tabRegionServer.Name = "tabRegionServer";
- this.tabRegionServer.Padding = new System.Windows.Forms.Padding(3);
- this.tabRegionServer.Size = new System.Drawing.Size(325, 259);
- this.tabRegionServer.TabIndex = 0;
- this.tabRegionServer.Text = "Region server";
- this.tabRegionServer.UseVisualStyleBackColor = true;
- //
- // txtInputRegionServer
- //
- this.txtInputRegionServer.Location = new System.Drawing.Point(53, 239);
- this.txtInputRegionServer.Name = "txtInputRegionServer";
- this.txtInputRegionServer.Size = new System.Drawing.Size(272, 20);
- this.txtInputRegionServer.TabIndex = 5;
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(0, 242);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(57, 13);
- this.label1.TabIndex = 4;
- this.label1.Text = "Command:";
- //
- // txtOpenSim
- //
- this.txtOpenSim.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.txtOpenSim.Location = new System.Drawing.Point(0, 0);
- this.txtOpenSim.Multiline = true;
- this.txtOpenSim.Name = "txtOpenSim";
- this.txtOpenSim.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtOpenSim.Size = new System.Drawing.Size(325, 236);
- this.txtOpenSim.TabIndex = 0;
- //
- // tabUserServer
- //
- this.tabUserServer.Controls.Add(this.txtInputUserServer);
- this.tabUserServer.Controls.Add(this.label2);
- this.tabUserServer.Controls.Add(this.txtUserServer);
- this.tabUserServer.Location = new System.Drawing.Point(4, 22);
- this.tabUserServer.Name = "tabUserServer";
- this.tabUserServer.Padding = new System.Windows.Forms.Padding(3);
- this.tabUserServer.Size = new System.Drawing.Size(325, 259);
- this.tabUserServer.TabIndex = 1;
- this.tabUserServer.Text = "User server";
- this.tabUserServer.UseVisualStyleBackColor = true;
- //
- // txtInputUserServer
- //
- this.txtInputUserServer.Location = new System.Drawing.Point(53, 239);
- this.txtInputUserServer.Name = "txtInputUserServer";
- this.txtInputUserServer.Size = new System.Drawing.Size(272, 20);
- this.txtInputUserServer.TabIndex = 7;
- //
- // label2
- //
- this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(0, 242);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(57, 13);
- this.label2.TabIndex = 6;
- this.label2.Text = "Command:";
- //
- // txtUserServer
- //
- this.txtUserServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.txtUserServer.Location = new System.Drawing.Point(0, 0);
- this.txtUserServer.Multiline = true;
- this.txtUserServer.Name = "txtUserServer";
- this.txtUserServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtUserServer.Size = new System.Drawing.Size(325, 236);
- this.txtUserServer.TabIndex = 1;
- //
- // tabAssetServer
- //
- this.tabAssetServer.Controls.Add(this.txtInputAssetServer);
- this.tabAssetServer.Controls.Add(this.label3);
- this.tabAssetServer.Controls.Add(this.txtAssetServer);
- this.tabAssetServer.Location = new System.Drawing.Point(4, 22);
- this.tabAssetServer.Name = "tabAssetServer";
- this.tabAssetServer.Size = new System.Drawing.Size(325, 259);
- this.tabAssetServer.TabIndex = 2;
- this.tabAssetServer.Text = "Asset server";
- this.tabAssetServer.UseVisualStyleBackColor = true;
- //
- // txtInputAssetServer
- //
- this.txtInputAssetServer.Location = new System.Drawing.Point(53, 239);
- this.txtInputAssetServer.Name = "txtInputAssetServer";
- this.txtInputAssetServer.Size = new System.Drawing.Size(272, 20);
- this.txtInputAssetServer.TabIndex = 7;
- //
- // label3
- //
- this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(0, 242);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(57, 13);
- this.label3.TabIndex = 6;
- this.label3.Text = "Command:";
- //
- // txtAssetServer
- //
- this.txtAssetServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.txtAssetServer.Location = new System.Drawing.Point(0, 0);
- this.txtAssetServer.Multiline = true;
- this.txtAssetServer.Name = "txtAssetServer";
- this.txtAssetServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtAssetServer.Size = new System.Drawing.Size(325, 236);
- this.txtAssetServer.TabIndex = 1;
- //
- // tabGridServer
- //
- this.tabGridServer.Controls.Add(this.txtInputGridServer);
- this.tabGridServer.Controls.Add(this.label4);
- this.tabGridServer.Controls.Add(this.txtGridServer);
- this.tabGridServer.Location = new System.Drawing.Point(4, 22);
- this.tabGridServer.Name = "tabGridServer";
- this.tabGridServer.Size = new System.Drawing.Size(325, 259);
- this.tabGridServer.TabIndex = 3;
- this.tabGridServer.Text = "Grid server";
- this.tabGridServer.UseVisualStyleBackColor = true;
- //
- // txtInputGridServer
- //
- this.txtInputGridServer.Location = new System.Drawing.Point(53, 239);
- this.txtInputGridServer.Name = "txtInputGridServer";
- this.txtInputGridServer.Size = new System.Drawing.Size(272, 20);
- this.txtInputGridServer.TabIndex = 7;
- //
- // label4
- //
- this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(0, 242);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(57, 13);
- this.label4.TabIndex = 6;
- this.label4.Text = "Command:";
- //
- // txtGridServer
- //
- this.txtGridServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.txtGridServer.Location = new System.Drawing.Point(0, 0);
- this.txtGridServer.Multiline = true;
- this.txtGridServer.Name = "txtGridServer";
- this.txtGridServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtGridServer.Size = new System.Drawing.Size(325, 236);
- this.txtGridServer.TabIndex = 1;
- //
- // label5
- //
- this.label5.AutoSize = true;
- this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label5.Location = new System.Drawing.Point(460, 55);
- this.label5.Name = "label5";
- this.label5.Size = new System.Drawing.Size(205, 20);
- this.label5.TabIndex = 11;
- this.label5.Text = "Command Line Switches";
- //
- // noProbe1
- //
- this.noProbe1.AutoSize = true;
- this.noProbe1.Location = new System.Drawing.Point(359, 275);
- this.noProbe1.Name = "noProbe1";
- this.noProbe1.Size = new System.Drawing.Size(68, 17);
- this.noProbe1.TabIndex = 12;
- this.noProbe1.Text = "-noprobe";
- this.toolTip1.SetToolTip(this.noProbe1, "disable hardware probe");
- this.noProbe1.UseVisualStyleBackColor = true;
- //
- // label6
- //
- this.label6.AutoSize = true;
- this.label6.Location = new System.Drawing.Point(8, 415);
- this.label6.Name = "label6";
- this.label6.Size = new System.Drawing.Size(0, 13);
- this.label6.TabIndex = 14;
- this.label6.Click += new System.EventHandler(this.label6_Click);
- //
- // multiple1
- //
- this.multiple1.AutoSize = true;
- this.multiple1.Location = new System.Drawing.Point(359, 185);
- this.multiple1.Name = "multiple1";
- this.multiple1.Size = new System.Drawing.Size(64, 17);
- this.multiple1.TabIndex = 15;
- this.multiple1.Text = "-multiple";
- this.toolTip1.SetToolTip(this.multiple1, "allow multiple viewers");
- this.multiple1.UseVisualStyleBackColor = true;
- //
- // label7
- //
- this.label7.AutoSize = true;
- this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label7.Location = new System.Drawing.Point(8, 396);
- this.label7.Name = "label7";
- this.label7.Size = new System.Drawing.Size(338, 13);
- this.label7.TabIndex = 16;
- this.label7.Text = "Client Command Line String Used and Program Messages :";
- //
- // noMultiple1
- //
- this.noMultiple1.AutoSize = true;
- this.noMultiple1.Location = new System.Drawing.Point(359, 260);
- this.noMultiple1.Name = "noMultiple1";
- this.noMultiple1.Size = new System.Drawing.Size(76, 17);
- this.noMultiple1.TabIndex = 17;
- this.noMultiple1.Text = "-nomultiple";
- this.toolTip1.SetToolTip(this.noMultiple1, "block multiple viewers (secondlife.exe instances)");
- this.noMultiple1.UseVisualStyleBackColor = true;
- //
- // ignorepixeldepth1
- //
- this.ignorepixeldepth1.AutoSize = true;
- this.ignorepixeldepth1.Location = new System.Drawing.Point(359, 125);
- this.ignorepixeldepth1.Name = "ignorepixeldepth1";
- this.ignorepixeldepth1.Size = new System.Drawing.Size(106, 17);
- this.ignorepixeldepth1.TabIndex = 18;
- this.ignorepixeldepth1.Text = "-ignorepixeldepth";
- this.toolTip1.SetToolTip(this.ignorepixeldepth1, "ignore pixel depth settings");
- this.ignorepixeldepth1.UseVisualStyleBackColor = true;
- //
- // nothread1
- //
- this.nothread1.AutoSize = true;
- this.nothread1.Location = new System.Drawing.Point(359, 305);
- this.nothread1.Name = "nothread1";
- this.nothread1.Size = new System.Drawing.Size(71, 17);
- this.nothread1.TabIndex = 19;
- this.nothread1.Text = "-nothread";
- this.toolTip1.SetToolTip(this.nothread1, "run VFS (Virtual File System) in single thread");
- this.nothread1.UseVisualStyleBackColor = true;
- //
- // safe1
- //
- this.safe1.AutoSize = true;
- this.safe1.Location = new System.Drawing.Point(359, 365);
- this.safe1.Name = "safe1";
- this.safe1.Size = new System.Drawing.Size(49, 17);
- this.safe1.TabIndex = 20;
- this.safe1.Text = "-safe";
- this.toolTip1.SetToolTip(this.safe1, "reset preferences, run in safe mode");
- this.safe1.UseVisualStyleBackColor = true;
- //
- // noconsole1
- //
- this.noconsole1.AutoSize = true;
- this.noconsole1.Location = new System.Drawing.Point(359, 215);
- this.noconsole1.Name = "noconsole1";
- this.noconsole1.Size = new System.Drawing.Size(78, 17);
- this.noconsole1.TabIndex = 21;
- this.noconsole1.Text = "-noconsole";
- this.toolTip1.SetToolTip(this.noconsole1, "hide the console if not already hidden");
- this.noconsole1.UseVisualStyleBackColor = true;
- //
- // log1
- //
- this.log1.AutoSize = true;
- this.log1.Location = new System.Drawing.Point(359, 170);
- this.log1.Name = "log1";
- this.log1.Size = new System.Drawing.Size(43, 17);
- this.log1.TabIndex = 22;
- this.log1.Text = "-log";
- this.toolTip1.SetToolTip(this.log1, "--no info avail--");
- this.log1.UseVisualStyleBackColor = true;
- //
- // helperuri1
- //
- this.helperuri1.AutoSize = true;
- this.helperuri1.Location = new System.Drawing.Point(359, 110);
- this.helperuri1.Name = "helperuri1";
- this.helperuri1.Size = new System.Drawing.Size(69, 17);
- this.helperuri1.TabIndex = 23;
- this.helperuri1.Text = "-helperuri";
- this.toolTip1.SetToolTip(this.helperuri1, "--no info avail--");
- this.helperuri1.UseVisualStyleBackColor = true;
- //
- // autologin1
- //
- this.autologin1.AutoSize = true;
- this.autologin1.Location = new System.Drawing.Point(359, 65);
- this.autologin1.Name = "autologin1";
- this.autologin1.Size = new System.Drawing.Size(75, 17);
- this.autologin1.TabIndex = 24;
- this.autologin1.Text = "--autologin";
- this.toolTip1.SetToolTip(this.autologin1, "--no info avail--");
- this.autologin1.UseVisualStyleBackColor = true;
- //
- // dialog1
- //
- this.dialog1.AutoSize = true;
- this.dialog1.Location = new System.Drawing.Point(359, 95);
- this.dialog1.Name = "dialog1";
- this.dialog1.Size = new System.Drawing.Size(57, 17);
- this.dialog1.TabIndex = 25;
- this.dialog1.Text = "-dialog";
- this.toolTip1.SetToolTip(this.dialog1, "some arcane dialog box that is impossible to raise");
- this.dialog1.UseVisualStyleBackColor = true;
- //
- // previous1
- //
- this.previous1.AutoSize = true;
- this.previous1.Location = new System.Drawing.Point(359, 335);
- this.previous1.Name = "previous1";
- this.previous1.Size = new System.Drawing.Size(69, 17);
- this.previous1.TabIndex = 26;
- this.previous1.Text = "-previous";
- this.toolTip1.SetToolTip(this.previous1, "--no info avail--");
- this.previous1.UseVisualStyleBackColor = true;
- //
- // simple1
- //
- this.simple1.AutoSize = true;
- this.simple1.Location = new System.Drawing.Point(359, 380);
- this.simple1.Name = "simple1";
- this.simple1.Size = new System.Drawing.Size(58, 17);
- this.simple1.TabIndex = 27;
- this.simple1.Text = "-simple";
- this.toolTip1.SetToolTip(this.simple1, "--no info avail--");
- this.simple1.UseVisualStyleBackColor = true;
- //
- // noinvlib1
- //
- this.noinvlib1.AutoSize = true;
- this.noinvlib1.Location = new System.Drawing.Point(359, 245);
- this.noinvlib1.Name = "noinvlib1";
- this.noinvlib1.Size = new System.Drawing.Size(65, 17);
- this.noinvlib1.TabIndex = 28;
- this.noinvlib1.Text = "-noinvlib";
- this.toolTip1.SetToolTip(this.noinvlib1, "do not request inventory library");
- this.noinvlib1.UseVisualStyleBackColor = true;
- //
- // debugst1
- //
- this.debugst1.AutoSize = true;
- this.debugst1.Location = new System.Drawing.Point(359, 80);
- this.debugst1.Name = "debugst1";
- this.debugst1.Size = new System.Drawing.Size(67, 17);
- this.debugst1.TabIndex = 30;
- this.debugst1.Text = "-debugst";
- this.toolTip1.SetToolTip(this.debugst1, "debug mask");
- this.debugst1.UseVisualStyleBackColor = true;
- //
- // spanish1
- //
- this.spanish1.AutoSize = true;
- this.spanish1.Location = new System.Drawing.Point(359, 395);
- this.spanish1.Name = "spanish1";
- this.spanish1.Size = new System.Drawing.Size(65, 17);
- this.spanish1.TabIndex = 31;
- this.spanish1.Text = "-spanish";
- this.toolTip1.SetToolTip(this.spanish1, "activate (incomplete) Spanish UI translation");
- this.spanish1.UseVisualStyleBackColor = true;
- //
- // korean1
- //
- this.korean1.AutoSize = true;
- this.korean1.Location = new System.Drawing.Point(359, 140);
- this.korean1.Name = "korean1";
- this.korean1.Size = new System.Drawing.Size(62, 17);
- this.korean1.TabIndex = 32;
- this.korean1.Text = "-korean";
- this.toolTip1.SetToolTip(this.korean1, "activate (incomplete) Korean UI translation");
- this.korean1.UseVisualStyleBackColor = true;
- //
- // local1
- //
- this.local1.AutoSize = true;
- this.local1.Location = new System.Drawing.Point(359, 155);
- this.local1.Name = "local1";
- this.local1.Size = new System.Drawing.Size(51, 17);
- this.local1.TabIndex = 46;
- this.local1.Text = "-local";
- this.toolTip1.SetToolTip(this.local1, "run without simulator");
- this.local1.UseVisualStyleBackColor = true;
- //
- // purge1
- //
- this.purge1.AutoSize = true;
- this.purge1.Location = new System.Drawing.Point(359, 350);
- this.purge1.Name = "purge1";
- this.purge1.Size = new System.Drawing.Size(56, 17);
- this.purge1.TabIndex = 56;
- this.purge1.Text = "-purge";
- this.toolTip1.SetToolTip(this.purge1, "delete files in cache");
- this.purge1.UseVisualStyleBackColor = true;
- //
- // nofmod1
- //
- this.nofmod1.AutoSize = true;
- this.nofmod1.Location = new System.Drawing.Point(359, 230);
- this.nofmod1.Name = "nofmod1";
- this.nofmod1.Size = new System.Drawing.Size(64, 17);
- this.nofmod1.TabIndex = 45;
- this.nofmod1.Text = "-nofmod";
- this.toolTip1.SetToolTip(this.nofmod1, "FMOD is the API used to distort sound while moving");
- this.nofmod1.UseVisualStyleBackColor = true;
- //
- // noaudio1
- //
- this.noaudio1.AutoSize = true;
- this.noaudio1.Location = new System.Drawing.Point(359, 200);
- this.noaudio1.Name = "noaudio1";
- this.noaudio1.Size = new System.Drawing.Size(67, 17);
- this.noaudio1.TabIndex = 44;
- this.noaudio1.Text = "-noaudio";
- this.toolTip1.SetToolTip(this.noaudio1, "no audio, different from -nosound?");
- this.noaudio1.UseVisualStyleBackColor = true;
- //
- // nosound1
- //
- this.nosound1.AutoSize = true;
- this.nosound1.Location = new System.Drawing.Point(359, 290);
- this.nosound1.Name = "nosound1";
- this.nosound1.Size = new System.Drawing.Size(70, 17);
- this.nosound1.TabIndex = 55;
- this.nosound1.Text = "-nosound";
- this.toolTip1.SetToolTip(this.nosound1, "no sound, different from -noaudio?");
- this.nosound1.UseVisualStyleBackColor = true;
- //
- // url1
- //
- this.url1.AutoSize = true;
- this.url1.Location = new System.Drawing.Point(488, 245);
- this.url1.Name = "url1";
- this.url1.Size = new System.Drawing.Size(40, 17);
- this.url1.TabIndex = 43;
- this.url1.Text = "-url";
- this.toolTip1.SetToolTip(this.url1, "handles secondlife://sim/x/y/z URLs");
- this.url1.UseVisualStyleBackColor = true;
- //
- // port1
- //
- this.port1.AutoSize = true;
- this.port1.Location = new System.Drawing.Point(488, 171);
- this.port1.Name = "port1";
- this.port1.Size = new System.Drawing.Size(47, 17);
- this.port1.TabIndex = 49;
- this.port1.Text = "-port";
- this.toolTip1.SetToolTip(this.port1, "Set the TCP port for the client; useful to run multiple instances of SL on the sa" +
- "me local home network. Values that may work: 13000 and 13001 (Valid numbers are " +
- "13000 to 13050)");
- this.port1.UseVisualStyleBackColor = true;
- //
- // simBox1
- //
- this.simBox1.Location = new System.Drawing.Point(549, 243);
- this.simBox1.Name = "simBox1";
- this.simBox1.Size = new System.Drawing.Size(344, 20);
- this.simBox1.TabIndex = 66;
- this.simBox1.Text = "secondlife://lutra/127/128/60";
- this.toolTip1.SetToolTip(this.simBox1, "type URL here");
- //
- // portBox1
- //
- this.portBox1.Location = new System.Drawing.Point(549, 169);
- this.portBox1.Name = "portBox1";
- this.portBox1.Size = new System.Drawing.Size(58, 20);
- this.portBox1.TabIndex = 67;
- this.portBox1.Text = "13000";
- this.toolTip1.SetToolTip(this.portBox1, "enter port number here");
- //
- // user1
- //
- this.user1.AutoSize = true;
- this.user1.Location = new System.Drawing.Point(488, 191);
- this.user1.Name = "user1";
- this.user1.Size = new System.Drawing.Size(49, 17);
- this.user1.TabIndex = 42;
- this.user1.Text = "-user";
- this.user1.ThreeState = true;
- this.toolTip1.SetToolTip(this.user1, "specify user server in dotted quad");
- this.user1.UseVisualStyleBackColor = true;
- //
- // quitAfter1
- //
- this.quitAfter1.AutoSize = true;
- this.quitAfter1.Location = new System.Drawing.Point(680, 65);
- this.quitAfter1.Name = "quitAfter1";
- this.quitAfter1.Size = new System.Drawing.Size(67, 17);
- this.quitAfter1.TabIndex = 41;
- this.quitAfter1.Text = "-quitafter";
- this.toolTip1.SetToolTip(this.quitAfter1, "SL quits after elapsed time in seconds");
- this.quitAfter1.UseVisualStyleBackColor = true;
- //
- // techTag1
- //
- this.techTag1.AutoSize = true;
- this.techTag1.Location = new System.Drawing.Point(488, 211);
- this.techTag1.Name = "techTag1";
- this.techTag1.Size = new System.Drawing.Size(65, 17);
- this.techTag1.TabIndex = 47;
- this.techTag1.Text = "-techtag";
- this.toolTip1.SetToolTip(this.techTag1, "unknown (but requires a parameter)");
- this.techTag1.UseVisualStyleBackColor = true;
- //
- // yield1
- //
- this.yield1.AutoSize = true;
- this.yield1.Location = new System.Drawing.Point(488, 91);
- this.yield1.Name = "yield1";
- this.yield1.Size = new System.Drawing.Size(50, 17);
- this.yield1.TabIndex = 48;
- this.yield1.Text = "-yield";
- this.toolTip1.SetToolTip(this.yield1, "yield some idle time to local host (changed from - cooperative)");
- this.yield1.UseVisualStyleBackColor = true;
- //
- // logfile1
- //
- this.logfile1.AutoSize = true;
- this.logfile1.Location = new System.Drawing.Point(680, 125);
- this.logfile1.Name = "logfile1";
- this.logfile1.Size = new System.Drawing.Size(56, 17);
- this.logfile1.TabIndex = 54;
- this.logfile1.Text = "-logfile";
- this.toolTip1.SetToolTip(this.logfile1, "change the log filename");
- this.logfile1.UseVisualStyleBackColor = true;
- //
- // settings1
- //
- this.settings1.AutoSize = true;
- this.settings1.Location = new System.Drawing.Point(680, 95);
- this.settings1.Name = "settings1";
- this.settings1.Size = new System.Drawing.Size(65, 17);
- this.settings1.TabIndex = 53;
- this.settings1.Text = "-settings";
- this.toolTip1.SetToolTip(this.settings1, "specify configuration filename; default is \"settings.ini\"");
- this.settings1.UseVisualStyleBackColor = true;
- //
- // outbw1
- //
- this.outbw1.AutoSize = true;
- this.outbw1.Location = new System.Drawing.Point(488, 111);
- this.outbw1.Name = "outbw1";
- this.outbw1.Size = new System.Drawing.Size(58, 17);
- this.outbw1.TabIndex = 52;
- this.outbw1.Text = "-outbw";
- this.toolTip1.SetToolTip(this.outbw1, "set outgoing bandwidth");
- this.outbw1.UseVisualStyleBackColor = true;
- //
- // inbw1
- //
- this.inbw1.AutoSize = true;
- this.inbw1.Location = new System.Drawing.Point(488, 131);
- this.inbw1.Name = "inbw1";
- this.inbw1.Size = new System.Drawing.Size(51, 17);
- this.inbw1.TabIndex = 51;
- this.inbw1.Text = "-inbw";
- this.toolTip1.SetToolTip(this.inbw1, "set incoming bandwidth");
- this.inbw1.UseVisualStyleBackColor = true;
- //
- // drop1
- //
- this.drop1.AutoSize = true;
- this.drop1.Location = new System.Drawing.Point(488, 151);
- this.drop1.Name = "drop1";
- this.drop1.Size = new System.Drawing.Size(50, 17);
- this.drop1.TabIndex = 50;
- this.drop1.Text = "-drop";
- this.toolTip1.SetToolTip(this.drop1, "drop number% of incoming network packets");
- this.drop1.UseVisualStyleBackColor = true;
- //
- // dropBox1
- //
- this.dropBox1.Location = new System.Drawing.Point(549, 149);
- this.dropBox1.Name = "dropBox1";
- this.dropBox1.Size = new System.Drawing.Size(58, 20);
- this.dropBox1.TabIndex = 68;
- this.dropBox1.Text = "0";
- this.toolTip1.SetToolTip(this.dropBox1, "enter percent of packets to drop");
- //
- // inbwBox1
- //
- this.inbwBox1.Location = new System.Drawing.Point(549, 129);
- this.inbwBox1.Name = "inbwBox1";
- this.inbwBox1.Size = new System.Drawing.Size(57, 20);
- this.inbwBox1.TabIndex = 69;
- this.toolTip1.SetToolTip(this.inbwBox1, "enter incoming cap");
- //
- // outbwBox1
- //
- this.outbwBox1.Location = new System.Drawing.Point(549, 109);
- this.outbwBox1.Name = "outbwBox1";
- this.outbwBox1.Size = new System.Drawing.Size(58, 20);
- this.outbwBox1.TabIndex = 70;
- this.toolTip1.SetToolTip(this.outbwBox1, "enter outgoing cap");
- //
- // settingsBox1
- //
- this.settingsBox1.Location = new System.Drawing.Point(741, 93);
- this.settingsBox1.Name = "settingsBox1";
- this.settingsBox1.Size = new System.Drawing.Size(152, 20);
- this.settingsBox1.TabIndex = 71;
- this.settingsBox1.Text = "settings.ini";
- this.toolTip1.SetToolTip(this.settingsBox1, "enter settings file name");
- //
- // logfileBox1
- //
- this.logfileBox1.Location = new System.Drawing.Point(733, 123);
- this.logfileBox1.Name = "logfileBox1";
- this.logfileBox1.Size = new System.Drawing.Size(160, 20);
- this.logfileBox1.TabIndex = 72;
- this.logfileBox1.Text = "mylogfile.txt";
- this.toolTip1.SetToolTip(this.logfileBox1, "enter log file name here");
- //
- // yieldBox1
- //
- this.yieldBox1.Location = new System.Drawing.Point(549, 89);
- this.yieldBox1.Name = "yieldBox1";
- this.yieldBox1.Size = new System.Drawing.Size(58, 20);
- this.yieldBox1.TabIndex = 73;
- this.toolTip1.SetToolTip(this.yieldBox1, "enter time to yield in ");
- //
- // techtagBox1
- //
- this.techtagBox1.Location = new System.Drawing.Point(549, 209);
- this.techtagBox1.Name = "techtagBox1";
- this.techtagBox1.Size = new System.Drawing.Size(58, 20);
- this.techtagBox1.TabIndex = 74;
- this.toolTip1.SetToolTip(this.techtagBox1, "enter unknown param here");
- //
- // quitafterBox1
- //
- this.quitafterBox1.Location = new System.Drawing.Point(745, 63);
- this.quitafterBox1.Name = "quitafterBox1";
- this.quitafterBox1.Size = new System.Drawing.Size(148, 20);
- this.quitafterBox1.TabIndex = 75;
- this.toolTip1.SetToolTip(this.quitafterBox1, "enter time in seconds");
- //
- // comboBox1
- //
- this.comboBox1.FormattingEnabled = true;
- this.comboBox1.Items.AddRange(new object[] {
- "agni",
- "colo",
- "dmz",
- "durga",
- "siva"});
- this.comboBox1.Location = new System.Drawing.Point(549, 189);
- this.comboBox1.Name = "comboBox1";
- this.comboBox1.Size = new System.Drawing.Size(58, 21);
- this.comboBox1.TabIndex = 76;
- this.comboBox1.Text = "agni";
- this.toolTip1.SetToolTip(this.comboBox1, "select LL user server");
- //
- // loginuri1
- //
- this.loginuri1.AutoSize = true;
- this.loginuri1.Location = new System.Drawing.Point(488, 275);
- this.loginuri1.Name = "loginuri1";
- this.loginuri1.Size = new System.Drawing.Size(62, 17);
- this.loginuri1.TabIndex = 77;
- this.loginuri1.Text = "-loginuri";
- this.toolTip1.SetToolTip(this.loginuri1, "login server and CGI script to use");
- this.loginuri1.UseVisualStyleBackColor = true;
- //
- // loginuriBox1
- //
- this.loginuriBox1.Location = new System.Drawing.Point(549, 273);
- this.loginuriBox1.Name = "loginuriBox1";
- this.loginuriBox1.Size = new System.Drawing.Size(344, 20);
- this.loginuriBox1.TabIndex = 78;
- this.loginuriBox1.Text = "localhost:9000";
- this.toolTip1.SetToolTip(this.loginuriBox1, "enter login url here");
- //
- // set1
- //
- this.set1.AutoSize = true;
- this.set1.Location = new System.Drawing.Point(636, 185);
- this.set1.Name = "set1";
- this.set1.Size = new System.Drawing.Size(43, 17);
- this.set1.TabIndex = 79;
- this.set1.Text = "-set";
- this.toolTip1.SetToolTip(this.set1, "specify value of a particular configuration variable; can be used multiple times " +
- "in a single command-line");
- this.set1.UseVisualStyleBackColor = true;
- //
- // setBox1
- //
- this.setBox1.Location = new System.Drawing.Point(680, 183);
- this.setBox1.Name = "setBox1";
- this.setBox1.Size = new System.Drawing.Size(213, 20);
- this.setBox1.TabIndex = 80;
- this.setBox1.Text = "SystemLanguage en-us";
- this.toolTip1.SetToolTip(this.setBox1, "enter params");
- //
- // errmask1
- //
- this.errmask1.AutoSize = true;
- this.errmask1.Location = new System.Drawing.Point(636, 154);
- this.errmask1.Name = "errmask1";
- this.errmask1.Size = new System.Drawing.Size(66, 17);
- this.errmask1.TabIndex = 81;
- this.errmask1.Text = "-errmask";
- this.toolTip1.SetToolTip(this.errmask1, "32-bit bitmask for error type mask");
- this.errmask1.UseVisualStyleBackColor = true;
- //
- // skin1
- //
- this.skin1.AutoSize = true;
- this.skin1.Location = new System.Drawing.Point(635, 215);
- this.skin1.Name = "skin1";
- this.skin1.Size = new System.Drawing.Size(48, 17);
- this.skin1.TabIndex = 82;
- this.skin1.Text = "-skin";
- this.toolTip1.SetToolTip(this.skin1, "load skins//skin.xml as the default UI appearance (incomplete)");
- this.skin1.UseVisualStyleBackColor = true;
- //
- // login1
- //
- this.login1.AutoSize = true;
- this.login1.Location = new System.Drawing.Point(457, 304);
- this.login1.Name = "login1";
- this.login1.Size = new System.Drawing.Size(51, 17);
- this.login1.TabIndex = 83;
- this.login1.Text = "-login";
- this.toolTip1.SetToolTip(this.login1, "log in as a user");
- this.login1.UseVisualStyleBackColor = true;
- //
- // errmaskBox1
- //
- this.errmaskBox1.Location = new System.Drawing.Point(704, 153);
- this.errmaskBox1.Name = "errmaskBox1";
- this.errmaskBox1.Size = new System.Drawing.Size(189, 20);
- this.errmaskBox1.TabIndex = 84;
- this.toolTip1.SetToolTip(this.errmaskBox1, "32-bit bitmask for error type mask");
- //
- // skinBox1
- //
- this.skinBox1.Location = new System.Drawing.Point(679, 213);
- this.skinBox1.Name = "skinBox1";
- this.skinBox1.Size = new System.Drawing.Size(214, 20);
- this.skinBox1.TabIndex = 85;
- this.skinBox1.Text = "C://Secondlife//";
- this.toolTip1.SetToolTip(this.skinBox1, "enter directory where skin.xml is");
- //
- // firstBox1
- //
- this.firstBox1.Location = new System.Drawing.Point(549, 303);
- this.firstBox1.Name = "firstBox1";
- this.firstBox1.Size = new System.Drawing.Size(80, 20);
- this.firstBox1.TabIndex = 86;
- this.firstBox1.Text = "Test";
- this.toolTip1.SetToolTip(this.firstBox1, "firstname");
- //
- // lastBox1
- //
- this.lastBox1.Location = new System.Drawing.Point(668, 303);
- this.lastBox1.Name = "lastBox1";
- this.lastBox1.Size = new System.Drawing.Size(80, 20);
- this.lastBox1.TabIndex = 92;
- this.lastBox1.Text = "User";
- this.toolTip1.SetToolTip(this.lastBox1, "lastname");
- //
- // noutc1
- //
- this.noutc1.AutoSize = true;
- this.noutc1.Location = new System.Drawing.Point(359, 320);
- this.noutc1.Name = "noutc1";
- this.noutc1.Size = new System.Drawing.Size(56, 17);
- this.noutc1.TabIndex = 29;
- this.noutc1.Text = "-noutc";
- this.toolTip1.SetToolTip(this.noutc1, "logs in local time, not UTC");
- this.noutc1.UseVisualStyleBackColor = true;
- //
- // passBox1
- //
- this.passBox1.Location = new System.Drawing.Point(790, 303);
- this.passBox1.Name = "passBox1";
- this.passBox1.Size = new System.Drawing.Size(103, 20);
- this.passBox1.TabIndex = 93;
- this.passBox1.Text = "test";
- this.toolTip1.SetToolTip(this.passBox1, "password");
- //
- // raw1
- //
- this.raw1.AutoSize = true;
- this.raw1.Location = new System.Drawing.Point(457, 336);
- this.raw1.Name = "raw1";
- this.raw1.Size = new System.Drawing.Size(81, 17);
- this.raw1.TabIndex = 94;
- this.raw1.Text = "Raw CMD :";
- this.toolTip1.SetToolTip(this.raw1, "Raw CMD options, may crash everything");
- this.raw1.UseVisualStyleBackColor = true;
- //
- // rawBox1
- //
- this.rawBox1.Location = new System.Drawing.Point(549, 333);
- this.rawBox1.Name = "rawBox1";
- this.rawBox1.Size = new System.Drawing.Size(344, 20);
- this.rawBox1.TabIndex = 95;
- this.toolTip1.SetToolTip(this.rawBox1, "Raw CMD options, may crash everything");
- //
- // clear1
- //
- this.clear1.Location = new System.Drawing.Point(178, 366);
- this.clear1.Name = "clear1";
- this.clear1.Size = new System.Drawing.Size(80, 23);
- this.clear1.TabIndex = 96;
- this.clear1.Text = "Clear";
- this.toolTip1.SetToolTip(this.clear1, "clear all switch boxes");
- this.clear1.UseVisualStyleBackColor = true;
- this.clear1.Click += new System.EventHandler(this.clear1_Click);
- //
- // nataddress1
- //
- this.nataddress1.Location = new System.Drawing.Point(457, 389);
- this.nataddress1.Name = "nataddress1";
- this.nataddress1.Size = new System.Drawing.Size(436, 20);
- this.nataddress1.TabIndex = 58;
- this.nataddress1.Text = "UNUSED ATM";
- this.nataddress1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
- //
- // label8
- //
- this.label8.AutoSize = true;
- this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label8.Location = new System.Drawing.Point(588, 360);
- this.label8.Name = "label8";
- this.label8.Size = new System.Drawing.Size(175, 20);
- this.label8.TabIndex = 59;
- this.label8.Text = "World/NAT Address :";
- //
- // label9
- //
- this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label9.Location = new System.Drawing.Point(633, 27);
- this.label9.Name = "label9";
- this.label9.Size = new System.Drawing.Size(47, 20);
- this.label9.TabIndex = 60;
- this.label9.Text = "Path :";
- this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- //
- // exeBox1
- //
- this.exeBox1.Location = new System.Drawing.Point(530, 27);
- this.exeBox1.Name = "exeBox1";
- this.exeBox1.Size = new System.Drawing.Size(100, 20);
- this.exeBox1.TabIndex = 61;
- this.exeBox1.Text = "Secondlife.exe";
- //
- // label10
- //
- this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label10.Location = new System.Drawing.Point(392, 27);
- this.label10.Name = "label10";
- this.label10.Size = new System.Drawing.Size(138, 20);
- this.label10.TabIndex = 62;
- this.label10.Text = "Executable Name :";
- this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- //
- // label11
- //
- this.label11.AutoSize = true;
- this.label11.Location = new System.Drawing.Point(514, 306);
- this.label11.Name = "label11";
- this.label11.Size = new System.Drawing.Size(32, 13);
- this.label11.TabIndex = 89;
- this.label11.Text = "First :";
- //
- // label12
- //
- this.label12.AutoSize = true;
- this.label12.Location = new System.Drawing.Point(632, 306);
- this.label12.Name = "label12";
- this.label12.Size = new System.Drawing.Size(33, 13);
- this.label12.TabIndex = 90;
- this.label12.Text = "Last :";
- //
- // label13
- //
- this.label13.AutoSize = true;
- this.label13.Location = new System.Drawing.Point(751, 306);
- this.label13.Name = "label13";
- this.label13.Size = new System.Drawing.Size(36, 13);
- this.label13.TabIndex = 91;
- this.label13.Text = "Pass :";
- //
- // Main
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(900, 431);
- this.Controls.Add(this.clear1);
- this.Controls.Add(this.rawBox1);
- this.Controls.Add(this.raw1);
- this.Controls.Add(this.passBox1);
- this.Controls.Add(this.lastBox1);
- this.Controls.Add(this.label13);
- this.Controls.Add(this.label12);
- this.Controls.Add(this.label11);
- this.Controls.Add(this.firstBox1);
- this.Controls.Add(this.skinBox1);
- this.Controls.Add(this.errmaskBox1);
- this.Controls.Add(this.login1);
- this.Controls.Add(this.skin1);
- this.Controls.Add(this.errmask1);
- this.Controls.Add(this.setBox1);
- this.Controls.Add(this.set1);
- this.Controls.Add(this.loginuriBox1);
- this.Controls.Add(this.loginuri1);
- this.Controls.Add(this.comboBox1);
- this.Controls.Add(this.quitafterBox1);
- this.Controls.Add(this.techtagBox1);
- this.Controls.Add(this.yieldBox1);
- this.Controls.Add(this.logfileBox1);
- this.Controls.Add(this.settingsBox1);
- this.Controls.Add(this.outbwBox1);
- this.Controls.Add(this.inbwBox1);
- this.Controls.Add(this.dropBox1);
- this.Controls.Add(this.portBox1);
- this.Controls.Add(this.simBox1);
- this.Controls.Add(this.label10);
- this.Controls.Add(this.exeBox1);
- this.Controls.Add(this.label9);
- this.Controls.Add(this.label8);
- this.Controls.Add(this.nataddress1);
- this.Controls.Add(this.purge1);
- this.Controls.Add(this.nosound1);
- this.Controls.Add(this.logfile1);
- this.Controls.Add(this.settings1);
- this.Controls.Add(this.outbw1);
- this.Controls.Add(this.inbw1);
- this.Controls.Add(this.drop1);
- this.Controls.Add(this.port1);
- this.Controls.Add(this.yield1);
- this.Controls.Add(this.techTag1);
- this.Controls.Add(this.local1);
- this.Controls.Add(this.nofmod1);
- this.Controls.Add(this.noaudio1);
- this.Controls.Add(this.url1);
- this.Controls.Add(this.user1);
- this.Controls.Add(this.quitAfter1);
- this.Controls.Add(this.korean1);
- this.Controls.Add(this.spanish1);
- this.Controls.Add(this.debugst1);
- this.Controls.Add(this.noutc1);
- this.Controls.Add(this.noinvlib1);
- this.Controls.Add(this.simple1);
- this.Controls.Add(this.previous1);
- this.Controls.Add(this.dialog1);
- this.Controls.Add(this.autologin1);
- this.Controls.Add(this.helperuri1);
- this.Controls.Add(this.log1);
- this.Controls.Add(this.noconsole1);
- this.Controls.Add(this.safe1);
- this.Controls.Add(this.nothread1);
- this.Controls.Add(this.ignorepixeldepth1);
- this.Controls.Add(this.noMultiple1);
- this.Controls.Add(this.label7);
- this.Controls.Add(this.multiple1);
- this.Controls.Add(this.label6);
- this.Controls.Add(this.noProbe1);
- this.Controls.Add(this.label5);
- this.Controls.Add(this.Launch1);
- this.Controls.Add(this.clientBox1);
- this.Controls.Add(this.rbGridServer);
- this.Controls.Add(this.rbStandAloneMode);
- this.Controls.Add(this.rbGridRegionMode);
- this.Controls.Add(this.btnStop);
- this.Controls.Add(this.btnStart);
- this.Controls.Add(this.gbLog);
- this.Controls.Add(this.menuStrip1);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
- this.MainMenuStrip = this.menuStrip1;
- this.MaximizeBox = false;
- this.Name = "Main";
- this.Text = "OpenSim";
- this.toolTip1.SetToolTip(this, "logs in local time, not UTC");
- this.Load += new System.EventHandler(this.Main_Load);
- this.menuStrip1.ResumeLayout(false);
- this.menuStrip1.PerformLayout();
- this.gbLog.ResumeLayout(false);
- this.tabLogs.ResumeLayout(false);
- this.tabMainLog.ResumeLayout(false);
- this.tabMainLog.PerformLayout();
- this.tabRegionServer.ResumeLayout(false);
- this.tabRegionServer.PerformLayout();
- this.tabUserServer.ResumeLayout(false);
- this.tabUserServer.PerformLayout();
- this.tabAssetServer.ResumeLayout(false);
- this.tabAssetServer.PerformLayout();
- this.tabGridServer.ResumeLayout(false);
- this.tabGridServer.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.MenuStrip menuStrip1;
- private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
- private System.Windows.Forms.Timer timer1;
- private System.Windows.Forms.TextBox clientBox1;
- private System.Windows.Forms.Button btnStart;
- private System.Windows.Forms.Button btnStop;
- private System.Windows.Forms.RadioButton rbGridRegionMode;
- private System.Windows.Forms.RadioButton rbStandAloneMode;
- private System.Windows.Forms.RadioButton rbGridServer;
- private System.Windows.Forms.Button Launch1;
- private System.Windows.Forms.GroupBox gbLog;
- private System.Windows.Forms.TabControl tabLogs;
- private System.Windows.Forms.TabPage tabMainLog;
- private System.Windows.Forms.TabPage tabRegionServer;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.TextBox txtOpenSim;
- private System.Windows.Forms.TabPage tabUserServer;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox txtUserServer;
- private System.Windows.Forms.TabPage tabAssetServer;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox txtAssetServer;
- private System.Windows.Forms.TabPage tabGridServer;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.TextBox txtGridServer;
- private System.Windows.Forms.TextBox txtMainLog;
- private System.Windows.Forms.Label label5;
- private System.Windows.Forms.CheckBox noProbe1;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.CheckBox multiple1;
- private System.Windows.Forms.Label label7;
- private System.Windows.Forms.CheckBox noMultiple1;
- private System.Windows.Forms.CheckBox ignorepixeldepth1;
- private System.Windows.Forms.CheckBox nothread1;
- private System.Windows.Forms.CheckBox safe1;
- private System.Windows.Forms.CheckBox noconsole1;
- private System.Windows.Forms.CheckBox log1;
- private System.Windows.Forms.CheckBox helperuri1;
- private System.Windows.Forms.CheckBox autologin1;
- private System.Windows.Forms.ToolTip toolTip1;
- private System.Windows.Forms.CheckBox dialog1;
- private System.Windows.Forms.CheckBox previous1;
- private System.Windows.Forms.CheckBox simple1;
- private System.Windows.Forms.CheckBox noinvlib1;
- private System.Windows.Forms.CheckBox noutc1;
- private System.Windows.Forms.CheckBox debugst1;
- private System.Windows.Forms.CheckBox spanish1;
- private System.Windows.Forms.CheckBox korean1;
- private System.Windows.Forms.CheckBox local1;
- private System.Windows.Forms.CheckBox nofmod1;
- private System.Windows.Forms.CheckBox noaudio1;
- private System.Windows.Forms.CheckBox url1;
- private System.Windows.Forms.CheckBox user1;
- private System.Windows.Forms.CheckBox quitAfter1;
- private System.Windows.Forms.CheckBox techTag1;
- private System.Windows.Forms.CheckBox yield1;
- private System.Windows.Forms.CheckBox purge1;
- private System.Windows.Forms.CheckBox nosound1;
- private System.Windows.Forms.CheckBox logfile1;
- private System.Windows.Forms.CheckBox settings1;
- private System.Windows.Forms.CheckBox outbw1;
- private System.Windows.Forms.CheckBox inbw1;
- private System.Windows.Forms.CheckBox drop1;
- private System.Windows.Forms.CheckBox port1;
- private System.Windows.Forms.TextBox nataddress1;
- private System.Windows.Forms.Label label8;
- private System.Windows.Forms.Label label9;
- private System.Windows.Forms.TextBox exeBox1;
- private System.Windows.Forms.Label label10;
- private System.Windows.Forms.TextBox simBox1;
- private System.Windows.Forms.TextBox portBox1;
- private System.Windows.Forms.TextBox dropBox1;
- private System.Windows.Forms.TextBox inbwBox1;
- private System.Windows.Forms.TextBox outbwBox1;
- private System.Windows.Forms.TextBox settingsBox1;
- private System.Windows.Forms.TextBox logfileBox1;
- private System.Windows.Forms.TextBox yieldBox1;
- private System.Windows.Forms.TextBox techtagBox1;
- private System.Windows.Forms.TextBox quitafterBox1;
- private System.Windows.Forms.ComboBox comboBox1;
- private System.Windows.Forms.CheckBox loginuri1;
- private System.Windows.Forms.TextBox loginuriBox1;
- private System.Windows.Forms.CheckBox set1;
- private System.Windows.Forms.TextBox setBox1;
- private System.Windows.Forms.CheckBox errmask1;
- private System.Windows.Forms.CheckBox skin1;
- private System.Windows.Forms.CheckBox login1;
- private System.Windows.Forms.TextBox errmaskBox1;
- private System.Windows.Forms.TextBox skinBox1;
- private System.Windows.Forms.TextBox firstBox1;
- private System.Windows.Forms.Label label11;
- private System.Windows.Forms.Label label12;
- private System.Windows.Forms.Label label13;
- private System.Windows.Forms.TextBox lastBox1;
- private System.Windows.Forms.TextBox passBox1;
- private InputTextBoxControl txtInputUserServer;
- private InputTextBoxControl txtInputAssetServer;
- private InputTextBoxControl txtInputRegionServer;
- private InputTextBoxControl txtInputGridServer;
- private System.Windows.Forms.CheckBox raw1;
- private System.Windows.Forms.TextBox rawBox1;
- private System.Windows.Forms.Button clear1;
- }
-}
-
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+namespace OpenSim.GUI
+{
+ partial class Main
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ this.menuStrip1 = new System.Windows.Forms.MenuStrip();
+ this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.timer1 = new System.Windows.Forms.Timer(this.components);
+ this.clientBox1 = new System.Windows.Forms.TextBox();
+ this.btnStart = new System.Windows.Forms.Button();
+ this.btnStop = new System.Windows.Forms.Button();
+ this.rbGridRegionMode = new System.Windows.Forms.RadioButton();
+ this.rbStandAloneMode = new System.Windows.Forms.RadioButton();
+ this.rbGridServer = new System.Windows.Forms.RadioButton();
+ this.Launch1 = new System.Windows.Forms.Button();
+ this.gbLog = new System.Windows.Forms.GroupBox();
+ this.tabLogs = new System.Windows.Forms.TabControl();
+ this.tabMainLog = new System.Windows.Forms.TabPage();
+ this.txtMainLog = new System.Windows.Forms.TextBox();
+ this.tabRegionServer = new System.Windows.Forms.TabPage();
+ this.txtInputRegionServer = new OpenSim.GUI.InputTextBoxControl();
+ this.label1 = new System.Windows.Forms.Label();
+ this.txtOpenSim = new System.Windows.Forms.TextBox();
+ this.tabUserServer = new System.Windows.Forms.TabPage();
+ this.txtInputUserServer = new OpenSim.GUI.InputTextBoxControl();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtUserServer = new System.Windows.Forms.TextBox();
+ this.tabAssetServer = new System.Windows.Forms.TabPage();
+ this.txtInputAssetServer = new OpenSim.GUI.InputTextBoxControl();
+ this.label3 = new System.Windows.Forms.Label();
+ this.txtAssetServer = new System.Windows.Forms.TextBox();
+ this.tabGridServer = new System.Windows.Forms.TabPage();
+ this.txtInputGridServer = new OpenSim.GUI.InputTextBoxControl();
+ this.label4 = new System.Windows.Forms.Label();
+ this.txtGridServer = new System.Windows.Forms.TextBox();
+ this.label5 = new System.Windows.Forms.Label();
+ this.noProbe1 = new System.Windows.Forms.CheckBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.multiple1 = new System.Windows.Forms.CheckBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.noMultiple1 = new System.Windows.Forms.CheckBox();
+ this.ignorepixeldepth1 = new System.Windows.Forms.CheckBox();
+ this.nothread1 = new System.Windows.Forms.CheckBox();
+ this.safe1 = new System.Windows.Forms.CheckBox();
+ this.noconsole1 = new System.Windows.Forms.CheckBox();
+ this.log1 = new System.Windows.Forms.CheckBox();
+ this.helperuri1 = new System.Windows.Forms.CheckBox();
+ this.autologin1 = new System.Windows.Forms.CheckBox();
+ this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
+ this.dialog1 = new System.Windows.Forms.CheckBox();
+ this.previous1 = new System.Windows.Forms.CheckBox();
+ this.simple1 = new System.Windows.Forms.CheckBox();
+ this.noinvlib1 = new System.Windows.Forms.CheckBox();
+ this.debugst1 = new System.Windows.Forms.CheckBox();
+ this.spanish1 = new System.Windows.Forms.CheckBox();
+ this.korean1 = new System.Windows.Forms.CheckBox();
+ this.local1 = new System.Windows.Forms.CheckBox();
+ this.purge1 = new System.Windows.Forms.CheckBox();
+ this.nofmod1 = new System.Windows.Forms.CheckBox();
+ this.noaudio1 = new System.Windows.Forms.CheckBox();
+ this.nosound1 = new System.Windows.Forms.CheckBox();
+ this.url1 = new System.Windows.Forms.CheckBox();
+ this.port1 = new System.Windows.Forms.CheckBox();
+ this.simBox1 = new System.Windows.Forms.TextBox();
+ this.portBox1 = new System.Windows.Forms.TextBox();
+ this.user1 = new System.Windows.Forms.CheckBox();
+ this.quitAfter1 = new System.Windows.Forms.CheckBox();
+ this.techTag1 = new System.Windows.Forms.CheckBox();
+ this.yield1 = new System.Windows.Forms.CheckBox();
+ this.logfile1 = new System.Windows.Forms.CheckBox();
+ this.settings1 = new System.Windows.Forms.CheckBox();
+ this.outbw1 = new System.Windows.Forms.CheckBox();
+ this.inbw1 = new System.Windows.Forms.CheckBox();
+ this.drop1 = new System.Windows.Forms.CheckBox();
+ this.dropBox1 = new System.Windows.Forms.TextBox();
+ this.inbwBox1 = new System.Windows.Forms.TextBox();
+ this.outbwBox1 = new System.Windows.Forms.TextBox();
+ this.settingsBox1 = new System.Windows.Forms.TextBox();
+ this.logfileBox1 = new System.Windows.Forms.TextBox();
+ this.yieldBox1 = new System.Windows.Forms.TextBox();
+ this.techtagBox1 = new System.Windows.Forms.TextBox();
+ this.quitafterBox1 = new System.Windows.Forms.TextBox();
+ this.comboBox1 = new System.Windows.Forms.ComboBox();
+ this.loginuri1 = new System.Windows.Forms.CheckBox();
+ this.loginuriBox1 = new System.Windows.Forms.TextBox();
+ this.set1 = new System.Windows.Forms.CheckBox();
+ this.setBox1 = new System.Windows.Forms.TextBox();
+ this.errmask1 = new System.Windows.Forms.CheckBox();
+ this.skin1 = new System.Windows.Forms.CheckBox();
+ this.login1 = new System.Windows.Forms.CheckBox();
+ this.errmaskBox1 = new System.Windows.Forms.TextBox();
+ this.skinBox1 = new System.Windows.Forms.TextBox();
+ this.firstBox1 = new System.Windows.Forms.TextBox();
+ this.lastBox1 = new System.Windows.Forms.TextBox();
+ this.noutc1 = new System.Windows.Forms.CheckBox();
+ this.passBox1 = new System.Windows.Forms.TextBox();
+ this.raw1 = new System.Windows.Forms.CheckBox();
+ this.rawBox1 = new System.Windows.Forms.TextBox();
+ this.clear1 = new System.Windows.Forms.Button();
+ this.nataddress1 = new System.Windows.Forms.TextBox();
+ this.label8 = new System.Windows.Forms.Label();
+ this.label9 = new System.Windows.Forms.Label();
+ this.exeBox1 = new System.Windows.Forms.TextBox();
+ this.label10 = new System.Windows.Forms.Label();
+ this.label11 = new System.Windows.Forms.Label();
+ this.label12 = new System.Windows.Forms.Label();
+ this.label13 = new System.Windows.Forms.Label();
+ this.menuStrip1.SuspendLayout();
+ this.gbLog.SuspendLayout();
+ this.tabLogs.SuspendLayout();
+ this.tabMainLog.SuspendLayout();
+ this.tabRegionServer.SuspendLayout();
+ this.tabUserServer.SuspendLayout();
+ this.tabAssetServer.SuspendLayout();
+ this.tabGridServer.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // menuStrip1
+ //
+ this.menuStrip1.AutoSize = false;
+ this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.fileToolStripMenuItem});
+ this.menuStrip1.Location = new System.Drawing.Point(0, 0);
+ this.menuStrip1.Name = "menuStrip1";
+ this.menuStrip1.Size = new System.Drawing.Size(900, 20);
+ this.menuStrip1.TabIndex = 7;
+ this.menuStrip1.Text = "menuStrip1";
+ //
+ // fileToolStripMenuItem
+ //
+ this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.exitToolStripMenuItem});
+ this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
+ this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 16);
+ this.fileToolStripMenuItem.Text = "File";
+ //
+ // exitToolStripMenuItem
+ //
+ this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
+ this.exitToolStripMenuItem.Size = new System.Drawing.Size(130, 22);
+ this.exitToolStripMenuItem.Text = "Exit Cleanly";
+ this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
+ //
+ // timer1
+ //
+ this.timer1.Enabled = true;
+ //
+ // clientBox1
+ //
+ this.clientBox1.Location = new System.Drawing.Point(680, 27);
+ this.clientBox1.Name = "clientBox1";
+ this.clientBox1.Size = new System.Drawing.Size(213, 20);
+ this.clientBox1.TabIndex = 8;
+ this.clientBox1.Text = "C://Secondlife//";
+ //
+ // btnStart
+ //
+ this.btnStart.Location = new System.Drawing.Point(7, 366);
+ this.btnStart.Name = "btnStart";
+ this.btnStart.Size = new System.Drawing.Size(80, 23);
+ this.btnStart.TabIndex = 2;
+ this.btnStart.Text = "Start";
+ this.btnStart.UseVisualStyleBackColor = true;
+ this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
+ //
+ // btnStop
+ //
+ this.btnStop.Location = new System.Drawing.Point(92, 366);
+ this.btnStop.Name = "btnStop";
+ this.btnStop.Size = new System.Drawing.Size(80, 23);
+ this.btnStop.TabIndex = 3;
+ this.btnStop.Text = "Stop";
+ this.btnStop.UseVisualStyleBackColor = true;
+ this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
+ //
+ // rbGridRegionMode
+ //
+ this.rbGridRegionMode.AutoSize = true;
+ this.rbGridRegionMode.Location = new System.Drawing.Point(96, 27);
+ this.rbGridRegionMode.Name = "rbGridRegionMode";
+ this.rbGridRegionMode.Size = new System.Drawing.Size(76, 17);
+ this.rbGridRegionMode.TabIndex = 4;
+ this.rbGridRegionMode.Text = "Grid region";
+ this.rbGridRegionMode.UseVisualStyleBackColor = true;
+ this.rbGridRegionMode.CheckedChanged += new System.EventHandler(this.rbGridRegionMode_CheckedChanged);
+ //
+ // rbStandAloneMode
+ //
+ this.rbStandAloneMode.AutoSize = true;
+ this.rbStandAloneMode.Checked = true;
+ this.rbStandAloneMode.Location = new System.Drawing.Point(8, 27);
+ this.rbStandAloneMode.Name = "rbStandAloneMode";
+ this.rbStandAloneMode.Size = new System.Drawing.Size(82, 17);
+ this.rbStandAloneMode.TabIndex = 5;
+ this.rbStandAloneMode.TabStop = true;
+ this.rbStandAloneMode.Text = "Stand alone";
+ this.rbStandAloneMode.UseVisualStyleBackColor = true;
+ this.rbStandAloneMode.CheckedChanged += new System.EventHandler(this.rbStandAloneMode_CheckedChanged);
+ //
+ // rbGridServer
+ //
+ this.rbGridServer.AutoSize = true;
+ this.rbGridServer.Location = new System.Drawing.Point(178, 27);
+ this.rbGridServer.Name = "rbGridServer";
+ this.rbGridServer.Size = new System.Drawing.Size(76, 17);
+ this.rbGridServer.TabIndex = 6;
+ this.rbGridServer.Text = "Grid server";
+ this.rbGridServer.UseVisualStyleBackColor = true;
+ this.rbGridServer.CheckedChanged += new System.EventHandler(this.rbGridServer_CheckedChanged);
+ //
+ // Launch1
+ //
+ this.Launch1.Location = new System.Drawing.Point(264, 366);
+ this.Launch1.Name = "Launch1";
+ this.Launch1.Size = new System.Drawing.Size(80, 23);
+ this.Launch1.TabIndex = 9;
+ this.Launch1.Text = "Client Launch";
+ this.Launch1.UseVisualStyleBackColor = true;
+ this.Launch1.Click += new System.EventHandler(this.Launch1_Click);
+ //
+ // gbLog
+ //
+ this.gbLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.gbLog.Controls.Add(this.tabLogs);
+ this.gbLog.Location = new System.Drawing.Point(8, 50);
+ this.gbLog.Name = "gbLog";
+ this.gbLog.Size = new System.Drawing.Size(345, 310);
+ this.gbLog.TabIndex = 1;
+ this.gbLog.TabStop = false;
+ this.gbLog.Text = "Logs";
+ //
+ // tabLogs
+ //
+ this.tabLogs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.tabLogs.Controls.Add(this.tabMainLog);
+ this.tabLogs.Controls.Add(this.tabRegionServer);
+ this.tabLogs.Controls.Add(this.tabUserServer);
+ this.tabLogs.Controls.Add(this.tabAssetServer);
+ this.tabLogs.Controls.Add(this.tabGridServer);
+ this.tabLogs.Location = new System.Drawing.Point(6, 19);
+ this.tabLogs.Name = "tabLogs";
+ this.tabLogs.SelectedIndex = 0;
+ this.tabLogs.Size = new System.Drawing.Size(333, 285);
+ this.tabLogs.TabIndex = 0;
+ //
+ // tabMainLog
+ //
+ this.tabMainLog.Controls.Add(this.txtMainLog);
+ this.tabMainLog.Location = new System.Drawing.Point(4, 22);
+ this.tabMainLog.Name = "tabMainLog";
+ this.tabMainLog.Size = new System.Drawing.Size(325, 259);
+ this.tabMainLog.TabIndex = 4;
+ this.tabMainLog.Text = "Main log";
+ this.tabMainLog.UseVisualStyleBackColor = true;
+ //
+ // txtMainLog
+ //
+ this.txtMainLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtMainLog.Location = new System.Drawing.Point(0, 0);
+ this.txtMainLog.Multiline = true;
+ this.txtMainLog.Name = "txtMainLog";
+ this.txtMainLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtMainLog.Size = new System.Drawing.Size(325, 259);
+ this.txtMainLog.TabIndex = 1;
+ //
+ // tabRegionServer
+ //
+ this.tabRegionServer.Controls.Add(this.txtInputRegionServer);
+ this.tabRegionServer.Controls.Add(this.label1);
+ this.tabRegionServer.Controls.Add(this.txtOpenSim);
+ this.tabRegionServer.Location = new System.Drawing.Point(4, 22);
+ this.tabRegionServer.Name = "tabRegionServer";
+ this.tabRegionServer.Padding = new System.Windows.Forms.Padding(3);
+ this.tabRegionServer.Size = new System.Drawing.Size(325, 259);
+ this.tabRegionServer.TabIndex = 0;
+ this.tabRegionServer.Text = "Region server";
+ this.tabRegionServer.UseVisualStyleBackColor = true;
+ //
+ // txtInputRegionServer
+ //
+ this.txtInputRegionServer.Location = new System.Drawing.Point(53, 239);
+ this.txtInputRegionServer.Name = "txtInputRegionServer";
+ this.txtInputRegionServer.Size = new System.Drawing.Size(272, 20);
+ this.txtInputRegionServer.TabIndex = 5;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(0, 242);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(57, 13);
+ this.label1.TabIndex = 4;
+ this.label1.Text = "Command:";
+ //
+ // txtOpenSim
+ //
+ this.txtOpenSim.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtOpenSim.Location = new System.Drawing.Point(0, 0);
+ this.txtOpenSim.Multiline = true;
+ this.txtOpenSim.Name = "txtOpenSim";
+ this.txtOpenSim.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtOpenSim.Size = new System.Drawing.Size(325, 236);
+ this.txtOpenSim.TabIndex = 0;
+ //
+ // tabUserServer
+ //
+ this.tabUserServer.Controls.Add(this.txtInputUserServer);
+ this.tabUserServer.Controls.Add(this.label2);
+ this.tabUserServer.Controls.Add(this.txtUserServer);
+ this.tabUserServer.Location = new System.Drawing.Point(4, 22);
+ this.tabUserServer.Name = "tabUserServer";
+ this.tabUserServer.Padding = new System.Windows.Forms.Padding(3);
+ this.tabUserServer.Size = new System.Drawing.Size(325, 259);
+ this.tabUserServer.TabIndex = 1;
+ this.tabUserServer.Text = "User server";
+ this.tabUserServer.UseVisualStyleBackColor = true;
+ //
+ // txtInputUserServer
+ //
+ this.txtInputUserServer.Location = new System.Drawing.Point(53, 239);
+ this.txtInputUserServer.Name = "txtInputUserServer";
+ this.txtInputUserServer.Size = new System.Drawing.Size(272, 20);
+ this.txtInputUserServer.TabIndex = 7;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(0, 242);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(57, 13);
+ this.label2.TabIndex = 6;
+ this.label2.Text = "Command:";
+ //
+ // txtUserServer
+ //
+ this.txtUserServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtUserServer.Location = new System.Drawing.Point(0, 0);
+ this.txtUserServer.Multiline = true;
+ this.txtUserServer.Name = "txtUserServer";
+ this.txtUserServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtUserServer.Size = new System.Drawing.Size(325, 236);
+ this.txtUserServer.TabIndex = 1;
+ //
+ // tabAssetServer
+ //
+ this.tabAssetServer.Controls.Add(this.txtInputAssetServer);
+ this.tabAssetServer.Controls.Add(this.label3);
+ this.tabAssetServer.Controls.Add(this.txtAssetServer);
+ this.tabAssetServer.Location = new System.Drawing.Point(4, 22);
+ this.tabAssetServer.Name = "tabAssetServer";
+ this.tabAssetServer.Size = new System.Drawing.Size(325, 259);
+ this.tabAssetServer.TabIndex = 2;
+ this.tabAssetServer.Text = "Asset server";
+ this.tabAssetServer.UseVisualStyleBackColor = true;
+ //
+ // txtInputAssetServer
+ //
+ this.txtInputAssetServer.Location = new System.Drawing.Point(53, 239);
+ this.txtInputAssetServer.Name = "txtInputAssetServer";
+ this.txtInputAssetServer.Size = new System.Drawing.Size(272, 20);
+ this.txtInputAssetServer.TabIndex = 7;
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(0, 242);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(57, 13);
+ this.label3.TabIndex = 6;
+ this.label3.Text = "Command:";
+ //
+ // txtAssetServer
+ //
+ this.txtAssetServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtAssetServer.Location = new System.Drawing.Point(0, 0);
+ this.txtAssetServer.Multiline = true;
+ this.txtAssetServer.Name = "txtAssetServer";
+ this.txtAssetServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtAssetServer.Size = new System.Drawing.Size(325, 236);
+ this.txtAssetServer.TabIndex = 1;
+ //
+ // tabGridServer
+ //
+ this.tabGridServer.Controls.Add(this.txtInputGridServer);
+ this.tabGridServer.Controls.Add(this.label4);
+ this.tabGridServer.Controls.Add(this.txtGridServer);
+ this.tabGridServer.Location = new System.Drawing.Point(4, 22);
+ this.tabGridServer.Name = "tabGridServer";
+ this.tabGridServer.Size = new System.Drawing.Size(325, 259);
+ this.tabGridServer.TabIndex = 3;
+ this.tabGridServer.Text = "Grid server";
+ this.tabGridServer.UseVisualStyleBackColor = true;
+ //
+ // txtInputGridServer
+ //
+ this.txtInputGridServer.Location = new System.Drawing.Point(53, 239);
+ this.txtInputGridServer.Name = "txtInputGridServer";
+ this.txtInputGridServer.Size = new System.Drawing.Size(272, 20);
+ this.txtInputGridServer.TabIndex = 7;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(0, 242);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(57, 13);
+ this.label4.TabIndex = 6;
+ this.label4.Text = "Command:";
+ //
+ // txtGridServer
+ //
+ this.txtGridServer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtGridServer.Location = new System.Drawing.Point(0, 0);
+ this.txtGridServer.Multiline = true;
+ this.txtGridServer.Name = "txtGridServer";
+ this.txtGridServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtGridServer.Size = new System.Drawing.Size(325, 236);
+ this.txtGridServer.TabIndex = 1;
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label5.Location = new System.Drawing.Point(460, 55);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(205, 20);
+ this.label5.TabIndex = 11;
+ this.label5.Text = "Command Line Switches";
+ //
+ // noProbe1
+ //
+ this.noProbe1.AutoSize = true;
+ this.noProbe1.Location = new System.Drawing.Point(359, 275);
+ this.noProbe1.Name = "noProbe1";
+ this.noProbe1.Size = new System.Drawing.Size(68, 17);
+ this.noProbe1.TabIndex = 12;
+ this.noProbe1.Text = "-noprobe";
+ this.toolTip1.SetToolTip(this.noProbe1, "disable hardware probe");
+ this.noProbe1.UseVisualStyleBackColor = true;
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Location = new System.Drawing.Point(8, 415);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(0, 13);
+ this.label6.TabIndex = 14;
+ this.label6.Click += new System.EventHandler(this.label6_Click);
+ //
+ // multiple1
+ //
+ this.multiple1.AutoSize = true;
+ this.multiple1.Location = new System.Drawing.Point(359, 185);
+ this.multiple1.Name = "multiple1";
+ this.multiple1.Size = new System.Drawing.Size(64, 17);
+ this.multiple1.TabIndex = 15;
+ this.multiple1.Text = "-multiple";
+ this.toolTip1.SetToolTip(this.multiple1, "allow multiple viewers");
+ this.multiple1.UseVisualStyleBackColor = true;
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label7.Location = new System.Drawing.Point(8, 396);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(338, 13);
+ this.label7.TabIndex = 16;
+ this.label7.Text = "Client Command Line String Used and Program Messages :";
+ //
+ // noMultiple1
+ //
+ this.noMultiple1.AutoSize = true;
+ this.noMultiple1.Location = new System.Drawing.Point(359, 260);
+ this.noMultiple1.Name = "noMultiple1";
+ this.noMultiple1.Size = new System.Drawing.Size(76, 17);
+ this.noMultiple1.TabIndex = 17;
+ this.noMultiple1.Text = "-nomultiple";
+ this.toolTip1.SetToolTip(this.noMultiple1, "block multiple viewers (secondlife.exe instances)");
+ this.noMultiple1.UseVisualStyleBackColor = true;
+ //
+ // ignorepixeldepth1
+ //
+ this.ignorepixeldepth1.AutoSize = true;
+ this.ignorepixeldepth1.Location = new System.Drawing.Point(359, 125);
+ this.ignorepixeldepth1.Name = "ignorepixeldepth1";
+ this.ignorepixeldepth1.Size = new System.Drawing.Size(106, 17);
+ this.ignorepixeldepth1.TabIndex = 18;
+ this.ignorepixeldepth1.Text = "-ignorepixeldepth";
+ this.toolTip1.SetToolTip(this.ignorepixeldepth1, "ignore pixel depth settings");
+ this.ignorepixeldepth1.UseVisualStyleBackColor = true;
+ //
+ // nothread1
+ //
+ this.nothread1.AutoSize = true;
+ this.nothread1.Location = new System.Drawing.Point(359, 305);
+ this.nothread1.Name = "nothread1";
+ this.nothread1.Size = new System.Drawing.Size(71, 17);
+ this.nothread1.TabIndex = 19;
+ this.nothread1.Text = "-nothread";
+ this.toolTip1.SetToolTip(this.nothread1, "run VFS (Virtual File System) in single thread");
+ this.nothread1.UseVisualStyleBackColor = true;
+ //
+ // safe1
+ //
+ this.safe1.AutoSize = true;
+ this.safe1.Location = new System.Drawing.Point(359, 365);
+ this.safe1.Name = "safe1";
+ this.safe1.Size = new System.Drawing.Size(49, 17);
+ this.safe1.TabIndex = 20;
+ this.safe1.Text = "-safe";
+ this.toolTip1.SetToolTip(this.safe1, "reset preferences, run in safe mode");
+ this.safe1.UseVisualStyleBackColor = true;
+ //
+ // noconsole1
+ //
+ this.noconsole1.AutoSize = true;
+ this.noconsole1.Location = new System.Drawing.Point(359, 215);
+ this.noconsole1.Name = "noconsole1";
+ this.noconsole1.Size = new System.Drawing.Size(78, 17);
+ this.noconsole1.TabIndex = 21;
+ this.noconsole1.Text = "-noconsole";
+ this.toolTip1.SetToolTip(this.noconsole1, "hide the console if not already hidden");
+ this.noconsole1.UseVisualStyleBackColor = true;
+ //
+ // log1
+ //
+ this.log1.AutoSize = true;
+ this.log1.Location = new System.Drawing.Point(359, 170);
+ this.log1.Name = "log1";
+ this.log1.Size = new System.Drawing.Size(43, 17);
+ this.log1.TabIndex = 22;
+ this.log1.Text = "-log";
+ this.toolTip1.SetToolTip(this.log1, "--no info avail--");
+ this.log1.UseVisualStyleBackColor = true;
+ //
+ // helperuri1
+ //
+ this.helperuri1.AutoSize = true;
+ this.helperuri1.Location = new System.Drawing.Point(359, 110);
+ this.helperuri1.Name = "helperuri1";
+ this.helperuri1.Size = new System.Drawing.Size(69, 17);
+ this.helperuri1.TabIndex = 23;
+ this.helperuri1.Text = "-helperuri";
+ this.toolTip1.SetToolTip(this.helperuri1, "--no info avail--");
+ this.helperuri1.UseVisualStyleBackColor = true;
+ //
+ // autologin1
+ //
+ this.autologin1.AutoSize = true;
+ this.autologin1.Location = new System.Drawing.Point(359, 65);
+ this.autologin1.Name = "autologin1";
+ this.autologin1.Size = new System.Drawing.Size(75, 17);
+ this.autologin1.TabIndex = 24;
+ this.autologin1.Text = "--autologin";
+ this.toolTip1.SetToolTip(this.autologin1, "--no info avail--");
+ this.autologin1.UseVisualStyleBackColor = true;
+ //
+ // dialog1
+ //
+ this.dialog1.AutoSize = true;
+ this.dialog1.Location = new System.Drawing.Point(359, 95);
+ this.dialog1.Name = "dialog1";
+ this.dialog1.Size = new System.Drawing.Size(57, 17);
+ this.dialog1.TabIndex = 25;
+ this.dialog1.Text = "-dialog";
+ this.toolTip1.SetToolTip(this.dialog1, "some arcane dialog box that is impossible to raise");
+ this.dialog1.UseVisualStyleBackColor = true;
+ //
+ // previous1
+ //
+ this.previous1.AutoSize = true;
+ this.previous1.Location = new System.Drawing.Point(359, 335);
+ this.previous1.Name = "previous1";
+ this.previous1.Size = new System.Drawing.Size(69, 17);
+ this.previous1.TabIndex = 26;
+ this.previous1.Text = "-previous";
+ this.toolTip1.SetToolTip(this.previous1, "--no info avail--");
+ this.previous1.UseVisualStyleBackColor = true;
+ //
+ // simple1
+ //
+ this.simple1.AutoSize = true;
+ this.simple1.Location = new System.Drawing.Point(359, 380);
+ this.simple1.Name = "simple1";
+ this.simple1.Size = new System.Drawing.Size(58, 17);
+ this.simple1.TabIndex = 27;
+ this.simple1.Text = "-simple";
+ this.toolTip1.SetToolTip(this.simple1, "--no info avail--");
+ this.simple1.UseVisualStyleBackColor = true;
+ //
+ // noinvlib1
+ //
+ this.noinvlib1.AutoSize = true;
+ this.noinvlib1.Location = new System.Drawing.Point(359, 245);
+ this.noinvlib1.Name = "noinvlib1";
+ this.noinvlib1.Size = new System.Drawing.Size(65, 17);
+ this.noinvlib1.TabIndex = 28;
+ this.noinvlib1.Text = "-noinvlib";
+ this.toolTip1.SetToolTip(this.noinvlib1, "do not request inventory library");
+ this.noinvlib1.UseVisualStyleBackColor = true;
+ //
+ // debugst1
+ //
+ this.debugst1.AutoSize = true;
+ this.debugst1.Location = new System.Drawing.Point(359, 80);
+ this.debugst1.Name = "debugst1";
+ this.debugst1.Size = new System.Drawing.Size(67, 17);
+ this.debugst1.TabIndex = 30;
+ this.debugst1.Text = "-debugst";
+ this.toolTip1.SetToolTip(this.debugst1, "debug mask");
+ this.debugst1.UseVisualStyleBackColor = true;
+ //
+ // spanish1
+ //
+ this.spanish1.AutoSize = true;
+ this.spanish1.Location = new System.Drawing.Point(359, 395);
+ this.spanish1.Name = "spanish1";
+ this.spanish1.Size = new System.Drawing.Size(65, 17);
+ this.spanish1.TabIndex = 31;
+ this.spanish1.Text = "-spanish";
+ this.toolTip1.SetToolTip(this.spanish1, "activate (incomplete) Spanish UI translation");
+ this.spanish1.UseVisualStyleBackColor = true;
+ //
+ // korean1
+ //
+ this.korean1.AutoSize = true;
+ this.korean1.Location = new System.Drawing.Point(359, 140);
+ this.korean1.Name = "korean1";
+ this.korean1.Size = new System.Drawing.Size(62, 17);
+ this.korean1.TabIndex = 32;
+ this.korean1.Text = "-korean";
+ this.toolTip1.SetToolTip(this.korean1, "activate (incomplete) Korean UI translation");
+ this.korean1.UseVisualStyleBackColor = true;
+ //
+ // local1
+ //
+ this.local1.AutoSize = true;
+ this.local1.Location = new System.Drawing.Point(359, 155);
+ this.local1.Name = "local1";
+ this.local1.Size = new System.Drawing.Size(51, 17);
+ this.local1.TabIndex = 46;
+ this.local1.Text = "-local";
+ this.toolTip1.SetToolTip(this.local1, "run without simulator");
+ this.local1.UseVisualStyleBackColor = true;
+ //
+ // purge1
+ //
+ this.purge1.AutoSize = true;
+ this.purge1.Location = new System.Drawing.Point(359, 350);
+ this.purge1.Name = "purge1";
+ this.purge1.Size = new System.Drawing.Size(56, 17);
+ this.purge1.TabIndex = 56;
+ this.purge1.Text = "-purge";
+ this.toolTip1.SetToolTip(this.purge1, "delete files in cache");
+ this.purge1.UseVisualStyleBackColor = true;
+ //
+ // nofmod1
+ //
+ this.nofmod1.AutoSize = true;
+ this.nofmod1.Location = new System.Drawing.Point(359, 230);
+ this.nofmod1.Name = "nofmod1";
+ this.nofmod1.Size = new System.Drawing.Size(64, 17);
+ this.nofmod1.TabIndex = 45;
+ this.nofmod1.Text = "-nofmod";
+ this.toolTip1.SetToolTip(this.nofmod1, "FMOD is the API used to distort sound while moving");
+ this.nofmod1.UseVisualStyleBackColor = true;
+ //
+ // noaudio1
+ //
+ this.noaudio1.AutoSize = true;
+ this.noaudio1.Location = new System.Drawing.Point(359, 200);
+ this.noaudio1.Name = "noaudio1";
+ this.noaudio1.Size = new System.Drawing.Size(67, 17);
+ this.noaudio1.TabIndex = 44;
+ this.noaudio1.Text = "-noaudio";
+ this.toolTip1.SetToolTip(this.noaudio1, "no audio, different from -nosound?");
+ this.noaudio1.UseVisualStyleBackColor = true;
+ //
+ // nosound1
+ //
+ this.nosound1.AutoSize = true;
+ this.nosound1.Location = new System.Drawing.Point(359, 290);
+ this.nosound1.Name = "nosound1";
+ this.nosound1.Size = new System.Drawing.Size(70, 17);
+ this.nosound1.TabIndex = 55;
+ this.nosound1.Text = "-nosound";
+ this.toolTip1.SetToolTip(this.nosound1, "no sound, different from -noaudio?");
+ this.nosound1.UseVisualStyleBackColor = true;
+ //
+ // url1
+ //
+ this.url1.AutoSize = true;
+ this.url1.Location = new System.Drawing.Point(488, 245);
+ this.url1.Name = "url1";
+ this.url1.Size = new System.Drawing.Size(40, 17);
+ this.url1.TabIndex = 43;
+ this.url1.Text = "-url";
+ this.toolTip1.SetToolTip(this.url1, "handles secondlife://sim/x/y/z URLs");
+ this.url1.UseVisualStyleBackColor = true;
+ //
+ // port1
+ //
+ this.port1.AutoSize = true;
+ this.port1.Location = new System.Drawing.Point(488, 171);
+ this.port1.Name = "port1";
+ this.port1.Size = new System.Drawing.Size(47, 17);
+ this.port1.TabIndex = 49;
+ this.port1.Text = "-port";
+ this.toolTip1.SetToolTip(this.port1, "Set the TCP port for the client; useful to run multiple instances of SL on the sa" +
+ "me local home network. Values that may work: 13000 and 13001 (Valid numbers are " +
+ "13000 to 13050)");
+ this.port1.UseVisualStyleBackColor = true;
+ //
+ // simBox1
+ //
+ this.simBox1.Location = new System.Drawing.Point(549, 243);
+ this.simBox1.Name = "simBox1";
+ this.simBox1.Size = new System.Drawing.Size(344, 20);
+ this.simBox1.TabIndex = 66;
+ this.simBox1.Text = "secondlife://lutra/127/128/60";
+ this.toolTip1.SetToolTip(this.simBox1, "type URL here");
+ //
+ // portBox1
+ //
+ this.portBox1.Location = new System.Drawing.Point(549, 169);
+ this.portBox1.Name = "portBox1";
+ this.portBox1.Size = new System.Drawing.Size(58, 20);
+ this.portBox1.TabIndex = 67;
+ this.portBox1.Text = "13000";
+ this.toolTip1.SetToolTip(this.portBox1, "enter port number here");
+ //
+ // user1
+ //
+ this.user1.AutoSize = true;
+ this.user1.Location = new System.Drawing.Point(488, 191);
+ this.user1.Name = "user1";
+ this.user1.Size = new System.Drawing.Size(49, 17);
+ this.user1.TabIndex = 42;
+ this.user1.Text = "-user";
+ this.user1.ThreeState = true;
+ this.toolTip1.SetToolTip(this.user1, "specify user server in dotted quad");
+ this.user1.UseVisualStyleBackColor = true;
+ //
+ // quitAfter1
+ //
+ this.quitAfter1.AutoSize = true;
+ this.quitAfter1.Location = new System.Drawing.Point(680, 65);
+ this.quitAfter1.Name = "quitAfter1";
+ this.quitAfter1.Size = new System.Drawing.Size(67, 17);
+ this.quitAfter1.TabIndex = 41;
+ this.quitAfter1.Text = "-quitafter";
+ this.toolTip1.SetToolTip(this.quitAfter1, "SL quits after elapsed time in seconds");
+ this.quitAfter1.UseVisualStyleBackColor = true;
+ //
+ // techTag1
+ //
+ this.techTag1.AutoSize = true;
+ this.techTag1.Location = new System.Drawing.Point(488, 211);
+ this.techTag1.Name = "techTag1";
+ this.techTag1.Size = new System.Drawing.Size(65, 17);
+ this.techTag1.TabIndex = 47;
+ this.techTag1.Text = "-techtag";
+ this.toolTip1.SetToolTip(this.techTag1, "unknown (but requires a parameter)");
+ this.techTag1.UseVisualStyleBackColor = true;
+ //
+ // yield1
+ //
+ this.yield1.AutoSize = true;
+ this.yield1.Location = new System.Drawing.Point(488, 91);
+ this.yield1.Name = "yield1";
+ this.yield1.Size = new System.Drawing.Size(50, 17);
+ this.yield1.TabIndex = 48;
+ this.yield1.Text = "-yield";
+ this.toolTip1.SetToolTip(this.yield1, "yield some idle time to local host (changed from - cooperative)");
+ this.yield1.UseVisualStyleBackColor = true;
+ //
+ // logfile1
+ //
+ this.logfile1.AutoSize = true;
+ this.logfile1.Location = new System.Drawing.Point(680, 125);
+ this.logfile1.Name = "logfile1";
+ this.logfile1.Size = new System.Drawing.Size(56, 17);
+ this.logfile1.TabIndex = 54;
+ this.logfile1.Text = "-logfile";
+ this.toolTip1.SetToolTip(this.logfile1, "change the log filename");
+ this.logfile1.UseVisualStyleBackColor = true;
+ //
+ // settings1
+ //
+ this.settings1.AutoSize = true;
+ this.settings1.Location = new System.Drawing.Point(680, 95);
+ this.settings1.Name = "settings1";
+ this.settings1.Size = new System.Drawing.Size(65, 17);
+ this.settings1.TabIndex = 53;
+ this.settings1.Text = "-settings";
+ this.toolTip1.SetToolTip(this.settings1, "specify configuration filename; default is \"settings.ini\"");
+ this.settings1.UseVisualStyleBackColor = true;
+ //
+ // outbw1
+ //
+ this.outbw1.AutoSize = true;
+ this.outbw1.Location = new System.Drawing.Point(488, 111);
+ this.outbw1.Name = "outbw1";
+ this.outbw1.Size = new System.Drawing.Size(58, 17);
+ this.outbw1.TabIndex = 52;
+ this.outbw1.Text = "-outbw";
+ this.toolTip1.SetToolTip(this.outbw1, "set outgoing bandwidth");
+ this.outbw1.UseVisualStyleBackColor = true;
+ //
+ // inbw1
+ //
+ this.inbw1.AutoSize = true;
+ this.inbw1.Location = new System.Drawing.Point(488, 131);
+ this.inbw1.Name = "inbw1";
+ this.inbw1.Size = new System.Drawing.Size(51, 17);
+ this.inbw1.TabIndex = 51;
+ this.inbw1.Text = "-inbw";
+ this.toolTip1.SetToolTip(this.inbw1, "set incoming bandwidth");
+ this.inbw1.UseVisualStyleBackColor = true;
+ //
+ // drop1
+ //
+ this.drop1.AutoSize = true;
+ this.drop1.Location = new System.Drawing.Point(488, 151);
+ this.drop1.Name = "drop1";
+ this.drop1.Size = new System.Drawing.Size(50, 17);
+ this.drop1.TabIndex = 50;
+ this.drop1.Text = "-drop";
+ this.toolTip1.SetToolTip(this.drop1, "drop number% of incoming network packets");
+ this.drop1.UseVisualStyleBackColor = true;
+ //
+ // dropBox1
+ //
+ this.dropBox1.Location = new System.Drawing.Point(549, 149);
+ this.dropBox1.Name = "dropBox1";
+ this.dropBox1.Size = new System.Drawing.Size(58, 20);
+ this.dropBox1.TabIndex = 68;
+ this.dropBox1.Text = "0";
+ this.toolTip1.SetToolTip(this.dropBox1, "enter percent of packets to drop");
+ //
+ // inbwBox1
+ //
+ this.inbwBox1.Location = new System.Drawing.Point(549, 129);
+ this.inbwBox1.Name = "inbwBox1";
+ this.inbwBox1.Size = new System.Drawing.Size(57, 20);
+ this.inbwBox1.TabIndex = 69;
+ this.toolTip1.SetToolTip(this.inbwBox1, "enter incoming cap");
+ //
+ // outbwBox1
+ //
+ this.outbwBox1.Location = new System.Drawing.Point(549, 109);
+ this.outbwBox1.Name = "outbwBox1";
+ this.outbwBox1.Size = new System.Drawing.Size(58, 20);
+ this.outbwBox1.TabIndex = 70;
+ this.toolTip1.SetToolTip(this.outbwBox1, "enter outgoing cap");
+ //
+ // settingsBox1
+ //
+ this.settingsBox1.Location = new System.Drawing.Point(741, 93);
+ this.settingsBox1.Name = "settingsBox1";
+ this.settingsBox1.Size = new System.Drawing.Size(152, 20);
+ this.settingsBox1.TabIndex = 71;
+ this.settingsBox1.Text = "settings.ini";
+ this.toolTip1.SetToolTip(this.settingsBox1, "enter settings file name");
+ //
+ // logfileBox1
+ //
+ this.logfileBox1.Location = new System.Drawing.Point(733, 123);
+ this.logfileBox1.Name = "logfileBox1";
+ this.logfileBox1.Size = new System.Drawing.Size(160, 20);
+ this.logfileBox1.TabIndex = 72;
+ this.logfileBox1.Text = "mylogfile.txt";
+ this.toolTip1.SetToolTip(this.logfileBox1, "enter log file name here");
+ //
+ // yieldBox1
+ //
+ this.yieldBox1.Location = new System.Drawing.Point(549, 89);
+ this.yieldBox1.Name = "yieldBox1";
+ this.yieldBox1.Size = new System.Drawing.Size(58, 20);
+ this.yieldBox1.TabIndex = 73;
+ this.toolTip1.SetToolTip(this.yieldBox1, "enter time to yield in ");
+ //
+ // techtagBox1
+ //
+ this.techtagBox1.Location = new System.Drawing.Point(549, 209);
+ this.techtagBox1.Name = "techtagBox1";
+ this.techtagBox1.Size = new System.Drawing.Size(58, 20);
+ this.techtagBox1.TabIndex = 74;
+ this.toolTip1.SetToolTip(this.techtagBox1, "enter unknown param here");
+ //
+ // quitafterBox1
+ //
+ this.quitafterBox1.Location = new System.Drawing.Point(745, 63);
+ this.quitafterBox1.Name = "quitafterBox1";
+ this.quitafterBox1.Size = new System.Drawing.Size(148, 20);
+ this.quitafterBox1.TabIndex = 75;
+ this.toolTip1.SetToolTip(this.quitafterBox1, "enter time in seconds");
+ //
+ // comboBox1
+ //
+ this.comboBox1.FormattingEnabled = true;
+ this.comboBox1.Items.AddRange(new object[] {
+ "agni",
+ "colo",
+ "dmz",
+ "durga",
+ "siva"});
+ this.comboBox1.Location = new System.Drawing.Point(549, 189);
+ this.comboBox1.Name = "comboBox1";
+ this.comboBox1.Size = new System.Drawing.Size(58, 21);
+ this.comboBox1.TabIndex = 76;
+ this.comboBox1.Text = "agni";
+ this.toolTip1.SetToolTip(this.comboBox1, "select LL user server");
+ //
+ // loginuri1
+ //
+ this.loginuri1.AutoSize = true;
+ this.loginuri1.Location = new System.Drawing.Point(488, 275);
+ this.loginuri1.Name = "loginuri1";
+ this.loginuri1.Size = new System.Drawing.Size(62, 17);
+ this.loginuri1.TabIndex = 77;
+ this.loginuri1.Text = "-loginuri";
+ this.toolTip1.SetToolTip(this.loginuri1, "login server and CGI script to use");
+ this.loginuri1.UseVisualStyleBackColor = true;
+ //
+ // loginuriBox1
+ //
+ this.loginuriBox1.Location = new System.Drawing.Point(549, 273);
+ this.loginuriBox1.Name = "loginuriBox1";
+ this.loginuriBox1.Size = new System.Drawing.Size(344, 20);
+ this.loginuriBox1.TabIndex = 78;
+ this.loginuriBox1.Text = "localhost:9000";
+ this.toolTip1.SetToolTip(this.loginuriBox1, "enter login url here");
+ //
+ // set1
+ //
+ this.set1.AutoSize = true;
+ this.set1.Location = new System.Drawing.Point(636, 185);
+ this.set1.Name = "set1";
+ this.set1.Size = new System.Drawing.Size(43, 17);
+ this.set1.TabIndex = 79;
+ this.set1.Text = "-set";
+ this.toolTip1.SetToolTip(this.set1, "specify value of a particular configuration variable; can be used multiple times " +
+ "in a single command-line");
+ this.set1.UseVisualStyleBackColor = true;
+ //
+ // setBox1
+ //
+ this.setBox1.Location = new System.Drawing.Point(680, 183);
+ this.setBox1.Name = "setBox1";
+ this.setBox1.Size = new System.Drawing.Size(213, 20);
+ this.setBox1.TabIndex = 80;
+ this.setBox1.Text = "SystemLanguage en-us";
+ this.toolTip1.SetToolTip(this.setBox1, "enter params");
+ //
+ // errmask1
+ //
+ this.errmask1.AutoSize = true;
+ this.errmask1.Location = new System.Drawing.Point(636, 154);
+ this.errmask1.Name = "errmask1";
+ this.errmask1.Size = new System.Drawing.Size(66, 17);
+ this.errmask1.TabIndex = 81;
+ this.errmask1.Text = "-errmask";
+ this.toolTip1.SetToolTip(this.errmask1, "32-bit bitmask for error type mask");
+ this.errmask1.UseVisualStyleBackColor = true;
+ //
+ // skin1
+ //
+ this.skin1.AutoSize = true;
+ this.skin1.Location = new System.Drawing.Point(635, 215);
+ this.skin1.Name = "skin1";
+ this.skin1.Size = new System.Drawing.Size(48, 17);
+ this.skin1.TabIndex = 82;
+ this.skin1.Text = "-skin";
+ this.toolTip1.SetToolTip(this.skin1, "load skins//skin.xml as the default UI appearance (incomplete)");
+ this.skin1.UseVisualStyleBackColor = true;
+ //
+ // login1
+ //
+ this.login1.AutoSize = true;
+ this.login1.Location = new System.Drawing.Point(457, 304);
+ this.login1.Name = "login1";
+ this.login1.Size = new System.Drawing.Size(51, 17);
+ this.login1.TabIndex = 83;
+ this.login1.Text = "-login";
+ this.toolTip1.SetToolTip(this.login1, "log in as a user");
+ this.login1.UseVisualStyleBackColor = true;
+ //
+ // errmaskBox1
+ //
+ this.errmaskBox1.Location = new System.Drawing.Point(704, 153);
+ this.errmaskBox1.Name = "errmaskBox1";
+ this.errmaskBox1.Size = new System.Drawing.Size(189, 20);
+ this.errmaskBox1.TabIndex = 84;
+ this.toolTip1.SetToolTip(this.errmaskBox1, "32-bit bitmask for error type mask");
+ //
+ // skinBox1
+ //
+ this.skinBox1.Location = new System.Drawing.Point(679, 213);
+ this.skinBox1.Name = "skinBox1";
+ this.skinBox1.Size = new System.Drawing.Size(214, 20);
+ this.skinBox1.TabIndex = 85;
+ this.skinBox1.Text = "C://Secondlife//";
+ this.toolTip1.SetToolTip(this.skinBox1, "enter directory where skin.xml is");
+ //
+ // firstBox1
+ //
+ this.firstBox1.Location = new System.Drawing.Point(549, 303);
+ this.firstBox1.Name = "firstBox1";
+ this.firstBox1.Size = new System.Drawing.Size(80, 20);
+ this.firstBox1.TabIndex = 86;
+ this.firstBox1.Text = "Test";
+ this.toolTip1.SetToolTip(this.firstBox1, "firstname");
+ //
+ // lastBox1
+ //
+ this.lastBox1.Location = new System.Drawing.Point(668, 303);
+ this.lastBox1.Name = "lastBox1";
+ this.lastBox1.Size = new System.Drawing.Size(80, 20);
+ this.lastBox1.TabIndex = 92;
+ this.lastBox1.Text = "User";
+ this.toolTip1.SetToolTip(this.lastBox1, "lastname");
+ //
+ // noutc1
+ //
+ this.noutc1.AutoSize = true;
+ this.noutc1.Location = new System.Drawing.Point(359, 320);
+ this.noutc1.Name = "noutc1";
+ this.noutc1.Size = new System.Drawing.Size(56, 17);
+ this.noutc1.TabIndex = 29;
+ this.noutc1.Text = "-noutc";
+ this.toolTip1.SetToolTip(this.noutc1, "logs in local time, not UTC");
+ this.noutc1.UseVisualStyleBackColor = true;
+ //
+ // passBox1
+ //
+ this.passBox1.Location = new System.Drawing.Point(790, 303);
+ this.passBox1.Name = "passBox1";
+ this.passBox1.Size = new System.Drawing.Size(103, 20);
+ this.passBox1.TabIndex = 93;
+ this.passBox1.Text = "test";
+ this.toolTip1.SetToolTip(this.passBox1, "password");
+ //
+ // raw1
+ //
+ this.raw1.AutoSize = true;
+ this.raw1.Location = new System.Drawing.Point(457, 336);
+ this.raw1.Name = "raw1";
+ this.raw1.Size = new System.Drawing.Size(81, 17);
+ this.raw1.TabIndex = 94;
+ this.raw1.Text = "Raw CMD :";
+ this.toolTip1.SetToolTip(this.raw1, "Raw CMD options, may crash everything");
+ this.raw1.UseVisualStyleBackColor = true;
+ //
+ // rawBox1
+ //
+ this.rawBox1.Location = new System.Drawing.Point(549, 333);
+ this.rawBox1.Name = "rawBox1";
+ this.rawBox1.Size = new System.Drawing.Size(344, 20);
+ this.rawBox1.TabIndex = 95;
+ this.toolTip1.SetToolTip(this.rawBox1, "Raw CMD options, may crash everything");
+ //
+ // clear1
+ //
+ this.clear1.Location = new System.Drawing.Point(178, 366);
+ this.clear1.Name = "clear1";
+ this.clear1.Size = new System.Drawing.Size(80, 23);
+ this.clear1.TabIndex = 96;
+ this.clear1.Text = "Clear";
+ this.toolTip1.SetToolTip(this.clear1, "clear all switch boxes");
+ this.clear1.UseVisualStyleBackColor = true;
+ this.clear1.Click += new System.EventHandler(this.clear1_Click);
+ //
+ // nataddress1
+ //
+ this.nataddress1.Location = new System.Drawing.Point(457, 389);
+ this.nataddress1.Name = "nataddress1";
+ this.nataddress1.Size = new System.Drawing.Size(436, 20);
+ this.nataddress1.TabIndex = 58;
+ this.nataddress1.Text = "UNUSED ATM";
+ this.nataddress1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label8.Location = new System.Drawing.Point(588, 360);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(175, 20);
+ this.label8.TabIndex = 59;
+ this.label8.Text = "World/NAT Address :";
+ //
+ // label9
+ //
+ this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label9.Location = new System.Drawing.Point(633, 27);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(47, 20);
+ this.label9.TabIndex = 60;
+ this.label9.Text = "Path :";
+ this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // exeBox1
+ //
+ this.exeBox1.Location = new System.Drawing.Point(530, 27);
+ this.exeBox1.Name = "exeBox1";
+ this.exeBox1.Size = new System.Drawing.Size(100, 20);
+ this.exeBox1.TabIndex = 61;
+ this.exeBox1.Text = "Secondlife.exe";
+ //
+ // label10
+ //
+ this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label10.Location = new System.Drawing.Point(392, 27);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(138, 20);
+ this.label10.TabIndex = 62;
+ this.label10.Text = "Executable Name :";
+ this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label11
+ //
+ this.label11.AutoSize = true;
+ this.label11.Location = new System.Drawing.Point(514, 306);
+ this.label11.Name = "label11";
+ this.label11.Size = new System.Drawing.Size(32, 13);
+ this.label11.TabIndex = 89;
+ this.label11.Text = "First :";
+ //
+ // label12
+ //
+ this.label12.AutoSize = true;
+ this.label12.Location = new System.Drawing.Point(632, 306);
+ this.label12.Name = "label12";
+ this.label12.Size = new System.Drawing.Size(33, 13);
+ this.label12.TabIndex = 90;
+ this.label12.Text = "Last :";
+ //
+ // label13
+ //
+ this.label13.AutoSize = true;
+ this.label13.Location = new System.Drawing.Point(751, 306);
+ this.label13.Name = "label13";
+ this.label13.Size = new System.Drawing.Size(36, 13);
+ this.label13.TabIndex = 91;
+ this.label13.Text = "Pass :";
+ //
+ // Main
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(900, 431);
+ this.Controls.Add(this.clear1);
+ this.Controls.Add(this.rawBox1);
+ this.Controls.Add(this.raw1);
+ this.Controls.Add(this.passBox1);
+ this.Controls.Add(this.lastBox1);
+ this.Controls.Add(this.label13);
+ this.Controls.Add(this.label12);
+ this.Controls.Add(this.label11);
+ this.Controls.Add(this.firstBox1);
+ this.Controls.Add(this.skinBox1);
+ this.Controls.Add(this.errmaskBox1);
+ this.Controls.Add(this.login1);
+ this.Controls.Add(this.skin1);
+ this.Controls.Add(this.errmask1);
+ this.Controls.Add(this.setBox1);
+ this.Controls.Add(this.set1);
+ this.Controls.Add(this.loginuriBox1);
+ this.Controls.Add(this.loginuri1);
+ this.Controls.Add(this.comboBox1);
+ this.Controls.Add(this.quitafterBox1);
+ this.Controls.Add(this.techtagBox1);
+ this.Controls.Add(this.yieldBox1);
+ this.Controls.Add(this.logfileBox1);
+ this.Controls.Add(this.settingsBox1);
+ this.Controls.Add(this.outbwBox1);
+ this.Controls.Add(this.inbwBox1);
+ this.Controls.Add(this.dropBox1);
+ this.Controls.Add(this.portBox1);
+ this.Controls.Add(this.simBox1);
+ this.Controls.Add(this.label10);
+ this.Controls.Add(this.exeBox1);
+ this.Controls.Add(this.label9);
+ this.Controls.Add(this.label8);
+ this.Controls.Add(this.nataddress1);
+ this.Controls.Add(this.purge1);
+ this.Controls.Add(this.nosound1);
+ this.Controls.Add(this.logfile1);
+ this.Controls.Add(this.settings1);
+ this.Controls.Add(this.outbw1);
+ this.Controls.Add(this.inbw1);
+ this.Controls.Add(this.drop1);
+ this.Controls.Add(this.port1);
+ this.Controls.Add(this.yield1);
+ this.Controls.Add(this.techTag1);
+ this.Controls.Add(this.local1);
+ this.Controls.Add(this.nofmod1);
+ this.Controls.Add(this.noaudio1);
+ this.Controls.Add(this.url1);
+ this.Controls.Add(this.user1);
+ this.Controls.Add(this.quitAfter1);
+ this.Controls.Add(this.korean1);
+ this.Controls.Add(this.spanish1);
+ this.Controls.Add(this.debugst1);
+ this.Controls.Add(this.noutc1);
+ this.Controls.Add(this.noinvlib1);
+ this.Controls.Add(this.simple1);
+ this.Controls.Add(this.previous1);
+ this.Controls.Add(this.dialog1);
+ this.Controls.Add(this.autologin1);
+ this.Controls.Add(this.helperuri1);
+ this.Controls.Add(this.log1);
+ this.Controls.Add(this.noconsole1);
+ this.Controls.Add(this.safe1);
+ this.Controls.Add(this.nothread1);
+ this.Controls.Add(this.ignorepixeldepth1);
+ this.Controls.Add(this.noMultiple1);
+ this.Controls.Add(this.label7);
+ this.Controls.Add(this.multiple1);
+ this.Controls.Add(this.label6);
+ this.Controls.Add(this.noProbe1);
+ this.Controls.Add(this.label5);
+ this.Controls.Add(this.Launch1);
+ this.Controls.Add(this.clientBox1);
+ this.Controls.Add(this.rbGridServer);
+ this.Controls.Add(this.rbStandAloneMode);
+ this.Controls.Add(this.rbGridRegionMode);
+ this.Controls.Add(this.btnStop);
+ this.Controls.Add(this.btnStart);
+ this.Controls.Add(this.gbLog);
+ this.Controls.Add(this.menuStrip1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
+ this.MainMenuStrip = this.menuStrip1;
+ this.MaximizeBox = false;
+ this.Name = "Main";
+ this.Text = "OpenSim";
+ this.toolTip1.SetToolTip(this, "logs in local time, not UTC");
+ this.Load += new System.EventHandler(this.Main_Load);
+ this.menuStrip1.ResumeLayout(false);
+ this.menuStrip1.PerformLayout();
+ this.gbLog.ResumeLayout(false);
+ this.tabLogs.ResumeLayout(false);
+ this.tabMainLog.ResumeLayout(false);
+ this.tabMainLog.PerformLayout();
+ this.tabRegionServer.ResumeLayout(false);
+ this.tabRegionServer.PerformLayout();
+ this.tabUserServer.ResumeLayout(false);
+ this.tabUserServer.PerformLayout();
+ this.tabAssetServer.ResumeLayout(false);
+ this.tabAssetServer.PerformLayout();
+ this.tabGridServer.ResumeLayout(false);
+ this.tabGridServer.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.MenuStrip menuStrip1;
+ private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
+ private System.Windows.Forms.Timer timer1;
+ private System.Windows.Forms.TextBox clientBox1;
+ private System.Windows.Forms.Button btnStart;
+ private System.Windows.Forms.Button btnStop;
+ private System.Windows.Forms.RadioButton rbGridRegionMode;
+ private System.Windows.Forms.RadioButton rbStandAloneMode;
+ private System.Windows.Forms.RadioButton rbGridServer;
+ private System.Windows.Forms.Button Launch1;
+ private System.Windows.Forms.GroupBox gbLog;
+ private System.Windows.Forms.TabControl tabLogs;
+ private System.Windows.Forms.TabPage tabMainLog;
+ private System.Windows.Forms.TabPage tabRegionServer;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox txtOpenSim;
+ private System.Windows.Forms.TabPage tabUserServer;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtUserServer;
+ private System.Windows.Forms.TabPage tabAssetServer;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.TextBox txtAssetServer;
+ private System.Windows.Forms.TabPage tabGridServer;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.TextBox txtGridServer;
+ private System.Windows.Forms.TextBox txtMainLog;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.CheckBox noProbe1;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.CheckBox multiple1;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.CheckBox noMultiple1;
+ private System.Windows.Forms.CheckBox ignorepixeldepth1;
+ private System.Windows.Forms.CheckBox nothread1;
+ private System.Windows.Forms.CheckBox safe1;
+ private System.Windows.Forms.CheckBox noconsole1;
+ private System.Windows.Forms.CheckBox log1;
+ private System.Windows.Forms.CheckBox helperuri1;
+ private System.Windows.Forms.CheckBox autologin1;
+ private System.Windows.Forms.ToolTip toolTip1;
+ private System.Windows.Forms.CheckBox dialog1;
+ private System.Windows.Forms.CheckBox previous1;
+ private System.Windows.Forms.CheckBox simple1;
+ private System.Windows.Forms.CheckBox noinvlib1;
+ private System.Windows.Forms.CheckBox noutc1;
+ private System.Windows.Forms.CheckBox debugst1;
+ private System.Windows.Forms.CheckBox spanish1;
+ private System.Windows.Forms.CheckBox korean1;
+ private System.Windows.Forms.CheckBox local1;
+ private System.Windows.Forms.CheckBox nofmod1;
+ private System.Windows.Forms.CheckBox noaudio1;
+ private System.Windows.Forms.CheckBox url1;
+ private System.Windows.Forms.CheckBox user1;
+ private System.Windows.Forms.CheckBox quitAfter1;
+ private System.Windows.Forms.CheckBox techTag1;
+ private System.Windows.Forms.CheckBox yield1;
+ private System.Windows.Forms.CheckBox purge1;
+ private System.Windows.Forms.CheckBox nosound1;
+ private System.Windows.Forms.CheckBox logfile1;
+ private System.Windows.Forms.CheckBox settings1;
+ private System.Windows.Forms.CheckBox outbw1;
+ private System.Windows.Forms.CheckBox inbw1;
+ private System.Windows.Forms.CheckBox drop1;
+ private System.Windows.Forms.CheckBox port1;
+ private System.Windows.Forms.TextBox nataddress1;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.TextBox exeBox1;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.TextBox simBox1;
+ private System.Windows.Forms.TextBox portBox1;
+ private System.Windows.Forms.TextBox dropBox1;
+ private System.Windows.Forms.TextBox inbwBox1;
+ private System.Windows.Forms.TextBox outbwBox1;
+ private System.Windows.Forms.TextBox settingsBox1;
+ private System.Windows.Forms.TextBox logfileBox1;
+ private System.Windows.Forms.TextBox yieldBox1;
+ private System.Windows.Forms.TextBox techtagBox1;
+ private System.Windows.Forms.TextBox quitafterBox1;
+ private System.Windows.Forms.ComboBox comboBox1;
+ private System.Windows.Forms.CheckBox loginuri1;
+ private System.Windows.Forms.TextBox loginuriBox1;
+ private System.Windows.Forms.CheckBox set1;
+ private System.Windows.Forms.TextBox setBox1;
+ private System.Windows.Forms.CheckBox errmask1;
+ private System.Windows.Forms.CheckBox skin1;
+ private System.Windows.Forms.CheckBox login1;
+ private System.Windows.Forms.TextBox errmaskBox1;
+ private System.Windows.Forms.TextBox skinBox1;
+ private System.Windows.Forms.TextBox firstBox1;
+ private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.Label label12;
+ private System.Windows.Forms.Label label13;
+ private System.Windows.Forms.TextBox lastBox1;
+ private System.Windows.Forms.TextBox passBox1;
+ private InputTextBoxControl txtInputUserServer;
+ private InputTextBoxControl txtInputAssetServer;
+ private InputTextBoxControl txtInputRegionServer;
+ private InputTextBoxControl txtInputGridServer;
+ private System.Windows.Forms.CheckBox raw1;
+ private System.Windows.Forms.TextBox rawBox1;
+ private System.Windows.Forms.Button clear1;
+ }
+}
+
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs
index 3e6826a4b3..d5b5616bae 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -1,537 +1,537 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-
-namespace OpenSim.GUI
-{
- public partial class Main : Form
- {
-
- public ProcessManager proc_OpenSim;
- public ProcessManager proc_UserServer;
- public ProcessManager proc_GridServer;
- public ProcessManager proc_AssetServer;
-
- public Main()
- {
- InitializeComponent();
- }
-
- private void Main_Load(object sender, EventArgs e)
- {
- txtInputUserServer.KeyPress += new KeyPressEventHandler(txtInputUserServer_KeyPress);
- txtInputGridServer.KeyPress += new KeyPressEventHandler(txtInputGridServer_KeyPress);
- txtInputAssetServer.KeyPress += new KeyPressEventHandler(txtInputAssetServer_KeyPress);
- txtInputRegionServer.KeyPress += new KeyPressEventHandler(txtInputRegionServer_KeyPress);
-
- tabLogs.Selected += new TabControlEventHandler(tabLogs_Selected);
-
- UpdateTabVisibility();
- }
-
- void tabLogs_Selected(object sender, TabControlEventArgs e)
- {
- if (e.TabPage == tabUserServer)
- txtInputUserServer.Focus();
- if (e.TabPage == tabGridServer)
- txtInputGridServer.Focus();
- if (e.TabPage == tabAssetServer)
- txtInputAssetServer.Focus();
- if (e.TabPage == tabRegionServer)
- txtInputRegionServer.Focus();
- }
-
- void txtInputUserServer_KeyPress(object sender, KeyPressEventArgs e)
- {
-
- if (e.KeyChar == 13)
- {
- // We got a command
- e.Handled = true;
- proc_UserServer.StandardInput.WriteLine(txtInputUserServer.Text + "\r\n");
- txtInputUserServer.Text = "";
- }
- }
-
- void txtInputGridServer_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == 13)
- {
- // We got a command
- e.Handled = true;
- proc_GridServer.StandardInput.WriteLine(txtInputGridServer.Text + "\r\n");
- txtInputGridServer.Text = "";
- }
- }
-
- void txtInputAssetServer_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == 13)
- {
- // We got a command
- e.Handled = true;
- proc_AssetServer.StandardInput.WriteLine(txtInputAssetServer.Text + "\r\n");
- txtInputAssetServer.Text = "";
- }
- }
-
- void txtInputRegionServer_KeyPress(object sender, KeyPressEventArgs e)
- {
- if (e.KeyChar == 13)
- {
- // We got a command
- e.Handled = true;
- proc_OpenSim.StandardInput.WriteLine(txtInputRegionServer.Text + "\r\n");
- txtInputRegionServer.Text = "";
- }
- }
-
- private void btnStart_Click(object sender, EventArgs e)
- {
- noProbe1.Checked = true;
- multiple1.Checked = true;
- loginuri1.Checked = true;
- login1.Checked = true;
- //
- // THIS PART NEEDS TO BE MOVED TO A SEPARATE THREAD OR A TIMER OF SOME SORT
- // should not block on wait
- // ALSO - IF SOME SERVICES ARE NOT CONFIGURED, POP UP CONFIGURATION BOX FOR THAT SERVICE!
- //
-
- btnStart.Enabled = false;
- btnStop.Enabled = false;
-
-
-
- if (rbGridServer.Checked)
- {
- // Start UserServer
- proc_UserServer = new ProcessManager("OpenSim.Grid.UserServer.exe", "");
- txtMainLog.AppendText("Starting: User server" + "\r\n");
- proc_UserServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_UserServer_DataReceived);
- proc_UserServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_UserServer_DataReceived);
- proc_UserServer.StartProcess();
- System.Threading.Thread.Sleep(3000);
-
- // Start GridServer
- proc_GridServer = new ProcessManager("OpenSim.Grid.GridServer.exe", "");
- txtMainLog.AppendText("Starting: Grid server" + "\r\n");
- proc_GridServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_GridServer_DataReceived);
- proc_GridServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_GridServer_DataReceived);
- proc_GridServer.StartProcess();
- System.Threading.Thread.Sleep(3000);
-
- // Start AssetServer
- proc_AssetServer = new ProcessManager("OpenSim.Grid.AssetServer.exe", "");
- txtMainLog.AppendText("Starting: Asset server" + "\r\n");
- proc_AssetServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_AssetServer_DataReceived);
- proc_AssetServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_AssetServer_DataReceived);
- proc_AssetServer.StartProcess();
- System.Threading.Thread.Sleep(3000);
- }
-
- // Start OpenSim
- string p = "";
- if (rbGridServer.Checked)
- p = "-gridmode=true";
-
- proc_OpenSim = new ProcessManager("OpenSim.EXE", p);
- txtMainLog.AppendText("Starting: OpenSim (Region server)" + "\r\n");
- proc_OpenSim.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_OpenSim_DataReceived);
- proc_OpenSim.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_OpenSim_DataReceived);
- proc_OpenSim.StartProcess();
-
- btnStart.Enabled = false;
- btnStop.Enabled = true;
-
- }
- public delegate void AppendText(string Text);
- void proc_UserServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
- {
- this.Invoke(new AppendText(txtUserServer.AppendText), new object[] { e.Data + "\r\n" });
- this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "UserServer: " + e.Data + "\r\n" });
- }
- void proc_GridServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
- {
- this.Invoke(new AppendText(txtGridServer.AppendText), new object[] { e.Data + "\r\n" });
- this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "GridServer: " + e.Data + "\r\n" });
- }
- void proc_AssetServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
- {
- this.Invoke(new AppendText(txtAssetServer.AppendText), new object[] { e.Data + "\r\n" });
- this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "AssetServer: " + e.Data + "\r\n" });
- }
- void proc_OpenSim_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
- {
- this.Invoke(new AppendText(txtOpenSim.AppendText), new object[] { e.Data + "\r\n" });
- this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "OpenSim: " + e.Data + "\r\n" });
- }
-
- private void btnStop_Click(object sender, EventArgs e)
- {
- btnStart.Enabled = false;
- btnStop.Enabled = false;
- Stop();
- btnStart.Enabled = true;
- btnStop.Enabled = false;
- }
-
- private void clear1_Click(object sender, EventArgs e)
- {
- noProbe1.Checked = false; multiple1.Checked = false; loginuri1.Checked = false;
- noMultiple1.Checked = false; korean1.Checked = false; spanish1.Checked = false;
- ignorepixeldepth1.Checked = false; nothread1.Checked = false; safe1.Checked = false;
- noconsole1.Checked = false; log1.Checked = false; helperuri1.Checked = false;
- autologin1.Checked = false; dialog1.Checked = false; previous1.Checked = false;
- simple1.Checked = false; noinvlib1.Checked = false; noutc1.Checked = false;
- debugst1.Checked = false; local1.Checked = false; purge1.Checked = false;
- nofmod1.Checked = false; nosound1.Checked = false; noaudio1.Checked = false;
- url1.Checked = false; port1.Checked = false; drop1.Checked = false;
- inbw1.Checked = false; outbw1.Checked = false; settings1.Checked = false;
- logfile1.Checked = false; yield1.Checked = false; techTag1.Checked = false;
- quitAfter1.Checked = false; loginuri1.Checked = false; set1.Checked = false;
- errmask1.Checked = false; raw1.Checked = false; skin1.Checked = false;
- user1.Checked = false; login1.Checked = false;
- }
-
- private void Stop()
- {
- if (proc_UserServer != null)
- {
- txtMainLog.AppendText("Shutting down UserServer. CPU time used: " + proc_UserServer.TotalProcessorTime.ToString() + "\r\n");
- proc_UserServer.StopProcess();
- proc_UserServer = null;
- }
- if (proc_GridServer != null)
- {
- txtMainLog.AppendText("Shutting down GridServer. CPU time used: " + proc_GridServer.TotalProcessorTime.ToString() + "\r\n");
- proc_GridServer.StopProcess();
- proc_GridServer = null;
- }
- if (proc_AssetServer != null)
- {
- txtMainLog.AppendText("Shutting down AssetServer. CPU time used: " + proc_AssetServer.TotalProcessorTime.ToString() + "\r\n");
- proc_AssetServer.StopProcess();
- proc_AssetServer = null;
- }
- if (proc_OpenSim != null)
- {
- txtMainLog.AppendText("Shutting down OpenSim. CPU time used: " + proc_OpenSim.TotalProcessorTime.ToString() + "\r\n");
- proc_OpenSim.StopProcess();
- proc_OpenSim = null;
- }
- }
- private void UpdateTabVisibility()
- {
- if (rbStandAloneMode.Checked)
- {
- if (tabLogs.TabPages.Contains(tabUserServer))
- tabLogs.TabPages.Remove(tabUserServer);
- if (tabLogs.TabPages.Contains(tabGridServer))
- tabLogs.TabPages.Remove(tabGridServer);
- if (tabLogs.TabPages.Contains(tabAssetServer))
- tabLogs.TabPages.Remove(tabAssetServer);
- }
- else
- {
- if (!tabLogs.TabPages.Contains(tabUserServer))
- tabLogs.TabPages.Add(tabUserServer);
- if (!tabLogs.TabPages.Contains(tabGridServer))
- tabLogs.TabPages.Add(tabGridServer);
- if (!tabLogs.TabPages.Contains(tabAssetServer))
- tabLogs.TabPages.Add(tabAssetServer);
- }
- }
-
- private void rbStandAloneMode_CheckedChanged(object sender, EventArgs e)
- {
- UpdateTabVisibility();
- }
-
- private void rbGridRegionMode_CheckedChanged(object sender, EventArgs e)
- {
- UpdateTabVisibility();
- }
-
- private void rbGridServer_CheckedChanged(object sender, EventArgs e)
- {
- UpdateTabVisibility();
- }
-
- private int counter;
-
- private void Exit()
- {
- counter = 0;
- timer1.Interval = 600;
- timer1.Enabled = true;
- this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
- }
-
- private void timer1_Tick(object sender, System.EventArgs e)
- {
- if (counter >= 10)
- {
- timer1.Enabled = false;
- counter = 0;
- Application.Exit();
- }
- else
- {
- counter = counter + 1;
- }
- }
-
- private void exitToolStripMenuItem_Click(object sender, EventArgs e)
- {
- if (proc_UserServer != null || proc_GridServer != null || proc_AssetServer != null || proc_OpenSim != null)
- {
- label6.Text = "Stopping server(s) and waiting to safely close..............";
- Stop();
- Exit();
- }
- else
- {
- Application.Exit();
- }
- }
- ///
- /// CLIENT SECTION
- ///
- string exeString;
- string exeArgs;
- string usrsvr;
- string error = "Reconsider your commandline choices, you have opposing values selected!";
-
- private void label6_Click(object sender, EventArgs e)
- {
- label6.Text = clientBox1.Text;
- }
- private void errorSwitches()
- {
- MessageBox.Show(error);
- label6.Text = error;
- }
- bool exists;
- private void Launch1_Click(object sender, EventArgs e)
- {
- if (exists = System.IO.File.Exists(clientBox1.Text + exeBox1.Text))
- {
- executeClient();
- }
- else
- {
- MessageBox.Show("FILE DOES NOT EXIST!!!");
- label6.Text = "FILE DOES NOT EXIST!!!";
- }
- }
- private void NATfix()
- {
- }
- private void executeClient()
- {
- label6.Text = "";
- exeArgs = "";
- exeString = clientBox1.Text;
- exeString = exeString += exeBox1.Text;
-
- if (multiple1.Checked == true && noMultiple1.Checked == true) errorSwitches();
- else if (korean1.Checked == true && spanish1.Checked == true) errorSwitches();
- else
- {
- if (noProbe1.Checked == true) exeArgs = exeArgs += " -noprobe";
- if (multiple1.Checked == true) exeArgs = exeArgs += " -multiple";
- if (noMultiple1.Checked == true) exeArgs = exeArgs += " -nomultiple";
- if (korean1.Checked == true) exeArgs = exeArgs += " -korean";
- if (spanish1.Checked == true) exeArgs = exeArgs += " -spanish";
- if (ignorepixeldepth1.Checked == true) exeArgs = exeArgs += " -ignorepixeldepth";
- if (nothread1.Checked == true) exeArgs = exeArgs += " -nothread";
- if (safe1.Checked == true) exeArgs = exeArgs += " -safe";
- if (noconsole1.Checked == true) exeArgs = exeArgs += " -noconsole";
- if (log1.Checked == true) exeArgs = exeArgs += " -log";
- if (helperuri1.Checked == true) exeArgs = exeArgs += " -helperuri";
- if (autologin1.Checked == true) exeArgs = exeArgs += " --autologin";
- if (dialog1.Checked == true) exeArgs = exeArgs += " -dialog";
- if (previous1.Checked == true) exeArgs = exeArgs += " -previous";
- if (simple1.Checked == true) exeArgs = exeArgs += " -simple";
- if (noinvlib1.Checked == true) exeArgs = exeArgs += " -noinvlib";
- if (noutc1.Checked == true) exeArgs = exeArgs += " -noutc";
- if (debugst1.Checked == true) exeArgs = exeArgs += " -debugst";
- if (local1.Checked == true) exeArgs = exeArgs += " -local";
- if (purge1.Checked == true) exeArgs = exeArgs += " -purge";
- if (nofmod1.Checked == true) exeArgs = exeArgs += " -nofmod";
- if (nosound1.Checked == true) exeArgs = exeArgs += " -nosound";
- if (noaudio1.Checked == true) exeArgs = exeArgs += " -noaudio";
- if (url1.Checked == true)
- {
- exeArgs = exeArgs += " -url ";
- exeArgs = exeArgs += simBox1.Text;
- }
- if (port1.Checked == true)
- {
- int aPort;
- aPort = Convert.ToInt32(portBox1.Text);
- if (aPort > 13050)
- {
- portBox1.Text = "13050";
- MessageBox.Show("Enter Usable port number, defaulting to 13050.");
- }
- if(aPort < 13000)
- {
- portBox1.Text = "13000";
- MessageBox.Show("Enter Usable port number, defaulting to 13000.");
- }
- else
- {
- }
- exeArgs = exeArgs += " -port ";
- exeArgs = exeArgs += portBox1.Text;
- }
- if (drop1.Checked == true)
- {
- int aPct;
- aPct = Convert.ToInt32(dropBox1.Text);
- if (aPct > 100)
- {
- dropBox1.Text = "100";
- MessageBox.Show("Enter Usable port number, defaulting to 100.");
- }
- if (aPct < 0)
- {
- dropBox1.Text = "0";
- MessageBox.Show("Enter Usable port number, defaulting to 0.");
- }
- else
- {
- }
- exeArgs = exeArgs += " -drop ";
- exeArgs = exeArgs += dropBox1.Text;
- }
- if (inbw1.Checked == true)
- {
- exeArgs = exeArgs += " -inbw ";
- exeArgs = exeArgs += inbwBox1.Text;
- }
- if (outbw1.Checked == true)
- {
- exeArgs = exeArgs += " -outbw ";
- exeArgs = exeArgs += outbwBox1.Text;
- }
- if (settings1.Checked == true)
- {
- exeArgs = exeArgs += " -settings ";
- exeArgs = exeArgs += settingsBox1.Text;
- }
- if (logfile1.Checked == true)
- {
- exeArgs = exeArgs += " -logfile ";
- exeArgs = exeArgs += logfileBox1.Text;
- }
- if (yield1.Checked == true)
- {
- exeArgs = exeArgs += " -yield ";
- exeArgs = exeArgs += yieldBox1.Text;
- }
- if (techTag1.Checked == true)
- {
- exeArgs = exeArgs += " -techtag ";
- exeArgs = exeArgs += techtagBox1.Text;
- }
- if (quitAfter1.Checked == true)
- {
- exeArgs = exeArgs += " -quitafter ";
- exeArgs = exeArgs += quitafterBox1.Text;
- }
- if (loginuri1.Checked == true)
- {
- exeArgs = exeArgs += " -loginuri ";
- exeArgs = exeArgs += loginuriBox1.Text;
- }
- if (set1.Checked == true)
- {
- exeArgs = exeArgs += " -set ";
- exeArgs = exeArgs += setBox1.Text;
- }
- if (errmask1.Checked == true)
- {
- exeArgs = exeArgs += " -errmask ";
- exeArgs = exeArgs += errmaskBox1.Text;
- }
- if (raw1.Checked == true)
- {
- exeArgs = exeArgs += " " + rawBox1.Text;
- }
- if (skin1.Checked == true)
- {
- bool exists;
- if (exists = System.IO.File.Exists(skinBox1.Text + "skin.xml"))
- {
- exeArgs = exeArgs += " -skin ";
- exeArgs = exeArgs += skinBox1.Text + "skin.xml";
- }
- else
- {
- MessageBox.Show("SKIN FILE DOES NOT EXIST AT SPECIFIED LOCATION!!!");
- skin1.Checked = false;
- executeClient();
- }
- }
- if (user1.Checked == true)
- {
- //find actual login urls
- if (comboBox1.Text == "agni") { usrsvr = " -user " + "--agni"; }
- if (comboBox1.Text == "colo") { usrsvr = " -user " + "--colo"; }
- if (comboBox1.Text == "dmz") { usrsvr = " -user " + "--dmz"; }
- if (comboBox1.Text == "durga") { usrsvr = " -user " + "--Durga"; }
- if (comboBox1.Text == "siva") { usrsvr = " -user " + "--siva"; }
- exeArgs = exeArgs += usrsvr;
- }
- if (login1.Checked == true)
- {
- exeArgs = exeArgs += " -login ";
- exeArgs = exeArgs += firstBox1.Text + " " + lastBox1.Text + " " + passBox1.Text;
- }
- label6.Text = exeString + exeArgs;
- System.Diagnostics.Process proc = new System.Diagnostics.Process();
- proc.StartInfo.FileName = exeString;
- proc.StartInfo.Arguments = exeArgs;
- proc.StartInfo.UseShellExecute = false;
- proc.StartInfo.RedirectStandardOutput = false;
- proc.StartInfo.WorkingDirectory = clientBox1.Text;
- proc.Start();
- }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+
+namespace OpenSim.GUI
+{
+ public partial class Main : Form
+ {
+
+ public ProcessManager proc_OpenSim;
+ public ProcessManager proc_UserServer;
+ public ProcessManager proc_GridServer;
+ public ProcessManager proc_AssetServer;
+
+ public Main()
+ {
+ InitializeComponent();
+ }
+
+ private void Main_Load(object sender, EventArgs e)
+ {
+ txtInputUserServer.KeyPress += new KeyPressEventHandler(txtInputUserServer_KeyPress);
+ txtInputGridServer.KeyPress += new KeyPressEventHandler(txtInputGridServer_KeyPress);
+ txtInputAssetServer.KeyPress += new KeyPressEventHandler(txtInputAssetServer_KeyPress);
+ txtInputRegionServer.KeyPress += new KeyPressEventHandler(txtInputRegionServer_KeyPress);
+
+ tabLogs.Selected += new TabControlEventHandler(tabLogs_Selected);
+
+ UpdateTabVisibility();
+ }
+
+ void tabLogs_Selected(object sender, TabControlEventArgs e)
+ {
+ if (e.TabPage == tabUserServer)
+ txtInputUserServer.Focus();
+ if (e.TabPage == tabGridServer)
+ txtInputGridServer.Focus();
+ if (e.TabPage == tabAssetServer)
+ txtInputAssetServer.Focus();
+ if (e.TabPage == tabRegionServer)
+ txtInputRegionServer.Focus();
+ }
+
+ void txtInputUserServer_KeyPress(object sender, KeyPressEventArgs e)
+ {
+
+ if (e.KeyChar == 13)
+ {
+ // We got a command
+ e.Handled = true;
+ proc_UserServer.StandardInput.WriteLine(txtInputUserServer.Text + "\r\n");
+ txtInputUserServer.Text = "";
+ }
+ }
+
+ void txtInputGridServer_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar == 13)
+ {
+ // We got a command
+ e.Handled = true;
+ proc_GridServer.StandardInput.WriteLine(txtInputGridServer.Text + "\r\n");
+ txtInputGridServer.Text = "";
+ }
+ }
+
+ void txtInputAssetServer_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar == 13)
+ {
+ // We got a command
+ e.Handled = true;
+ proc_AssetServer.StandardInput.WriteLine(txtInputAssetServer.Text + "\r\n");
+ txtInputAssetServer.Text = "";
+ }
+ }
+
+ void txtInputRegionServer_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar == 13)
+ {
+ // We got a command
+ e.Handled = true;
+ proc_OpenSim.StandardInput.WriteLine(txtInputRegionServer.Text + "\r\n");
+ txtInputRegionServer.Text = "";
+ }
+ }
+
+ private void btnStart_Click(object sender, EventArgs e)
+ {
+ noProbe1.Checked = true;
+ multiple1.Checked = true;
+ loginuri1.Checked = true;
+ login1.Checked = true;
+ //
+ // THIS PART NEEDS TO BE MOVED TO A SEPARATE THREAD OR A TIMER OF SOME SORT
+ // should not block on wait
+ // ALSO - IF SOME SERVICES ARE NOT CONFIGURED, POP UP CONFIGURATION BOX FOR THAT SERVICE!
+ //
+
+ btnStart.Enabled = false;
+ btnStop.Enabled = false;
+
+
+
+ if (rbGridServer.Checked)
+ {
+ // Start UserServer
+ proc_UserServer = new ProcessManager("OpenSim.Grid.UserServer.exe", "");
+ txtMainLog.AppendText("Starting: User server" + "\r\n");
+ proc_UserServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_UserServer_DataReceived);
+ proc_UserServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_UserServer_DataReceived);
+ proc_UserServer.StartProcess();
+ System.Threading.Thread.Sleep(3000);
+
+ // Start GridServer
+ proc_GridServer = new ProcessManager("OpenSim.Grid.GridServer.exe", "");
+ txtMainLog.AppendText("Starting: Grid server" + "\r\n");
+ proc_GridServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_GridServer_DataReceived);
+ proc_GridServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_GridServer_DataReceived);
+ proc_GridServer.StartProcess();
+ System.Threading.Thread.Sleep(3000);
+
+ // Start AssetServer
+ proc_AssetServer = new ProcessManager("OpenSim.Grid.AssetServer.exe", "");
+ txtMainLog.AppendText("Starting: Asset server" + "\r\n");
+ proc_AssetServer.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_AssetServer_DataReceived);
+ proc_AssetServer.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_AssetServer_DataReceived);
+ proc_AssetServer.StartProcess();
+ System.Threading.Thread.Sleep(3000);
+ }
+
+ // Start OpenSim
+ string p = "";
+ if (rbGridServer.Checked)
+ p = "-gridmode=true";
+
+ proc_OpenSim = new ProcessManager("OpenSim.EXE", p);
+ txtMainLog.AppendText("Starting: OpenSim (Region server)" + "\r\n");
+ proc_OpenSim.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_OpenSim_DataReceived);
+ proc_OpenSim.ErrorDataReceived += new System.Diagnostics.DataReceivedEventHandler(proc_OpenSim_DataReceived);
+ proc_OpenSim.StartProcess();
+
+ btnStart.Enabled = false;
+ btnStop.Enabled = true;
+
+ }
+ public delegate void AppendText(string Text);
+ void proc_UserServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
+ {
+ this.Invoke(new AppendText(txtUserServer.AppendText), new object[] { e.Data + "\r\n" });
+ this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "UserServer: " + e.Data + "\r\n" });
+ }
+ void proc_GridServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
+ {
+ this.Invoke(new AppendText(txtGridServer.AppendText), new object[] { e.Data + "\r\n" });
+ this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "GridServer: " + e.Data + "\r\n" });
+ }
+ void proc_AssetServer_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
+ {
+ this.Invoke(new AppendText(txtAssetServer.AppendText), new object[] { e.Data + "\r\n" });
+ this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "AssetServer: " + e.Data + "\r\n" });
+ }
+ void proc_OpenSim_DataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
+ {
+ this.Invoke(new AppendText(txtOpenSim.AppendText), new object[] { e.Data + "\r\n" });
+ this.Invoke(new AppendText(txtMainLog.AppendText), new object[] { "OpenSim: " + e.Data + "\r\n" });
+ }
+
+ private void btnStop_Click(object sender, EventArgs e)
+ {
+ btnStart.Enabled = false;
+ btnStop.Enabled = false;
+ Stop();
+ btnStart.Enabled = true;
+ btnStop.Enabled = false;
+ }
+
+ private void clear1_Click(object sender, EventArgs e)
+ {
+ noProbe1.Checked = false; multiple1.Checked = false; loginuri1.Checked = false;
+ noMultiple1.Checked = false; korean1.Checked = false; spanish1.Checked = false;
+ ignorepixeldepth1.Checked = false; nothread1.Checked = false; safe1.Checked = false;
+ noconsole1.Checked = false; log1.Checked = false; helperuri1.Checked = false;
+ autologin1.Checked = false; dialog1.Checked = false; previous1.Checked = false;
+ simple1.Checked = false; noinvlib1.Checked = false; noutc1.Checked = false;
+ debugst1.Checked = false; local1.Checked = false; purge1.Checked = false;
+ nofmod1.Checked = false; nosound1.Checked = false; noaudio1.Checked = false;
+ url1.Checked = false; port1.Checked = false; drop1.Checked = false;
+ inbw1.Checked = false; outbw1.Checked = false; settings1.Checked = false;
+ logfile1.Checked = false; yield1.Checked = false; techTag1.Checked = false;
+ quitAfter1.Checked = false; loginuri1.Checked = false; set1.Checked = false;
+ errmask1.Checked = false; raw1.Checked = false; skin1.Checked = false;
+ user1.Checked = false; login1.Checked = false;
+ }
+
+ private void Stop()
+ {
+ if (proc_UserServer != null)
+ {
+ txtMainLog.AppendText("Shutting down UserServer. CPU time used: " + proc_UserServer.TotalProcessorTime.ToString() + "\r\n");
+ proc_UserServer.StopProcess();
+ proc_UserServer = null;
+ }
+ if (proc_GridServer != null)
+ {
+ txtMainLog.AppendText("Shutting down GridServer. CPU time used: " + proc_GridServer.TotalProcessorTime.ToString() + "\r\n");
+ proc_GridServer.StopProcess();
+ proc_GridServer = null;
+ }
+ if (proc_AssetServer != null)
+ {
+ txtMainLog.AppendText("Shutting down AssetServer. CPU time used: " + proc_AssetServer.TotalProcessorTime.ToString() + "\r\n");
+ proc_AssetServer.StopProcess();
+ proc_AssetServer = null;
+ }
+ if (proc_OpenSim != null)
+ {
+ txtMainLog.AppendText("Shutting down OpenSim. CPU time used: " + proc_OpenSim.TotalProcessorTime.ToString() + "\r\n");
+ proc_OpenSim.StopProcess();
+ proc_OpenSim = null;
+ }
+ }
+ private void UpdateTabVisibility()
+ {
+ if (rbStandAloneMode.Checked)
+ {
+ if (tabLogs.TabPages.Contains(tabUserServer))
+ tabLogs.TabPages.Remove(tabUserServer);
+ if (tabLogs.TabPages.Contains(tabGridServer))
+ tabLogs.TabPages.Remove(tabGridServer);
+ if (tabLogs.TabPages.Contains(tabAssetServer))
+ tabLogs.TabPages.Remove(tabAssetServer);
+ }
+ else
+ {
+ if (!tabLogs.TabPages.Contains(tabUserServer))
+ tabLogs.TabPages.Add(tabUserServer);
+ if (!tabLogs.TabPages.Contains(tabGridServer))
+ tabLogs.TabPages.Add(tabGridServer);
+ if (!tabLogs.TabPages.Contains(tabAssetServer))
+ tabLogs.TabPages.Add(tabAssetServer);
+ }
+ }
+
+ private void rbStandAloneMode_CheckedChanged(object sender, EventArgs e)
+ {
+ UpdateTabVisibility();
+ }
+
+ private void rbGridRegionMode_CheckedChanged(object sender, EventArgs e)
+ {
+ UpdateTabVisibility();
+ }
+
+ private void rbGridServer_CheckedChanged(object sender, EventArgs e)
+ {
+ UpdateTabVisibility();
+ }
+
+ private int counter;
+
+ private void Exit()
+ {
+ counter = 0;
+ timer1.Interval = 600;
+ timer1.Enabled = true;
+ this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
+ }
+
+ private void timer1_Tick(object sender, System.EventArgs e)
+ {
+ if (counter >= 10)
+ {
+ timer1.Enabled = false;
+ counter = 0;
+ Application.Exit();
+ }
+ else
+ {
+ counter = counter + 1;
+ }
+ }
+
+ private void exitToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (proc_UserServer != null || proc_GridServer != null || proc_AssetServer != null || proc_OpenSim != null)
+ {
+ label6.Text = "Stopping server(s) and waiting to safely close..............";
+ Stop();
+ Exit();
+ }
+ else
+ {
+ Application.Exit();
+ }
+ }
+ ///
+ /// CLIENT SECTION
+ ///
+ string exeString;
+ string exeArgs;
+ string usrsvr;
+ string error = "Reconsider your commandline choices, you have opposing values selected!";
+
+ private void label6_Click(object sender, EventArgs e)
+ {
+ label6.Text = clientBox1.Text;
+ }
+ private void errorSwitches()
+ {
+ MessageBox.Show(error);
+ label6.Text = error;
+ }
+ bool exists;
+ private void Launch1_Click(object sender, EventArgs e)
+ {
+ if (exists = System.IO.File.Exists(clientBox1.Text + exeBox1.Text))
+ {
+ executeClient();
+ }
+ else
+ {
+ MessageBox.Show("FILE DOES NOT EXIST!!!");
+ label6.Text = "FILE DOES NOT EXIST!!!";
+ }
+ }
+ private void NATfix()
+ {
+ }
+ private void executeClient()
+ {
+ label6.Text = "";
+ exeArgs = "";
+ exeString = clientBox1.Text;
+ exeString = exeString += exeBox1.Text;
+
+ if (multiple1.Checked == true && noMultiple1.Checked == true) errorSwitches();
+ else if (korean1.Checked == true && spanish1.Checked == true) errorSwitches();
+ else
+ {
+ if (noProbe1.Checked == true) exeArgs = exeArgs += " -noprobe";
+ if (multiple1.Checked == true) exeArgs = exeArgs += " -multiple";
+ if (noMultiple1.Checked == true) exeArgs = exeArgs += " -nomultiple";
+ if (korean1.Checked == true) exeArgs = exeArgs += " -korean";
+ if (spanish1.Checked == true) exeArgs = exeArgs += " -spanish";
+ if (ignorepixeldepth1.Checked == true) exeArgs = exeArgs += " -ignorepixeldepth";
+ if (nothread1.Checked == true) exeArgs = exeArgs += " -nothread";
+ if (safe1.Checked == true) exeArgs = exeArgs += " -safe";
+ if (noconsole1.Checked == true) exeArgs = exeArgs += " -noconsole";
+ if (log1.Checked == true) exeArgs = exeArgs += " -log";
+ if (helperuri1.Checked == true) exeArgs = exeArgs += " -helperuri";
+ if (autologin1.Checked == true) exeArgs = exeArgs += " --autologin";
+ if (dialog1.Checked == true) exeArgs = exeArgs += " -dialog";
+ if (previous1.Checked == true) exeArgs = exeArgs += " -previous";
+ if (simple1.Checked == true) exeArgs = exeArgs += " -simple";
+ if (noinvlib1.Checked == true) exeArgs = exeArgs += " -noinvlib";
+ if (noutc1.Checked == true) exeArgs = exeArgs += " -noutc";
+ if (debugst1.Checked == true) exeArgs = exeArgs += " -debugst";
+ if (local1.Checked == true) exeArgs = exeArgs += " -local";
+ if (purge1.Checked == true) exeArgs = exeArgs += " -purge";
+ if (nofmod1.Checked == true) exeArgs = exeArgs += " -nofmod";
+ if (nosound1.Checked == true) exeArgs = exeArgs += " -nosound";
+ if (noaudio1.Checked == true) exeArgs = exeArgs += " -noaudio";
+ if (url1.Checked == true)
+ {
+ exeArgs = exeArgs += " -url ";
+ exeArgs = exeArgs += simBox1.Text;
+ }
+ if (port1.Checked == true)
+ {
+ int aPort;
+ aPort = Convert.ToInt32(portBox1.Text);
+ if (aPort > 13050)
+ {
+ portBox1.Text = "13050";
+ MessageBox.Show("Enter Usable port number, defaulting to 13050.");
+ }
+ if(aPort < 13000)
+ {
+ portBox1.Text = "13000";
+ MessageBox.Show("Enter Usable port number, defaulting to 13000.");
+ }
+ else
+ {
+ }
+ exeArgs = exeArgs += " -port ";
+ exeArgs = exeArgs += portBox1.Text;
+ }
+ if (drop1.Checked == true)
+ {
+ int aPct;
+ aPct = Convert.ToInt32(dropBox1.Text);
+ if (aPct > 100)
+ {
+ dropBox1.Text = "100";
+ MessageBox.Show("Enter Usable port number, defaulting to 100.");
+ }
+ if (aPct < 0)
+ {
+ dropBox1.Text = "0";
+ MessageBox.Show("Enter Usable port number, defaulting to 0.");
+ }
+ else
+ {
+ }
+ exeArgs = exeArgs += " -drop ";
+ exeArgs = exeArgs += dropBox1.Text;
+ }
+ if (inbw1.Checked == true)
+ {
+ exeArgs = exeArgs += " -inbw ";
+ exeArgs = exeArgs += inbwBox1.Text;
+ }
+ if (outbw1.Checked == true)
+ {
+ exeArgs = exeArgs += " -outbw ";
+ exeArgs = exeArgs += outbwBox1.Text;
+ }
+ if (settings1.Checked == true)
+ {
+ exeArgs = exeArgs += " -settings ";
+ exeArgs = exeArgs += settingsBox1.Text;
+ }
+ if (logfile1.Checked == true)
+ {
+ exeArgs = exeArgs += " -logfile ";
+ exeArgs = exeArgs += logfileBox1.Text;
+ }
+ if (yield1.Checked == true)
+ {
+ exeArgs = exeArgs += " -yield ";
+ exeArgs = exeArgs += yieldBox1.Text;
+ }
+ if (techTag1.Checked == true)
+ {
+ exeArgs = exeArgs += " -techtag ";
+ exeArgs = exeArgs += techtagBox1.Text;
+ }
+ if (quitAfter1.Checked == true)
+ {
+ exeArgs = exeArgs += " -quitafter ";
+ exeArgs = exeArgs += quitafterBox1.Text;
+ }
+ if (loginuri1.Checked == true)
+ {
+ exeArgs = exeArgs += " -loginuri ";
+ exeArgs = exeArgs += loginuriBox1.Text;
+ }
+ if (set1.Checked == true)
+ {
+ exeArgs = exeArgs += " -set ";
+ exeArgs = exeArgs += setBox1.Text;
+ }
+ if (errmask1.Checked == true)
+ {
+ exeArgs = exeArgs += " -errmask ";
+ exeArgs = exeArgs += errmaskBox1.Text;
+ }
+ if (raw1.Checked == true)
+ {
+ exeArgs = exeArgs += " " + rawBox1.Text;
+ }
+ if (skin1.Checked == true)
+ {
+ bool exists;
+ if (exists = System.IO.File.Exists(skinBox1.Text + "skin.xml"))
+ {
+ exeArgs = exeArgs += " -skin ";
+ exeArgs = exeArgs += skinBox1.Text + "skin.xml";
+ }
+ else
+ {
+ MessageBox.Show("SKIN FILE DOES NOT EXIST AT SPECIFIED LOCATION!!!");
+ skin1.Checked = false;
+ executeClient();
+ }
+ }
+ if (user1.Checked == true)
+ {
+ //find actual login urls
+ if (comboBox1.Text == "agni") { usrsvr = " -user " + "--agni"; }
+ if (comboBox1.Text == "colo") { usrsvr = " -user " + "--colo"; }
+ if (comboBox1.Text == "dmz") { usrsvr = " -user " + "--dmz"; }
+ if (comboBox1.Text == "durga") { usrsvr = " -user " + "--Durga"; }
+ if (comboBox1.Text == "siva") { usrsvr = " -user " + "--siva"; }
+ exeArgs = exeArgs += usrsvr;
+ }
+ if (login1.Checked == true)
+ {
+ exeArgs = exeArgs += " -login ";
+ exeArgs = exeArgs += firstBox1.Text + " " + lastBox1.Text + " " + passBox1.Text;
+ }
+ label6.Text = exeString + exeArgs;
+ System.Diagnostics.Process proc = new System.Diagnostics.Process();
+ proc.StartInfo.FileName = exeString;
+ proc.StartInfo.Arguments = exeArgs;
+ proc.StartInfo.UseShellExecute = false;
+ proc.StartInfo.RedirectStandardOutput = false;
+ proc.StartInfo.WorkingDirectory = clientBox1.Text;
+ proc.Start();
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.resx b/OpenSim/Tools/OpenSim.GUI/Main.resx
index db8eb0aaa5..517179d1e1 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.resx
+++ b/OpenSim/Tools/OpenSim.GUI/Main.resx
@@ -1,135 +1,135 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 17, 17
-
-
- 126, 17
-
-
- 209, 17
-
-
- 209, 17
-
-
- 39
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+ 126, 17
+
+
+ 209, 17
+
+
+ 209, 17
+
+
+ 39
+
+
diff --git a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
index 7ac4290dd3..e722fec47e 100644
--- a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
+++ b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
@@ -1,94 +1,94 @@
-
-
- Debug
- AnyCPU
- 8.0.50727
- 2.0
- {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}
- WinExe
- Properties
- OpenSim.GUI
- OpenSim.GUI
-
-
- true
- full
- false
- ..\..\..\bin\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
- Form
-
-
- frmConfiguration.cs
-
-
- Component
-
-
- Form
-
-
- Main.cs
-
-
- Component
-
-
-
-
- Designer
- frmConfiguration.cs
-
-
- Designer
- Main.cs
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
-
-
+
+
+ Debug
+ AnyCPU
+ 8.0.50727
+ 2.0
+ {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}
+ WinExe
+ Properties
+ OpenSim.GUI
+ OpenSim.GUI
+
+
+ true
+ full
+ false
+ ..\..\..\bin\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ frmConfiguration.cs
+
+
+ Component
+
+
+ Form
+
+
+ Main.cs
+
+
+ Component
+
+
+
+
+ Designer
+ frmConfiguration.cs
+
+
+ Designer
+ Main.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
index 40cc1781e1..0fb3ea4cb8 100644
--- a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
+++ b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
@@ -1,99 +1,99 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Diagnostics;
-
-namespace OpenSim.GUI
-{
- public class ProcessManager : Process
- {
- private string m_FileName;
- private string m_Arguments;
- public ProcessManager(string FileName,string Arguments)
- {
- m_FileName = FileName;
- m_Arguments = Arguments;
-
-// MyProc = new Process();
- StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory;
- Console.WriteLine("WorkingDirectory: " + StartInfo.WorkingDirectory);
- StartInfo.FileName = m_FileName;
-
- //p.StartInfo.Arguments = "";
- StartInfo.UseShellExecute = false;
- StartInfo.RedirectStandardError = true;
- StartInfo.RedirectStandardInput = true;
- StartInfo.RedirectStandardOutput = true;
- StartInfo.CreateNoWindow = true;
-
-
-
- }
-
- public void StartProcess()
- {
- try
- {
- Start();
- BeginOutputReadLine();
- BeginErrorReadLine();
- }
- catch (Exception ex)
- {
- Console.WriteLine("Exception Occurred :{0},{1}",
- ex.Message, ex.StackTrace.ToString());
- }
- }
- public void StopProcess()
- {
- try
- {
- CancelErrorRead();
- CancelErrorRead();
- if (!HasExited)
- {
- StandardInput.WriteLine("quit");
- StandardInput.WriteLine("shutdown");
- System.Threading.Thread.Sleep(500);
- if (!HasExited)
- {
- Kill();
- }
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine("Exception Occurred :{0},{1}",
- ex.Message, ex.StackTrace.ToString());
- }
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Diagnostics;
+
+namespace OpenSim.GUI
+{
+ public class ProcessManager : Process
+ {
+ private string m_FileName;
+ private string m_Arguments;
+ public ProcessManager(string FileName,string Arguments)
+ {
+ m_FileName = FileName;
+ m_Arguments = Arguments;
+
+// MyProc = new Process();
+ StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory;
+ Console.WriteLine("WorkingDirectory: " + StartInfo.WorkingDirectory);
+ StartInfo.FileName = m_FileName;
+
+ //p.StartInfo.Arguments = "";
+ StartInfo.UseShellExecute = false;
+ StartInfo.RedirectStandardError = true;
+ StartInfo.RedirectStandardInput = true;
+ StartInfo.RedirectStandardOutput = true;
+ StartInfo.CreateNoWindow = true;
+
+
+
+ }
+
+ public void StartProcess()
+ {
+ try
+ {
+ Start();
+ BeginOutputReadLine();
+ BeginErrorReadLine();
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Exception Occurred :{0},{1}",
+ ex.Message, ex.StackTrace.ToString());
+ }
+ }
+ public void StopProcess()
+ {
+ try
+ {
+ CancelErrorRead();
+ CancelErrorRead();
+ if (!HasExited)
+ {
+ StandardInput.WriteLine("quit");
+ StandardInput.WriteLine("shutdown");
+ System.Threading.Thread.Sleep(500);
+ if (!HasExited)
+ {
+ Kill();
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Exception Occurred :{0},{1}",
+ ex.Message, ex.StackTrace.ToString());
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GUI/Program.cs b/OpenSim/Tools/OpenSim.GUI/Program.cs
index c554875bed..231a001797 100644
--- a/OpenSim/Tools/OpenSim.GUI/Program.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Program.cs
@@ -1,48 +1,48 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Windows.Forms;
-
-namespace OpenSim.GUI
-{
- static class Program
- {
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- static void Main()
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new Main());
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Windows.Forms;
+
+namespace OpenSim.GUI
+{
+ static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Main());
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
index 3e86b1ced0..f579a3f49e 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
@@ -1,33 +1,61 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenSim.GUI")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OpenSim.GUI")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("c8dbda49-66bd-476b-93b3-71774870b73e")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenSim.GUI")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.GUI")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("c8dbda49-66bd-476b-93b3-71774870b73e")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
index ffecec851a..af7dbebbac 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
@@ -1,117 +1,117 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings
index abf36c5d3d..39645652af 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
index 556349bda3..92d1aa466f 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
@@ -1,89 +1,89 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-namespace OpenSim.GUI
-{
- partial class frmConfiguration
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmConfiguration));
- this.textBox1 = new System.Windows.Forms.TextBox();
- this.SuspendLayout();
- //
- // textBox1
- //
- this.textBox1.Location = new System.Drawing.Point(12, 12);
- this.textBox1.Multiline = true;
- this.textBox1.Name = "textBox1";
- this.textBox1.Size = new System.Drawing.Size(570, 190);
- this.textBox1.TabIndex = 0;
- this.textBox1.Text = resources.GetString("textBox1.Text");
- //
- // frmConfiguration
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(664, 413);
- this.Controls.Add(this.textBox1);
- this.Name = "frmConfiguration";
- this.Text = "Configuration";
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.TextBox textBox1;
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+namespace OpenSim.GUI
+{
+ partial class frmConfiguration
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmConfiguration));
+ this.textBox1 = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // textBox1
+ //
+ this.textBox1.Location = new System.Drawing.Point(12, 12);
+ this.textBox1.Multiline = true;
+ this.textBox1.Name = "textBox1";
+ this.textBox1.Size = new System.Drawing.Size(570, 190);
+ this.textBox1.TabIndex = 0;
+ this.textBox1.Text = resources.GetString("textBox1.Text");
+ //
+ // frmConfiguration
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(664, 413);
+ this.Controls.Add(this.textBox1);
+ this.Name = "frmConfiguration";
+ this.Text = "Configuration";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox textBox1;
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
index ba64cbc301..91ad65677e 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
@@ -1,46 +1,46 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.org/
-* See CONTRIBUTORS.TXT for a full list of copyright holders.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the OpenSim Project nor the
-* names of its contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY
-* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-*/
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-
-namespace OpenSim.GUI
-{
- public partial class frmConfiguration : Form
- {
- public frmConfiguration()
- {
- InitializeComponent();
- }
- }
-}
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+
+namespace OpenSim.GUI
+{
+ public partial class frmConfiguration : Form
+ {
+ public frmConfiguration()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx
index 2002e68f0d..084547c86f 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx
@@ -1,129 +1,129 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- What I want here:
-* Region configuration add/disable/modify)
-* OpenSim config: what physics/sql/scriptengine modules
-* Configuration for each of the servers
-* An option of what parts the server will run: "Stand Alone, Grid region, Grid Server, Custom"
-Custom = you can enable/disable one or more services, for example if you only run AssetServer on this machine.
-* User manager (add/remove/lockout/modify) -- maybe a separate form for this?
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ What I want here:
+* Region configuration add/disable/modify)
+* OpenSim config: what physics/sql/scriptengine modules
+* Configuration for each of the servers
+* An option of what parts the server will run: "Stand Alone, Grid region, Grid Server, Custom"
+Custom = you can enable/disable one or more services, for example if you only run AssetServer on this machine.
+* User manager (add/remove/lockout/modify) -- maybe a separate form for this?
+
\ No newline at end of file
diff --git a/OpenSim/Tools/Windows/Installer/LICENSE.txt b/OpenSim/Tools/Windows/Installer/LICENSE.txt
deleted file mode 100644
index d38b6700b3..0000000000
--- a/OpenSim/Tools/Windows/Installer/LICENSE.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright (c) Contributors, http://opensimulator.org/
-See CONTRIBUTORS.TXT for a full list of copyright holders.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the OpenSim Project nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/OpenSim/Tools/Windows/Installer/OpenSim.nsi b/OpenSim/Tools/Windows/Installer/OpenSim.nsi
index d1df7ba678..3c3fe812b9 100644
--- a/OpenSim/Tools/Windows/Installer/OpenSim.nsi
+++ b/OpenSim/Tools/Windows/Installer/OpenSim.nsi
@@ -1,151 +1,151 @@
-!include "MUI.nsh"
-
-Name "OpenSim"
-OutFile "OpenSim Setup 0.4.exe"
-
-CRCCheck On
-
-InstallDir "$PROGRAMFILES\OpenSim"
-InstallDirRegKey HKCU "Software\OpenSim" ""
-
-;Vista redirects $SMPROGRAMS to all users without this
-RequestExecutionLevel admin
-
-Var MUI_TEMP
-Var STARTMENU_FOLDER
-
-!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
-!define MUI_LANGDLL_REGISTRY_KEY "Software\OpenSim"
-!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
-
-!define MUI_ABORTWARNING
-
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "LICENSE.txt"
-!insertmacro MUI_PAGE_DIRECTORY
-
-!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
-!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\OpenSim"
-!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
-
-!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
-
-!insertmacro MUI_PAGE_INSTFILES
-!insertmacro MUI_PAGE_FINISH
-
-!insertmacro MUI_UNPAGE_WELCOME
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-!insertmacro MUI_UNPAGE_FINISH
-
-!insertmacro MUI_LANGUAGE "English"
-!insertmacro MUI_LANGUAGE "French"
-!insertmacro MUI_LANGUAGE "German"
-!insertmacro MUI_LANGUAGE "Spanish"
-!insertmacro MUI_LANGUAGE "SpanishInternational"
-!insertmacro MUI_LANGUAGE "SimpChinese"
-!insertmacro MUI_LANGUAGE "TradChinese"
-!insertmacro MUI_LANGUAGE "Japanese"
-!insertmacro MUI_LANGUAGE "Korean"
-!insertmacro MUI_LANGUAGE "Italian"
-!insertmacro MUI_LANGUAGE "Dutch"
-!insertmacro MUI_LANGUAGE "Danish"
-!insertmacro MUI_LANGUAGE "Swedish"
-!insertmacro MUI_LANGUAGE "Norwegian"
-!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
-!insertmacro MUI_LANGUAGE "Finnish"
-!insertmacro MUI_LANGUAGE "Greek"
-!insertmacro MUI_LANGUAGE "Russian"
-!insertmacro MUI_LANGUAGE "Portuguese"
-!insertmacro MUI_LANGUAGE "PortugueseBR"
-!insertmacro MUI_LANGUAGE "Polish"
-!insertmacro MUI_LANGUAGE "Ukrainian"
-!insertmacro MUI_LANGUAGE "Czech"
-!insertmacro MUI_LANGUAGE "Slovak"
-!insertmacro MUI_LANGUAGE "Croatian"
-!insertmacro MUI_LANGUAGE "Bulgarian"
-!insertmacro MUI_LANGUAGE "Hungarian"
-!insertmacro MUI_LANGUAGE "Thai"
-!insertmacro MUI_LANGUAGE "Romanian"
-!insertmacro MUI_LANGUAGE "Latvian"
-!insertmacro MUI_LANGUAGE "Macedonian"
-!insertmacro MUI_LANGUAGE "Estonian"
-!insertmacro MUI_LANGUAGE "Turkish"
-!insertmacro MUI_LANGUAGE "Lithuanian"
-!insertmacro MUI_LANGUAGE "Slovenian"
-!insertmacro MUI_LANGUAGE "Serbian"
-!insertmacro MUI_LANGUAGE "SerbianLatin"
-!insertmacro MUI_LANGUAGE "Arabic"
-!insertmacro MUI_LANGUAGE "Farsi"
-!insertmacro MUI_LANGUAGE "Hebrew"
-!insertmacro MUI_LANGUAGE "Indonesian"
-!insertmacro MUI_LANGUAGE "Mongolian"
-!insertmacro MUI_LANGUAGE "Luxembourgish"
-!insertmacro MUI_LANGUAGE "Albanian"
-!insertmacro MUI_LANGUAGE "Breton"
-!insertmacro MUI_LANGUAGE "Belarusian"
-!insertmacro MUI_LANGUAGE "Icelandic"
-!insertmacro MUI_LANGUAGE "Malay"
-!insertmacro MUI_LANGUAGE "Bosnian"
-!insertmacro MUI_LANGUAGE "Kurdish"
-!insertmacro MUI_LANGUAGE "Irish"
-!insertmacro MUI_LANGUAGE "Uzbek"
-!insertmacro MUI_LANGUAGE "Galician"
-!insertmacro MUI_LANGUAGE "Afrikaans"
-!insertmacro MUI_LANGUAGE "Catalan"
-
-!insertmacro MUI_RESERVEFILE_LANGDLL
-
-Section "Install"
- SetOutPath "$INSTDIR"
-
- SetCompress Auto
- SetOverwrite IfNewer
- File /r "bin\*.*"
-
- WriteRegStr HKCU "Software\OpenSim" "" $INSTDIR
- WriteUninstaller "$INSTDIR\Uninstall.exe"
-
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\OpenSim.lnk" "$INSTDIR\OpenSim.exe"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
- !insertmacro MUI_STARTMENU_WRITE_END
-
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" "DisplayName" "OpenSim (remove only)"
- WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" "UninstallString" "$INSTDIR\Uninstall.exe"
-SectionEnd
-
-Function .onInit
- !insertmacro MUI_LANGDLL_DISPLAY
-FunctionEnd
-
-Section "Uninstall"
- Delete "$INSTDIR\*.*"
- RMDir /r "$INSTDIR"
-
-!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
-
- Delete "$SMPROGRAMS\$MUI_TEMP\OpenSim.lnk"
- Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
-
- ;Delete empty start menu parent diretories
- StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
-
- startMenuDeleteLoop:
- ClearErrors
- RMDir $MUI_TEMP
- GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
-
- IfErrors startMenuDeleteLoopDone
-
- StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
- startMenuDeleteLoopDone:
-
- DeleteRegKey /ifempty HKCU "Software\OpenSim"
- DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim"
-SectionEnd
-
-Function un.onInit
- !insertmacro MUI_UNGETLANGUAGE
-FunctionEnd
+!include "MUI.nsh"
+
+Name "OpenSim"
+OutFile "OpenSim Setup 0.5.exe"
+
+CRCCheck On
+
+InstallDir "$PROGRAMFILES\OpenSim"
+InstallDirRegKey HKCU "Software\OpenSim" ""
+
+;Vista redirects $SMPROGRAMS to all users without this
+RequestExecutionLevel admin
+
+Var MUI_TEMP
+Var STARTMENU_FOLDER
+
+!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
+!define MUI_LANGDLL_REGISTRY_KEY "Software\OpenSim"
+!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+
+!define MUI_ABORTWARNING
+
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "LICENSE.txt"
+!insertmacro MUI_PAGE_DIRECTORY
+
+!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
+!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\OpenSim"
+!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
+
+!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
+
+!insertmacro MUI_PAGE_INSTFILES
+!insertmacro MUI_PAGE_FINISH
+
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+
+!insertmacro MUI_LANGUAGE "English"
+!insertmacro MUI_LANGUAGE "French"
+!insertmacro MUI_LANGUAGE "German"
+!insertmacro MUI_LANGUAGE "Spanish"
+!insertmacro MUI_LANGUAGE "SpanishInternational"
+!insertmacro MUI_LANGUAGE "SimpChinese"
+!insertmacro MUI_LANGUAGE "TradChinese"
+!insertmacro MUI_LANGUAGE "Japanese"
+!insertmacro MUI_LANGUAGE "Korean"
+!insertmacro MUI_LANGUAGE "Italian"
+!insertmacro MUI_LANGUAGE "Dutch"
+!insertmacro MUI_LANGUAGE "Danish"
+!insertmacro MUI_LANGUAGE "Swedish"
+!insertmacro MUI_LANGUAGE "Norwegian"
+!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
+!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "Greek"
+!insertmacro MUI_LANGUAGE "Russian"
+!insertmacro MUI_LANGUAGE "Portuguese"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+!insertmacro MUI_LANGUAGE "Polish"
+!insertmacro MUI_LANGUAGE "Ukrainian"
+!insertmacro MUI_LANGUAGE "Czech"
+!insertmacro MUI_LANGUAGE "Slovak"
+!insertmacro MUI_LANGUAGE "Croatian"
+!insertmacro MUI_LANGUAGE "Bulgarian"
+!insertmacro MUI_LANGUAGE "Hungarian"
+!insertmacro MUI_LANGUAGE "Thai"
+!insertmacro MUI_LANGUAGE "Romanian"
+!insertmacro MUI_LANGUAGE "Latvian"
+!insertmacro MUI_LANGUAGE "Macedonian"
+!insertmacro MUI_LANGUAGE "Estonian"
+!insertmacro MUI_LANGUAGE "Turkish"
+!insertmacro MUI_LANGUAGE "Lithuanian"
+!insertmacro MUI_LANGUAGE "Slovenian"
+!insertmacro MUI_LANGUAGE "Serbian"
+!insertmacro MUI_LANGUAGE "SerbianLatin"
+!insertmacro MUI_LANGUAGE "Arabic"
+!insertmacro MUI_LANGUAGE "Farsi"
+!insertmacro MUI_LANGUAGE "Hebrew"
+!insertmacro MUI_LANGUAGE "Indonesian"
+!insertmacro MUI_LANGUAGE "Mongolian"
+!insertmacro MUI_LANGUAGE "Luxembourgish"
+!insertmacro MUI_LANGUAGE "Albanian"
+!insertmacro MUI_LANGUAGE "Breton"
+!insertmacro MUI_LANGUAGE "Belarusian"
+!insertmacro MUI_LANGUAGE "Icelandic"
+!insertmacro MUI_LANGUAGE "Malay"
+!insertmacro MUI_LANGUAGE "Bosnian"
+!insertmacro MUI_LANGUAGE "Kurdish"
+!insertmacro MUI_LANGUAGE "Irish"
+!insertmacro MUI_LANGUAGE "Uzbek"
+!insertmacro MUI_LANGUAGE "Galician"
+!insertmacro MUI_LANGUAGE "Afrikaans"
+!insertmacro MUI_LANGUAGE "Catalan"
+
+!insertmacro MUI_RESERVEFILE_LANGDLL
+
+Section "Install"
+ SetOutPath "$INSTDIR"
+
+ SetCompress Auto
+ SetOverwrite IfNewer
+ File /r "bin\*.*"
+
+ WriteRegStr HKCU "Software\OpenSim" "" $INSTDIR
+ WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
+ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\OpenSim.lnk" "$INSTDIR\OpenSim.exe"
+ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
+ !insertmacro MUI_STARTMENU_WRITE_END
+
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" "DisplayName" "OpenSim (remove only)"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim" "UninstallString" "$INSTDIR\Uninstall.exe"
+SectionEnd
+
+Function .onInit
+ !insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
+
+Section "Uninstall"
+ Delete "$INSTDIR\*.*"
+ RMDir /r "$INSTDIR"
+
+!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
+
+ Delete "$SMPROGRAMS\$MUI_TEMP\OpenSim.lnk"
+ Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
+
+ ;Delete empty start menu parent diretories
+ StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
+
+ startMenuDeleteLoop:
+ ClearErrors
+ RMDir $MUI_TEMP
+ GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
+
+ IfErrors startMenuDeleteLoopDone
+
+ StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
+ startMenuDeleteLoopDone:
+
+ DeleteRegKey /ifempty HKCU "Software\OpenSim"
+ DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenSim"
+SectionEnd
+
+Function un.onInit
+ !insertmacro MUI_UNGETLANGUAGE
+FunctionEnd
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
new file mode 100644
index 0000000000..36f3d7f4c5
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -0,0 +1,238 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.IO;
+using libsecondlife;
+using libsecondlife.Packets;
+using Nini.Config;
+using System.Threading;
+using OpenSim.Framework;
+using OpenSim.Framework.Console;
+
+namespace pCampBot
+{
+ ///
+ /// Thread/Bot manager for the application
+ ///
+ public class BotManager : conscmd_callback
+ {
+ private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+
+ protected ConsoleBase m_console;
+ protected List m_lBot;
+ protected Thread[] m_td;
+ protected bool m_verbose = true;
+ protected Random somthing = new Random(System.Environment.TickCount);
+ protected int numbots = 0;
+ protected IConfig Previous_config;
+
+ ///
+ /// Constructor Creates MainConsole.Instance to take commands and provide the place to write data
+ ///
+ public BotManager()
+ {
+ m_console = CreateConsole();
+ MainConsole.Instance = m_console;
+ m_lBot = new List();
+ }
+
+ ///
+ /// Startup number of bots specified in the starting arguments
+ ///
+ /// How many bots to start up
+ /// The configuration for the bots to use
+ public void dobotStartup(int botcount, IConfig cs)
+ {
+ Previous_config = cs;
+ m_td = new Thread[botcount];
+ for (int i = 0; i < botcount; i++)
+ {
+ startupBot(i, cs);
+ }
+ }
+
+ ///
+ /// Add additional bots (and threads) to our bot pool
+ ///
+ /// How Many of them to add
+ public void addbots(int botcount)
+ {
+ int len = m_td.Length;
+ Thread[] m_td2 = new Thread[len + botcount];
+ for (int i = 0; i < len; i++)
+ {
+ m_td2[i] = m_td[i];
+ }
+ m_td = m_td2;
+ int newlen = len + botcount;
+ for (int i = len; i < newlen; i++)
+ {
+ startupBot(i, Previous_config);
+ }
+ }
+
+ ///
+ /// This starts up the bot and stores the thread for the bot in the thread array
+ ///
+ /// The position in the thread array to stick the bot's thread
+ /// Configuration of the bot
+ public void startupBot(int pos, IConfig cs)
+ {
+ PhysicsBot pb = new PhysicsBot(cs);
+
+ pb.OnConnected += handlebotEvent;
+ pb.OnDisconnected += handlebotEvent;
+ if (cs.GetString("firstname", "random") == "random") pb.firstname = CreateRandomName();
+ if (cs.GetString("lastname", "random") == "random") pb.lastname = CreateRandomName();
+
+ m_td[pos] = new Thread(pb.startup);
+ m_td[pos].Name = "CampBot_" + pos;
+ m_td[pos].IsBackground = true;
+ m_td[pos].Start();
+ m_lBot.Add(pb);
+ OpenSim.Framework.ThreadTracker.Add(m_td[pos]);
+ }
+
+ ///
+ /// Creates a random name for the bot
+ ///
+ ///
+ private string CreateRandomName()
+ {
+ string returnstring = "";
+ string chars = "abcdefghijklmnopqrstuvwxyz0123456789";
+
+ for (int i = 0; i < 7; i++)
+ {
+ returnstring += chars.Substring(somthing.Next(chars.Length),1);
+ }
+ return returnstring;
+ }
+
+ ///
+ /// High level connnected/disconnected events so we can keep track of our threads by proxy
+ ///
+ ///
+ ///
+ public void handlebotEvent(PhysicsBot callbot, EventType eventt)
+ {
+ switch (eventt)
+ {
+ case EventType.CONNECTED:
+ m_log.Info("[ " + callbot.firstname + " " + callbot.lastname + "]: Connected");
+ numbots++;
+ break;
+ case EventType.DISCONNECTED:
+ m_log.Info("[ " + callbot.firstname + " " + callbot.lastname + "]: Disconnected");
+ m_td[m_lBot.IndexOf(callbot)].Abort();
+ numbots--;
+ if (numbots >1)
+ Environment.Exit(0);
+ break;
+ }
+ }
+
+ ///
+ /// Shutting down all bots
+ ///
+ public void doBotShutdown()
+ {
+ foreach (PhysicsBot pb in m_lBot)
+ {
+ pb.shutdown();
+ }
+ }
+
+ ///
+ /// Standard CreateConsole routine
+ ///
+ ///
+ protected ConsoleBase CreateConsole()
+ {
+ return new ConsoleBase("Region", this);
+ }
+
+ ///
+ /// I don't think the bots use this..
+ ///
+ ///
+ ///
+ ///
+ private string CombineParams(string[] commandParams, int pos)
+ {
+ string result = String.Empty;
+ for (int i = pos; i < commandParams.Length; i++)
+ {
+ result += commandParams[i] + " ";
+ }
+ result = result.TrimEnd(' ');
+ return result;
+ }
+
+ ///
+ /// Command runnint tool.. Currently use it to add bots, shutdown and (dangerous)Forcequit
+ ///
+ ///
+ ///
+ public void RunCmd(string command, string[] cmdparams)
+ {
+ switch (command)
+ {
+ case "shutdown":
+ m_console.Warn("BOTMANAGER", "Shutting down bots");
+ doBotShutdown();
+ break;
+ case "quit":
+ m_console.Warn("DANGER", "This should only be used to quit the program if you've already used the shutdown command and the program hasn't quit");
+ Environment.Exit(0);
+ break;
+ case "addbots":
+ int newbots = 0;
+ Helpers.TryParse(cmdparams[0], out newbots);
+
+ if (newbots > 0)
+ addbots(newbots);
+ break;
+ case "help":
+ m_console.Notice("HELP", "\nshutdown - graceful shutdown\naddbots - adds n bots to the test\nquit - forcequits, dangerous if you have not already run shutdown");
+ break;
+ }
+ }
+
+ ///
+ /// Required method to implement the conscmd_callback interface
+ ///
+ ///
+ public void Show(string ShowWhat)
+ {
+ }
+ }
+}
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
new file mode 100644
index 0000000000..48ce062692
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -0,0 +1,201 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using libsecondlife;
+using libsecondlife.Packets;
+using Nini.Config;
+using System.Threading;
+using OpenSim.Framework;
+using OpenSim.Framework.Console;
+using Timer = System.Timers.Timer;
+
+namespace pCampBot
+{
+ public class PhysicsBot
+ {
+ public delegate void AnEvent(PhysicsBot callbot, EventType someevent); // event delegate for bot events
+ public IConfig startupConfig; // bot config, passed from BotManager
+
+ public string firstname;
+ public string lastname;
+ public string password;
+ public string loginURI;
+
+ public event AnEvent OnConnected;
+ public event AnEvent OnDisconnected;
+
+ protected Timer m_action; // Action Timer
+
+ protected Random somthing = new Random(System.Environment.TickCount);// We do stuff randomly here
+
+ //New instance of a SecondLife client
+ public SecondLife client = new SecondLife();
+
+ protected string[] talkarray;
+ ///
+ ///
+ ///
+ /// nini config for the bot
+ public PhysicsBot(IConfig bsconfig)
+ {
+ startupConfig = bsconfig;
+ readconfig();
+ talkarray = readexcuses();
+ }
+
+ //We do our actions here. This is where one would
+ //add additional steps and/or things the bot should do
+
+ void m_action_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
+ {
+ //client.Throttle.Task = 500000f;
+ //client.Throttle.Set();
+ int walkorrun = somthing.Next(4); // Randomize between walking and running. The greater this number,
+ // the greater the bot's chances to walk instead of run.
+ if (walkorrun == 0)
+ {
+ client.Self.Movement.AlwaysRun = true;
+ }
+ else
+ {
+ client.Self.Movement.AlwaysRun = false;
+ }
+
+ LLVector3 pos = client.Self.SimPosition;
+ LLVector3 newpos = new LLVector3(somthing.Next(255), somthing.Next(255), somthing.Next(255));
+ client.Self.Movement.TurnToward(newpos);
+
+ for (int i = 0; i < 2000; i++)
+ {
+ client.Self.Movement.AtPos = true;
+ Thread.Sleep(somthing.Next(25, 75)); // Makes sure the bots keep walking for this time.
+ }
+ client.Self.Jump();
+
+ string randomf = talkarray[somthing.Next(talkarray.Length)];
+ if (talkarray.Length > 1 && randomf.Length > 1)
+ client.Self.Chat(randomf, 0, ChatType.Normal);
+
+ //Thread.Sleep(somthing.Next(1, 10)); // Apparently its better without it right now.
+
+ }
+
+ ///
+ /// Read the Nini config and initialize
+ ///
+ public void readconfig()
+ {
+ firstname = startupConfig.GetString("firstname", "random");
+ lastname = startupConfig.GetString("lastname", "random");
+ password = startupConfig.GetString("password", "12345");
+ loginURI = startupConfig.GetString("loginuri", "http://10.1.1.5:9000");
+
+
+
+ }
+
+ ///
+ /// Tells LibSecondLife to logout and disconnect. Raises the disconnect events once it finishes.
+ ///
+ public void shutdown()
+ {
+ client.Network.Logout();
+ }
+
+ ///
+ /// This is the bot startup loop.
+ ///
+ public void startup()
+ {
+ client.Settings.LOGIN_SERVER = loginURI;
+ client.Network.OnConnected += new NetworkManager.ConnectedCallback(this.Network_OnConnected);
+ client.Network.OnSimConnected += new NetworkManager.SimConnectedCallback(this.Network_OnConnected);
+ client.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(this.Network_OnDisconnected);
+ if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
+ {
+
+ if (OnConnected != null)
+ {
+ m_action = new Timer(somthing.Next(1000, 10000));
+ m_action.Elapsed += new System.Timers.ElapsedEventHandler(m_action_Elapsed);
+ m_action.Start();
+ OnConnected(this, EventType.CONNECTED);
+ client.Self.Jump();
+
+ }
+ }
+ else
+ {
+ MainConsole.Instance.Error(firstname + " " + lastname, "Can't login: " + client.Network.LoginMessage);
+ if (OnDisconnected != null)
+ {
+ OnDisconnected(this, EventType.DISCONNECTED);
+ }
+ }
+ }
+
+ public void Network_OnConnected(object sender)
+ {
+ if (OnConnected != null)
+ {
+ OnConnected(this, EventType.CONNECTED);
+ }
+ }
+
+ public void Simulator_Connected(object sender)
+ {
+ }
+
+ public void Network_OnDisconnected(NetworkManager.DisconnectType reason, string message)
+ {
+ if (OnDisconnected != null)
+ {
+ OnDisconnected(this, EventType.DISCONNECTED);
+ }
+ }
+
+ public string[] readexcuses()
+ {
+ string allexcuses = "";
+
+ string file = Path.Combine(Util.configDir(), "pCampBotSentences.txt");
+ if (File.Exists(file))
+ {
+ StreamReader csr = File.OpenText(file);
+ allexcuses = csr.ReadToEnd();
+ csr.Close();
+ }
+
+ return allexcuses.Split(Environment.NewLine.ToCharArray());
+ }
+ }
+}
diff --git a/OpenSim/Tools/pCampBot/README.txt b/OpenSim/Tools/pCampBot/README.txt
new file mode 100644
index 0000000000..7ecbde1ba9
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/README.txt
@@ -0,0 +1,44 @@
+This is the PhysicsCamperbot libslBot tester.
+
+This is designed to be run in standalone mode with authorize accounts
+turned off as a way to stress test the simulator. It creates
+clients that log in, randomly jump/walk around, and say excuses from
+the BOFH.
+
+*** WARNING ***
+Using this bot on a public grid could get you banned permanently, so
+just say No! to griefing!
+
+----- Setup -----
+Linux: To build, in the main opensim directory, run:
+ ./runprebuild.sh
+ nant
+
+Windows: Run the prebuild.bat in the main opensim directory and then
+open the created solution and compile it.
+
+pCampBot.exe will end up in the regular opensim/bin folder
+
+----- Running the bot -----
+
+windows: pCampBot.exe -botcount -loginuri
+*nix: mono pCampBot.exe -botcount -loginuri
+
+The names it produces are random by default, however, you can specify
+either a firstname or a lastname in the command line also.
+
+ex: pCampBot.exe -botcount -loginuri -lastname
+
+If you specify both a firstname *and* a lastname, you'll likely run
+into trouble unless you're only running a single bot. In that case,
+there's also a password option.
+
+pCampBot.exe -botcount 1 -loginuri http://somegrid.com:8002 -firstname SomeDude -lastname SomeDude -password GobbleDeGook
+
+----- Commands -----
+
+The bot has console commands:
+ help - lists the console commands and what they do
+ shutdown - gracefully shuts down the bots
+ quit - forcefully shuts things down leaving stuff unclean
+ addbots N - adds N number of random bots. (replace 'N' with a number)
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
new file mode 100644
index 0000000000..704a3f5c9d
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) Contributors, http://opensimulator.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using libsecondlife;
+using libsecondlife.Packets;
+using Nini.Config;
+using System.Threading;
+using OpenSim.Framework.Console;
+
+namespace pCampBot
+{
+ ///
+ /// Event Types from the BOT. Add new events here
+ ///
+ public enum EventType:int
+ {
+ NONE = 0,
+ CONNECTED = 1,
+ DISCONNECTED = 2
+ }
+
+ public class pCampBot
+ {
+ [STAThread]
+ public static void Main(string[] args)
+ {
+ //Set up our nifty config.. thanks to nini
+ ArgvConfigSource cs = new ArgvConfigSource(args);
+
+ cs.AddSwitch("Startup", "botcount");
+ cs.AddSwitch("Startup", "loginuri");
+ cs.AddSwitch("Startup", "firstname");
+ cs.AddSwitch("Startup", "lastname");
+ cs.AddSwitch("Startup", "password");
+
+ IConfig ol = cs.Configs["Startup"];
+ int botcount = ol.GetInt("botcount", 1);
+ BotManager bm = new BotManager();
+
+ //startup specified number of bots. 1 is the default
+ bm.dobotStartup(botcount, ol);
+ while (true)
+ {
+ MainConsole.Instance.Prompt();
+ }
+ }
+ }
+}