From fa32c268679c4b688c41c3b80f5c1d58dafbd891 Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Sun, 29 Jul 2007 06:19:17 +0000
Subject: * Added Babblefrog's SL launcher (thanks!)
---
.../LaunchSLClient/Form1.Designer.cs | 83 +++++++++
.../Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 194 +++++++++++++++++++++
.../Tools/LaunchSLClient/LaunchSLClient/Form1.resx | 120 +++++++++++++
.../LaunchSLClient/LaunchSLClient.csproj | 79 +++++++++
.../LaunchSLClient/LauncherException.cs | 53 ++++++
.../Tools/LaunchSLClient/LaunchSLClient/Program.cs | 57 ++++++
.../LaunchSLClient/Properties/AssemblyInfo.cs | 33 ++++
.../Properties/Resources.Designer.cs | 71 ++++++++
.../LaunchSLClient/Properties/Resources.resx | 117 +++++++++++++
.../LaunchSLClient/Properties/Settings.Designer.cs | 30 ++++
.../LaunchSLClient/Properties/Settings.settings | 7 +
11 files changed, 844 insertions(+)
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
new file mode 100644
index 0000000..f6e52cf
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
@@ -0,0 +1,83 @@
+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/LaunchSLClient/Form1.cs
new file mode 100644
index 0000000..497661d
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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)
+ {
+ 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("DeepGrid - www.deepgrid.com");
+ menuItems.Add("OSGrid - www.osgrid.org");
+ 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 = ""; }
+ 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();
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
new file mode 100644
index 0000000..ff31a6d
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj
new file mode 100644
index 0000000..bc70f11
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj
@@ -0,0 +1,79 @@
+
+
+ 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/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
new file mode 100644
index 0000000..7a2e861
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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/LaunchSLClient/Program.cs
new file mode 100644
index 0000000..ba652a9
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.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");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..4bd2cea
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+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/LaunchSLClient/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..f9dfcc0
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
@@ -0,0 +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;
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
new file mode 100644
index 0000000..ffecec8
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..72c3ced
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
@@ -0,0 +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;
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
new file mode 100644
index 0000000..abf36c5
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
--
cgit v1.1
From 74bb5282a09ec095a7ff810c62f79cc64e187686 Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Mon, 30 Jul 2007 20:11:40 +0000
Subject: mass update of files to have native line endings
---
.../LaunchSLClient/Form1.Designer.cs | 166 ++++-----
.../Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 386 ++++++++++-----------
.../Tools/LaunchSLClient/LaunchSLClient/Form1.resx | 238 ++++++-------
.../LaunchSLClient/LaunchSLClient.csproj | 156 ++++-----
.../LaunchSLClient/LauncherException.cs | 106 +++---
.../Tools/LaunchSLClient/LaunchSLClient/Program.cs | 112 +++---
.../LaunchSLClient/Properties/AssemblyInfo.cs | 66 ++--
.../Properties/Resources.Designer.cs | 142 ++++----
.../LaunchSLClient/Properties/Resources.resx | 232 ++++++-------
.../LaunchSLClient/Properties/Settings.Designer.cs | 60 ++--
.../LaunchSLClient/Properties/Settings.settings | 14 +-
11 files changed, 839 insertions(+), 839 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
index f6e52cf..0601e51 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
@@ -1,83 +1,83 @@
-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;
-
- }
-}
-
+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/LaunchSLClient/Form1.cs
index 497661d..8fd9b27 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -1,194 +1,194 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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)
- {
- 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("DeepGrid - www.deepgrid.com");
- menuItems.Add("OSGrid - www.osgrid.org");
- 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 = ""; }
- 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://www.openmetaverse.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)
+ {
+ 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("DeepGrid - www.deepgrid.com");
+ menuItems.Add("OSGrid - www.osgrid.org");
+ 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 = ""; }
+ 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();
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
index ff31a6d..19dc0dd 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
+++ b/OpenSim/Tools/LaunchSLClient/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/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj
index bc70f11..2589ec7 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj
@@ -1,79 +1,79 @@
-
-
- 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
-
-
-
-
+
+
+ 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/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
index 7a2e861..a0b4612 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
@@ -1,53 +1,53 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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://www.openmetaverse.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/LaunchSLClient/Program.cs
index ba652a9..efcfd46 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
@@ -1,57 +1,57 @@
-/*
-* Copyright (c) Contributors, http://www.openmetaverse.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://www.openmetaverse.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");
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
index 4bd2cea..0c3e72e 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
@@ -1,33 +1,33 @@
-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")]
+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/LaunchSLClient/Properties/Resources.Designer.cs
index f9dfcc0..4e9188d 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/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/LaunchSLClient/Properties/Resources.resx
index ffecec8..af7dbeb 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
+++ b/OpenSim/Tools/LaunchSLClient/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/LaunchSLClient/Properties/Settings.Designer.cs
index 72c3ced..3dcc200 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/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/LaunchSLClient/Properties/Settings.settings
index abf36c5..3964565 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
--
cgit v1.1
From ffe9c9374a9b220b2046940a4dec7eb47e5c958b Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Mon, 10 Sep 2007 08:14:38 +0000
Subject: mass update of urls in source code to new website
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index 8fd9b27..619f6de 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -1,5 +1,5 @@
/*
-* Copyright (c) Contributors, http://www.openmetaverse.org/
+* 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
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
index a0b4612..edf079f 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
@@ -1,5 +1,5 @@
/*
-* Copyright (c) Contributors, http://www.openmetaverse.org/
+* 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
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
index efcfd46..d3e56f9 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
@@ -1,5 +1,5 @@
/*
-* Copyright (c) Contributors, http://www.openmetaverse.org/
+* 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
--
cgit v1.1
From dcaab9103ce1b7475872ee3224ccf58c1266f95e Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Wed, 12 Sep 2007 13:03:21 +0000
Subject: Early alpha version of a GUI tool to configure and start OpenSim.
Currently can start an already configured Grid server.
---
OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs | 88 ++++++
OpenSim/Tools/OpenSim.GUI/Main.Designer.cs | 348 +++++++++++++++++++++
OpenSim/Tools/OpenSim.GUI/Main.cs | 187 +++++++++++
OpenSim/Tools/OpenSim.GUI/Main.resx | 120 +++++++
OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj | 84 +++++
OpenSim/Tools/OpenSim.GUI/ProcessManager.cs | 71 +++++
OpenSim/Tools/OpenSim.GUI/Program.cs | 20 ++
.../Tools/OpenSim.GUI/Properties/AssemblyInfo.cs | 33 ++
.../OpenSim.GUI/Properties/Resources.Designer.cs | 71 +++++
.../Tools/OpenSim.GUI/Properties/Resources.resx | 117 +++++++
.../OpenSim.GUI/Properties/Settings.Designer.cs | 30 ++
.../Tools/OpenSim.GUI/Properties/Settings.settings | 7 +
12 files changed, 1176 insertions(+)
create mode 100644 OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
create mode 100644 OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
create mode 100644 OpenSim/Tools/OpenSim.GUI/Main.cs
create mode 100644 OpenSim/Tools/OpenSim.GUI/Main.resx
create mode 100644 OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
create mode 100644 OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
create mode 100644 OpenSim/Tools/OpenSim.GUI/Program.cs
create mode 100644 OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
create mode 100644 OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
create mode 100644 OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
create mode 100644 OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
new file mode 100644
index 0000000..91b3f60
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
@@ -0,0 +1,88 @@
+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
new file mode 100644
index 0000000..b1ed5a4
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
@@ -0,0 +1,348 @@
+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.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.label1 = new System.Windows.Forms.Label();
+ this.txtInputRegionServer = new OpenSim.GUI.InputTextBoxControl();
+ this.txtOpenSim = new System.Windows.Forms.TextBox();
+ this.tabUserServer = new System.Windows.Forms.TabPage();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtInputUserServer = new OpenSim.GUI.InputTextBoxControl();
+ this.txtUserServer = new System.Windows.Forms.TextBox();
+ this.tabAssetServer = new System.Windows.Forms.TabPage();
+ this.label3 = new System.Windows.Forms.Label();
+ this.txtInputAssetServer = new OpenSim.GUI.InputTextBoxControl();
+ this.txtAssetServer = new System.Windows.Forms.TextBox();
+ this.tabGridServer = new System.Windows.Forms.TabPage();
+ this.label4 = new System.Windows.Forms.Label();
+ this.txtInputGridServer = new OpenSim.GUI.InputTextBoxControl();
+ this.txtGridServer = new System.Windows.Forms.TextBox();
+ this.gbLog = new System.Windows.Forms.GroupBox();
+ this.btnStart = new System.Windows.Forms.Button();
+ this.btnStop = new System.Windows.Forms.Button();
+ this.tabLogs.SuspendLayout();
+ this.tabMainLog.SuspendLayout();
+ this.tabRegionServer.SuspendLayout();
+ this.tabUserServer.SuspendLayout();
+ this.tabAssetServer.SuspendLayout();
+ this.tabGridServer.SuspendLayout();
+ this.gbLog.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // 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(562, 230);
+ 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(554, 204);
+ 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(6, 5);
+ this.txtMainLog.Multiline = true;
+ this.txtMainLog.Name = "txtMainLog";
+ this.txtMainLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtMainLog.Size = new System.Drawing.Size(542, 195);
+ this.txtMainLog.TabIndex = 1;
+ //
+ // tabRegionServer
+ //
+ this.tabRegionServer.Controls.Add(this.label1);
+ this.tabRegionServer.Controls.Add(this.txtInputRegionServer);
+ 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(554, 204);
+ this.tabRegionServer.TabIndex = 0;
+ this.tabRegionServer.Text = "Region server";
+ this.tabRegionServer.UseVisualStyleBackColor = true;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(6, 183);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(57, 13);
+ this.label1.TabIndex = 4;
+ this.label1.Text = "Command:";
+ //
+ // txtInputRegionServer
+ //
+ this.txtInputRegionServer.Location = new System.Drawing.Point(69, 180);
+ this.txtInputRegionServer.Name = "txtInputRegionServer";
+ this.txtInputRegionServer.Size = new System.Drawing.Size(479, 20);
+ this.txtInputRegionServer.TabIndex = 0;
+ //
+ // 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(6, 6);
+ this.txtOpenSim.Multiline = true;
+ this.txtOpenSim.Name = "txtOpenSim";
+ this.txtOpenSim.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtOpenSim.Size = new System.Drawing.Size(542, 168);
+ this.txtOpenSim.TabIndex = 0;
+ //
+ // tabUserServer
+ //
+ this.tabUserServer.Controls.Add(this.label2);
+ this.tabUserServer.Controls.Add(this.txtInputUserServer);
+ 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(554, 204);
+ this.tabUserServer.TabIndex = 1;
+ this.tabUserServer.Text = "User server";
+ this.tabUserServer.UseVisualStyleBackColor = true;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(6, 181);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(57, 13);
+ this.label2.TabIndex = 6;
+ this.label2.Text = "Command:";
+ //
+ // txtInputUserServer
+ //
+ this.txtInputUserServer.Location = new System.Drawing.Point(69, 178);
+ this.txtInputUserServer.Name = "txtInputUserServer";
+ this.txtInputUserServer.Size = new System.Drawing.Size(479, 20);
+ this.txtInputUserServer.TabIndex = 5;
+ //
+ // 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(6, 5);
+ this.txtUserServer.Multiline = true;
+ this.txtUserServer.Name = "txtUserServer";
+ this.txtUserServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtUserServer.Size = new System.Drawing.Size(542, 168);
+ this.txtUserServer.TabIndex = 1;
+ //
+ // tabAssetServer
+ //
+ this.tabAssetServer.Controls.Add(this.label3);
+ this.tabAssetServer.Controls.Add(this.txtInputAssetServer);
+ 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(554, 204);
+ this.tabAssetServer.TabIndex = 2;
+ this.tabAssetServer.Text = "Asset server";
+ this.tabAssetServer.UseVisualStyleBackColor = true;
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(6, 182);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(57, 13);
+ this.label3.TabIndex = 6;
+ this.label3.Text = "Command:";
+ //
+ // txtInputAssetServer
+ //
+ this.txtInputAssetServer.Location = new System.Drawing.Point(69, 179);
+ this.txtInputAssetServer.Name = "txtInputAssetServer";
+ this.txtInputAssetServer.Size = new System.Drawing.Size(479, 20);
+ this.txtInputAssetServer.TabIndex = 5;
+ //
+ // 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(6, 5);
+ this.txtAssetServer.Multiline = true;
+ this.txtAssetServer.Name = "txtAssetServer";
+ this.txtAssetServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtAssetServer.Size = new System.Drawing.Size(542, 168);
+ this.txtAssetServer.TabIndex = 1;
+ //
+ // tabGridServer
+ //
+ this.tabGridServer.Controls.Add(this.label4);
+ this.tabGridServer.Controls.Add(this.txtInputGridServer);
+ 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(554, 204);
+ this.tabGridServer.TabIndex = 3;
+ this.tabGridServer.Text = "Grid server";
+ this.tabGridServer.UseVisualStyleBackColor = true;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(6, 182);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(57, 13);
+ this.label4.TabIndex = 6;
+ this.label4.Text = "Command:";
+ //
+ // txtInputGridServer
+ //
+ this.txtInputGridServer.Location = new System.Drawing.Point(69, 179);
+ this.txtInputGridServer.Name = "txtInputGridServer";
+ this.txtInputGridServer.Size = new System.Drawing.Size(479, 20);
+ this.txtInputGridServer.TabIndex = 5;
+ //
+ // 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(6, 5);
+ this.txtGridServer.Multiline = true;
+ this.txtGridServer.Name = "txtGridServer";
+ this.txtGridServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtGridServer.Size = new System.Drawing.Size(542, 168);
+ this.txtGridServer.TabIndex = 1;
+ //
+ // 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(2, 41);
+ this.gbLog.Name = "gbLog";
+ this.gbLog.Size = new System.Drawing.Size(574, 255);
+ this.gbLog.TabIndex = 1;
+ this.gbLog.TabStop = false;
+ this.gbLog.Text = "Logs";
+ //
+ // btnStart
+ //
+ this.btnStart.Location = new System.Drawing.Point(8, 12);
+ this.btnStart.Name = "btnStart";
+ this.btnStart.Size = new System.Drawing.Size(75, 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(89, 12);
+ this.btnStop.Name = "btnStop";
+ this.btnStop.Size = new System.Drawing.Size(75, 23);
+ this.btnStop.TabIndex = 3;
+ this.btnStop.Text = "Stop";
+ this.btnStop.UseVisualStyleBackColor = true;
+ this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
+ //
+ // Main
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(583, 299);
+ this.Controls.Add(this.btnStop);
+ this.Controls.Add(this.btnStart);
+ this.Controls.Add(this.gbLog);
+ this.Name = "Main";
+ this.Text = "OpenSim";
+ this.Load += new System.EventHandler(this.Main_Load);
+ 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.gbLog.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TabControl tabLogs;
+ private System.Windows.Forms.TabPage tabRegionServer;
+ private System.Windows.Forms.TabPage tabUserServer;
+ private System.Windows.Forms.GroupBox gbLog;
+ private System.Windows.Forms.TextBox txtOpenSim;
+ private System.Windows.Forms.TextBox txtUserServer;
+ private System.Windows.Forms.TabPage tabAssetServer;
+ private System.Windows.Forms.TextBox txtAssetServer;
+ private System.Windows.Forms.TabPage tabGridServer;
+ private System.Windows.Forms.TextBox txtGridServer;
+ private System.Windows.Forms.TabPage tabMainLog;
+ private System.Windows.Forms.Button btnStart;
+ private System.Windows.Forms.Button btnStop;
+ private System.Windows.Forms.TextBox txtMainLog;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ private InputTextBoxControl txtInputRegionServer;
+ private InputTextBoxControl txtInputUserServer;
+ private InputTextBoxControl txtInputAssetServer;
+ private InputTextBoxControl txtInputGridServer;
+ }
+}
+
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs
new file mode 100644
index 0000000..b9ea209
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -0,0 +1,187 @@
+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);
+ }
+
+ 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)
+ {
+ btnStart.Enabled = false;
+ btnStop.Enabled = false;
+
+ // Start UserServer
+ proc_UserServer = new ProcessManager("OpenSim.Grid.UserServer.exe", "");
+ txtMainLog.AppendText("Starting: UserServer");
+ 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(2000);
+
+ // Start GridServer
+ proc_GridServer = new ProcessManager("OpenSim.Grid.GridServer.exe", "");
+ txtMainLog.AppendText("Starting: GridServer");
+ 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(2000);
+
+ // Start AssetServer
+ proc_AssetServer = new ProcessManager("OpenSim.Grid.AssetServer.exe", "");
+ txtMainLog.AppendText("Starting: AssetServer");
+ 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(2000);
+
+ // Start OpenSim
+ proc_OpenSim = new ProcessManager("OpenSim.EXE", "-gridmode=true");
+ txtMainLog.AppendText("Starting: OpenSim");
+ 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;
+
+ if (proc_UserServer != null)
+ {
+ txtMainLog.AppendText("Shutting down UserServer. CPU time used: " + proc_UserServer.TotalProcessorTime);
+ proc_UserServer.StopProcess();
+ }
+ if (proc_GridServer != null)
+ {
+ txtMainLog.AppendText("Shutting down GridServer. CPU time used: " + proc_GridServer.TotalProcessorTime);
+ proc_GridServer.StopProcess();
+ }
+ if (proc_AssetServer != null)
+ {
+ txtMainLog.AppendText("Shutting down AssetServer. CPU time used: " + proc_AssetServer.TotalProcessorTime);
+ proc_AssetServer.StopProcess();
+ }
+ if (proc_OpenSim != null)
+ {
+ txtMainLog.AppendText("Shutting down OpenSim. CPU time used: " + proc_OpenSim.TotalProcessorTime);
+ proc_OpenSim.StopProcess();
+ }
+
+ btnStart.Enabled = true;
+ btnStop.Enabled = false;
+
+
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.resx b/OpenSim/Tools/OpenSim.GUI/Main.resx
new file mode 100644
index 0000000..ff31a6d
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/Main.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
new file mode 100644
index 0000000..5228b2b
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
@@ -0,0 +1,84 @@
+
+
+ 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
+
+
+
+
+
+
+
+
+
+
+
+ Component
+
+
+ Form
+
+
+ Main.cs
+
+
+ Component
+
+
+
+
+ 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
new file mode 100644
index 0000000..0ab074e
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
@@ -0,0 +1,71 @@
+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
new file mode 100644
index 0000000..a849b1b
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/Program.cs
@@ -0,0 +1,20 @@
+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());
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..3e86b1c
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+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.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..f7de4f0
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.312
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace OpenSim.GUI.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("OpenSim.GUI.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/OpenSim.GUI/Properties/Resources.resx b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
new file mode 100644
index 0000000..ffecec8
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..e23862a
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.312
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace OpenSim.GUI.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/OpenSim.GUI/Properties/Settings.settings b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings
new file mode 100644
index 0000000..abf36c5
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
--
cgit v1.1
From b12bfb63153f310d3f6bd016648397e003c1ccca Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Wed, 12 Sep 2007 13:16:08 +0000
Subject: GUI also contains option for Stand Alone mode.
---
OpenSim/Tools/OpenSim.GUI/Main.Designer.cs | 45 ++++++++++++
OpenSim/Tools/OpenSim.GUI/Main.cs | 106 +++++++++++++++++++++--------
2 files changed, 122 insertions(+), 29 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
index b1ed5a4..6350c57 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
@@ -50,6 +50,9 @@ namespace OpenSim.GUI
this.gbLog = new System.Windows.Forms.GroupBox();
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.tabLogs.SuspendLayout();
this.tabMainLog.SuspendLayout();
this.tabRegionServer.SuspendLayout();
@@ -292,11 +295,49 @@ namespace OpenSim.GUI
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(407, 18);
+ 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(319, 18);
+ 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(484, 18);
+ 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);
+ //
// Main
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(583, 299);
+ 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);
@@ -316,6 +357,7 @@ namespace OpenSim.GUI
this.tabGridServer.PerformLayout();
this.gbLog.ResumeLayout(false);
this.ResumeLayout(false);
+ this.PerformLayout();
}
@@ -343,6 +385,9 @@ namespace OpenSim.GUI
private InputTextBoxControl txtInputUserServer;
private InputTextBoxControl txtInputAssetServer;
private InputTextBoxControl txtInputGridServer;
+ private System.Windows.Forms.RadioButton rbGridRegionMode;
+ private System.Windows.Forms.RadioButton rbStandAloneMode;
+ private System.Windows.Forms.RadioButton rbGridServer;
}
}
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs
index b9ea209..fb2cdae 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -29,6 +29,8 @@ namespace OpenSim.GUI
txtInputRegionServer.KeyPress += new KeyPressEventHandler(txtInputRegionServer_KeyPress);
tabLogs.Selected += new TabControlEventHandler(tabLogs_Selected);
+
+ UpdateTabVisibility();
}
void tabLogs_Selected(object sender, TabControlEventArgs e)
@@ -93,33 +95,42 @@ namespace OpenSim.GUI
btnStart.Enabled = false;
btnStop.Enabled = false;
- // Start UserServer
- proc_UserServer = new ProcessManager("OpenSim.Grid.UserServer.exe", "");
- txtMainLog.AppendText("Starting: UserServer");
- 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(2000);
-
- // Start GridServer
- proc_GridServer = new ProcessManager("OpenSim.Grid.GridServer.exe", "");
- txtMainLog.AppendText("Starting: GridServer");
- 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(2000);
-
- // Start AssetServer
- proc_AssetServer = new ProcessManager("OpenSim.Grid.AssetServer.exe", "");
- txtMainLog.AppendText("Starting: AssetServer");
- 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(2000);
+
+
+ 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(2000);
+
+ // 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(2000);
+
+ // 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(2000);
+ }
// Start OpenSim
- proc_OpenSim = new ProcessManager("OpenSim.EXE", "-gridmode=true");
- txtMainLog.AppendText("Starting: 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();
@@ -157,22 +168,22 @@ namespace OpenSim.GUI
if (proc_UserServer != null)
{
- txtMainLog.AppendText("Shutting down UserServer. CPU time used: " + proc_UserServer.TotalProcessorTime);
+ txtMainLog.AppendText("Shutting down UserServer. CPU time used: " + proc_UserServer.TotalProcessorTime.ToString() + "\r\n");
proc_UserServer.StopProcess();
}
if (proc_GridServer != null)
{
- txtMainLog.AppendText("Shutting down GridServer. CPU time used: " + proc_GridServer.TotalProcessorTime);
+ txtMainLog.AppendText("Shutting down GridServer. CPU time used: " + proc_GridServer.TotalProcessorTime.ToString() + "\r\n");
proc_GridServer.StopProcess();
}
if (proc_AssetServer != null)
{
- txtMainLog.AppendText("Shutting down AssetServer. CPU time used: " + proc_AssetServer.TotalProcessorTime);
+ txtMainLog.AppendText("Shutting down AssetServer. CPU time used: " + proc_AssetServer.TotalProcessorTime.ToString() + "\r\n");
proc_AssetServer.StopProcess();
}
if (proc_OpenSim != null)
{
- txtMainLog.AppendText("Shutting down OpenSim. CPU time used: " + proc_OpenSim.TotalProcessorTime);
+ txtMainLog.AppendText("Shutting down OpenSim. CPU time used: " + proc_OpenSim.TotalProcessorTime.ToString() + "\r\n");
proc_OpenSim.StopProcess();
}
@@ -182,6 +193,43 @@ namespace OpenSim.GUI
}
+ 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();
+ }
}
}
\ No newline at end of file
--
cgit v1.1
From a5aedc089671fa326285c590a7bdd6414d2ec5f3 Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Wed, 12 Sep 2007 13:27:04 +0000
Subject: GUI: Added placeholders + info on what to be done
---
OpenSim/Tools/OpenSim.GUI/Main.cs | 7 ++
OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj | 10 ++
.../Tools/OpenSim.GUI/frmConfiguration.Designer.cs | 61 ++++++++++
OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs | 18 +++
OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx | 129 +++++++++++++++++++++
5 files changed, 225 insertions(+)
create mode 100644 OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
create mode 100644 OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
create mode 100644 OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs
index fb2cdae..611ddd9 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -92,6 +92,13 @@ namespace OpenSim.GUI
private void btnStart_Click(object sender, EventArgs e)
{
+
+ //
+ // 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;
diff --git a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
index 5228b2b..7ac4290 100644
--- a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
+++ b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
@@ -36,6 +36,12 @@
+
+ Form
+
+
+ frmConfiguration.cs
+
Component
@@ -50,6 +56,10 @@
+
+ Designer
+ frmConfiguration.cs
+
Designer
Main.cs
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
new file mode 100644
index 0000000..1777fbc
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
@@ -0,0 +1,61 @@
+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;
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
new file mode 100644
index 0000000..9acf305
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
@@ -0,0 +1,18 @@
+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();
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx
new file mode 100644
index 0000000..2002e68
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx
@@ -0,0 +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?
+
+
\ No newline at end of file
--
cgit v1.1
From cef8c5e9d7ce49cc47e7ef1816465064d889d6d5 Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Thu, 13 Sep 2007 11:11:08 +0000
Subject: Hiding evidence that I once was a VB coder (thanks to refactoring).
Renamed member names to smallcapsy.
---
OpenSim/Tools/OpenSim.GUI/Main.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs
index 611ddd9..0b5af28 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -112,7 +112,7 @@ namespace OpenSim.GUI
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(2000);
+ System.Threading.Thread.Sleep(3000);
// Start GridServer
proc_GridServer = new ProcessManager("OpenSim.Grid.GridServer.exe", "");
@@ -120,7 +120,7 @@ namespace OpenSim.GUI
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(2000);
+ System.Threading.Thread.Sleep(3000);
// Start AssetServer
proc_AssetServer = new ProcessManager("OpenSim.Grid.AssetServer.exe", "");
@@ -128,7 +128,7 @@ namespace OpenSim.GUI
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(2000);
+ System.Threading.Thread.Sleep(3000);
}
// Start OpenSim
--
cgit v1.1
From b8d9737a47696952bedec33dface8f18df47341f Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Mon, 17 Sep 2007 12:52:03 +0000
Subject: fixing me some line endings
---
OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs | 176 ++---
OpenSim/Tools/OpenSim.GUI/Main.Designer.cs | 786 ++++++++++-----------
OpenSim/Tools/OpenSim.GUI/Main.cs | 482 ++++++-------
OpenSim/Tools/OpenSim.GUI/ProcessManager.cs | 142 ++--
OpenSim/Tools/OpenSim.GUI/Program.cs | 38 +-
.../Tools/OpenSim.GUI/Properties/AssemblyInfo.cs | 66 +-
.../OpenSim.GUI/Properties/Resources.Designer.cs | 142 ++--
.../OpenSim.GUI/Properties/Settings.Designer.cs | 60 +-
.../Tools/OpenSim.GUI/frmConfiguration.Designer.cs | 120 ++--
OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs | 34 +-
10 files changed, 1023 insertions(+), 1023 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
index 91b3f60..47ff65a 100644
--- a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
+++ b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
@@ -1,88 +1,88 @@
-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;
- }
- }
-
-
- }
-}
+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 6350c57..c08f26d 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
@@ -1,393 +1,393 @@
-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.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.label1 = new System.Windows.Forms.Label();
- this.txtInputRegionServer = new OpenSim.GUI.InputTextBoxControl();
- this.txtOpenSim = new System.Windows.Forms.TextBox();
- this.tabUserServer = new System.Windows.Forms.TabPage();
- this.label2 = new System.Windows.Forms.Label();
- this.txtInputUserServer = new OpenSim.GUI.InputTextBoxControl();
- this.txtUserServer = new System.Windows.Forms.TextBox();
- this.tabAssetServer = new System.Windows.Forms.TabPage();
- this.label3 = new System.Windows.Forms.Label();
- this.txtInputAssetServer = new OpenSim.GUI.InputTextBoxControl();
- this.txtAssetServer = new System.Windows.Forms.TextBox();
- this.tabGridServer = new System.Windows.Forms.TabPage();
- this.label4 = new System.Windows.Forms.Label();
- this.txtInputGridServer = new OpenSim.GUI.InputTextBoxControl();
- this.txtGridServer = new System.Windows.Forms.TextBox();
- this.gbLog = new System.Windows.Forms.GroupBox();
- 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.tabLogs.SuspendLayout();
- this.tabMainLog.SuspendLayout();
- this.tabRegionServer.SuspendLayout();
- this.tabUserServer.SuspendLayout();
- this.tabAssetServer.SuspendLayout();
- this.tabGridServer.SuspendLayout();
- this.gbLog.SuspendLayout();
- this.SuspendLayout();
- //
- // 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(562, 230);
- 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(554, 204);
- 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(6, 5);
- this.txtMainLog.Multiline = true;
- this.txtMainLog.Name = "txtMainLog";
- this.txtMainLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtMainLog.Size = new System.Drawing.Size(542, 195);
- this.txtMainLog.TabIndex = 1;
- //
- // tabRegionServer
- //
- this.tabRegionServer.Controls.Add(this.label1);
- this.tabRegionServer.Controls.Add(this.txtInputRegionServer);
- 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(554, 204);
- this.tabRegionServer.TabIndex = 0;
- this.tabRegionServer.Text = "Region server";
- this.tabRegionServer.UseVisualStyleBackColor = true;
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(6, 183);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(57, 13);
- this.label1.TabIndex = 4;
- this.label1.Text = "Command:";
- //
- // txtInputRegionServer
- //
- this.txtInputRegionServer.Location = new System.Drawing.Point(69, 180);
- this.txtInputRegionServer.Name = "txtInputRegionServer";
- this.txtInputRegionServer.Size = new System.Drawing.Size(479, 20);
- this.txtInputRegionServer.TabIndex = 0;
- //
- // 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(6, 6);
- this.txtOpenSim.Multiline = true;
- this.txtOpenSim.Name = "txtOpenSim";
- this.txtOpenSim.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtOpenSim.Size = new System.Drawing.Size(542, 168);
- this.txtOpenSim.TabIndex = 0;
- //
- // tabUserServer
- //
- this.tabUserServer.Controls.Add(this.label2);
- this.tabUserServer.Controls.Add(this.txtInputUserServer);
- 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(554, 204);
- this.tabUserServer.TabIndex = 1;
- this.tabUserServer.Text = "User server";
- this.tabUserServer.UseVisualStyleBackColor = true;
- //
- // label2
- //
- this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(6, 181);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(57, 13);
- this.label2.TabIndex = 6;
- this.label2.Text = "Command:";
- //
- // txtInputUserServer
- //
- this.txtInputUserServer.Location = new System.Drawing.Point(69, 178);
- this.txtInputUserServer.Name = "txtInputUserServer";
- this.txtInputUserServer.Size = new System.Drawing.Size(479, 20);
- this.txtInputUserServer.TabIndex = 5;
- //
- // 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(6, 5);
- this.txtUserServer.Multiline = true;
- this.txtUserServer.Name = "txtUserServer";
- this.txtUserServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtUserServer.Size = new System.Drawing.Size(542, 168);
- this.txtUserServer.TabIndex = 1;
- //
- // tabAssetServer
- //
- this.tabAssetServer.Controls.Add(this.label3);
- this.tabAssetServer.Controls.Add(this.txtInputAssetServer);
- 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(554, 204);
- this.tabAssetServer.TabIndex = 2;
- this.tabAssetServer.Text = "Asset server";
- this.tabAssetServer.UseVisualStyleBackColor = true;
- //
- // label3
- //
- this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(6, 182);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(57, 13);
- this.label3.TabIndex = 6;
- this.label3.Text = "Command:";
- //
- // txtInputAssetServer
- //
- this.txtInputAssetServer.Location = new System.Drawing.Point(69, 179);
- this.txtInputAssetServer.Name = "txtInputAssetServer";
- this.txtInputAssetServer.Size = new System.Drawing.Size(479, 20);
- this.txtInputAssetServer.TabIndex = 5;
- //
- // 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(6, 5);
- this.txtAssetServer.Multiline = true;
- this.txtAssetServer.Name = "txtAssetServer";
- this.txtAssetServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtAssetServer.Size = new System.Drawing.Size(542, 168);
- this.txtAssetServer.TabIndex = 1;
- //
- // tabGridServer
- //
- this.tabGridServer.Controls.Add(this.label4);
- this.tabGridServer.Controls.Add(this.txtInputGridServer);
- 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(554, 204);
- this.tabGridServer.TabIndex = 3;
- this.tabGridServer.Text = "Grid server";
- this.tabGridServer.UseVisualStyleBackColor = true;
- //
- // label4
- //
- this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(6, 182);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(57, 13);
- this.label4.TabIndex = 6;
- this.label4.Text = "Command:";
- //
- // txtInputGridServer
- //
- this.txtInputGridServer.Location = new System.Drawing.Point(69, 179);
- this.txtInputGridServer.Name = "txtInputGridServer";
- this.txtInputGridServer.Size = new System.Drawing.Size(479, 20);
- this.txtInputGridServer.TabIndex = 5;
- //
- // 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(6, 5);
- this.txtGridServer.Multiline = true;
- this.txtGridServer.Name = "txtGridServer";
- this.txtGridServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtGridServer.Size = new System.Drawing.Size(542, 168);
- this.txtGridServer.TabIndex = 1;
- //
- // 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(2, 41);
- this.gbLog.Name = "gbLog";
- this.gbLog.Size = new System.Drawing.Size(574, 255);
- this.gbLog.TabIndex = 1;
- this.gbLog.TabStop = false;
- this.gbLog.Text = "Logs";
- //
- // btnStart
- //
- this.btnStart.Location = new System.Drawing.Point(8, 12);
- this.btnStart.Name = "btnStart";
- this.btnStart.Size = new System.Drawing.Size(75, 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(89, 12);
- this.btnStop.Name = "btnStop";
- this.btnStop.Size = new System.Drawing.Size(75, 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(407, 18);
- 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(319, 18);
- 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(484, 18);
- 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);
- //
- // Main
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(583, 299);
- 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.Name = "Main";
- this.Text = "OpenSim";
- this.Load += new System.EventHandler(this.Main_Load);
- 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.gbLog.ResumeLayout(false);
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.TabControl tabLogs;
- private System.Windows.Forms.TabPage tabRegionServer;
- private System.Windows.Forms.TabPage tabUserServer;
- private System.Windows.Forms.GroupBox gbLog;
- private System.Windows.Forms.TextBox txtOpenSim;
- private System.Windows.Forms.TextBox txtUserServer;
- private System.Windows.Forms.TabPage tabAssetServer;
- private System.Windows.Forms.TextBox txtAssetServer;
- private System.Windows.Forms.TabPage tabGridServer;
- private System.Windows.Forms.TextBox txtGridServer;
- private System.Windows.Forms.TabPage tabMainLog;
- private System.Windows.Forms.Button btnStart;
- private System.Windows.Forms.Button btnStop;
- private System.Windows.Forms.TextBox txtMainLog;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Label label4;
- private InputTextBoxControl txtInputRegionServer;
- private InputTextBoxControl txtInputUserServer;
- private InputTextBoxControl txtInputAssetServer;
- private InputTextBoxControl txtInputGridServer;
- private System.Windows.Forms.RadioButton rbGridRegionMode;
- private System.Windows.Forms.RadioButton rbStandAloneMode;
- private System.Windows.Forms.RadioButton rbGridServer;
- }
-}
-
+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.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.label1 = new System.Windows.Forms.Label();
+ this.txtInputRegionServer = new OpenSim.GUI.InputTextBoxControl();
+ this.txtOpenSim = new System.Windows.Forms.TextBox();
+ this.tabUserServer = new System.Windows.Forms.TabPage();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtInputUserServer = new OpenSim.GUI.InputTextBoxControl();
+ this.txtUserServer = new System.Windows.Forms.TextBox();
+ this.tabAssetServer = new System.Windows.Forms.TabPage();
+ this.label3 = new System.Windows.Forms.Label();
+ this.txtInputAssetServer = new OpenSim.GUI.InputTextBoxControl();
+ this.txtAssetServer = new System.Windows.Forms.TextBox();
+ this.tabGridServer = new System.Windows.Forms.TabPage();
+ this.label4 = new System.Windows.Forms.Label();
+ this.txtInputGridServer = new OpenSim.GUI.InputTextBoxControl();
+ this.txtGridServer = new System.Windows.Forms.TextBox();
+ this.gbLog = new System.Windows.Forms.GroupBox();
+ 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.tabLogs.SuspendLayout();
+ this.tabMainLog.SuspendLayout();
+ this.tabRegionServer.SuspendLayout();
+ this.tabUserServer.SuspendLayout();
+ this.tabAssetServer.SuspendLayout();
+ this.tabGridServer.SuspendLayout();
+ this.gbLog.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // 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(562, 230);
+ 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(554, 204);
+ 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(6, 5);
+ this.txtMainLog.Multiline = true;
+ this.txtMainLog.Name = "txtMainLog";
+ this.txtMainLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtMainLog.Size = new System.Drawing.Size(542, 195);
+ this.txtMainLog.TabIndex = 1;
+ //
+ // tabRegionServer
+ //
+ this.tabRegionServer.Controls.Add(this.label1);
+ this.tabRegionServer.Controls.Add(this.txtInputRegionServer);
+ 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(554, 204);
+ this.tabRegionServer.TabIndex = 0;
+ this.tabRegionServer.Text = "Region server";
+ this.tabRegionServer.UseVisualStyleBackColor = true;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(6, 183);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(57, 13);
+ this.label1.TabIndex = 4;
+ this.label1.Text = "Command:";
+ //
+ // txtInputRegionServer
+ //
+ this.txtInputRegionServer.Location = new System.Drawing.Point(69, 180);
+ this.txtInputRegionServer.Name = "txtInputRegionServer";
+ this.txtInputRegionServer.Size = new System.Drawing.Size(479, 20);
+ this.txtInputRegionServer.TabIndex = 0;
+ //
+ // 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(6, 6);
+ this.txtOpenSim.Multiline = true;
+ this.txtOpenSim.Name = "txtOpenSim";
+ this.txtOpenSim.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtOpenSim.Size = new System.Drawing.Size(542, 168);
+ this.txtOpenSim.TabIndex = 0;
+ //
+ // tabUserServer
+ //
+ this.tabUserServer.Controls.Add(this.label2);
+ this.tabUserServer.Controls.Add(this.txtInputUserServer);
+ 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(554, 204);
+ this.tabUserServer.TabIndex = 1;
+ this.tabUserServer.Text = "User server";
+ this.tabUserServer.UseVisualStyleBackColor = true;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(6, 181);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(57, 13);
+ this.label2.TabIndex = 6;
+ this.label2.Text = "Command:";
+ //
+ // txtInputUserServer
+ //
+ this.txtInputUserServer.Location = new System.Drawing.Point(69, 178);
+ this.txtInputUserServer.Name = "txtInputUserServer";
+ this.txtInputUserServer.Size = new System.Drawing.Size(479, 20);
+ this.txtInputUserServer.TabIndex = 5;
+ //
+ // 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(6, 5);
+ this.txtUserServer.Multiline = true;
+ this.txtUserServer.Name = "txtUserServer";
+ this.txtUserServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtUserServer.Size = new System.Drawing.Size(542, 168);
+ this.txtUserServer.TabIndex = 1;
+ //
+ // tabAssetServer
+ //
+ this.tabAssetServer.Controls.Add(this.label3);
+ this.tabAssetServer.Controls.Add(this.txtInputAssetServer);
+ 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(554, 204);
+ this.tabAssetServer.TabIndex = 2;
+ this.tabAssetServer.Text = "Asset server";
+ this.tabAssetServer.UseVisualStyleBackColor = true;
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(6, 182);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(57, 13);
+ this.label3.TabIndex = 6;
+ this.label3.Text = "Command:";
+ //
+ // txtInputAssetServer
+ //
+ this.txtInputAssetServer.Location = new System.Drawing.Point(69, 179);
+ this.txtInputAssetServer.Name = "txtInputAssetServer";
+ this.txtInputAssetServer.Size = new System.Drawing.Size(479, 20);
+ this.txtInputAssetServer.TabIndex = 5;
+ //
+ // 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(6, 5);
+ this.txtAssetServer.Multiline = true;
+ this.txtAssetServer.Name = "txtAssetServer";
+ this.txtAssetServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtAssetServer.Size = new System.Drawing.Size(542, 168);
+ this.txtAssetServer.TabIndex = 1;
+ //
+ // tabGridServer
+ //
+ this.tabGridServer.Controls.Add(this.label4);
+ this.tabGridServer.Controls.Add(this.txtInputGridServer);
+ 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(554, 204);
+ this.tabGridServer.TabIndex = 3;
+ this.tabGridServer.Text = "Grid server";
+ this.tabGridServer.UseVisualStyleBackColor = true;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(6, 182);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(57, 13);
+ this.label4.TabIndex = 6;
+ this.label4.Text = "Command:";
+ //
+ // txtInputGridServer
+ //
+ this.txtInputGridServer.Location = new System.Drawing.Point(69, 179);
+ this.txtInputGridServer.Name = "txtInputGridServer";
+ this.txtInputGridServer.Size = new System.Drawing.Size(479, 20);
+ this.txtInputGridServer.TabIndex = 5;
+ //
+ // 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(6, 5);
+ this.txtGridServer.Multiline = true;
+ this.txtGridServer.Name = "txtGridServer";
+ this.txtGridServer.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtGridServer.Size = new System.Drawing.Size(542, 168);
+ this.txtGridServer.TabIndex = 1;
+ //
+ // 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(2, 41);
+ this.gbLog.Name = "gbLog";
+ this.gbLog.Size = new System.Drawing.Size(574, 255);
+ this.gbLog.TabIndex = 1;
+ this.gbLog.TabStop = false;
+ this.gbLog.Text = "Logs";
+ //
+ // btnStart
+ //
+ this.btnStart.Location = new System.Drawing.Point(8, 12);
+ this.btnStart.Name = "btnStart";
+ this.btnStart.Size = new System.Drawing.Size(75, 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(89, 12);
+ this.btnStop.Name = "btnStop";
+ this.btnStop.Size = new System.Drawing.Size(75, 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(407, 18);
+ 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(319, 18);
+ 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(484, 18);
+ 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);
+ //
+ // Main
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(583, 299);
+ 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.Name = "Main";
+ this.Text = "OpenSim";
+ this.Load += new System.EventHandler(this.Main_Load);
+ 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.gbLog.ResumeLayout(false);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TabControl tabLogs;
+ private System.Windows.Forms.TabPage tabRegionServer;
+ private System.Windows.Forms.TabPage tabUserServer;
+ private System.Windows.Forms.GroupBox gbLog;
+ private System.Windows.Forms.TextBox txtOpenSim;
+ private System.Windows.Forms.TextBox txtUserServer;
+ private System.Windows.Forms.TabPage tabAssetServer;
+ private System.Windows.Forms.TextBox txtAssetServer;
+ private System.Windows.Forms.TabPage tabGridServer;
+ private System.Windows.Forms.TextBox txtGridServer;
+ private System.Windows.Forms.TabPage tabMainLog;
+ private System.Windows.Forms.Button btnStart;
+ private System.Windows.Forms.Button btnStop;
+ private System.Windows.Forms.TextBox txtMainLog;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ private InputTextBoxControl txtInputRegionServer;
+ private InputTextBoxControl txtInputUserServer;
+ private InputTextBoxControl txtInputAssetServer;
+ private InputTextBoxControl txtInputGridServer;
+ private System.Windows.Forms.RadioButton rbGridRegionMode;
+ private System.Windows.Forms.RadioButton rbStandAloneMode;
+ private System.Windows.Forms.RadioButton rbGridServer;
+ }
+}
+
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs
index 0b5af28..5de4af4 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -1,242 +1,242 @@
-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)
- {
-
- //
- // 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;
-
- if (proc_UserServer != null)
- {
- txtMainLog.AppendText("Shutting down UserServer. CPU time used: " + proc_UserServer.TotalProcessorTime.ToString() + "\r\n");
- proc_UserServer.StopProcess();
- }
- if (proc_GridServer != null)
- {
- txtMainLog.AppendText("Shutting down GridServer. CPU time used: " + proc_GridServer.TotalProcessorTime.ToString() + "\r\n");
- proc_GridServer.StopProcess();
- }
- if (proc_AssetServer != null)
- {
- txtMainLog.AppendText("Shutting down AssetServer. CPU time used: " + proc_AssetServer.TotalProcessorTime.ToString() + "\r\n");
- proc_AssetServer.StopProcess();
- }
- if (proc_OpenSim != null)
- {
- txtMainLog.AppendText("Shutting down OpenSim. CPU time used: " + proc_OpenSim.TotalProcessorTime.ToString() + "\r\n");
- proc_OpenSim.StopProcess();
- }
-
- btnStart.Enabled = true;
- btnStop.Enabled = false;
-
-
- }
-
- 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();
- }
-
- }
+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)
+ {
+
+ //
+ // 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;
+
+ if (proc_UserServer != null)
+ {
+ txtMainLog.AppendText("Shutting down UserServer. CPU time used: " + proc_UserServer.TotalProcessorTime.ToString() + "\r\n");
+ proc_UserServer.StopProcess();
+ }
+ if (proc_GridServer != null)
+ {
+ txtMainLog.AppendText("Shutting down GridServer. CPU time used: " + proc_GridServer.TotalProcessorTime.ToString() + "\r\n");
+ proc_GridServer.StopProcess();
+ }
+ if (proc_AssetServer != null)
+ {
+ txtMainLog.AppendText("Shutting down AssetServer. CPU time used: " + proc_AssetServer.TotalProcessorTime.ToString() + "\r\n");
+ proc_AssetServer.StopProcess();
+ }
+ if (proc_OpenSim != null)
+ {
+ txtMainLog.AppendText("Shutting down OpenSim. CPU time used: " + proc_OpenSim.TotalProcessorTime.ToString() + "\r\n");
+ proc_OpenSim.StopProcess();
+ }
+
+ btnStart.Enabled = true;
+ btnStop.Enabled = false;
+
+
+ }
+
+ 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();
+ }
+
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
index 0ab074e..8c019fb 100644
--- a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
+++ b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
@@ -1,71 +1,71 @@
-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());
- }
- }
- }
-}
+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 a849b1b..3766ee6 100644
--- a/OpenSim/Tools/OpenSim.GUI/Program.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Program.cs
@@ -1,20 +1,20 @@
-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());
- }
- }
+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());
+ }
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
index 3e86b1c..adc2285 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
@@ -1,33 +1,33 @@
-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")]
+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.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
index f7de4f0..33e67d4 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
@@ -1,71 +1,71 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.312
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace OpenSim.GUI.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("OpenSim.GUI.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.312
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace OpenSim.GUI.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("OpenSim.GUI.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/OpenSim.GUI/Properties/Settings.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
index e23862a..dd1db86 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
@@ -1,30 +1,30 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.312
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace OpenSim.GUI.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.312
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace OpenSim.GUI.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/OpenSim.GUI/frmConfiguration.Designer.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
index 1777fbc..bba9361 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
@@ -1,61 +1,61 @@
-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;
- }
+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;
+ }
}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
index 9acf305..c305657 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
@@ -1,18 +1,18 @@
-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();
- }
- }
+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();
+ }
+ }
}
\ No newline at end of file
--
cgit v1.1
From 849eaffbe5fc59015adb7795e76b0b039e2c5cb0 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Mon, 15 Oct 2007 07:10:21 +0000
Subject: * Applied patch #418 : copyright-r2012.patch - some errors, but got
most thru
---
.../LaunchSLClient/Form1.Designer.cs | 29 +++++++++++++++++++++
OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs | 28 ++++++++++++++++++++
OpenSim/Tools/OpenSim.GUI/Main.Designer.cs | 29 +++++++++++++++++++++
OpenSim/Tools/OpenSim.GUI/Main.cs | 30 +++++++++++++++++++++-
OpenSim/Tools/OpenSim.GUI/ProcessManager.cs | 28 ++++++++++++++++++++
OpenSim/Tools/OpenSim.GUI/Program.cs | 30 +++++++++++++++++++++-
.../Tools/OpenSim.GUI/frmConfiguration.Designer.cs | 30 +++++++++++++++++++++-
OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs | 30 +++++++++++++++++++++-
8 files changed, 230 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
index 0601e51..40dee17 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
@@ -1,3 +1,31 @@
+/*
+* 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
@@ -81,3 +109,4 @@ namespace LaunchSLClient
}
}
+
diff --git a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
index 47ff65a..467942e 100644
--- a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
+++ b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
@@ -1,3 +1,31 @@
+/*
+* 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;
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
index c08f26d..798c6a3 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
@@ -1,3 +1,31 @@
+/*
+* 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
@@ -391,3 +419,4 @@ namespace OpenSim.GUI
}
}
+
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs
index 5de4af4..7f76f54 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -1,3 +1,31 @@
+/*
+* 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;
@@ -239,4 +267,4 @@ namespace OpenSim.GUI
}
}
-}
\ No newline at end of file
+}
diff --git a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
index 8c019fb..8421f0e 100644
--- a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
+++ b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
@@ -1,3 +1,31 @@
+/*
+* 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;
diff --git a/OpenSim/Tools/OpenSim.GUI/Program.cs b/OpenSim/Tools/OpenSim.GUI/Program.cs
index 3766ee6..e646b9c 100644
--- a/OpenSim/Tools/OpenSim.GUI/Program.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Program.cs
@@ -1,3 +1,31 @@
+/*
+* 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;
@@ -17,4 +45,4 @@ namespace OpenSim.GUI
Application.Run(new Main());
}
}
-}
\ No newline at end of file
+}
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
index bba9361..6da9bc1 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
@@ -1,3 +1,31 @@
+/*
+* 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
@@ -58,4 +86,4 @@ namespace OpenSim.GUI
private System.Windows.Forms.TextBox textBox1;
}
-}
\ No newline at end of file
+}
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
index c305657..2c9b97a 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
@@ -1,3 +1,31 @@
+/*
+* 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;
@@ -15,4 +43,4 @@ namespace OpenSim.GUI
InitializeComponent();
}
}
-}
\ No newline at end of file
+}
--
cgit v1.1
From 58ef357cbf74216629aa3baa470889104eff0de8 Mon Sep 17 00:00:00 2001
From: Tleiades Hax
Date: Tue, 16 Oct 2007 05:20:45 +0000
Subject: Added support for 64 bit windows
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index 619f6de..38c5435 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -71,7 +71,11 @@ namespace LaunchSLClient
regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Linden Research, Inc.\SecondLife");
if (regKey == null)
{
- throw new LauncherException("Can't find Second Life. Are you sure it is installed?", "LauncherException.Form1");
+ 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");
--
cgit v1.1
From 6865f5cbd4d0aa9918df9aae531d8a6b336df8a9 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Tue, 30 Oct 2007 16:55:24 +0000
Subject: * Now the launcher actually WORKS. Yay.
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index 38c5435..5f4d55d 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -180,10 +180,10 @@ namespace LaunchSLClient
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 == "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 = ""; }
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = runLine;
--
cgit v1.1
From 90e7c59c11fdc0d0300441818470baa3c80fd7f1 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Tue, 30 Oct 2007 17:13:30 +0000
Subject: * Added OpenLifeGrid to Launcher
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index 5f4d55d..35fd58a 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -166,9 +166,13 @@ namespace LaunchSLClient
{
MessageBox.Show("No OpenSim installed. Showing public grids only", "No OpenSim");
}
- menuItems.Add("DeepGrid - www.deepgrid.com");
+
menuItems.Add("OSGrid - www.osgrid.org");
- menuItems.Add("Linden Labs - www.secondlife.com");
+ 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;
}
@@ -185,6 +189,8 @@ namespace LaunchSLClient
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 = "http://logingrid.net:8002"; }
+
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = runLine;
proc.StartInfo.Arguments = exeFlags.ToString() + " " + runUrl;
--
cgit v1.1
From 9e34f04cbbdfc28c95eb0cc84f4445407729e87b Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Tue, 30 Oct 2007 17:19:34 +0000
Subject: * doh
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index 35fd58a..1a79d82 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -189,7 +189,7 @@ namespace LaunchSLClient
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 = "http://logingrid.net:8002"; }
+ 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;
--
cgit v1.1
From a8c42a5829f7b33ce6e47aa1c7ef191fffa9e90c Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Tue, 30 Oct 2007 17:28:41 +0000
Subject: * doh II
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index 1a79d82..f4d4ed1 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -169,7 +169,7 @@ namespace LaunchSLClient
menuItems.Add("OSGrid - www.osgrid.org");
menuItems.Add("DeepGrid - www.deepgrid.com");
- menuItems.Add("OpenlifeGrid - www.openlifegrid.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");
--
cgit v1.1
From 61b301cbcdd7e4eab38993f25942a715f69dc966 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Wed, 14 Nov 2007 11:22:01 +0000
Subject: * moved outer tool dir into inner tool dir
---
OpenSim/Tools/Windows/Installer/LICENSE.txt | 25 +++++
OpenSim/Tools/Windows/Installer/OpenSim.nsi | 151 ++++++++++++++++++++++++++++
OpenSim/Tools/classaudit.pl | 133 ++++++++++++++++++++++++
3 files changed, 309 insertions(+)
create mode 100644 OpenSim/Tools/Windows/Installer/LICENSE.txt
create mode 100644 OpenSim/Tools/Windows/Installer/OpenSim.nsi
create mode 100755 OpenSim/Tools/classaudit.pl
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Windows/Installer/LICENSE.txt b/OpenSim/Tools/Windows/Installer/LICENSE.txt
new file mode 100644
index 0000000..6ad7705
--- /dev/null
+++ b/OpenSim/Tools/Windows/Installer/LICENSE.txt
@@ -0,0 +1,25 @@
+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
new file mode 100644
index 0000000..d1df7ba
--- /dev/null
+++ b/OpenSim/Tools/Windows/Installer/OpenSim.nsi
@@ -0,0 +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
diff --git a/OpenSim/Tools/classaudit.pl b/OpenSim/Tools/classaudit.pl
new file mode 100755
index 0000000..efe0069
--- /dev/null
+++ b/OpenSim/Tools/classaudit.pl
@@ -0,0 +1,133 @@
+#!/usr/bin/perl
+#
+# Audit tool for OpenSim class and namespace definitions.
+#
+# Copyright 2007 IBM
+#
+# Authors: Sean Dague
+#
+# 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.
+
+use strict;
+use File::Find;
+use Data::Dumper;
+use constant YELLOW => "\033[33m";
+use constant RED => "\033[31m";
+use constant CLEAR => "\033[0m";
+our %totals;
+
+
+find(\&test, "../OpenSim");
+print Dumper(\%totals);
+
+sub test {
+ my $file = $File::Find::name;
+ my $dir = $File::Find::dir;
+ $file =~ s{^../}{}; #strip off prefix
+ $dir =~ s{^../}{}; #strip off prefix
+
+ return if ($file !~ /\.cs$/);
+ return if ($file =~ /AssemblyInfo\.cs$/);
+
+ print "Processing File: $file\n";
+
+ my $namespace = find_namespace($_);
+ my $class = find_class($_);
+
+
+
+ if(cmp_namespace($namespace, $dir) == 1) {
+ $totals{goodns}++;
+ } else {
+ $totals{badns}++;
+ }
+
+
+ if(cmp_class($namespace, $class, $file) == 1) {
+ $totals{goodclass}++;
+ } else {
+ $totals{badclass}++;
+ }
+ print "\n";
+}
+
+sub find_class {
+ my $file = shift;
+ my $content = slurp($file);
+ if ($content =~ /\n\s*(public|private|protected)?\s*(class|interface)\s+(\S+)/) {
+ return $3;
+ }
+ return "";
+}
+
+sub find_namespace {
+ my $file = shift;
+ my $content = slurp($file);
+
+ if ($content =~ /\bnamespace\s+(\S+)/s) {
+ return $1;
+ }
+ return "";
+}
+
+sub slurp {
+ my $file = shift;
+ local(*IN);
+ local $/ = undef;
+
+ open(IN, "$file") or die "Can't open '$file': $!";
+ my $content = ;
+ close(IN);
+
+ return $content;
+}
+
+sub cmp_class {
+ my ($ns, $class, $file) = @_;
+ $class = "$ns.$class";
+ my $classtrans = $class;
+ $classtrans =~ s{\.}{/}g;
+ $classtrans .= ".cs";
+
+ if($classtrans ne $file) {
+ error(YELLOW, "CLASS: $class != $file");
+ return -1;
+ }
+ return 1;
+}
+
+sub cmp_namespace {
+ my ($ns, $dir) = @_;
+ my $nstrans = $ns;
+ $nstrans =~ s{\.}{/}g;
+
+ if($nstrans ne $dir) {
+ error(RED, "NS: $ns != $dir");
+ return -1;
+ }
+ return 1;
+}
+
+sub error {
+ print @_, CLEAR, "\n";
+}
--
cgit v1.1
From 49312de1c83bfc1ad01d7f42946e5243d3fc5685 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Mon, 10 Dec 2007 04:54:02 +0000
Subject: totally gratuitous svn:eol-style setting
---
OpenSim/Tools/Windows/Installer/LICENSE.txt | 50 ++++++++++++++---------------
1 file changed, 25 insertions(+), 25 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Windows/Installer/LICENSE.txt b/OpenSim/Tools/Windows/Installer/LICENSE.txt
index 6ad7705..cba4a1c 100644
--- a/OpenSim/Tools/Windows/Installer/LICENSE.txt
+++ b/OpenSim/Tools/Windows/Installer/LICENSE.txt
@@ -1,25 +1,25 @@
-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.
+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.
--
cgit v1.1
From af6eb67999875f12270ef19ed33c179556696754 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Mon, 10 Dec 2007 05:25:16 +0000
Subject: saved OpenSim source code from the giant rampaging unterminated
copyright notice of doom
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 4 ++--
OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs | 4 ++--
OpenSim/Tools/Windows/Installer/LICENSE.txt | 2 +-
OpenSim/Tools/classaudit.pl | 2 +-
5 files changed, 7 insertions(+), 7 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index f4d4ed1..70f8b87 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -13,7 +13,7 @@
* 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
+* 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
@@ -201,4 +201,4 @@ namespace LaunchSLClient
proc.WaitForExit();
}
}
-}
\ No newline at end of file
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
index edf079f..acfa421 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
@@ -13,7 +13,7 @@
* 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
+* 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
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
index d3e56f9..0e77abe 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
@@ -13,7 +13,7 @@
* 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
+* 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
@@ -54,4 +54,4 @@ namespace LaunchSLClient
}
}
}
-}
\ No newline at end of file
+}
diff --git a/OpenSim/Tools/Windows/Installer/LICENSE.txt b/OpenSim/Tools/Windows/Installer/LICENSE.txt
index cba4a1c..6d54d34 100644
--- a/OpenSim/Tools/Windows/Installer/LICENSE.txt
+++ b/OpenSim/Tools/Windows/Installer/LICENSE.txt
@@ -12,7 +12,7 @@ modification, are permitted provided that the following conditions are met:
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
+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
diff --git a/OpenSim/Tools/classaudit.pl b/OpenSim/Tools/classaudit.pl
index efe0069..9c92720 100755
--- a/OpenSim/Tools/classaudit.pl
+++ b/OpenSim/Tools/classaudit.pl
@@ -17,7 +17,7 @@
# 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
+# 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
--
cgit v1.1
From 65a002fc3aeb013bdeb06dece833742b96d3d291 Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Fri, 14 Dec 2007 16:29:06 +0000
Subject: stubbing in OpenSimExport program. This does nothing yet except
compiles a shell
---
OpenSim/Tools/Export/OpenSimExport.cs | 43 +++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 OpenSim/Tools/Export/OpenSimExport.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
new file mode 100644
index 0000000..e5146a3
--- /dev/null
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -0,0 +1,43 @@
+/*
+* 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 Nini.Config;
+using OpenSim.Framework;
+using OpenSim.Framework.Console;
+
+namespace OpenSim.Tools.Export
+{
+ public class OpenSimExport
+ {
+ public static void Main(string[] args)
+ {
+ ArgvConfigSource configSource = new ArgvConfigSource(args);
+ System.Console.WriteLine("This application does nothing useful yet");
+ }
+ }
+}
\ No newline at end of file
--
cgit v1.1
From 7d53c736f6f41c236dc8b4cb23b9fbdccce80922 Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Fri, 14 Dec 2007 17:51:18 +0000
Subject: start to pull in config for OpenSim export
---
OpenSim/Tools/Export/OpenSimExport.cs | 55 ++++++++++++++++++++++++++++++++++-
1 file changed, 54 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index e5146a3..cdafbdb 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -26,18 +26,71 @@
*
*/
using System;
+using System.IO;
using Nini.Config;
+using OpenSim;
using OpenSim.Framework;
using OpenSim.Framework.Console;
+using Mono.Addins;
+using Mono.Addins.Description;
namespace OpenSim.Tools.Export
{
public class OpenSimExport
{
+ private IniConfigSource config;
+
+ public OpenSimExport(IniConfigSource config)
+ {
+ this.config = config;
+ }
+
public static void Main(string[] args)
{
- ArgvConfigSource configSource = new ArgvConfigSource(args);
+ OpenSimExport export = new OpenSimExport(InitConfig(args));
+
System.Console.WriteLine("This application does nothing useful yet");
}
+
+ private static IniConfigSource InitConfig(string[] args)
+ {
+ System.Console.WriteLine("Good");
+ ArgvConfigSource configSource = new ArgvConfigSource(args);
+ configSource.AddSwitch("Startup", "inifile");
+
+// AddinManager.Initialize(".");
+// AddinManager.Registry.Update(null);
+
+ IConfig startupConfig = configSource.Configs["Startup"];
+ string iniFilePath = startupConfig.GetString("inifile", "OpenSim.ini");
+
+ IniConfigSource config = new IniConfigSource();
+ //check for .INI file (either default or name passed in command line)
+ if (File.Exists(iniFilePath))
+ {
+ config.Merge(new IniConfigSource(iniFilePath));
+ config.Merge(configSource);
+ }
+ else
+ {
+ 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
+ // SetDefaultConfig();
+ config.Merge(OpenSim.OpenSimMain.DefaultConfig());
+ config.Merge(configSource);
+ }
+ }
+
+ // ReadConfigSettings();
+
+ return config;
+ }
}
}
\ No newline at end of file
--
cgit v1.1
From a5a408c444fbbb849cd4ba409638b8867616dea7 Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Fri, 14 Dec 2007 18:01:51 +0000
Subject: pluging away, setting up storage manager
---
OpenSim/Tools/Export/OpenSimExport.cs | 10 ++++++++++
1 file changed, 10 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index cdafbdb..03eb123 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -31,6 +31,7 @@ using Nini.Config;
using OpenSim;
using OpenSim.Framework;
using OpenSim.Framework.Console;
+using OpenSim.Region.Environment;
using Mono.Addins;
using Mono.Addins.Description;
@@ -39,10 +40,17 @@ namespace OpenSim.Tools.Export
public class OpenSimExport
{
private IniConfigSource config;
+ private StorageManager sman;
public OpenSimExport(IniConfigSource config)
{
this.config = config;
+ IConfig startup = config.Configs["Startup"];
+ sman = new StorageManager(
+ startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
+ startup.GetString("storage_connection_string","")
+ );
+
}
public static void Main(string[] args)
@@ -52,6 +60,8 @@ namespace OpenSim.Tools.Export
System.Console.WriteLine("This application does nothing useful yet");
}
+
+
private static IniConfigSource InitConfig(string[] args)
{
System.Console.WriteLine("Good");
--
cgit v1.1
From a7320acac12d9a52e70eb890b76d8423d717f040 Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Fri, 14 Dec 2007 22:37:51 +0000
Subject: update to OpenSimExport to test loading of a Region
---
OpenSim/Tools/Export/OpenSimExport.cs | 29 ++++++++++++++++++++++-------
1 file changed, 22 insertions(+), 7 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 03eb123..85a9984 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -27,6 +27,7 @@
*/
using System;
using System.IO;
+using System.Reflection;
using Nini.Config;
using OpenSim;
using OpenSim.Framework;
@@ -39,27 +40,44 @@ namespace OpenSim.Tools.Export
{
public class OpenSimExport
{
- private IniConfigSource config;
+ public IniConfigSource config;
private StorageManager sman;
public OpenSimExport(IniConfigSource config)
{
this.config = config;
IConfig startup = config.Configs["Startup"];
- sman = new StorageManager(
+ // 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();
+
+ this.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");
- System.Console.WriteLine("This application does nothing useful yet");
+ System.Console.WriteLine("This application does nothing useful yet: " + reg.RegionID);
}
+ 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)
@@ -68,9 +86,6 @@ namespace OpenSim.Tools.Export
ArgvConfigSource configSource = new ArgvConfigSource(args);
configSource.AddSwitch("Startup", "inifile");
-// AddinManager.Initialize(".");
-// AddinManager.Registry.Update(null);
-
IConfig startupConfig = configSource.Configs["Startup"];
string iniFilePath = startupConfig.GetString("inifile", "OpenSim.ini");
--
cgit v1.1
From 0047522859b9e08b15f58d8258ef23080b5cb644 Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Sat, 15 Dec 2007 20:14:29 +0000
Subject: more dorking around with exporter. Still far from doing anything
useful.
---
OpenSim/Tools/Export/OpenSimExport.cs | 37 +++++++++++++++++------------------
1 file changed, 18 insertions(+), 19 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 85a9984..b0764ff 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -33,6 +33,7 @@ using OpenSim;
using OpenSim.Framework;
using OpenSim.Framework.Console;
using OpenSim.Region.Environment;
+using OpenSim.Region.Environment.Scenes;
using Mono.Addins;
using Mono.Addins.Description;
@@ -41,7 +42,7 @@ namespace OpenSim.Tools.Export
public class OpenSimExport
{
public IniConfigSource config;
- private StorageManager sman;
+ public StorageManager sman;
public OpenSimExport(IniConfigSource config)
{
@@ -67,6 +68,10 @@ namespace OpenSim.Tools.Export
RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml");
System.Console.WriteLine("This application does nothing useful yet: " + reg.RegionID);
+ foreach (SceneObjectGroup group in export.sman.DataStore.LoadObjects(reg.RegionID))
+ {
+ System.Console.WriteLine("{0} -> {1}", reg.RegionID, group.UUID);
+ }
}
protected LogBase CreateLog()
@@ -88,33 +93,27 @@ namespace OpenSim.Tools.Export
IConfig startupConfig = configSource.Configs["Startup"];
string iniFilePath = startupConfig.GetString("inifile", "OpenSim.ini");
-
+ System.Console.WriteLine(iniFilePath);
IniConfigSource config = new IniConfigSource();
//check for .INI file (either default or name passed in command line)
- if (File.Exists(iniFilePath))
+ if(! File.Exists(iniFilePath))
+ {
+ iniFilePath = Path.Combine(Util.configDir(), iniFilePath);
+ }
+
+ if(File.Exists(iniFilePath))
{
config.Merge(new IniConfigSource(iniFilePath));
config.Merge(configSource);
}
else
{
- 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
- // SetDefaultConfig();
- config.Merge(OpenSim.OpenSimMain.DefaultConfig());
- config.Merge(configSource);
- }
+ // no default config files, so set default values, and save it
+ System.Console.WriteLine("We didn't find a config!");
+ config.Merge(OpenSim.OpenSimMain.DefaultConfig());
+ config.Merge(configSource);
}
-
- // ReadConfigSettings();
-
+
return config;
}
}
--
cgit v1.1
From a71050a2f834730ec841a9fbdb2e8ac43faa7792 Mon Sep 17 00:00:00 2001
From: Charles Krinke
Date: Mon, 24 Dec 2007 05:20:27 +0000
Subject: Thank you kindly, CharlieO for this update to the GUI tool for:
Adding a most all inclusive commandline switch and customizable path flags
for ease of operation for server and client in one nifty window.
on hitting of the start button, my 4 most used switches auto check
(can be unchecked before run). Otherwise can select various other switches
and add required data in entry fields. Or there is a raw cmd field that you
can pass what ever you want after the exe.
Great for setting and forgetting switches without having to use the cmd
prompt and /or editing a shortcut. Tedious constant restarts of the client made easier.
---
OpenSim/Tools/OpenSim.GUI/Main.Designer.cs | 1284 +++++++++++++++++++++++++---
OpenSim/Tools/OpenSim.GUI/Main.cs | 283 +++++-
OpenSim/Tools/OpenSim.GUI/Main.resx | 17 +-
3 files changed, 1440 insertions(+), 144 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
index 798c6a3..d693b9a 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
@@ -56,40 +56,236 @@ namespace OpenSim.GUI
///
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.label1 = new System.Windows.Forms.Label();
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.label2 = new System.Windows.Forms.Label();
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.label3 = new System.Windows.Forms.Label();
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.label4 = new System.Windows.Forms.Label();
this.txtInputGridServer = new OpenSim.GUI.InputTextBoxControl();
+ this.label4 = new System.Windows.Forms.Label();
this.txtGridServer = new System.Windows.Forms.TextBox();
- this.gbLog = new System.Windows.Forms.GroupBox();
- 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.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.gbLog.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)
@@ -103,7 +299,7 @@ namespace OpenSim.GUI
this.tabLogs.Location = new System.Drawing.Point(6, 19);
this.tabLogs.Name = "tabLogs";
this.tabLogs.SelectedIndex = 0;
- this.tabLogs.Size = new System.Drawing.Size(562, 230);
+ this.tabLogs.Size = new System.Drawing.Size(333, 285);
this.tabLogs.TabIndex = 0;
//
// tabMainLog
@@ -111,7 +307,7 @@ namespace OpenSim.GUI
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(554, 204);
+ this.tabMainLog.Size = new System.Drawing.Size(325, 259);
this.tabMainLog.TabIndex = 4;
this.tabMainLog.Text = "Main log";
this.tabMainLog.UseVisualStyleBackColor = true;
@@ -121,257 +317,999 @@ namespace OpenSim.GUI
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(6, 5);
+ 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(542, 195);
+ this.txtMainLog.Size = new System.Drawing.Size(325, 259);
this.txtMainLog.TabIndex = 1;
//
// tabRegionServer
//
- this.tabRegionServer.Controls.Add(this.label1);
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(554, 204);
+ 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(6, 183);
+ 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:";
//
- // txtInputRegionServer
- //
- this.txtInputRegionServer.Location = new System.Drawing.Point(69, 180);
- this.txtInputRegionServer.Name = "txtInputRegionServer";
- this.txtInputRegionServer.Size = new System.Drawing.Size(479, 20);
- this.txtInputRegionServer.TabIndex = 0;
- //
// 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(6, 6);
+ 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(542, 168);
+ this.txtOpenSim.Size = new System.Drawing.Size(325, 236);
this.txtOpenSim.TabIndex = 0;
//
// tabUserServer
//
- this.tabUserServer.Controls.Add(this.label2);
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(554, 204);
+ 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(6, 181);
+ 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:";
//
- // txtInputUserServer
- //
- this.txtInputUserServer.Location = new System.Drawing.Point(69, 178);
- this.txtInputUserServer.Name = "txtInputUserServer";
- this.txtInputUserServer.Size = new System.Drawing.Size(479, 20);
- this.txtInputUserServer.TabIndex = 5;
- //
// 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(6, 5);
+ 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(542, 168);
+ this.txtUserServer.Size = new System.Drawing.Size(325, 236);
this.txtUserServer.TabIndex = 1;
//
// tabAssetServer
//
- this.tabAssetServer.Controls.Add(this.label3);
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(554, 204);
+ 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(6, 182);
+ 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:";
//
- // txtInputAssetServer
- //
- this.txtInputAssetServer.Location = new System.Drawing.Point(69, 179);
- this.txtInputAssetServer.Name = "txtInputAssetServer";
- this.txtInputAssetServer.Size = new System.Drawing.Size(479, 20);
- this.txtInputAssetServer.TabIndex = 5;
- //
// 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(6, 5);
+ 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(542, 168);
+ this.txtAssetServer.Size = new System.Drawing.Size(325, 236);
this.txtAssetServer.TabIndex = 1;
//
// tabGridServer
//
- this.tabGridServer.Controls.Add(this.label4);
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(554, 204);
+ 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(6, 182);
+ 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:";
//
- // txtInputGridServer
- //
- this.txtInputGridServer.Location = new System.Drawing.Point(69, 179);
- this.txtInputGridServer.Name = "txtInputGridServer";
- this.txtInputGridServer.Size = new System.Drawing.Size(479, 20);
- this.txtInputGridServer.TabIndex = 5;
- //
// 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(6, 5);
+ 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(542, 168);
+ this.txtGridServer.Size = new System.Drawing.Size(325, 236);
this.txtGridServer.TabIndex = 1;
//
- // gbLog
+ // label5
//
- 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(2, 41);
- this.gbLog.Name = "gbLog";
- this.gbLog.Size = new System.Drawing.Size(574, 255);
- this.gbLog.TabIndex = 1;
- this.gbLog.TabStop = false;
- this.gbLog.Text = "Logs";
+ 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";
//
- // btnStart
+ // noProbe1
//
- this.btnStart.Location = new System.Drawing.Point(8, 12);
- this.btnStart.Name = "btnStart";
- this.btnStart.Size = new System.Drawing.Size(75, 23);
- this.btnStart.TabIndex = 2;
- this.btnStart.Text = "Start";
- this.btnStart.UseVisualStyleBackColor = true;
- this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
+ 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;
//
- // btnStop
+ // label6
//
- this.btnStop.Location = new System.Drawing.Point(89, 12);
- this.btnStop.Name = "btnStop";
- this.btnStop.Size = new System.Drawing.Size(75, 23);
- this.btnStop.TabIndex = 3;
- this.btnStop.Text = "Stop";
- this.btnStop.UseVisualStyleBackColor = true;
- this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
+ 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);
//
- // rbGridRegionMode
+ // multiple1
//
- this.rbGridRegionMode.AutoSize = true;
- this.rbGridRegionMode.Location = new System.Drawing.Point(407, 18);
- 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);
+ 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;
//
- // rbStandAloneMode
+ // label7
//
- this.rbStandAloneMode.AutoSize = true;
- this.rbStandAloneMode.Checked = true;
- this.rbStandAloneMode.Location = new System.Drawing.Point(319, 18);
- 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);
+ 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 :";
//
- // rbGridServer
+ // noMultiple1
//
- this.rbGridServer.AutoSize = true;
- this.rbGridServer.Location = new System.Drawing.Point(484, 18);
- 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);
+ 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(583, 299);
+ 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();
@@ -383,7 +1321,6 @@ namespace OpenSim.GUI
this.tabAssetServer.PerformLayout();
this.tabGridServer.ResumeLayout(false);
this.tabGridServer.PerformLayout();
- this.gbLog.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -391,32 +1328,109 @@ namespace OpenSim.GUI
#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.TabPage tabUserServer;
- private System.Windows.Forms.GroupBox gbLog;
+ 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.TabPage tabMainLog;
- private System.Windows.Forms.Button btnStart;
- private System.Windows.Forms.Button btnStop;
private System.Windows.Forms.TextBox txtMainLog;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Label label4;
- private InputTextBoxControl txtInputRegionServer;
+ 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.RadioButton rbGridRegionMode;
- private System.Windows.Forms.RadioButton rbStandAloneMode;
- private System.Windows.Forms.RadioButton rbGridServer;
+ 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 7f76f54..24e7bae 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -120,7 +120,10 @@ namespace OpenSim.GUI
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
@@ -200,34 +203,56 @@ namespace OpenSim.GUI
{
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;
}
-
- btnStart.Enabled = true;
- btnStop.Enabled = false;
-
-
}
-
private void UpdateTabVisibility()
{
if (rbStandAloneMode.Checked)
@@ -248,7 +273,6 @@ namespace OpenSim.GUI
if (!tabLogs.TabPages.Contains(tabAssetServer))
tabLogs.TabPages.Add(tabAssetServer);
}
-
}
private void rbStandAloneMode_CheckedChanged(object sender, EventArgs e)
@@ -266,5 +290,248 @@ namespace OpenSim.GUI
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 ff31a6d..db8eb0a 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.resx
+++ b/OpenSim/Tools/OpenSim.GUI/Main.resx
@@ -117,4 +117,19 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
\ No newline at end of file
+
+ 17, 17
+
+
+ 126, 17
+
+
+ 209, 17
+
+
+ 209, 17
+
+
+ 39
+
+
--
cgit v1.1
From 2fc11762aeac47081f67e5cb854982937c78ba4a Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Wed, 26 Dec 2007 20:57:33 +0000
Subject: * Patch from Charlie0 to the OpenSim/Tools/OpenSim.GUI application to
include the .sln file.
---
OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.sln | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.sln
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.sln b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.sln
new file mode 100644
index 0000000..6cdad46
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.sln
@@ -0,0 +1,20 @@
+?
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual C# Express 2005
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.GUI", "OpenSim.GUI.csproj", "{78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
--
cgit v1.1
From c7fc0dbeb7a88bae1617222f119cc13308c3ffd9 Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Wed, 26 Dec 2007 21:06:51 +0000
Subject: * Patch from Charlie Omega for standard secondlife inventory folders:
see mantis:0000246 * Deletes the solution file from OpenSim.Gui
---
OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.sln | 20 --------------------
1 file changed, 20 deletions(-)
delete mode 100644 OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.sln
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.sln b/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.sln
deleted file mode 100644
index 6cdad46..0000000
--- a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-?
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual C# Express 2005
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.GUI", "OpenSim.GUI.csproj", "{78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
--
cgit v1.1
From efd90b56b761219af6425b1c7a2cdd3b6ffb4de2 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Thu, 27 Dec 2007 21:41:48 +0000
Subject: * Optimized usings * shortened references * Removed redundant 'this'
* Normalized EOF
---
OpenSim/Tools/Export/OpenSimExport.cs | 36 ++++++++++++++++-------------------
1 file changed, 16 insertions(+), 20 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index b0764ff..4a5ba5d 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -27,15 +27,11 @@
*/
using System;
using System.IO;
-using System.Reflection;
using Nini.Config;
-using OpenSim;
using OpenSim.Framework;
using OpenSim.Framework.Console;
using OpenSim.Region.Environment;
using OpenSim.Region.Environment.Scenes;
-using Mono.Addins;
-using Mono.Addins.Description;
namespace OpenSim.Tools.Export
{
@@ -43,7 +39,7 @@ namespace OpenSim.Tools.Export
{
public IniConfigSource config;
public StorageManager sman;
-
+
public OpenSimExport(IniConfigSource config)
{
this.config = config;
@@ -53,13 +49,13 @@ namespace OpenSim.Tools.Export
// TODO: this really sucks, but given the way we do
// logging in OpenSim, we need to establish a log up front
-
+
MainLog.Instance = CreateLog();
- this.sman = new StorageManager(
- startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
- startup.GetString("storage_connection_string","")
- );
+ sman = new StorageManager(
+ startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
+ startup.GetString("storage_connection_string", "")
+ );
}
public static void Main(string[] args)
@@ -67,10 +63,10 @@ namespace OpenSim.Tools.Export
OpenSimExport export = new OpenSimExport(InitConfig(args));
RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml");
- System.Console.WriteLine("This application does nothing useful yet: " + reg.RegionID);
+ Console.WriteLine("This application does nothing useful yet: " + reg.RegionID);
foreach (SceneObjectGroup group in export.sman.DataStore.LoadObjects(reg.RegionID))
{
- System.Console.WriteLine("{0} -> {1}", reg.RegionID, group.UUID);
+ Console.WriteLine("{0} -> {1}", reg.RegionID, group.UUID);
}
}
@@ -83,25 +79,25 @@ namespace OpenSim.Tools.Export
return new LogBase((Path.Combine(Util.logDir(), "export.log")), "Export", null, true);
}
-
+
private static IniConfigSource InitConfig(string[] args)
{
- System.Console.WriteLine("Good");
+ Console.WriteLine("Good");
ArgvConfigSource configSource = new ArgvConfigSource(args);
configSource.AddSwitch("Startup", "inifile");
IConfig startupConfig = configSource.Configs["Startup"];
string iniFilePath = startupConfig.GetString("inifile", "OpenSim.ini");
- System.Console.WriteLine(iniFilePath);
+ Console.WriteLine(iniFilePath);
IniConfigSource config = new IniConfigSource();
//check for .INI file (either default or name passed in command line)
- if(! File.Exists(iniFilePath))
+ if (! File.Exists(iniFilePath))
{
iniFilePath = Path.Combine(Util.configDir(), iniFilePath);
}
-
- if(File.Exists(iniFilePath))
+
+ if (File.Exists(iniFilePath))
{
config.Merge(new IniConfigSource(iniFilePath));
config.Merge(configSource);
@@ -109,8 +105,8 @@ namespace OpenSim.Tools.Export
else
{
// no default config files, so set default values, and save it
- System.Console.WriteLine("We didn't find a config!");
- config.Merge(OpenSim.OpenSimMain.DefaultConfig());
+ Console.WriteLine("We didn't find a config!");
+ config.Merge(OpenSimMain.DefaultConfig());
config.Merge(configSource);
}
--
cgit v1.1
From 81b4c7be3e84b29e5fcc387f578afdc07b806048 Mon Sep 17 00:00:00 2001
From: mingchen
Date: Fri, 4 Jan 2008 14:14:15 +0000
Subject: *Added ability to skip any use of the console when configuring and
assume default value. This is useful when the server is running by itself and
a new region request is added without sufficient information
---
OpenSim/Tools/Export/OpenSimExport.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 4a5ba5d..765f6a2 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -61,7 +61,7 @@ namespace OpenSim.Tools.Export
public static void Main(string[] args)
{
OpenSimExport export = new OpenSimExport(InitConfig(args));
- RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml");
+ 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))
--
cgit v1.1
From 82d7fb75227f30946e856aba3ec20e580532ebff Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Fri, 11 Jan 2008 18:44:53 +0000
Subject: * Exprimental prim inventory persistence can now be enabled by users.
* This can be turned on by setting storage_prim_inventories_experimental =
True in OpenSim.ini * Implemented for sqlite and MySQL, no MSSQL
implementation yet * As an experimental feature, there is no guarantee that
this won't take down your region or that the db representation won't need to
change. * More (and continuing) details at
http://opensimulator.org/wiki/OpenSim:Prim_Inventory_Persistence
---
OpenSim/Tools/Export/OpenSimExport.cs | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 765f6a2..e260dc0 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -54,7 +54,8 @@ namespace OpenSim.Tools.Export
sman = new StorageManager(
startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
- startup.GetString("storage_connection_string", "")
+ startup.GetString("storage_connection_string", ""),
+ false
);
}
@@ -113,4 +114,4 @@ namespace OpenSim.Tools.Export
return config;
}
}
-}
\ No newline at end of file
+}
--
cgit v1.1
From b25f9f322cdbcde7fd8c043137bf07992e5ef318 Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Tue, 15 Jan 2008 02:09:55 +0000
Subject: * Mother of all commits: * Cleaned up copyright notices in
AssemblyInfo.cs's * Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent
reallocation of the same strings thousands of times. "" -> String.Empty is
the first such candidate.
---
OpenSim/Tools/Export/OpenSimExport.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index e260dc0..8f4957c 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -54,7 +54,7 @@ namespace OpenSim.Tools.Export
sman = new StorageManager(
startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
- startup.GetString("storage_connection_string", ""),
+ startup.GetString("storage_connection_string", String.Empty),
false
);
}
--
cgit v1.1
From 20215c3d30fb55bf232bff1b3d6652d82e00b798 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Sat, 26 Jan 2008 10:34:49 +0000
Subject: Rewrote svn properties handling script in python. Added more file
types.
---
OpenSim/Tools/OpenSim.GUI/Main.resx | 270 +++++++++---------
OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj | 186 ++++++-------
.../Tools/OpenSim.GUI/Properties/Resources.resx | 232 ++++++++--------
.../Tools/OpenSim.GUI/Properties/Settings.settings | 14 +-
OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx | 256 ++++++++---------
OpenSim/Tools/Windows/Installer/OpenSim.nsi | 302 ++++++++++-----------
6 files changed, 630 insertions(+), 630 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.resx b/OpenSim/Tools/OpenSim.GUI/Main.resx
index db8eb0a..517179d 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 7ac4290..e722fec 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/Properties/Resources.resx b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
index ffecec8..af7dbeb 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 abf36c5..3964565 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.resx b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx
index 2002e68..084547c 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/OpenSim.nsi b/OpenSim/Tools/Windows/Installer/OpenSim.nsi
index d1df7ba..25f33d1 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.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
--
cgit v1.1
From a004ea5f1772e6e36efae29980f2d95a9efeb851 Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Sat, 2 Feb 2008 05:03:28 +0000
Subject: Almost forgot to check in: OpenSim.32BitLaunch.exe is a 32-bit
application that loads OpenSim.exe using .Net framework, hence it is
JIT-compiled to 32-bit. Use this app to start OpenSim on 64-bit systems
(works great on Vista 64 :))
---
.../OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj | 63 ++++++++++++++++++++++
OpenSim/Tools/OpenSim.32BitLaunch/Program.cs | 10 ++++
.../OpenSim.32BitLaunch/Properties/AssemblyInfo.cs | 36 +++++++++++++
3 files changed, 109 insertions(+)
create mode 100644 OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
create mode 100644 OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
create mode 100644 OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
new file mode 100644
index 0000000..d5886e2
--- /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 0000000..ba2f461
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
@@ -0,0 +1,10 @@
+namespace OpenSim._32BitLaunch
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ OpenSim.Application.Main(args);
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..cd83f3f
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+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("Microsoft")]
+[assembly: AssemblyProduct("OpenSim.32BitLaunch")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 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")]
--
cgit v1.1
From b1a6f4821b650acf5523d8d7114a8f5c122dedcb Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Sat, 2 Feb 2008 07:13:37 +0000
Subject: Updated svn properties.
---
.../OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj | 124 ++++++++++-----------
OpenSim/Tools/OpenSim.32BitLaunch/Program.cs | 20 ++--
.../OpenSim.32BitLaunch/Properties/AssemblyInfo.cs | 72 ++++++------
3 files changed, 108 insertions(+), 108 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
index d5886e2..bfca5e4 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
@@ -1,63 +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
-
-
-
-
+
+
+
+ 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
index ba2f461..afd7754 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
@@ -1,10 +1,10 @@
-namespace OpenSim._32BitLaunch
-{
- class Program
- {
- static void Main(string[] args)
- {
- OpenSim.Application.Main(args);
- }
- }
-}
+namespace OpenSim._32BitLaunch
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ OpenSim.Application.Main(args);
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
index cd83f3f..8cf2d05 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
@@ -1,36 +1,36 @@
-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("Microsoft")]
-[assembly: AssemblyProduct("OpenSim.32BitLaunch")]
-[assembly: AssemblyCopyright("Copyright © Microsoft 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")]
+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("Microsoft")]
+[assembly: AssemblyProduct("OpenSim.32BitLaunch")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 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")]
--
cgit v1.1
From 785b641272f0e41c50d42406496baee10e5303a9 Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Sat, 2 Feb 2008 07:53:13 +0000
Subject: fixed a timing bug in config re-read. Apparently there is 1000000000
ns in one second...
---
OpenSim/Tools/OpenSim.32BitLaunch/Program.cs | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
index afd7754..c15b738 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
@@ -1,10 +1,30 @@
-namespace OpenSim._32BitLaunch
+using System;
+
+namespace OpenSim._32BitLaunch
{
class Program
{
static void Main(string[] args)
{
- OpenSim.Application.Main(args);
+ 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("");
+ }
}
}
}
--
cgit v1.1
From 99844ee4c0b6f844c8f8be7488131e2cc72ea21e Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Tue, 5 Feb 2008 03:20:51 +0000
Subject: Added copyright statements.
---
.../LaunchSLClient/Properties/AssemblyInfo.cs | 30 ++++++++++++++++++-
OpenSim/Tools/OpenSim.32BitLaunch/Program.cs | 30 ++++++++++++++++++-
.../OpenSim.32BitLaunch/Properties/AssemblyInfo.cs | 34 ++++++++++++++++++++--
.../Tools/OpenSim.GUI/Properties/AssemblyInfo.cs | 32 ++++++++++++++++++--
4 files changed, 119 insertions(+), 7 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
index 0c3e72e..87a4ac4 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
@@ -1,4 +1,32 @@
-using System.Reflection;
+/*
+* 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;
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
index c15b738..ba7af25 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
@@ -1,4 +1,32 @@
-using System;
+/*
+* 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
{
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
index 8cf2d05..31543f8 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
@@ -1,4 +1,32 @@
-using System.Reflection;
+/*
+* 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;
@@ -8,9 +36,9 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("OpenSim.32BitLaunch")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OpenSim.32BitLaunch")]
-[assembly: AssemblyCopyright("Copyright © Microsoft 2008")]
+[assembly: AssemblyCopyright("Copyright © 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
index adc2285..f579a3f 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
@@ -1,4 +1,32 @@
-using System.Reflection;
+/*
+* 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;
@@ -10,7 +38,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OpenSim.GUI")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyCopyright("Copyright © 2007")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
--
cgit v1.1
From 6ed5283bc06a62f38eb517e67b975832b603bf61 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Tue, 5 Feb 2008 19:44:27 +0000
Subject: Converted logging to use log4net. Changed LogBase to ConsoleBase,
which handles console I/O. This is mostly an in-place conversion, so lots of
refactoring can still be done.
---
OpenSim/Tools/Export/OpenSimExport.cs | 17 +++++------------
OpenSim/Tools/OpenSim.32BitLaunch/Program.cs | 2 ++
2 files changed, 7 insertions(+), 12 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 8f4957c..8eebe35 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -47,10 +47,7 @@ namespace OpenSim.Tools.Export
// 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();
+ MainConsole.Instance = CreateConsole();
sman = new StorageManager(
startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
@@ -61,6 +58,8 @@ namespace OpenSim.Tools.Export
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);
@@ -71,17 +70,11 @@ namespace OpenSim.Tools.Export
}
}
- protected LogBase CreateLog()
+ protected ConsoleBase CreateConsole()
{
- if (!Directory.Exists(Util.logDir()))
- {
- Directory.CreateDirectory(Util.logDir());
- }
-
- return new LogBase((Path.Combine(Util.logDir(), "export.log")), "Export", null, true);
+ return new ConsoleBase("Export", null);
}
-
private static IniConfigSource InitConfig(string[] args)
{
Console.WriteLine("Good");
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
index ba7af25..78ba598 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
@@ -34,6 +34,8 @@ namespace OpenSim._32BitLaunch
{
static void Main(string[] args)
{
+ log4net.Config.XmlConfigurator.Configure();
+
System.Console.WriteLine("32-bit OpenSim executor");
System.Console.WriteLine("-----------------------");
System.Console.WriteLine("");
--
cgit v1.1
From 49622dfbc5619ea8ca09bd371934afb1bf723c18 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 7 Feb 2008 04:41:08 +0000
Subject: Update version numbers to 0.5
---
OpenSim/Tools/Windows/Installer/OpenSim.nsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Windows/Installer/OpenSim.nsi b/OpenSim/Tools/Windows/Installer/OpenSim.nsi
index 25f33d1..3c3fe81 100644
--- a/OpenSim/Tools/Windows/Installer/OpenSim.nsi
+++ b/OpenSim/Tools/Windows/Installer/OpenSim.nsi
@@ -1,7 +1,7 @@
!include "MUI.nsh"
Name "OpenSim"
-OutFile "OpenSim Setup 0.4.exe"
+OutFile "OpenSim Setup 0.5.exe"
CRCCheck On
--
cgit v1.1
From fc9bdb6c1635fc1084d242373c8eda012e1146ad Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Sat, 9 Feb 2008 06:08:55 +0000
Subject: Moved LICENSE.txt into root.
---
OpenSim/Tools/Windows/Installer/LICENSE.txt | 25 -------------------------
1 file changed, 25 deletions(-)
delete mode 100644 OpenSim/Tools/Windows/Installer/LICENSE.txt
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Windows/Installer/LICENSE.txt b/OpenSim/Tools/Windows/Installer/LICENSE.txt
deleted file mode 100644
index 6d54d34..0000000
--- 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.
--
cgit v1.1
From b5a9592cc1214b9bee1a69c20cd9ebe5983a396c Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 15 Feb 2008 02:37:05 +0000
Subject: Moved LaunchSLClient build system to Prebuild. Refactored
LaunchSLClient code a bit.
---
.../LaunchSLClient/Form1.Designer.cs | 4 -
.../Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 215 +++++++++++----------
.../LaunchSLClient/LaunchSLClient.csproj | 79 --------
.../LaunchSLClient/LauncherException.cs | 2 +-
.../Tools/LaunchSLClient/LaunchSLClient/Program.cs | 3 +-
OpenSim/Tools/LaunchSLClient/prebuild.xml | 66 +++++++
OpenSim/Tools/LaunchSLClient/runprebuild.bat | 2 +
OpenSim/Tools/LaunchSLClient/runprebuild.sh | 4 +
8 files changed, 185 insertions(+), 190 deletions(-)
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj
create mode 100644 OpenSim/Tools/LaunchSLClient/prebuild.xml
create mode 100755 OpenSim/Tools/LaunchSLClient/runprebuild.bat
create mode 100755 OpenSim/Tools/LaunchSLClient/runprebuild.sh
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
index 40dee17..db9ad33 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
@@ -98,15 +98,11 @@ namespace LaunchSLClient
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/LaunchSLClient/Form1.cs
index 70f8b87..183a104 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -25,6 +25,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
+
using System;
using System.IO;
using System.Collections;
@@ -42,143 +43,149 @@ 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 deepGridUrl = "http://user.deepgrid.com:8002/";
- string osGridUrl = "http://www.osgrid.org:8002/";
string runUrl = "";
string runLine = "";
- Object exeFlags;
- Object exePath;
-
+ string exeFlags = "";
+ string exePath = "";
- public Form1()
+ private void addLocalSandbox(ref ArrayList menuItems)
{
- 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)
+ // build sandbox URL from Regions\default.xml
+ // this is highly dependant on a standard default.xml
+ if (File.Exists(@"Regions\default.xml"))
{
-
- 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 sandboxHostName = "";
+ string sandboxPort = "";
string text;
+
Regex myRegex = new Regex(".*internal_ip_port=\\\"(?.*?)\\\".*external_host_name=\\\"(?.*?)\\\".*");
- if (File.Exists(@"Regions\default.xml"))
+
+ FileInfo defaultFile = new FileInfo(@"Regions\default.xml");
+ StreamReader stream = defaultFile.OpenText();
+ do
{
- defaultFile = new FileInfo(@"Regions\default.xml");
- stream = defaultFile.OpenText();
- do
+ text = stream.ReadLine();
+ if (text == null)
{
- text = stream.ReadLine();
- if (text == null)
- {
- break;
- }
- MatchCollection theMatches = myRegex.Matches(text);
- foreach (Match theMatch in theMatches)
+ break;
+ }
+ MatchCollection theMatches = myRegex.Matches(text);
+ foreach (Match theMatch in theMatches)
+ {
+ if (theMatch.Length != 0)
{
- if (theMatch.Length != 0)
- {
- sandboxHostName = theMatch.Groups["name"].ToString();
- sandboxPort = theMatch.Groups["port"].ToString();
- }
+ 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");
- }
-
+ }
+ } while (text != null);
- //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.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();
- stream = defaultFile.OpenText();
- do
+ do
+ {
+ text = stream.ReadLine();
+ if (text == null)
{
- text = stream.ReadLine();
- if (text == null)
- {
- break;
- }
- MatchCollection theMatches = myRegex.Matches(text);
- foreach (Match theMatch in theMatches)
+ break;
+ }
+ foreach (Match theMatch in myRegex.Matches(text))
+ {
+ if (theMatch.Length != 0)
{
- if (theMatch.Length != 0)
- {
- gridUrl = theMatch.Groups["url"].ToString();
- }
+ gridUrl = theMatch.Groups["url"].ToString();
}
- } while (text != null);
- stream.Close();
- if (gridUrl != null)
- {
- menuItems.Add("Local Grid Server");
}
+ } 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");
-
- // We don't have a proper login uri for SL grid
- // menuItems.Add("Linden Labs - www.secondlife.com");
- comboBox1.DataSource=menuItems;
+ 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)
@@ -188,8 +195,8 @@ namespace LaunchSLClient
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 = ""; }
- 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;
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LaunchSLClient.csproj
deleted file mode 100644
index 2589ec7..0000000
--- 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/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
index acfa421..e31bd1d 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
@@ -25,6 +25,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
+
using System;
using System.Collections.Generic;
using System.Text;
@@ -33,7 +34,6 @@ namespace LaunchSLClient
{
class LauncherException : ApplicationException
{
-
private const string CUSTOMMESSAGE = "The SL Client Launcher has failed with the following error: ";
private LauncherException() { }
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
index 0e77abe..778d5c0 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
@@ -25,11 +25,11 @@
* 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
@@ -40,7 +40,6 @@ namespace LaunchSLClient
[STAThread]
static void Main()
{
-
try
{
Application.EnableVisualStyles();
diff --git a/OpenSim/Tools/LaunchSLClient/prebuild.xml b/OpenSim/Tools/LaunchSLClient/prebuild.xml
new file mode 100644
index 0000000..8e58ba6
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/prebuild.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+ TRACE;DEBUG
+ false
+ false
+ false
+ 4
+ false
+
+ ../../../bin
+ true
+ true
+ false
+
+
+
+
+ TRACE
+ true
+ false
+ false
+ 4
+ false
+
+ ../../../bin
+ false
+ true
+ false
+
+
+
+
+
+
+ ../../../bin/
+
+
+
+
+ ../../../bin/
+
+
+
+ ../../../bin/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild.bat b/OpenSim/Tools/LaunchSLClient/runprebuild.bat
new file mode 100755
index 0000000..8a2c21a
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/runprebuild.bat
@@ -0,0 +1,2 @@
+bin\Prebuild.exe /target nant
+bin\Prebuild.exe /target vs2005
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild.sh b/OpenSim/Tools/LaunchSLClient/runprebuild.sh
new file mode 100755
index 0000000..7215bc5
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/runprebuild.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+mono ../../../bin/Prebuild.exe /target nant
+mono ../../../bin/Prebuild.exe /target vs2005
--
cgit v1.1
From 343f41ac1b4882e36796b82d21e2e3ba5e49e3c0 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 15 Feb 2008 02:38:02 +0000
Subject: Minor syncing of copyright notices.
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
index db9ad33..b841f0b 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
@@ -13,7 +13,7 @@
* 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
+* 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
--
cgit v1.1
From 337d2d2a8862fb3785860a69c0a02f125523bc30 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 15 Feb 2008 02:51:46 +0000
Subject: Oops. Forgot about Windows users.
---
OpenSim/Tools/LaunchSLClient/runprebuild.bat | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild.bat b/OpenSim/Tools/LaunchSLClient/runprebuild.bat
index 8a2c21a..0427d2e 100755
--- a/OpenSim/Tools/LaunchSLClient/runprebuild.bat
+++ b/OpenSim/Tools/LaunchSLClient/runprebuild.bat
@@ -1,2 +1,2 @@
-bin\Prebuild.exe /target nant
-bin\Prebuild.exe /target vs2005
\ No newline at end of file
+..\..\..\bin\Prebuild.exe /target nant
+..\..\..\bin\Prebuild.exe /target vs2005
--
cgit v1.1
From 21b623b70e33b80dc8caae3b1730bcd8069e3caa Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 15 Feb 2008 02:53:05 +0000
Subject: Moved pCampBot to OpenSim/Tools
---
OpenSim/Tools/pCampBot/BotManager.cs | 235 ++++++++++++++++++++++
OpenSim/Tools/pCampBot/PhysicsBot.cs | 191 ++++++++++++++++++
OpenSim/Tools/pCampBot/PhysicsCamperBotREADME.txt | 36 ++++
OpenSim/Tools/pCampBot/pCampBot.cs | 76 +++++++
OpenSim/Tools/pCampBot/prebuild.xml | 63 ++++++
OpenSim/Tools/pCampBot/runprebuild.bat | 2 +
OpenSim/Tools/pCampBot/runprebuild.sh | 4 +
7 files changed, 607 insertions(+)
create mode 100644 OpenSim/Tools/pCampBot/BotManager.cs
create mode 100644 OpenSim/Tools/pCampBot/PhysicsBot.cs
create mode 100644 OpenSim/Tools/pCampBot/PhysicsCamperBotREADME.txt
create mode 100644 OpenSim/Tools/pCampBot/pCampBot.cs
create mode 100644 OpenSim/Tools/pCampBot/prebuild.xml
create mode 100755 OpenSim/Tools/pCampBot/runprebuild.bat
create mode 100755 OpenSim/Tools/pCampBot/runprebuild.sh
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
new file mode 100644
index 0000000..0c7fa4e
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -0,0 +1,235 @@
+/*
+* 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].Start();
+ m_lBot.Add(pb);
+ }
+
+ ///
+ /// 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 0000000..500683a
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -0,0 +1,191 @@
+/*
+* 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();
+
+ client.Self.Movement.AlwaysRun = true;
+ 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;
+ }
+ client.Self.Jump();
+ string randomf = talkarray[somthing.Next(talkarray.Length)];
+ if (talkarray.Length > 1 && randomf.Length > 1)
+ client.Self.Chat("Can't do it, " + randomf, 0, ChatType.Normal);
+
+ Thread.Sleep(somthing.Next(1,20));
+
+ }
+
+ ///
+ /// 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(), "excuses");
+ 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/PhysicsCamperBotREADME.txt b/OpenSim/Tools/pCampBot/PhysicsCamperBotREADME.txt
new file mode 100644
index 0000000..afa5fbd
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/PhysicsCamperBotREADME.txt
@@ -0,0 +1,36 @@
+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 perminantly, so just say No! to greifing!
+
+-----Setup -----
+Linux: chmod the .sh runprebuild file, run it. Then run nant like;
+
+nant -buildfile: pCampBot.build
+
+and pCampBot.exe will end up in the regular opensim/bin folder
+
+Windows:
+Run the prebuild bat IN THIS FOLDER and then open the created solution and compile it. the Exe file 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
+-------
+
+The bot also 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)
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
new file mode 100644
index 0000000..704a3f5
--- /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();
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/pCampBot/prebuild.xml b/OpenSim/Tools/pCampBot/prebuild.xml
new file mode 100644
index 0000000..bfaf408
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/prebuild.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+ TRACE;DEBUG
+ false
+ false
+ false
+ 4
+ false
+
+ ../../../bin
+ true
+ true
+ false
+
+
+
+
+ TRACE
+ true
+ false
+ false
+ 4
+ false
+
+ ../../../bin
+ false
+ true
+ false
+
+
+
+
+
+
+
+
+ ../../../bin/
+
+
+
+
+ ../../../bin/
+
+
+
+ ../../../bin/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenSim/Tools/pCampBot/runprebuild.bat b/OpenSim/Tools/pCampBot/runprebuild.bat
new file mode 100755
index 0000000..0427d2e
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/runprebuild.bat
@@ -0,0 +1,2 @@
+..\..\..\bin\Prebuild.exe /target nant
+..\..\..\bin\Prebuild.exe /target vs2005
diff --git a/OpenSim/Tools/pCampBot/runprebuild.sh b/OpenSim/Tools/pCampBot/runprebuild.sh
new file mode 100755
index 0000000..7215bc5
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/runprebuild.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+mono ../../../bin/Prebuild.exe /target nant
+mono ../../../bin/Prebuild.exe /target vs2005
--
cgit v1.1
From 25e7f74d29b394737e3180dff71ee0020430b4e1 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 15 Feb 2008 03:21:05 +0000
Subject: Move pCampBot prebuild.xml into main prebuild.xml to fix reference
errors. Update README.
---
OpenSim/Tools/pCampBot/PhysicsCamperBotREADME.txt | 36 -------------
OpenSim/Tools/pCampBot/README.txt | 44 ++++++++++++++++
OpenSim/Tools/pCampBot/prebuild.xml | 63 -----------------------
OpenSim/Tools/pCampBot/runprebuild.bat | 2 -
OpenSim/Tools/pCampBot/runprebuild.sh | 4 --
5 files changed, 44 insertions(+), 105 deletions(-)
delete mode 100644 OpenSim/Tools/pCampBot/PhysicsCamperBotREADME.txt
create mode 100644 OpenSim/Tools/pCampBot/README.txt
delete mode 100644 OpenSim/Tools/pCampBot/prebuild.xml
delete mode 100755 OpenSim/Tools/pCampBot/runprebuild.bat
delete mode 100755 OpenSim/Tools/pCampBot/runprebuild.sh
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsCamperBotREADME.txt b/OpenSim/Tools/pCampBot/PhysicsCamperBotREADME.txt
deleted file mode 100644
index afa5fbd..0000000
--- a/OpenSim/Tools/pCampBot/PhysicsCamperBotREADME.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-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 perminantly, so just say No! to greifing!
-
------Setup -----
-Linux: chmod the .sh runprebuild file, run it. Then run nant like;
-
-nant -buildfile: pCampBot.build
-
-and pCampBot.exe will end up in the regular opensim/bin folder
-
-Windows:
-Run the prebuild bat IN THIS FOLDER and then open the created solution and compile it. the Exe file 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
--------
-
-The bot also 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)
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/README.txt b/OpenSim/Tools/pCampBot/README.txt
new file mode 100644
index 0000000..7ecbde1
--- /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/prebuild.xml b/OpenSim/Tools/pCampBot/prebuild.xml
deleted file mode 100644
index bfaf408..0000000
--- a/OpenSim/Tools/pCampBot/prebuild.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
-
- TRACE;DEBUG
- false
- false
- false
- 4
- false
-
- ../../../bin
- true
- true
- false
-
-
-
-
- TRACE
- true
- false
- false
- 4
- false
-
- ../../../bin
- false
- true
- false
-
-
-
-
-
-
-
-
- ../../../bin/
-
-
-
-
- ../../../bin/
-
-
-
- ../../../bin/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/OpenSim/Tools/pCampBot/runprebuild.bat b/OpenSim/Tools/pCampBot/runprebuild.bat
deleted file mode 100755
index 0427d2e..0000000
--- a/OpenSim/Tools/pCampBot/runprebuild.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-..\..\..\bin\Prebuild.exe /target nant
-..\..\..\bin\Prebuild.exe /target vs2005
diff --git a/OpenSim/Tools/pCampBot/runprebuild.sh b/OpenSim/Tools/pCampBot/runprebuild.sh
deleted file mode 100755
index 7215bc5..0000000
--- a/OpenSim/Tools/pCampBot/runprebuild.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-mono ../../../bin/Prebuild.exe /target nant
-mono ../../../bin/Prebuild.exe /target vs2005
--
cgit v1.1
From e16f9a16c77aca017ddd3413d6ff84d3a3ee7364 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 15 Feb 2008 03:30:15 +0000
Subject: Moved LaunchSLClient prebuild.xml into main prebuild.xml
---
OpenSim/Tools/LaunchSLClient/Form1.Designer.cs | 108 +++++++++++
OpenSim/Tools/LaunchSLClient/Form1.cs | 211 +++++++++++++++++++++
OpenSim/Tools/LaunchSLClient/Form1.resx | 120 ++++++++++++
.../LaunchSLClient/Form1.Designer.cs | 108 -----------
.../Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 211 ---------------------
.../Tools/LaunchSLClient/LaunchSLClient/Form1.resx | 120 ------------
.../LaunchSLClient/LauncherException.cs | 53 ------
.../Tools/LaunchSLClient/LaunchSLClient/Program.cs | 56 ------
.../LaunchSLClient/Properties/AssemblyInfo.cs | 61 ------
.../Properties/Resources.Designer.cs | 71 -------
.../LaunchSLClient/Properties/Resources.resx | 117 ------------
.../LaunchSLClient/Properties/Settings.Designer.cs | 30 ---
.../LaunchSLClient/Properties/Settings.settings | 7 -
OpenSim/Tools/LaunchSLClient/LauncherException.cs | 53 ++++++
OpenSim/Tools/LaunchSLClient/Program.cs | 56 ++++++
.../LaunchSLClient/Properties/AssemblyInfo.cs | 61 ++++++
.../Properties/Resources.Designer.cs | 71 +++++++
.../Tools/LaunchSLClient/Properties/Resources.resx | 117 ++++++++++++
.../LaunchSLClient/Properties/Settings.Designer.cs | 30 +++
.../LaunchSLClient/Properties/Settings.settings | 7 +
OpenSim/Tools/LaunchSLClient/prebuild.xml | 66 -------
OpenSim/Tools/LaunchSLClient/runprebuild.bat | 2 -
OpenSim/Tools/LaunchSLClient/runprebuild.sh | 4 -
23 files changed, 834 insertions(+), 906 deletions(-)
create mode 100644 OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/Form1.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/Form1.resx
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
create mode 100644 OpenSim/Tools/LaunchSLClient/LauncherException.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/Program.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/Properties/Resources.resx
create mode 100644 OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/Properties/Settings.settings
delete mode 100644 OpenSim/Tools/LaunchSLClient/prebuild.xml
delete mode 100755 OpenSim/Tools/LaunchSLClient/runprebuild.bat
delete mode 100755 OpenSim/Tools/LaunchSLClient/runprebuild.sh
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
new file mode 100644
index 0000000..b841f0b
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
@@ -0,0 +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;
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/Form1.cs
new file mode 100644
index 0000000..183a104
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/Form1.cs
@@ -0,0 +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
+ {
+ 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/Form1.resx b/OpenSim/Tools/LaunchSLClient/Form1.resx
new file mode 100644
index 0000000..19dc0dd
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/Form1.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
deleted file mode 100644
index b841f0b..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
+++ /dev/null
@@ -1,108 +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.
-*
-*/
-
-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/LaunchSLClient/Form1.cs
deleted file mode 100644
index 183a104..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ /dev/null
@@ -1,211 +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;
-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/LaunchSLClient/Form1.resx
deleted file mode 100644
index 19dc0dd..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
deleted file mode 100644
index e31bd1d..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
+++ /dev/null
@@ -1,53 +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;
-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/LaunchSLClient/Program.cs
deleted file mode 100644
index 778d5c0..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
+++ /dev/null
@@ -1,56 +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;
-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/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
deleted file mode 100644
index 87a4ac4..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,61 +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("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/LaunchSLClient/Properties/Resources.Designer.cs
deleted file mode 100644
index 4e9188d..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// 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/LaunchSLClient/Properties/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/LaunchSLClient/Properties/Settings.Designer.cs
deleted file mode 100644
index 3dcc200..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// 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/LaunchSLClient/Properties/Settings.settings
deleted file mode 100644
index 3964565..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/OpenSim/Tools/LaunchSLClient/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LauncherException.cs
new file mode 100644
index 0000000..e31bd1d
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LauncherException.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 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/Program.cs b/OpenSim/Tools/LaunchSLClient/Program.cs
new file mode 100644
index 0000000..778d5c0
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/Program.cs
@@ -0,0 +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");
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..87a4ac4
--- /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/Properties/Resources.Designer.cs b/OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..4e9188d
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs
@@ -0,0 +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;
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/Properties/Resources.resx b/OpenSim/Tools/LaunchSLClient/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/Properties/Resources.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs b/OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..3dcc200
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs
@@ -0,0 +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;
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/Properties/Settings.settings b/OpenSim/Tools/LaunchSLClient/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/OpenSim/Tools/LaunchSLClient/prebuild.xml b/OpenSim/Tools/LaunchSLClient/prebuild.xml
deleted file mode 100644
index 8e58ba6..0000000
--- a/OpenSim/Tools/LaunchSLClient/prebuild.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
- TRACE;DEBUG
- false
- false
- false
- 4
- false
-
- ../../../bin
- true
- true
- false
-
-
-
-
- TRACE
- true
- false
- false
- 4
- false
-
- ../../../bin
- false
- true
- false
-
-
-
-
-
-
- ../../../bin/
-
-
-
-
- ../../../bin/
-
-
-
- ../../../bin/
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild.bat b/OpenSim/Tools/LaunchSLClient/runprebuild.bat
deleted file mode 100755
index 0427d2e..0000000
--- a/OpenSim/Tools/LaunchSLClient/runprebuild.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-..\..\..\bin\Prebuild.exe /target nant
-..\..\..\bin\Prebuild.exe /target vs2005
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild.sh b/OpenSim/Tools/LaunchSLClient/runprebuild.sh
deleted file mode 100755
index 7215bc5..0000000
--- a/OpenSim/Tools/LaunchSLClient/runprebuild.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-mono ../../../bin/Prebuild.exe /target nant
-mono ../../../bin/Prebuild.exe /target vs2005
--
cgit v1.1
From 9e828ab1682b167e0ddc23563aaad749f5cc2701 Mon Sep 17 00:00:00 2001
From: Charles Krinke
Date: Sun, 17 Feb 2008 01:57:07 +0000
Subject: Thank you very much, Taoki for additions to pCampBot to improve
walking, talking and adding additional sentences for communications with
pCampBot.
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 44 ++++++++++++++++++++++--------------
1 file changed, 27 insertions(+), 17 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 500683a..48ce062 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -36,7 +36,7 @@ using Nini.Config;
using System.Threading;
using OpenSim.Framework;
using OpenSim.Framework.Console;
-using Timer=System.Timers.Timer;
+using Timer = System.Timers.Timer;
namespace pCampBot
{
@@ -49,10 +49,10 @@ namespace pCampBot
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
@@ -79,24 +79,34 @@ namespace pCampBot
{
//client.Throttle.Task = 500000f;
//client.Throttle.Set();
-
- client.Self.Movement.AlwaysRun = true;
+ 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));
-
-
+ 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("Can't do it, " + randomf, 0, ChatType.Normal);
-
- Thread.Sleep(somthing.Next(1,20));
-
+ client.Self.Chat(randomf, 0, ChatType.Normal);
+
+ //Thread.Sleep(somthing.Next(1, 10)); // Apparently its better without it right now.
+
}
///
@@ -132,7 +142,7 @@ namespace pCampBot
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));
@@ -169,15 +179,15 @@ namespace pCampBot
{
if (OnDisconnected != null)
{
- OnDisconnected(this,EventType.DISCONNECTED);
+ OnDisconnected(this, EventType.DISCONNECTED);
}
}
public string[] readexcuses()
{
string allexcuses = "";
-
- string file = Path.Combine(Util.configDir(), "excuses");
+
+ string file = Path.Combine(Util.configDir(), "pCampBotSentences.txt");
if (File.Exists(file))
{
StreamReader csr = File.OpenText(file);
@@ -185,7 +195,7 @@ namespace pCampBot
csr.Close();
}
- return allexcuses.Split(Environment.NewLine.ToCharArray());
+ return allexcuses.Split(Environment.NewLine.ToCharArray());
}
}
}
--
cgit v1.1
From 47c909ca0af6e39a55b38db74df49c7629b552b9 Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Tue, 19 Feb 2008 12:02:53 +0000
Subject: Playing "Name that thread". Adding names and isbackground=true to all
threads so it will be easier to debug.
---
OpenSim/Tools/pCampBot/BotManager.cs | 2 ++
1 file changed, 2 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 0c7fa4e..1dc1dc1 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -114,6 +114,8 @@ namespace pCampBot
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);
}
--
cgit v1.1
From a8cfbbe963529728acbab4d9936cb89af380d1ac Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Wed, 20 Feb 2008 18:38:20 +0000
Subject: Minor cleanup.
---
OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs | 2 +-
OpenSim/Tools/OpenSim.GUI/Main.Designer.cs | 2 +-
OpenSim/Tools/OpenSim.GUI/Main.cs | 2 +-
OpenSim/Tools/OpenSim.GUI/ProcessManager.cs | 2 +-
OpenSim/Tools/OpenSim.GUI/Program.cs | 2 +-
OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs | 2 +-
OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
index 467942e..6f8d332 100644
--- a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
+++ b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
@@ -13,7 +13,7 @@
* 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
+* 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
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
index d693b9a..ec3970e 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
@@ -13,7 +13,7 @@
* 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
+* 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
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs
index 24e7bae..d5b5616 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -13,7 +13,7 @@
* 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
+* 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
diff --git a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
index 8421f0e..0fb3ea4 100644
--- a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
+++ b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
@@ -13,7 +13,7 @@
* 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
+* 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
diff --git a/OpenSim/Tools/OpenSim.GUI/Program.cs b/OpenSim/Tools/OpenSim.GUI/Program.cs
index e646b9c..231a001 100644
--- a/OpenSim/Tools/OpenSim.GUI/Program.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Program.cs
@@ -13,7 +13,7 @@
* 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
+* 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
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
index 6da9bc1..92d1aa4 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
@@ -13,7 +13,7 @@
* 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
+* 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
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
index 2c9b97a..91ad656 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
@@ -13,7 +13,7 @@
* 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
+* 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
--
cgit v1.1
From 7102ac77698f4bfd7406d6e8871db7b006c2cae2 Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Thu, 21 Feb 2008 10:43:24 +0000
Subject: "threads" command now works. I've added manual tracking of threads
(only if compiled in DEBUG mode)... Its ugly and even requires a separate
thread to track the treads, but it will be very valuable in debugging.
---
OpenSim/Tools/pCampBot/BotManager.cs | 1 +
1 file changed, 1 insertion(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 1dc1dc1..36f3d7f 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -118,6 +118,7 @@ namespace pCampBot
m_td[pos].IsBackground = true;
m_td[pos].Start();
m_lBot.Add(pb);
+ OpenSim.Framework.ThreadTracker.Add(m_td[pos]);
}
///
--
cgit v1.1
From 840bf28be6fa851d7165ff6c79bba45a5b86050d Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Fri, 22 Feb 2008 23:21:22 +0000
Subject: Removed LaunchSLClient from Prebuild - it can be added to solution on
manually by whoever is working on it. :)
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj | 152 +++++++++++++++++++++
.../LaunchSLClient/LaunchSLClient.csproj.user | 12 ++
2 files changed, 164 insertions(+)
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
new file mode 100644
index 0000000..b6b072b
--- /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 0000000..fa7bb7e
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
@@ -0,0 +1,12 @@
+
+
+ Debug
+ AnyCPU
+ C:\OpenSim\trunk3\bin\
+ 9.0.21022
+ ProjectFiles
+ 0
+
+
+
+
--
cgit v1.1
From a4ad602e1d15c8376f41ffc0f64e6fcef02bc856 Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Fri, 22 Feb 2008 23:29:12 +0000
Subject: Trying to fix SVN update error: 1/2
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj | 152 ---------------------
.../LaunchSLClient/LaunchSLClient.csproj.user | 12 --
2 files changed, 164 deletions(-)
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
deleted file mode 100644
index b6b072b..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
+++ /dev/null
@@ -1,152 +0,0 @@
-
-
- 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
deleted file mode 100644
index fa7bb7e..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- Debug
- AnyCPU
- C:\OpenSim\trunk3\bin\
- 9.0.21022
- ProjectFiles
- 0
-
-
-
-
--
cgit v1.1
From c485d56512e8fb49298ef0f170402ae50412631c Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Fri, 22 Feb 2008 23:29:46 +0000
Subject: Trying to fix SVN update error: 2/2
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj | 152 +++++++++++++++++++++
.../LaunchSLClient/LaunchSLClient.csproj.user | 12 ++
2 files changed, 164 insertions(+)
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
new file mode 100644
index 0000000..b6b072b
--- /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 0000000..fa7bb7e
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
@@ -0,0 +1,12 @@
+
+
+ Debug
+ AnyCPU
+ C:\OpenSim\trunk3\bin\
+ 9.0.21022
+ ProjectFiles
+ 0
+
+
+
+
--
cgit v1.1
From 8d57f2e30a4804a57c23d7defed5f8ffe453b29f Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Sat, 23 Feb 2008 13:50:31 +0000
Subject: Update svn properties.
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj | 302 ++++++++++-----------
.../LaunchSLClient/LaunchSLClient.csproj.user | 24 +-
2 files changed, 163 insertions(+), 163 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
index b6b072b..73c6072 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
@@ -1,152 +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
-
-
-
-
-
-
-
-
-
+
+
+ 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
index fa7bb7e..8c5296f 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
@@ -1,12 +1,12 @@
-
-
- Debug
- AnyCPU
- C:\OpenSim\trunk3\bin\
- 9.0.21022
- ProjectFiles
- 0
-
-
-
-
+
+
+ Debug
+ AnyCPU
+ C:\OpenSim\trunk3\bin\
+ 9.0.21022
+ ProjectFiles
+ 0
+
+
+
+
--
cgit v1.1
From e626288059f0bab5f93c647d6cfdb43009f1b11e Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Sat, 23 Feb 2008 20:20:08 +0000
Subject: * deleted .user file
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user | 12 ------------
1 file changed, 12 deletions(-)
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
deleted file mode 100644
index 8c5296f..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj.user
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- Debug
- AnyCPU
- C:\OpenSim\trunk3\bin\
- 9.0.21022
- ProjectFiles
- 0
-
-
-
-
--
cgit v1.1
From cda8b013ec524e083189d906ebaa536c4ee90eff Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Mon, 25 Feb 2008 11:53:21 +0000
Subject: Updated paths in classaudit script.
---
OpenSim/Tools/classaudit.pl | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/classaudit.pl b/OpenSim/Tools/classaudit.pl
index 9c92720..d5d28c7 100755
--- a/OpenSim/Tools/classaudit.pl
+++ b/OpenSim/Tools/classaudit.pl
@@ -37,14 +37,14 @@ use constant CLEAR => "\033[0m";
our %totals;
-find(\&test, "../OpenSim");
+find(\&test, "../../OpenSim");
print Dumper(\%totals);
sub test {
my $file = $File::Find::name;
my $dir = $File::Find::dir;
- $file =~ s{^../}{}; #strip off prefix
- $dir =~ s{^../}{}; #strip off prefix
+ $file =~ s{^../../}{}; #strip off prefix
+ $dir =~ s{^../../}{}; #strip off prefix
return if ($file !~ /\.cs$/);
return if ($file =~ /AssemblyInfo\.cs$/);
--
cgit v1.1
From b8e6d6e24547a1a15f7771884d07647c25e42e2f Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Tue, 26 Feb 2008 20:26:48 +0000
Subject: give pCampBot a -h, -help option
---
OpenSim/Tools/pCampBot/pCampBot.cs | 40 ++++++++++++++++++++++++++++----------
1 file changed, 30 insertions(+), 10 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 704a3f5..b701d7d 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -55,22 +55,42 @@ namespace pCampBot
//Set up our nifty config.. thanks to nini
ArgvConfigSource cs = new ArgvConfigSource(args);
- cs.AddSwitch("Startup", "botcount");
- cs.AddSwitch("Startup", "loginuri");
+ cs.AddSwitch("Startup", "botcount","n");
+ cs.AddSwitch("Startup", "loginuri","l");
cs.AddSwitch("Startup", "firstname");
cs.AddSwitch("Startup", "lastname");
cs.AddSwitch("Startup", "password");
+ cs.AddSwitch("Startup", "help","h");
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();
+ if (ol.Get("help") != null) {
+ Help();
+ } else {
+ 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();
+ }
}
}
+
+ public static void Help()
+ {
+ System.Console.WriteLine(
+ "usage: pCampBot <-loginuri loginuri> [OPTIONS]\n" +
+ "Spawns a set of bots to test an OpenSim region\n\n" +
+ " -l, -loginuri loginuri for sim to log into (required)\n" +
+ " -n, -botcount number of bots to start (default: 1)\n" +
+ " -firstname first name for the bot(s) (default: random string)\n" +
+ " -lastname lastname for the bot(s) (default: random string)\n" +
+ " -password password for the bots(s) (default: random string)\n" +
+ " -h, -help show this message"
+ );
+ }
}
}
--
cgit v1.1
From 8d31fc2cd03fc08daf0a39b561758aedc7fff51a Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Tue, 26 Feb 2008 21:10:57 +0000
Subject: require -loginuri on pCampBot
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 +-
OpenSim/Tools/pCampBot/pCampBot.cs | 36 +++++++++++++++++++++---------------
2 files changed, 22 insertions(+), 16 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 48ce062..c3babda 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -117,7 +117,7 @@ namespace pCampBot
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");
+ loginURI = startupConfig.GetString("loginuri");
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index b701d7d..56f2e26 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -52,34 +52,40 @@ namespace 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","n");
- cs.AddSwitch("Startup", "loginuri","l");
- cs.AddSwitch("Startup", "firstname");
- cs.AddSwitch("Startup", "lastname");
- cs.AddSwitch("Startup", "password");
- cs.AddSwitch("Startup", "help","h");
-
- IConfig ol = cs.Configs["Startup"];
- if (ol.Get("help") != null) {
+ IConfig config = ParseConfig(args);
+ if (config.Get("help") != null || config.Get("loginuri") == null) {
Help();
} else {
- int botcount = ol.GetInt("botcount", 1);
+ int botcount = config.GetInt("botcount", 1);
BotManager bm = new BotManager();
//startup specified number of bots. 1 is the default
- bm.dobotStartup(botcount, ol);
+ bm.dobotStartup(botcount, config);
while (true)
{
MainConsole.Instance.Prompt();
}
}
}
+
+ private static IConfig ParseConfig(String[] args)
+ {
+ //Set up our nifty config.. thanks to nini
+ ArgvConfigSource cs = new ArgvConfigSource(args);
+
+ cs.AddSwitch("Startup", "botcount","n");
+ cs.AddSwitch("Startup", "loginuri","l");
+ cs.AddSwitch("Startup", "firstname");
+ cs.AddSwitch("Startup", "lastname");
+ cs.AddSwitch("Startup", "password");
+ cs.AddSwitch("Startup", "help","h");
+
+ IConfig ol = cs.Configs["Startup"];
+ return ol;
+ }
- public static void Help()
+ private static void Help()
{
System.Console.WriteLine(
"usage: pCampBot <-loginuri loginuri> [OPTIONS]\n" +
--
cgit v1.1
From cd6f4a57e7586ffd5c6dae91633e61e293272def Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Tue, 4 Mar 2008 04:11:37 +0000
Subject: Added copyright heaaders. Minor cleanup.
---
OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs | 6 +++---
OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs | 4 ++--
OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
index 87a4ac4..2c843a1 100644
--- a/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
@@ -36,9 +36,9 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("LaunchSLClient")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Home")]
+[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("LaunchSLClient")]
-[assembly: AssemblyCopyright("Copyright © Home 2007")]
+[assembly: AssemblyCopyright("Copyright (c) 2007")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
index 31543f8..fb7604c 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
@@ -38,7 +38,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OpenSim.32BitLaunch")]
-[assembly: AssemblyCopyright("Copyright © 2008")]
+[assembly: AssemblyCopyright("Copyright (c) 2008")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
index f579a3f..c4c8abf 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders.
*
@@ -38,7 +38,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OpenSim.GUI")]
-[assembly: AssemblyCopyright("Copyright © 2007")]
+[assembly: AssemblyCopyright("Copyright (c) 2007")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
--
cgit v1.1
From 47180080f0f4b93c60232b47ca4e093bd7c73a1d Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Tue, 18 Mar 2008 05:16:43 +0000
Subject: Formatting cleanup.
---
OpenSim/Tools/Export/OpenSimExport.cs | 52 ++++++++++----------
OpenSim/Tools/LaunchSLClient/Form1.Designer.cs | 51 ++++++++++---------
OpenSim/Tools/LaunchSLClient/Form1.cs | 51 ++++++++++---------
OpenSim/Tools/LaunchSLClient/LauncherException.cs | 51 ++++++++++---------
OpenSim/Tools/LaunchSLClient/Program.cs | 51 ++++++++++---------
.../LaunchSLClient/Properties/AssemblyInfo.cs | 51 ++++++++++---------
OpenSim/Tools/OpenSim.32BitLaunch/Program.cs | 51 ++++++++++---------
.../OpenSim.32BitLaunch/Properties/AssemblyInfo.cs | 51 ++++++++++---------
OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs | 57 ++++++++++------------
OpenSim/Tools/OpenSim.GUI/Main.Designer.cs | 52 ++++++++++----------
OpenSim/Tools/OpenSim.GUI/Main.cs | 51 ++++++++++---------
OpenSim/Tools/OpenSim.GUI/ProcessManager.cs | 51 ++++++++++---------
OpenSim/Tools/OpenSim.GUI/Program.cs | 51 ++++++++++---------
.../Tools/OpenSim.GUI/Properties/AssemblyInfo.cs | 51 ++++++++++---------
.../Tools/OpenSim.GUI/frmConfiguration.Designer.cs | 51 ++++++++++---------
OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs | 51 ++++++++++---------
OpenSim/Tools/pCampBot/BotManager.cs | 51 ++++++++++---------
OpenSim/Tools/pCampBot/PhysicsBot.cs | 51 ++++++++++---------
OpenSim/Tools/pCampBot/pCampBot.cs | 51 ++++++++++---------
19 files changed, 476 insertions(+), 501 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 8eebe35..525f33c 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -1,30 +1,30 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
index b841f0b..b9e905a 100644
--- a/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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
{
diff --git a/OpenSim/Tools/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/Form1.cs
index 183a104..61aefa0 100644
--- a/OpenSim/Tools/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/Form1.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/LaunchSLClient/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LauncherException.cs
index e31bd1d..e1ba0bc 100644
--- a/OpenSim/Tools/LaunchSLClient/LauncherException.cs
+++ b/OpenSim/Tools/LaunchSLClient/LauncherException.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/LaunchSLClient/Program.cs b/OpenSim/Tools/LaunchSLClient/Program.cs
index 778d5c0..822611c 100644
--- a/OpenSim/Tools/LaunchSLClient/Program.cs
+++ b/OpenSim/Tools/LaunchSLClient/Program.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
index 2c843a1..62af735 100644
--- a/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
index 78ba598..0c4de02 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
index fb7604c..637fb09 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
index 6f8d332..d0bd7bc 100644
--- a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
+++ b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
@@ -39,7 +38,6 @@ namespace OpenSim.GUI
{
this.KeyDown += new System.Windows.Forms.KeyEventHandler(TextInputControl_KeyDown);
}
-
private List CommandHistory = new List();
private bool InHistory = false;
@@ -47,14 +45,11 @@ namespace OpenSim.GUI
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
@@ -110,7 +105,5 @@ namespace OpenSim.GUI
HistoryPosition = -1;
}
}
-
-
}
}
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
index ec3970e..e1481a2 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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
{
@@ -1433,4 +1432,3 @@ namespace OpenSim.GUI
private System.Windows.Forms.Button clear1;
}
}
-
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs
index d5b5616..adb331b 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
index 0fb3ea4..de693a7 100644
--- a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
+++ b/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/OpenSim.GUI/Program.cs b/OpenSim/Tools/OpenSim.GUI/Program.cs
index 231a001..c41cfb7 100644
--- a/OpenSim/Tools/OpenSim.GUI/Program.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Program.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
index c4c8abf..b89119c 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
index 92d1aa4..ee9282e 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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
{
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
index 91ad656..8ed53a2 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 36f3d7f..84648cd 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index c3babda..b079da6 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 56f2e26..6daccc4 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -1,30 +1,29 @@
/*
-* 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.
-*
-*/
+ * 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;
--
cgit v1.1
From 9a2b289e328e336f349974302df41b34c92893c3 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Sat, 22 Mar 2008 23:52:48 +0000
Subject: Fix compiler warnings in pCampBot, TestSuite, and
ScriptEngine/RemoteServer. Thanks daTwitch!
---
OpenSim/Tools/pCampBot/BotManager.cs | 20 ++++++++++----------
OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 +-
2 files changed, 11 insertions(+), 11 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 84648cd..a18fa1b 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -185,16 +185,16 @@ namespace pCampBot
///
///
///
- 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;
- }
+ // TODO: unused: private string CombineParams(string[] commandParams, int pos)
+ // TODO: unused: {
+ // TODO: unused: string result = String.Empty;
+ // TODO: unused: for (int i = pos; i < commandParams.Length; i++)
+ // TODO: unused: {
+ // TODO: unused: result += commandParams[i] + " ";
+ // TODO: unused: }
+ // TODO: unused: result = result.TrimEnd(' ');
+ // TODO: unused: return result;
+ // TODO: unused: }
///
/// Command runnint tool.. Currently use it to add bots, shutdown and (dangerous)Forcequit
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index b079da6..8495b09 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -89,7 +89,7 @@ namespace pCampBot
client.Self.Movement.AlwaysRun = false;
}
- LLVector3 pos = client.Self.SimPosition;
+ // TODO: unused: LLVector3 pos = client.Self.SimPosition;
LLVector3 newpos = new LLVector3(somthing.Next(255), somthing.Next(255), somthing.Next(255));
client.Self.Movement.TurnToward(newpos);
--
cgit v1.1
From fef3b3689492dea63693c964bcdbec9f5137eb5e Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Mon, 21 Apr 2008 07:09:17 +0000
Subject: * Optimised using statements and namespace references across entire
project (this took a while to run).
---
OpenSim/Tools/Export/OpenSimExport.cs | 3 ++-
OpenSim/Tools/pCampBot/BotManager.cs | 13 ++++++-------
OpenSim/Tools/pCampBot/PhysicsBot.cs | 14 ++++++--------
OpenSim/Tools/pCampBot/pCampBot.cs | 7 +------
4 files changed, 15 insertions(+), 22 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 525f33c..0521df2 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -27,6 +27,7 @@
using System;
using System.IO;
+using log4net.Config;
using Nini.Config;
using OpenSim.Framework;
using OpenSim.Framework.Console;
@@ -58,7 +59,7 @@ namespace OpenSim.Tools.Export
public static void Main(string[] args)
{
- log4net.Config.XmlConfigurator.Configure();
+ XmlConfigurator.Configure();
OpenSimExport export = new OpenSimExport(InitConfig(args));
RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml",false);
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index a18fa1b..df06f47 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -27,12 +27,11 @@
using System;
using System.Collections.Generic;
-using System.Text;
-using System.IO;
+using System.Reflection;
+using System.Threading;
using libsecondlife;
-using libsecondlife.Packets;
+using log4net;
using Nini.Config;
-using System.Threading;
using OpenSim.Framework;
using OpenSim.Framework.Console;
@@ -43,13 +42,13 @@ namespace pCampBot
///
public class BotManager : conscmd_callback
{
- private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
+ private static readonly ILog m_log = LogManager.GetLogger(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 Random somthing = new Random(Environment.TickCount);
protected int numbots = 0;
protected IConfig Previous_config;
@@ -117,7 +116,7 @@ namespace pCampBot
m_td[pos].IsBackground = true;
m_td[pos].Start();
m_lBot.Add(pb);
- OpenSim.Framework.ThreadTracker.Add(m_td[pos]);
+ ThreadTracker.Add(m_td[pos]);
}
///
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 8495b09..334f699 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -26,16 +26,14 @@
*/
using System;
-using System.Collections.Generic;
using System.IO;
-using System.Text;
+using System.Threading;
+using System.Timers;
using libsecondlife;
-using libsecondlife.Packets;
using Nini.Config;
-using System.Threading;
using OpenSim.Framework;
using OpenSim.Framework.Console;
-using Timer = System.Timers.Timer;
+using Timer=System.Timers.Timer;
namespace pCampBot
{
@@ -54,7 +52,7 @@ namespace pCampBot
protected Timer m_action; // Action Timer
- protected Random somthing = new Random(System.Environment.TickCount);// We do stuff randomly here
+ protected Random somthing = new Random(Environment.TickCount);// We do stuff randomly here
//New instance of a SecondLife client
public SecondLife client = new SecondLife();
@@ -74,7 +72,7 @@ namespace pCampBot
//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)
+ void m_action_Elapsed(object sender, ElapsedEventArgs e)
{
//client.Throttle.Task = 500000f;
//client.Throttle.Set();
@@ -145,7 +143,7 @@ namespace pCampBot
if (OnConnected != null)
{
m_action = new Timer(somthing.Next(1000, 10000));
- m_action.Elapsed += new System.Timers.ElapsedEventHandler(m_action_Elapsed);
+ m_action.Elapsed += new ElapsedEventHandler(m_action_Elapsed);
m_action.Start();
OnConnected(this, EventType.CONNECTED);
client.Self.Jump();
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 6daccc4..d944608 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -26,12 +26,7 @@
*/
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
@@ -86,7 +81,7 @@ namespace pCampBot
private static void Help()
{
- System.Console.WriteLine(
+ Console.WriteLine(
"usage: pCampBot <-loginuri loginuri> [OPTIONS]\n" +
"Spawns a set of bots to test an OpenSim region\n\n" +
" -l, -loginuri loginuri for sim to log into (required)\n" +
--
cgit v1.1
From 25a49ac4de056f43d6c5803fcd34804fcea96ae2 Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Wed, 30 Apr 2008 23:11:07 +0000
Subject: * Spring cleaned a bunch of '//TODO: unused' marked functions.
---
OpenSim/Tools/pCampBot/BotManager.cs | 17 -----------------
1 file changed, 17 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index df06f47..8877f7d 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -177,23 +177,6 @@ namespace pCampBot
{
return new ConsoleBase("Region", this);
}
-
- ///
- /// I don't think the bots use this..
- ///
- ///
- ///
- ///
- // TODO: unused: private string CombineParams(string[] commandParams, int pos)
- // TODO: unused: {
- // TODO: unused: string result = String.Empty;
- // TODO: unused: for (int i = pos; i < commandParams.Length; i++)
- // TODO: unused: {
- // TODO: unused: result += commandParams[i] + " ";
- // TODO: unused: }
- // TODO: unused: result = result.TrimEnd(' ');
- // TODO: unused: return result;
- // TODO: unused: }
///
/// Command runnint tool.. Currently use it to add bots, shutdown and (dangerous)Forcequit
--
cgit v1.1
From 387d5065905dfdebfa3878211e228c9503447df9 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 May 2008 15:26:13 +0000
Subject: Add prebuild stuff to LaunchSLClient. Moving LaunchSLClient source
files so build works (1/2)
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj | 152 ---------------------
OpenSim/Tools/LaunchSLClient/prebuild.xml | 66 +++++++++
OpenSim/Tools/LaunchSLClient/runprebuild.bat | 4 +
OpenSim/Tools/LaunchSLClient/runprebuild.sh | 5 +
OpenSim/Tools/LaunchSLClient/runprebuild2008.bat | 4 +
5 files changed, 79 insertions(+), 152 deletions(-)
delete mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
create mode 100644 OpenSim/Tools/LaunchSLClient/prebuild.xml
create mode 100755 OpenSim/Tools/LaunchSLClient/runprebuild.bat
create mode 100755 OpenSim/Tools/LaunchSLClient/runprebuild.sh
create mode 100755 OpenSim/Tools/LaunchSLClient/runprebuild2008.bat
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
deleted file mode 100644
index 73c6072..0000000
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.csproj
+++ /dev/null
@@ -1,152 +0,0 @@
-
-
- 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/prebuild.xml b/OpenSim/Tools/LaunchSLClient/prebuild.xml
new file mode 100644
index 0000000..8e58ba6
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/prebuild.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+ TRACE;DEBUG
+ false
+ false
+ false
+ 4
+ false
+
+ ../../../bin
+ true
+ true
+ false
+
+
+
+
+ TRACE
+ true
+ false
+ false
+ 4
+ false
+
+ ../../../bin
+ false
+ true
+ false
+
+
+
+
+
+
+ ../../../bin/
+
+
+
+
+ ../../../bin/
+
+
+
+ ../../../bin/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild.bat b/OpenSim/Tools/LaunchSLClient/runprebuild.bat
new file mode 100755
index 0000000..0ef3dd9
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/runprebuild.bat
@@ -0,0 +1,4 @@
+..\..\..\bin\Prebuild.exe /target nant
+..\..\..\bin\Prebuild.exe /target vs2005
+
+echo C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild LaunchSLClient.sln > compile.bat
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild.sh b/OpenSim/Tools/LaunchSLClient/runprebuild.sh
new file mode 100755
index 0000000..4fa418b
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/runprebuild.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+mono ../../../bin/Prebuild.exe /target nant
+mono ../../../bin/Prebuild.exe /target monodev
+mono ../../../bin/Prebuild.exe /target vs2005
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild2008.bat b/OpenSim/Tools/LaunchSLClient/runprebuild2008.bat
new file mode 100755
index 0000000..41e2714
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/runprebuild2008.bat
@@ -0,0 +1,4 @@
+..\..\..\bin\Prebuild.exe /target nant
+..\..\..\bin\Prebuild.exe /target vs2008
+echo C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild LaunchSLClient.sln > compile.bat
+
--
cgit v1.1
From 92fd719d7b03081005f2f3a6b99d83e1a917e94a Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 May 2008 15:28:48 +0000
Subject: Moving LaunchSLClient source files so build works (2/2)
---
OpenSim/Tools/LaunchSLClient/Form1.Designer.cs | 107 -----------
OpenSim/Tools/LaunchSLClient/Form1.cs | 210 ---------------------
OpenSim/Tools/LaunchSLClient/Form1.resx | 120 ------------
.../LaunchSLClient/Form1.Designer.cs | 107 +++++++++++
.../Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 210 +++++++++++++++++++++
.../Tools/LaunchSLClient/LaunchSLClient/Form1.resx | 120 ++++++++++++
.../LaunchSLClient/LauncherException.cs | 52 +++++
.../Tools/LaunchSLClient/LaunchSLClient/Program.cs | 55 ++++++
.../LaunchSLClient/Properties/AssemblyInfo.cs | 60 ++++++
.../Properties/Resources.Designer.cs | 71 +++++++
.../LaunchSLClient/Properties/Resources.resx | 117 ++++++++++++
.../LaunchSLClient/Properties/Settings.Designer.cs | 30 +++
.../LaunchSLClient/Properties/Settings.settings | 7 +
OpenSim/Tools/LaunchSLClient/LauncherException.cs | 52 -----
OpenSim/Tools/LaunchSLClient/Program.cs | 55 ------
.../LaunchSLClient/Properties/AssemblyInfo.cs | 60 ------
.../Properties/Resources.Designer.cs | 71 -------
.../Tools/LaunchSLClient/Properties/Resources.resx | 117 ------------
.../LaunchSLClient/Properties/Settings.Designer.cs | 30 ---
.../LaunchSLClient/Properties/Settings.settings | 7 -
20 files changed, 829 insertions(+), 829 deletions(-)
delete mode 100644 OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/Form1.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/Form1.resx
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
delete mode 100644 OpenSim/Tools/LaunchSLClient/LauncherException.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/Program.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/Properties/Resources.resx
delete mode 100644 OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs
delete mode 100644 OpenSim/Tools/LaunchSLClient/Properties/Settings.settings
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
deleted file mode 100644
index b9e905a..0000000
--- a/OpenSim/Tools/LaunchSLClient/Form1.Designer.cs
+++ /dev/null
@@ -1,107 +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.
- */
-
-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/Form1.cs b/OpenSim/Tools/LaunchSLClient/Form1.cs
deleted file mode 100644
index 61aefa0..0000000
--- a/OpenSim/Tools/LaunchSLClient/Form1.cs
+++ /dev/null
@@ -1,210 +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;
-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/Form1.resx b/OpenSim/Tools/LaunchSLClient/Form1.resx
deleted file mode 100644
index 19dc0dd..0000000
--- a/OpenSim/Tools/LaunchSLClient/Form1.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
new file mode 100644
index 0000000..b9e905a
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
@@ -0,0 +1,107 @@
+/*
+ * 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/LaunchSLClient/Form1.cs
new file mode 100644
index 0000000..61aefa0
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -0,0 +1,210 @@
+/*
+ * 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/LaunchSLClient/Form1.resx
new file mode 100644
index 0000000..19dc0dd
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
new file mode 100644
index 0000000..e1ba0bc
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
@@ -0,0 +1,52 @@
+/*
+ * 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/LaunchSLClient/Program.cs
new file mode 100644
index 0000000..822611c
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
@@ -0,0 +1,55 @@
+/*
+ * 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/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..62af735
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.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.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("")]
+[assembly: AssemblyProduct("LaunchSLClient")]
+[assembly: AssemblyCopyright("Copyright (c) 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/LaunchSLClient/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..4e9188d
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
@@ -0,0 +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;
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..3dcc200
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
@@ -0,0 +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;
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/OpenSim/Tools/LaunchSLClient/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LauncherException.cs
deleted file mode 100644
index e1ba0bc..0000000
--- a/OpenSim/Tools/LaunchSLClient/LauncherException.cs
+++ /dev/null
@@ -1,52 +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;
-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/Program.cs b/OpenSim/Tools/LaunchSLClient/Program.cs
deleted file mode 100644
index 822611c..0000000
--- a/OpenSim/Tools/LaunchSLClient/Program.cs
+++ /dev/null
@@ -1,55 +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;
-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
deleted file mode 100644
index 62af735..0000000
--- a/OpenSim/Tools/LaunchSLClient/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,60 +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("LaunchSLClient")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("LaunchSLClient")]
-[assembly: AssemblyCopyright("Copyright (c) 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/Properties/Resources.Designer.cs b/OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs
deleted file mode 100644
index 4e9188d..0000000
--- a/OpenSim/Tools/LaunchSLClient/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// 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/Properties/Resources.resx b/OpenSim/Tools/LaunchSLClient/Properties/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/OpenSim/Tools/LaunchSLClient/Properties/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/Properties/Settings.Designer.cs b/OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs
deleted file mode 100644
index 3dcc200..0000000
--- a/OpenSim/Tools/LaunchSLClient/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// 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/Properties/Settings.settings b/OpenSim/Tools/LaunchSLClient/Properties/Settings.settings
deleted file mode 100644
index 3964565..0000000
--- a/OpenSim/Tools/LaunchSLClient/Properties/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
--
cgit v1.1
From a1c8aa4050b7f7a94e02dd40d8cd456f258b4e2b Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Thu, 1 May 2008 15:36:39 +0000
Subject: * Cleaned namespaces of entire solution. OpenSim directories now
correspond with namespaces.
---
OpenSim/Tools/Export/OpenSimExport.cs | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 0521df2..76d8d11 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -29,12 +29,13 @@ using System;
using System.IO;
using log4net.Config;
using Nini.Config;
+using OpenSim;
using OpenSim.Framework;
using OpenSim.Framework.Console;
using OpenSim.Region.Environment;
using OpenSim.Region.Environment.Scenes;
-namespace OpenSim.Tools.Export
+namespace OpenSimExport
{
public class OpenSimExport
{
@@ -108,4 +109,4 @@ namespace OpenSim.Tools.Export
return config;
}
}
-}
+}
\ No newline at end of file
--
cgit v1.1
From e9e97d69dc837ef9fa03d97bbb69f2fd99a43950 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 May 2008 15:50:58 +0000
Subject: Add basic OS X support to LaunchSLClient
---
.../Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 40 +++++++++++++++++++---
1 file changed, 35 insertions(+), 5 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index 61aefa0..1cddb2b 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -138,13 +138,9 @@ namespace LaunchSLClient
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)
+ private void getClientWindows(ref string exePath, ref string runLine, ref string exeFlags)
{
// get executable path from registry
RegistryKey regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Linden Research, Inc.\SecondLife");
@@ -164,6 +160,40 @@ namespace LaunchSLClient
Registry.LocalMachine.Close();
}
+ private void getClientMacOSX(ref string exePath, ref string runLine, ref string exeFlags)
+ {
+ if (Directory.Exists("/Applications/Second Life.app"))
+ {
+ exePath = "/Applications/Second Life.app/Contents/MacOS";
+ }
+
+ runLine = exePath + "/Second Life";
+ exeFlags = "";
+ }
+
+ private void getClientUnix(ref string exePath, ref string runLine, ref string exeFlags)
+ {
+ }
+
+ private void getClient(ref string exePath, ref string runLine, ref string exeFlags)
+ {
+ if (Environment.OSVersion.Platform == PlatformID.Unix)
+ {
+ if (File.Exists("/System/Library/Frameworks/Cocoa.framework/Cocoa"))
+ {
+ getClientMacOSX(ref exePath, ref runLine, ref exeFlags);
+ }
+ else
+ {
+ getClientUnix(ref exePath, ref runLine, ref exeFlags);
+ }
+ }
+ else
+ {
+ getClientWindows(ref exePath, ref runLine, ref exeFlags);
+ }
+ }
+
public Form1()
{
InitializeComponent();
--
cgit v1.1
From 01f31fd933bbaec246d2fef5756b7d83be7980e0 Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Thu, 1 May 2008 16:23:53 +0000
Subject: * Breaking all the code, breaking all the code..! * Made a bunch more
members static, removed some dead code, general cleaning.
---
OpenSim/Tools/Export/OpenSimExport.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 76d8d11..4891ea7 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -72,7 +72,7 @@ namespace OpenSimExport
}
}
- protected ConsoleBase CreateConsole()
+ protected static ConsoleBase CreateConsole()
{
return new ConsoleBase("Export", null);
}
--
cgit v1.1
From e38ee199b9dca255d3f3806ed7f0894754a7065c Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 May 2008 17:07:58 +0000
Subject: Refactor machine-dependent configuration in LaunchSLClient.
---
.../Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 120 ++++++++-------------
.../LaunchSLClient/LaunchSLClient/MachineConfig.cs | 37 +++++++
.../LaunchSLClient/LaunchSLClient/OSXConfig.cs | 50 +++++++++
.../Tools/LaunchSLClient/LaunchSLClient/Program.cs | 4 -
.../LaunchSLClient/LaunchSLClient/UnixConfig.cs | 42 ++++++++
.../LaunchSLClient/LaunchSLClient/WindowsConfig.cs | 55 ++++++++++
6 files changed, 226 insertions(+), 82 deletions(-)
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index 1cddb2b..700c004 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -44,7 +44,7 @@ namespace LaunchSLClient
{
const string deepGridUrl = "http://user.deepgrid.com:8002/";
const string osGridUrl = "http://www.osgrid.org:8002/";
- const string openLifeGridUrl = "http://logingrid.net:8002";
+ const string openLifeGridUrl = "http://logingrid.net:8002/";
string gridUrl = "";
string sandboxUrl = "";
@@ -53,6 +53,47 @@ namespace LaunchSLClient
string exeFlags = "";
string exePath = "";
+ private MachineConfig m_machineConfig;
+
+ public Form1()
+ {
+ InitializeComponent();
+ ArrayList menuItems = new ArrayList();
+
+ m_machineConfig = getMachineConfig();
+ m_machineConfig.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 MachineConfig getMachineConfig()
+ {
+ if (Environment.OSVersion.Platform == PlatformID.Unix)
+ {
+ if (File.Exists("/System/Library/Frameworks/Cocoa.framework/Cocoa"))
+ {
+ return new OSXConfig();
+ }
+ else
+ {
+ return new UnixConfig();
+ }
+ }
+ else
+ {
+ return new WindowsConfig();
+ }
+ }
+
private void addLocalSandbox(ref ArrayList menuItems)
{
// build sandbox URL from Regions\default.xml
@@ -140,83 +181,6 @@ namespace LaunchSLClient
}
}
- private void getClientWindows(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();
- }
-
- private void getClientMacOSX(ref string exePath, ref string runLine, ref string exeFlags)
- {
- if (Directory.Exists("/Applications/Second Life.app"))
- {
- exePath = "/Applications/Second Life.app/Contents/MacOS";
- }
-
- runLine = exePath + "/Second Life";
- exeFlags = "";
- }
-
- private void getClientUnix(ref string exePath, ref string runLine, ref string exeFlags)
- {
- }
-
- private void getClient(ref string exePath, ref string runLine, ref string exeFlags)
- {
- if (Environment.OSVersion.Platform == PlatformID.Unix)
- {
- if (File.Exists("/System/Library/Frameworks/Cocoa.framework/Cocoa"))
- {
- getClientMacOSX(ref exePath, ref runLine, ref exeFlags);
- }
- else
- {
- getClientUnix(ref exePath, ref runLine, ref exeFlags);
- }
- }
- else
- {
- getClientWindows(ref exePath, ref runLine, ref exeFlags);
- }
- }
-
- 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; }
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs
new file mode 100644
index 0000000..68a86c4
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs
@@ -0,0 +1,37 @@
+/*
+ * 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;
+
+namespace LaunchSLClient
+{
+ public abstract class MachineConfig
+ {
+ public abstract void GetClient(ref string exePath, ref string runLine, ref string exeFlags);
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
new file mode 100644
index 0000000..60e5e48
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
@@ -0,0 +1,50 @@
+/*
+ * 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;
+
+namespace LaunchSLClient
+{
+ public class OSXConfig : UnixConfig
+ {
+ public override void GetClient(ref string exePath, ref string runLine, ref string exeFlags)
+ {
+ if (Directory.Exists("/Applications/Second Life.app"))
+ {
+ exePath = "/Applications/Second Life.app/Contents/MacOS";
+ }
+ else if (Directory.Exists("/Applications/Second Life Release Candidate.app"))
+ {
+ exePath = "/Applications/Second Life Release Candidate.app/Contents/MacOS";
+ }
+
+ runLine = exePath + "/Second Life";
+ exeFlags = "";
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
index 822611c..1d715a5 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
@@ -33,9 +33,6 @@ namespace LaunchSLClient
{
static class Program
{
- ///
- /// The main entry point for the application.
- ///
[STAThread]
static void Main()
{
@@ -47,7 +44,6 @@ namespace LaunchSLClient
}
catch (Exception ex)
{
- // Handles all unhandled errors
MessageBox.Show(ex.Message,"Unhandled Error");
}
}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
new file mode 100644
index 0000000..eb5342f
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
@@ -0,0 +1,42 @@
+/*
+ * 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;
+
+namespace LaunchSLClient
+{
+ public class UnixConfig : MachineConfig
+ {
+ public override void GetClient(ref string exePath, ref string runLine, ref string exeFlags)
+ {
+ exePath = "";
+ runLine = "secondlife";
+ exeFlags = "";
+ }
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
new file mode 100644
index 0000000..f3b797c
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
@@ -0,0 +1,55 @@
+/*
+ * 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 Microsoft.Win32;
+
+namespace LaunchSLClient
+{
+ public class WindowsConfig : MachineConfig
+ {
+ public override void GetClient(ref string exePath, ref string runLine, ref string exeFlags)
+ {
+ 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();
+ }
+ }
+}
--
cgit v1.1
From a0ccb1235a1e1cfcb72a9202060589c37257bfc9 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 May 2008 17:10:40 +0000
Subject: Fix paths in LaunchSLClient prebuild.xml
---
OpenSim/Tools/LaunchSLClient/prebuild.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/prebuild.xml b/OpenSim/Tools/LaunchSLClient/prebuild.xml
index 8e58ba6..c51d59a 100644
--- a/OpenSim/Tools/LaunchSLClient/prebuild.xml
+++ b/OpenSim/Tools/LaunchSLClient/prebuild.xml
@@ -35,16 +35,16 @@
- ../../../bin/
+ ../../../../bin/
- ../../../bin/
+ ../../../../bin/
- ../../../bin/
+ ../../../../bin/
--
cgit v1.1
From 138e612300d659df78d2d5835f9574cfb67cf4a4 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 May 2008 17:26:35 +0000
Subject: More config cleanup in LaunchSLClient.
---
.../Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 25 ++++++++++------------
.../LaunchSLClient/LaunchSLClient/MachineConfig.cs | 1 +
.../LaunchSLClient/LaunchSLClient/OSXConfig.cs | 5 +++++
.../LaunchSLClient/LaunchSLClient/UnixConfig.cs | 5 +++++
.../LaunchSLClient/LaunchSLClient/WindowsConfig.cs | 7 ++++++
5 files changed, 29 insertions(+), 14 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index 700c004..a0eca6e 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -36,7 +36,6 @@ using System.Drawing;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
-using Microsoft.Win32;
namespace LaunchSLClient
{
@@ -96,9 +95,9 @@ namespace LaunchSLClient
private void addLocalSandbox(ref ArrayList menuItems)
{
- // build sandbox URL from Regions\default.xml
+ // build sandbox URL from Regions/default.xml
// this is highly dependant on a standard default.xml
- if (File.Exists(@"Regions\default.xml"))
+ if (File.Exists("Regions/default.xml"))
{
string sandboxHostName = "";
string sandboxPort = "";
@@ -106,7 +105,7 @@ namespace LaunchSLClient
Regex myRegex = new Regex(".*internal_ip_port=\\\"(?.*?)\\\".*external_host_name=\\\"(?.*?)\\\".*");
- FileInfo defaultFile = new FileInfo(@"Regions\default.xml");
+ FileInfo defaultFile = new FileInfo("Regions/default.xml");
StreamReader stream = defaultFile.OpenText();
do
{
@@ -136,10 +135,10 @@ namespace LaunchSLClient
{
//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"))
+ if (File.Exists("network_servers_information.xml"))
{
string text;
- FileInfo defaultFile = new FileInfo(@"network_servers_information.xml");
+ FileInfo defaultFile = new FileInfo("network_servers_information.xml");
Regex myRegex = new Regex(".*UserServerURL=\\\"(?.*?)\\\".*");
StreamReader stream = defaultFile.OpenText();
@@ -168,13 +167,11 @@ namespace LaunchSLClient
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");
+ string configDir = m_machineConfig.GetConfigDir();
- Directory.SetCurrentDirectory(simPath.ToString()); //this should be set to wherever we decide to put the binaries
+ if (!string.IsNullOrEmpty(configDir))
+ {
+ Directory.SetCurrentDirectory(configDir);
addLocalSandbox(ref menuItems);
addLocalGrid(ref menuItems);
@@ -193,10 +190,10 @@ namespace LaunchSLClient
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = runLine;
- proc.StartInfo.Arguments = exeFlags.ToString() + " " + runUrl;
+ proc.StartInfo.Arguments = exeFlags + " " + runUrl;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = false;
- proc.StartInfo.WorkingDirectory = exePath.ToString();
+ proc.StartInfo.WorkingDirectory = exePath;
proc.Start();
proc.WaitForExit();
}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs
index 68a86c4..fea8d50 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs
@@ -33,5 +33,6 @@ namespace LaunchSLClient
public abstract class MachineConfig
{
public abstract void GetClient(ref string exePath, ref string runLine, ref string exeFlags);
+ public abstract string GetConfigDir();
}
}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
index 60e5e48..0d866af 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
@@ -46,5 +46,10 @@ namespace LaunchSLClient
runLine = exePath + "/Second Life";
exeFlags = "";
}
+
+ public override string GetConfigDir()
+ {
+ return "";
+ }
}
}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
index eb5342f..220ad82 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
@@ -38,5 +38,10 @@ namespace LaunchSLClient
runLine = "secondlife";
exeFlags = "";
}
+
+ public override string GetConfigDir()
+ {
+ return "";
+ }
}
}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
index f3b797c..df56bfe 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
@@ -51,5 +51,12 @@ namespace LaunchSLClient
Registry.LocalMachine.Flush();
Registry.LocalMachine.Close();
}
+
+ public override string GetConfigDir()
+ {
+ RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\OpenSim\OpenSim");
+
+ return key == null ? "" : key.GetValue("Path").ToString();
+ }
}
}
--
cgit v1.1
From c1e901989ae16f782801aeb12ec12712a2fdd85a Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 May 2008 18:28:32 +0000
Subject: Load grid list in LaunchSLClient from .ini file at run-time. Add
script to build LaunchSLClient.app on OS X.
---
.../Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 74 +++++++++++++++++-----
.../Tools/LaunchSLClient/LaunchSLClient/Grid.cs | 38 +++++++++++
.../Tools/LaunchSLClient/LaunchSLClient/Program.cs | 2 +-
OpenSim/Tools/LaunchSLClient/make-OSX-app.sh | 38 +++++++++++
OpenSim/Tools/LaunchSLClient/prebuild.xml | 1 +
5 files changed, 135 insertions(+), 18 deletions(-)
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient/Grid.cs
create mode 100755 OpenSim/Tools/LaunchSLClient/make-OSX-app.sh
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index a0eca6e..a827c76 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -36,15 +36,12 @@ using System.Drawing;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
+using Nini.Config;
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 = "";
@@ -53,23 +50,26 @@ namespace LaunchSLClient
string exePath = "";
private MachineConfig m_machineConfig;
+ private List m_grids = new List();
public Form1()
{
InitializeComponent();
- ArrayList menuItems = new ArrayList();
m_machineConfig = getMachineConfig();
m_machineConfig.GetClient(ref exePath, ref runLine, ref exeFlags);
+ initializeGrids();
+
+ ArrayList menuItems = new ArrayList();
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");
+ foreach (Grid grid in m_grids)
+ {
+ menuItems.Add(grid.Name + " - " + grid.URL);
+ }
comboBox1.DataSource = menuItems;
}
@@ -93,6 +93,27 @@ namespace LaunchSLClient
}
}
+ private void initializeGrids()
+ {
+ string iniFile = "LaunchSLClient.ini";
+
+ if (!File.Exists(iniFile))
+ return;
+
+ IniConfigSource configSource = new IniConfigSource(iniFile);
+
+ foreach (IConfig config in configSource.Configs)
+ {
+ Grid grid = new Grid();
+
+ grid.Name = config.Name;
+ grid.LoginURI = config.GetString("loginURI", "");
+ grid.URL = config.GetString("URL", "");
+
+ m_grids.Add(grid);
+ }
+ }
+
private void addLocalSandbox(ref ArrayList menuItems)
{
// build sandbox URL from Regions/default.xml
@@ -134,7 +155,6 @@ namespace LaunchSLClient
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;
@@ -180,13 +200,33 @@ namespace LaunchSLClient
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 = ""; }
+ if (comboBox1.Text == "Please select one:")
+ {
+ return;
+ }
+ else if (comboBox1.Text == "Local Sandbox")
+ {
+ runUrl=" -loginuri " + sandboxUrl;
+ }
+ else if (comboBox1.Text == "Local Grid Server")
+ {
+ runUrl = " -loginuri " + gridUrl;
+ }
+ else
+ {
+ foreach (Grid grid in m_grids)
+ {
+ if (comboBox1.Text == grid.Name + " - " + grid.URL)
+ {
+ if (grid.LoginURI != string.Empty)
+ runUrl = " -loginuri " + grid.LoginURI;
+ else
+ runUrl = "";
+
+ break;
+ }
+ }
+ }
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = runLine;
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Grid.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Grid.cs
new file mode 100644
index 0000000..89fcefe
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Grid.cs
@@ -0,0 +1,38 @@
+/*
+ * 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 LaunchSLClient
+{
+ public struct Grid
+ {
+ public string Name;
+ public string LoginURI;
+ public string URL;
+ }
+}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
index 1d715a5..53ea9f8 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
@@ -44,7 +44,7 @@ namespace LaunchSLClient
}
catch (Exception ex)
{
- MessageBox.Show(ex.Message,"Unhandled Error");
+ MessageBox.Show(ex.ToString(), "Error");
}
}
}
diff --git a/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh b/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh
new file mode 100755
index 0000000..9b9177e
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# This script will build LaunchSLClient.app from the .exe, .dll's, and
+# other necessary files.
+#
+# This should be run from the bin directory.
+
+APP_NAME="LaunchSLClient"
+
+# Note that proper form is to copy Frameworks to
+# *.app/Contents/Frameworks, but because @executable_path resolves to
+# [...]/Resources/bin, and the libraries reference
+# @executable_path/../Frameworks, we put frameworks in
+# Contents/Resources instead.
+FRAMEWORKS_PATH="${APP_NAME}.app/Contents/Resources/Frameworks"
+
+if [ ! -e ${APP_NAME}.exe ]; then
+ echo "Error: Could not find ${APP_NAME}.exe." >& 2
+ echo "Have you built it, and are you currently in the bin directory?" >& 2
+ exit 1
+fi
+
+CMDFLAGS="-m console -n ${APP_NAME} -a ${APP_NAME}.exe"
+
+REFERENCES="-r /Library/Frameworks/Mono.framework/Versions/Current/lib/ \
+ -r Nini.dll \
+ -r ${APP_NAME}.ini"
+
+if [ -f ${APP_NAME}.icns ]; then
+ CMDFLAGS="${CMDFLAGS} -i ${APP_NAME}.icns"
+else
+ echo "Warning: no icon file found. Will use default application icon." >&2
+fi
+
+if [ -d ${APP_NAME}.app ]; then rm -rf ${APP_NAME}.app; fi
+macpack ${REFERENCES} ${CMDFLAGS}
+
+mkdir -p ${FRAMEWORKS_PATH}
diff --git a/OpenSim/Tools/LaunchSLClient/prebuild.xml b/OpenSim/Tools/LaunchSLClient/prebuild.xml
index c51d59a..4a13365 100644
--- a/OpenSim/Tools/LaunchSLClient/prebuild.xml
+++ b/OpenSim/Tools/LaunchSLClient/prebuild.xml
@@ -57,6 +57,7 @@
+
--
cgit v1.1
From 239228abd8dc1553577eaf4167a49f64fa50814c Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 May 2008 18:49:42 +0000
Subject: Attempt to locate SL client in LaunchSLClient under other Unices.
---
.../Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs | 6 +++---
.../Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs | 18 ++++++++++++++----
.../LaunchSLClient/LaunchSLClient/WindowsConfig.cs | 11 +++++++++--
3 files changed, 26 insertions(+), 9 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
index 0d866af..177d7e8 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
@@ -43,13 +43,13 @@ namespace LaunchSLClient
exePath = "/Applications/Second Life Release Candidate.app/Contents/MacOS";
}
- runLine = exePath + "/Second Life";
- exeFlags = "";
+ runLine = Path.Combine(exePath, "Second Life");
+ exeFlags = string.Empty;
}
public override string GetConfigDir()
{
- return "";
+ return string.Empty;
}
}
}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
index 220ad82..c285066 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
@@ -34,14 +34,24 @@ namespace LaunchSLClient
{
public override void GetClient(ref string exePath, ref string runLine, ref string exeFlags)
{
- exePath = "";
- runLine = "secondlife";
- exeFlags = "";
+ exePath = string.Empty;
+ exeFlags = string.Empty;
+
+ foreach (string path in Environment.GetEnvironmentVariable("PATH").Split(':'))
+ {
+ if (File.Exists(Path.Combine(path, "secondlife")))
+ {
+ exePath = path;
+ break;
+ }
+ }
+
+ runLine = Path.Combine(exePath, "secondlife");
}
public override string GetConfigDir()
{
- return "";
+ return string.Empty;
}
}
}
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
index df56bfe..7988d96 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
@@ -47,7 +47,7 @@ namespace LaunchSLClient
string exe = regKey.GetValue("Exe").ToString();
exeFlags = regKey.GetValue("Flags").ToString();
exePath = regKey.GetValue("").ToString();
- runLine = exePath + "\\" + exe;
+ runLine = Path.Combine(exePath, exe);
Registry.LocalMachine.Flush();
Registry.LocalMachine.Close();
}
@@ -56,7 +56,14 @@ namespace LaunchSLClient
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\OpenSim\OpenSim");
- return key == null ? "" : key.GetValue("Path").ToString();
+ if (key == null)
+ {
+ return string.Empty;
+ }
+ else
+ {
+ return key.GetValue("Path").ToString();
+ }
}
}
}
--
cgit v1.1
From 76d8eaa4069d6445c47784168e274ba4253f7b9c Mon Sep 17 00:00:00 2001
From: Adam Frisby
Date: Thu, 1 May 2008 18:50:44 +0000
Subject: * Thanks to Mic Bowman for inspiring me to look at that we are still
using ASCIIEncoder in places we shouldn't.
---
OpenSim/Tools/pCampBot/BotManager.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 8877f7d..302dc08 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -196,7 +196,7 @@ namespace pCampBot
Environment.Exit(0);
break;
case "addbots":
- int newbots = 0;
+ int newbots;
Helpers.TryParse(cmdparams[0], out newbots);
if (newbots > 0)
--
cgit v1.1
From 6729d488a5a1ee977d303cb0c751511a08dc0b01 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 May 2008 19:00:12 +0000
Subject: Minor cosmetic cleanup.
---
.../LaunchSLClient/LaunchSLClient/Form1.Designer.cs | 20 ++++----------------
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 4 ++--
2 files changed, 6 insertions(+), 18 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
index b9e905a..38657b0 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
@@ -58,25 +58,15 @@ namespace LaunchSLClient
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);
@@ -84,10 +74,8 @@ namespace LaunchSLClient
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.textBox1.Text = "Grid to connect to:";
+
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(501, 339);
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index a827c76..d53f919 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -62,7 +62,7 @@ namespace LaunchSLClient
initializeGrids();
ArrayList menuItems = new ArrayList();
- menuItems.Add("Please select one:");
+ menuItems.Add(string.Empty);
addLocalSims(ref menuItems);
@@ -200,7 +200,7 @@ namespace LaunchSLClient
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
- if (comboBox1.Text == "Please select one:")
+ if (comboBox1.Text == string.Empty)
{
return;
}
--
cgit v1.1
From a5a16f6f499cf3166221bfefe119518eebdc8ca0 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Thu, 1 May 2008 19:20:53 +0000
Subject: Get LaunchSLClient window out of the way when launching SL.
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 5 +++++
1 file changed, 5 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index d53f919..dbc58ff 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -228,6 +228,9 @@ namespace LaunchSLClient
}
}
+ comboBox1.DroppedDown = false;
+ Hide();
+
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = runLine;
proc.StartInfo.Arguments = exeFlags + " " + runUrl;
@@ -236,6 +239,8 @@ namespace LaunchSLClient
proc.StartInfo.WorkingDirectory = exePath;
proc.Start();
proc.WaitForExit();
+
+ Application.Exit();
}
}
}
--
cgit v1.1
From f94099b485248ebcaa943a6437fbec86b3fd567c Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 2 May 2008 03:30:44 +0000
Subject: Minimize binary size and external dependencies in OS X
LaunchSLClient.app creation script.
---
.../LaunchSLClient.app.skel/Contents/Info.plist | 12 +++++++
.../Contents/MacOS/LaunchSLClient | 13 +++++++
OpenSim/Tools/LaunchSLClient/make-OSX-app.sh | 42 +++++++++++-----------
3 files changed, 47 insertions(+), 20 deletions(-)
create mode 100644 OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/Info.plist
create mode 100755 OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/MacOS/LaunchSLClient
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/Info.plist b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/Info.plist
new file mode 100644
index 0000000..7139350
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/Info.plist
@@ -0,0 +1,12 @@
+
+
+
+
+ CFBundleIdentifier
+ LaunchSLClient
+ CFBundleExecutable
+ LaunchSLClient
+ CFBundleIconFile
+
+
+
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/MacOS/LaunchSLClient b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/MacOS/LaunchSLClient
new file mode 100755
index 0000000..22acade
--- /dev/null
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient.app.skel/Contents/MacOS/LaunchSLClient
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+PWD=`pwd`
+
+# Fetch the path relative to the launch point where this shell script exists.
+APP_PATH=`echo $0 | awk '{split($0,patharr,"/"); idx=1; while(patharr[idx+3] != "") { if (patharr[idx] != "/") {printf("%s/", patharr[idx]); idx++ }} }'`
+
+# Fetch the app name (its our own name)
+APP_NAME=`echo $0 | awk '{split($0,patharr,"/"); idx=1; while(patharr[idx+1] != "") {idx++} printf("%s", patharr[idx]); }'`
+
+cd "$APP_PATH/Contents/Resources"
+
+./$APP_NAME
diff --git a/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh b/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh
index 9b9177e..aa37cb6 100755
--- a/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh
+++ b/OpenSim/Tools/LaunchSLClient/make-OSX-app.sh
@@ -6,13 +6,22 @@
# This should be run from the bin directory.
APP_NAME="LaunchSLClient"
-
-# Note that proper form is to copy Frameworks to
-# *.app/Contents/Frameworks, but because @executable_path resolves to
-# [...]/Resources/bin, and the libraries reference
-# @executable_path/../Frameworks, we put frameworks in
-# Contents/Resources instead.
-FRAMEWORKS_PATH="${APP_NAME}.app/Contents/Resources/Frameworks"
+SOURCE_PATH="../OpenSim/Tools/${APP_NAME}"
+
+ASSEMBLIES="mscorlib.dll \
+ System.Windows.Forms.dll \
+ System.Drawing.dll \
+ System.Configuration.dll \
+ System.Xml.dll \
+ System.Security.dll \
+ Mono.Security.dll \
+ System.Data.dll \
+ Mono.Data.Tds.dll \
+ System.Transactions.dll \
+ System.EnterpriseServices.dll \
+ Mono.Mozilla.dll \
+ Mono.Posix.dll \
+ Accessibility.dll"
if [ ! -e ${APP_NAME}.exe ]; then
echo "Error: Could not find ${APP_NAME}.exe." >& 2
@@ -20,19 +29,12 @@ if [ ! -e ${APP_NAME}.exe ]; then
exit 1
fi
-CMDFLAGS="-m console -n ${APP_NAME} -a ${APP_NAME}.exe"
-
-REFERENCES="-r /Library/Frameworks/Mono.framework/Versions/Current/lib/ \
- -r Nini.dll \
- -r ${APP_NAME}.ini"
-
-if [ -f ${APP_NAME}.icns ]; then
- CMDFLAGS="${CMDFLAGS} -i ${APP_NAME}.icns"
-else
- echo "Warning: no icon file found. Will use default application icon." >&2
-fi
+mkbundle2 -z -o ${APP_NAME} ${APP_NAME}.exe ${ASSEMBLIES} || exit 1
if [ -d ${APP_NAME}.app ]; then rm -rf ${APP_NAME}.app; fi
-macpack ${REFERENCES} ${CMDFLAGS}
+cp -r ${SOURCE_PATH}/${APP_NAME}.app.skel ${APP_NAME}.app
+
+# mkbundle doesn't seem to recognize the -L option, so we can't include Nini.dll in the bundling
+cp Nini.dll ${APP_NAME}.app/Contents/Resources
-mkdir -p ${FRAMEWORKS_PATH}
+cp ${APP_NAME} ${APP_NAME}.ini ${APP_NAME}.app/Contents/Resources
--
cgit v1.1
From c995d60d37032db3198b8496e186aa7a892dc7a8 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Wed, 14 May 2008 05:11:23 +0000
Subject: Formatting cleanup.
---
OpenSim/Tools/OpenSim.GUI/Main.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.cs b/OpenSim/Tools/OpenSim.GUI/Main.cs
index adb331b..9467312 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.cs
@@ -407,7 +407,7 @@ namespace OpenSim.GUI
portBox1.Text = "13050";
MessageBox.Show("Enter Usable port number, defaulting to 13050.");
}
- if(aPort < 13000)
+ if (aPort < 13000)
{
portBox1.Text = "13000";
MessageBox.Show("Enter Usable port number, defaulting to 13000.");
--
cgit v1.1
From 6a1b787436cc59043a26a296781e7a7b5ea0c67b Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Wed, 14 May 2008 05:33:32 +0000
Subject: More formatting cleanup.
---
OpenSim/Tools/pCampBot/pCampBot.cs | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index d944608..81ec2b2 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -47,9 +47,12 @@ namespace pCampBot
public static void Main(string[] args)
{
IConfig config = ParseConfig(args);
- if (config.Get("help") != null || config.Get("loginuri") == null) {
+ if (config.Get("help") != null || config.Get("loginuri") == null)
+ {
Help();
- } else {
+ }
+ else
+ {
int botcount = config.GetInt("botcount", 1);
BotManager bm = new BotManager();
--
cgit v1.1
From 65c5efe43b68700bad94076d4cd421160203c5de Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 16 May 2008 01:22:11 +0000
Subject: Formatting cleanup.
---
.../LaunchSLClient/Properties/AssemblyInfo.cs | 8 +-
.../OpenSim.32BitLaunch/Properties/AssemblyInfo.cs | 10 +-
OpenSim/Tools/OpenSim.GUI/Main.Designer.cs | 412 ++++++++++-----------
.../Tools/OpenSim.GUI/Properties/AssemblyInfo.cs | 8 +-
.../Tools/OpenSim.GUI/frmConfiguration.Designer.cs | 8 +-
OpenSim/Tools/pCampBot/PhysicsBot.cs | 4 +-
6 files changed, 225 insertions(+), 225 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
index 62af735..797580d 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
@@ -29,7 +29,7 @@ using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
+// 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")]
@@ -41,8 +41,8 @@ using System.Runtime.InteropServices;
[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
+// 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)]
@@ -52,7 +52,7 @@ using System.Runtime.InteropServices;
// Version information for an assembly consists of the following four values:
//
// Major Version
-// Minor Version
+// Minor Version
// Build Number
// Revision
//
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
index 637fb09..74fedfa 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
@@ -29,7 +29,7 @@ using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
+// 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")]
@@ -41,8 +41,8 @@ using System.Runtime.InteropServices;
[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
+// 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)]
@@ -52,11 +52,11 @@ using System.Runtime.InteropServices;
// Version information for an assembly consists of the following four values:
//
// Major Version
-// Minor Version
+// Minor Version
// Build Number
// Revision
//
-// You can specify all the values or you can default the Build and Revision Numbers
+// 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")]
diff --git a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
index e1481a2..af29bce 100644
--- a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
@@ -168,9 +168,9 @@ namespace OpenSim.GUI
this.tabAssetServer.SuspendLayout();
this.tabGridServer.SuspendLayout();
this.SuspendLayout();
- //
+ //
// menuStrip1
- //
+ //
this.menuStrip1.AutoSize = false;
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem});
@@ -179,36 +179,36 @@ namespace OpenSim.GUI
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);
@@ -216,9 +216,9 @@ namespace OpenSim.GUI
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);
@@ -226,9 +226,9 @@ namespace OpenSim.GUI
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";
@@ -237,9 +237,9 @@ namespace OpenSim.GUI
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);
@@ -250,9 +250,9 @@ namespace OpenSim.GUI
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";
@@ -261,9 +261,9 @@ namespace OpenSim.GUI
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);
@@ -271,9 +271,9 @@ namespace OpenSim.GUI
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)));
@@ -284,9 +284,9 @@ namespace OpenSim.GUI
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)));
@@ -300,9 +300,9 @@ namespace OpenSim.GUI
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";
@@ -310,9 +310,9 @@ namespace OpenSim.GUI
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)));
@@ -322,9 +322,9 @@ namespace OpenSim.GUI
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);
@@ -335,25 +335,25 @@ namespace OpenSim.GUI
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)));
@@ -363,9 +363,9 @@ namespace OpenSim.GUI
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);
@@ -376,25 +376,25 @@ namespace OpenSim.GUI
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)));
@@ -404,9 +404,9 @@ namespace OpenSim.GUI
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);
@@ -416,25 +416,25 @@ namespace OpenSim.GUI
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)));
@@ -444,9 +444,9 @@ namespace OpenSim.GUI
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);
@@ -456,25 +456,25 @@ namespace OpenSim.GUI
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)));
@@ -484,9 +484,9 @@ namespace OpenSim.GUI
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);
@@ -494,9 +494,9 @@ namespace OpenSim.GUI
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";
@@ -505,18 +505,18 @@ namespace OpenSim.GUI
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";
@@ -525,9 +525,9 @@ namespace OpenSim.GUI
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);
@@ -535,9 +535,9 @@ namespace OpenSim.GUI
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";
@@ -546,9 +546,9 @@ namespace OpenSim.GUI
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";
@@ -557,9 +557,9 @@ namespace OpenSim.GUI
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";
@@ -568,9 +568,9 @@ namespace OpenSim.GUI
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";
@@ -579,9 +579,9 @@ namespace OpenSim.GUI
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";
@@ -590,9 +590,9 @@ namespace OpenSim.GUI
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";
@@ -601,9 +601,9 @@ namespace OpenSim.GUI
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";
@@ -612,9 +612,9 @@ namespace OpenSim.GUI
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";
@@ -623,9 +623,9 @@ namespace OpenSim.GUI
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";
@@ -634,9 +634,9 @@ namespace OpenSim.GUI
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";
@@ -645,9 +645,9 @@ namespace OpenSim.GUI
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";
@@ -656,9 +656,9 @@ namespace OpenSim.GUI
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";
@@ -667,9 +667,9 @@ namespace OpenSim.GUI
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";
@@ -678,9 +678,9 @@ namespace OpenSim.GUI
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";
@@ -689,9 +689,9 @@ namespace OpenSim.GUI
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";
@@ -700,9 +700,9 @@ namespace OpenSim.GUI
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";
@@ -711,9 +711,9 @@ namespace OpenSim.GUI
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";
@@ -722,9 +722,9 @@ namespace OpenSim.GUI
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";
@@ -733,9 +733,9 @@ namespace OpenSim.GUI
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";
@@ -744,9 +744,9 @@ namespace OpenSim.GUI
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";
@@ -755,9 +755,9 @@ namespace OpenSim.GUI
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";
@@ -766,9 +766,9 @@ namespace OpenSim.GUI
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";
@@ -779,27 +779,27 @@ namespace OpenSim.GUI
"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";
@@ -809,9 +809,9 @@ namespace OpenSim.GUI
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";
@@ -820,9 +820,9 @@ namespace OpenSim.GUI
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";
@@ -831,9 +831,9 @@ namespace OpenSim.GUI
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";
@@ -842,9 +842,9 @@ namespace OpenSim.GUI
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";
@@ -853,9 +853,9 @@ namespace OpenSim.GUI
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";
@@ -864,9 +864,9 @@ namespace OpenSim.GUI
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";
@@ -875,9 +875,9 @@ namespace OpenSim.GUI
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";
@@ -886,9 +886,9 @@ namespace OpenSim.GUI
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";
@@ -897,76 +897,76 @@ namespace OpenSim.GUI
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",
@@ -980,9 +980,9 @@ namespace OpenSim.GUI
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";
@@ -991,18 +991,18 @@ namespace OpenSim.GUI
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";
@@ -1012,18 +1012,18 @@ namespace OpenSim.GUI
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";
@@ -1032,9 +1032,9 @@ namespace OpenSim.GUI
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";
@@ -1043,9 +1043,9 @@ namespace OpenSim.GUI
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";
@@ -1054,44 +1054,44 @@ namespace OpenSim.GUI
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";
@@ -1100,18 +1100,18 @@ namespace OpenSim.GUI
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";
@@ -1120,17 +1120,17 @@ namespace OpenSim.GUI
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);
@@ -1139,18 +1139,18 @@ namespace OpenSim.GUI
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);
@@ -1158,9 +1158,9 @@ namespace OpenSim.GUI
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";
@@ -1168,17 +1168,17 @@ namespace OpenSim.GUI
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";
@@ -1186,36 +1186,36 @@ namespace OpenSim.GUI
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);
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
index b89119c..8d4b3f5 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
@@ -29,7 +29,7 @@ using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
+// 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")]
@@ -41,8 +41,8 @@ using System.Runtime.InteropServices;
[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
+// 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)]
@@ -52,7 +52,7 @@ using System.Runtime.InteropServices;
// Version information for an assembly consists of the following four values:
//
// Major Version
-// Minor Version
+// Minor Version
// Build Number
// Revision
//
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
index ee9282e..4665dd9 100644
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
@@ -58,18 +58,18 @@ namespace OpenSim.GUI
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);
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 334f699..960be9b 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -59,7 +59,7 @@ namespace pCampBot
protected string[] talkarray;
///
- ///
+ ///
///
/// nini config for the bot
public PhysicsBot(IConfig bsconfig)
@@ -69,7 +69,7 @@ namespace pCampBot
talkarray = readexcuses();
}
- //We do our actions here. This is where one would
+ //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, ElapsedEventArgs e)
--
cgit v1.1
From 259ddcfe1a655638f8e87f8b3dfec6d9c006140f Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Mon, 19 May 2008 13:26:42 +0000
Subject: Update svn properties. Minor formatting cleanup.
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 6 ------
1 file changed, 6 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 960be9b..49c3c78 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -103,7 +103,6 @@ namespace pCampBot
client.Self.Chat(randomf, 0, ChatType.Normal);
//Thread.Sleep(somthing.Next(1, 10)); // Apparently its better without it right now.
-
}
///
@@ -115,9 +114,6 @@ namespace pCampBot
lastname = startupConfig.GetString("lastname", "random");
password = startupConfig.GetString("password", "12345");
loginURI = startupConfig.GetString("loginuri");
-
-
-
}
///
@@ -139,7 +135,6 @@ namespace pCampBot
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));
@@ -147,7 +142,6 @@ namespace pCampBot
m_action.Start();
OnConnected(this, EventType.CONNECTED);
client.Self.Jump();
-
}
}
else
--
cgit v1.1
From 535d64b66b4d51d1dc474f9d6403f94c06be5491 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Tue, 20 May 2008 15:38:49 +0000
Subject: Add copyright notices. Fix spelling typo (Thanks ChrisDown for
pointing this out)
---
.../Properties/Resources.Designer.cs | 32 +++++++++++++++++++---
.../LaunchSLClient/Properties/Settings.Designer.cs | 32 +++++++++++++++++++---
.../OpenSim.GUI/Properties/Resources.Designer.cs | 32 +++++++++++++++++++---
.../OpenSim.GUI/Properties/Settings.Designer.cs | 32 +++++++++++++++++++---
4 files changed, 112 insertions(+), 16 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
index 4e9188d..916ff04 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
@@ -1,4 +1,31 @@
-//------------------------------------------------------------------------------
+/*
+ * 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.
+ */
+
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:2.0.50727.832
@@ -10,8 +37,6 @@
namespace LaunchSLClient.Properties
{
-
-
///
/// A strongly-typed resource class, for looking up localized strings, etc.
///
@@ -24,7 +49,6 @@ namespace LaunchSLClient.Properties
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
-
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
index 3dcc200..2765be5 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
@@ -1,4 +1,31 @@
-//------------------------------------------------------------------------------
+/*
+ * 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.
+ */
+
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:2.0.50727.832
@@ -10,13 +37,10 @@
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
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
index 33e67d4..6209553 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
@@ -1,4 +1,31 @@
-//------------------------------------------------------------------------------
+/*
+ * 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.
+ */
+
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:2.0.50727.312
@@ -10,8 +37,6 @@
namespace OpenSim.GUI.Properties
{
-
-
///
/// A strongly-typed resource class, for looking up localized strings, etc.
///
@@ -24,7 +49,6 @@ namespace OpenSim.GUI.Properties
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
-
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
diff --git a/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
index dd1db86..ec80a6f 100644
--- a/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
+++ b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
@@ -1,4 +1,31 @@
-//------------------------------------------------------------------------------
+/*
+ * 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.
+ */
+
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:2.0.50727.312
@@ -10,13 +37,10 @@
namespace OpenSim.GUI.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
--
cgit v1.1
From 5d77625e9ac4ce1fc7b8fd67aabf563678ef0d5d Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Sun, 25 May 2008 23:27:38 +0000
Subject: Update svn properties. Formatting cleanup.
---
OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
index d0bd7bc..a43795a 100644
--- a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
+++ b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
@@ -100,7 +100,9 @@ namespace OpenSim.GUI
}
}
e.Handled = true;
- } else {
+ }
+ else
+ {
InHistory = false;
HistoryPosition = -1;
}
--
cgit v1.1
From 8e1d3386561f263646c10c875aa00af4b3c9f815 Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Sun, 1 Jun 2008 01:01:16 +0000
Subject: * Refactor: Split opensim background server into a separate class
---
OpenSim/Tools/Export/OpenSimExport.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 4891ea7..1e7db51 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -102,7 +102,7 @@ namespace OpenSimExport
{
// 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(OpenSimBase.DefaultConfig());
config.Merge(configSource);
}
--
cgit v1.1
From a73d87ef1651ac1e935e0cfebed99282a69c3941 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Fri, 18 Jul 2008 20:50:47 +0000
Subject: Introduce a separate connection string for estates, which defaults to
the one gi ven for the region datastore. Removes the flag to store prim
inventories, which are now always stored.
---
OpenSim/Tools/Export/OpenSimExport.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 1e7db51..f469d91 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -54,7 +54,7 @@ namespace OpenSimExport
sman = new StorageManager(
startup.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"),
startup.GetString("storage_connection_string", String.Empty),
- false
+ startup.GetString("estate_connection_string", String.Empty)
);
}
--
cgit v1.1
From 6ef9d4da901a346c232458317cca6268da888e2e Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Mon, 18 Aug 2008 00:39:10 +0000
Subject: Formatting cleanup.
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 2 +-
OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs | 2 +-
OpenSim/Tools/pCampBot/BotManager.cs | 10 +++++-----
OpenSim/Tools/pCampBot/pCampBot.cs | 10 +++++-----
4 files changed, 12 insertions(+), 12 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index dbc58ff..25044db 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -123,7 +123,7 @@ namespace LaunchSLClient
string sandboxHostName = "";
string sandboxPort = "";
string text;
-
+
Regex myRegex = new Regex(".*internal_ip_port=\\\"(?.*?)\\\".*external_host_name=\\\"(?.*?)\\\".*");
FileInfo defaultFile = new FileInfo("Regions/default.xml");
diff --git a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
index a43795a..d6a3d04 100644
--- a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
+++ b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
@@ -38,7 +38,7 @@ namespace OpenSim.GUI
{
this.KeyDown += new System.Windows.Forms.KeyEventHandler(TextInputControl_KeyDown);
}
-
+
private List CommandHistory = new List();
private bool InHistory = false;
private int HistoryPosition = -1;
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 302dc08..4bdc494 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -51,7 +51,7 @@ namespace pCampBot
protected Random somthing = new Random(Environment.TickCount);
protected int numbots = 0;
protected IConfig Previous_config;
-
+
///
/// Constructor Creates MainConsole.Instance to take commands and provide the place to write data
///
@@ -96,7 +96,7 @@ namespace pCampBot
startupBot(i, Previous_config);
}
}
-
+
///
/// This starts up the bot and stores the thread for the bot in the thread array
///
@@ -127,7 +127,7 @@ namespace pCampBot
{
string returnstring = "";
string chars = "abcdefghijklmnopqrstuvwxyz0123456789";
-
+
for (int i = 0; i < 7; i++)
{
returnstring += chars.Substring(somthing.Next(chars.Length),1);
@@ -177,7 +177,7 @@ namespace pCampBot
{
return new ConsoleBase("Region", this);
}
-
+
///
/// Command runnint tool.. Currently use it to add bots, shutdown and (dangerous)Forcequit
///
@@ -198,7 +198,7 @@ namespace pCampBot
case "addbots":
int newbots;
Helpers.TryParse(cmdparams[0], out newbots);
-
+
if (newbots > 0)
addbots(newbots);
break;
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 81ec2b2..9cde451 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -54,9 +54,9 @@ namespace pCampBot
else
{
int botcount = config.GetInt("botcount", 1);
-
+
BotManager bm = new BotManager();
-
+
//startup specified number of bots. 1 is the default
bm.dobotStartup(botcount, config);
while (true)
@@ -70,18 +70,18 @@ namespace pCampBot
{
//Set up our nifty config.. thanks to nini
ArgvConfigSource cs = new ArgvConfigSource(args);
-
+
cs.AddSwitch("Startup", "botcount","n");
cs.AddSwitch("Startup", "loginuri","l");
cs.AddSwitch("Startup", "firstname");
cs.AddSwitch("Startup", "lastname");
cs.AddSwitch("Startup", "password");
cs.AddSwitch("Startup", "help","h");
-
+
IConfig ol = cs.Configs["Startup"];
return ol;
}
-
+
private static void Help()
{
Console.WriteLine(
--
cgit v1.1
From 7d89e122930be39e84a6d174548fa2d12ac0484a Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Sat, 6 Sep 2008 07:52:41 +0000
Subject: * This is the fabled LibOMV update with all of the libOMV types from
JHurliman * This is a HUGE OMG update and will definitely have unknown side
effects.. so this is really only for the strong hearted at this point.
Regular people should let the dust settle. * This has been tested to work
with most basic functions. However.. make sure you back up 'everything'
before using this. It's that big! * Essentially we're back at square 1 in
the testing phase.. so lets identify things that broke.
---
OpenSim/Tools/Export/OpenSimExport.cs | 4 ++--
OpenSim/Tools/pCampBot/BotManager.cs | 4 ++--
OpenSim/Tools/pCampBot/PhysicsBot.cs | 8 ++++----
3 files changed, 8 insertions(+), 8 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index f469d91..68d4716 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -63,7 +63,7 @@ namespace OpenSimExport
XmlConfigurator.Configure();
OpenSimExport export = new OpenSimExport(InitConfig(args));
- RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.xml",false);
+ 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))
@@ -109,4 +109,4 @@ namespace OpenSimExport
return config;
}
}
-}
\ No newline at end of file
+}
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 4bdc494..8eb00c7 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -29,7 +29,7 @@ using System;
using System.Collections.Generic;
using System.Reflection;
using System.Threading;
-using libsecondlife;
+using OpenMetaverse;
using log4net;
using Nini.Config;
using OpenSim.Framework;
@@ -197,7 +197,7 @@ namespace pCampBot
break;
case "addbots":
int newbots;
- Helpers.TryParse(cmdparams[0], out newbots);
+ Int32.TryParse(cmdparams[0], out newbots);
if (newbots > 0)
addbots(newbots);
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 49c3c78..84987b2 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -29,7 +29,7 @@ using System;
using System.IO;
using System.Threading;
using System.Timers;
-using libsecondlife;
+using OpenMetaverse;
using Nini.Config;
using OpenSim.Framework;
using OpenSim.Framework.Console;
@@ -55,7 +55,7 @@ namespace pCampBot
protected Random somthing = new Random(Environment.TickCount);// We do stuff randomly here
//New instance of a SecondLife client
- public SecondLife client = new SecondLife();
+ public GridClient client = new GridClient();
protected string[] talkarray;
///
@@ -87,8 +87,8 @@ namespace pCampBot
client.Self.Movement.AlwaysRun = false;
}
- // TODO: unused: LLVector3 pos = client.Self.SimPosition;
- LLVector3 newpos = new LLVector3(somthing.Next(255), somthing.Next(255), somthing.Next(255));
+ // TODO: unused: Vector3 pos = client.Self.SimPosition;
+ Vector3 newpos = new Vector3(somthing.Next(255), somthing.Next(255), somthing.Next(255));
client.Self.Movement.TurnToward(newpos);
for (int i = 0; i < 2000; i++)
--
cgit v1.1
From 9e545c9984790ddeabba0bf86e229af90da09ad6 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sat, 6 Sep 2008 14:58:23 +0000
Subject: Mantis #2133 Thank you, Xugu Madison and ChrisDown, for a patch that
fixes linux filename extensions from .Xml back to .xml
---
OpenSim/Tools/Export/OpenSimExport.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 68d4716..5c0ff52 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -63,7 +63,7 @@ namespace OpenSimExport
XmlConfigurator.Configure();
OpenSimExport export = new OpenSimExport(InitConfig(args));
- RegionInfo reg = new RegionInfo("Sara Jane", "Regions/1000-1000.Xml",false);
+ 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))
--
cgit v1.1
From 8ae8bec4d148ace42aa176f924399464d5bcf7eb Mon Sep 17 00:00:00 2001
From: Homer Horwitz
Date: Fri, 12 Sep 2008 22:39:17 +0000
Subject: Changed "show users" command to display only root agents, "show users
full" to display root and child agents (mantis #2171).
---
OpenSim/Tools/pCampBot/BotManager.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 8eb00c7..100f2d4 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -211,8 +211,8 @@ namespace pCampBot
///
/// Required method to implement the conscmd_callback interface
///
- ///
- public void Show(string ShowWhat)
+ /// What to show
+ public void Show(string[] showParams)
{
}
}
--
cgit v1.1
From 9a200da0d2e359ecfe3cca5e6c319179a8897d9b Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Thu, 16 Oct 2008 15:09:02 +0000
Subject: Updated 32Bit launcher so it works in Visual Studio again. (So
developers on 64-bit os can run OpenSim in 32-bit mode)
---
OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj | 11 +++--------
OpenSim/Tools/OpenSim.32BitLaunch/Program.cs | 2 +-
2 files changed, 4 insertions(+), 9 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
index bfca5e4..d829e69 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- 9.0.21022
+ 9.0.30729
2.0
{595D67F3-B413-4A43-8568-5B5930E3B31D}
Exe
@@ -32,13 +32,8 @@
4
+
-
- 3.5
-
-
- 3.5
-
@@ -48,7 +43,7 @@
- {AC9EB8AB-0000-0000-0000-000000000000}
+ {438A9556-0000-0000-0000-000000000000}
OpenSim
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
index 0c4de02..b292d43 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
@@ -44,7 +44,7 @@ namespace OpenSim._32BitLaunch
System.Threading.Thread.Sleep(300);
try
{
- OpenSim.Application.Main(args);
+ global::OpenSim.Application.Main(args);
}
catch (Exception ex)
{
--
cgit v1.1
From e6a141b0f5afb5a78cc5560c993c05e8d4d56eec Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Mon, 27 Oct 2008 21:29:22 +0000
Subject: * Remove the OpenSim GUI. * A better version can now be found on the
forge at http://forge.opensimulator.org/gf/project/osgui
---
OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs | 111 --
OpenSim/Tools/OpenSim.GUI/Main.Designer.cs | 1434 --------------------
OpenSim/Tools/OpenSim.GUI/Main.cs | 536 --------
OpenSim/Tools/OpenSim.GUI/Main.resx | 135 --
OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj | 94 --
OpenSim/Tools/OpenSim.GUI/ProcessManager.cs | 98 --
OpenSim/Tools/OpenSim.GUI/Program.cs | 47 -
.../Tools/OpenSim.GUI/Properties/AssemblyInfo.cs | 60 -
.../OpenSim.GUI/Properties/Resources.Designer.cs | 95 --
.../Tools/OpenSim.GUI/Properties/Resources.resx | 117 --
.../OpenSim.GUI/Properties/Settings.Designer.cs | 54 -
.../Tools/OpenSim.GUI/Properties/Settings.settings | 7 -
.../Tools/OpenSim.GUI/frmConfiguration.Designer.cs | 88 --
OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs | 45 -
OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx | 129 --
15 files changed, 3050 deletions(-)
delete mode 100644 OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
delete mode 100644 OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
delete mode 100644 OpenSim/Tools/OpenSim.GUI/Main.cs
delete mode 100644 OpenSim/Tools/OpenSim.GUI/Main.resx
delete mode 100644 OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
delete mode 100644 OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
delete mode 100644 OpenSim/Tools/OpenSim.GUI/Program.cs
delete mode 100644 OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
delete mode 100644 OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
delete mode 100644 OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
delete mode 100644 OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
delete mode 100644 OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings
delete mode 100644 OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
delete mode 100644 OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
delete mode 100644 OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs b/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
deleted file mode 100644
index d6a3d04..0000000
--- a/OpenSim/Tools/OpenSim.GUI/InputTextBoxControl.cs
+++ /dev/null
@@ -1,111 +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;
-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
deleted file mode 100644
index af29bce..0000000
--- a/OpenSim/Tools/OpenSim.GUI/Main.Designer.cs
+++ /dev/null
@@ -1,1434 +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.
- */
-
-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
deleted file mode 100644
index 9467312..0000000
--- a/OpenSim/Tools/OpenSim.GUI/Main.cs
+++ /dev/null
@@ -1,536 +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;
-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
deleted file mode 100644
index 517179d..0000000
--- a/OpenSim/Tools/OpenSim.GUI/Main.resx
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
deleted file mode 100644
index e722fec..0000000
--- a/OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
- 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
deleted file mode 100644
index de693a7..0000000
--- a/OpenSim/Tools/OpenSim.GUI/ProcessManager.cs
+++ /dev/null
@@ -1,98 +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;
-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
deleted file mode 100644
index c41cfb7..0000000
--- a/OpenSim/Tools/OpenSim.GUI/Program.cs
+++ /dev/null
@@ -1,47 +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;
-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
deleted file mode 100644
index 8d4b3f5..0000000
--- a/OpenSim/Tools/OpenSim.GUI/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,60 +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 (c) 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.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
deleted file mode 100644
index 6209553..0000000
--- a/OpenSim/Tools/OpenSim.GUI/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,95 +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.
- */
-
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.312
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace OpenSim.GUI.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("OpenSim.GUI.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/OpenSim.GUI/Properties/Resources.resx b/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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.Designer.cs b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
deleted file mode 100644
index ec80a6f..0000000
--- a/OpenSim/Tools/OpenSim.GUI/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,54 +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.
- */
-
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.312
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace OpenSim.GUI.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/OpenSim.GUI/Properties/Settings.settings b/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings
deleted file mode 100644
index 3964565..0000000
--- a/OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs b/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
deleted file mode 100644
index 4665dd9..0000000
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.Designer.cs
+++ /dev/null
@@ -1,88 +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.
- */
-
-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
deleted file mode 100644
index 8ed53a2..0000000
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.cs
+++ /dev/null
@@ -1,45 +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;
-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
deleted file mode 100644
index 084547c..0000000
--- a/OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
--
cgit v1.1
From 571b94f537cc1f431ed52e6a185863ae17357f30 Mon Sep 17 00:00:00 2001
From: MW
Date: Wed, 5 Nov 2008 20:14:52 +0000
Subject: moved the initial loading/setting of the config settings to its own
class, ConfigurationLoader. To make it easier to customise the loading of
those settings and possible in the future move it to a plugin.
---
OpenSim/Tools/Export/OpenSimExport.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
index 5c0ff52..570a855 100644
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ b/OpenSim/Tools/Export/OpenSimExport.cs
@@ -102,7 +102,7 @@ namespace OpenSimExport
{
// no default config files, so set default values, and save it
Console.WriteLine("We didn't find a config!");
- config.Merge(OpenSimBase.DefaultConfig());
+ config.Merge(ConfigurationLoader.DefaultConfig());
config.Merge(configSource);
}
--
cgit v1.1
From c25a0ea7923aa390d30b8eebdbca4e599edf9b0d Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Mon, 17 Nov 2008 21:00:34 +0000
Subject: * Update libOMV to r2359. This is necessary for the progressive
texture patch * Update libopenjpeg as well for this patch. * Appears to be
okay on a very short sniff test * Source code will be placed in opensim-libs
shortly
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 84987b2..862b4e8 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -96,7 +96,7 @@ namespace pCampBot
client.Self.Movement.AtPos = true;
Thread.Sleep(somthing.Next(25, 75)); // Makes sure the bots keep walking for this time.
}
- client.Self.Jump();
+ client.Self.Jump(true);
string randomf = talkarray[somthing.Next(talkarray.Length)];
if (talkarray.Length > 1 && randomf.Length > 1)
@@ -141,7 +141,7 @@ namespace pCampBot
m_action.Elapsed += new ElapsedEventHandler(m_action_Elapsed);
m_action.Start();
OnConnected(this, EventType.CONNECTED);
- client.Self.Jump();
+ client.Self.Jump(true);
}
}
else
--
cgit v1.1
From 3234472d6203671a492a73042a0b56d6301903e0 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Wed, 19 Nov 2008 06:15:21 +0000
Subject: Reverting the texture sending patch and the new libOMV. This makes
this release a direct descendant of the stable 7364, with all the features
and none of the issues. This omits the following patch chain: r7383 r7382
r7381 r7377 r7375 r7373 r7372 r7370 r7369 r7368 r7367 r7366
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 862b4e8..84987b2 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -96,7 +96,7 @@ namespace pCampBot
client.Self.Movement.AtPos = true;
Thread.Sleep(somthing.Next(25, 75)); // Makes sure the bots keep walking for this time.
}
- client.Self.Jump(true);
+ client.Self.Jump();
string randomf = talkarray[somthing.Next(talkarray.Length)];
if (talkarray.Length > 1 && randomf.Length > 1)
@@ -141,7 +141,7 @@ namespace pCampBot
m_action.Elapsed += new ElapsedEventHandler(m_action_Elapsed);
m_action.Start();
OnConnected(this, EventType.CONNECTED);
- client.Self.Jump(true);
+ client.Self.Jump();
}
}
else
--
cgit v1.1
From f518ca7feb33c0c1641ccb8f3956246b855f9b6c Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Wed, 19 Nov 2008 06:25:34 +0000
Subject: Reapply r7369 r7367 r7366 r7370 r7381. This brings it back up to the
new libOMV.
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 84987b2..862b4e8 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -96,7 +96,7 @@ namespace pCampBot
client.Self.Movement.AtPos = true;
Thread.Sleep(somthing.Next(25, 75)); // Makes sure the bots keep walking for this time.
}
- client.Self.Jump();
+ client.Self.Jump(true);
string randomf = talkarray[somthing.Next(talkarray.Length)];
if (talkarray.Length > 1 && randomf.Length > 1)
@@ -141,7 +141,7 @@ namespace pCampBot
m_action.Elapsed += new ElapsedEventHandler(m_action_Elapsed);
m_action.Start();
OnConnected(this, EventType.CONNECTED);
- client.Self.Jump();
+ client.Self.Jump(true);
}
}
else
--
cgit v1.1
From f7beef328380d85c52fc05f6639a00999d1fa74d Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Thu, 27 Nov 2008 06:54:20 +0000
Subject: * Adds texture download requests to pcampbot to more accurately
represent load.
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 52 ++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 862b4e8..8e43670 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -26,6 +26,7 @@
*/
using System;
+using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Timers;
@@ -51,6 +52,8 @@ namespace pCampBot
public event AnEvent OnDisconnected;
protected Timer m_action; // Action Timer
+ protected List objectIDs = new List();
+
protected Random somthing = new Random(Environment.TickCount);// We do stuff randomly here
@@ -130,9 +133,25 @@ namespace pCampBot
public void startup()
{
client.Settings.LOGIN_SERVER = loginURI;
+ client.Settings.ALWAYS_DECODE_OBJECTS = false;
+ client.Settings.AVATAR_TRACKING = false;
+ client.Settings.OBJECT_TRACKING = false;
+ client.Settings.SEND_AGENT_THROTTLE = true;
+ client.Settings.SEND_PINGS = true;
+ client.Settings.STORE_LAND_PATCHES = false;
+ client.Settings.USE_TEXTURE_CACHE = false;
+ client.Settings.MULTIPLE_SIMS = true;
+ client.Throttle.Asset = 100000;
+ client.Throttle.Land = 100000;
+ client.Throttle.Task = 100000;
+ client.Throttle.Texture = 100000;
+ client.Throttle.Wind = 100000;
+ client.Throttle.Total = 400000;
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);
+ client.Objects.OnNewPrim += Objects_NewPrim;
+ client.Assets.OnImageReceived += Asset_TextureCallback;
if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
{
if (OnConnected != null)
@@ -174,6 +193,39 @@ namespace pCampBot
}
}
+ public void Objects_NewPrim(Simulator simulator, Primitive prim, ulong regionHandle, ushort timeDilation)
+ {
+ if (prim != null)
+ {
+ if (prim.Textures != null)
+ {
+ if (prim.Textures.DefaultTexture.TextureID != UUID.Zero)
+ {
+ client.Assets.RequestImage(prim.Textures.DefaultTexture.TextureID, ImageType.Normal);
+ }
+ for (int i = 0; i < prim.Textures.FaceTextures.Length; i++ )
+ {
+ if (prim.Textures.FaceTextures[i] != null)
+ {
+ if (prim.Textures.FaceTextures[i].TextureID != UUID.Zero)
+ {
+ client.Assets.RequestImage(prim.Textures.FaceTextures[i].TextureID, ImageType.Normal);
+ }
+
+ }
+ }
+ }
+ if (prim.Sculpt.SculptTexture != UUID.Zero)
+ {
+ client.Assets.RequestImage(prim.Sculpt.SculptTexture, ImageType.Normal);
+ }
+ }
+
+ }
+ public void Asset_TextureCallback(ImageDownload image, AssetTexture asset)
+ {
+ }
+
public string[] readexcuses()
{
string allexcuses = "";
--
cgit v1.1
From f2cbc48a9e704da8e86ed659437c1e338e212c50 Mon Sep 17 00:00:00 2001
From: Tedd Hansen
Date: Sat, 6 Dec 2008 03:28:34 +0000
Subject: GUI for launching grids. Early version, but should work fine. Will
execute all OpenSim services redirect their input/output/errors to the
selected "GUI module". This version has following "GUI modules": * Windows
Forms * Windows Service (doesn't work yet) * Console * TCP daemon
This means that OpenSim can now run in a single console for those who want that.
Console functionallity is not too rich yet, but code/framework is there... more to come. :)
---
OpenSim/Tools/OpenSim.GridLaunch/App.config | 40 +
OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs | 247 ++++++
.../OpenSim.GridLaunch/AppExecutor_AsyncIO.cs | 85 ++
.../Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs | 187 +++++
.../Tools/OpenSim.GridLaunch/CommandProcessor.cs | 76 ++
.../OpenSim.GridLaunch/GUI/Console/Console.cs | 122 +++
OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs | 12 +
.../Tools/OpenSim.GridLaunch/GUI/Network/Client.cs | 113 +++
.../Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs | 231 ++++++
.../OpenSim.GridLaunch/GUI/Service/Service.cs | 65 ++
.../GUI/WinForm/OpenSim Bottom Border.png | Bin 0 -> 163 bytes
.../GUI/WinForm/OpenSim Right Border.png | Bin 0 -> 545 bytes
.../OpenSim.GridLaunch/GUI/WinForm/OpenSim.png | Bin 0 -> 44571 bytes
.../GUI/WinForm/ProcessPanel.Designer.cs | 224 ++++++
.../OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs | 288 +++++++
.../GUI/WinForm/ProcessPanel.resx | 882 +++++++++++++++++++++
.../GUI/WinForm/ucAppWindow.Designer.cs | 72 ++
.../OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs | 63 ++
.../GUI/WinForm/ucAppWindow.resx | 120 +++
.../GUI/WinForm/ucInputField.Designer.cs | 77 ++
.../OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs | 97 +++
.../GUI/WinForm/ucInputField.resx | 120 +++
.../GUI/WinForm/ucLogWindow.Designer.cs | 62 ++
.../OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs | 54 ++
.../GUI/WinForm/ucLogWindow.resx | 120 +++
.../OpenSim.GridLaunch/OpenSim.GridLaunch.csproj | 126 +++
.../OpenSim.GridLaunch/OpenSim.GridLaunch.ini | 3 +
.../OpenSim.GridLaunch/OpenSim.GridLaunch.sln | 20 +
OpenSim/Tools/OpenSim.GridLaunch/Program.cs | 245 ++++++
.../OpenSim.GridLaunch/Properties/AssemblyInfo.cs | 63 ++
.../Properties/Resources.Designer.cs | 84 ++
.../OpenSim.GridLaunch/Properties/Resources.resx | 130 +++
OpenSim/Tools/OpenSim.GridLaunch/Settings.cs | 181 +++++
.../Tools/OpenSim.GridLaunch/log4netAppender.cs | 65 ++
34 files changed, 4274 insertions(+)
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/App.config
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Bottom Border.png
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Right Border.png
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.Designer.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.resx
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.Designer.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.resx
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.Designer.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.resx
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.Designer.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.resx
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.ini
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.sln
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/Program.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.Designer.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.resx
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/Settings.cs
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/App.config b/OpenSim/Tools/OpenSim.GridLaunch/App.config
new file mode 100644
index 0000000..1e53319
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/App.config
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs
new file mode 100644
index 0000000..2c6ac31
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs
@@ -0,0 +1,247 @@
+/*
+ * 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;
+using System.Diagnostics;
+using System.IO;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+using log4net;
+
+namespace OpenSim.GridLaunch
+{
+ internal partial class AppExecutor : IDisposable
+ {
+ // How long to wait for process to shut down by itself
+ private static readonly int shutdownWaitSeconds = 10;
+
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
+ //private StreamWriter Input { get { return process.StandardInput; } }
+ //private StreamReader Output { get { return process.StandardOutput; } }
+ //private StreamReader Error { get { return process.StandardError; } }
+
+ private StreamWriter Input { get; set; }
+ private StreamReader Output { get; set; }
+ private StreamReader Error { get; set; }
+
+ private object processLock = new object();
+
+ private bool isRunning = false;
+ public bool IsRunning { get { return isRunning; } }
+
+ private string file;
+ public string File { get { return file; } }
+
+ Process process;
+
+ public AppExecutor(string File)
+ {
+ file = File;
+ }
+
+ #region Dispose of unmanaged resources
+ ~AppExecutor()
+ {
+ Dispose();
+ }
+ private bool isDisposed = false;
+ public void Dispose()
+ {
+ if (!isDisposed)
+ {
+ isDisposed = true;
+ Stop();
+ }
+ }
+ #endregion
+
+ #region Start / Stop process
+ public void Start()
+ {
+ if (isDisposed)
+ throw new ApplicationException("Attempt to start process in Disposed instance of AppExecutor.");
+ // Stop before starting
+ Stop();
+
+ lock (processLock)
+ {
+ isRunning = true;
+
+ m_log.InfoFormat("Starting \"{0}\".", file);
+
+ // Start the process
+ process = new Process();
+ process.StartInfo.FileName = file;
+ process.StartInfo.Arguments = "";
+ process.StartInfo.CreateNoWindow = true;
+ process.StartInfo.UseShellExecute = false;
+ process.StartInfo.ErrorDialog = false;
+ process.EnableRaisingEvents = true;
+
+
+ // Redirect all standard input/output/errors
+ process.StartInfo.RedirectStandardInput = true;
+ process.StartInfo.RedirectStandardOutput = true;
+ process.StartInfo.RedirectStandardError = true;
+
+ // Start process
+ process.Start();
+
+ Input = process.StandardInput;
+ Output = process.StandardOutput;
+ Error = process.StandardError;
+
+ // Start data copying
+ timer_Start();
+
+ // We will flush manually
+ //Input.AutoFlush = false;
+
+ }
+ }
+
+ public void Stop()
+ {
+ // Shut down process
+ // We will ignore some exceptions here, against good programming practice... :)
+
+ lock (processLock)
+ {
+ // Running?
+ if (!isRunning)
+ return;
+ isRunning = false;
+
+ timer_Stop();
+
+ m_log.InfoFormat("Stopping \"{0}\".", file);
+
+ // Send exit command to console
+ try
+ {
+ if (Input != null)
+ {
+ _writeLine("");
+ _writeLine("exit");
+ _writeLine("quit");
+ // Wait for process to exit
+ process.WaitForExit(1000 * shutdownWaitSeconds);
+ }
+ }
+ catch (Exception ex)
+ {
+ m_log.ErrorFormat("Exeption asking \"{0}\" to shut down: {1}", file, ex.ToString());
+ }
+
+ try
+ {
+ // Forcefully kill it
+ if (process.HasExited != true)
+ process.Kill();
+ }
+ catch (Exception ex)
+ {
+ m_log.ErrorFormat("Exeption killing \"{0}\": {1}", file, ex.ToString());
+ }
+
+ try
+ {
+ // Free resources
+ process.Close();
+ }
+ catch (Exception ex)
+ {
+ m_log.ErrorFormat("Exeption freeing resources for \"{0}\": {1}", file, ex.ToString());
+ }
+
+ // Dispose of stream and process object
+ //SafeDisposeOf(Input);
+ //SafeDisposeOf(Output);
+ //SafeDisposeOf(Error);
+ Program.SafeDisposeOf(process);
+ }
+
+ // Done stopping process
+ }
+
+ #endregion
+
+ #region Write to stdInput
+ public void Write(string Text)
+ {
+ // Lock so process won't shut down while we write, and that we won't write while proc is shutting down
+ lock (processLock)
+ {
+ _write(Text);
+ }
+ }
+ public void _write(string Text)
+ {
+ if (Input != null)
+ {
+ try
+ {
+ Input.Write(Text);
+ Input.Flush();
+ }
+ catch (Exception ex)
+ {
+ m_log.ErrorFormat("Exeption sending text \"{0}\" to \"{1}\": {2}", file, Text, ex.ToString());
+ }
+
+ }
+ }
+ public void WriteLine(string Text)
+ {
+ // Lock so process won't shut down while we write, and that we won't write while proc is shutting down
+ lock (processLock)
+ {
+ _writeLine(Text);
+ }
+ }
+ public void _writeLine(string Text)
+ {
+ if (Input != null)
+ {
+ try
+ {
+ m_log.DebugFormat("\"{0}\": Sending: \"{1}\"", file, Text);
+ Input.WriteLine(Text);
+ Input.Flush();
+ }
+ catch (Exception ex)
+ {
+ m_log.ErrorFormat("Exeption sending text \"{0}\" to \"{1}\": {2}", file, Text, ex.ToString());
+ }
+ }
+ }
+ #endregion
+
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs
new file mode 100644
index 0000000..0d07226
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs
@@ -0,0 +1,85 @@
+/*
+ * 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;
+
+namespace OpenSim.GridLaunch
+{
+ internal partial class AppExecutor
+ {
+
+
+ #region Start / Stop timer thread
+ private void timer_Start()
+ {
+ asyncReadOutput();
+ asyncReadError();
+ }
+
+ private bool running = true;
+ private void timer_Stop()
+ {
+ running = false;
+ }
+ #endregion
+
+ private byte[] readBufferOutput = new byte[4096];
+ private byte[] readBufferError = new byte[4096];
+
+ private void asyncReadOutput()
+ {
+ if (running)
+ Output.BaseStream.BeginRead(readBufferOutput, 0, readBufferOutput.Length, asyncReadCallBackOutput, null);
+ }
+ private void asyncReadError()
+ {
+ if (running)
+ Error.BaseStream.BeginRead(readBufferError, 0, readBufferError.Length, asyncReadCallBackError, null);
+ }
+
+ private void asyncReadCallBackOutput(IAsyncResult ar)
+ {
+ int len = Output.BaseStream.EndRead(ar);
+ Program.FireAppConsoleOutput(file,
+ System.Text.Encoding.ASCII.GetString(readBufferOutput, 0, len)
+ );
+
+ asyncReadOutput();
+ }
+ private void asyncReadCallBackError(IAsyncResult ar)
+ {
+ int len = Error.BaseStream.EndRead(ar);
+ Program.FireAppConsoleError(file,
+ System.Text.Encoding.ASCII.GetString(readBufferError, 0, len)
+ );
+
+ asyncReadError();
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs
new file mode 100644
index 0000000..cd160f8
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs
@@ -0,0 +1,187 @@
+/*
+ * 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;
+//using System.Collections.Generic;
+//using System.Reflection;
+//using System.Text;
+//using System.Threading;
+//using log4net;
+
+//namespace OpenSim.GridLaunch
+//{
+// internal class AppExecutor2
+// {
+// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+// private static readonly int consoleReadIntervalMilliseconds = 50;
+// //private static readonly Timer readTimer = new Timer(readConsole, null, Timeout.Infinite, Timeout.Infinite);
+// private static Thread timerThread;
+// private static object timerThreadLock = new object();
+
+// #region Start / Stop timer thread
+// private static void timer_Start()
+// {
+// //readTimer.Change(0, consoleReadIntervalMilliseconds);
+// lock (timerThreadLock)
+// {
+// if (timerThread == null)
+// {
+// m_log.Debug("Starting timer thread.");
+// timerThread = new Thread(timerThreadLoop);
+// timerThread.Name = "StdOutputStdErrorReadThread";
+// timerThread.IsBackground = true;
+// timerThread.Start();
+// }
+// }
+// }
+// private static void timer_Stop()
+// {
+// //readTimer.Change(Timeout.Infinite, Timeout.Infinite);
+// lock (timerThreadLock)
+// {
+// if (timerThread != null)
+// {
+// m_log.Debug("Stopping timer thread.");
+// try
+// {
+// if (timerThread.IsAlive)
+// timerThread.Abort();
+// timerThread.Join(2000);
+// timerThread = null;
+// }
+// catch (Exception ex)
+// {
+// m_log.Error("Exception stopping timer thread: " + ex.ToString());
+// }
+// }
+// }
+// }
+// #endregion
+
+// #region Timer read from consoles and fire event
+
+// private static void timerThreadLoop()
+// {
+// try
+// {
+// while (true)
+// {
+// readConsole();
+// Thread.Sleep(consoleReadIntervalMilliseconds);
+// }
+// }
+// catch (ThreadAbortException) { } // Expected on thread shutdown
+// }
+
+// private static void readConsole()
+// {
+// try
+// {
+
+// // Lock so we don't collide with any startup or shutdown
+// lock (Program.AppList)
+// {
+// foreach (AppExecutor app in new ArrayList(Program.AppList.Values))
+// {
+// try
+// {
+// string txt = app.GetStdOutput();
+// // Fire event with received text
+// if (!string.IsNullOrEmpty(txt))
+// Program.FireAppConsoleOutput(app.File, txt);
+// }
+// catch (Exception ex)
+// {
+// m_log.ErrorFormat("Exception reading standard output from \"{0}\": {1}", app.File, ex.ToString());
+// }
+// try
+// {
+// string txt = app.GetStdError();
+// // Fire event with received text
+// if (!string.IsNullOrEmpty(txt))
+// Program.FireAppConsoleOutput(app.File, txt);
+// }
+// catch (Exception ex)
+// {
+// m_log.ErrorFormat("Exception reading standard error from \"{0}\": {1}", app.File, ex.ToString());
+// }
+// }
+// }
+// }
+// finally
+// {
+// }
+// }
+// #endregion
+
+
+// #region Read stdOutput and stdError
+// public string GetStdOutput()
+// {
+// return GetStreamData(Output);
+// }
+// public string GetStdError()
+// {
+// return GetStreamData(Error);
+// }
+
+// private static int num = 0;
+// // Gets any data from StreamReader object, non-blocking
+// private static string GetStreamData(StreamReader sr)
+// {
+// // Can't read?
+// if (!sr.BaseStream.CanRead)
+// return "";
+
+// // Read a chunk
+// //sr.BaseStream.ReadTimeout = 100;
+// byte[] buffer = new byte[4096];
+// num++;
+// Trace.WriteLine("Start read " + num);
+// int len = sr.BaseStream.Read(buffer, 0, buffer.Length);
+// Trace.WriteLine("End read " + num + ": " + len);
+
+// // Nothing?
+// if (len <= 0)
+// return "";
+
+// // Return data
+// StringBuilder sb = new StringBuilder();
+// sb.Append(System.Text.Encoding.ASCII.GetString(buffer, 0, len));
+
+// //while (sr.Peek() >= 0)
+// //{
+// // sb.Append(Convert.ToChar(sr.Read()));
+// //}
+
+// return sb.ToString();
+// }
+// #endregion
+
+
+// }
+//}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs b/OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs
new file mode 100644
index 0000000..aca36e9
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.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;
+
+namespace OpenSim.GridLaunch
+{
+ internal class CommandProcessor
+ {
+ public delegate void CommandLineDelegate(string application, string command, string arguments);
+ public event CommandLineDelegate CommandLine;
+
+ public bool IsCommand(string cmd)
+ {
+ if (cmd.Trim().StartsWith("/"))
+ return true;
+ return false;
+ }
+
+ public static readonly char[] cmdSplit = new char[] { ' ' };
+ public bool Process(string app, string command)
+ {
+ // Only process commands
+ if (!IsCommand(command))
+ return false;
+
+ // Remove first /
+ command = command.Trim().Remove(0, 1);
+
+ // Split cmd and args
+ string[] carg = command.Split(cmdSplit, 2);
+ if (carg.Length == 0)
+ return true;
+
+ string cmd = carg[0]; // Command
+ string arg = "";
+ if (carg.Length > 1)
+ arg = carg[1]; // Arguments
+
+ // Do we have a command?
+ if (string.IsNullOrEmpty(cmd))
+ return true;
+
+ // All is fine
+ if (CommandLine != null)
+ CommandLine(app, cmd, arg);
+ return true;
+ }
+
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs
new file mode 100644
index 0000000..a04c9cf
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs
@@ -0,0 +1,122 @@
+/*
+ * 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.GridLaunch.GUI.Console
+{
+ internal class Console: IGUI
+ {
+ private List Apps = new List();
+ public Console ()
+ {
+ Program.AppCreated += Program_AppCreated;
+ Program.AppRemoved += Program_AppRemoved;
+ Program.AppConsoleOutput += Program_AppConsoleOutput;
+ Program.Command.CommandLine += Command_CommandLine;
+ }
+
+ private string currentApp = "";
+ private bool quitTyped = false;
+ void Command_CommandLine(string application, string command, string arguments)
+ {
+
+ // If command is a number then someone might be trying to change console: /1, /2, etc.
+ int currentAppNum = 0;
+ if (int.TryParse(command, out currentAppNum))
+ if (currentAppNum <= Apps.Count)
+ {
+ currentApp = Apps[currentAppNum - 1];
+ System.Console.WriteLine("Changed console to app: " + currentApp);
+ } else
+ System.Console.WriteLine("Unable to change to app number: " + currentAppNum);
+
+ // Has user typed quit?
+ if (command.ToLower() == "quit")
+ quitTyped = true;
+
+ // Has user typed /list?
+ if (command.ToLower() == "list")
+ {
+ System.Console.WriteLine("/0 Log console");
+ for (int i = 1; i <= Apps.Count; i++)
+ {
+ System.Console.WriteLine(string.Format("/{0} {1}", i, Apps[i - 1]));
+ }
+ }
+ }
+ #region Module Start / Stop
+ public void StartGUI()
+ {
+ // Console start
+ System.Console.WriteLine("Console GUI");
+ System.Console.WriteLine("Use commands /0, /1, /2, etc to switch between applications.");
+ System.Console.WriteLine("Type /list for list of applications.");
+ System.Console.WriteLine("Anything that doesn't start with a / will be sent to selected application");
+ System.Console.WriteLine("type /quit to exit");
+
+
+ while (quitTyped == false)
+ {
+ string line = System.Console.ReadLine().TrimEnd("\r\n".ToCharArray());
+ Program.Write(currentApp, line);
+ }
+ // We are done
+ System.Console.WriteLine("Console exit.");
+ }
+
+ public void StopGUI()
+ {
+ // Console stop
+ }
+ #endregion
+
+ #region GridLaunch Events
+ void Program_AppCreated(string App)
+ {
+ System.Console.WriteLine("Started: " + App);
+ if (!Apps.Contains(App))
+ Apps.Add(App);
+ }
+
+ void Program_AppRemoved(string App)
+ {
+ System.Console.WriteLine("Stopped: " + App);
+ if (Apps.Contains(App))
+ Apps.Remove(App);
+ }
+
+ void Program_AppConsoleOutput(string App, string Text)
+ {
+ System.Console.Write(App + ": " + Text);
+ }
+ #endregion
+
+
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs
new file mode 100644
index 0000000..45d8af7
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace OpenSim.GridLaunch.GUI
+{
+ public interface IGUI
+ {
+ void StartGUI();
+ void StopGUI();
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs
new file mode 100644
index 0000000..19b27e4
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs
@@ -0,0 +1,113 @@
+/*
+ * 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.Net.Sockets;
+using System.Text;
+using System.Text.RegularExpressions;
+
+namespace OpenSim.GridLaunch.GUI.Network
+{
+ internal class Client
+ {
+ public TcpClient tcpClient;
+ private byte[] readBuffer = new byte[4096];
+ private byte[] writeBuffer;
+ private TCPD tcp;
+ private string inputData = "";
+ private object inputDataLock = new object();
+ public Client(TCPD _tcp, TcpClient Client)
+ {
+ tcp = _tcp;
+ tcpClient = Client;
+ asyncReadStart();
+ Write("OpenSim TCP Console GUI");
+ Write("Use commands /0, /1, /2, etc to switch between applications.");
+ Write("Type /list for list of applications.");
+ Write("Anything that doesn't start with a / will be sent to selected application");
+ Write("type /quit to exit");
+
+ }
+
+ private void asyncReadStart()
+ {
+ tcpClient.GetStream().BeginRead(readBuffer, 0, readBuffer.Length, asyncReadCallBack, null);
+ }
+
+ //private Regex LineExtractor = new Regex("^(.*)$")
+ private void asyncReadCallBack(IAsyncResult ar)
+ {
+ try
+ {
+ // Read data
+ int len = tcpClient.GetStream().EndRead(ar);
+
+ // Send it to app
+ string newData = System.Text.Encoding.ASCII.GetString(readBuffer, 0, len);
+ //lock (inputDataLock)
+ //{
+ inputData += newData;
+ if (newData.Contains("\n"))
+ SendInputLines();
+ //}
+
+ // Start it again
+ asyncReadStart();
+ }
+ catch
+ {
+ // TODO: Remove client when we get exception
+ // Temp patch: if exception we don't call asyncReadStart()
+ }
+ }
+
+ private void SendInputLines()
+ {
+ StringBuilder line = new StringBuilder();
+ foreach (char c in inputData)
+ {
+ if (c == 13)
+ continue;
+ if (c == 10)
+ {
+ Program.WriteLine(tcp.currentApp, line.ToString());
+ line = new StringBuilder();
+ continue;
+ }
+ line.Append(c);
+ }
+ // We'll keep whatever is left over
+ inputData = line.ToString();
+ }
+
+ public void Write(string Text)
+ {
+ writeBuffer = Encoding.ASCII.GetBytes(Text);
+ tcpClient.GetStream().Write(writeBuffer, 0, writeBuffer.Length);
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs
new file mode 100644
index 0000000..5524e21
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs
@@ -0,0 +1,231 @@
+/*
+ * 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;
+using System.Collections.Generic;
+using System.Net;
+using System.Net.Sockets;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+using log4net;
+
+namespace OpenSim.GridLaunch.GUI.Network
+{
+ public class TCPD : IGUI, IDisposable
+ {
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ private List Clients = new List();
+
+ private readonly int defaultPort = 7998;
+ private TcpListener tcpListener;
+ private Thread listenThread;
+ private Thread clientThread;
+
+
+ private List Apps = new List();
+ internal string currentApp = "";
+ private bool quitTyped = false;
+
+ public TCPD()
+ {
+ Program.AppCreated += Program_AppCreated;
+ Program.AppRemoved += Program_AppRemoved;
+ Program.AppConsoleOutput += Program_AppConsoleOutput;
+ Program.Command.CommandLine += Command_CommandLine;
+
+ }
+
+ ~TCPD()
+ {
+ Dispose();
+ }
+ private bool isDisposed = false;
+ ///
+ ///Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+ ///
+ ///2
+ public void Dispose()
+ {
+ if (isDisposed)
+ return;
+ isDisposed = true;
+ tcpd_Stop();
+ }
+
+ public void StartGUI()
+ {
+ // We are starting
+ tcpd_Start();
+ }
+
+ public void StopGUI()
+ {
+ // We are stopping
+ tcpd_Stop();
+ }
+
+
+ #region GridLaunch Events
+ private void Command_CommandLine(string application, string command, string arguments)
+ {
+ // If command is a number then someone might be trying to change console: /1, /2, etc.
+ int currentAppNum = 0;
+ if (int.TryParse(command, out currentAppNum))
+ if (currentAppNum <= Apps.Count)
+ {
+ currentApp = Apps[currentAppNum - 1];
+ TCPWriteToAll("Changed console to app: " + currentApp + Environment.NewLine);
+ }
+ else
+ TCPWriteToAll("Unable to change to app number: " + currentAppNum + Environment.NewLine);
+
+ // Has user typed quit?
+ if (command.ToLower() == "quit")
+ quitTyped = true;
+
+ // Has user typed /list?
+ if (command.ToLower() == "list")
+ {
+ TCPWriteToAll("/0 Log console");
+ for (int i = 1; i <= Apps.Count; i++)
+ {
+ TCPWriteToAll(string.Format("/{0} {1}", i, Apps[i - 1]));
+ }
+ }
+
+ }
+
+ void Program_AppCreated(string App)
+ {
+ TCPWriteToAll("Started: " + App);
+ if (!Apps.Contains(App))
+ Apps.Add(App);
+ }
+
+ void Program_AppRemoved(string App)
+ {
+ TCPWriteToAll("Stopped: " + App);
+ if (Apps.Contains(App))
+ Apps.Remove(App);
+ }
+
+ private void Program_AppConsoleOutput(string App, string Text)
+ {
+ TCPWriteToAll(App, Text);
+ }
+
+ #endregion
+
+ private void tcpd_Start()
+ {
+ listenThread = new Thread(new ThreadStart(ListenForClients));
+ listenThread.Name = "TCPDThread";
+ listenThread.IsBackground = true;
+ listenThread.Start();
+
+ while (!quitTyped)
+ {
+ Thread.Sleep(500);
+ }
+
+ //clientThread = new Thread(new ThreadStart(ProcessClients));
+ //clientThread.Name = "TCPClientThread";
+ //clientThread.IsBackground = true;
+ ////clientThread.Start();
+
+ }
+ private void tcpd_Stop()
+ {
+ StopThread(listenThread);
+ StopThread(clientThread);
+ }
+ private void ListenForClients()
+ {
+ int Port = 0;
+ int.TryParse(Program.Settings["TCPPort"], out Port);
+ if (Port < 1)
+ Port = defaultPort;
+
+ m_log.Info("Starting TCP Server on port " + Port);
+ this.tcpListener = new TcpListener(IPAddress.Any, Port);
+
+ this.tcpListener.Start();
+
+ while (true)
+ {
+ // Blocks until a client has connected to the server
+ TcpClient tcpClient = this.tcpListener.AcceptTcpClient();
+ Client client = new Client(this, tcpClient);
+
+ lock (Clients)
+ {
+ Clients.Add(client);
+ }
+ System.Threading.Thread.Sleep(500);
+ }
+ }
+
+ private static void StopThread(Thread t)
+ {
+ if (t != null)
+ {
+ m_log.Debug("Stopping thread " + t.Name);
+ try
+ {
+ if (t.IsAlive)
+ t.Abort();
+ t.Join(2000);
+ t = null;
+ }
+ catch (Exception ex)
+ {
+ m_log.Error("Exception stopping thread: " + ex.ToString());
+ }
+ }
+ }
+
+ private void TCPWriteToAll(string app, string text)
+ {
+ TCPWriteToAll(text);
+ }
+ private void TCPWriteToAll(string text)
+ {
+ foreach (Client c in new ArrayList(Clients))
+ {
+ try
+ {
+ c.Write(text);
+ } catch (Exception ex)
+ {
+ m_log.Error("Exception writing to TCP: " + ex.ToString());
+ }
+ }
+ }
+
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs
new file mode 100644
index 0000000..c6fd501
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs
@@ -0,0 +1,65 @@
+/*
+ * 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.ServiceProcess;
+using System.Text;
+using OpenSim.GridLaunch.GUI;
+
+namespace OpenSim.GridLaunch
+{
+ internal class Service: ServiceBase, IGUI
+ {
+ private ServiceBase[] ServicesToRun;
+ public Service()
+ {
+ ServicesToRun = new ServiceBase[] {this};
+ }
+
+ public void StartGUI()
+ {
+ ServiceBase.Run(ServicesToRun);
+ }
+
+ public void StopGUI()
+ {
+ // Nothing
+ }
+
+ protected override void OnStart(string[] args)
+ {
+ // Command line arguments override settings
+ Program.Settings.ParseCommandArguments(args);
+ }
+
+ protected override void OnStop()
+ {
+ Program.Shutdown();
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Bottom Border.png b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Bottom Border.png
new file mode 100644
index 0000000..b3594b6
Binary files /dev/null and b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Bottom Border.png differ
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Right Border.png b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Right Border.png
new file mode 100644
index 0000000..8b03281
Binary files /dev/null and b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Right Border.png differ
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png
new file mode 100644
index 0000000..257ca39
Binary files /dev/null and b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png differ
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.Designer.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.Designer.cs
new file mode 100644
index 0000000..1498791
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.Designer.cs
@@ -0,0 +1,224 @@
+namespace OpenSim.GridLaunch.GUI.WinForm
+{
+ partial class ProcessPanel
+ {
+ ///
+ /// 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(ProcessPanel));
+ this.tabControl1 = new System.Windows.Forms.TabControl();
+ this.tabLogs = new System.Windows.Forms.TabPage();
+ this.btnShutdown = new System.Windows.Forms.Button();
+ this.pictureBox2 = new System.Windows.Forms.PictureBox();
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.pictureBox3 = new System.Windows.Forms.PictureBox();
+ this.tabSettings = new System.Windows.Forms.TabPage();
+ this.cblStartupComponents = new System.Windows.Forms.CheckedListBox();
+ this.gbStartupComponents = new System.Windows.Forms.GroupBox();
+ this.btnSave = new System.Windows.Forms.Button();
+ this.ucLogWindow1 = new OpenSim.GridLaunch.GUI.WinForm.ucLogWindow();
+ this.label1 = new System.Windows.Forms.Label();
+ this.tabControl1.SuspendLayout();
+ this.tabLogs.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
+ this.tabSettings.SuspendLayout();
+ this.gbStartupComponents.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // tabControl1
+ //
+ this.tabControl1.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.tabControl1.Controls.Add(this.tabSettings);
+ this.tabControl1.Controls.Add(this.tabLogs);
+ this.tabControl1.Location = new System.Drawing.Point(-1, 123);
+ this.tabControl1.Name = "tabControl1";
+ this.tabControl1.SelectedIndex = 0;
+ this.tabControl1.Size = new System.Drawing.Size(632, 275);
+ this.tabControl1.TabIndex = 0;
+ //
+ // tabLogs
+ //
+ this.tabLogs.Controls.Add(this.ucLogWindow1);
+ this.tabLogs.Location = new System.Drawing.Point(4, 22);
+ this.tabLogs.Name = "tabLogs";
+ this.tabLogs.Padding = new System.Windows.Forms.Padding(3);
+ this.tabLogs.Size = new System.Drawing.Size(624, 249);
+ this.tabLogs.TabIndex = 0;
+ this.tabLogs.Text = "Logs";
+ this.tabLogs.UseVisualStyleBackColor = true;
+ //
+ // btnShutdown
+ //
+ this.btnShutdown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnShutdown.Location = new System.Drawing.Point(542, 400);
+ this.btnShutdown.Name = "btnShutdown";
+ this.btnShutdown.Size = new System.Drawing.Size(75, 23);
+ this.btnShutdown.TabIndex = 1;
+ this.btnShutdown.Text = "Shutdown";
+ this.btnShutdown.UseVisualStyleBackColor = true;
+ this.btnShutdown.Click += new System.EventHandler(this.btnShutdown_Click);
+ //
+ // pictureBox2
+ //
+ this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
+ this.pictureBox2.Location = new System.Drawing.Point(585, -1);
+ this.pictureBox2.Name = "pictureBox2";
+ this.pictureBox2.Size = new System.Drawing.Size(46, 124);
+ this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pictureBox2.TabIndex = 3;
+ this.pictureBox2.TabStop = false;
+ //
+ // pictureBox1
+ //
+ this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
+ this.pictureBox1.Location = new System.Drawing.Point(-1, -1);
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.Size = new System.Drawing.Size(586, 124);
+ this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
+ this.pictureBox1.TabIndex = 2;
+ this.pictureBox1.TabStop = false;
+ //
+ // pictureBox3
+ //
+ this.pictureBox3.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.pictureBox3.Image = global::OpenSim.GridLaunch.Properties.Resources.OpenSim_Bottom_Border;
+ this.pictureBox3.Location = new System.Drawing.Point(-1, 120);
+ this.pictureBox3.Name = "pictureBox3";
+ this.pictureBox3.Size = new System.Drawing.Size(632, 310);
+ this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pictureBox3.TabIndex = 4;
+ this.pictureBox3.TabStop = false;
+ //
+ // tabSettings
+ //
+ this.tabSettings.Controls.Add(this.label1);
+ this.tabSettings.Controls.Add(this.btnSave);
+ this.tabSettings.Controls.Add(this.gbStartupComponents);
+ this.tabSettings.Location = new System.Drawing.Point(4, 22);
+ this.tabSettings.Name = "tabSettings";
+ this.tabSettings.Padding = new System.Windows.Forms.Padding(3);
+ this.tabSettings.Size = new System.Drawing.Size(624, 249);
+ this.tabSettings.TabIndex = 1;
+ this.tabSettings.Text = "Settings";
+ this.tabSettings.UseVisualStyleBackColor = true;
+ //
+ // cblStartupComponents
+ //
+ this.cblStartupComponents.CheckOnClick = true;
+ this.cblStartupComponents.FormattingEnabled = true;
+ this.cblStartupComponents.Location = new System.Drawing.Point(6, 19);
+ this.cblStartupComponents.Name = "cblStartupComponents";
+ this.cblStartupComponents.Size = new System.Drawing.Size(202, 109);
+ this.cblStartupComponents.TabIndex = 0;
+ //
+ // gbStartupComponents
+ //
+ this.gbStartupComponents.Controls.Add(this.cblStartupComponents);
+ this.gbStartupComponents.Location = new System.Drawing.Point(9, 6);
+ this.gbStartupComponents.Name = "gbStartupComponents";
+ this.gbStartupComponents.Size = new System.Drawing.Size(214, 136);
+ this.gbStartupComponents.TabIndex = 1;
+ this.gbStartupComponents.TabStop = false;
+ this.gbStartupComponents.Text = "Startup components";
+ //
+ // btnSave
+ //
+ this.btnSave.Location = new System.Drawing.Point(9, 148);
+ this.btnSave.Name = "btnSave";
+ this.btnSave.Size = new System.Drawing.Size(92, 23);
+ this.btnSave.TabIndex = 2;
+ this.btnSave.Text = "Save settings";
+ this.btnSave.UseVisualStyleBackColor = true;
+ this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
+ //
+ // ucLogWindow1
+ //
+ this.ucLogWindow1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.ucLogWindow1.Location = new System.Drawing.Point(3, 3);
+ this.ucLogWindow1.Name = "ucLogWindow1";
+ this.ucLogWindow1.Size = new System.Drawing.Size(618, 243);
+ this.ucLogWindow1.TabIndex = 0;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(108, 149);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(259, 13);
+ this.label1.TabIndex = 3;
+ this.label1.Text = "* You have to restart app before changes take effect.";
+ //
+ // ProcessPanel
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(629, 428);
+ this.Controls.Add(this.pictureBox2);
+ this.Controls.Add(this.pictureBox1);
+ this.Controls.Add(this.btnShutdown);
+ this.Controls.Add(this.tabControl1);
+ this.Controls.Add(this.pictureBox3);
+ this.Name = "ProcessPanel";
+ this.Text = "OpenSim GUI alpha";
+ this.Load += new System.EventHandler(this.ProcessPanel_Load);
+ this.tabControl1.ResumeLayout(false);
+ this.tabLogs.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
+ this.tabSettings.ResumeLayout(false);
+ this.tabSettings.PerformLayout();
+ this.gbStartupComponents.ResumeLayout(false);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TabControl tabControl1;
+ private System.Windows.Forms.TabPage tabLogs;
+ private System.Windows.Forms.Button btnShutdown;
+ private ucLogWindow ucLogWindow1;
+ private System.Windows.Forms.PictureBox pictureBox1;
+ private System.Windows.Forms.PictureBox pictureBox2;
+ private System.Windows.Forms.PictureBox pictureBox3;
+ private System.Windows.Forms.TabPage tabSettings;
+ private System.Windows.Forms.GroupBox gbStartupComponents;
+ private System.Windows.Forms.CheckedListBox cblStartupComponents;
+ private System.Windows.Forms.Button btnSave;
+ private System.Windows.Forms.Label label1;
+
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
new file mode 100644
index 0000000..dbf97d6
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
@@ -0,0 +1,288 @@
+/*
+ * 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.Diagnostics;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+
+namespace OpenSim.GridLaunch.GUI.WinForm
+{
+ public partial class ProcessPanel : Form, IGUI
+ {
+ public ProcessPanel()
+ {
+ Application.EnableVisualStyles();
+ //Application.SetCompatibleTextRenderingDefault(false);
+
+ InitializeComponent();
+ Program.AppCreated += Program_AppCreated;
+ Program.AppRemoved += Program_AppRemoved;
+ Program.AppConsoleOutput += Program_AppConsoleOutput;
+ Program.AppConsoleError += Program_AppConsoleError;
+ log4netAppender.LogLine += log4netAppender_LogLine;
+ }
+
+ #region Module Start / Stop
+ public void StartGUI()
+ {
+ Application.Run(this);
+ }
+
+ public void StopGUI()
+ {
+ this.Close();
+ }
+ #endregion
+
+ #region Main log tab
+ void log4netAppender_LogLine(Color color, string LogText)
+ {
+ ucLogWindow1.Write(color, LogText);
+ }
+ #endregion
+
+ #region Form events
+ private void btnShutdown_Click(object sender, EventArgs e)
+ {
+ Program.Shutdown();
+ }
+ #endregion
+
+ #region GridLaunch Events
+ public delegate void Program_AppCreatedDelegate(string App);
+ public void Program_AppCreated(string App)
+ {
+ if (this.InvokeRequired) {
+ this.Invoke(new Program_AppCreatedDelegate(Program_AppCreated), App);
+ return;
+ }
+
+ Trace.WriteLine("Start: " + App);
+
+ // Do we already have app window for that app?
+ if (AppWindow_Get(App) != null)
+ return;
+
+ // New log window
+ ucAppWindow aw = new ucAppWindow();
+ // New tab page
+ TabPage tp = new TabPage(App);
+ // Add log window into tab page
+ tp.Controls.Add(aw);
+ // Add tab page into tab control
+ tabControl1.TabPages.Add(tp);
+ // Add it all to our internal list
+ AppWindow_Add(App, aw);
+ // Hook up events
+ aw.LineEntered += AppWindow_LineEntered;
+
+ // Fill log window fully inside tab page
+ aw.Dock = DockStyle.Fill;
+ }
+
+
+ public delegate void Program_AppRemovedDelegate(string App);
+ public void Program_AppRemoved(string App)
+ {
+ if (this.InvokeRequired) {
+ this.Invoke(new Program_AppRemovedDelegate(Program_AppRemoved), App);
+ return;
+ }
+
+ Trace.WriteLine("Stop: " + App);
+
+ // Get app window
+ ucAppWindow aw = AppWindow_Get(App);
+ if (aw == null)
+ return;
+
+ // Get its tab page
+ TabPage tp = aw.Parent as TabPage;
+
+ if (tp != null)
+ {
+ // Remove tab page from tab control
+ tabControl1.TabPages.Remove(tp);
+ // Remove app window from tab
+ tp.Controls.Remove(aw);
+ }
+
+ // Dispose of app window
+ aw.Dispose();
+
+ // Dispose of tab page
+ if (tp != null)
+ tp.Dispose();
+
+ // Remove from our internal list
+ AppWindow_Remove(App);
+ }
+
+
+ public delegate void Program_AppConsoleOutputDelegate(string App, string LogText);
+ void Program_AppConsoleOutput(string App, string LogText)
+ {
+ if (this.InvokeRequired)
+ {
+ this.Invoke(new Program_AppConsoleOutputDelegate(Program_AppConsoleOutput), App, LogText);
+ return;
+ }
+
+ // Get app window
+ ucAppWindow aw = AppWindow_Get(App);
+ // Write text to it
+ if (aw != null)
+ aw.Write(System.Drawing.Color.Black, LogText);
+ }
+
+ public delegate void Program_AppConsoleErrorDelegate(string App, string LogText);
+ void Program_AppConsoleError(string App, string LogText)
+ {
+ if (this.InvokeRequired) {
+ this.Invoke(new Program_AppConsoleErrorDelegate(Program_AppConsoleError), App, LogText);
+ return;
+ }
+
+ // Get app window
+ ucAppWindow aw = AppWindow_Get(App);
+ // Write text to it
+ if (aw != null)
+ aw.Write(System.Drawing.Color.Red, LogText);
+
+ }
+ #endregion
+
+ #region App Window events
+ private void AppWindow_LineEntered(ucAppWindow AppWindow, string LogText)
+ {
+ Program.WriteLine(AppWindow_Get(AppWindow), LogText);
+ }
+ #endregion
+
+ private void ProcessPanel_Load(object sender, EventArgs e)
+ {
+ string[] arr = new string[Program.Settings.Components.Keys.Count];
+ Program.Settings.Components.Keys.CopyTo(arr, 0);
+ cblStartupComponents.Items.AddRange(arr);
+
+ // Now correct all check states
+ for (int i = 0; i < cblStartupComponents.Items.Count; i++ )
+ {
+ string _name = cblStartupComponents.Items[i] as string;
+ bool _checked = Program.Settings.Components[_name];
+
+ cblStartupComponents.SetItemChecked(i, _checked);
+ }
+
+
+ }
+
+
+
+
+ #region Internal App Window list and functions
+ private Dictionary _appWindows = new Dictionary();
+ private Dictionary _appWindows_rev = new Dictionary();
+ private void AppWindow_Add(string AppWindowName, ucAppWindow AppWindow)
+ {
+ lock (_appWindows)
+ {
+ _appWindows.Add(AppWindowName, AppWindow);
+ _appWindows_rev.Add(AppWindow, AppWindowName);
+ // Hook events
+ AppWindow.LineEntered += AppWindow_LineEntered;
+ }
+ }
+ private void AppWindow_Remove(ucAppWindow AppWindow)
+ {
+ lock (_appWindows)
+ {
+ if (_appWindows_rev.ContainsKey(AppWindow))
+ {
+ // Unhook events
+ AppWindow.LineEntered -= AppWindow_LineEntered;
+ // Delete from list
+ string name = _appWindows_rev[AppWindow];
+ _appWindows.Remove(name);
+ _appWindows_rev.Remove(AppWindow);
+ }
+ }
+ }
+ private void AppWindow_Remove(string AppWindowName)
+ {
+ lock (_appWindows)
+ {
+ if (_appWindows.ContainsKey(AppWindowName))
+ {
+ ucAppWindow AppWindow = _appWindows[AppWindowName];
+ // Unhook events
+ AppWindow.LineEntered -= AppWindow_LineEntered;
+ // Delete from list
+ _appWindows.Remove(AppWindowName);
+ _appWindows_rev.Remove(AppWindow);
+ }
+ }
+ }
+ private string AppWindow_Get(ucAppWindow AppWindow)
+ {
+ lock (_appWindows)
+ {
+ if (_appWindows_rev.ContainsKey(AppWindow))
+ return _appWindows_rev[AppWindow];
+ }
+ return null;
+ }
+ private ucAppWindow AppWindow_Get(string AppWindowName)
+ {
+ lock (_appWindows)
+ {
+ if (_appWindows.ContainsKey(AppWindowName))
+ return _appWindows[AppWindowName];
+ }
+ return null;
+ }
+ #endregion
+
+ private void btnSave_Click(object sender, EventArgs e)
+ {
+ Program.Settings.Components.Clear();
+ for (int i = 0; i < cblStartupComponents.Items.Count; i++)
+ {
+ string _name = cblStartupComponents.Items[i] as string;
+ bool _checked = cblStartupComponents.GetItemChecked(i);
+
+ Program.Settings.Components.Add(_name, _checked);
+ Program.Settings.SaveConfig();
+ }
+ }
+
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.resx b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.resx
new file mode 100644
index 0000000..361d658
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.resx
@@ -0,0 +1,882 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAAAEAAAB8CAIAAAAny03BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAOpgAA
+ DqYBh9ypbwAAAYpJREFUKFOV0fkrH3AYwPG3Y84NW2xzj76btomJHE20NUcpi9DKUlt+0i6EjbnmiOWY
+ ZTKSo69YtolNRHOEYWsIK8sksiZZU5Ompo8n379gP7x63s/z+fEDdz7w3+4Oondv6JD+/WH0H4xgkDx6
+ yDBlDMPUcY6kfcQofQKjjEmMH05h8ugTppmfMc36gtnjacyzZziaM8uxvDks8uexfLKAVcFXjhctcqL4
+ G9YlS9iUfufk02VOla9wumIV28o17KvWcXj+A8fqnzi92MC5ZhOX2i1cX/5CU/8bTcM25xr/4Na0w/mW
+ XS5q/+LeuodH2z882ve51KHweq3wfqvw6VT4din83ykC3isu9yoC+xRB/Qq7bHDIBfs8sJPpWABOxXIr
+ lFsRuJaJCtA8gzPibDVcqAE34VknXStv0n7N0rJ7N0m3QIAWrrZBYCtcewVXRLAIeQMRnXKTGdmtE9YF
+ 0T0QLh0lM6YProu4fgjthRsDcFO+79YQJIhY6fhBSByB26M6SeM6idIJwxwAjlSW4/2by3sAAAAASUVO
+ RK5CYII=
+
+
+
+
+ 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
+ OxA5OCbeDtx9K3DPLXK640Zg0m2SxhFsyEF63x2SBmfMDVIQl9RsuASBrCx4dt0MSL4dkHgrYNdNUvWO
+ m/6xN/ygz64bvjtv+MTf9Iq76Rl/02PnDbfNV12h/7orTpuuOq5ttlt/2WZlk/W6ZstVTebRTcoVjWZR
+ jfLIepNFdUaL66QLayXL6g1mVIvn1ujPrhYtqhVNuSicfUk48YLOrIuC6RcF484LJp7nj0WIRkELIAeE
+ mH2JNwYB03nejIskjfwhQBp6aTgFnvHnyKXJNAFO8IymObiE04kI+3BHjeYgDTkzL6lEAR0hB/lgQ3Gk
+ cUQaVSCBq+ojCk6hmUwZJFgaRQi40iMYUAvTQa0Ypz9nfwwVbvxw8/df6n9482qAbcLZNboTLogmXxLN
+ rtZfWi+edslgYZ1kUZ00ssF4Wo0JQC6q0XRFo2J1szK62WLLVQpyV222XrXbcMVh61XHbdec1lx22XXD
+ Jfa6647rbvE33Xfc8Nh23XPnTc/Y616brgFRvHfd9N59E+jik3jbZ8cNH6S3XScUd9Nn1w2fPTd9Ym+Q
+ NEVHkgaBB8e9t0gOOHfd9Nl+nZxGX1FdAlyxq6At1wgPchJueW+5huq8dt7wggJrrwJ0AWbu26+7xV53
+ 236d6em8/Zrj9msO6y/bbbpiu/GKTWSj1eYrlmuaCbCtazZb0QhQl6H5C2ql06oNF9dJFtSJ59WKF9Tq
+ LakjSwEYbfx54bjzOjMuCaZcEMy8JJhwgT/1IsGVaQAebDCep6hDAQn5I8/yJlEIwWk/7EDSSwyuplwk
+ NBx3wiiezakmzMgBD44RuE+GSAvxH6I3ygkGAnKXyBH8uARCceQjAQWQABvk44iyuIR8Vgu7ikykUQur
+ CEIIWNJMcKIWKM/pz9mfGz/c/P1X+x/e/DodeOq5NcL5tboL60RL6vUW1ukvqhMvbTCYVC1ZUi9d3mC0
+ pM5kaYNsSb18Xj0CGsXGK8o1zRZrL1tGN1mtabbZeNVm4xWAhN3mq/ZAuw1XHLdfd9py1WkHQRGXXTdd
+ tl1z2XnDJeY6AT+EehuvusbddN12jdDWa67br7nuvEmOSG++5hpzzXXXTYSDrltoGoRM5IAZxVEWzLgK
+ fpazm57uuOG6E3STnMai3hukxlVXSNUx1503XyH6rL/iGHXZYdMV+5jrdhuv2G64YgPl0YR1pCHmQO6o
+ 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
+
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.Designer.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.Designer.cs
new file mode 100644
index 0000000..1ff7d43
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.Designer.cs
@@ -0,0 +1,72 @@
+namespace OpenSim.GridLaunch.GUI.WinForm
+{
+ partial class ucAppWindow
+ {
+ ///
+ /// 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 Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.ucLogWindow1 = new OpenSim.GridLaunch.GUI.WinForm.ucLogWindow();
+ this.ucInputField1 = new OpenSim.GridLaunch.GUI.WinForm.ucInputField();
+ this.SuspendLayout();
+ //
+ // ucLogWindow1
+ //
+ this.ucLogWindow1.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.ucLogWindow1.Location = new System.Drawing.Point(3, 3);
+ this.ucLogWindow1.Name = "ucLogWindow1";
+ this.ucLogWindow1.Size = new System.Drawing.Size(232, 132);
+ this.ucLogWindow1.TabIndex = 0;
+ //
+ // ucInputField1
+ //
+ this.ucInputField1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.ucInputField1.Location = new System.Drawing.Point(0, 141);
+ this.ucInputField1.Name = "ucInputField1";
+ this.ucInputField1.Size = new System.Drawing.Size(234, 30);
+ this.ucInputField1.TabIndex = 1;
+ //
+ // ucAppWindow
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.ucInputField1);
+ this.Controls.Add(this.ucLogWindow1);
+ this.DoubleBuffered = true;
+ this.Name = "ucAppWindow";
+ this.Size = new System.Drawing.Size(235, 166);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private ucLogWindow ucLogWindow1;
+ private ucInputField ucInputField1;
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs
new file mode 100644
index 0000000..66072dc
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs
@@ -0,0 +1,63 @@
+/*
+ * 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.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+
+namespace OpenSim.GridLaunch.GUI.WinForm
+{
+ public partial class ucAppWindow : UserControl
+ {
+ // Just forwarding from ucInputField1
+ public delegate void LineEnteredDelegate(ucAppWindow AppWindow, string Text);
+ public event LineEnteredDelegate LineEntered;
+
+ public ucAppWindow()
+ {
+ InitializeComponent();
+ ucInputField1.LineEntered += ucInputField1_LineEntered;
+ }
+
+ #region Forward Text Input Event and Log Write Function
+ void ucInputField1_LineEntered(string Text)
+ {
+ if (LineEntered != null)
+ LineEntered(this, Text);
+ }
+
+ public void Write(Color color, string LogText)
+ {
+ ucLogWindow1.Write(color, LogText);
+ }
+ #endregion
+
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.resx b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.resx
new file mode 100644
index 0000000..19dc0dd
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.Designer.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.Designer.cs
new file mode 100644
index 0000000..1eaec69
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.Designer.cs
@@ -0,0 +1,77 @@
+namespace OpenSim.GridLaunch.GUI.WinForm
+{
+ partial class ucInputField
+ {
+ ///
+ /// 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 Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.txtInput = new System.Windows.Forms.TextBox();
+ this.btnSend = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // txtInput
+ //
+ this.txtInput.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.txtInput.Location = new System.Drawing.Point(3, 2);
+ this.txtInput.Name = "txtInput";
+ this.txtInput.Size = new System.Drawing.Size(289, 20);
+ this.txtInput.TabIndex = 0;
+ this.txtInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtInput_KeyPress);
+ //
+ // btnSend
+ //
+ this.btnSend.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnSend.Location = new System.Drawing.Point(295, 0);
+ this.btnSend.Name = "btnSend";
+ this.btnSend.Size = new System.Drawing.Size(75, 23);
+ this.btnSend.TabIndex = 3;
+ this.btnSend.Text = "&Send";
+ this.btnSend.UseVisualStyleBackColor = true;
+ this.btnSend.Click += new System.EventHandler(this.btnSend_Click);
+ //
+ // ucInputField
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.btnSend);
+ this.Controls.Add(this.txtInput);
+ this.Name = "ucInputField";
+ this.Size = new System.Drawing.Size(373, 25);
+ this.Load += new System.EventHandler(this.ucInputField_Load);
+ this.Resize += new System.EventHandler(this.ucInputField_Resize);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox txtInput;
+ private System.Windows.Forms.Button btnSend;
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs
new file mode 100644
index 0000000..5ffa275
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs
@@ -0,0 +1,97 @@
+/*
+ * 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.Diagnostics;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+
+namespace OpenSim.GridLaunch.GUI.WinForm
+{
+ public partial class ucInputField : UserControl
+ {
+ public delegate void LineEnteredDelegate(string Text);
+ public event LineEnteredDelegate LineEntered;
+
+ public List History = new List();
+
+ public ucInputField()
+ {
+ InitializeComponent();
+ }
+
+ private void ucInputField_Load(object sender, EventArgs e)
+ {
+ _resize();
+ }
+
+ private void ucInputField_Resize(object sender, EventArgs e)
+ {
+ _resize();
+ }
+
+ private void _resize()
+ {
+ Height = txtInput.Height + 10;
+ }
+
+ private void btnSend_Click(object sender, EventArgs e)
+ {
+ Send();
+ }
+
+ private void txtInput_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ //Trace.WriteLine("KeyChar: " + ((int)e.KeyChar).ToString());
+ if (e.KeyChar == 13)
+ {
+ e.Handled = true;
+ Send();
+ }
+
+ // TODO: Add arrow up/down history functions
+ }
+
+ private void Send()
+ {
+ // Remove \r\n at end
+ string txt = txtInput.Text.TrimEnd("\r\n".ToCharArray());
+
+ // Fire event
+ if (LineEntered != null)
+ LineEntered(txt);
+
+ // Add to history
+ History.Add(txtInput.Text);
+
+ txtInput.Text = "";
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.resx b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.resx
new file mode 100644
index 0000000..19dc0dd
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.Designer.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.Designer.cs
new file mode 100644
index 0000000..839fe99
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.Designer.cs
@@ -0,0 +1,62 @@
+namespace OpenSim.GridLaunch.GUI.WinForm
+{
+ partial class ucLogWindow
+ {
+ ///
+ /// 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 Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.txtLog = new System.Windows.Forms.TextBox();
+ this.SuspendLayout();
+ //
+ // txtLog
+ //
+ this.txtLog.BackColor = System.Drawing.SystemColors.Window;
+ this.txtLog.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.txtLog.Location = new System.Drawing.Point(0, 0);
+ this.txtLog.Multiline = true;
+ this.txtLog.Name = "txtLog";
+ this.txtLog.ReadOnly = true;
+ this.txtLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtLog.Size = new System.Drawing.Size(150, 150);
+ this.txtLog.TabIndex = 0;
+ this.txtLog.TextChanged += new System.EventHandler(this.txtLog_TextChanged);
+ //
+ // ucLogWindow
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.txtLog);
+ this.Name = "ucLogWindow";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox txtLog;
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs
new file mode 100644
index 0000000..7b35c15
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+
+namespace OpenSim.GridLaunch.GUI.WinForm
+{
+ public partial class ucLogWindow : UserControl
+ {
+ // If text in window is more than this
+ private static readonly int logWindowMaxTextLength = 20000;
+ // Remove this much from start of it
+ private static int logWindowTrunlTextLength = 10000;
+
+ public ucLogWindow()
+ {
+ if (logWindowMaxTextLength < logWindowTrunlTextLength)
+ logWindowTrunlTextLength = logWindowMaxTextLength / 2;
+
+ InitializeComponent();
+ }
+
+ public delegate void textWriteDelegate(Color color, string LogText);
+ public void Write(Color color, string LogText)
+ {
+ // Check if we to pass task on to GUI thread
+ if (this.InvokeRequired)
+ {
+ this.Invoke(new textWriteDelegate(Write), color, LogText);
+ return;
+ }
+ // Append to window
+ try
+ {
+ if (!txtLog.IsDisposed)
+ txtLog.AppendText(LogText);
+ } catch { }
+ }
+
+ private void txtLog_TextChanged(object sender, EventArgs e)
+ {
+ // Go to bottom of window
+ txtLog.ScrollToCaret();
+
+ // Make sure amount of text in window doesn't grow too big
+ if (txtLog.Text.Length > logWindowMaxTextLength)
+ txtLog.Text = txtLog.Text.Remove(0, logWindowTrunlTextLength);
+ }
+
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.resx b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.resx
new file mode 100644
index 0000000..19dc0dd
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.resx
@@ -0,0 +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
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
new file mode 100644
index 0000000..b262dd1
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
@@ -0,0 +1,126 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.30729
+ 2.0
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}
+ Exe
+ Properties
+ OpenSim.GridLaunch
+ OpenSim.GridLaunch
+ v2.0
+ 512
+
+
+ true
+ full
+ false
+ ..\..\..\bin\
+ DEBUG;TRACE
+ prompt
+ 4
+ x86
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+
+
+ Form
+
+
+ ProcessPanel.cs
+
+
+ UserControl
+
+
+ ucAppWindow.cs
+
+
+ UserControl
+
+
+ ucInputField.cs
+
+
+ UserControl
+
+
+ ucLogWindow.cs
+
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+
+ ProcessPanel.cs
+
+
+ ucAppWindow.cs
+
+
+ ucInputField.cs
+
+
+ ucLogWindow.cs
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.ini b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.ini
new file mode 100644
index 0000000..c065898
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.ini
@@ -0,0 +1,3 @@
+GUI=WinForm
+;GUI=TCPD
+;Components=c:\temp\test.bat;true
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.sln b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.sln
new file mode 100644
index 0000000..8f745e1
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.GridLaunch", "OpenSim.GridLaunch.csproj", "{595D67F3-B413-4A43-8568-5B5930E3B31D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Program.cs b/OpenSim/Tools/OpenSim.GridLaunch/Program.cs
new file mode 100644
index 0000000..5a0bb0c
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/Program.cs
@@ -0,0 +1,245 @@
+/*
+ * 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;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Threading;
+using log4net;
+using log4net.Appender;
+using log4net.Repository.Hierarchy;
+using OpenSim.GridLaunch.GUI;
+using OpenSim.GridLaunch.GUI.Network;
+
+namespace OpenSim.GridLaunch
+{
+ class Program
+ {
+ public static readonly string ConfigFile = "OpenSim.GridLaunch.ini";
+ internal static Dictionary AppList = new Dictionary();
+ private static readonly int delayBetweenExecuteSeconds = 10;
+ //private static readonly int consoleReadIntervalMilliseconds = 50;
+ ////private static readonly Timer readTimer = new Timer(readConsole, null, Timeout.Infinite, Timeout.Infinite);
+ //private static Thread timerThread;
+ //private static object timerThreadLock = new object();
+ private static IGUI GUIModule;
+ private static string GUIModuleName = "";
+ public static readonly CommandProcessor Command = new CommandProcessor();
+ public static readonly Settings Settings = new Settings();
+
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
+ public delegate void AppConsoleOutputDelegate(string App, string Text);
+ public static event AppConsoleOutputDelegate AppConsoleOutput;
+ public delegate void AppConsoleErrorDelegate(string App, string Text);
+ public static event AppConsoleErrorDelegate AppConsoleError;
+ public delegate void AppCreatedDelegate(string App);
+ public static event AppCreatedDelegate AppCreated;
+ public delegate void AppRemovedDelegate(string App);
+ public static event AppRemovedDelegate AppRemoved;
+
+ internal static void FireAppConsoleOutput(string App, string Text)
+ {
+ if (AppConsoleOutput != null)
+ AppConsoleOutput(App, Text);
+ }
+ internal static void FireAppConsoleError(string App, string Text)
+ {
+ if (AppConsoleError != null)
+ AppConsoleError(App, Text);
+ }
+
+
+ private static readonly object startStopLock = new object();
+
+ public static string Name { get { return "OpenSim Grid executor"; } }
+
+ #region Start/Shutdown
+ static void Main(string[] args)
+ {
+ log4net.Config.XmlConfigurator.Configure();
+
+ // Startup
+ m_log.Info(Name);
+ m_log.Info(new string('-', Name.Length));
+
+ // Read settings
+ Settings.LoadConfig(ConfigFile);
+ // Command line arguments override settings
+ Settings.ParseCommandArguments(args);
+
+ // Start GUI module
+ StartGUIModule();
+
+ // Start the processes
+ ThreadPool.QueueUserWorkItem(startProcesses);
+
+ // Hand over thread control to whatever GUI module
+ GUIModule.StartGUI();
+
+ // GUI module returned, we are done
+ Shutdown();
+
+ }
+
+ private static void StartGUIModule()
+ {
+ // Create GUI module
+ GUIModuleName = Settings["GUI"];
+
+ switch (GUIModuleName.ToLower())
+ {
+ case "winform":
+ GUIModuleName = "WinForm";
+ GUIModule = new GUI.WinForm.ProcessPanel();
+ break;
+ case "service":
+ GUIModuleName = "Service";
+ GUIModule = new Service();
+ break;
+ case "tcpd":
+ GUIModuleName = "TCPD";
+ GUIModule = new TCPD();
+ break;
+ case "console":
+ default:
+ GUIModuleName = "Console";
+ GUIModule = new GUI.Console.Console();
+ break;
+ }
+ m_log.Info("GUI type: " + GUIModuleName);
+
+ }
+
+ internal static void Shutdown()
+ {
+ // Stop the processes
+ stopProcesses();
+
+ lock (startStopLock)
+ {
+ // Stop GUI module
+ if (GUIModule != null)
+ {
+ GUIModule.StopGUI();
+ GUIModule = null;
+ }
+ }
+ }
+
+ internal static void SafeDisposeOf(object obj)
+ {
+ IDisposable o = obj as IDisposable;
+ try
+ {
+ if (o != null)
+ o.Dispose();
+ }
+ catch { }
+ }
+ #endregion
+
+ #region Start / Stop applications
+ private static void startProcesses(Object stateInfo)
+ {
+ // Stop before starting
+ stopProcesses();
+
+ // Start console read timer
+ //timer_Start();
+
+ // Start the applications
+ foreach (string file in new ArrayList(Settings.Components.Keys))
+ {
+ // Is this file marked for startup?
+ if (Settings.Components[file])
+ {
+ AppExecutor app = new AppExecutor(file);
+ app.Start();
+ AppList.Add(file, app);
+ if (AppCreated != null)
+ AppCreated(app.File);
+ System.Threading.Thread.Sleep(1000*delayBetweenExecuteSeconds);
+ }
+ }
+ }
+
+ private static void stopProcesses()
+ {
+ // Stop timer
+ //timer_Stop();
+
+ // Lock so we don't collide with any timer still executing on AppList
+ lock (AppList)
+ {
+ // Start the applications
+ foreach (AppExecutor app in AppList.Values)
+ {
+ try
+ {
+ m_log.Info("Stopping: " + app.File);
+ app.Stop();
+ }
+ catch (Exception ex)
+ {
+ m_log.ErrorFormat("Exception while stopping \"{0}\": {1}", app.File, ex.ToString());
+ }
+ finally
+ {
+ if (AppRemoved != null)
+ AppRemoved(app.File);
+ app.Dispose();
+ }
+
+ }
+ AppList.Clear();
+ }
+ }
+ #endregion
+
+ public static void Write(string App, string Text)
+ {
+ // Check if it is a commands
+ bool isCommand = Command.Process(App, Text);
+
+ // Write to stdInput of app
+ if (!isCommand && AppList.ContainsKey(App))
+ AppList[App].Write(Text);
+ }
+
+ public static void WriteLine(string App, string Text)
+ {
+ // Check if it is a commands
+ bool isCommand = Command.Process(App, Text);
+
+ // Write to stdInput of app
+ if (!isCommand && AppList.ContainsKey(App))
+ AppList[App].WriteLine(Text);
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..4c300d0
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
@@ -0,0 +1,63 @@
+/*
+ * 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.GridLaunch")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.GridLaunch")]
+[assembly: AssemblyCopyright("Copyright (c) 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.GridLaunch/Properties/Resources.Designer.cs b/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..88b0ceb
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.Designer.cs
@@ -0,0 +1,84 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.3053
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace OpenSim.GridLaunch.Properties {
+ using System;
+
+
+ ///
+ /// 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 (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenSim.GridLaunch.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;
+ }
+ }
+
+ internal static System.Drawing.Bitmap OpenSim {
+ get {
+ object obj = ResourceManager.GetObject("OpenSim", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap OpenSim_Bottom_Border {
+ get {
+ object obj = ResourceManager.GetObject("OpenSim_Bottom_Border", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Bitmap OpenSim_Right_Border {
+ get {
+ object obj = ResourceManager.GetObject("OpenSim_Right_Border", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.resx b/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.resx
new file mode 100644
index 0000000..b82a1fc
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.resx
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+ ..\gui\winform\opensim.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\gui\winform\opensim bottom border.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\gui\winform\opensim right border.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Settings.cs b/OpenSim/Tools/OpenSim.GridLaunch/Settings.cs
new file mode 100644
index 0000000..91353d8
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/Settings.cs
@@ -0,0 +1,181 @@
+/*
+ * 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.Reflection;
+using System.Text;
+using log4net;
+
+namespace OpenSim.GridLaunch
+{
+ internal class Settings
+ {
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ private Dictionary Config = new Dictionary();
+ public Dictionary Components = new Dictionary();
+
+ public static string[] defaultComponents = new string[]
+ {
+ "OpenSim.Grid.UserServer.exe",
+ "OpenSim.Grid.GridServer.exe",
+ "OpenSim.Grid.AssetServer.exe",
+ "OpenSim.Grid.InventoryServer.exe",
+ "OpenSim.Grid.MessagingServer.exe",
+ "OpenSim.32BitLaunch.exe"
+ };
+
+
+ private static readonly char[] confSplit = new char[] { '=' };
+ private static readonly char[] comaSplit = new char[] { ',' };
+ private static readonly char[] colonSplit = new char[] { ';' };
+
+ private string configFile = "";
+
+ public Settings()
+ {
+ }
+ public Settings(string ConfigFile)
+ {
+ LoadConfig(ConfigFile);
+ }
+
+
+ public void LoadConfig(string ConfigFile)
+ {
+ configFile = ConfigFile;
+ m_log.Info("Reading config file: " + ConfigFile);
+ try
+ {
+ // Read config file
+ foreach (string line in System.IO.File.ReadAllLines(ConfigFile))
+ {
+ string[] s = line.Split(confSplit, 2);
+ if (s.Length >= 2)
+ Config.Add(s[0], s[1]);
+ }
+
+ // Process Components section
+ string cmp = Config["Components"];
+ Config.Remove("Components");
+ foreach (string c in cmp.Split(comaSplit))
+ {
+ string[] cs = c.Split(colonSplit);
+ if (cs.Length >= 2)
+ {
+ bool status = false;
+ bool.TryParse(cs[1], out status);
+ Components.Add(cs[0], status);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ m_log.Error("Exception reading config file: " + ex.ToString());
+ }
+ // No components? Add default components
+ if (Components.Count == 0)
+ foreach (string c in defaultComponents)
+ {
+ Components.Add(c, true);
+ }
+ }
+
+ public void SaveConfig(string ConfigFile)
+ {
+ configFile = ConfigFile;
+ SaveConfig();
+ }
+
+ public void SaveConfig()
+ {
+ m_log.Info("Writing config file: " + configFile);
+ try
+ {
+ System.IO.File.WriteAllText(configFile, ToString());
+ }
+ catch (Exception ex)
+ {
+ m_log.Error("Exception writing config file: " + ex.ToString());
+ }
+
+ }
+
+ public new string ToString()
+ {
+ StringBuilder ret = new StringBuilder();
+
+ Dictionary config = new Dictionary(Config);
+
+ // Add Components key
+ StringBuilder _Components = new StringBuilder();
+ foreach (string c in Components.Keys)
+ {
+ if (_Components.Length > 0)
+ _Components.Append(",");
+ _Components.Append(c + ";" + Components[c].ToString());
+ }
+ config["Components"] = _Components.ToString();
+
+ // Make return string
+ foreach (string key in config.Keys)
+ {
+ ret.AppendLine(key + "=" + config[key]);
+ }
+
+ // Return it
+ return ret.ToString();
+ }
+
+ public string this[string Key]
+ {
+ get
+ {
+ if (Config.ContainsKey(Key))
+ return Config[Key];
+ return "";
+ }
+ set { Config[Key] = value; }
+ }
+
+ public void ParseCommandArguments(string[] args)
+ {
+ string key = null;
+ foreach (string a in args)
+ {
+ if (a.StartsWith("--"))
+ key = a.Remove(0, 2);
+ else
+ {
+ if (key != null)
+ Config[key] = a;
+ key = null;
+ }
+ }
+
+ }
+ }
+}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs b/OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs
new file mode 100644
index 0000000..d9bea1a
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs
@@ -0,0 +1,65 @@
+/*
+ * 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.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using log4net.Appender;
+using log4net.Core;
+
+namespace OpenSim.GridLaunch
+{
+ internal class log4netAppender : log4net.Appender.AppenderSkeleton
+ {
+ public delegate void LogLineDelegate(Color color, string Text);
+ public static event LogLineDelegate LogLine;
+ public static readonly Dictionary Level2Color = new Dictionary();
+
+ static log4netAppender()
+ {
+ Level2Color.Add("INFO", Color.Black);
+ Level2Color.Add("DEBUG", Color.Gray);
+ Level2Color.Add("WARN", Color.OrangeRed);
+ Level2Color.Add("ERROR", Color.Red);
+ }
+
+
+ protected override void Append(LoggingEvent loggingEvent)
+ {
+ // Find appropriate color
+ Color color = Color.Black;
+ if (Level2Color.ContainsKey(loggingEvent.Level.Name))
+ color = Level2Color[loggingEvent.Level.Name];
+
+ // Fire event with new log message
+ if (LogLine != null)
+ LogLine(color, loggingEvent.RenderedMessage + System.Environment.NewLine);
+ }
+
+ }
+}
--
cgit v1.1
From 3a4ddfec7984ee281ae4aac9725596f9c98d3d8b Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Sat, 6 Dec 2008 03:54:01 +0000
Subject: Add copyright headers.
---
OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs | 29 ++++++++++++++++++++-
.../OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs | 30 ++++++++++++++++++++--
2 files changed, 56 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs
index 45d8af7..ca1bb30 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs
@@ -1,4 +1,31 @@
-using System;
+/*
+ * 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 OpenSimulator 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;
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs
index 7b35c15..84c0a14 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs
@@ -1,4 +1,31 @@
-using System;
+/*
+ * 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 OpenSimulator 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.Drawing;
@@ -49,6 +76,5 @@ namespace OpenSim.GridLaunch.GUI.WinForm
if (txtLog.Text.Length > logWindowMaxTextLength)
txtLog.Text = txtLog.Text.Remove(0, logWindowTrunlTextLength);
}
-
}
}
--
cgit v1.1
From b4a725ed87e088c0ec06e96c34569159cf3b3931 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Mon, 8 Dec 2008 14:45:40 +0000
Subject: * Killed off OpenSimExport. One project less to maintain.
---
OpenSim/Tools/Export/OpenSimExport.cs | 112 ----------------------------------
1 file changed, 112 deletions(-)
delete mode 100644 OpenSim/Tools/Export/OpenSimExport.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Export/OpenSimExport.cs b/OpenSim/Tools/Export/OpenSimExport.cs
deleted file mode 100644
index 570a855..0000000
--- a/OpenSim/Tools/Export/OpenSimExport.cs
+++ /dev/null
@@ -1,112 +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;
-using System.IO;
-using log4net.Config;
-using Nini.Config;
-using OpenSim;
-using OpenSim.Framework;
-using OpenSim.Framework.Console;
-using OpenSim.Region.Environment;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSimExport
-{
- 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),
- startup.GetString("estate_connection_string", String.Empty)
- );
- }
-
- public static void Main(string[] args)
- {
- 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 static 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(ConfigurationLoader.DefaultConfig());
- config.Merge(configSource);
- }
-
- return config;
- }
- }
-}
--
cgit v1.1
From 54c6a920baa0ef02a9ea09e08cc1effcef3b0a3a Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sat, 7 Feb 2009 12:25:39 +0000
Subject: Replace the console for all OpenSim apps with a new console featuring
command line editing, context sensitive help (press ? at any time), command
line history, a new plugin command system and new appender features thet let
you type while the console is scrolling. Seamlessly integrates the ICommander
interfaces.
---
OpenSim/Tools/pCampBot/BotManager.cs | 85 ++++++++++++++++++++++--------------
1 file changed, 52 insertions(+), 33 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 100f2d4..3b08adc 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -31,6 +31,9 @@ using System.Reflection;
using System.Threading;
using OpenMetaverse;
using log4net;
+using log4net.Appender;
+using log4net.Core;
+using log4net.Repository;
using Nini.Config;
using OpenSim.Framework;
using OpenSim.Framework.Console;
@@ -40,7 +43,7 @@ namespace pCampBot
///
/// Thread/Bot manager for the application
///
- public class BotManager : conscmd_callback
+ public class BotManager
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@@ -59,6 +62,36 @@ namespace pCampBot
{
m_console = CreateConsole();
MainConsole.Instance = m_console;
+
+ // Make log4net see the console
+ //
+ ILoggerRepository repository = LogManager.GetRepository();
+ IAppender[] appenders = repository.GetAppenders();
+ OpenSimAppender consoleAppender = null;
+
+ foreach (IAppender appender in appenders)
+ {
+ if (appender.Name == "Console")
+ {
+ consoleAppender = (OpenSimAppender)appender;
+ consoleAppender.Console = m_console;
+ break;
+ }
+ }
+
+ m_console.Commands.AddCommand("bot", "shutdown",
+ "shutdown",
+ "Gracefully shut down bots", HandleShutdown);
+
+ m_console.Commands.AddCommand("bot", "quit",
+ "quit",
+ "Force quit (DANGEROUS, try shutdown first)",
+ HandleShutdown);
+
+ m_console.Commands.AddCommand("bot", "add bots",
+ "add bots ",
+ "Add more bots", HandleAddBots);
+
m_lBot = new List();
}
@@ -175,45 +208,31 @@ namespace pCampBot
///
protected ConsoleBase CreateConsole()
{
- return new ConsoleBase("Region", this);
+ return new ConsoleBase("Region");
}
- ///
- /// Command runnint tool.. Currently use it to add bots, shutdown and (dangerous)Forcequit
- ///
- ///
- ///
- public void RunCmd(string command, string[] cmdparams)
+ private void HandleShutdown(string module, string[] cmd)
{
- 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;
- Int32.TryParse(cmdparams[0], out newbots);
+ m_console.Warn("BOTMANAGER", "Shutting down bots");
+ doBotShutdown();
+ }
- 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;
- }
+ private void HandleQuit(string module, string[] cmd)
+ {
+ 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);
}
- ///
- /// Required method to implement the conscmd_callback interface
- ///
- /// What to show
- public void Show(string[] showParams)
+ private void HandleAddBots(string module, string[] cmd)
{
+ int newbots = 0;
+
+ if (cmd.Length > 2)
+ {
+ Int32.TryParse(cmd[2], out newbots);
+ }
+ if (newbots > 0)
+ addbots(newbots);
}
}
}
--
cgit v1.1
From 9bfbfa381abc92f3c5fc8e97405943128c85c5d4 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Tue, 10 Feb 2009 23:15:48 +0000
Subject: Add proper handling for shared vs. unshared modules to the command
interface. Shared modules will now only get added once, so the command
handler is called once per module, not once per scene. Removal of scenes has
no adverse effects. Nonshared modules will be called for each scene.
---
OpenSim/Tools/pCampBot/BotManager.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 3b08adc..aed3fa8 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -79,16 +79,16 @@ namespace pCampBot
}
}
- m_console.Commands.AddCommand("bot", "shutdown",
+ m_console.Commands.AddCommand("bot", false, "shutdown",
"shutdown",
"Gracefully shut down bots", HandleShutdown);
- m_console.Commands.AddCommand("bot", "quit",
+ m_console.Commands.AddCommand("bot", false, "quit",
"quit",
"Force quit (DANGEROUS, try shutdown first)",
HandleShutdown);
- m_console.Commands.AddCommand("bot", "add bots",
+ m_console.Commands.AddCommand("bot", false, "add bots",
"add bots ",
"Add more bots", HandleAddBots);
--
cgit v1.1
From 5959e426834b49c9048b862506e9db50870ef867 Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Thu, 12 Feb 2009 18:59:45 +0000
Subject: large scale fix for svn props after "the great refactor"
---
.../OpenSim.GridLaunch/GUI/WinForm/OpenSim.png | Bin 44571 -> 44406 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png
index 257ca39..3810842 100644
Binary files a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png and b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png differ
--
cgit v1.1
From 95d53d48d4ce44cebf0f2d5803f58a0f7cfe8346 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 13 Feb 2009 02:06:28 +0000
Subject: Add copyright headers. Minor formatting cleanup. Fix some compiler
warnings. Fix some m_log declarations.
---
OpenSim/Tools/pCampBot/BotManager.cs | 2 ++
1 file changed, 2 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index aed3fa8..c015bbc 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -217,11 +217,13 @@ namespace pCampBot
doBotShutdown();
}
+ /*
private void HandleQuit(string module, string[] cmd)
{
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);
}
+ */
private void HandleAddBots(string module, string[] cmd)
{
--
cgit v1.1
From 5af465a364c74c715bbb99ee2a391b49a5fc4e11 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Thu, 19 Feb 2009 14:51:33 +0000
Subject: * Changed all AssemblyInfo to explicit version 1.0.0.0 to not confuse
poor poor Nant. We probably should take the opportunity to let the non-module
bins reside in their /bin/Debug dirs later.
---
OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
index 74fedfa..6142a05 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
@@ -58,6 +58,6 @@ using System.Runtime.InteropServices;
//
// 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: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
index 4c300d0..f14d194 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
@@ -58,6 +58,6 @@ using System.Runtime.InteropServices;
//
// 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: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
--
cgit v1.1
From 2e095f5727b2bd22ccf06f940ec191bed4fc8820 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Fri, 20 Feb 2009 16:47:31 +0000
Subject: * Upped VersionInfo to 0.6.3 and in the process, changed assemblyinfo
to 0.6.3.* to better track down dll ref and overwrite problems.
---
.../Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs | 4 ++--
OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs | 6 +++---
OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs | 6 +++---
3 files changed, 8 insertions(+), 8 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
index 797580d..ae893e8 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
@@ -35,7 +35,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("LaunchSLClient")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
+[assembly: AssemblyCompany("http://opensimulator.org")]
[assembly: AssemblyProduct("LaunchSLClient")]
[assembly: AssemblyCopyright("Copyright (c) 2007")]
[assembly: AssemblyTrademark("")]
@@ -56,5 +56,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.6.3.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
index 6142a05..c971e9a 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
@@ -35,7 +35,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("OpenSim.32BitLaunch")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
+[assembly: AssemblyCompany("http://opensimulator.org")]
[assembly: AssemblyProduct("OpenSim.32BitLaunch")]
[assembly: AssemblyCopyright("Copyright (c) 2008")]
[assembly: AssemblyTrademark("")]
@@ -58,6 +58,6 @@ using System.Runtime.InteropServices;
//
// 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.0.0")]
-[assembly: AssemblyVersion("1.0.0.0")]
+// [assembly: AssemblyVersion("0.6.3.*")]
+[assembly: AssemblyVersion("0.6.3.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
index f14d194..254e516 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
@@ -35,7 +35,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("OpenSim.GridLaunch")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
+[assembly: AssemblyCompany("http://opensimulator.org")]
[assembly: AssemblyProduct("OpenSim.GridLaunch")]
[assembly: AssemblyCopyright("Copyright (c) 2008")]
[assembly: AssemblyTrademark("")]
@@ -58,6 +58,6 @@ using System.Runtime.InteropServices;
//
// 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.0.0")]
-[assembly: AssemblyVersion("1.0.0.0")]
+// [assembly: AssemblyVersion("0.6.3.*")]
+[assembly: AssemblyVersion("0.6.3.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]
--
cgit v1.1
From c89a4d9eb64fd641516860321d0b15beeba09d9f Mon Sep 17 00:00:00 2001
From: Sean Dague
Date: Thu, 26 Feb 2009 21:29:25 +0000
Subject: * This patch reduces the excessive number of threads opened by the
Timer event. Also simplifies the walking around method.
From: Arthur Rodrigo S Valadares
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 61 ++++++++++++++++++++++--------------
1 file changed, 37 insertions(+), 24 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 8e43670..0ded0c0 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -53,7 +53,7 @@ namespace pCampBot
protected Timer m_action; // Action Timer
protected List objectIDs = new List();
-
+
protected Random somthing = new Random(Environment.TickCount);// We do stuff randomly here
@@ -77,35 +77,46 @@ namespace pCampBot
void m_action_Elapsed(object sender, 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
+ while(true)
{
- client.Self.Movement.AlwaysRun = false;
- }
+ //client.Appearance.ForceRebakeAvatarTextures();
+ //client.Appearance.SetPreviousAppearance();
- // TODO: unused: Vector3 pos = client.Self.SimPosition;
- Vector3 newpos = new Vector3(somthing.Next(255), somthing.Next(255), somthing.Next(255));
- client.Self.Movement.TurnToward(newpos);
+ 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.
+ client.Self.Jump(false);
+ if (walkorrun == 0)
+ {
+ client.Self.Movement.AlwaysRun = true;
+ }
+ else
+ {
+ client.Self.Movement.AlwaysRun = false;
+ }
- for (int i = 0; i < 2000; i++)
- {
+ // TODO: unused: Vector3 pos = client.Self.SimPosition;
+ Vector3 newpos = new Vector3(somthing.Next(255), somthing.Next(255), somthing.Next(255));
+ client.Self.Movement.TurnToward(newpos);
+
+ /*
+ // Why does it need to keep setting it true? Changing to just let it walk =)
+ 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.Movement.AtPos = true;
- Thread.Sleep(somthing.Next(25, 75)); // Makes sure the bots keep walking for this time.
- }
- client.Self.Jump(true);
+ Thread.Sleep(somthing.Next(3000,13000));
+ client.Self.Movement.AtPos = false;
+ client.Self.Jump(true);
- string randomf = talkarray[somthing.Next(talkarray.Length)];
- if (talkarray.Length > 1 && randomf.Length > 1)
- client.Self.Chat(randomf, 0, ChatType.Normal);
+ 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.
+ Thread.Sleep(somthing.Next(1000, 10000));
+ }
}
///
@@ -157,6 +168,8 @@ namespace pCampBot
if (OnConnected != null)
{
m_action = new Timer(somthing.Next(1000, 10000));
+ m_action.Enabled = true;
+ m_action.AutoReset = false;
m_action.Elapsed += new ElapsedEventHandler(m_action_Elapsed);
m_action.Start();
OnConnected(this, EventType.CONNECTED);
--
cgit v1.1
From 808e4a847ab699eb3f82cf8bb5de9e4688512426 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Sun, 1 Mar 2009 09:15:31 +0000
Subject: Update svn properties, add copyright headers, minor formatting
cleanup.
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 0ded0c0..004cd30 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -77,7 +77,7 @@ namespace pCampBot
void m_action_Elapsed(object sender, ElapsedEventArgs e)
{
- while(true)
+ while (true)
{
//client.Appearance.ForceRebakeAvatarTextures();
//client.Appearance.SetPreviousAppearance();
--
cgit v1.1
From 2fa57a2970b011ac3c92a6b4411a6f4ad1878bbb Mon Sep 17 00:00:00 2001
From: Adam Johnson
Date: Sat, 7 Mar 2009 16:27:07 +0000
Subject: Moving Windows Installer to forge.
---
OpenSim/Tools/Windows/Installer/OpenSim.nsi | 151 ----------------------------
1 file changed, 151 deletions(-)
delete mode 100644 OpenSim/Tools/Windows/Installer/OpenSim.nsi
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Windows/Installer/OpenSim.nsi b/OpenSim/Tools/Windows/Installer/OpenSim.nsi
deleted file mode 100644
index 3c3fe81..0000000
--- a/OpenSim/Tools/Windows/Installer/OpenSim.nsi
+++ /dev/null
@@ -1,151 +0,0 @@
-!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
--
cgit v1.1
From e540b66a8660ab2f3d3a9be153e8cf8aaa641714 Mon Sep 17 00:00:00 2001
From: Dr Scofield
Date: Tue, 7 Apr 2009 16:53:41 +0000
Subject: From: Alan Webb
Fix null reference exception during close down of IRC module if the
region was not actually initialized.
---
.../OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj | 58 ----------
.../OpenSim.GridLaunch/OpenSim.GridLaunch.csproj | 126 ---------------------
2 files changed, 184 deletions(-)
delete mode 100644 OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
deleted file mode 100644
index d829e69..0000000
--- a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 9.0.30729
- 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
-
-
-
-
-
-
-
-
-
-
-
-
-
- {438A9556-0000-0000-0000-000000000000}
- OpenSim
-
-
-
-
-
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
deleted file mode 100644
index b262dd1..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 9.0.30729
- 2.0
- {595D67F3-B413-4A43-8568-5B5930E3B31D}
- Exe
- Properties
- OpenSim.GridLaunch
- OpenSim.GridLaunch
- v2.0
- 512
-
-
- true
- full
- false
- ..\..\..\bin\
- DEBUG;TRACE
- prompt
- 4
- x86
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Component
-
-
- Form
-
-
- ProcessPanel.cs
-
-
- UserControl
-
-
- ucAppWindow.cs
-
-
- UserControl
-
-
- ucInputField.cs
-
-
- UserControl
-
-
- ucLogWindow.cs
-
-
-
-
-
- True
- True
- Resources.resx
-
-
-
-
-
- ProcessPanel.cs
-
-
- ucAppWindow.cs
-
-
- ucInputField.cs
-
-
- ucLogWindow.cs
-
-
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
-
-
-
\ No newline at end of file
--
cgit v1.1
From abf1df8ae0eb46e3001a6cb1568ca89e7162876b Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Wed, 8 Apr 2009 16:27:30 +0000
Subject: * Restored 32BitLaunch that was mistakenly deleted in 9036
---
.../OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj | 58 ++++++++++++++++++++++
1 file changed, 58 insertions(+)
create mode 100644 OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
new file mode 100644
index 0000000..d829e69
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/OpenSim.32BitLaunch.csproj
@@ -0,0 +1,58 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.30729
+ 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {438A9556-0000-0000-0000-000000000000}
+ OpenSim
+
+
+
+
+
\ No newline at end of file
--
cgit v1.1
From f91322131363972b9f0344b8e4429f31f8ecff03 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Wed, 8 Apr 2009 16:30:43 +0000
Subject: * Restored GridLaunch that was mistakenly deleted in 9036
---
.../OpenSim.GridLaunch/OpenSim.GridLaunch.csproj | 126 +++++++++++++++++++++
1 file changed, 126 insertions(+)
create mode 100644 OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
new file mode 100644
index 0000000..b262dd1
--- /dev/null
+++ b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
@@ -0,0 +1,126 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.30729
+ 2.0
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}
+ Exe
+ Properties
+ OpenSim.GridLaunch
+ OpenSim.GridLaunch
+ v2.0
+ 512
+
+
+ true
+ full
+ false
+ ..\..\..\bin\
+ DEBUG;TRACE
+ prompt
+ 4
+ x86
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Component
+
+
+ Form
+
+
+ ProcessPanel.cs
+
+
+ UserControl
+
+
+ ucAppWindow.cs
+
+
+ UserControl
+
+
+ ucInputField.cs
+
+
+ UserControl
+
+
+ ucLogWindow.cs
+
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+
+
+
+ ProcessPanel.cs
+
+
+ ucAppWindow.cs
+
+
+ ucInputField.cs
+
+
+ ucLogWindow.cs
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
+
+
\ No newline at end of file
--
cgit v1.1
From 1b877234dada9f14cebc486cc426db892beae152 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Mon, 4 May 2009 12:15:55 +0000
Subject: Refactor. Make ConsoleBase a true base class. Create CommandConsole
as a simple console capable of processing commands. Create LocalConsole as a
console that uses cursor control and context help. Precursor to a distributed
console system for the new grid services. No functional change intended :)
---
OpenSim/Tools/pCampBot/BotManager.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index c015bbc..2cd947e 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -47,7 +47,7 @@ namespace pCampBot
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
- protected ConsoleBase m_console;
+ protected CommandConsole m_console;
protected List m_lBot;
protected Thread[] m_td;
protected bool m_verbose = true;
@@ -206,9 +206,9 @@ namespace pCampBot
/// Standard CreateConsole routine
///
///
- protected ConsoleBase CreateConsole()
+ protected CommandConsole CreateConsole()
{
- return new ConsoleBase("Region");
+ return new LocalConsole("Region");
}
private void HandleShutdown(string module, string[] cmd)
--
cgit v1.1
From ed28c89d9624dfba5deef0560b50df726307f4af Mon Sep 17 00:00:00 2001
From: Arthur Valadares
Date: Mon, 18 May 2009 22:00:43 +0000
Subject: * Adds code that allows you to save an outfit then tell bot to wear
it. * Still doesn't work due to a bug on LibOMV that should be out on 0.6.3.
* Released by request. Important Warning: Linden Viewer 1.2.3 changes the way
appearance works and break bot's appearances. LibOMV is working on it
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 196 ++++++++++++++++++++++++++++++++---
OpenSim/Tools/pCampBot/pCampBot.cs | 6 ++
2 files changed, 190 insertions(+), 12 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 004cd30..8548aed 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -27,6 +27,7 @@
using System;
using System.Collections.Generic;
+using System.Text;
using System.IO;
using System.Threading;
using System.Timers;
@@ -47,6 +48,8 @@ namespace pCampBot
public string lastname;
public string password;
public string loginURI;
+ public string saveDir;
+ public string wear;
public event AnEvent OnConnected;
public event AnEvent OnDisconnected;
@@ -54,7 +57,6 @@ namespace pCampBot
protected Timer m_action; // Action Timer
protected List objectIDs = new List();
-
protected Random somthing = new Random(Environment.TickCount);// We do stuff randomly here
//New instance of a SecondLife client
@@ -79,9 +81,6 @@ namespace pCampBot
{
while (true)
{
- //client.Appearance.ForceRebakeAvatarTextures();
- //client.Appearance.SetPreviousAppearance();
-
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.
client.Self.Jump(false);
@@ -98,14 +97,6 @@ namespace pCampBot
Vector3 newpos = new Vector3(somthing.Next(255), somthing.Next(255), somthing.Next(255));
client.Self.Movement.TurnToward(newpos);
- /*
- // Why does it need to keep setting it true? Changing to just let it walk =)
- 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.Movement.AtPos = true;
Thread.Sleep(somthing.Next(3000,13000));
client.Self.Movement.AtPos = false;
@@ -128,6 +119,7 @@ namespace pCampBot
lastname = startupConfig.GetString("lastname", "random");
password = startupConfig.GetString("password", "12345");
loginURI = startupConfig.GetString("loginuri");
+ wear = startupConfig.GetString("wear","no");
}
///
@@ -163,6 +155,7 @@ namespace pCampBot
client.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(this.Network_OnDisconnected);
client.Objects.OnNewPrim += Objects_NewPrim;
client.Assets.OnImageReceived += Asset_TextureCallback;
+ client.Assets.OnAssetReceived += Asset_ReceivedCallback;
if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
{
if (OnConnected != null)
@@ -173,6 +166,15 @@ namespace pCampBot
m_action.Elapsed += new ElapsedEventHandler(m_action_Elapsed);
m_action.Start();
OnConnected(this, EventType.CONNECTED);
+ if (wear == "save")
+ {
+ client.Appearance.SetPreviousAppearance();
+ SaveDefaultAppearance();
+ }
+ else if (wear != "no")
+ {
+ MakeDefaultAppearance(wear);
+ }
client.Self.Jump(true);
}
}
@@ -186,6 +188,167 @@ namespace pCampBot
}
}
+ public void SaveDefaultAppearance()
+ {
+ saveDir = "MyAppearance/" + firstname + "_" + lastname;
+ if (!Directory.Exists(saveDir))
+ {
+ Directory.CreateDirectory(saveDir);
+ }
+
+ Array wtypes = Enum.GetValues(typeof(WearableType));
+ foreach (WearableType wtype in wtypes)
+ {
+ UUID wearable = client.Appearance.GetWearableAsset(wtype);
+ if (wearable != UUID.Zero)
+ {
+ client.Assets.RequestAsset(wearable, AssetType.Clothing, false);
+ client.Assets.RequestAsset(wearable, AssetType.Bodypart, false);
+ }
+ }
+ }
+
+ public void SaveAsset(AssetWearable asset)
+ {
+ if (asset != null)
+ {
+ try
+ {
+ if (asset.Decode())
+ {
+ File.WriteAllBytes(Path.Combine(saveDir, String.Format("{1}.{0}",
+ asset.AssetType.ToString().ToLower(),
+ asset.WearableType)), asset.AssetData);
+ }
+ else
+ {
+ MainConsole.Instance.Error(String.Format("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID));
+ }
+ }
+ catch (Exception e)
+ {
+ MainConsole.Instance.Error(String.Format("Exception: {0}",e.ToString()));
+ }
+ }
+ }
+
+ public WearableType GetWearableType(string path)
+ {
+ string type = ((((path.Split('/'))[2]).Split('.'))[0]).Trim();
+ switch(type)
+ {
+ case "Eyes":
+ return WearableType.Eyes;
+ case "Hair":
+ return WearableType.Hair;
+ case "Pants":
+ return WearableType.Pants;
+ case "Shape":
+ return WearableType.Shape;
+ case "Shirt":
+ return WearableType.Shirt;
+ case "Skin":
+ return WearableType.Skin;
+ default:
+ return WearableType.Shape;
+ }
+ }
+
+ public void MakeDefaultAppearance(string wear)
+ {
+ try
+ {
+ if (wear == "yes")
+ {
+ //TODO: Implement random outfit picking
+ MainConsole.Instance.Notice("Picks a random outfit. Not yet implemented.");
+ }
+ else if (wear != "save")
+ saveDir = "MyAppearance/" + wear;
+ saveDir = saveDir + "/";
+
+ string[] clothing = Directory.GetFiles(saveDir, "*.clothing", SearchOption.TopDirectoryOnly);
+ string[] bodyparts = Directory.GetFiles(saveDir, "*.bodypart", SearchOption.TopDirectoryOnly);
+ InventoryFolder clothfolder = FindClothingFolder();
+ UUID transid = UUID.Random();
+ List listwearables = new List();
+
+ for (int i = 0; i < clothing.Length; i++)
+ {
+ UUID assetID = UUID.Random();
+ AssetClothing asset = new AssetClothing(assetID, File.ReadAllBytes(clothing[i]));
+ asset.Decode();
+ asset.Owner = client.Self.AgentID;
+ asset.WearableType = GetWearableType(clothing[i]);
+ asset.Encode();
+ transid = client.Assets.RequestUpload(asset,true);
+ client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing,
+ transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
+ {
+ if (success)
+ {
+ listwearables.Add(item);
+ }
+ else
+ MainConsole.Instance.Error(String.Format("Failed to create item {0}",item.Name));
+ }
+ );
+ }
+
+ for (int i = 0; i < bodyparts.Length; i++)
+ {
+ UUID assetID = UUID.Random();
+ AssetBodypart asset = new AssetBodypart(assetID, File.ReadAllBytes(bodyparts[i]));
+ asset.Decode();
+ asset.Owner = client.Self.AgentID;
+ asset.WearableType = GetWearableType(bodyparts[i]);
+ asset.Encode();
+ transid = client.Assets.RequestUpload(asset,true);
+ client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart,
+ transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
+ {
+ if (success)
+ {
+ listwearables.Add(item);
+ }
+ else
+ MainConsole.Instance.Error(String.Format("Failed to create item {0}",item.Name));
+ }
+ );
+ }
+
+ Thread.Sleep(1000);
+
+ if (listwearables == null || listwearables.Count == 0)
+ MainConsole.Instance.Notice("Nothing to send on this folder!");
+ else
+ {
+ MainConsole.Instance.Notice(String.Format("Sending {0} wearables...",listwearables.Count));
+ client.Appearance.WearOutfit(listwearables, false);
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine(ex.ToString());
+ }
+ }
+
+ public InventoryFolder FindClothingFolder()
+ {
+ UUID rootfolder = client.Inventory.Store.RootFolder.UUID;
+ List listfolders = client.Inventory.Store.GetContents(rootfolder);
+ InventoryFolder clothfolder = new InventoryFolder(UUID.Random());
+ foreach (InventoryBase folder in listfolders)
+ {
+ if (folder.Name == "Clothing")
+ {
+ clothfolder = (InventoryFolder)folder;
+ break;
+ }
+ }
+ return clothfolder;
+ }
+
public void Network_OnConnected(object sender)
{
if (OnConnected != null)
@@ -237,6 +400,15 @@ namespace pCampBot
}
public void Asset_TextureCallback(ImageDownload image, AssetTexture asset)
{
+ //TODO: Implement texture saving and applying
+ }
+
+ public void Asset_ReceivedCallback(AssetDownload transfer,Asset asset)
+ {
+ if (wear == "save")
+ {
+ SaveAsset((AssetWearable) asset);
+ }
}
public string[] readexcuses()
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 9cde451..098a8ca 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -77,6 +77,7 @@ namespace pCampBot
cs.AddSwitch("Startup", "lastname");
cs.AddSwitch("Startup", "password");
cs.AddSwitch("Startup", "help","h");
+ cs.AddSwitch("Startup", "wear");
IConfig ol = cs.Configs["Startup"];
return ol;
@@ -84,6 +85,10 @@ namespace pCampBot
private static void Help()
{
+ // Added the wear command. This allows the bot to wear real clothes instead of default locked ones.
+ // You can either say no, to not load anything, yes, to load one of the default wearables, a folder
+ // name, to load an specific folder, or save, to save an avatar with some already existing wearables
+ // worn to the folder MyAppearance/FirstName_LastName, and the load it.
Console.WriteLine(
"usage: pCampBot <-loginuri loginuri> [OPTIONS]\n" +
"Spawns a set of bots to test an OpenSim region\n\n" +
@@ -92,6 +97,7 @@ namespace pCampBot
" -firstname first name for the bot(s) (default: random string)\n" +
" -lastname lastname for the bot(s) (default: random string)\n" +
" -password password for the bots(s) (default: random string)\n" +
+ " -wear set appearance folder to load from (default: no)\n" +
" -h, -help show this message"
);
}
--
cgit v1.1
From e0bc5c5db2b88691c04b06be2fa73a75746126cb Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Wed, 20 May 2009 01:32:06 +0000
Subject: Add copyright headers, formatting cleanup.
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 72 ++++++++++++++++++------------------
1 file changed, 36 insertions(+), 36 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 8548aed..b84993e 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -191,9 +191,9 @@ namespace pCampBot
public void SaveDefaultAppearance()
{
saveDir = "MyAppearance/" + firstname + "_" + lastname;
- if (!Directory.Exists(saveDir))
- {
- Directory.CreateDirectory(saveDir);
+ if (!Directory.Exists(saveDir))
+ {
+ Directory.CreateDirectory(saveDir);
}
Array wtypes = Enum.GetValues(typeof(WearableType));
@@ -212,7 +212,7 @@ namespace pCampBot
{
if (asset != null)
{
- try
+ try
{
if (asset.Decode())
{
@@ -220,14 +220,14 @@ namespace pCampBot
asset.AssetType.ToString().ToLower(),
asset.WearableType)), asset.AssetData);
}
- else
- {
- MainConsole.Instance.Error(String.Format("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID));
- }
- }
- catch (Exception e)
- {
- MainConsole.Instance.Error(String.Format("Exception: {0}",e.ToString()));
+ else
+ {
+ MainConsole.Instance.Error(String.Format("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID));
+ }
+ }
+ catch (Exception e)
+ {
+ MainConsole.Instance.Error(String.Format("Exception: {0}",e.ToString()));
}
}
}
@@ -235,7 +235,7 @@ namespace pCampBot
public WearableType GetWearableType(string path)
{
string type = ((((path.Split('/'))[2]).Split('.'))[0]).Trim();
- switch(type)
+ switch (type)
{
case "Eyes":
return WearableType.Eyes;
@@ -256,7 +256,7 @@ namespace pCampBot
public void MakeDefaultAppearance(string wear)
{
- try
+ try
{
if (wear == "yes")
{
@@ -267,54 +267,54 @@ namespace pCampBot
saveDir = "MyAppearance/" + wear;
saveDir = saveDir + "/";
- string[] clothing = Directory.GetFiles(saveDir, "*.clothing", SearchOption.TopDirectoryOnly);
+ string[] clothing = Directory.GetFiles(saveDir, "*.clothing", SearchOption.TopDirectoryOnly);
string[] bodyparts = Directory.GetFiles(saveDir, "*.bodypart", SearchOption.TopDirectoryOnly);
InventoryFolder clothfolder = FindClothingFolder();
UUID transid = UUID.Random();
List listwearables = new List();
-
- for (int i = 0; i < clothing.Length; i++)
+
+ for (int i = 0; i < clothing.Length; i++)
{
- UUID assetID = UUID.Random();
+ UUID assetID = UUID.Random();
AssetClothing asset = new AssetClothing(assetID, File.ReadAllBytes(clothing[i]));
asset.Decode();
asset.Owner = client.Self.AgentID;
asset.WearableType = GetWearableType(clothing[i]);
- asset.Encode();
+ asset.Encode();
transid = client.Assets.RequestUpload(asset,true);
client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing,
- transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
- {
+ transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
+ {
if (success)
{
listwearables.Add(item);
}
else
- MainConsole.Instance.Error(String.Format("Failed to create item {0}",item.Name));
+ MainConsole.Instance.Error(String.Format("Failed to create item {0}",item.Name));
}
- );
- }
-
- for (int i = 0; i < bodyparts.Length; i++)
+ );
+ }
+
+ for (int i = 0; i < bodyparts.Length; i++)
{
- UUID assetID = UUID.Random();
+ UUID assetID = UUID.Random();
AssetBodypart asset = new AssetBodypart(assetID, File.ReadAllBytes(bodyparts[i]));
asset.Decode();
asset.Owner = client.Self.AgentID;
asset.WearableType = GetWearableType(bodyparts[i]);
- asset.Encode();
+ asset.Encode();
transid = client.Assets.RequestUpload(asset,true);
client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart,
- transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
- {
- if (success)
+ transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
+ {
+ if (success)
{
listwearables.Add(item);
}
else
- MainConsole.Instance.Error(String.Format("Failed to create item {0}",item.Name));
+ MainConsole.Instance.Error(String.Format("Failed to create item {0}",item.Name));
}
- );
+ );
}
Thread.Sleep(1000);
@@ -326,10 +326,10 @@ namespace pCampBot
MainConsole.Instance.Notice(String.Format("Sending {0} wearables...",listwearables.Count));
client.Appearance.WearOutfit(listwearables, false);
}
- }
- catch (Exception ex)
+ }
+ catch (Exception ex)
{
- Console.WriteLine(ex.ToString());
+ Console.WriteLine(ex.ToString());
}
}
--
cgit v1.1
From 4065ebff15e228d7227500f3a2275025f5d16966 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Wed, 20 May 2009 13:50:33 +0000
Subject: Remove the pre-log4net, discrete output methods from the consoles
---
OpenSim/Tools/pCampBot/BotManager.cs | 2 +-
OpenSim/Tools/pCampBot/PhysicsBot.cs | 16 ++++++++--------
2 files changed, 9 insertions(+), 9 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 2cd947e..93240d5 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -213,7 +213,7 @@ namespace pCampBot
private void HandleShutdown(string module, string[] cmd)
{
- m_console.Warn("BOTMANAGER", "Shutting down bots");
+ m_log.Warn("[BOTMANAGER]: Shutting down bots");
doBotShutdown();
}
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index b84993e..282f4a0 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -180,7 +180,7 @@ namespace pCampBot
}
else
{
- MainConsole.Instance.Error(firstname + " " + lastname, "Can't login: " + client.Network.LoginMessage);
+ MainConsole.Instance.Output(firstname + " " + lastname + " Can't login: " + client.Network.LoginMessage);
if (OnDisconnected != null)
{
OnDisconnected(this, EventType.DISCONNECTED);
@@ -222,12 +222,12 @@ namespace pCampBot
}
else
{
- MainConsole.Instance.Error(String.Format("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID));
+ MainConsole.Instance.Output(String.Format("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID));
}
}
catch (Exception e)
{
- MainConsole.Instance.Error(String.Format("Exception: {0}",e.ToString()));
+ MainConsole.Instance.Output(String.Format("Exception: {0}",e.ToString()));
}
}
}
@@ -261,7 +261,7 @@ namespace pCampBot
if (wear == "yes")
{
//TODO: Implement random outfit picking
- MainConsole.Instance.Notice("Picks a random outfit. Not yet implemented.");
+ MainConsole.Instance.Output("Picks a random outfit. Not yet implemented.");
}
else if (wear != "save")
saveDir = "MyAppearance/" + wear;
@@ -290,7 +290,7 @@ namespace pCampBot
listwearables.Add(item);
}
else
- MainConsole.Instance.Error(String.Format("Failed to create item {0}",item.Name));
+ MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name));
}
);
}
@@ -312,7 +312,7 @@ namespace pCampBot
listwearables.Add(item);
}
else
- MainConsole.Instance.Error(String.Format("Failed to create item {0}",item.Name));
+ MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name));
}
);
}
@@ -320,10 +320,10 @@ namespace pCampBot
Thread.Sleep(1000);
if (listwearables == null || listwearables.Count == 0)
- MainConsole.Instance.Notice("Nothing to send on this folder!");
+ MainConsole.Instance.Output("Nothing to send on this folder!");
else
{
- MainConsole.Instance.Notice(String.Format("Sending {0} wearables...",listwearables.Count));
+ MainConsole.Instance.Output(String.Format("Sending {0} wearables...",listwearables.Count));
client.Appearance.WearOutfit(listwearables, false);
}
}
--
cgit v1.1
From 840de6c036570d559ec6924cd8405d3f34a99fdd Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Mon, 1 Jun 2009 06:37:14 +0000
Subject: Minor: Change OpenSim to OpenSimulator in older copyright headers and
LICENSE.txt.
---
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Grid.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs | 2 +-
.../LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs | 2 +-
.../Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs | 2 +-
OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs | 2 +-
OpenSim/Tools/OpenSim.32BitLaunch/Program.cs | 2 +-
OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/Program.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/Settings.cs | 2 +-
OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs | 2 +-
OpenSim/Tools/pCampBot/BotManager.cs | 2 +-
OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 +-
OpenSim/Tools/pCampBot/pCampBot.cs | 2 +-
32 files changed, 32 insertions(+), 32 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
index 38657b0..8d07724 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.Designer.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
index 25044db..2a5d2a6 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Form1.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Grid.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Grid.cs
index 89fcefe..58ebbf0 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Grid.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Grid.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
index e1ba0bc..a28eb20 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/LauncherException.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs
index fea8d50..6020347 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/MachineConfig.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
index 177d7e8..19a2e54 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/OSXConfig.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
index 53ea9f8..bfd43cf 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Program.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
index ae893e8..f6a0c64 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/AssemblyInfo.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
index 916ff04..6b9a8a1 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Resources.Designer.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
index 2765be5..5ae7be2 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/Properties/Settings.Designer.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
index c285066..5895dad 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/UnixConfig.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
index 7988d96..ac0186d 100644
--- a/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
+++ b/OpenSim/Tools/LaunchSLClient/LaunchSLClient/WindowsConfig.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
index b292d43..52806b8 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Program.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
index c971e9a..e81870f 100644
--- a/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.32BitLaunch/Properties/AssemblyInfo.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs
index 2c6ac31..638956e 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs
index 0d07226..8daef1b 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs
index cd160f8..f395aa4 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs b/OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs
index aca36e9..77c5063 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs
index a04c9cf..596b650 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs
index 19b27e4..7fae830 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs
index 5524e21..b48cfea 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs
index c6fd501..f518bd7 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
index dbf97d6..c7c1243 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs
index 66072dc..487faec 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs
index 5ffa275..f6c02b5 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Program.cs b/OpenSim/Tools/OpenSim.GridLaunch/Program.cs
index 5a0bb0c..ecfb0af 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/Program.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/Program.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
index 254e516..60fc664 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Settings.cs b/OpenSim/Tools/OpenSim.GridLaunch/Settings.cs
index 91353d8..1f02928 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/Settings.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/Settings.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs b/OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs
index d9bea1a..d0e7f95 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 93240d5..3f4e6ed 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 282f4a0..76d2441 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 098a8ca..002a294 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -9,7 +9,7 @@
* * 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
+ * * Neither the name of the OpenSimulator Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
--
cgit v1.1
From a23d64dec1cbf88abc3c7e84664a683dee534e4a Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Wed, 10 Jun 2009 04:28:56 +0000
Subject: Formatting cleanup.
---
OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs | 2 +-
OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
index c7c1243..f0ed2ca 100644
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
+++ b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
@@ -194,7 +194,7 @@ namespace OpenSim.GridLaunch.GUI.WinForm
cblStartupComponents.Items.AddRange(arr);
// Now correct all check states
- for (int i = 0; i < cblStartupComponents.Items.Count; i++ )
+ for (int i = 0; i < cblStartupComponents.Items.Count; i++)
{
string _name = cblStartupComponents.Items[i] as string;
bool _checked = Program.Settings.Components[_name];
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 76d2441..36a5ef6 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -379,7 +379,7 @@ namespace pCampBot
{
client.Assets.RequestImage(prim.Textures.DefaultTexture.TextureID, ImageType.Normal);
}
- for (int i = 0; i < prim.Textures.FaceTextures.Length; i++ )
+ for (int i = 0; i < prim.Textures.FaceTextures.Length; i++)
{
if (prim.Textures.FaceTextures[i] != null)
{
--
cgit v1.1
From f9ff986908521f4eb816d15f8f4598433f13c18e Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 10 Jul 2009 04:29:00 +0000
Subject: Switch runprebuild.bat from VS2005 to VS2008. Remove
runprebuild2008.bat.
---
OpenSim/Tools/LaunchSLClient/runprebuild.bat | 4 ++--
OpenSim/Tools/LaunchSLClient/runprebuild.sh | 2 +-
OpenSim/Tools/LaunchSLClient/runprebuild2008.bat | 4 ----
3 files changed, 3 insertions(+), 7 deletions(-)
delete mode 100755 OpenSim/Tools/LaunchSLClient/runprebuild2008.bat
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild.bat b/OpenSim/Tools/LaunchSLClient/runprebuild.bat
index 0ef3dd9..41e2714 100755
--- a/OpenSim/Tools/LaunchSLClient/runprebuild.bat
+++ b/OpenSim/Tools/LaunchSLClient/runprebuild.bat
@@ -1,4 +1,4 @@
..\..\..\bin\Prebuild.exe /target nant
-..\..\..\bin\Prebuild.exe /target vs2005
+..\..\..\bin\Prebuild.exe /target vs2008
+echo C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild LaunchSLClient.sln > compile.bat
-echo C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msbuild LaunchSLClient.sln > compile.bat
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild.sh b/OpenSim/Tools/LaunchSLClient/runprebuild.sh
index 4fa418b..25ea4cd 100755
--- a/OpenSim/Tools/LaunchSLClient/runprebuild.sh
+++ b/OpenSim/Tools/LaunchSLClient/runprebuild.sh
@@ -2,4 +2,4 @@
mono ../../../bin/Prebuild.exe /target nant
mono ../../../bin/Prebuild.exe /target monodev
-mono ../../../bin/Prebuild.exe /target vs2005
+mono ../../../bin/Prebuild.exe /target vs2008
diff --git a/OpenSim/Tools/LaunchSLClient/runprebuild2008.bat b/OpenSim/Tools/LaunchSLClient/runprebuild2008.bat
deleted file mode 100755
index 41e2714..0000000
--- a/OpenSim/Tools/LaunchSLClient/runprebuild2008.bat
+++ /dev/null
@@ -1,4 +0,0 @@
-..\..\..\bin\Prebuild.exe /target nant
-..\..\..\bin\Prebuild.exe /target vs2008
-echo C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild LaunchSLClient.sln > compile.bat
-
--
cgit v1.1
From 64bd9a335444379ebe1cad8e34d5b5953a76f671 Mon Sep 17 00:00:00 2001
From: Teravus Ovares
Date: Sat, 25 Jul 2009 15:49:10 +0000
Subject: * Updates libOMV to version 0.7.0 * Uses mantis #3811 as a base
(thanks jhuliman) with changes. * E-mail regarding interface changes sent to
the opensim-dev list * Archive:
https://lists.berlios.de/pipermail/opensim-dev/2009-July/007219.html
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 36a5ef6..426ef29 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -32,6 +32,7 @@ using System.IO;
using System.Threading;
using System.Timers;
using OpenMetaverse;
+using OpenMetaverse.Assets;
using Nini.Config;
using OpenSim.Framework;
using OpenSim.Framework.Console;
@@ -142,7 +143,7 @@ namespace pCampBot
client.Settings.SEND_AGENT_THROTTLE = true;
client.Settings.SEND_PINGS = true;
client.Settings.STORE_LAND_PATCHES = false;
- client.Settings.USE_TEXTURE_CACHE = false;
+ client.Settings.USE_ASSET_CACHE = false;
client.Settings.MULTIPLE_SIMS = true;
client.Throttle.Asset = 100000;
client.Throttle.Land = 100000;
@@ -154,8 +155,7 @@ namespace pCampBot
client.Network.OnSimConnected += new NetworkManager.SimConnectedCallback(this.Network_OnConnected);
client.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(this.Network_OnDisconnected);
client.Objects.OnNewPrim += Objects_NewPrim;
- client.Assets.OnImageReceived += Asset_TextureCallback;
- client.Assets.OnAssetReceived += Asset_ReceivedCallback;
+ //client.Assets.OnAssetReceived += Asset_ReceivedCallback;
if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
{
if (OnConnected != null)
@@ -202,8 +202,8 @@ namespace pCampBot
UUID wearable = client.Appearance.GetWearableAsset(wtype);
if (wearable != UUID.Zero)
{
- client.Assets.RequestAsset(wearable, AssetType.Clothing, false);
- client.Assets.RequestAsset(wearable, AssetType.Bodypart, false);
+ client.Assets.RequestAsset(wearable, AssetType.Clothing, false, Asset_ReceivedCallback);
+ client.Assets.RequestAsset(wearable, AssetType.Bodypart, false, Asset_ReceivedCallback);
}
}
}
@@ -377,7 +377,7 @@ namespace pCampBot
{
if (prim.Textures.DefaultTexture.TextureID != UUID.Zero)
{
- client.Assets.RequestImage(prim.Textures.DefaultTexture.TextureID, ImageType.Normal);
+ client.Assets.RequestImage(prim.Textures.DefaultTexture.TextureID, ImageType.Normal, Asset_TextureCallback_Texture);
}
for (int i = 0; i < prim.Textures.FaceTextures.Length; i++)
{
@@ -385,7 +385,7 @@ namespace pCampBot
{
if (prim.Textures.FaceTextures[i].TextureID != UUID.Zero)
{
- client.Assets.RequestImage(prim.Textures.FaceTextures[i].TextureID, ImageType.Normal);
+ client.Assets.RequestImage(prim.Textures.FaceTextures[i].TextureID, ImageType.Normal, Asset_TextureCallback_Texture);
}
}
@@ -393,16 +393,18 @@ namespace pCampBot
}
if (prim.Sculpt.SculptTexture != UUID.Zero)
{
- client.Assets.RequestImage(prim.Sculpt.SculptTexture, ImageType.Normal);
+ client.Assets.RequestImage(prim.Sculpt.SculptTexture, ImageType.Normal, Asset_TextureCallback_Texture);
}
}
}
- public void Asset_TextureCallback(ImageDownload image, AssetTexture asset)
+
+
+ public void Asset_TextureCallback_Texture(TextureRequestState state, AssetTexture assetTexture)
{
//TODO: Implement texture saving and applying
}
-
+
public void Asset_ReceivedCallback(AssetDownload transfer,Asset asset)
{
if (wear == "save")
--
cgit v1.1
From d4c98ddffc7b6ac25cd08f57f9f67a33bff91683 Mon Sep 17 00:00:00 2001
From: Alan M Webb
Date: Wed, 16 Sep 2009 10:00:00 -0400
Subject: This fix adds a stand-alone compilation environment for OpenSIm
scripts. It makes it very easy to address coding issues before going
in-world to try a script out. This is a HUGE time saver if you're doing
anything significant with scripts.
Signed-off-by: dr scofield (aka dirk husemann)
---
OpenSim/Tools/Compiler/Program.cs | 287 ++++++++++++++++++++++++++++++++++++++
1 file changed, 287 insertions(+)
create mode 100644 OpenSim/Tools/Compiler/Program.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Compiler/Program.cs b/OpenSim/Tools/Compiler/Program.cs
new file mode 100644
index 0000000..0141f48
--- /dev/null
+++ b/OpenSim/Tools/Compiler/Program.cs
@@ -0,0 +1,287 @@
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using Microsoft.CSharp;
+using OpenSim.Region.ScriptEngine.Shared.CodeTools;
+using System.CodeDom.Compiler;
+
+namespace OpenSim.Tools.LSL.Compiler
+{
+ class Program
+ {
+ private static Dictionary, KeyValuePair> m_positionMap;
+ private static CSharpCodeProvider CScodeProvider = new CSharpCodeProvider();
+
+ static void Main(string[] args)
+ {
+ string source = null;
+
+ if(args.Length == 0)
+ {
+ Console.WriteLine("No input file specified");
+ Environment.Exit(1);
+ }
+
+ if(!File.Exists(args[0]))
+ {
+ Console.WriteLine("Input file does not exist");
+ Environment.Exit(1);
+ }
+
+ try
+ {
+ ICodeConverter cvt = (ICodeConverter) new CSCodeGenerator();
+ source = cvt.Convert(File.ReadAllText(args[0]));
+ }
+ catch(Exception e)
+ {
+ Console.WriteLine("Conversion failed:\n"+e.Message);
+ Environment.Exit(1);
+ }
+
+ source = CreateCSCompilerScript(source);
+
+ try
+ {
+ Console.WriteLine(CompileFromDotNetText(source,"a.out"));
+ }
+ catch(Exception e)
+ {
+ Console.WriteLine("Conversion failed: "+e.Message);
+ Environment.Exit(1);
+ }
+
+ Environment.Exit(0);
+ }
+
+ private static string CreateCSCompilerScript(string compileScript)
+ {
+ compileScript = String.Empty +
+ "using OpenSim.Region.ScriptEngine.Shared; using System.Collections.Generic;\r\n" +
+ String.Empty + "namespace SecondLife { " +
+ String.Empty + "public class Script : OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass { \r\n" +
+ @"public Script() { } " +
+ compileScript +
+ "} }\r\n";
+ return compileScript;
+ }
+
+ private static string CompileFromDotNetText(string Script, string asset)
+ {
+
+ string OutFile = asset;
+ string disp ="OK";
+
+ try
+ {
+ File.Delete(OutFile);
+ }
+ catch (Exception e) // NOTLEGIT - Should be just FileIOException
+ {
+ throw new Exception("Unable to delete old existing "+
+ "script-file before writing new. Compile aborted: " +
+ e.ToString());
+ }
+
+ // Do actual compile
+ CompilerParameters parameters = new CompilerParameters();
+
+ parameters.IncludeDebugInformation = true;
+
+ string rootPath =
+ Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory);
+
+ parameters.ReferencedAssemblies.Add(Path.Combine(rootPath,
+ "OpenSim.Region.ScriptEngine.Shared.dll"));
+ parameters.ReferencedAssemblies.Add(Path.Combine(rootPath,
+ "OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll"));
+
+ parameters.GenerateExecutable = false;
+ parameters.OutputAssembly = OutFile;
+ parameters.IncludeDebugInformation = true;
+ parameters.WarningLevel = 1;
+ parameters.TreatWarningsAsErrors = false;
+
+ CompilerResults results = CScodeProvider.CompileAssemblyFromSource(parameters, Script);
+
+ if (results.Errors.Count > 0)
+ {
+ string errtext = String.Empty;
+ foreach (CompilerError CompErr in results.Errors)
+ {
+ string severity = "Error";
+ if ( CompErr.IsWarning )
+ {
+ severity = "Warning";
+ }
+
+ KeyValuePair lslPos;
+
+ lslPos = FindErrorPosition(CompErr.Line, CompErr.Column);
+
+ string text = CompErr.ErrorText;
+
+ text = ReplaceTypes(CompErr.ErrorText);
+
+ // The Second Life viewer's script editor begins
+ // countingn lines and columns at 0, so we subtract 1.
+ errtext += String.Format("Line ({0},{1}): {4} {2}: {3}\n",
+ lslPos.Key - 1, lslPos.Value - 1,
+ CompErr.ErrorNumber, text, severity);
+ }
+
+ disp = "Completed with errors";
+
+ if (!File.Exists(OutFile))
+ {
+ throw new Exception(errtext);
+ }
+ }
+
+ if (!File.Exists(OutFile))
+ {
+ string errtext = String.Empty;
+ errtext += "No compile error. But not able to locate compiled file.";
+ throw new Exception(errtext);
+ }
+
+ // Because windows likes to perform exclusive locks, we simply
+ // write out a textual representation of the file here
+ //
+ // Read the binary file into a buffer
+ //
+ FileInfo fi = new FileInfo(OutFile);
+
+ if (fi == null)
+ {
+ string errtext = String.Empty;
+ errtext += "No compile error. But not able to stat file.";
+ throw new Exception(errtext);
+ }
+
+ Byte[] data = new Byte[fi.Length];
+
+ try
+ {
+ FileStream fs = File.Open(OutFile, FileMode.Open, FileAccess.Read);
+ fs.Read(data, 0, data.Length);
+ fs.Close();
+ }
+ catch (Exception)
+ {
+ string errtext = String.Empty;
+ errtext += "No compile error. But not able to open file.";
+ throw new Exception(errtext);
+ }
+
+ // Convert to base64
+ //
+ string filetext = System.Convert.ToBase64String(data);
+
+ System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
+
+ Byte[] buf = enc.GetBytes(filetext);
+
+ FileStream sfs = File.Create(OutFile+".text");
+ sfs.Write(buf, 0, buf.Length);
+ sfs.Close();
+
+ string posmap = String.Empty;
+ if (m_positionMap != null)
+ {
+ foreach (KeyValuePair, KeyValuePair> kvp in m_positionMap)
+ {
+ KeyValuePair k = kvp.Key;
+ KeyValuePair v = kvp.Value;
+ posmap += String.Format("{0},{1},{2},{3}\n",
+ k.Key, k.Value, v.Key, v.Value);
+ }
+ }
+
+ buf = enc.GetBytes(posmap);
+
+ FileStream mfs = File.Create(OutFile+".map");
+ mfs.Write(buf, 0, buf.Length);
+ mfs.Close();
+
+ return disp;
+ }
+
+ private static string ReplaceTypes(string message)
+ {
+ message = message.Replace(
+ "OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString",
+ "string");
+
+ message = message.Replace(
+ "OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger",
+ "integer");
+
+ message = message.Replace(
+ "OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat",
+ "float");
+
+ message = message.Replace(
+ "OpenSim.Region.ScriptEngine.Shared.LSL_Types.list",
+ "list");
+
+ return message;
+ }
+
+ private static KeyValuePair FindErrorPosition(int line, int col)
+ {
+ return FindErrorPosition(line, col, m_positionMap);
+ }
+
+ private class kvpSorter : IComparer>
+ {
+ public int Compare(KeyValuePair a,
+ KeyValuePair b)
+ {
+ return a.Key.CompareTo(b.Key);
+ }
+ }
+
+ public static KeyValuePair FindErrorPosition(int line,
+ int col, Dictionary,
+ KeyValuePair> positionMap)
+ {
+ if (positionMap == null || positionMap.Count == 0)
+ return new KeyValuePair(line, col);
+
+ KeyValuePair ret = new KeyValuePair();
+
+ if (positionMap.TryGetValue(new KeyValuePair(line, col),
+ out ret))
+ return ret;
+
+ List> sorted =
+ new List>(positionMap.Keys);
+
+ sorted.Sort(new kvpSorter());
+
+ int l = 1;
+ int c = 1;
+
+ foreach (KeyValuePair cspos in sorted)
+ {
+ if (cspos.Key >= line)
+ {
+ if (cspos.Key > line)
+ return new KeyValuePair(l, c);
+ if (cspos.Value > col)
+ return new KeyValuePair(l, c);
+ c = cspos.Value;
+ if (c == 0)
+ c++;
+ }
+ else
+ {
+ l = cspos.Key;
+ }
+ }
+ return new KeyValuePair(l, c);
+ }
+ }
+}
--
cgit v1.1
From 8f133cb46b405988c89a708027cd1748dc87ce7c Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Fri, 18 Sep 2009 19:28:58 -0700
Subject: Renamed the project lslc to OpenSim.Tools.lslc to conform to the
naming conventions so far. Added copyright to it.
---
OpenSim/Tools/Compiler/Program.cs | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Compiler/Program.cs b/OpenSim/Tools/Compiler/Program.cs
index 0141f48..9cd6bc8 100644
--- a/OpenSim/Tools/Compiler/Program.cs
+++ b/OpenSim/Tools/Compiler/Program.cs
@@ -1,3 +1,29 @@
+/*
+ * 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 OpenSimulator 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;
--
cgit v1.1
From f00126dc2dfc9e23aa50227f02ee9adbe1efdfa6 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Tue, 29 Sep 2009 08:32:59 +0900
Subject: Add copyright header. Formatting cleanup.
---
OpenSim/Tools/Compiler/Program.cs | 36 ++++++++++++++++--------------------
1 file changed, 16 insertions(+), 20 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Compiler/Program.cs b/OpenSim/Tools/Compiler/Program.cs
index 9cd6bc8..b18e029 100644
--- a/OpenSim/Tools/Compiler/Program.cs
+++ b/OpenSim/Tools/Compiler/Program.cs
@@ -37,19 +37,19 @@ namespace OpenSim.Tools.LSL.Compiler
class Program
{
private static Dictionary, KeyValuePair> m_positionMap;
- private static CSharpCodeProvider CScodeProvider = new CSharpCodeProvider();
+ private static CSharpCodeProvider CScodeProvider = new CSharpCodeProvider();
static void Main(string[] args)
{
- string source = null;
+ string source = null;
- if(args.Length == 0)
+ if (args.Length == 0)
{
Console.WriteLine("No input file specified");
Environment.Exit(1);
}
- if(!File.Exists(args[0]))
+ if (!File.Exists(args[0]))
{
Console.WriteLine("Input file does not exist");
Environment.Exit(1);
@@ -136,11 +136,7 @@ namespace OpenSim.Tools.LSL.Compiler
string errtext = String.Empty;
foreach (CompilerError CompErr in results.Errors)
{
- string severity = "Error";
- if ( CompErr.IsWarning )
- {
- severity = "Warning";
- }
+ string severity = CompErr.IsWarning ? "Warning" : "Error";
KeyValuePair lslPos;
@@ -153,8 +149,8 @@ namespace OpenSim.Tools.LSL.Compiler
// The Second Life viewer's script editor begins
// countingn lines and columns at 0, so we subtract 1.
errtext += String.Format("Line ({0},{1}): {4} {2}: {3}\n",
- lslPos.Key - 1, lslPos.Value - 1,
- CompErr.ErrorNumber, text, severity);
+ lslPos.Key - 1, lslPos.Value - 1,
+ CompErr.ErrorNumber, text, severity);
}
disp = "Completed with errors";
@@ -237,20 +233,20 @@ namespace OpenSim.Tools.LSL.Compiler
private static string ReplaceTypes(string message)
{
message = message.Replace(
- "OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString",
- "string");
+ "OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString",
+ "string");
message = message.Replace(
- "OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger",
- "integer");
+ "OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger",
+ "integer");
message = message.Replace(
- "OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat",
- "float");
+ "OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat",
+ "float");
message = message.Replace(
- "OpenSim.Region.ScriptEngine.Shared.LSL_Types.list",
- "list");
+ "OpenSim.Region.ScriptEngine.Shared.LSL_Types.list",
+ "list");
return message;
}
@@ -263,7 +259,7 @@ namespace OpenSim.Tools.LSL.Compiler
private class kvpSorter : IComparer>
{
public int Compare(KeyValuePair a,
- KeyValuePair b)
+ KeyValuePair b)
{
return a.Key.CompareTo(b.Key);
}
--
cgit v1.1
From 2519f071f2c592aeea0414c8b2871e5df623271c Mon Sep 17 00:00:00 2001
From: John Hurliman
Date: Tue, 6 Oct 2009 02:50:59 -0700
Subject: Fixing a few compile errors in the previous commit
---
OpenSim/Tools/pCampBot/BotManager.cs | 1 -
1 file changed, 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 3f4e6ed..614b350 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -149,7 +149,6 @@ namespace pCampBot
m_td[pos].IsBackground = true;
m_td[pos].Start();
m_lBot.Add(pb);
- ThreadTracker.Add(m_td[pos]);
}
///
--
cgit v1.1
From 593ce2e1fb0530d91a66006ad069d2916d482cd2 Mon Sep 17 00:00:00 2001
From: John Hurliman
Date: Sun, 25 Oct 2009 01:01:26 -0700
Subject: Minor tweaks to get OpenSim compiling against both the current libomv
and the upcoming 0.8.0
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 426ef29..9cdbf32 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -271,7 +271,7 @@ namespace pCampBot
string[] bodyparts = Directory.GetFiles(saveDir, "*.bodypart", SearchOption.TopDirectoryOnly);
InventoryFolder clothfolder = FindClothingFolder();
UUID transid = UUID.Random();
- List listwearables = new List();
+ List listwearables = new List();
for (int i = 0; i < clothing.Length; i++)
{
--
cgit v1.1
From 0be79b285b0c73c3499cd4843c5e6e2f58bc2620 Mon Sep 17 00:00:00 2001
From: John Hurliman
Date: Sun, 25 Oct 2009 01:13:50 -0700
Subject: Having a commit fail... this fixes a typo in the previous commit(s?)
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 9cdbf32..426ef29 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -271,7 +271,7 @@ namespace pCampBot
string[] bodyparts = Directory.GetFiles(saveDir, "*.bodypart", SearchOption.TopDirectoryOnly);
InventoryFolder clothfolder = FindClothingFolder();
UUID transid = UUID.Random();
- List listwearables = new List();
+ List listwearables = new List();
for (int i = 0; i < clothing.Length; i++)
{
--
cgit v1.1
From b498693cff9b044e8ab3c7a88a18e9d67f16461b Mon Sep 17 00:00:00 2001
From: John Hurliman
Date: Tue, 27 Oct 2009 01:46:14 -0700
Subject: * Tweak to region module loading to check for a matching constructor
first instead of throwing and catching exceptions * Commenting out the MySQL
startup sequence that cleans out dropped attachments under the advice that it
is no longer relevant. If anything, it could be brought back as a database
cleanup console command * Updated to the latest libomv 0.8.0-pre.
UUID.TryParse() will no longer throw and catch exceptions for most failed
UUID parses
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 426ef29..38986a2 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -154,7 +154,7 @@ namespace pCampBot
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);
- client.Objects.OnNewPrim += Objects_NewPrim;
+ client.Objects.ObjectUpdate += Objects_NewPrim;
//client.Assets.OnAssetReceived += Asset_ReceivedCallback;
if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
{
@@ -369,8 +369,10 @@ namespace pCampBot
}
}
- public void Objects_NewPrim(Simulator simulator, Primitive prim, ulong regionHandle, ushort timeDilation)
+ public void Objects_NewPrim(object sender, PrimEventArgs args)
{
+ Primitive prim = args.Prim;
+
if (prim != null)
{
if (prim.Textures != null)
@@ -396,7 +398,6 @@ namespace pCampBot
client.Assets.RequestImage(prim.Sculpt.SculptTexture, ImageType.Normal, Asset_TextureCallback_Texture);
}
}
-
}
--
cgit v1.1
From a05c67bebb8a504858706619335c035948907158 Mon Sep 17 00:00:00 2001
From: John Hurliman
Date: Fri, 30 Oct 2009 00:08:41 -0700
Subject: * Fixes issue #4329 "llDialog fails silently" by updating
OpenMetaverse.dll * Prints a warning for any future packet splitting failures
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 38986a2..5d4af31 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -151,9 +151,9 @@ namespace pCampBot
client.Throttle.Texture = 100000;
client.Throttle.Wind = 100000;
client.Throttle.Total = 400000;
- 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);
+ client.Network.LoginProgress += this.Network_LoginProgress;
+ client.Network.SimConnected += this.Network_SimConnected;
+ client.Network.Disconnected += this.Network_OnDisconnected;
client.Objects.ObjectUpdate += Objects_NewPrim;
//client.Assets.OnAssetReceived += Asset_ReceivedCallback;
if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
@@ -349,19 +349,22 @@ namespace pCampBot
return clothfolder;
}
- public void Network_OnConnected(object sender)
+ public void Network_LoginProgress(object sender, LoginProgressEventArgs args)
{
- if (OnConnected != null)
+ if (args.Status == LoginStatus.Success)
{
- OnConnected(this, EventType.CONNECTED);
+ if (OnConnected != null)
+ {
+ OnConnected(this, EventType.CONNECTED);
+ }
}
}
- public void Simulator_Connected(object sender)
+ public void Network_SimConnected(object sender, SimConnectedEventArgs args)
{
}
- public void Network_OnDisconnected(NetworkManager.DisconnectType reason, string message)
+ public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
{
if (OnDisconnected != null)
{
--
cgit v1.1
From 73dcbbd57ac3272bb416e20280a791aa03d2a185 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 24 Nov 2009 17:32:14 +0000
Subject: minor: remove some mono compiler warnings
---
OpenSim/Tools/Compiler/Program.cs | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Compiler/Program.cs b/OpenSim/Tools/Compiler/Program.cs
index b18e029..249e18b 100644
--- a/OpenSim/Tools/Compiler/Program.cs
+++ b/OpenSim/Tools/Compiler/Program.cs
@@ -36,7 +36,8 @@ namespace OpenSim.Tools.LSL.Compiler
{
class Program
{
- private static Dictionary, KeyValuePair> m_positionMap;
+// Commented out because generated warning since m_positionMap could never be anything other than null
+// private static Dictionary, KeyValuePair> m_positionMap;
private static CSharpCodeProvider CScodeProvider = new CSharpCodeProvider();
static void Main(string[] args)
@@ -210,16 +211,16 @@ namespace OpenSim.Tools.LSL.Compiler
sfs.Close();
string posmap = String.Empty;
- if (m_positionMap != null)
- {
- foreach (KeyValuePair, KeyValuePair> kvp in m_positionMap)
- {
- KeyValuePair k = kvp.Key;
- KeyValuePair v = kvp.Value;
- posmap += String.Format("{0},{1},{2},{3}\n",
- k.Key, k.Value, v.Key, v.Value);
- }
- }
+// if (m_positionMap != null)
+// {
+// foreach (KeyValuePair, KeyValuePair> kvp in m_positionMap)
+// {
+// KeyValuePair k = kvp.Key;
+// KeyValuePair v = kvp.Value;
+// posmap += String.Format("{0},{1},{2},{3}\n",
+// k.Key, k.Value, v.Key, v.Value);
+// }
+// }
buf = enc.GetBytes(posmap);
@@ -253,7 +254,8 @@ namespace OpenSim.Tools.LSL.Compiler
private static KeyValuePair FindErrorPosition(int line, int col)
{
- return FindErrorPosition(line, col, m_positionMap);
+ //return FindErrorPosition(line, col, m_positionMap);
+ return FindErrorPosition(line, col, null);
}
private class kvpSorter : IComparer>
--
cgit v1.1
From 70a0d7aa4677c240ad12527adde6725df946e572 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Mon, 8 Feb 2010 15:21:35 +0000
Subject: Adding the Careminster "Configger" tool to OpenSim. The tool will,
when launched in place of OpenSim, dump the config to stdout. Use -f xml, -f
ini or -f mysql to get a condensed ini file, an xml file suitable for
webloading, or a set of mysql insert statements.
---
OpenSim/Tools/Configger/ConfigurationLoader.cs | 251 +++++++++++++++++++++++++
OpenSim/Tools/Configger/Main.cs | 108 +++++++++++
OpenSim/Tools/Configger/Util.cs | 79 ++++++++
3 files changed, 438 insertions(+)
create mode 100644 OpenSim/Tools/Configger/ConfigurationLoader.cs
create mode 100644 OpenSim/Tools/Configger/Main.cs
create mode 100644 OpenSim/Tools/Configger/Util.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Configger/ConfigurationLoader.cs b/OpenSim/Tools/Configger/ConfigurationLoader.cs
new file mode 100644
index 0000000..49af417
--- /dev/null
+++ b/OpenSim/Tools/Configger/ConfigurationLoader.cs
@@ -0,0 +1,251 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Reflection;
+using System.Threading;
+using System.Xml;
+using log4net;
+using Nini.Config;
+
+namespace Careminster
+{
+ ///
+ /// Loads the Configuration files into nIni
+ ///
+ public class ConfigurationLoader
+ {
+ ///
+ /// A source of Configuration data
+ ///
+ protected IConfigSource m_config;
+
+ ///
+ /// Console logger
+ ///
+ private static readonly ILog m_log =
+ LogManager.GetLogger(
+ MethodBase.GetCurrentMethod().DeclaringType);
+
+ public ConfigurationLoader()
+ {
+ }
+
+ ///
+ /// Loads the region configuration
+ ///
+ /// Parameters passed into the process when started
+ ///
+ ///
+ /// A configuration that gets passed to modules
+ public IConfigSource LoadConfigSettings()
+ {
+ bool iniFileExists = false;
+
+ List sources = new List();
+
+ string iniFileName = "OpenSim.ini";
+ string iniFilePath = Path.Combine(".", iniFileName);
+
+ if (IsUri(iniFileName))
+ {
+ if (!sources.Contains(iniFileName))
+ sources.Add(iniFileName);
+ }
+ else
+ {
+ if (File.Exists(iniFilePath))
+ {
+ if (!sources.Contains(iniFilePath))
+ sources.Add(iniFilePath);
+ }
+ }
+
+ m_config = new IniConfigSource();
+ m_config.Merge(DefaultConfig());
+
+ m_log.Info("[CONFIG] Reading configuration settings");
+
+ if (sources.Count == 0)
+ {
+ m_log.FatalFormat("[CONFIG] Could not load any configuration");
+ m_log.FatalFormat("[CONFIG] Did you copy the OpenSim.ini.example file to OpenSim.ini?");
+ Environment.Exit(1);
+ }
+
+ for (int i = 0 ; i < sources.Count ; i++)
+ {
+ if (ReadConfig(sources[i]))
+ iniFileExists = true;
+ AddIncludes(sources);
+ }
+
+ if (!iniFileExists)
+ {
+ m_log.FatalFormat("[CONFIG] Could not load any configuration");
+ m_log.FatalFormat("[CONFIG] Configuration exists, but there was an error loading it!");
+ Environment.Exit(1);
+ }
+
+ return m_config;
+ }
+
+ ///
+ /// Adds the included files as ini configuration files
+ ///
+ /// List of URL strings or filename strings
+ private void AddIncludes(List sources)
+ {
+ //loop over config sources
+ foreach (IConfig config in m_config.Configs)
+ {
+ // Look for Include-* in the key name
+ string[] keys = config.GetKeys();
+ foreach (string k in keys)
+ {
+ if (k.StartsWith("Include-"))
+ {
+ // read the config file to be included.
+ string file = config.GetString(k);
+ if (IsUri(file))
+ {
+ if (!sources.Contains(file))
+ sources.Add(file);
+ }
+ else
+ {
+ string basepath = Path.GetFullPath(".");
+ string path = Path.Combine(basepath, file);
+ string[] paths = Util.Glob(path);
+ foreach (string p in paths)
+ {
+ if (!sources.Contains(p))
+ sources.Add(p);
+ }
+ }
+ }
+ }
+ }
+ }
+ ///
+ /// Check if we can convert the string to a URI
+ ///
+ /// String uri to the remote resource
+ /// true if we can convert the string to a Uri object
+ bool IsUri(string file)
+ {
+ Uri configUri;
+
+ return Uri.TryCreate(file, UriKind.Absolute,
+ out configUri) && configUri.Scheme == Uri.UriSchemeHttp;
+ }
+
+ ///
+ /// Provide same ini loader functionality for standard ini and master ini - file system or XML over http
+ ///
+ /// Full path to the ini
+ ///
+ private bool ReadConfig(string iniPath)
+ {
+ bool success = false;
+
+ if (!IsUri(iniPath))
+ {
+ m_log.InfoFormat("[CONFIG] Reading configuration file {0}",
+ Path.GetFullPath(iniPath));
+
+ m_config.Merge(new IniConfigSource(iniPath));
+ success = true;
+ }
+ else
+ {
+ m_log.InfoFormat("[CONFIG] {0} is a http:// URI, fetching ...",
+ iniPath);
+
+ // The ini file path is a http URI
+ // Try to read it
+ //
+ try
+ {
+ XmlReader r = XmlReader.Create(iniPath);
+ XmlConfigSource cs = new XmlConfigSource(r);
+ m_config.Merge(cs);
+
+ success = true;
+ }
+ catch (Exception e)
+ {
+ m_log.FatalFormat("[CONFIG] Exception reading config from URI {0}\n" + e.ToString(), iniPath);
+ Environment.Exit(1);
+ }
+ }
+ return success;
+ }
+
+ ///
+ /// Setup a default config values in case they aren't present in the ini file
+ ///
+ /// A Configuration source containing the default configuration
+ private static IConfigSource DefaultConfig()
+ {
+ IConfigSource defaultConfig = new IniConfigSource();
+
+ {
+ IConfig config = defaultConfig.Configs["Startup"];
+
+ if (null == config)
+ config = defaultConfig.AddConfig("Startup");
+
+ config.Set("region_info_source", "filesystem");
+
+ config.Set("gridmode", false);
+ config.Set("physics", "OpenDynamicsEngine");
+ config.Set("meshing", "Meshmerizer");
+ config.Set("physical_prim", true);
+ config.Set("see_into_this_sim_from_neighbor", true);
+ config.Set("serverside_object_permissions", false);
+ config.Set("storage_plugin", "OpenSim.Data.SQLite.dll");
+ config.Set("storage_connection_string", "URI=file:OpenSim.db,version=3");
+ config.Set("storage_prim_inventories", true);
+ config.Set("startup_console_commands_file", String.Empty);
+ config.Set("shutdown_console_commands_file", String.Empty);
+ config.Set("DefaultScriptEngine", "XEngine");
+ config.Set("clientstack_plugin", "OpenSim.Region.ClientStack.LindenUDP.dll");
+ // life doesn't really work without this
+ config.Set("EventQueue", true);
+ }
+
+ {
+ IConfig config = defaultConfig.Configs["StandAlone"];
+
+ if (null == config)
+ config = defaultConfig.AddConfig("StandAlone");
+
+ config.Set("accounts_authenticate", true);
+ config.Set("welcome_message", "Welcome to OpenSimulator");
+ config.Set("inventory_plugin", "OpenSim.Data.SQLite.dll");
+ config.Set("inventory_source", "");
+ config.Set("userDatabase_plugin", "OpenSim.Data.SQLite.dll");
+ config.Set("user_source", "");
+ config.Set("LibrariesXMLFile", string.Format(".{0}inventory{0}Libraries.xml", Path.DirectorySeparatorChar));
+ }
+
+ {
+ IConfig config = defaultConfig.Configs["Network"];
+
+ if (null == config)
+ config = defaultConfig.AddConfig("Network");
+
+ config.Set("default_location_x", 1000);
+ config.Set("default_location_y", 1000);
+ config.Set("grid_send_key", "null");
+ config.Set("grid_recv_key", "null");
+ config.Set("user_send_key", "null");
+ config.Set("user_recv_key", "null");
+ config.Set("secure_inventory_server", "true");
+ }
+
+ return defaultConfig;
+ }
+
+ }
+}
diff --git a/OpenSim/Tools/Configger/Main.cs b/OpenSim/Tools/Configger/Main.cs
new file mode 100644
index 0000000..c85f0d2
--- /dev/null
+++ b/OpenSim/Tools/Configger/Main.cs
@@ -0,0 +1,108 @@
+using Nini.Config;
+using System;
+
+namespace Careminster
+{
+ public class Configger
+ {
+ public static int Main(string[] args)
+ {
+ ArgvConfigSource argvConfig = new ArgvConfigSource(args);
+ argvConfig.AddSwitch("Startup", "format", "f");
+
+ IConfig startupConfig = argvConfig.Configs["Startup"];
+
+ string format = startupConfig.GetString("format", "ini");
+
+ ConfigurationLoader loader = new ConfigurationLoader();
+
+ IConfigSource s = loader.LoadConfigSettings();
+
+ if (format == "mysql")
+ {
+ foreach (IConfig c in s.Configs)
+ {
+ foreach (string k in c.GetKeys())
+ {
+ string v = c.GetString(k);
+
+ if (k.StartsWith("Include-"))
+ continue;
+ Console.WriteLine("insert ignore into config (section, name, value) values ('{0}', '{1}', '{2}');", c.Name, k, v);
+ }
+ }
+ }
+ else if (format == "xml")
+ {
+ Console.WriteLine("");
+
+ foreach (IConfig c in s.Configs)
+ {
+ int count = 0;
+
+ foreach (string k in c.GetKeys())
+ {
+ if (k.StartsWith("Include-"))
+ continue;
+
+ count++;
+ }
+
+ if (count > 0)
+ {
+ Console.WriteLine("", c.Name);
+
+ foreach (string k in c.GetKeys())
+ {
+ string v = c.GetString(k);
+
+ if (k.StartsWith("Include-"))
+ continue;
+ Console.WriteLine(" ", k, v);
+
+ Console.WriteLine("");
+ }
+ }
+ }
+ Console.WriteLine("");
+ }
+ else if (format == "ini")
+ {
+ foreach (IConfig c in s.Configs)
+ {
+ int count = 0;
+
+ foreach (string k in c.GetKeys())
+ {
+ if (k.StartsWith("Include-"))
+ continue;
+
+ count++;
+ }
+
+ if (count > 0)
+ {
+ Console.WriteLine("[{0}]", c.Name);
+
+ foreach (string k in c.GetKeys())
+ {
+ string v = c.GetString(k);
+
+ if (k.StartsWith("Include-"))
+ continue;
+ Console.WriteLine("{0} = \"{1}\"", k, v);
+ }
+
+ Console.WriteLine();
+ }
+ }
+ }
+ else
+ {
+ Console.WriteLine("Error: unknown format: {0}", format);
+ }
+
+ return 0;
+ }
+ }
+}
diff --git a/OpenSim/Tools/Configger/Util.cs b/OpenSim/Tools/Configger/Util.cs
new file mode 100644
index 0000000..6f8aa76
--- /dev/null
+++ b/OpenSim/Tools/Configger/Util.cs
@@ -0,0 +1,79 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using System.IO.Compression;
+using System.Net;
+using System.Net.Sockets;
+using System.Reflection;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading;
+using log4net;
+using Nini.Config;
+
+namespace Careminster
+{
+ public static class Util
+ {
+ public static string[] Glob(string path)
+ {
+ string vol=String.Empty;
+
+ if (Path.VolumeSeparatorChar != Path.DirectorySeparatorChar)
+ {
+ string[] vcomps = path.Split(new char[] {Path.VolumeSeparatorChar}, 2, StringSplitOptions.RemoveEmptyEntries);
+
+ if (vcomps.Length > 1)
+ {
+ path = vcomps[1];
+ vol = vcomps[0];
+ }
+ }
+
+ string[] comps = path.Split(new char[] {Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar}, StringSplitOptions.RemoveEmptyEntries);
+
+ // Glob
+
+ path = vol;
+ if (vol != String.Empty)
+ path += new String(new char[] {Path.VolumeSeparatorChar, Path.DirectorySeparatorChar});
+ else
+ path = new String(new char[] {Path.DirectorySeparatorChar});
+
+ List paths = new List();
+ List found = new List();
+ paths.Add(path);
+
+ int compIndex = -1;
+ foreach (string c in comps)
+ {
+ compIndex++;
+
+ List addpaths = new List();
+ foreach (string p in paths)
+ {
+ string[] dirs = Directory.GetDirectories(p, c);
+
+ if (dirs.Length != 0)
+ {
+ foreach (string dir in dirs)
+ addpaths.Add(Path.Combine(path, dir));
+ }
+
+ // Only add files if that is the last path component
+ if (compIndex == comps.Length - 1)
+ {
+ string[] files = Directory.GetFiles(p, c);
+ foreach (string f in files)
+ found.Add(f);
+ }
+ }
+ paths = addpaths;
+ }
+
+ return found.ToArray();
+ }
+ }
+}
--
cgit v1.1
From b8346e87d89f177b659852906be23890336b3931 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Mon, 8 Feb 2010 16:12:20 +0000
Subject: Bug fix in configger
---
OpenSim/Tools/Configger/Main.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Configger/Main.cs b/OpenSim/Tools/Configger/Main.cs
index c85f0d2..192cfce 100644
--- a/OpenSim/Tools/Configger/Main.cs
+++ b/OpenSim/Tools/Configger/Main.cs
@@ -59,9 +59,9 @@ namespace Careminster
if (k.StartsWith("Include-"))
continue;
Console.WriteLine(" ", k, v);
-
- Console.WriteLine("");
}
+
+ Console.WriteLine("");
}
}
Console.WriteLine("");
--
cgit v1.1
From 61c8bbb4f01d867faf93461dc8315c8ae86107f6 Mon Sep 17 00:00:00 2001
From: Melanie
Date: Mon, 8 Feb 2010 22:50:59 +0000
Subject: Add license header and change branded namespace to generic
---
OpenSim/Tools/Configger/ConfigurationLoader.cs | 29 +++++++++++++++++++++++++-
OpenSim/Tools/Configger/Main.cs | 29 +++++++++++++++++++++++++-
OpenSim/Tools/Configger/Util.cs | 29 +++++++++++++++++++++++++-
3 files changed, 84 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Configger/ConfigurationLoader.cs b/OpenSim/Tools/Configger/ConfigurationLoader.cs
index 49af417..1619a22 100644
--- a/OpenSim/Tools/Configger/ConfigurationLoader.cs
+++ b/OpenSim/Tools/Configger/ConfigurationLoader.cs
@@ -1,3 +1,30 @@
+/*
+ * 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 OpenSimulator 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;
@@ -7,7 +34,7 @@ using System.Xml;
using log4net;
using Nini.Config;
-namespace Careminster
+namespace OpenSim.Tools.Configger
{
///
/// Loads the Configuration files into nIni
diff --git a/OpenSim/Tools/Configger/Main.cs b/OpenSim/Tools/Configger/Main.cs
index 192cfce..61a12e3 100644
--- a/OpenSim/Tools/Configger/Main.cs
+++ b/OpenSim/Tools/Configger/Main.cs
@@ -1,7 +1,34 @@
+/*
+ * 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 OpenSimulator 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 Nini.Config;
using System;
-namespace Careminster
+namespace OpenSim.Tools.Configger
{
public class Configger
{
diff --git a/OpenSim/Tools/Configger/Util.cs b/OpenSim/Tools/Configger/Util.cs
index 6f8aa76..fe7744d 100644
--- a/OpenSim/Tools/Configger/Util.cs
+++ b/OpenSim/Tools/Configger/Util.cs
@@ -1,3 +1,30 @@
+/*
+ * 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 OpenSimulator 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;
using System.Collections.Generic;
@@ -13,7 +40,7 @@ using System.Threading;
using log4net;
using Nini.Config;
-namespace Careminster
+namespace OpenSim.Tools.Configger
{
public static class Util
{
--
cgit v1.1
From bdc03dbff958459d0e2fd96045a859455293bf37 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Wed, 14 Apr 2010 10:36:03 -0700
Subject: * Added 32bitLauncher for Robust. Still need to test it on a 64 bit
machine. * PrimitiveBaseShape wants to be be committed too -- EOF.
---
OpenSim/Tools/Robust.32BitLaunch/Program.cs | 60 +++++++++++++++++++++
.../Robust.32BitLaunch/Properties/AssemblyInfo.cs | 63 ++++++++++++++++++++++
.../Robust.32BitLaunch/Robust.32BitLaunch.sln | 20 +++++++
3 files changed, 143 insertions(+)
create mode 100644 OpenSim/Tools/Robust.32BitLaunch/Program.cs
create mode 100644 OpenSim/Tools/Robust.32BitLaunch/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.sln
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Robust.32BitLaunch/Program.cs b/OpenSim/Tools/Robust.32BitLaunch/Program.cs
new file mode 100644
index 0000000..490414c
--- /dev/null
+++ b/OpenSim/Tools/Robust.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 OpenSimulator 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 log4net;
+
+namespace Robust._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
+ {
+ global::OpenSim.Server.OpenSimServer.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/Robust.32BitLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/Robust.32BitLaunch/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..cf80f47
--- /dev/null
+++ b/OpenSim/Tools/Robust.32BitLaunch/Properties/AssemblyInfo.cs
@@ -0,0 +1,63 @@
+/*
+ * 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 OpenSimulator 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("Robust.32BitLaunch")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("http://opensimulator.org")]
+[assembly: AssemblyProduct("Robust.32BitLaunch")]
+[assembly: AssemblyCopyright("Copyright (c) 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("0.6.3.*")]
+[assembly: AssemblyVersion("0.6.3.*")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.sln b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.sln
new file mode 100644
index 0000000..c7c97b1
--- /dev/null
+++ b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual C# Express 2008
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robust.32BitLaunch", "Robust.32BitLaunch.csproj", "{595D67F3-B413-4A43-8568-5B5930E3B31D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
--
cgit v1.1
From 407b48f3bb20b643c694c725bbf94a02e73d9fd6 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Wed, 14 Apr 2010 19:22:48 -0700
Subject: The missing .csproj for the Robust 32 bit launcher
---
.../Robust.32BitLaunch/Robust.32BitLaunch.csproj | 62 ++++++++++++++++++++++
1 file changed, 62 insertions(+)
create mode 100644 OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj
new file mode 100644
index 0000000..f19e082
--- /dev/null
+++ b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj
@@ -0,0 +1,62 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.30729
+ 2.0
+ {595D67F3-B413-4A43-8568-5B5930E3B31D}
+ Exe
+ Properties
+ Robust._32BitLaunch
+ Robust.32BitLaunch
+ v3.5
+ 512
+
+
+ true
+ full
+ false
+ ..\..\..\bin\
+ DEBUG;TRACE
+ prompt
+ 4
+ x86
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ False
+ ..\..\..\bin\log4net.dll
+
+
+ False
+ ..\..\..\bin\OpenSim.Server.exe
+
+
+
+ 3.5
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
--
cgit v1.1
From 7868f1f650a7d20ca7a6b5a236f89301c193444e Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Sun, 27 Jun 2010 13:06:39 -0700
Subject: Fixed Robust.32BitLaunch.exe
---
OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj
index f19e082..481b3f8 100644
--- a/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj
+++ b/OpenSim/Tools/Robust.32BitLaunch/Robust.32BitLaunch.csproj
@@ -36,9 +36,9 @@
False
..\..\..\bin\log4net.dll
-
+
False
- ..\..\..\bin\OpenSim.Server.exe
+ ..\..\..\bin\Robust.exe
--
cgit v1.1
From 09ab32c21e0974e85698d2d758495d99063dedf8 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Wed, 4 Aug 2010 03:23:19 +0200
Subject: Remove StandAlone from default hardcoded config
---
OpenSim/Tools/Configger/ConfigurationLoader.cs | 15 ---------------
1 file changed, 15 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Configger/ConfigurationLoader.cs b/OpenSim/Tools/Configger/ConfigurationLoader.cs
index 1619a22..3d1b668 100644
--- a/OpenSim/Tools/Configger/ConfigurationLoader.cs
+++ b/OpenSim/Tools/Configger/ConfigurationLoader.cs
@@ -242,21 +242,6 @@ namespace OpenSim.Tools.Configger
}
{
- IConfig config = defaultConfig.Configs["StandAlone"];
-
- if (null == config)
- config = defaultConfig.AddConfig("StandAlone");
-
- config.Set("accounts_authenticate", true);
- config.Set("welcome_message", "Welcome to OpenSimulator");
- config.Set("inventory_plugin", "OpenSim.Data.SQLite.dll");
- config.Set("inventory_source", "");
- config.Set("userDatabase_plugin", "OpenSim.Data.SQLite.dll");
- config.Set("user_source", "");
- config.Set("LibrariesXMLFile", string.Format(".{0}inventory{0}Libraries.xml", Path.DirectorySeparatorChar));
- }
-
- {
IConfig config = defaultConfig.Configs["Network"];
if (null == config)
--
cgit v1.1
From 604ea5fa90a6e7817a09f8e27ea1c001d151a5ae Mon Sep 17 00:00:00 2001
From: Melanie
Date: Wed, 4 Aug 2010 03:53:51 +0100
Subject: remove more useless defaults
---
OpenSim/Tools/Configger/ConfigurationLoader.cs | 5 -----
1 file changed, 5 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Configger/ConfigurationLoader.cs b/OpenSim/Tools/Configger/ConfigurationLoader.cs
index 3d1b668..f82eb58 100644
--- a/OpenSim/Tools/Configger/ConfigurationLoader.cs
+++ b/OpenSim/Tools/Configger/ConfigurationLoader.cs
@@ -249,11 +249,6 @@ namespace OpenSim.Tools.Configger
config.Set("default_location_x", 1000);
config.Set("default_location_y", 1000);
- config.Set("grid_send_key", "null");
- config.Set("grid_recv_key", "null");
- config.Set("user_send_key", "null");
- config.Set("user_recv_key", "null");
- config.Set("secure_inventory_server", "true");
}
return defaultConfig;
--
cgit v1.1
From f72ab53699d40a0d3c4455293add2b7f189c2a4f Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Wed, 4 Aug 2010 07:50:34 -0700
Subject: Removed a few more obsolete default configs.
---
OpenSim/Tools/Configger/ConfigurationLoader.cs | 10 ----------
1 file changed, 10 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Configger/ConfigurationLoader.cs b/OpenSim/Tools/Configger/ConfigurationLoader.cs
index f82eb58..e74debb 100644
--- a/OpenSim/Tools/Configger/ConfigurationLoader.cs
+++ b/OpenSim/Tools/Configger/ConfigurationLoader.cs
@@ -241,16 +241,6 @@ namespace OpenSim.Tools.Configger
config.Set("EventQueue", true);
}
- {
- IConfig config = defaultConfig.Configs["Network"];
-
- if (null == config)
- config = defaultConfig.AddConfig("Network");
-
- config.Set("default_location_x", 1000);
- config.Set("default_location_y", 1000);
- }
-
return defaultConfig;
}
--
cgit v1.1
From ae43a07f3bf5bd91e4ae7ed9b82c44d610b72044 Mon Sep 17 00:00:00 2001
From: Marck
Date: Tue, 10 Aug 2010 16:07:21 +0200
Subject: Configuration files can read include files from relative paths.
---
OpenSim/Tools/Configger/ConfigurationLoader.cs | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Configger/ConfigurationLoader.cs b/OpenSim/Tools/Configger/ConfigurationLoader.cs
index e74debb..8e71b42 100644
--- a/OpenSim/Tools/Configger/ConfigurationLoader.cs
+++ b/OpenSim/Tools/Configger/ConfigurationLoader.cs
@@ -141,7 +141,17 @@ namespace OpenSim.Tools.Configger
else
{
string basepath = Path.GetFullPath(".");
- string path = Path.Combine(basepath, file);
+ // Resolve relative paths with wildcards
+ string chunkWithoutWildcards = file;
+ string chunkWithWildcards = string.Empty;
+ int wildcardIndex = file.IndexOfAny(new char[] { '*', '?' });
+ if (wildcardIndex != -1)
+ {
+ chunkWithoutWildcards = file.Substring(0, wildcardIndex);
+ chunkWithWildcards = file.Substring(wildcardIndex);
+ }
+ string path = Path.Combine(basepath, chunkWithoutWildcards);
+ path = Path.GetFullPath(path) + chunkWithWildcards;
string[] paths = Util.Glob(path);
foreach (string p in paths)
{
--
cgit v1.1
From a72c7812f43791a6cb768d783b03478383745f12 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 19 Aug 2010 01:11:10 +0100
Subject: remove ancient and unused OpenSim.GridLaunch GUI code.
Current policy is that OpenSim core is not the place for gui tools
---
OpenSim/Tools/OpenSim.GridLaunch/App.config | 40 -
OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs | 247 ------
.../OpenSim.GridLaunch/AppExecutor_AsyncIO.cs | 85 --
.../Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs | 187 -----
.../Tools/OpenSim.GridLaunch/CommandProcessor.cs | 76 --
.../OpenSim.GridLaunch/GUI/Console/Console.cs | 122 ---
OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs | 39 -
.../Tools/OpenSim.GridLaunch/GUI/Network/Client.cs | 113 ---
.../Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs | 231 ------
.../OpenSim.GridLaunch/GUI/Service/Service.cs | 65 --
.../GUI/WinForm/OpenSim Bottom Border.png | Bin 163 -> 0 bytes
.../GUI/WinForm/OpenSim Right Border.png | Bin 545 -> 0 bytes
.../OpenSim.GridLaunch/GUI/WinForm/OpenSim.png | Bin 44406 -> 0 bytes
.../GUI/WinForm/ProcessPanel.Designer.cs | 224 ------
.../OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs | 288 -------
.../GUI/WinForm/ProcessPanel.resx | 882 ---------------------
.../GUI/WinForm/ucAppWindow.Designer.cs | 72 --
.../OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs | 63 --
.../GUI/WinForm/ucAppWindow.resx | 120 ---
.../GUI/WinForm/ucInputField.Designer.cs | 77 --
.../OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs | 97 ---
.../GUI/WinForm/ucInputField.resx | 120 ---
.../GUI/WinForm/ucLogWindow.Designer.cs | 62 --
.../OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs | 80 --
.../GUI/WinForm/ucLogWindow.resx | 120 ---
.../OpenSim.GridLaunch/OpenSim.GridLaunch.csproj | 126 ---
.../OpenSim.GridLaunch/OpenSim.GridLaunch.ini | 3 -
.../OpenSim.GridLaunch/OpenSim.GridLaunch.sln | 20 -
OpenSim/Tools/OpenSim.GridLaunch/Program.cs | 245 ------
.../OpenSim.GridLaunch/Properties/AssemblyInfo.cs | 63 --
.../Properties/Resources.Designer.cs | 84 --
.../OpenSim.GridLaunch/Properties/Resources.resx | 130 ---
OpenSim/Tools/OpenSim.GridLaunch/Settings.cs | 181 -----
.../Tools/OpenSim.GridLaunch/log4netAppender.cs | 65 --
34 files changed, 4327 deletions(-)
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/App.config
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Bottom Border.png
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Right Border.png
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.Designer.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.resx
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.Designer.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.resx
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.Designer.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.resx
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.Designer.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.resx
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.ini
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.sln
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/Program.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.Designer.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.resx
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/Settings.cs
delete mode 100644 OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/App.config b/OpenSim/Tools/OpenSim.GridLaunch/App.config
deleted file mode 100644
index 1e53319..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/App.config
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs
deleted file mode 100644
index 638956e..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor.cs
+++ /dev/null
@@ -1,247 +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 OpenSimulator 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;
-using System.Diagnostics;
-using System.IO;
-using System.Reflection;
-using System.Text;
-using System.Threading;
-using log4net;
-
-namespace OpenSim.GridLaunch
-{
- internal partial class AppExecutor : IDisposable
- {
- // How long to wait for process to shut down by itself
- private static readonly int shutdownWaitSeconds = 10;
-
- private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
-
- //private StreamWriter Input { get { return process.StandardInput; } }
- //private StreamReader Output { get { return process.StandardOutput; } }
- //private StreamReader Error { get { return process.StandardError; } }
-
- private StreamWriter Input { get; set; }
- private StreamReader Output { get; set; }
- private StreamReader Error { get; set; }
-
- private object processLock = new object();
-
- private bool isRunning = false;
- public bool IsRunning { get { return isRunning; } }
-
- private string file;
- public string File { get { return file; } }
-
- Process process;
-
- public AppExecutor(string File)
- {
- file = File;
- }
-
- #region Dispose of unmanaged resources
- ~AppExecutor()
- {
- Dispose();
- }
- private bool isDisposed = false;
- public void Dispose()
- {
- if (!isDisposed)
- {
- isDisposed = true;
- Stop();
- }
- }
- #endregion
-
- #region Start / Stop process
- public void Start()
- {
- if (isDisposed)
- throw new ApplicationException("Attempt to start process in Disposed instance of AppExecutor.");
- // Stop before starting
- Stop();
-
- lock (processLock)
- {
- isRunning = true;
-
- m_log.InfoFormat("Starting \"{0}\".", file);
-
- // Start the process
- process = new Process();
- process.StartInfo.FileName = file;
- process.StartInfo.Arguments = "";
- process.StartInfo.CreateNoWindow = true;
- process.StartInfo.UseShellExecute = false;
- process.StartInfo.ErrorDialog = false;
- process.EnableRaisingEvents = true;
-
-
- // Redirect all standard input/output/errors
- process.StartInfo.RedirectStandardInput = true;
- process.StartInfo.RedirectStandardOutput = true;
- process.StartInfo.RedirectStandardError = true;
-
- // Start process
- process.Start();
-
- Input = process.StandardInput;
- Output = process.StandardOutput;
- Error = process.StandardError;
-
- // Start data copying
- timer_Start();
-
- // We will flush manually
- //Input.AutoFlush = false;
-
- }
- }
-
- public void Stop()
- {
- // Shut down process
- // We will ignore some exceptions here, against good programming practice... :)
-
- lock (processLock)
- {
- // Running?
- if (!isRunning)
- return;
- isRunning = false;
-
- timer_Stop();
-
- m_log.InfoFormat("Stopping \"{0}\".", file);
-
- // Send exit command to console
- try
- {
- if (Input != null)
- {
- _writeLine("");
- _writeLine("exit");
- _writeLine("quit");
- // Wait for process to exit
- process.WaitForExit(1000 * shutdownWaitSeconds);
- }
- }
- catch (Exception ex)
- {
- m_log.ErrorFormat("Exeption asking \"{0}\" to shut down: {1}", file, ex.ToString());
- }
-
- try
- {
- // Forcefully kill it
- if (process.HasExited != true)
- process.Kill();
- }
- catch (Exception ex)
- {
- m_log.ErrorFormat("Exeption killing \"{0}\": {1}", file, ex.ToString());
- }
-
- try
- {
- // Free resources
- process.Close();
- }
- catch (Exception ex)
- {
- m_log.ErrorFormat("Exeption freeing resources for \"{0}\": {1}", file, ex.ToString());
- }
-
- // Dispose of stream and process object
- //SafeDisposeOf(Input);
- //SafeDisposeOf(Output);
- //SafeDisposeOf(Error);
- Program.SafeDisposeOf(process);
- }
-
- // Done stopping process
- }
-
- #endregion
-
- #region Write to stdInput
- public void Write(string Text)
- {
- // Lock so process won't shut down while we write, and that we won't write while proc is shutting down
- lock (processLock)
- {
- _write(Text);
- }
- }
- public void _write(string Text)
- {
- if (Input != null)
- {
- try
- {
- Input.Write(Text);
- Input.Flush();
- }
- catch (Exception ex)
- {
- m_log.ErrorFormat("Exeption sending text \"{0}\" to \"{1}\": {2}", file, Text, ex.ToString());
- }
-
- }
- }
- public void WriteLine(string Text)
- {
- // Lock so process won't shut down while we write, and that we won't write while proc is shutting down
- lock (processLock)
- {
- _writeLine(Text);
- }
- }
- public void _writeLine(string Text)
- {
- if (Input != null)
- {
- try
- {
- m_log.DebugFormat("\"{0}\": Sending: \"{1}\"", file, Text);
- Input.WriteLine(Text);
- Input.Flush();
- }
- catch (Exception ex)
- {
- m_log.ErrorFormat("Exeption sending text \"{0}\" to \"{1}\": {2}", file, Text, ex.ToString());
- }
- }
- }
- #endregion
-
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs
deleted file mode 100644
index 8daef1b..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_AsyncIO.cs
+++ /dev/null
@@ -1,85 +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 OpenSimulator 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;
-
-namespace OpenSim.GridLaunch
-{
- internal partial class AppExecutor
- {
-
-
- #region Start / Stop timer thread
- private void timer_Start()
- {
- asyncReadOutput();
- asyncReadError();
- }
-
- private bool running = true;
- private void timer_Stop()
- {
- running = false;
- }
- #endregion
-
- private byte[] readBufferOutput = new byte[4096];
- private byte[] readBufferError = new byte[4096];
-
- private void asyncReadOutput()
- {
- if (running)
- Output.BaseStream.BeginRead(readBufferOutput, 0, readBufferOutput.Length, asyncReadCallBackOutput, null);
- }
- private void asyncReadError()
- {
- if (running)
- Error.BaseStream.BeginRead(readBufferError, 0, readBufferError.Length, asyncReadCallBackError, null);
- }
-
- private void asyncReadCallBackOutput(IAsyncResult ar)
- {
- int len = Output.BaseStream.EndRead(ar);
- Program.FireAppConsoleOutput(file,
- System.Text.Encoding.ASCII.GetString(readBufferOutput, 0, len)
- );
-
- asyncReadOutput();
- }
- private void asyncReadCallBackError(IAsyncResult ar)
- {
- int len = Error.BaseStream.EndRead(ar);
- Program.FireAppConsoleError(file,
- System.Text.Encoding.ASCII.GetString(readBufferError, 0, len)
- );
-
- asyncReadError();
- }
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs b/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs
deleted file mode 100644
index f395aa4..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/AppExecutor_Thread.cs
+++ /dev/null
@@ -1,187 +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 OpenSimulator 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;
-//using System.Collections.Generic;
-//using System.Reflection;
-//using System.Text;
-//using System.Threading;
-//using log4net;
-
-//namespace OpenSim.GridLaunch
-//{
-// internal class AppExecutor2
-// {
-// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
-// private static readonly int consoleReadIntervalMilliseconds = 50;
-// //private static readonly Timer readTimer = new Timer(readConsole, null, Timeout.Infinite, Timeout.Infinite);
-// private static Thread timerThread;
-// private static object timerThreadLock = new object();
-
-// #region Start / Stop timer thread
-// private static void timer_Start()
-// {
-// //readTimer.Change(0, consoleReadIntervalMilliseconds);
-// lock (timerThreadLock)
-// {
-// if (timerThread == null)
-// {
-// m_log.Debug("Starting timer thread.");
-// timerThread = new Thread(timerThreadLoop);
-// timerThread.Name = "StdOutputStdErrorReadThread";
-// timerThread.IsBackground = true;
-// timerThread.Start();
-// }
-// }
-// }
-// private static void timer_Stop()
-// {
-// //readTimer.Change(Timeout.Infinite, Timeout.Infinite);
-// lock (timerThreadLock)
-// {
-// if (timerThread != null)
-// {
-// m_log.Debug("Stopping timer thread.");
-// try
-// {
-// if (timerThread.IsAlive)
-// timerThread.Abort();
-// timerThread.Join(2000);
-// timerThread = null;
-// }
-// catch (Exception ex)
-// {
-// m_log.Error("Exception stopping timer thread: " + ex.ToString());
-// }
-// }
-// }
-// }
-// #endregion
-
-// #region Timer read from consoles and fire event
-
-// private static void timerThreadLoop()
-// {
-// try
-// {
-// while (true)
-// {
-// readConsole();
-// Thread.Sleep(consoleReadIntervalMilliseconds);
-// }
-// }
-// catch (ThreadAbortException) { } // Expected on thread shutdown
-// }
-
-// private static void readConsole()
-// {
-// try
-// {
-
-// // Lock so we don't collide with any startup or shutdown
-// lock (Program.AppList)
-// {
-// foreach (AppExecutor app in new ArrayList(Program.AppList.Values))
-// {
-// try
-// {
-// string txt = app.GetStdOutput();
-// // Fire event with received text
-// if (!string.IsNullOrEmpty(txt))
-// Program.FireAppConsoleOutput(app.File, txt);
-// }
-// catch (Exception ex)
-// {
-// m_log.ErrorFormat("Exception reading standard output from \"{0}\": {1}", app.File, ex.ToString());
-// }
-// try
-// {
-// string txt = app.GetStdError();
-// // Fire event with received text
-// if (!string.IsNullOrEmpty(txt))
-// Program.FireAppConsoleOutput(app.File, txt);
-// }
-// catch (Exception ex)
-// {
-// m_log.ErrorFormat("Exception reading standard error from \"{0}\": {1}", app.File, ex.ToString());
-// }
-// }
-// }
-// }
-// finally
-// {
-// }
-// }
-// #endregion
-
-
-// #region Read stdOutput and stdError
-// public string GetStdOutput()
-// {
-// return GetStreamData(Output);
-// }
-// public string GetStdError()
-// {
-// return GetStreamData(Error);
-// }
-
-// private static int num = 0;
-// // Gets any data from StreamReader object, non-blocking
-// private static string GetStreamData(StreamReader sr)
-// {
-// // Can't read?
-// if (!sr.BaseStream.CanRead)
-// return "";
-
-// // Read a chunk
-// //sr.BaseStream.ReadTimeout = 100;
-// byte[] buffer = new byte[4096];
-// num++;
-// Trace.WriteLine("Start read " + num);
-// int len = sr.BaseStream.Read(buffer, 0, buffer.Length);
-// Trace.WriteLine("End read " + num + ": " + len);
-
-// // Nothing?
-// if (len <= 0)
-// return "";
-
-// // Return data
-// StringBuilder sb = new StringBuilder();
-// sb.Append(System.Text.Encoding.ASCII.GetString(buffer, 0, len));
-
-// //while (sr.Peek() >= 0)
-// //{
-// // sb.Append(Convert.ToChar(sr.Read()));
-// //}
-
-// return sb.ToString();
-// }
-// #endregion
-
-
-// }
-//}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs b/OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs
deleted file mode 100644
index 77c5063..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/CommandProcessor.cs
+++ /dev/null
@@ -1,76 +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 OpenSimulator 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.GridLaunch
-{
- internal class CommandProcessor
- {
- public delegate void CommandLineDelegate(string application, string command, string arguments);
- public event CommandLineDelegate CommandLine;
-
- public bool IsCommand(string cmd)
- {
- if (cmd.Trim().StartsWith("/"))
- return true;
- return false;
- }
-
- public static readonly char[] cmdSplit = new char[] { ' ' };
- public bool Process(string app, string command)
- {
- // Only process commands
- if (!IsCommand(command))
- return false;
-
- // Remove first /
- command = command.Trim().Remove(0, 1);
-
- // Split cmd and args
- string[] carg = command.Split(cmdSplit, 2);
- if (carg.Length == 0)
- return true;
-
- string cmd = carg[0]; // Command
- string arg = "";
- if (carg.Length > 1)
- arg = carg[1]; // Arguments
-
- // Do we have a command?
- if (string.IsNullOrEmpty(cmd))
- return true;
-
- // All is fine
- if (CommandLine != null)
- CommandLine(app, cmd, arg);
- return true;
- }
-
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs
deleted file mode 100644
index 596b650..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Console/Console.cs
+++ /dev/null
@@ -1,122 +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 OpenSimulator 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.GridLaunch.GUI.Console
-{
- internal class Console: IGUI
- {
- private List Apps = new List();
- public Console ()
- {
- Program.AppCreated += Program_AppCreated;
- Program.AppRemoved += Program_AppRemoved;
- Program.AppConsoleOutput += Program_AppConsoleOutput;
- Program.Command.CommandLine += Command_CommandLine;
- }
-
- private string currentApp = "";
- private bool quitTyped = false;
- void Command_CommandLine(string application, string command, string arguments)
- {
-
- // If command is a number then someone might be trying to change console: /1, /2, etc.
- int currentAppNum = 0;
- if (int.TryParse(command, out currentAppNum))
- if (currentAppNum <= Apps.Count)
- {
- currentApp = Apps[currentAppNum - 1];
- System.Console.WriteLine("Changed console to app: " + currentApp);
- } else
- System.Console.WriteLine("Unable to change to app number: " + currentAppNum);
-
- // Has user typed quit?
- if (command.ToLower() == "quit")
- quitTyped = true;
-
- // Has user typed /list?
- if (command.ToLower() == "list")
- {
- System.Console.WriteLine("/0 Log console");
- for (int i = 1; i <= Apps.Count; i++)
- {
- System.Console.WriteLine(string.Format("/{0} {1}", i, Apps[i - 1]));
- }
- }
- }
- #region Module Start / Stop
- public void StartGUI()
- {
- // Console start
- System.Console.WriteLine("Console GUI");
- System.Console.WriteLine("Use commands /0, /1, /2, etc to switch between applications.");
- System.Console.WriteLine("Type /list for list of applications.");
- System.Console.WriteLine("Anything that doesn't start with a / will be sent to selected application");
- System.Console.WriteLine("type /quit to exit");
-
-
- while (quitTyped == false)
- {
- string line = System.Console.ReadLine().TrimEnd("\r\n".ToCharArray());
- Program.Write(currentApp, line);
- }
- // We are done
- System.Console.WriteLine("Console exit.");
- }
-
- public void StopGUI()
- {
- // Console stop
- }
- #endregion
-
- #region GridLaunch Events
- void Program_AppCreated(string App)
- {
- System.Console.WriteLine("Started: " + App);
- if (!Apps.Contains(App))
- Apps.Add(App);
- }
-
- void Program_AppRemoved(string App)
- {
- System.Console.WriteLine("Stopped: " + App);
- if (Apps.Contains(App))
- Apps.Remove(App);
- }
-
- void Program_AppConsoleOutput(string App, string Text)
- {
- System.Console.Write(App + ": " + Text);
- }
- #endregion
-
-
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs
deleted file mode 100644
index ca1bb30..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/IGUI.cs
+++ /dev/null
@@ -1,39 +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 OpenSimulator 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.GridLaunch.GUI
-{
- public interface IGUI
- {
- void StartGUI();
- void StopGUI();
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs
deleted file mode 100644
index 7fae830..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/Client.cs
+++ /dev/null
@@ -1,113 +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 OpenSimulator 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.Net.Sockets;
-using System.Text;
-using System.Text.RegularExpressions;
-
-namespace OpenSim.GridLaunch.GUI.Network
-{
- internal class Client
- {
- public TcpClient tcpClient;
- private byte[] readBuffer = new byte[4096];
- private byte[] writeBuffer;
- private TCPD tcp;
- private string inputData = "";
- private object inputDataLock = new object();
- public Client(TCPD _tcp, TcpClient Client)
- {
- tcp = _tcp;
- tcpClient = Client;
- asyncReadStart();
- Write("OpenSim TCP Console GUI");
- Write("Use commands /0, /1, /2, etc to switch between applications.");
- Write("Type /list for list of applications.");
- Write("Anything that doesn't start with a / will be sent to selected application");
- Write("type /quit to exit");
-
- }
-
- private void asyncReadStart()
- {
- tcpClient.GetStream().BeginRead(readBuffer, 0, readBuffer.Length, asyncReadCallBack, null);
- }
-
- //private Regex LineExtractor = new Regex("^(.*)$")
- private void asyncReadCallBack(IAsyncResult ar)
- {
- try
- {
- // Read data
- int len = tcpClient.GetStream().EndRead(ar);
-
- // Send it to app
- string newData = System.Text.Encoding.ASCII.GetString(readBuffer, 0, len);
- //lock (inputDataLock)
- //{
- inputData += newData;
- if (newData.Contains("\n"))
- SendInputLines();
- //}
-
- // Start it again
- asyncReadStart();
- }
- catch
- {
- // TODO: Remove client when we get exception
- // Temp patch: if exception we don't call asyncReadStart()
- }
- }
-
- private void SendInputLines()
- {
- StringBuilder line = new StringBuilder();
- foreach (char c in inputData)
- {
- if (c == 13)
- continue;
- if (c == 10)
- {
- Program.WriteLine(tcp.currentApp, line.ToString());
- line = new StringBuilder();
- continue;
- }
- line.Append(c);
- }
- // We'll keep whatever is left over
- inputData = line.ToString();
- }
-
- public void Write(string Text)
- {
- writeBuffer = Encoding.ASCII.GetBytes(Text);
- tcpClient.GetStream().Write(writeBuffer, 0, writeBuffer.Length);
- }
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs
deleted file mode 100644
index b48cfea..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Network/TCPD.cs
+++ /dev/null
@@ -1,231 +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 OpenSimulator 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;
-using System.Collections.Generic;
-using System.Net;
-using System.Net.Sockets;
-using System.Reflection;
-using System.Text;
-using System.Threading;
-using log4net;
-
-namespace OpenSim.GridLaunch.GUI.Network
-{
- public class TCPD : IGUI, IDisposable
- {
- private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
- private List Clients = new List();
-
- private readonly int defaultPort = 7998;
- private TcpListener tcpListener;
- private Thread listenThread;
- private Thread clientThread;
-
-
- private List Apps = new List();
- internal string currentApp = "";
- private bool quitTyped = false;
-
- public TCPD()
- {
- Program.AppCreated += Program_AppCreated;
- Program.AppRemoved += Program_AppRemoved;
- Program.AppConsoleOutput += Program_AppConsoleOutput;
- Program.Command.CommandLine += Command_CommandLine;
-
- }
-
- ~TCPD()
- {
- Dispose();
- }
- private bool isDisposed = false;
- ///
- ///Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
- ///
- ///2
- public void Dispose()
- {
- if (isDisposed)
- return;
- isDisposed = true;
- tcpd_Stop();
- }
-
- public void StartGUI()
- {
- // We are starting
- tcpd_Start();
- }
-
- public void StopGUI()
- {
- // We are stopping
- tcpd_Stop();
- }
-
-
- #region GridLaunch Events
- private void Command_CommandLine(string application, string command, string arguments)
- {
- // If command is a number then someone might be trying to change console: /1, /2, etc.
- int currentAppNum = 0;
- if (int.TryParse(command, out currentAppNum))
- if (currentAppNum <= Apps.Count)
- {
- currentApp = Apps[currentAppNum - 1];
- TCPWriteToAll("Changed console to app: " + currentApp + Environment.NewLine);
- }
- else
- TCPWriteToAll("Unable to change to app number: " + currentAppNum + Environment.NewLine);
-
- // Has user typed quit?
- if (command.ToLower() == "quit")
- quitTyped = true;
-
- // Has user typed /list?
- if (command.ToLower() == "list")
- {
- TCPWriteToAll("/0 Log console");
- for (int i = 1; i <= Apps.Count; i++)
- {
- TCPWriteToAll(string.Format("/{0} {1}", i, Apps[i - 1]));
- }
- }
-
- }
-
- void Program_AppCreated(string App)
- {
- TCPWriteToAll("Started: " + App);
- if (!Apps.Contains(App))
- Apps.Add(App);
- }
-
- void Program_AppRemoved(string App)
- {
- TCPWriteToAll("Stopped: " + App);
- if (Apps.Contains(App))
- Apps.Remove(App);
- }
-
- private void Program_AppConsoleOutput(string App, string Text)
- {
- TCPWriteToAll(App, Text);
- }
-
- #endregion
-
- private void tcpd_Start()
- {
- listenThread = new Thread(new ThreadStart(ListenForClients));
- listenThread.Name = "TCPDThread";
- listenThread.IsBackground = true;
- listenThread.Start();
-
- while (!quitTyped)
- {
- Thread.Sleep(500);
- }
-
- //clientThread = new Thread(new ThreadStart(ProcessClients));
- //clientThread.Name = "TCPClientThread";
- //clientThread.IsBackground = true;
- ////clientThread.Start();
-
- }
- private void tcpd_Stop()
- {
- StopThread(listenThread);
- StopThread(clientThread);
- }
- private void ListenForClients()
- {
- int Port = 0;
- int.TryParse(Program.Settings["TCPPort"], out Port);
- if (Port < 1)
- Port = defaultPort;
-
- m_log.Info("Starting TCP Server on port " + Port);
- this.tcpListener = new TcpListener(IPAddress.Any, Port);
-
- this.tcpListener.Start();
-
- while (true)
- {
- // Blocks until a client has connected to the server
- TcpClient tcpClient = this.tcpListener.AcceptTcpClient();
- Client client = new Client(this, tcpClient);
-
- lock (Clients)
- {
- Clients.Add(client);
- }
- System.Threading.Thread.Sleep(500);
- }
- }
-
- private static void StopThread(Thread t)
- {
- if (t != null)
- {
- m_log.Debug("Stopping thread " + t.Name);
- try
- {
- if (t.IsAlive)
- t.Abort();
- t.Join(2000);
- t = null;
- }
- catch (Exception ex)
- {
- m_log.Error("Exception stopping thread: " + ex.ToString());
- }
- }
- }
-
- private void TCPWriteToAll(string app, string text)
- {
- TCPWriteToAll(text);
- }
- private void TCPWriteToAll(string text)
- {
- foreach (Client c in new ArrayList(Clients))
- {
- try
- {
- c.Write(text);
- } catch (Exception ex)
- {
- m_log.Error("Exception writing to TCP: " + ex.ToString());
- }
- }
- }
-
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs
deleted file mode 100644
index f518bd7..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/Service/Service.cs
+++ /dev/null
@@ -1,65 +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 OpenSimulator 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.ServiceProcess;
-using System.Text;
-using OpenSim.GridLaunch.GUI;
-
-namespace OpenSim.GridLaunch
-{
- internal class Service: ServiceBase, IGUI
- {
- private ServiceBase[] ServicesToRun;
- public Service()
- {
- ServicesToRun = new ServiceBase[] {this};
- }
-
- public void StartGUI()
- {
- ServiceBase.Run(ServicesToRun);
- }
-
- public void StopGUI()
- {
- // Nothing
- }
-
- protected override void OnStart(string[] args)
- {
- // Command line arguments override settings
- Program.Settings.ParseCommandArguments(args);
- }
-
- protected override void OnStop()
- {
- Program.Shutdown();
- }
-
- }
-}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Bottom Border.png b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Bottom Border.png
deleted file mode 100644
index b3594b6..0000000
Binary files a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Bottom Border.png and /dev/null differ
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Right Border.png b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Right Border.png
deleted file mode 100644
index 8b03281..0000000
Binary files a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim Right Border.png and /dev/null differ
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png
deleted file mode 100644
index 3810842..0000000
Binary files a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/OpenSim.png and /dev/null differ
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.Designer.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.Designer.cs
deleted file mode 100644
index 1498791..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.Designer.cs
+++ /dev/null
@@ -1,224 +0,0 @@
-namespace OpenSim.GridLaunch.GUI.WinForm
-{
- partial class ProcessPanel
- {
- ///
- /// 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(ProcessPanel));
- this.tabControl1 = new System.Windows.Forms.TabControl();
- this.tabLogs = new System.Windows.Forms.TabPage();
- this.btnShutdown = new System.Windows.Forms.Button();
- this.pictureBox2 = new System.Windows.Forms.PictureBox();
- this.pictureBox1 = new System.Windows.Forms.PictureBox();
- this.pictureBox3 = new System.Windows.Forms.PictureBox();
- this.tabSettings = new System.Windows.Forms.TabPage();
- this.cblStartupComponents = new System.Windows.Forms.CheckedListBox();
- this.gbStartupComponents = new System.Windows.Forms.GroupBox();
- this.btnSave = new System.Windows.Forms.Button();
- this.ucLogWindow1 = new OpenSim.GridLaunch.GUI.WinForm.ucLogWindow();
- this.label1 = new System.Windows.Forms.Label();
- this.tabControl1.SuspendLayout();
- this.tabLogs.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
- this.tabSettings.SuspendLayout();
- this.gbStartupComponents.SuspendLayout();
- this.SuspendLayout();
- //
- // tabControl1
- //
- this.tabControl1.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.tabControl1.Controls.Add(this.tabSettings);
- this.tabControl1.Controls.Add(this.tabLogs);
- this.tabControl1.Location = new System.Drawing.Point(-1, 123);
- this.tabControl1.Name = "tabControl1";
- this.tabControl1.SelectedIndex = 0;
- this.tabControl1.Size = new System.Drawing.Size(632, 275);
- this.tabControl1.TabIndex = 0;
- //
- // tabLogs
- //
- this.tabLogs.Controls.Add(this.ucLogWindow1);
- this.tabLogs.Location = new System.Drawing.Point(4, 22);
- this.tabLogs.Name = "tabLogs";
- this.tabLogs.Padding = new System.Windows.Forms.Padding(3);
- this.tabLogs.Size = new System.Drawing.Size(624, 249);
- this.tabLogs.TabIndex = 0;
- this.tabLogs.Text = "Logs";
- this.tabLogs.UseVisualStyleBackColor = true;
- //
- // btnShutdown
- //
- this.btnShutdown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.btnShutdown.Location = new System.Drawing.Point(542, 400);
- this.btnShutdown.Name = "btnShutdown";
- this.btnShutdown.Size = new System.Drawing.Size(75, 23);
- this.btnShutdown.TabIndex = 1;
- this.btnShutdown.Text = "Shutdown";
- this.btnShutdown.UseVisualStyleBackColor = true;
- this.btnShutdown.Click += new System.EventHandler(this.btnShutdown_Click);
- //
- // pictureBox2
- //
- this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
- this.pictureBox2.Location = new System.Drawing.Point(585, -1);
- this.pictureBox2.Name = "pictureBox2";
- this.pictureBox2.Size = new System.Drawing.Size(46, 124);
- this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.pictureBox2.TabIndex = 3;
- this.pictureBox2.TabStop = false;
- //
- // pictureBox1
- //
- this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
- this.pictureBox1.Location = new System.Drawing.Point(-1, -1);
- this.pictureBox1.Name = "pictureBox1";
- this.pictureBox1.Size = new System.Drawing.Size(586, 124);
- this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
- this.pictureBox1.TabIndex = 2;
- this.pictureBox1.TabStop = false;
- //
- // pictureBox3
- //
- this.pictureBox3.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.pictureBox3.Image = global::OpenSim.GridLaunch.Properties.Resources.OpenSim_Bottom_Border;
- this.pictureBox3.Location = new System.Drawing.Point(-1, 120);
- this.pictureBox3.Name = "pictureBox3";
- this.pictureBox3.Size = new System.Drawing.Size(632, 310);
- this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
- this.pictureBox3.TabIndex = 4;
- this.pictureBox3.TabStop = false;
- //
- // tabSettings
- //
- this.tabSettings.Controls.Add(this.label1);
- this.tabSettings.Controls.Add(this.btnSave);
- this.tabSettings.Controls.Add(this.gbStartupComponents);
- this.tabSettings.Location = new System.Drawing.Point(4, 22);
- this.tabSettings.Name = "tabSettings";
- this.tabSettings.Padding = new System.Windows.Forms.Padding(3);
- this.tabSettings.Size = new System.Drawing.Size(624, 249);
- this.tabSettings.TabIndex = 1;
- this.tabSettings.Text = "Settings";
- this.tabSettings.UseVisualStyleBackColor = true;
- //
- // cblStartupComponents
- //
- this.cblStartupComponents.CheckOnClick = true;
- this.cblStartupComponents.FormattingEnabled = true;
- this.cblStartupComponents.Location = new System.Drawing.Point(6, 19);
- this.cblStartupComponents.Name = "cblStartupComponents";
- this.cblStartupComponents.Size = new System.Drawing.Size(202, 109);
- this.cblStartupComponents.TabIndex = 0;
- //
- // gbStartupComponents
- //
- this.gbStartupComponents.Controls.Add(this.cblStartupComponents);
- this.gbStartupComponents.Location = new System.Drawing.Point(9, 6);
- this.gbStartupComponents.Name = "gbStartupComponents";
- this.gbStartupComponents.Size = new System.Drawing.Size(214, 136);
- this.gbStartupComponents.TabIndex = 1;
- this.gbStartupComponents.TabStop = false;
- this.gbStartupComponents.Text = "Startup components";
- //
- // btnSave
- //
- this.btnSave.Location = new System.Drawing.Point(9, 148);
- this.btnSave.Name = "btnSave";
- this.btnSave.Size = new System.Drawing.Size(92, 23);
- this.btnSave.TabIndex = 2;
- this.btnSave.Text = "Save settings";
- this.btnSave.UseVisualStyleBackColor = true;
- this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
- //
- // ucLogWindow1
- //
- this.ucLogWindow1.Dock = System.Windows.Forms.DockStyle.Fill;
- this.ucLogWindow1.Location = new System.Drawing.Point(3, 3);
- this.ucLogWindow1.Name = "ucLogWindow1";
- this.ucLogWindow1.Size = new System.Drawing.Size(618, 243);
- this.ucLogWindow1.TabIndex = 0;
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(108, 149);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(259, 13);
- this.label1.TabIndex = 3;
- this.label1.Text = "* You have to restart app before changes take effect.";
- //
- // ProcessPanel
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(629, 428);
- this.Controls.Add(this.pictureBox2);
- this.Controls.Add(this.pictureBox1);
- this.Controls.Add(this.btnShutdown);
- this.Controls.Add(this.tabControl1);
- this.Controls.Add(this.pictureBox3);
- this.Name = "ProcessPanel";
- this.Text = "OpenSim GUI alpha";
- this.Load += new System.EventHandler(this.ProcessPanel_Load);
- this.tabControl1.ResumeLayout(false);
- this.tabLogs.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
- this.tabSettings.ResumeLayout(false);
- this.tabSettings.PerformLayout();
- this.gbStartupComponents.ResumeLayout(false);
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.TabControl tabControl1;
- private System.Windows.Forms.TabPage tabLogs;
- private System.Windows.Forms.Button btnShutdown;
- private ucLogWindow ucLogWindow1;
- private System.Windows.Forms.PictureBox pictureBox1;
- private System.Windows.Forms.PictureBox pictureBox2;
- private System.Windows.Forms.PictureBox pictureBox3;
- private System.Windows.Forms.TabPage tabSettings;
- private System.Windows.Forms.GroupBox gbStartupComponents;
- private System.Windows.Forms.CheckedListBox cblStartupComponents;
- private System.Windows.Forms.Button btnSave;
- private System.Windows.Forms.Label label1;
-
- }
-}
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
deleted file mode 100644
index f0ed2ca..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.cs
+++ /dev/null
@@ -1,288 +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 OpenSimulator 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.Diagnostics;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-
-namespace OpenSim.GridLaunch.GUI.WinForm
-{
- public partial class ProcessPanel : Form, IGUI
- {
- public ProcessPanel()
- {
- Application.EnableVisualStyles();
- //Application.SetCompatibleTextRenderingDefault(false);
-
- InitializeComponent();
- Program.AppCreated += Program_AppCreated;
- Program.AppRemoved += Program_AppRemoved;
- Program.AppConsoleOutput += Program_AppConsoleOutput;
- Program.AppConsoleError += Program_AppConsoleError;
- log4netAppender.LogLine += log4netAppender_LogLine;
- }
-
- #region Module Start / Stop
- public void StartGUI()
- {
- Application.Run(this);
- }
-
- public void StopGUI()
- {
- this.Close();
- }
- #endregion
-
- #region Main log tab
- void log4netAppender_LogLine(Color color, string LogText)
- {
- ucLogWindow1.Write(color, LogText);
- }
- #endregion
-
- #region Form events
- private void btnShutdown_Click(object sender, EventArgs e)
- {
- Program.Shutdown();
- }
- #endregion
-
- #region GridLaunch Events
- public delegate void Program_AppCreatedDelegate(string App);
- public void Program_AppCreated(string App)
- {
- if (this.InvokeRequired) {
- this.Invoke(new Program_AppCreatedDelegate(Program_AppCreated), App);
- return;
- }
-
- Trace.WriteLine("Start: " + App);
-
- // Do we already have app window for that app?
- if (AppWindow_Get(App) != null)
- return;
-
- // New log window
- ucAppWindow aw = new ucAppWindow();
- // New tab page
- TabPage tp = new TabPage(App);
- // Add log window into tab page
- tp.Controls.Add(aw);
- // Add tab page into tab control
- tabControl1.TabPages.Add(tp);
- // Add it all to our internal list
- AppWindow_Add(App, aw);
- // Hook up events
- aw.LineEntered += AppWindow_LineEntered;
-
- // Fill log window fully inside tab page
- aw.Dock = DockStyle.Fill;
- }
-
-
- public delegate void Program_AppRemovedDelegate(string App);
- public void Program_AppRemoved(string App)
- {
- if (this.InvokeRequired) {
- this.Invoke(new Program_AppRemovedDelegate(Program_AppRemoved), App);
- return;
- }
-
- Trace.WriteLine("Stop: " + App);
-
- // Get app window
- ucAppWindow aw = AppWindow_Get(App);
- if (aw == null)
- return;
-
- // Get its tab page
- TabPage tp = aw.Parent as TabPage;
-
- if (tp != null)
- {
- // Remove tab page from tab control
- tabControl1.TabPages.Remove(tp);
- // Remove app window from tab
- tp.Controls.Remove(aw);
- }
-
- // Dispose of app window
- aw.Dispose();
-
- // Dispose of tab page
- if (tp != null)
- tp.Dispose();
-
- // Remove from our internal list
- AppWindow_Remove(App);
- }
-
-
- public delegate void Program_AppConsoleOutputDelegate(string App, string LogText);
- void Program_AppConsoleOutput(string App, string LogText)
- {
- if (this.InvokeRequired)
- {
- this.Invoke(new Program_AppConsoleOutputDelegate(Program_AppConsoleOutput), App, LogText);
- return;
- }
-
- // Get app window
- ucAppWindow aw = AppWindow_Get(App);
- // Write text to it
- if (aw != null)
- aw.Write(System.Drawing.Color.Black, LogText);
- }
-
- public delegate void Program_AppConsoleErrorDelegate(string App, string LogText);
- void Program_AppConsoleError(string App, string LogText)
- {
- if (this.InvokeRequired) {
- this.Invoke(new Program_AppConsoleErrorDelegate(Program_AppConsoleError), App, LogText);
- return;
- }
-
- // Get app window
- ucAppWindow aw = AppWindow_Get(App);
- // Write text to it
- if (aw != null)
- aw.Write(System.Drawing.Color.Red, LogText);
-
- }
- #endregion
-
- #region App Window events
- private void AppWindow_LineEntered(ucAppWindow AppWindow, string LogText)
- {
- Program.WriteLine(AppWindow_Get(AppWindow), LogText);
- }
- #endregion
-
- private void ProcessPanel_Load(object sender, EventArgs e)
- {
- string[] arr = new string[Program.Settings.Components.Keys.Count];
- Program.Settings.Components.Keys.CopyTo(arr, 0);
- cblStartupComponents.Items.AddRange(arr);
-
- // Now correct all check states
- for (int i = 0; i < cblStartupComponents.Items.Count; i++)
- {
- string _name = cblStartupComponents.Items[i] as string;
- bool _checked = Program.Settings.Components[_name];
-
- cblStartupComponents.SetItemChecked(i, _checked);
- }
-
-
- }
-
-
-
-
- #region Internal App Window list and functions
- private Dictionary _appWindows = new Dictionary();
- private Dictionary _appWindows_rev = new Dictionary();
- private void AppWindow_Add(string AppWindowName, ucAppWindow AppWindow)
- {
- lock (_appWindows)
- {
- _appWindows.Add(AppWindowName, AppWindow);
- _appWindows_rev.Add(AppWindow, AppWindowName);
- // Hook events
- AppWindow.LineEntered += AppWindow_LineEntered;
- }
- }
- private void AppWindow_Remove(ucAppWindow AppWindow)
- {
- lock (_appWindows)
- {
- if (_appWindows_rev.ContainsKey(AppWindow))
- {
- // Unhook events
- AppWindow.LineEntered -= AppWindow_LineEntered;
- // Delete from list
- string name = _appWindows_rev[AppWindow];
- _appWindows.Remove(name);
- _appWindows_rev.Remove(AppWindow);
- }
- }
- }
- private void AppWindow_Remove(string AppWindowName)
- {
- lock (_appWindows)
- {
- if (_appWindows.ContainsKey(AppWindowName))
- {
- ucAppWindow AppWindow = _appWindows[AppWindowName];
- // Unhook events
- AppWindow.LineEntered -= AppWindow_LineEntered;
- // Delete from list
- _appWindows.Remove(AppWindowName);
- _appWindows_rev.Remove(AppWindow);
- }
- }
- }
- private string AppWindow_Get(ucAppWindow AppWindow)
- {
- lock (_appWindows)
- {
- if (_appWindows_rev.ContainsKey(AppWindow))
- return _appWindows_rev[AppWindow];
- }
- return null;
- }
- private ucAppWindow AppWindow_Get(string AppWindowName)
- {
- lock (_appWindows)
- {
- if (_appWindows.ContainsKey(AppWindowName))
- return _appWindows[AppWindowName];
- }
- return null;
- }
- #endregion
-
- private void btnSave_Click(object sender, EventArgs e)
- {
- Program.Settings.Components.Clear();
- for (int i = 0; i < cblStartupComponents.Items.Count; i++)
- {
- string _name = cblStartupComponents.Items[i] as string;
- bool _checked = cblStartupComponents.GetItemChecked(i);
-
- Program.Settings.Components.Add(_name, _checked);
- Program.Settings.SaveConfig();
- }
- }
-
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.resx b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.resx
deleted file mode 100644
index 361d658..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ProcessPanel.resx
+++ /dev/null
@@ -1,882 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAAAEAAAB8CAIAAAAny03BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAOpgAA
- DqYBh9ypbwAAAYpJREFUKFOV0fkrH3AYwPG3Y84NW2xzj76btomJHE20NUcpi9DKUlt+0i6EjbnmiOWY
- ZTKSo69YtolNRHOEYWsIK8sksiZZU5Ompo8n379gP7x63s/z+fEDdz7w3+4Oondv6JD+/WH0H4xgkDx6
- yDBlDMPUcY6kfcQofQKjjEmMH05h8ugTppmfMc36gtnjacyzZziaM8uxvDks8uexfLKAVcFXjhctcqL4
- G9YlS9iUfufk02VOla9wumIV28o17KvWcXj+A8fqnzi92MC5ZhOX2i1cX/5CU/8bTcM25xr/4Na0w/mW
- XS5q/+LeuodH2z882ve51KHweq3wfqvw6VT4din83ykC3isu9yoC+xRB/Qq7bHDIBfs8sJPpWABOxXIr
- lFsRuJaJCtA8gzPibDVcqAE34VknXStv0n7N0rJ7N0m3QIAWrrZBYCtcewVXRLAIeQMRnXKTGdmtE9YF
- 0T0QLh0lM6YProu4fgjthRsDcFO+79YQJIhY6fhBSByB26M6SeM6idIJwxwAjlSW4/2by3sAAAAASUVO
- RK5CYII=
-
-
-
-
- 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
- OxA5OCbeDtx9K3DPLXK640Zg0m2SxhFsyEF63x2SBmfMDVIQl9RsuASBrCx4dt0MSL4dkHgrYNdNUvWO
- m/6xN/ygz64bvjtv+MTf9Iq76Rl/02PnDbfNV12h/7orTpuuOq5ttlt/2WZlk/W6ZstVTebRTcoVjWZR
- jfLIepNFdUaL66QLayXL6g1mVIvn1ujPrhYtqhVNuSicfUk48YLOrIuC6RcF484LJp7nj0WIRkELIAeE
- mH2JNwYB03nejIskjfwhQBp6aTgFnvHnyKXJNAFO8IymObiE04kI+3BHjeYgDTkzL6lEAR0hB/lgQ3Gk
- cUQaVSCBq+ojCk6hmUwZJFgaRQi40iMYUAvTQa0Ypz9nfwwVbvxw8/df6n9482qAbcLZNboTLogmXxLN
- rtZfWi+edslgYZ1kUZ00ssF4Wo0JQC6q0XRFo2J1szK62WLLVQpyV222XrXbcMVh61XHbdec1lx22XXD
- Jfa6647rbvE33Xfc8Nh23XPnTc/Y616brgFRvHfd9N59E+jik3jbZ8cNH6S3XScUd9Nn1w2fPTd9Ym+Q
- NEVHkgaBB8e9t0gOOHfd9Nl+nZxGX1FdAlyxq6At1wgPchJueW+5huq8dt7wggJrrwJ0AWbu26+7xV53
- 236d6em8/Zrj9msO6y/bbbpiu/GKTWSj1eYrlmuaCbCtazZb0QhQl6H5C2ql06oNF9dJFtSJ59WKF9Tq
- LakjSwEYbfx54bjzOjMuCaZcEMy8JJhwgT/1IsGVaQAebDCep6hDAQn5I8/yJlEIwWk/7EDSSwyuplwk
- NBx3wiiezakmzMgBD44RuE+GSAvxH6I3ygkGAnKXyBH8uARCceQjAQWQABvk44iyuIR8Vgu7ikykUQur
- CEIIWNJMcKIWKM/pz9mfGz/c/P1X+x/e/DodeOq5NcL5tboL60RL6vUW1ukvqhMvbTCYVC1ZUi9d3mC0
- pM5kaYNsSb18Xj0CGsXGK8o1zRZrL1tGN1mtabbZeNVm4xWAhN3mq/ZAuw1XHLdfd9py1WkHQRGXXTdd
- tl1z2XnDJeY6AT+EehuvusbddN12jdDWa67br7nuvEmOSG++5hpzzXXXTYSDrltoGoRM5IAZxVEWzLgK
- fpazm57uuOG6E3STnMai3hukxlVXSNUx1503XyH6rL/iGHXZYdMV+5jrdhuv2G64YgPl0YR1pCHmQO6o
- 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
-
-
-
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.Designer.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.Designer.cs
deleted file mode 100644
index 1ff7d43..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.Designer.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-namespace OpenSim.GridLaunch.GUI.WinForm
-{
- partial class ucAppWindow
- {
- ///
- /// 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 Component Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.ucLogWindow1 = new OpenSim.GridLaunch.GUI.WinForm.ucLogWindow();
- this.ucInputField1 = new OpenSim.GridLaunch.GUI.WinForm.ucInputField();
- this.SuspendLayout();
- //
- // ucLogWindow1
- //
- this.ucLogWindow1.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.ucLogWindow1.Location = new System.Drawing.Point(3, 3);
- this.ucLogWindow1.Name = "ucLogWindow1";
- this.ucLogWindow1.Size = new System.Drawing.Size(232, 132);
- this.ucLogWindow1.TabIndex = 0;
- //
- // ucInputField1
- //
- this.ucInputField1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.ucInputField1.Location = new System.Drawing.Point(0, 141);
- this.ucInputField1.Name = "ucInputField1";
- this.ucInputField1.Size = new System.Drawing.Size(234, 30);
- this.ucInputField1.TabIndex = 1;
- //
- // ucAppWindow
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.ucInputField1);
- this.Controls.Add(this.ucLogWindow1);
- this.DoubleBuffered = true;
- this.Name = "ucAppWindow";
- this.Size = new System.Drawing.Size(235, 166);
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private ucLogWindow ucLogWindow1;
- private ucInputField ucInputField1;
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs
deleted file mode 100644
index 487faec..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.cs
+++ /dev/null
@@ -1,63 +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 OpenSimulator 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.Drawing;
-using System.Data;
-using System.Text;
-using System.Windows.Forms;
-
-namespace OpenSim.GridLaunch.GUI.WinForm
-{
- public partial class ucAppWindow : UserControl
- {
- // Just forwarding from ucInputField1
- public delegate void LineEnteredDelegate(ucAppWindow AppWindow, string Text);
- public event LineEnteredDelegate LineEntered;
-
- public ucAppWindow()
- {
- InitializeComponent();
- ucInputField1.LineEntered += ucInputField1_LineEntered;
- }
-
- #region Forward Text Input Event and Log Write Function
- void ucInputField1_LineEntered(string Text)
- {
- if (LineEntered != null)
- LineEntered(this, Text);
- }
-
- public void Write(Color color, string LogText)
- {
- ucLogWindow1.Write(color, LogText);
- }
- #endregion
-
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.resx b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.resx
deleted file mode 100644
index 19dc0dd..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucAppWindow.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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.GridLaunch/GUI/WinForm/ucInputField.Designer.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.Designer.cs
deleted file mode 100644
index 1eaec69..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.Designer.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-namespace OpenSim.GridLaunch.GUI.WinForm
-{
- partial class ucInputField
- {
- ///
- /// 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 Component Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.txtInput = new System.Windows.Forms.TextBox();
- this.btnSend = new System.Windows.Forms.Button();
- this.SuspendLayout();
- //
- // txtInput
- //
- this.txtInput.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.txtInput.Location = new System.Drawing.Point(3, 2);
- this.txtInput.Name = "txtInput";
- this.txtInput.Size = new System.Drawing.Size(289, 20);
- this.txtInput.TabIndex = 0;
- this.txtInput.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtInput_KeyPress);
- //
- // btnSend
- //
- this.btnSend.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.btnSend.Location = new System.Drawing.Point(295, 0);
- this.btnSend.Name = "btnSend";
- this.btnSend.Size = new System.Drawing.Size(75, 23);
- this.btnSend.TabIndex = 3;
- this.btnSend.Text = "&Send";
- this.btnSend.UseVisualStyleBackColor = true;
- this.btnSend.Click += new System.EventHandler(this.btnSend_Click);
- //
- // ucInputField
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.btnSend);
- this.Controls.Add(this.txtInput);
- this.Name = "ucInputField";
- this.Size = new System.Drawing.Size(373, 25);
- this.Load += new System.EventHandler(this.ucInputField_Load);
- this.Resize += new System.EventHandler(this.ucInputField_Resize);
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.TextBox txtInput;
- private System.Windows.Forms.Button btnSend;
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs
deleted file mode 100644
index f6c02b5..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.cs
+++ /dev/null
@@ -1,97 +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 OpenSimulator 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.Diagnostics;
-using System.Drawing;
-using System.Data;
-using System.Text;
-using System.Windows.Forms;
-
-namespace OpenSim.GridLaunch.GUI.WinForm
-{
- public partial class ucInputField : UserControl
- {
- public delegate void LineEnteredDelegate(string Text);
- public event LineEnteredDelegate LineEntered;
-
- public List History = new List();
-
- public ucInputField()
- {
- InitializeComponent();
- }
-
- private void ucInputField_Load(object sender, EventArgs e)
- {
- _resize();
- }
-
- private void ucInputField_Resize(object sender, EventArgs e)
- {
- _resize();
- }
-
- private void _resize()
- {
- Height = txtInput.Height + 10;
- }
-
- private void btnSend_Click(object sender, EventArgs e)
- {
- Send();
- }
-
- private void txtInput_KeyPress(object sender, KeyPressEventArgs e)
- {
- //Trace.WriteLine("KeyChar: " + ((int)e.KeyChar).ToString());
- if (e.KeyChar == 13)
- {
- e.Handled = true;
- Send();
- }
-
- // TODO: Add arrow up/down history functions
- }
-
- private void Send()
- {
- // Remove \r\n at end
- string txt = txtInput.Text.TrimEnd("\r\n".ToCharArray());
-
- // Fire event
- if (LineEntered != null)
- LineEntered(txt);
-
- // Add to history
- History.Add(txtInput.Text);
-
- txtInput.Text = "";
- }
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.resx b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.resx
deleted file mode 100644
index 19dc0dd..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucInputField.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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.GridLaunch/GUI/WinForm/ucLogWindow.Designer.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.Designer.cs
deleted file mode 100644
index 839fe99..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.Designer.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-namespace OpenSim.GridLaunch.GUI.WinForm
-{
- partial class ucLogWindow
- {
- ///
- /// 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 Component Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.txtLog = new System.Windows.Forms.TextBox();
- this.SuspendLayout();
- //
- // txtLog
- //
- this.txtLog.BackColor = System.Drawing.SystemColors.Window;
- this.txtLog.Dock = System.Windows.Forms.DockStyle.Fill;
- this.txtLog.Location = new System.Drawing.Point(0, 0);
- this.txtLog.Multiline = true;
- this.txtLog.Name = "txtLog";
- this.txtLog.ReadOnly = true;
- this.txtLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
- this.txtLog.Size = new System.Drawing.Size(150, 150);
- this.txtLog.TabIndex = 0;
- this.txtLog.TextChanged += new System.EventHandler(this.txtLog_TextChanged);
- //
- // ucLogWindow
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.txtLog);
- this.Name = "ucLogWindow";
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.TextBox txtLog;
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs
deleted file mode 100644
index 84c0a14..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.cs
+++ /dev/null
@@ -1,80 +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 OpenSimulator 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.Drawing;
-using System.Data;
-using System.Text;
-using System.Windows.Forms;
-
-namespace OpenSim.GridLaunch.GUI.WinForm
-{
- public partial class ucLogWindow : UserControl
- {
- // If text in window is more than this
- private static readonly int logWindowMaxTextLength = 20000;
- // Remove this much from start of it
- private static int logWindowTrunlTextLength = 10000;
-
- public ucLogWindow()
- {
- if (logWindowMaxTextLength < logWindowTrunlTextLength)
- logWindowTrunlTextLength = logWindowMaxTextLength / 2;
-
- InitializeComponent();
- }
-
- public delegate void textWriteDelegate(Color color, string LogText);
- public void Write(Color color, string LogText)
- {
- // Check if we to pass task on to GUI thread
- if (this.InvokeRequired)
- {
- this.Invoke(new textWriteDelegate(Write), color, LogText);
- return;
- }
- // Append to window
- try
- {
- if (!txtLog.IsDisposed)
- txtLog.AppendText(LogText);
- } catch { }
- }
-
- private void txtLog_TextChanged(object sender, EventArgs e)
- {
- // Go to bottom of window
- txtLog.ScrollToCaret();
-
- // Make sure amount of text in window doesn't grow too big
- if (txtLog.Text.Length > logWindowMaxTextLength)
- txtLog.Text = txtLog.Text.Remove(0, logWindowTrunlTextLength);
- }
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.resx b/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.resx
deleted file mode 100644
index 19dc0dd..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/GUI/WinForm/ucLogWindow.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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.GridLaunch/OpenSim.GridLaunch.csproj b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
deleted file mode 100644
index b262dd1..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.csproj
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
- Debug
- AnyCPU
- 9.0.30729
- 2.0
- {595D67F3-B413-4A43-8568-5B5930E3B31D}
- Exe
- Properties
- OpenSim.GridLaunch
- OpenSim.GridLaunch
- v2.0
- 512
-
-
- true
- full
- false
- ..\..\..\bin\
- DEBUG;TRACE
- prompt
- 4
- x86
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Component
-
-
- Form
-
-
- ProcessPanel.cs
-
-
- UserControl
-
-
- ucAppWindow.cs
-
-
- UserControl
-
-
- ucInputField.cs
-
-
- UserControl
-
-
- ucLogWindow.cs
-
-
-
-
-
- True
- True
- Resources.resx
-
-
-
-
-
- ProcessPanel.cs
-
-
- ucAppWindow.cs
-
-
- ucInputField.cs
-
-
- ucLogWindow.cs
-
-
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
-
-
-
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.ini b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.ini
deleted file mode 100644
index c065898..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-GUI=WinForm
-;GUI=TCPD
-;Components=c:\temp\test.bat;true
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.sln b/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.sln
deleted file mode 100644
index 8f745e1..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/OpenSim.GridLaunch.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.GridLaunch", "OpenSim.GridLaunch.csproj", "{595D67F3-B413-4A43-8568-5B5930E3B31D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {595D67F3-B413-4A43-8568-5B5930E3B31D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {595D67F3-B413-4A43-8568-5B5930E3B31D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {595D67F3-B413-4A43-8568-5B5930E3B31D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {595D67F3-B413-4A43-8568-5B5930E3B31D}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Program.cs b/OpenSim/Tools/OpenSim.GridLaunch/Program.cs
deleted file mode 100644
index ecfb0af..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/Program.cs
+++ /dev/null
@@ -1,245 +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 OpenSimulator 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;
-using System.Collections.Generic;
-using System.Reflection;
-using System.Threading;
-using log4net;
-using log4net.Appender;
-using log4net.Repository.Hierarchy;
-using OpenSim.GridLaunch.GUI;
-using OpenSim.GridLaunch.GUI.Network;
-
-namespace OpenSim.GridLaunch
-{
- class Program
- {
- public static readonly string ConfigFile = "OpenSim.GridLaunch.ini";
- internal static Dictionary AppList = new Dictionary();
- private static readonly int delayBetweenExecuteSeconds = 10;
- //private static readonly int consoleReadIntervalMilliseconds = 50;
- ////private static readonly Timer readTimer = new Timer(readConsole, null, Timeout.Infinite, Timeout.Infinite);
- //private static Thread timerThread;
- //private static object timerThreadLock = new object();
- private static IGUI GUIModule;
- private static string GUIModuleName = "";
- public static readonly CommandProcessor Command = new CommandProcessor();
- public static readonly Settings Settings = new Settings();
-
- private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
-
- public delegate void AppConsoleOutputDelegate(string App, string Text);
- public static event AppConsoleOutputDelegate AppConsoleOutput;
- public delegate void AppConsoleErrorDelegate(string App, string Text);
- public static event AppConsoleErrorDelegate AppConsoleError;
- public delegate void AppCreatedDelegate(string App);
- public static event AppCreatedDelegate AppCreated;
- public delegate void AppRemovedDelegate(string App);
- public static event AppRemovedDelegate AppRemoved;
-
- internal static void FireAppConsoleOutput(string App, string Text)
- {
- if (AppConsoleOutput != null)
- AppConsoleOutput(App, Text);
- }
- internal static void FireAppConsoleError(string App, string Text)
- {
- if (AppConsoleError != null)
- AppConsoleError(App, Text);
- }
-
-
- private static readonly object startStopLock = new object();
-
- public static string Name { get { return "OpenSim Grid executor"; } }
-
- #region Start/Shutdown
- static void Main(string[] args)
- {
- log4net.Config.XmlConfigurator.Configure();
-
- // Startup
- m_log.Info(Name);
- m_log.Info(new string('-', Name.Length));
-
- // Read settings
- Settings.LoadConfig(ConfigFile);
- // Command line arguments override settings
- Settings.ParseCommandArguments(args);
-
- // Start GUI module
- StartGUIModule();
-
- // Start the processes
- ThreadPool.QueueUserWorkItem(startProcesses);
-
- // Hand over thread control to whatever GUI module
- GUIModule.StartGUI();
-
- // GUI module returned, we are done
- Shutdown();
-
- }
-
- private static void StartGUIModule()
- {
- // Create GUI module
- GUIModuleName = Settings["GUI"];
-
- switch (GUIModuleName.ToLower())
- {
- case "winform":
- GUIModuleName = "WinForm";
- GUIModule = new GUI.WinForm.ProcessPanel();
- break;
- case "service":
- GUIModuleName = "Service";
- GUIModule = new Service();
- break;
- case "tcpd":
- GUIModuleName = "TCPD";
- GUIModule = new TCPD();
- break;
- case "console":
- default:
- GUIModuleName = "Console";
- GUIModule = new GUI.Console.Console();
- break;
- }
- m_log.Info("GUI type: " + GUIModuleName);
-
- }
-
- internal static void Shutdown()
- {
- // Stop the processes
- stopProcesses();
-
- lock (startStopLock)
- {
- // Stop GUI module
- if (GUIModule != null)
- {
- GUIModule.StopGUI();
- GUIModule = null;
- }
- }
- }
-
- internal static void SafeDisposeOf(object obj)
- {
- IDisposable o = obj as IDisposable;
- try
- {
- if (o != null)
- o.Dispose();
- }
- catch { }
- }
- #endregion
-
- #region Start / Stop applications
- private static void startProcesses(Object stateInfo)
- {
- // Stop before starting
- stopProcesses();
-
- // Start console read timer
- //timer_Start();
-
- // Start the applications
- foreach (string file in new ArrayList(Settings.Components.Keys))
- {
- // Is this file marked for startup?
- if (Settings.Components[file])
- {
- AppExecutor app = new AppExecutor(file);
- app.Start();
- AppList.Add(file, app);
- if (AppCreated != null)
- AppCreated(app.File);
- System.Threading.Thread.Sleep(1000*delayBetweenExecuteSeconds);
- }
- }
- }
-
- private static void stopProcesses()
- {
- // Stop timer
- //timer_Stop();
-
- // Lock so we don't collide with any timer still executing on AppList
- lock (AppList)
- {
- // Start the applications
- foreach (AppExecutor app in AppList.Values)
- {
- try
- {
- m_log.Info("Stopping: " + app.File);
- app.Stop();
- }
- catch (Exception ex)
- {
- m_log.ErrorFormat("Exception while stopping \"{0}\": {1}", app.File, ex.ToString());
- }
- finally
- {
- if (AppRemoved != null)
- AppRemoved(app.File);
- app.Dispose();
- }
-
- }
- AppList.Clear();
- }
- }
- #endregion
-
- public static void Write(string App, string Text)
- {
- // Check if it is a commands
- bool isCommand = Command.Process(App, Text);
-
- // Write to stdInput of app
- if (!isCommand && AppList.ContainsKey(App))
- AppList[App].Write(Text);
- }
-
- public static void WriteLine(string App, string Text)
- {
- // Check if it is a commands
- bool isCommand = Command.Process(App, Text);
-
- // Write to stdInput of app
- if (!isCommand && AppList.ContainsKey(App))
- AppList[App].WriteLine(Text);
- }
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs b/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
deleted file mode 100644
index 60fc664..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,63 +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 OpenSimulator 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.GridLaunch")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("http://opensimulator.org")]
-[assembly: AssemblyProduct("OpenSim.GridLaunch")]
-[assembly: AssemblyCopyright("Copyright (c) 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("0.6.3.*")]
-[assembly: AssemblyVersion("0.6.3.*")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.Designer.cs b/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.Designer.cs
deleted file mode 100644
index 88b0ceb..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:2.0.50727.3053
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace OpenSim.GridLaunch.Properties {
- using System;
-
-
- ///
- /// 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 (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenSim.GridLaunch.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;
- }
- }
-
- internal static System.Drawing.Bitmap OpenSim {
- get {
- object obj = ResourceManager.GetObject("OpenSim", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
-
- internal static System.Drawing.Bitmap OpenSim_Bottom_Border {
- get {
- object obj = ResourceManager.GetObject("OpenSim_Bottom_Border", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
-
- internal static System.Drawing.Bitmap OpenSim_Right_Border {
- get {
- object obj = ResourceManager.GetObject("OpenSim_Right_Border", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.resx b/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.resx
deleted file mode 100644
index b82a1fc..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/Properties/Resources.resx
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
-
- ..\gui\winform\opensim.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\gui\winform\opensim bottom border.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\gui\winform\opensim right border.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
\ No newline at end of file
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/Settings.cs b/OpenSim/Tools/OpenSim.GridLaunch/Settings.cs
deleted file mode 100644
index 1f02928..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/Settings.cs
+++ /dev/null
@@ -1,181 +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 OpenSimulator 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.Reflection;
-using System.Text;
-using log4net;
-
-namespace OpenSim.GridLaunch
-{
- internal class Settings
- {
- private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
- private Dictionary Config = new Dictionary();
- public Dictionary Components = new Dictionary();
-
- public static string[] defaultComponents = new string[]
- {
- "OpenSim.Grid.UserServer.exe",
- "OpenSim.Grid.GridServer.exe",
- "OpenSim.Grid.AssetServer.exe",
- "OpenSim.Grid.InventoryServer.exe",
- "OpenSim.Grid.MessagingServer.exe",
- "OpenSim.32BitLaunch.exe"
- };
-
-
- private static readonly char[] confSplit = new char[] { '=' };
- private static readonly char[] comaSplit = new char[] { ',' };
- private static readonly char[] colonSplit = new char[] { ';' };
-
- private string configFile = "";
-
- public Settings()
- {
- }
- public Settings(string ConfigFile)
- {
- LoadConfig(ConfigFile);
- }
-
-
- public void LoadConfig(string ConfigFile)
- {
- configFile = ConfigFile;
- m_log.Info("Reading config file: " + ConfigFile);
- try
- {
- // Read config file
- foreach (string line in System.IO.File.ReadAllLines(ConfigFile))
- {
- string[] s = line.Split(confSplit, 2);
- if (s.Length >= 2)
- Config.Add(s[0], s[1]);
- }
-
- // Process Components section
- string cmp = Config["Components"];
- Config.Remove("Components");
- foreach (string c in cmp.Split(comaSplit))
- {
- string[] cs = c.Split(colonSplit);
- if (cs.Length >= 2)
- {
- bool status = false;
- bool.TryParse(cs[1], out status);
- Components.Add(cs[0], status);
- }
- }
- }
- catch (Exception ex)
- {
- m_log.Error("Exception reading config file: " + ex.ToString());
- }
- // No components? Add default components
- if (Components.Count == 0)
- foreach (string c in defaultComponents)
- {
- Components.Add(c, true);
- }
- }
-
- public void SaveConfig(string ConfigFile)
- {
- configFile = ConfigFile;
- SaveConfig();
- }
-
- public void SaveConfig()
- {
- m_log.Info("Writing config file: " + configFile);
- try
- {
- System.IO.File.WriteAllText(configFile, ToString());
- }
- catch (Exception ex)
- {
- m_log.Error("Exception writing config file: " + ex.ToString());
- }
-
- }
-
- public new string ToString()
- {
- StringBuilder ret = new StringBuilder();
-
- Dictionary config = new Dictionary(Config);
-
- // Add Components key
- StringBuilder _Components = new StringBuilder();
- foreach (string c in Components.Keys)
- {
- if (_Components.Length > 0)
- _Components.Append(",");
- _Components.Append(c + ";" + Components[c].ToString());
- }
- config["Components"] = _Components.ToString();
-
- // Make return string
- foreach (string key in config.Keys)
- {
- ret.AppendLine(key + "=" + config[key]);
- }
-
- // Return it
- return ret.ToString();
- }
-
- public string this[string Key]
- {
- get
- {
- if (Config.ContainsKey(Key))
- return Config[Key];
- return "";
- }
- set { Config[Key] = value; }
- }
-
- public void ParseCommandArguments(string[] args)
- {
- string key = null;
- foreach (string a in args)
- {
- if (a.StartsWith("--"))
- key = a.Remove(0, 2);
- else
- {
- if (key != null)
- Config[key] = a;
- key = null;
- }
- }
-
- }
- }
-}
diff --git a/OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs b/OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs
deleted file mode 100644
index d0e7f95..0000000
--- a/OpenSim/Tools/OpenSim.GridLaunch/log4netAppender.cs
+++ /dev/null
@@ -1,65 +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 OpenSimulator 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.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using log4net.Appender;
-using log4net.Core;
-
-namespace OpenSim.GridLaunch
-{
- internal class log4netAppender : log4net.Appender.AppenderSkeleton
- {
- public delegate void LogLineDelegate(Color color, string Text);
- public static event LogLineDelegate LogLine;
- public static readonly Dictionary Level2Color = new Dictionary();
-
- static log4netAppender()
- {
- Level2Color.Add("INFO", Color.Black);
- Level2Color.Add("DEBUG", Color.Gray);
- Level2Color.Add("WARN", Color.OrangeRed);
- Level2Color.Add("ERROR", Color.Red);
- }
-
-
- protected override void Append(LoggingEvent loggingEvent)
- {
- // Find appropriate color
- Color color = Color.Black;
- if (Level2Color.ContainsKey(loggingEvent.Level.Name))
- color = Level2Color[loggingEvent.Level.Name];
-
- // Fire event with new log message
- if (LogLine != null)
- LogLine(color, loggingEvent.RenderedMessage + System.Environment.NewLine);
- }
-
- }
-}
--
cgit v1.1
From fba961c63f2168eb560eec84b66203b1a875b952 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 1 Jul 2011 23:06:46 +0100
Subject: Make default serverside_object_permissions = true since this better
matches user expectations.
It also matches the default setting in the OpenSim.ini.example file
---
OpenSim/Tools/Configger/ConfigurationLoader.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Configger/ConfigurationLoader.cs b/OpenSim/Tools/Configger/ConfigurationLoader.cs
index 8e71b42..3914652 100644
--- a/OpenSim/Tools/Configger/ConfigurationLoader.cs
+++ b/OpenSim/Tools/Configger/ConfigurationLoader.cs
@@ -239,7 +239,7 @@ namespace OpenSim.Tools.Configger
config.Set("meshing", "Meshmerizer");
config.Set("physical_prim", true);
config.Set("see_into_this_sim_from_neighbor", true);
- config.Set("serverside_object_permissions", false);
+ config.Set("serverside_object_permissions", true);
config.Set("storage_plugin", "OpenSim.Data.SQLite.dll");
config.Set("storage_connection_string", "URI=file:OpenSim.db,version=3");
config.Set("storage_prim_inventories", true);
--
cgit v1.1
From 39d7945efc8daa6e5cd0f4728b499e7a624526cd Mon Sep 17 00:00:00 2001
From: Kevin Houlihan & Michelle Argus
Date: Wed, 21 Sep 2011 22:46:14 +0100
Subject: Added a setting to [Startup] section of config that will allow the
simulator to start up with no regions configured.
I added the boolean config setting "allow_regionless", defaulting to false. If set to true, opensim will start up ok if no region configurations are found in the specified region_info_source. It will not ask the user to create a region.
---
OpenSim/Tools/Configger/ConfigurationLoader.cs | 1 +
1 file changed, 1 insertion(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Configger/ConfigurationLoader.cs b/OpenSim/Tools/Configger/ConfigurationLoader.cs
index 3914652..28bcc99 100644
--- a/OpenSim/Tools/Configger/ConfigurationLoader.cs
+++ b/OpenSim/Tools/Configger/ConfigurationLoader.cs
@@ -233,6 +233,7 @@ namespace OpenSim.Tools.Configger
config = defaultConfig.AddConfig("Startup");
config.Set("region_info_source", "filesystem");
+ config.Set("allow_regionless", false);
config.Set("gridmode", false);
config.Set("physics", "OpenDynamicsEngine");
--
cgit v1.1
From 8a0a78cbccce796addacab7ed1609279b802a9b3 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 25 Oct 2011 20:24:21 +0100
Subject: Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework
instead of the other way around.
This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes.
Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers
Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer
MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this. This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
---
OpenSim/Tools/pCampBot/pCampBot.cs | 1 +
1 file changed, 1 insertion(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 002a294..77110bf 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -27,6 +27,7 @@
using System;
using Nini.Config;
+using OpenSim.Framework;
using OpenSim.Framework.Console;
namespace pCampBot
--
cgit v1.1
From e3f51df3c27c5bc74bc69789d18015c538220935 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 31 Oct 2011 21:33:25 +0000
Subject: Stop pCampbot from firing connected event twice, which results in
double counting.
---
OpenSim/Tools/pCampBot/BotManager.cs | 16 ++++++++--------
OpenSim/Tools/pCampBot/PhysicsBot.cs | 5 +++--
2 files changed, 11 insertions(+), 10 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 614b350..c9d1446 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -81,16 +81,16 @@ namespace pCampBot
m_console.Commands.AddCommand("bot", false, "shutdown",
"shutdown",
- "Gracefully shut down bots", HandleShutdown);
+ "Shutdown bots and exit", HandleShutdown);
m_console.Commands.AddCommand("bot", false, "quit",
"quit",
- "Force quit (DANGEROUS, try shutdown first)",
+ "Shutdown bots and exit",
HandleShutdown);
- m_console.Commands.AddCommand("bot", false, "add bots",
- "add bots ",
- "Add more bots", HandleAddBots);
+// m_console.Commands.AddCommand("bot", false, "add bots",
+// "add bots ",
+// "Add more bots", HandleAddBots);
m_lBot = new List();
}
@@ -177,14 +177,14 @@ namespace pCampBot
switch (eventt)
{
case EventType.CONNECTED:
- m_log.Info("[ " + callbot.firstname + " " + callbot.lastname + "]: Connected");
+ m_log.Info("[" + callbot.firstname + " " + callbot.lastname + "]: Connected");
numbots++;
break;
case EventType.DISCONNECTED:
- m_log.Info("[ " + callbot.firstname + " " + callbot.lastname + "]: Disconnected");
+ m_log.Info("[" + callbot.firstname + " " + callbot.lastname + "]: Disconnected");
m_td[m_lBot.IndexOf(callbot)].Abort();
numbots--;
- if (numbots >1)
+ if (numbots <= 0)
Environment.Exit(0);
break;
}
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 5d4af31..de54836 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -165,7 +165,7 @@ namespace pCampBot
m_action.AutoReset = false;
m_action.Elapsed += new ElapsedEventHandler(m_action_Elapsed);
m_action.Start();
- OnConnected(this, EventType.CONNECTED);
+// OnConnected(this, EventType.CONNECTED);
if (wear == "save")
{
client.Appearance.SetPreviousAppearance();
@@ -384,6 +384,7 @@ namespace pCampBot
{
client.Assets.RequestImage(prim.Textures.DefaultTexture.TextureID, ImageType.Normal, Asset_TextureCallback_Texture);
}
+
for (int i = 0; i < prim.Textures.FaceTextures.Length; i++)
{
if (prim.Textures.FaceTextures[i] != null)
@@ -392,10 +393,10 @@ namespace pCampBot
{
client.Assets.RequestImage(prim.Textures.FaceTextures[i].TextureID, ImageType.Normal, Asset_TextureCallback_Texture);
}
-
}
}
}
+
if (prim.Sculpt.SculptTexture != UUID.Zero)
{
client.Assets.RequestImage(prim.Sculpt.SculptTexture, ImageType.Normal, Asset_TextureCallback_Texture);
--
cgit v1.1
From b1647f6d045a4ec0559d0f49d09f17f6e4cf2930 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 31 Oct 2011 22:14:49 +0000
Subject: adjust pCampbot so it starts up bots with the name format
" _"
e.g. starting up two bots called "Ima Bot" will give them the names "Ima Bot_0" and "Ima Bot_1"
This is necessary since bots with random names can no longer be created, as there's no easy way to turn off account authentication
---
OpenSim/Tools/pCampBot/BotManager.cs | 107 ++++++++++++++++-------------------
OpenSim/Tools/pCampBot/PhysicsBot.cs | 45 +++++++++------
OpenSim/Tools/pCampBot/README.txt | 25 +++-----
OpenSim/Tools/pCampBot/pCampBot.cs | 6 +-
4 files changed, 89 insertions(+), 94 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index c9d1446..0aaa226 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -53,7 +53,7 @@ namespace pCampBot
protected bool m_verbose = true;
protected Random somthing = new Random(Environment.TickCount);
protected int numbots = 0;
- protected IConfig Previous_config;
+ private IConfig Config;
///
/// Constructor Creates MainConsole.Instance to take commands and provide the place to write data
@@ -102,72 +102,65 @@ namespace pCampBot
/// The configuration for the bots to use
public void dobotStartup(int botcount, IConfig cs)
{
- Previous_config = cs;
+ Config = cs;
m_td = new Thread[botcount];
+
+ string firstName = cs.GetString("firstname");
+ string lastNameStem = cs.GetString("lastname");
+ string password = cs.GetString("password");
+ string loginUri = cs.GetString("loginuri");
+
for (int i = 0; i < botcount; i++)
{
- startupBot(i, cs);
+ string lastName = string.Format("{0}_{1}", lastNameStem, i);
+ startupBot(i, cs, firstName, lastName, password, loginUri);
}
}
- ///
- /// 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);
- }
- }
+// ///
+// /// 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, 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)
+ /// First name
+ /// Last name
+ /// Password
+ /// Login URI
+ public void startupBot(int pos, IConfig cs, string firstName, string lastName, string password, string loginUri)
{
- PhysicsBot pb = new PhysicsBot(cs);
+ PhysicsBot pb = new PhysicsBot(cs, firstName, lastName, password, loginUri);
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].Name = pb.Name;
m_td[pos].IsBackground = true;
m_td[pos].Start();
m_lBot.Add(pb);
}
///
- /// 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
///
///
@@ -177,11 +170,11 @@ namespace pCampBot
switch (eventt)
{
case EventType.CONNECTED:
- m_log.Info("[" + callbot.firstname + " " + callbot.lastname + "]: Connected");
+ m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Connected");
numbots++;
break;
case EventType.DISCONNECTED:
- m_log.Info("[" + callbot.firstname + " " + callbot.lastname + "]: Disconnected");
+ m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Disconnected");
m_td[m_lBot.IndexOf(callbot)].Abort();
numbots--;
if (numbots <= 0)
@@ -223,17 +216,17 @@ namespace pCampBot
Environment.Exit(0);
}
*/
-
- private void HandleAddBots(string module, string[] cmd)
- {
- int newbots = 0;
-
- if (cmd.Length > 2)
- {
- Int32.TryParse(cmd[2], out newbots);
- }
- if (newbots > 0)
- addbots(newbots);
- }
+//
+// private void HandleAddBots(string module, string[] cmd)
+// {
+// int newbots = 0;
+//
+// if (cmd.Length > 2)
+// {
+// Int32.TryParse(cmd[2], out newbots);
+// }
+// if (newbots > 0)
+// addbots(newbots);
+// }
}
}
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index de54836..1531b27 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -45,10 +45,11 @@ namespace pCampBot
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 string FirstName { get; private set; }
+ public string LastName { get; private set; }
+ public string Name { get; private set; }
+ public string Password { get; private set; }
+ public string LoginUri { get; private set; }
public string saveDir;
public string wear;
@@ -60,16 +61,28 @@ namespace pCampBot
protected Random somthing = new Random(Environment.TickCount);// We do stuff randomly here
- //New instance of a SecondLife client
+ ///
+ /// New instance of a SecondLife client
+ ///
public GridClient client = new GridClient();
protected string[] talkarray;
+
///
- ///
+ /// Constructor
///
- /// nini config for the bot
- public PhysicsBot(IConfig bsconfig)
+ ///
+ ///
+ ///
+ ///
+ ///
+ public PhysicsBot(IConfig bsconfig, string firstName, string lastName, string password, string loginUri)
{
+ FirstName = firstName;
+ LastName = lastName;
+ Name = string.Format("{0} {1}", FirstName, LastName);
+ Password = password;
+ LoginUri = loginUri;
startupConfig = bsconfig;
readconfig();
talkarray = readexcuses();
@@ -116,10 +129,6 @@ namespace pCampBot
///
public void readconfig()
{
- firstname = startupConfig.GetString("firstname", "random");
- lastname = startupConfig.GetString("lastname", "random");
- password = startupConfig.GetString("password", "12345");
- loginURI = startupConfig.GetString("loginuri");
wear = startupConfig.GetString("wear","no");
}
@@ -136,7 +145,7 @@ namespace pCampBot
///
public void startup()
{
- client.Settings.LOGIN_SERVER = loginURI;
+ client.Settings.LOGIN_SERVER = LoginUri;
client.Settings.ALWAYS_DECODE_OBJECTS = false;
client.Settings.AVATAR_TRACKING = false;
client.Settings.OBJECT_TRACKING = false;
@@ -153,10 +162,10 @@ namespace pCampBot
client.Throttle.Total = 400000;
client.Network.LoginProgress += this.Network_LoginProgress;
client.Network.SimConnected += this.Network_SimConnected;
- client.Network.Disconnected += this.Network_OnDisconnected;
+// client.Network.Disconnected += this.Network_OnDisconnected;
client.Objects.ObjectUpdate += Objects_NewPrim;
//client.Assets.OnAssetReceived += Asset_ReceivedCallback;
- if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name"))
+ if (client.Network.Login(FirstName, LastName, Password, "pCampBot", "Your name"))
{
if (OnConnected != null)
{
@@ -180,7 +189,9 @@ namespace pCampBot
}
else
{
- MainConsole.Instance.Output(firstname + " " + lastname + " Can't login: " + client.Network.LoginMessage);
+ MainConsole.Instance.OutputFormat(
+ "{0} {1} cannot login: {2}", FirstName, LastName, client.Network.LoginMessage);
+
if (OnDisconnected != null)
{
OnDisconnected(this, EventType.DISCONNECTED);
@@ -190,7 +201,7 @@ namespace pCampBot
public void SaveDefaultAppearance()
{
- saveDir = "MyAppearance/" + firstname + "_" + lastname;
+ saveDir = "MyAppearance/" + FirstName + "_" + LastName;
if (!Directory.Exists(saveDir))
{
Directory.CreateDirectory(saveDir);
diff --git a/OpenSim/Tools/pCampBot/README.txt b/OpenSim/Tools/pCampBot/README.txt
index 7ecbde1..c4fcf33 100644
--- a/OpenSim/Tools/pCampBot/README.txt
+++ b/OpenSim/Tools/pCampBot/README.txt
@@ -1,10 +1,13 @@
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
+This is designed to stress test the simulator. It creates
+clients that log in, randomly jump/walk around, and can say excuses from
the BOFH.
+Bots must have accounts already created. Each bot will have the same firstname and password
+but their lastname will be appended with _ starting from 0. So if you have two bots called ima bot, their
+first names will be ima_bot_0 and ima_bot_1.
+
*** WARNING ***
Using this bot on a public grid could get you banned permanently, so
just say No! to griefing!
@@ -21,19 +24,8 @@ 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
+windows: pCampBot.exe -botcount -loginuri -firstname -lastname -password
+*nix: mono pCampBot.exe -botcount -loginuri -firstname -lastname -password
----- Commands -----
@@ -41,4 +33,3 @@ 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
index 77110bf..a69fbf0 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -95,9 +95,9 @@ namespace pCampBot
"Spawns a set of bots to test an OpenSim region\n\n" +
" -l, -loginuri loginuri for sim to log into (required)\n" +
" -n, -botcount number of bots to start (default: 1)\n" +
- " -firstname first name for the bot(s) (default: random string)\n" +
- " -lastname lastname for the bot(s) (default: random string)\n" +
- " -password password for the bots(s) (default: random string)\n" +
+ " -firstname first name for the bots\n" +
+ " -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n" +
+ " -password password for the bots\n" +
" -wear set appearance folder to load from (default: no)\n" +
" -h, -help show this message"
);
--
cgit v1.1
From 43e07efbc843ba1edd0c0369c50da331b5a1b2d6 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 31 Oct 2011 22:27:12 +0000
Subject: Fix bot disconnection
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 1531b27..03c6f85 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -162,7 +162,7 @@ namespace pCampBot
client.Throttle.Total = 400000;
client.Network.LoginProgress += this.Network_LoginProgress;
client.Network.SimConnected += this.Network_SimConnected;
-// client.Network.Disconnected += this.Network_OnDisconnected;
+ client.Network.Disconnected += this.Network_OnDisconnected;
client.Objects.ObjectUpdate += Objects_NewPrim;
//client.Assets.OnAssetReceived += Asset_ReceivedCallback;
if (client.Network.Login(FirstName, LastName, Password, "pCampBot", "Your name"))
--
cgit v1.1
From d366a08ebbc861a9db8ab27dd7f375a349d297ff Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 31 Oct 2011 22:52:49 +0000
Subject: Stop individual bots attempting to download the same asset more than
once
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 50 ++++++++++++++++++++++++++----------
1 file changed, 36 insertions(+), 14 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 03c6f85..0344a82 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -56,6 +56,11 @@ namespace pCampBot
public event AnEvent OnConnected;
public event AnEvent OnDisconnected;
+ ///
+ /// Track the assets we have and have not received so we don't endlessly repeat requests.
+ ///
+ public Dictionary AssetsReceived { get; private set; }
+
protected Timer m_action; // Action Timer
protected List objectIDs = new List();
@@ -86,6 +91,8 @@ namespace pCampBot
startupConfig = bsconfig;
readconfig();
talkarray = readexcuses();
+
+ AssetsReceived = new Dictionary();
}
//We do our actions here. This is where one would
@@ -164,7 +171,7 @@ namespace pCampBot
client.Network.SimConnected += this.Network_SimConnected;
client.Network.Disconnected += this.Network_OnDisconnected;
client.Objects.ObjectUpdate += Objects_NewPrim;
- //client.Assets.OnAssetReceived += Asset_ReceivedCallback;
+
if (client.Network.Login(FirstName, LastName, Password, "pCampBot", "Your name"))
{
if (OnConnected != null)
@@ -227,7 +234,7 @@ namespace pCampBot
{
if (asset.Decode())
{
- File.WriteAllBytes(Path.Combine(saveDir, String.Format("{1}.{0}",
+ File.WriteAllBytes(Path.Combine(saveDir, String.Format("{1}.{0}",
asset.AssetType.ToString().ToLower(),
asset.WearableType)), asset.AssetData);
}
@@ -393,40 +400,55 @@ namespace pCampBot
{
if (prim.Textures.DefaultTexture.TextureID != UUID.Zero)
{
- client.Assets.RequestImage(prim.Textures.DefaultTexture.TextureID, ImageType.Normal, Asset_TextureCallback_Texture);
+ GetTexture(prim.Textures.DefaultTexture.TextureID);
}
for (int i = 0; i < prim.Textures.FaceTextures.Length; i++)
{
- if (prim.Textures.FaceTextures[i] != null)
+ UUID textureID = prim.Textures.FaceTextures[i].TextureID;
+
+ if (textureID != null && textureID != UUID.Zero)
{
- if (prim.Textures.FaceTextures[i].TextureID != UUID.Zero)
- {
- client.Assets.RequestImage(prim.Textures.FaceTextures[i].TextureID, ImageType.Normal, Asset_TextureCallback_Texture);
- }
+ GetTexture(textureID);
}
}
}
if (prim.Sculpt.SculptTexture != UUID.Zero)
{
- client.Assets.RequestImage(prim.Sculpt.SculptTexture, ImageType.Normal, Asset_TextureCallback_Texture);
+ GetTexture(prim.Sculpt.SculptTexture);
}
}
}
+ private void GetTexture(UUID textureID)
+ {
+ lock (AssetsReceived)
+ {
+ // Don't request assets more than once.
+ if (AssetsReceived.ContainsKey(textureID))
+ return;
+
+ AssetsReceived[textureID] = false;
+ client.Assets.RequestImage(textureID, ImageType.Normal, Asset_TextureCallback_Texture);
+ }
+ }
+
public void Asset_TextureCallback_Texture(TextureRequestState state, AssetTexture assetTexture)
{
//TODO: Implement texture saving and applying
}
- public void Asset_ReceivedCallback(AssetDownload transfer,Asset asset)
+ public void Asset_ReceivedCallback(AssetDownload transfer, Asset asset)
{
- if (wear == "save")
- {
- SaveAsset((AssetWearable) asset);
- }
+ lock (AssetsReceived)
+ AssetsReceived[asset.AssetID] = true;
+
+// if (wear == "save")
+// {
+// SaveAsset((AssetWearable) asset);
+// }
}
public string[] readexcuses()
--
cgit v1.1
From 210868a832439bb226dfcf153ca66563300dc2cf Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 31 Oct 2011 23:10:10 +0000
Subject: Remove OpenSim.TestSuite
Hasn't been touched since 2009 and wasn't more than another copy of pCampBot
---
OpenSim/Tools/pCampBot/BotManager.cs | 4 +++-
OpenSim/Tools/pCampBot/PhysicsBot.cs | 7 ++++++-
2 files changed, 9 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 0aaa226..a4b7f16 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -165,18 +165,20 @@ namespace pCampBot
///
///
///
- public void handlebotEvent(PhysicsBot callbot, EventType eventt)
+ private void handlebotEvent(PhysicsBot callbot, EventType eventt)
{
switch (eventt)
{
case EventType.CONNECTED:
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Connected");
numbots++;
+// m_log.InfoFormat("NUMBOTS {0}", numbots);
break;
case EventType.DISCONNECTED:
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Disconnected");
m_td[m_lBot.IndexOf(callbot)].Abort();
numbots--;
+// m_log.InfoFormat("NUMBOTS {0}", numbots);
if (numbots <= 0)
Environment.Exit(0);
break;
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 0344a82..0c399e3 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -29,19 +29,23 @@ using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
+using System.Reflection;
using System.Threading;
using System.Timers;
+using log4net;
using OpenMetaverse;
using OpenMetaverse.Assets;
using Nini.Config;
using OpenSim.Framework;
using OpenSim.Framework.Console;
-using Timer=System.Timers.Timer;
+using Timer = System.Timers.Timer;
namespace pCampBot
{
public class PhysicsBot
{
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
public delegate void AnEvent(PhysicsBot callbot, EventType someevent); // event delegate for bot events
public IConfig startupConfig; // bot config, passed from BotManager
@@ -384,6 +388,7 @@ namespace pCampBot
public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
{
+// m_log.ErrorFormat("Fired Network_OnDisconnected");
if (OnDisconnected != null)
{
OnDisconnected(this, EventType.DISCONNECTED);
--
cgit v1.1
From b951c7fb1e5a284a9bf95054cb168e64ebfe717d Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 31 Oct 2011 23:22:55 +0000
Subject: Make bots share a cache so that asset downloads attempts are only
made once instead of once for each bot
---
OpenSim/Tools/pCampBot/BotManager.cs | 15 +++++++++++----
OpenSim/Tools/pCampBot/PhysicsBot.cs | 29 +++++++++++++----------------
2 files changed, 24 insertions(+), 20 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index a4b7f16..03bb820 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -53,13 +53,20 @@ namespace pCampBot
protected bool m_verbose = true;
protected Random somthing = new Random(Environment.TickCount);
protected int numbots = 0;
- private IConfig Config;
+ public IConfig Config { get; private set; }
+
+ ///
+ /// Track the assets we have and have not received so we don't endlessly repeat requests.
+ ///
+ public Dictionary AssetsReceived { get; private set; }
///
/// Constructor Creates MainConsole.Instance to take commands and provide the place to write data
///
public BotManager()
{
+ AssetsReceived = new Dictionary();
+
m_console = CreateConsole();
MainConsole.Instance = m_console;
@@ -113,7 +120,7 @@ namespace pCampBot
for (int i = 0; i < botcount; i++)
{
string lastName = string.Format("{0}_{1}", lastNameStem, i);
- startupBot(i, cs, firstName, lastName, password, loginUri);
+ startupBot(i, this, firstName, lastName, password, loginUri);
}
}
@@ -146,9 +153,9 @@ namespace pCampBot
/// Last name
/// Password
/// Login URI
- public void startupBot(int pos, IConfig cs, string firstName, string lastName, string password, string loginUri)
+ public void startupBot(int pos, BotManager bm, string firstName, string lastName, string password, string loginUri)
{
- PhysicsBot pb = new PhysicsBot(cs, firstName, lastName, password, loginUri);
+ PhysicsBot pb = new PhysicsBot(bm, firstName, lastName, password, loginUri);
pb.OnConnected += handlebotEvent;
pb.OnDisconnected += handlebotEvent;
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 0c399e3..2070bfd 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -47,7 +47,9 @@ namespace pCampBot
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public delegate void AnEvent(PhysicsBot callbot, EventType someevent); // event delegate for bot events
- public IConfig startupConfig; // bot config, passed from BotManager
+
+ public BotManager BotManager { get; private set; }
+ private IConfig startupConfig; // bot config, passed from BotManager
public string FirstName { get; private set; }
public string LastName { get; private set; }
@@ -60,11 +62,6 @@ namespace pCampBot
public event AnEvent OnConnected;
public event AnEvent OnDisconnected;
- ///
- /// Track the assets we have and have not received so we don't endlessly repeat requests.
- ///
- public Dictionary AssetsReceived { get; private set; }
-
protected Timer m_action; // Action Timer
protected List objectIDs = new List();
@@ -80,23 +77,23 @@ namespace pCampBot
///
/// Constructor
///
- ///
+ ///
///
///
///
///
- public PhysicsBot(IConfig bsconfig, string firstName, string lastName, string password, string loginUri)
+ public PhysicsBot(BotManager bm, string firstName, string lastName, string password, string loginUri)
{
FirstName = firstName;
LastName = lastName;
Name = string.Format("{0} {1}", FirstName, LastName);
Password = password;
LoginUri = loginUri;
- startupConfig = bsconfig;
+
+ BotManager = bm;
+ startupConfig = bm.Config;
readconfig();
talkarray = readexcuses();
-
- AssetsReceived = new Dictionary();
}
//We do our actions here. This is where one would
@@ -428,13 +425,13 @@ namespace pCampBot
private void GetTexture(UUID textureID)
{
- lock (AssetsReceived)
+ lock (BotManager.AssetsReceived)
{
// Don't request assets more than once.
- if (AssetsReceived.ContainsKey(textureID))
+ if (BotManager.AssetsReceived.ContainsKey(textureID))
return;
- AssetsReceived[textureID] = false;
+ BotManager.AssetsReceived[textureID] = false;
client.Assets.RequestImage(textureID, ImageType.Normal, Asset_TextureCallback_Texture);
}
}
@@ -447,8 +444,8 @@ namespace pCampBot
public void Asset_ReceivedCallback(AssetDownload transfer, Asset asset)
{
- lock (AssetsReceived)
- AssetsReceived[asset.AssetID] = true;
+ lock (BotManager.AssetsReceived)
+ BotManager.AssetsReceived[asset.AssetID] = true;
// if (wear == "save")
// {
--
cgit v1.1
From 87ec8a4ecbafca79841117ba03cced0aa9f82193 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 1 Nov 2011 18:36:29 +0000
Subject: Retain a reference to an action thread rather than starting an
infinite loop via a timer, so that we can actually abort the action thread on
shutdown
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 28 ++++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 2070bfd..945697b 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -62,7 +62,11 @@ namespace pCampBot
public event AnEvent OnConnected;
public event AnEvent OnDisconnected;
- protected Timer m_action; // Action Timer
+ ///
+ /// Keep a track of the continuously acting thread so that we can abort it.
+ ///
+ private Thread m_actionThread;
+
protected List objectIDs = new List();
protected Random somthing = new Random(Environment.TickCount);// We do stuff randomly here
@@ -98,8 +102,7 @@ namespace pCampBot
//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, ElapsedEventArgs e)
+ private void Action()
{
while (true)
{
@@ -145,6 +148,9 @@ namespace pCampBot
///
public void shutdown()
{
+ if (m_actionThread != null)
+ m_actionThread.Abort();
+
client.Network.Logout();
}
@@ -177,11 +183,10 @@ namespace pCampBot
{
if (OnConnected != null)
{
- m_action = new Timer(somthing.Next(1000, 10000));
- m_action.Enabled = true;
- m_action.AutoReset = false;
- m_action.Elapsed += new ElapsedEventHandler(m_action_Elapsed);
- m_action.Start();
+ Thread.Sleep(somthing.Next(1000, 10000));
+ m_actionThread = new Thread(Action);
+ m_actionThread.Start();
+
// OnConnected(this, EventType.CONNECTED);
if (wear == "save")
{
@@ -386,6 +391,13 @@ namespace pCampBot
public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
{
// m_log.ErrorFormat("Fired Network_OnDisconnected");
+
+ // Only pass on the disconnect message when we receive a SimShutdown type shutdown. We have to ignore
+ // the earlier ClientInitiated shutdown callback.
+// if (
+// (args.Reason == NetworkManager.DisconnectType.SimShutdown
+// || args.Reason == NetworkManager.DisconnectType.NetworkTimeout)
+// && OnDisconnected != null)
if (OnDisconnected != null)
{
OnDisconnected(this, EventType.DISCONNECTED);
--
cgit v1.1
From 12bd0ebd3416a60faeec77bfcd3cb48c33ed5cce Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 1 Nov 2011 21:15:47 +0000
Subject: stop recording the threads on which we happen to start bots. These
are pointless since they terminate quickly
---
OpenSim/Tools/pCampBot/BotManager.cs | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 03bb820..bfb664f 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -49,7 +49,6 @@ namespace pCampBot
protected CommandConsole m_console;
protected List m_lBot;
- protected Thread[] m_td;
protected bool m_verbose = true;
protected Random somthing = new Random(Environment.TickCount);
protected int numbots = 0;
@@ -110,7 +109,6 @@ namespace pCampBot
public void dobotStartup(int botcount, IConfig cs)
{
Config = cs;
- m_td = new Thread[botcount];
string firstName = cs.GetString("firstname");
string lastNameStem = cs.GetString("lastname");
@@ -160,11 +158,12 @@ namespace pCampBot
pb.OnConnected += handlebotEvent;
pb.OnDisconnected += handlebotEvent;
- m_td[pos] = new Thread(pb.startup);
- m_td[pos].Name = pb.Name;
- m_td[pos].IsBackground = true;
- m_td[pos].Start();
m_lBot.Add(pb);
+
+ Thread pbThread = new Thread(pb.startup);
+ pbThread.Name = pb.Name;
+ pbThread.IsBackground = true;
+ pbThread.Start();
}
///
@@ -183,7 +182,6 @@ namespace pCampBot
break;
case EventType.DISCONNECTED:
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Disconnected");
- m_td[m_lBot.IndexOf(callbot)].Abort();
numbots--;
// m_log.InfoFormat("NUMBOTS {0}", numbots);
if (numbots <= 0)
--
cgit v1.1
From 53f3b76a84e6fb90b1f197977054a16ec86ccc7f Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 1 Nov 2011 21:18:28 +0000
Subject: get rid of unused m_verbose field
---
OpenSim/Tools/pCampBot/BotManager.cs | 1 -
1 file changed, 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index bfb664f..d2b7ded 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -49,7 +49,6 @@ namespace pCampBot
protected CommandConsole m_console;
protected List m_lBot;
- protected bool m_verbose = true;
protected Random somthing = new Random(Environment.TickCount);
protected int numbots = 0;
public IConfig Config { get; private set; }
--
cgit v1.1
From 40750b44a09c9970497657c3a847af2d92c8b385 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 1 Nov 2011 21:47:14 +0000
Subject: Listen only for non SimShutdown Network.Disconnect firing so that we
don't quite the program before all bots have actually logged off.
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 945697b..5bcd35d 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -398,7 +398,13 @@ namespace pCampBot
// (args.Reason == NetworkManager.DisconnectType.SimShutdown
// || args.Reason == NetworkManager.DisconnectType.NetworkTimeout)
// && OnDisconnected != null)
- if (OnDisconnected != null)
+
+ if (
+ (args.Reason == NetworkManager.DisconnectType.ClientInitiated
+ || args.Reason == NetworkManager.DisconnectType.ServerInitiated
+ || args.Reason == NetworkManager.DisconnectType.NetworkTimeout)
+ && OnDisconnected != null)
+// if (OnDisconnected != null)
{
OnDisconnected(this, EventType.DISCONNECTED);
}
--
cgit v1.1
From 8e2e4c47d95728ba25694a85454488074360445e Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 1 Nov 2011 22:09:21 +0000
Subject: Add "show status" command to pCambot
---
OpenSim/Tools/pCampBot/BotManager.cs | 30 ++++++++++++++++++++++++-----
OpenSim/Tools/pCampBot/PhysicsBot.cs | 37 +++++++++++++++++++-----------------
2 files changed, 45 insertions(+), 22 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index d2b7ded..b05bd6d 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -93,6 +93,11 @@ namespace pCampBot
"Shutdown bots and exit",
HandleShutdown);
+ m_console.Commands.AddCommand("bot", false, "show status",
+ "show status",
+ "Shows the status of all bots",
+ HandleShowStatus);
+
// m_console.Commands.AddCommand("bot", false, "add bots",
// "add bots ",
// "Add more bots", HandleAddBots);
@@ -157,7 +162,8 @@ namespace pCampBot
pb.OnConnected += handlebotEvent;
pb.OnDisconnected += handlebotEvent;
- m_lBot.Add(pb);
+ lock (m_lBot)
+ m_lBot.Add(pb);
Thread pbThread = new Thread(pb.startup);
pbThread.Name = pb.Name;
@@ -194,10 +200,9 @@ namespace pCampBot
///
public void doBotShutdown()
{
- foreach (PhysicsBot pb in m_lBot)
- {
- pb.shutdown();
- }
+ lock (m_lBot)
+ foreach (PhysicsBot pb in m_lBot)
+ pb.shutdown();
}
///
@@ -215,6 +220,21 @@ namespace pCampBot
doBotShutdown();
}
+ private void HandleShowStatus(string module, string[] cmd)
+ {
+ string outputFormat = "{0,-30} {1,-14}";
+ MainConsole.Instance.OutputFormat(outputFormat, "Name", "Status");
+
+ lock (m_lBot)
+ {
+ foreach (PhysicsBot pb in m_lBot)
+ {
+ MainConsole.Instance.OutputFormat(
+ outputFormat, pb.Name, (pb.IsConnected ? "Connected" : "Disconnected"));
+ }
+ }
+ }
+
/*
private void HandleQuit(string module, string[] cmd)
{
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 5bcd35d..14e9cca 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -51,6 +51,11 @@ namespace pCampBot
public BotManager BotManager { get; private set; }
private IConfig startupConfig; // bot config, passed from BotManager
+ ///
+ /// Is this bot connected to the grid?
+ ///
+ public bool IsConnected { get; private set; }
+
public string FirstName { get; private set; }
public string LastName { get; private set; }
public string Name { get; private set; }
@@ -181,24 +186,23 @@ namespace pCampBot
if (client.Network.Login(FirstName, LastName, Password, "pCampBot", "Your name"))
{
- if (OnConnected != null)
- {
- Thread.Sleep(somthing.Next(1000, 10000));
- m_actionThread = new Thread(Action);
- m_actionThread.Start();
+ IsConnected = true;
+
+ Thread.Sleep(somthing.Next(1000, 10000));
+ m_actionThread = new Thread(Action);
+ m_actionThread.Start();
// OnConnected(this, EventType.CONNECTED);
- if (wear == "save")
- {
- client.Appearance.SetPreviousAppearance();
- SaveDefaultAppearance();
- }
- else if (wear != "no")
- {
- MakeDefaultAppearance(wear);
- }
- client.Self.Jump(true);
+ if (wear == "save")
+ {
+ client.Appearance.SetPreviousAppearance();
+ SaveDefaultAppearance();
}
+ else if (wear != "no")
+ {
+ MakeDefaultAppearance(wear);
+ }
+ client.Self.Jump(true);
}
else
{
@@ -392,8 +396,6 @@ namespace pCampBot
{
// m_log.ErrorFormat("Fired Network_OnDisconnected");
- // Only pass on the disconnect message when we receive a SimShutdown type shutdown. We have to ignore
- // the earlier ClientInitiated shutdown callback.
// if (
// (args.Reason == NetworkManager.DisconnectType.SimShutdown
// || args.Reason == NetworkManager.DisconnectType.NetworkTimeout)
@@ -406,6 +408,7 @@ namespace pCampBot
&& OnDisconnected != null)
// if (OnDisconnected != null)
{
+ IsConnected = false;
OnDisconnected(this, EventType.DISCONNECTED);
}
}
--
cgit v1.1
From 9456a540c50b90d2c2cdb1b556e9d6190f817426 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 1 Nov 2011 23:23:45 +0000
Subject: Add "appearance send" command to allow manual sending of appearance.
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 14e9cca..a8b2426 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -124,11 +124,11 @@ namespace pCampBot
}
// TODO: unused: Vector3 pos = client.Self.SimPosition;
- Vector3 newpos = new Vector3(somthing.Next(255), somthing.Next(255), somthing.Next(255));
+ Vector3 newpos = new Vector3(somthing.Next(1, 254), somthing.Next(1, 254), somthing.Next(1, 254));
client.Self.Movement.TurnToward(newpos);
client.Self.Movement.AtPos = true;
- Thread.Sleep(somthing.Next(3000,13000));
+ Thread.Sleep(somthing.Next(3000, 13000));
client.Self.Movement.AtPos = false;
client.Self.Jump(true);
--
cgit v1.1
From 66c60c56a0bac01e0f4f2a9d5c673a48ff94642b Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 3 Nov 2011 21:16:24 +0000
Subject: Separate out physics testing actions into a separate PhysicsBehaviour
class
---
OpenSim/Tools/pCampBot/BotManager.cs | 16 ++-
OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs | 37 ++++++
OpenSim/Tools/pCampBot/PhysicsBehaviour.cs | 97 +++++++++++++++
OpenSim/Tools/pCampBot/PhysicsBot.cs | 152 ++++++++++--------------
OpenSim/Tools/pCampBot/pCampBot.cs | 14 ++-
5 files changed, 221 insertions(+), 95 deletions(-)
create mode 100644 OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
create mode 100644 OpenSim/Tools/pCampBot/PhysicsBehaviour.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index b05bd6d..0505c97 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -37,6 +37,7 @@ using log4net.Repository;
using Nini.Config;
using OpenSim.Framework;
using OpenSim.Framework.Console;
+using pCampBot.Interfaces;
namespace pCampBot
{
@@ -119,10 +120,14 @@ namespace pCampBot
string password = cs.GetString("password");
string loginUri = cs.GetString("loginuri");
+ // Hardcoded for new
+ List behaviours = new List();
+ behaviours.Add(new PhysicsBehaviour());
+
for (int i = 0; i < botcount; i++)
{
string lastName = string.Format("{0}_{1}", lastNameStem, i);
- startupBot(i, this, firstName, lastName, password, loginUri);
+ startupBot(i, this, behaviours, firstName, lastName, password, loginUri);
}
}
@@ -150,14 +155,17 @@ namespace pCampBot
/// 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
+ ///
+ /// Behaviours for this bot to perform.
/// First name
/// Last name
/// Password
/// Login URI
- public void startupBot(int pos, BotManager bm, string firstName, string lastName, string password, string loginUri)
+ public void startupBot(
+ int pos, BotManager bm, List behaviours,
+ string firstName, string lastName, string password, string loginUri)
{
- PhysicsBot pb = new PhysicsBot(bm, firstName, lastName, password, loginUri);
+ PhysicsBot pb = new PhysicsBot(bm, behaviours, firstName, lastName, password, loginUri);
pb.OnConnected += handlebotEvent;
pb.OnDisconnected += handlebotEvent;
diff --git a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
new file mode 100644
index 0000000..f9eaa1c
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
@@ -0,0 +1,37 @@
+/*
+ * 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 OpenSimulator 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 pCampBot;
+using System;
+
+namespace pCampBot.Interfaces
+{
+ public interface IBehaviour
+ {
+ void Action(PhysicsBot bot);
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/PhysicsBehaviour.cs
new file mode 100644
index 0000000..e76c0b3
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/PhysicsBehaviour.cs
@@ -0,0 +1,97 @@
+/*
+ * 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 OpenSimulator 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.Threading;
+using OpenMetaverse;
+using OpenSim.Framework;
+using pCampBot.Interfaces;
+
+namespace pCampBot
+{
+ ///
+ /// This is a behaviour designed to stress physics by moving and bouncing around bots a whole lot.
+ ///
+ ///
+ /// TODO: talkarray should be in a separate behaviour.
+ ///
+ public class PhysicsBehaviour : IBehaviour
+ {
+ private string[] talkarray;
+
+ public PhysicsBehaviour()
+ {
+ talkarray = readexcuses();
+ }
+
+ public void Action(PhysicsBot bot)
+ {
+ int walkorrun = bot.Random.Next(4); // Randomize between walking and running. The greater this number,
+ // the greater the bot's chances to walk instead of run.
+ bot.Client.Self.Jump(false);
+ if (walkorrun == 0)
+ {
+ bot.Client.Self.Movement.AlwaysRun = true;
+ }
+ else
+ {
+ bot.Client.Self.Movement.AlwaysRun = false;
+ }
+
+ // TODO: unused: Vector3 pos = client.Self.SimPosition;
+ Vector3 newpos = new Vector3(bot.Random.Next(1, 254), bot.Random.Next(1, 254), bot.Random.Next(1, 254));
+ bot.Client.Self.Movement.TurnToward(newpos);
+
+ bot.Client.Self.Movement.AtPos = true;
+ Thread.Sleep(bot.Random.Next(3000, 13000));
+ bot.Client.Self.Movement.AtPos = false;
+ bot.Client.Self.Jump(true);
+
+ string randomf = talkarray[bot.Random.Next(talkarray.Length)];
+ if (talkarray.Length > 1 && randomf.Length > 1)
+ bot.Client.Self.Chat(randomf, 0, ChatType.Normal);
+
+ Thread.Sleep(bot.Random.Next(1000, 10000));
+ }
+
+ private 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());
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index a8b2426..c1bd49f 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -36,6 +36,7 @@ using log4net;
using OpenMetaverse;
using OpenMetaverse.Assets;
using Nini.Config;
+using pCampBot.Interfaces;
using OpenSim.Framework;
using OpenSim.Framework.Console;
using Timer = System.Timers.Timer;
@@ -52,6 +53,11 @@ namespace pCampBot
private IConfig startupConfig; // bot config, passed from BotManager
///
+ /// Behaviours implemented by this bot.
+ ///
+ public List Behaviours { get; private set; }
+
+ ///
/// Is this bot connected to the grid?
///
public bool IsConnected { get; private set; }
@@ -74,25 +80,33 @@ namespace pCampBot
protected List objectIDs = new List();
- protected Random somthing = new Random(Environment.TickCount);// We do stuff randomly here
+ ///
+ /// Random number generator.
+ ///
+ public Random Random { get; private set; }
///
/// New instance of a SecondLife client
///
- public GridClient client = new GridClient();
-
- protected string[] talkarray;
+ public GridClient Client { get; private set; }
///
/// Constructor
///
///
+ /// Behaviours for this bot to perform
///
///
///
///
- public PhysicsBot(BotManager bm, string firstName, string lastName, string password, string loginUri)
+ ///
+ public PhysicsBot(
+ BotManager bm, List behaviours,
+ string firstName, string lastName, string password, string loginUri)
{
+ Client = new GridClient();
+
+ Random = new Random(Environment.TickCount);// We do stuff randomly here
FirstName = firstName;
LastName = lastName;
Name = string.Format("{0} {1}", FirstName, LastName);
@@ -102,7 +116,8 @@ namespace pCampBot
BotManager = bm;
startupConfig = bm.Config;
readconfig();
- talkarray = readexcuses();
+
+ Behaviours = behaviours;
}
//We do our actions here. This is where one would
@@ -110,34 +125,7 @@ namespace pCampBot
private void Action()
{
while (true)
- {
- 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.
- client.Self.Jump(false);
- if (walkorrun == 0)
- {
- client.Self.Movement.AlwaysRun = true;
- }
- else
- {
- client.Self.Movement.AlwaysRun = false;
- }
-
- // TODO: unused: Vector3 pos = client.Self.SimPosition;
- Vector3 newpos = new Vector3(somthing.Next(1, 254), somthing.Next(1, 254), somthing.Next(1, 254));
- client.Self.Movement.TurnToward(newpos);
-
- client.Self.Movement.AtPos = true;
- Thread.Sleep(somthing.Next(3000, 13000));
- client.Self.Movement.AtPos = false;
- client.Self.Jump(true);
-
- 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(1000, 10000));
- }
+ Behaviours.ForEach(b => b.Action(this));
}
///
@@ -145,7 +133,7 @@ namespace pCampBot
///
public void readconfig()
{
- wear = startupConfig.GetString("wear","no");
+ wear = startupConfig.GetString("wear", "no");
}
///
@@ -156,7 +144,7 @@ namespace pCampBot
if (m_actionThread != null)
m_actionThread.Abort();
- client.Network.Logout();
+ Client.Network.Logout();
}
///
@@ -164,50 +152,50 @@ namespace pCampBot
///
public void startup()
{
- client.Settings.LOGIN_SERVER = LoginUri;
- client.Settings.ALWAYS_DECODE_OBJECTS = false;
- client.Settings.AVATAR_TRACKING = false;
- client.Settings.OBJECT_TRACKING = false;
- client.Settings.SEND_AGENT_THROTTLE = true;
- client.Settings.SEND_PINGS = true;
- client.Settings.STORE_LAND_PATCHES = false;
- client.Settings.USE_ASSET_CACHE = false;
- client.Settings.MULTIPLE_SIMS = true;
- client.Throttle.Asset = 100000;
- client.Throttle.Land = 100000;
- client.Throttle.Task = 100000;
- client.Throttle.Texture = 100000;
- client.Throttle.Wind = 100000;
- client.Throttle.Total = 400000;
- client.Network.LoginProgress += this.Network_LoginProgress;
- client.Network.SimConnected += this.Network_SimConnected;
- client.Network.Disconnected += this.Network_OnDisconnected;
- client.Objects.ObjectUpdate += Objects_NewPrim;
-
- if (client.Network.Login(FirstName, LastName, Password, "pCampBot", "Your name"))
+ Client.Settings.LOGIN_SERVER = LoginUri;
+ Client.Settings.ALWAYS_DECODE_OBJECTS = false;
+ Client.Settings.AVATAR_TRACKING = false;
+ Client.Settings.OBJECT_TRACKING = false;
+ Client.Settings.SEND_AGENT_THROTTLE = true;
+ Client.Settings.SEND_PINGS = true;
+ Client.Settings.STORE_LAND_PATCHES = false;
+ Client.Settings.USE_ASSET_CACHE = false;
+ Client.Settings.MULTIPLE_SIMS = true;
+ Client.Throttle.Asset = 100000;
+ Client.Throttle.Land = 100000;
+ Client.Throttle.Task = 100000;
+ Client.Throttle.Texture = 100000;
+ Client.Throttle.Wind = 100000;
+ Client.Throttle.Total = 400000;
+ Client.Network.LoginProgress += this.Network_LoginProgress;
+ Client.Network.SimConnected += this.Network_SimConnected;
+ Client.Network.Disconnected += this.Network_OnDisconnected;
+ Client.Objects.ObjectUpdate += Objects_NewPrim;
+
+ if (Client.Network.Login(FirstName, LastName, Password, "pCampBot", "Your name"))
{
IsConnected = true;
- Thread.Sleep(somthing.Next(1000, 10000));
+ Thread.Sleep(Random.Next(1000, 10000));
m_actionThread = new Thread(Action);
m_actionThread.Start();
// OnConnected(this, EventType.CONNECTED);
if (wear == "save")
{
- client.Appearance.SetPreviousAppearance();
+ Client.Appearance.SetPreviousAppearance();
SaveDefaultAppearance();
}
else if (wear != "no")
{
MakeDefaultAppearance(wear);
}
- client.Self.Jump(true);
+ Client.Self.Jump(true);
}
else
{
MainConsole.Instance.OutputFormat(
- "{0} {1} cannot login: {2}", FirstName, LastName, client.Network.LoginMessage);
+ "{0} {1} cannot login: {2}", FirstName, LastName, Client.Network.LoginMessage);
if (OnDisconnected != null)
{
@@ -227,11 +215,11 @@ namespace pCampBot
Array wtypes = Enum.GetValues(typeof(WearableType));
foreach (WearableType wtype in wtypes)
{
- UUID wearable = client.Appearance.GetWearableAsset(wtype);
+ UUID wearable = Client.Appearance.GetWearableAsset(wtype);
if (wearable != UUID.Zero)
{
- client.Assets.RequestAsset(wearable, AssetType.Clothing, false, Asset_ReceivedCallback);
- client.Assets.RequestAsset(wearable, AssetType.Bodypart, false, Asset_ReceivedCallback);
+ Client.Assets.RequestAsset(wearable, AssetType.Clothing, false, Asset_ReceivedCallback);
+ Client.Assets.RequestAsset(wearable, AssetType.Bodypart, false, Asset_ReceivedCallback);
}
}
}
@@ -306,11 +294,11 @@ namespace pCampBot
UUID assetID = UUID.Random();
AssetClothing asset = new AssetClothing(assetID, File.ReadAllBytes(clothing[i]));
asset.Decode();
- asset.Owner = client.Self.AgentID;
+ asset.Owner = Client.Self.AgentID;
asset.WearableType = GetWearableType(clothing[i]);
asset.Encode();
- transid = client.Assets.RequestUpload(asset,true);
- client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing,
+ transid = Client.Assets.RequestUpload(asset,true);
+ Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing,
transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
{
if (success)
@@ -328,11 +316,11 @@ namespace pCampBot
UUID assetID = UUID.Random();
AssetBodypart asset = new AssetBodypart(assetID, File.ReadAllBytes(bodyparts[i]));
asset.Decode();
- asset.Owner = client.Self.AgentID;
+ asset.Owner = Client.Self.AgentID;
asset.WearableType = GetWearableType(bodyparts[i]);
asset.Encode();
- transid = client.Assets.RequestUpload(asset,true);
- client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart,
+ transid = Client.Assets.RequestUpload(asset,true);
+ Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart,
transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
{
if (success)
@@ -352,7 +340,7 @@ namespace pCampBot
else
{
MainConsole.Instance.Output(String.Format("Sending {0} wearables...",listwearables.Count));
- client.Appearance.WearOutfit(listwearables, false);
+ Client.Appearance.WearOutfit(listwearables, false);
}
}
catch (Exception ex)
@@ -363,8 +351,8 @@ namespace pCampBot
public InventoryFolder FindClothingFolder()
{
- UUID rootfolder = client.Inventory.Store.RootFolder.UUID;
- List listfolders = client.Inventory.Store.GetContents(rootfolder);
+ UUID rootfolder = Client.Inventory.Store.RootFolder.UUID;
+ List listfolders = Client.Inventory.Store.GetContents(rootfolder);
InventoryFolder clothfolder = new InventoryFolder(UUID.Random());
foreach (InventoryBase folder in listfolders)
{
@@ -453,10 +441,9 @@ namespace pCampBot
return;
BotManager.AssetsReceived[textureID] = false;
- client.Assets.RequestImage(textureID, ImageType.Normal, Asset_TextureCallback_Texture);
+ Client.Assets.RequestImage(textureID, ImageType.Normal, Asset_TextureCallback_Texture);
}
}
-
public void Asset_TextureCallback_Texture(TextureRequestState state, AssetTexture assetTexture)
{
@@ -473,20 +460,5 @@ namespace pCampBot
// SaveAsset((AssetWearable) asset);
// }
}
-
- 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/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index a69fbf0..cae96e1 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -26,6 +26,8 @@
*/
using System;
+using System.Reflection;
+using log4net;
using Nini.Config;
using OpenSim.Framework;
using OpenSim.Framework.Console;
@@ -44,6 +46,8 @@ namespace pCampBot
public class pCampBot
{
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
[STAThread]
public static void Main(string[] args)
{
@@ -60,9 +64,17 @@ namespace pCampBot
//startup specified number of bots. 1 is the default
bm.dobotStartup(botcount, config);
+
while (true)
{
- MainConsole.Instance.Prompt();
+ try
+ {
+ MainConsole.Instance.Prompt();
+ }
+ catch (Exception e)
+ {
+ m_log.ErrorFormat("Command error: {0}", e);
+ }
}
}
}
--
cgit v1.1
From 3ea379e4cd2c96e3a21705c752175e9d25b364b7 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 3 Nov 2011 21:25:27 +0000
Subject: Move PhysicsBehaviour into a spearate behaviours folder
---
.../Tools/pCampBot/Behaviours/PhysicsBehaviour.cs | 97 ++++++++++++++++++++++
OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs | 1 -
OpenSim/Tools/pCampBot/PhysicsBehaviour.cs | 97 ----------------------
OpenSim/Tools/pCampBot/PhysicsBot.cs | 4 +-
4 files changed, 99 insertions(+), 100 deletions(-)
create mode 100644 OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
delete mode 100644 OpenSim/Tools/pCampBot/PhysicsBehaviour.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
new file mode 100644
index 0000000..e76c0b3
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
@@ -0,0 +1,97 @@
+/*
+ * 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 OpenSimulator 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.Threading;
+using OpenMetaverse;
+using OpenSim.Framework;
+using pCampBot.Interfaces;
+
+namespace pCampBot
+{
+ ///
+ /// This is a behaviour designed to stress physics by moving and bouncing around bots a whole lot.
+ ///
+ ///
+ /// TODO: talkarray should be in a separate behaviour.
+ ///
+ public class PhysicsBehaviour : IBehaviour
+ {
+ private string[] talkarray;
+
+ public PhysicsBehaviour()
+ {
+ talkarray = readexcuses();
+ }
+
+ public void Action(PhysicsBot bot)
+ {
+ int walkorrun = bot.Random.Next(4); // Randomize between walking and running. The greater this number,
+ // the greater the bot's chances to walk instead of run.
+ bot.Client.Self.Jump(false);
+ if (walkorrun == 0)
+ {
+ bot.Client.Self.Movement.AlwaysRun = true;
+ }
+ else
+ {
+ bot.Client.Self.Movement.AlwaysRun = false;
+ }
+
+ // TODO: unused: Vector3 pos = client.Self.SimPosition;
+ Vector3 newpos = new Vector3(bot.Random.Next(1, 254), bot.Random.Next(1, 254), bot.Random.Next(1, 254));
+ bot.Client.Self.Movement.TurnToward(newpos);
+
+ bot.Client.Self.Movement.AtPos = true;
+ Thread.Sleep(bot.Random.Next(3000, 13000));
+ bot.Client.Self.Movement.AtPos = false;
+ bot.Client.Self.Jump(true);
+
+ string randomf = talkarray[bot.Random.Next(talkarray.Length)];
+ if (talkarray.Length > 1 && randomf.Length > 1)
+ bot.Client.Self.Chat(randomf, 0, ChatType.Normal);
+
+ Thread.Sleep(bot.Random.Next(1000, 10000));
+ }
+
+ private 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());
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
index f9eaa1c..8a1015d 100644
--- a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
@@ -25,7 +25,6 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-using pCampBot;
using System;
namespace pCampBot.Interfaces
diff --git a/OpenSim/Tools/pCampBot/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/PhysicsBehaviour.cs
deleted file mode 100644
index e76c0b3..0000000
--- a/OpenSim/Tools/pCampBot/PhysicsBehaviour.cs
+++ /dev/null
@@ -1,97 +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 OpenSimulator 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.Threading;
-using OpenMetaverse;
-using OpenSim.Framework;
-using pCampBot.Interfaces;
-
-namespace pCampBot
-{
- ///
- /// This is a behaviour designed to stress physics by moving and bouncing around bots a whole lot.
- ///
- ///
- /// TODO: talkarray should be in a separate behaviour.
- ///
- public class PhysicsBehaviour : IBehaviour
- {
- private string[] talkarray;
-
- public PhysicsBehaviour()
- {
- talkarray = readexcuses();
- }
-
- public void Action(PhysicsBot bot)
- {
- int walkorrun = bot.Random.Next(4); // Randomize between walking and running. The greater this number,
- // the greater the bot's chances to walk instead of run.
- bot.Client.Self.Jump(false);
- if (walkorrun == 0)
- {
- bot.Client.Self.Movement.AlwaysRun = true;
- }
- else
- {
- bot.Client.Self.Movement.AlwaysRun = false;
- }
-
- // TODO: unused: Vector3 pos = client.Self.SimPosition;
- Vector3 newpos = new Vector3(bot.Random.Next(1, 254), bot.Random.Next(1, 254), bot.Random.Next(1, 254));
- bot.Client.Self.Movement.TurnToward(newpos);
-
- bot.Client.Self.Movement.AtPos = true;
- Thread.Sleep(bot.Random.Next(3000, 13000));
- bot.Client.Self.Movement.AtPos = false;
- bot.Client.Self.Jump(true);
-
- string randomf = talkarray[bot.Random.Next(talkarray.Length)];
- if (talkarray.Length > 1 && randomf.Length > 1)
- bot.Client.Self.Chat(randomf, 0, ChatType.Normal);
-
- Thread.Sleep(bot.Random.Next(1000, 10000));
- }
-
- private 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());
- }
- }
-}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index c1bd49f..05a510a 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -36,9 +36,9 @@ using log4net;
using OpenMetaverse;
using OpenMetaverse.Assets;
using Nini.Config;
-using pCampBot.Interfaces;
using OpenSim.Framework;
using OpenSim.Framework.Console;
+using pCampBot.Interfaces;
using Timer = System.Timers.Timer;
namespace pCampBot
@@ -105,7 +105,7 @@ namespace pCampBot
string firstName, string lastName, string password, string loginUri)
{
Client = new GridClient();
-
+
Random = new Random(Environment.TickCount);// We do stuff randomly here
FirstName = firstName;
LastName = lastName;
--
cgit v1.1
From 5a67940acc17c80c419781fddc9efa0c18ce1f15 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 3 Nov 2011 22:31:31 +0000
Subject: Add click/grab behaviour to pCampbot, which gets bots to randomly
click things.
This can be specified on pCampbot.exe by using g in the list of behaviours for the new -behaviours,-b switch
e.g. -b p,g to get both existing physics and grabbing behaviours.
grabbing is primitive, it attempts grabs on random prims whether they're actually signalled as clickable or not.
behaviour is currently primitive overall, behaviours are just executed in a list
---
.../Tools/pCampBot/Behaviours/GrabbingBehaviour.cs | 56 ++++++++++++++++++++++
.../Tools/pCampBot/Behaviours/PhysicsBehaviour.cs | 2 +-
OpenSim/Tools/pCampBot/BotManager.cs | 16 +++++--
OpenSim/Tools/pCampBot/PhysicsBot.cs | 31 +++++++++++-
OpenSim/Tools/pCampBot/pCampBot.cs | 8 ++--
5 files changed, 105 insertions(+), 8 deletions(-)
create mode 100644 OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
new file mode 100644
index 0000000..00313b8
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
@@ -0,0 +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 OpenSimulator 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 OpenMetaverse;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using pCampBot.Interfaces;
+
+namespace pCampBot
+{
+ ///
+ /// Click (grab) on random objects in the scene.
+ ///
+ ///
+ /// The viewer itself does not give the option of grabbing objects that haven't been signalled as grabbable.
+ ///
+ public class GrabbingBehaviour : IBehaviour
+ {
+ public void Action(PhysicsBot bot)
+ {
+ Dictionary objects = bot.Objects;
+
+ Primitive prim = objects.ElementAt(bot.Random.Next(0, objects.Count)).Value;
+
+ // This appears to be a typical message sent when a viewer user clicks a clickable object
+ bot.Client.Self.Grab(prim.LocalID);
+ bot.Client.Self.GrabUpdate(prim.ID, Vector3.Zero);
+ bot.Client.Self.DeGrab(prim.LocalID);
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
index e76c0b3..bd4a7a2 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
@@ -35,7 +35,7 @@ using pCampBot.Interfaces;
namespace pCampBot
{
///
- /// This is a behaviour designed to stress physics by moving and bouncing around bots a whole lot.
+ /// Stress physics by moving and bouncing around bots a whole lot.
///
///
/// TODO: talkarray should be in a separate behaviour.
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 0505c97..dac6e0e 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -120,13 +120,23 @@ namespace pCampBot
string password = cs.GetString("password");
string loginUri = cs.GetString("loginuri");
- // Hardcoded for new
- List behaviours = new List();
- behaviours.Add(new PhysicsBehaviour());
+ HashSet behaviourSwitches = new HashSet();
+ Array.ForEach(
+ cs.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b));
for (int i = 0; i < botcount; i++)
{
string lastName = string.Format("{0}_{1}", lastNameStem, i);
+
+ List behaviours = new List();
+
+ // Hard-coded for now
+ if (behaviourSwitches.Contains("p"))
+ behaviours.Add(new PhysicsBehaviour());
+
+ if (behaviourSwitches.Contains("g"))
+ behaviours.Add(new GrabbingBehaviour());
+
startupBot(i, this, behaviours, firstName, lastName, password, loginUri);
}
}
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 05a510a..6e40ca7 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -55,9 +55,28 @@ namespace pCampBot
///
/// Behaviours implemented by this bot.
///
+ ///
+ /// Lock this list before manipulating it.
+ ///
public List Behaviours { get; private set; }
///
+ /// Objects that the bot has discovered.
+ ///
+ ///
+ /// Returns a list copy. Inserting new objects manually will have no effect.
+ ///
+ public Dictionary Objects
+ {
+ get
+ {
+ lock (m_objects)
+ return new Dictionary(m_objects);
+ }
+ }
+ private Dictionary m_objects = new Dictionary();
+
+ ///
/// Is this bot connected to the grid?
///
public bool IsConnected { get; private set; }
@@ -125,7 +144,14 @@ namespace pCampBot
private void Action()
{
while (true)
- Behaviours.ForEach(b => b.Action(this));
+ lock (Behaviours)
+ Behaviours.ForEach(
+ b =>
+ {
+ // m_log.DebugFormat("[pCAMPBOT]: For {0} performing action {1}", Name, b.GetType());
+ b.Action(this);
+ }
+ );
}
///
@@ -407,6 +433,9 @@ namespace pCampBot
if (prim != null)
{
+ lock (m_objects)
+ m_objects[prim.ID] = prim;
+
if (prim.Textures != null)
{
if (prim.Textures.DefaultTexture.TextureID != UUID.Zero)
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index cae96e1..4d3b06d 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -84,12 +84,13 @@ namespace pCampBot
//Set up our nifty config.. thanks to nini
ArgvConfigSource cs = new ArgvConfigSource(args);
- cs.AddSwitch("Startup", "botcount","n");
- cs.AddSwitch("Startup", "loginuri","l");
+ cs.AddSwitch("Startup", "botcount", "n");
+ cs.AddSwitch("Startup", "loginuri", "l");
cs.AddSwitch("Startup", "firstname");
cs.AddSwitch("Startup", "lastname");
cs.AddSwitch("Startup", "password");
- cs.AddSwitch("Startup", "help","h");
+ cs.AddSwitch("Startup", "behaviours", "b");
+ cs.AddSwitch("Startup", "help", "h");
cs.AddSwitch("Startup", "wear");
IConfig ol = cs.Configs["Startup"];
@@ -110,6 +111,7 @@ namespace pCampBot
" -firstname first name for the bots\n" +
" -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n" +
" -password password for the bots\n" +
+ " -b, behaviours behaviours for bots. Current options p (physics), g (grab). Comma separated, e.g. p,g. Default is p",
" -wear set appearance folder to load from (default: no)\n" +
" -h, -help show this message"
);
--
cgit v1.1
From ca2c25ece2d9a65b0cb5292ee52f10776c7f71c3 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 3 Nov 2011 22:35:21 +0000
Subject: Move one of the old physics sleeps out into the main bot loop, so
leaving out PhysicsBehaviour doesn't result in continuous other behaviours
---
OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 ++
1 file changed, 2 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
index 6e40ca7..1b7c9a7 100644
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs
@@ -150,6 +150,8 @@ namespace pCampBot
{
// m_log.DebugFormat("[pCAMPBOT]: For {0} performing action {1}", Name, b.GetType());
b.Action(this);
+
+ Thread.Sleep(Random.Next(1000, 10000));
}
);
}
--
cgit v1.1
From f26fdbd8da89ee35a23886defc13b44bc63b1349 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 3 Nov 2011 22:39:06 +0000
Subject: Rename PhysicsBot => Bot since it doesn't just exercise physics
anymore
---
.../Tools/pCampBot/Behaviours/GrabbingBehaviour.cs | 2 +-
.../Tools/pCampBot/Behaviours/PhysicsBehaviour.cs | 2 +-
OpenSim/Tools/pCampBot/Bot.cs | 495 +++++++++++++++++++++
OpenSim/Tools/pCampBot/BotManager.cs | 12 +-
OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs | 2 +-
OpenSim/Tools/pCampBot/PhysicsBot.cs | 495 ---------------------
6 files changed, 504 insertions(+), 504 deletions(-)
create mode 100644 OpenSim/Tools/pCampBot/Bot.cs
delete mode 100644 OpenSim/Tools/pCampBot/PhysicsBot.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
index 00313b8..7084ab4 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
@@ -41,7 +41,7 @@ namespace pCampBot
///
public class GrabbingBehaviour : IBehaviour
{
- public void Action(PhysicsBot bot)
+ public void Action(Bot bot)
{
Dictionary objects = bot.Objects;
diff --git a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
index bd4a7a2..8d1d1ce 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
@@ -49,7 +49,7 @@ namespace pCampBot
talkarray = readexcuses();
}
- public void Action(PhysicsBot bot)
+ public void Action(Bot bot)
{
int walkorrun = bot.Random.Next(4); // Randomize between walking and running. The greater this number,
// the greater the bot's chances to walk instead of run.
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
new file mode 100644
index 0000000..bf01065
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -0,0 +1,495 @@
+/*
+ * 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 OpenSimulator 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 System.Reflection;
+using System.Threading;
+using System.Timers;
+using log4net;
+using OpenMetaverse;
+using OpenMetaverse.Assets;
+using Nini.Config;
+using OpenSim.Framework;
+using OpenSim.Framework.Console;
+using pCampBot.Interfaces;
+using Timer = System.Timers.Timer;
+
+namespace pCampBot
+{
+ public class Bot
+ {
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
+ public delegate void AnEvent(Bot callbot, EventType someevent); // event delegate for bot events
+
+ public BotManager BotManager { get; private set; }
+ private IConfig startupConfig; // bot config, passed from BotManager
+
+ ///
+ /// Behaviours implemented by this bot.
+ ///
+ ///
+ /// Lock this list before manipulating it.
+ ///
+ public List Behaviours { get; private set; }
+
+ ///
+ /// Objects that the bot has discovered.
+ ///
+ ///
+ /// Returns a list copy. Inserting new objects manually will have no effect.
+ ///
+ public Dictionary Objects
+ {
+ get
+ {
+ lock (m_objects)
+ return new Dictionary(m_objects);
+ }
+ }
+ private Dictionary m_objects = new Dictionary();
+
+ ///
+ /// Is this bot connected to the grid?
+ ///
+ public bool IsConnected { get; private set; }
+
+ public string FirstName { get; private set; }
+ public string LastName { get; private set; }
+ public string Name { get; private set; }
+ public string Password { get; private set; }
+ public string LoginUri { get; private set; }
+ public string saveDir;
+ public string wear;
+
+ public event AnEvent OnConnected;
+ public event AnEvent OnDisconnected;
+
+ ///
+ /// Keep a track of the continuously acting thread so that we can abort it.
+ ///
+ private Thread m_actionThread;
+
+ protected List objectIDs = new List();
+
+ ///
+ /// Random number generator.
+ ///
+ public Random Random { get; private set; }
+
+ ///
+ /// New instance of a SecondLife client
+ ///
+ public GridClient Client { get; private set; }
+
+ ///
+ /// Constructor
+ ///
+ ///
+ /// Behaviours for this bot to perform
+ ///
+ ///
+ ///
+ ///
+ ///
+ public Bot(
+ BotManager bm, List behaviours,
+ string firstName, string lastName, string password, string loginUri)
+ {
+ Client = new GridClient();
+
+ Random = new Random(Environment.TickCount);// We do stuff randomly here
+ FirstName = firstName;
+ LastName = lastName;
+ Name = string.Format("{0} {1}", FirstName, LastName);
+ Password = password;
+ LoginUri = loginUri;
+
+ BotManager = bm;
+ startupConfig = bm.Config;
+ readconfig();
+
+ Behaviours = behaviours;
+ }
+
+ //We do our actions here. This is where one would
+ //add additional steps and/or things the bot should do
+ private void Action()
+ {
+ while (true)
+ lock (Behaviours)
+ Behaviours.ForEach(
+ b =>
+ {
+ // m_log.DebugFormat("[pCAMPBOT]: For {0} performing action {1}", Name, b.GetType());
+ b.Action(this);
+
+ Thread.Sleep(Random.Next(1000, 10000));
+ }
+ );
+ }
+
+ ///
+ /// Read the Nini config and initialize
+ ///
+ public void readconfig()
+ {
+ wear = startupConfig.GetString("wear", "no");
+ }
+
+ ///
+ /// Tells LibSecondLife to logout and disconnect. Raises the disconnect events once it finishes.
+ ///
+ public void shutdown()
+ {
+ if (m_actionThread != null)
+ m_actionThread.Abort();
+
+ Client.Network.Logout();
+ }
+
+ ///
+ /// This is the bot startup loop.
+ ///
+ public void startup()
+ {
+ Client.Settings.LOGIN_SERVER = LoginUri;
+ Client.Settings.ALWAYS_DECODE_OBJECTS = false;
+ Client.Settings.AVATAR_TRACKING = false;
+ Client.Settings.OBJECT_TRACKING = false;
+ Client.Settings.SEND_AGENT_THROTTLE = true;
+ Client.Settings.SEND_PINGS = true;
+ Client.Settings.STORE_LAND_PATCHES = false;
+ Client.Settings.USE_ASSET_CACHE = false;
+ Client.Settings.MULTIPLE_SIMS = true;
+ Client.Throttle.Asset = 100000;
+ Client.Throttle.Land = 100000;
+ Client.Throttle.Task = 100000;
+ Client.Throttle.Texture = 100000;
+ Client.Throttle.Wind = 100000;
+ Client.Throttle.Total = 400000;
+ Client.Network.LoginProgress += this.Network_LoginProgress;
+ Client.Network.SimConnected += this.Network_SimConnected;
+ Client.Network.Disconnected += this.Network_OnDisconnected;
+ Client.Objects.ObjectUpdate += Objects_NewPrim;
+
+ if (Client.Network.Login(FirstName, LastName, Password, "pCampBot", "Your name"))
+ {
+ IsConnected = true;
+
+ Thread.Sleep(Random.Next(1000, 10000));
+ m_actionThread = new Thread(Action);
+ m_actionThread.Start();
+
+// OnConnected(this, EventType.CONNECTED);
+ if (wear == "save")
+ {
+ Client.Appearance.SetPreviousAppearance();
+ SaveDefaultAppearance();
+ }
+ else if (wear != "no")
+ {
+ MakeDefaultAppearance(wear);
+ }
+ Client.Self.Jump(true);
+ }
+ else
+ {
+ MainConsole.Instance.OutputFormat(
+ "{0} {1} cannot login: {2}", FirstName, LastName, Client.Network.LoginMessage);
+
+ if (OnDisconnected != null)
+ {
+ OnDisconnected(this, EventType.DISCONNECTED);
+ }
+ }
+ }
+
+ public void SaveDefaultAppearance()
+ {
+ saveDir = "MyAppearance/" + FirstName + "_" + LastName;
+ if (!Directory.Exists(saveDir))
+ {
+ Directory.CreateDirectory(saveDir);
+ }
+
+ Array wtypes = Enum.GetValues(typeof(WearableType));
+ foreach (WearableType wtype in wtypes)
+ {
+ UUID wearable = Client.Appearance.GetWearableAsset(wtype);
+ if (wearable != UUID.Zero)
+ {
+ Client.Assets.RequestAsset(wearable, AssetType.Clothing, false, Asset_ReceivedCallback);
+ Client.Assets.RequestAsset(wearable, AssetType.Bodypart, false, Asset_ReceivedCallback);
+ }
+ }
+ }
+
+ public void SaveAsset(AssetWearable asset)
+ {
+ if (asset != null)
+ {
+ try
+ {
+ if (asset.Decode())
+ {
+ File.WriteAllBytes(Path.Combine(saveDir, String.Format("{1}.{0}",
+ asset.AssetType.ToString().ToLower(),
+ asset.WearableType)), asset.AssetData);
+ }
+ else
+ {
+ MainConsole.Instance.Output(String.Format("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID));
+ }
+ }
+ catch (Exception e)
+ {
+ MainConsole.Instance.Output(String.Format("Exception: {0}",e.ToString()));
+ }
+ }
+ }
+
+ public WearableType GetWearableType(string path)
+ {
+ string type = ((((path.Split('/'))[2]).Split('.'))[0]).Trim();
+ switch (type)
+ {
+ case "Eyes":
+ return WearableType.Eyes;
+ case "Hair":
+ return WearableType.Hair;
+ case "Pants":
+ return WearableType.Pants;
+ case "Shape":
+ return WearableType.Shape;
+ case "Shirt":
+ return WearableType.Shirt;
+ case "Skin":
+ return WearableType.Skin;
+ default:
+ return WearableType.Shape;
+ }
+ }
+
+ public void MakeDefaultAppearance(string wear)
+ {
+ try
+ {
+ if (wear == "yes")
+ {
+ //TODO: Implement random outfit picking
+ MainConsole.Instance.Output("Picks a random outfit. Not yet implemented.");
+ }
+ else if (wear != "save")
+ saveDir = "MyAppearance/" + wear;
+ saveDir = saveDir + "/";
+
+ string[] clothing = Directory.GetFiles(saveDir, "*.clothing", SearchOption.TopDirectoryOnly);
+ string[] bodyparts = Directory.GetFiles(saveDir, "*.bodypart", SearchOption.TopDirectoryOnly);
+ InventoryFolder clothfolder = FindClothingFolder();
+ UUID transid = UUID.Random();
+ List listwearables = new List();
+
+ for (int i = 0; i < clothing.Length; i++)
+ {
+ UUID assetID = UUID.Random();
+ AssetClothing asset = new AssetClothing(assetID, File.ReadAllBytes(clothing[i]));
+ asset.Decode();
+ asset.Owner = Client.Self.AgentID;
+ asset.WearableType = GetWearableType(clothing[i]);
+ asset.Encode();
+ transid = Client.Assets.RequestUpload(asset,true);
+ Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing,
+ transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
+ {
+ if (success)
+ {
+ listwearables.Add(item);
+ }
+ else
+ MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name));
+ }
+ );
+ }
+
+ for (int i = 0; i < bodyparts.Length; i++)
+ {
+ UUID assetID = UUID.Random();
+ AssetBodypart asset = new AssetBodypart(assetID, File.ReadAllBytes(bodyparts[i]));
+ asset.Decode();
+ asset.Owner = Client.Self.AgentID;
+ asset.WearableType = GetWearableType(bodyparts[i]);
+ asset.Encode();
+ transid = Client.Assets.RequestUpload(asset,true);
+ Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart,
+ transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
+ {
+ if (success)
+ {
+ listwearables.Add(item);
+ }
+ else
+ MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name));
+ }
+ );
+ }
+
+ Thread.Sleep(1000);
+
+ if (listwearables == null || listwearables.Count == 0)
+ MainConsole.Instance.Output("Nothing to send on this folder!");
+ else
+ {
+ MainConsole.Instance.Output(String.Format("Sending {0} wearables...",listwearables.Count));
+ Client.Appearance.WearOutfit(listwearables, false);
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine(ex.ToString());
+ }
+ }
+
+ public InventoryFolder FindClothingFolder()
+ {
+ UUID rootfolder = Client.Inventory.Store.RootFolder.UUID;
+ List listfolders = Client.Inventory.Store.GetContents(rootfolder);
+ InventoryFolder clothfolder = new InventoryFolder(UUID.Random());
+ foreach (InventoryBase folder in listfolders)
+ {
+ if (folder.Name == "Clothing")
+ {
+ clothfolder = (InventoryFolder)folder;
+ break;
+ }
+ }
+ return clothfolder;
+ }
+
+ public void Network_LoginProgress(object sender, LoginProgressEventArgs args)
+ {
+ if (args.Status == LoginStatus.Success)
+ {
+ if (OnConnected != null)
+ {
+ OnConnected(this, EventType.CONNECTED);
+ }
+ }
+ }
+
+ public void Network_SimConnected(object sender, SimConnectedEventArgs args)
+ {
+ }
+
+ public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
+ {
+// m_log.ErrorFormat("Fired Network_OnDisconnected");
+
+// if (
+// (args.Reason == NetworkManager.DisconnectType.SimShutdown
+// || args.Reason == NetworkManager.DisconnectType.NetworkTimeout)
+// && OnDisconnected != null)
+
+ if (
+ (args.Reason == NetworkManager.DisconnectType.ClientInitiated
+ || args.Reason == NetworkManager.DisconnectType.ServerInitiated
+ || args.Reason == NetworkManager.DisconnectType.NetworkTimeout)
+ && OnDisconnected != null)
+// if (OnDisconnected != null)
+ {
+ IsConnected = false;
+ OnDisconnected(this, EventType.DISCONNECTED);
+ }
+ }
+
+ public void Objects_NewPrim(object sender, PrimEventArgs args)
+ {
+ Primitive prim = args.Prim;
+
+ if (prim != null)
+ {
+ lock (m_objects)
+ m_objects[prim.ID] = prim;
+
+ if (prim.Textures != null)
+ {
+ if (prim.Textures.DefaultTexture.TextureID != UUID.Zero)
+ {
+ GetTexture(prim.Textures.DefaultTexture.TextureID);
+ }
+
+ for (int i = 0; i < prim.Textures.FaceTextures.Length; i++)
+ {
+ UUID textureID = prim.Textures.FaceTextures[i].TextureID;
+
+ if (textureID != null && textureID != UUID.Zero)
+ {
+ GetTexture(textureID);
+ }
+ }
+ }
+
+ if (prim.Sculpt.SculptTexture != UUID.Zero)
+ {
+ GetTexture(prim.Sculpt.SculptTexture);
+ }
+ }
+ }
+
+ private void GetTexture(UUID textureID)
+ {
+ lock (BotManager.AssetsReceived)
+ {
+ // Don't request assets more than once.
+ if (BotManager.AssetsReceived.ContainsKey(textureID))
+ return;
+
+ BotManager.AssetsReceived[textureID] = false;
+ Client.Assets.RequestImage(textureID, ImageType.Normal, Asset_TextureCallback_Texture);
+ }
+ }
+
+ public void Asset_TextureCallback_Texture(TextureRequestState state, AssetTexture assetTexture)
+ {
+ //TODO: Implement texture saving and applying
+ }
+
+ public void Asset_ReceivedCallback(AssetDownload transfer, Asset asset)
+ {
+ lock (BotManager.AssetsReceived)
+ BotManager.AssetsReceived[asset.AssetID] = true;
+
+// if (wear == "save")
+// {
+// SaveAsset((AssetWearable) asset);
+// }
+ }
+ }
+}
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index dac6e0e..704770a 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -49,7 +49,7 @@ namespace pCampBot
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected CommandConsole m_console;
- protected List m_lBot;
+ protected List m_lBot;
protected Random somthing = new Random(Environment.TickCount);
protected int numbots = 0;
public IConfig Config { get; private set; }
@@ -103,7 +103,7 @@ namespace pCampBot
// "add bots ",
// "Add more bots", HandleAddBots);
- m_lBot = new List();
+ m_lBot = new List();
}
///
@@ -175,7 +175,7 @@ namespace pCampBot
int pos, BotManager bm, List behaviours,
string firstName, string lastName, string password, string loginUri)
{
- PhysicsBot pb = new PhysicsBot(bm, behaviours, firstName, lastName, password, loginUri);
+ Bot pb = new Bot(bm, behaviours, firstName, lastName, password, loginUri);
pb.OnConnected += handlebotEvent;
pb.OnDisconnected += handlebotEvent;
@@ -194,7 +194,7 @@ namespace pCampBot
///
///
///
- private void handlebotEvent(PhysicsBot callbot, EventType eventt)
+ private void handlebotEvent(Bot callbot, EventType eventt)
{
switch (eventt)
{
@@ -219,7 +219,7 @@ namespace pCampBot
public void doBotShutdown()
{
lock (m_lBot)
- foreach (PhysicsBot pb in m_lBot)
+ foreach (Bot pb in m_lBot)
pb.shutdown();
}
@@ -245,7 +245,7 @@ namespace pCampBot
lock (m_lBot)
{
- foreach (PhysicsBot pb in m_lBot)
+ foreach (Bot pb in m_lBot)
{
MainConsole.Instance.OutputFormat(
outputFormat, pb.Name, (pb.IsConnected ? "Connected" : "Disconnected"));
diff --git a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
index 8a1015d..d4ae0f0 100644
--- a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
@@ -31,6 +31,6 @@ namespace pCampBot.Interfaces
{
public interface IBehaviour
{
- void Action(PhysicsBot bot);
+ void Action(Bot bot);
}
}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs
deleted file mode 100644
index 1b7c9a7..0000000
--- a/OpenSim/Tools/pCampBot/PhysicsBot.cs
+++ /dev/null
@@ -1,495 +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 OpenSimulator 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 System.Reflection;
-using System.Threading;
-using System.Timers;
-using log4net;
-using OpenMetaverse;
-using OpenMetaverse.Assets;
-using Nini.Config;
-using OpenSim.Framework;
-using OpenSim.Framework.Console;
-using pCampBot.Interfaces;
-using Timer = System.Timers.Timer;
-
-namespace pCampBot
-{
- public class PhysicsBot
- {
- private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
-
- public delegate void AnEvent(PhysicsBot callbot, EventType someevent); // event delegate for bot events
-
- public BotManager BotManager { get; private set; }
- private IConfig startupConfig; // bot config, passed from BotManager
-
- ///
- /// Behaviours implemented by this bot.
- ///
- ///
- /// Lock this list before manipulating it.
- ///
- public List Behaviours { get; private set; }
-
- ///
- /// Objects that the bot has discovered.
- ///
- ///
- /// Returns a list copy. Inserting new objects manually will have no effect.
- ///
- public Dictionary Objects
- {
- get
- {
- lock (m_objects)
- return new Dictionary(m_objects);
- }
- }
- private Dictionary m_objects = new Dictionary();
-
- ///
- /// Is this bot connected to the grid?
- ///
- public bool IsConnected { get; private set; }
-
- public string FirstName { get; private set; }
- public string LastName { get; private set; }
- public string Name { get; private set; }
- public string Password { get; private set; }
- public string LoginUri { get; private set; }
- public string saveDir;
- public string wear;
-
- public event AnEvent OnConnected;
- public event AnEvent OnDisconnected;
-
- ///
- /// Keep a track of the continuously acting thread so that we can abort it.
- ///
- private Thread m_actionThread;
-
- protected List objectIDs = new List();
-
- ///
- /// Random number generator.
- ///
- public Random Random { get; private set; }
-
- ///
- /// New instance of a SecondLife client
- ///
- public GridClient Client { get; private set; }
-
- ///
- /// Constructor
- ///
- ///
- /// Behaviours for this bot to perform
- ///
- ///
- ///
- ///
- ///
- public PhysicsBot(
- BotManager bm, List behaviours,
- string firstName, string lastName, string password, string loginUri)
- {
- Client = new GridClient();
-
- Random = new Random(Environment.TickCount);// We do stuff randomly here
- FirstName = firstName;
- LastName = lastName;
- Name = string.Format("{0} {1}", FirstName, LastName);
- Password = password;
- LoginUri = loginUri;
-
- BotManager = bm;
- startupConfig = bm.Config;
- readconfig();
-
- Behaviours = behaviours;
- }
-
- //We do our actions here. This is where one would
- //add additional steps and/or things the bot should do
- private void Action()
- {
- while (true)
- lock (Behaviours)
- Behaviours.ForEach(
- b =>
- {
- // m_log.DebugFormat("[pCAMPBOT]: For {0} performing action {1}", Name, b.GetType());
- b.Action(this);
-
- Thread.Sleep(Random.Next(1000, 10000));
- }
- );
- }
-
- ///
- /// Read the Nini config and initialize
- ///
- public void readconfig()
- {
- wear = startupConfig.GetString("wear", "no");
- }
-
- ///
- /// Tells LibSecondLife to logout and disconnect. Raises the disconnect events once it finishes.
- ///
- public void shutdown()
- {
- if (m_actionThread != null)
- m_actionThread.Abort();
-
- Client.Network.Logout();
- }
-
- ///
- /// This is the bot startup loop.
- ///
- public void startup()
- {
- Client.Settings.LOGIN_SERVER = LoginUri;
- Client.Settings.ALWAYS_DECODE_OBJECTS = false;
- Client.Settings.AVATAR_TRACKING = false;
- Client.Settings.OBJECT_TRACKING = false;
- Client.Settings.SEND_AGENT_THROTTLE = true;
- Client.Settings.SEND_PINGS = true;
- Client.Settings.STORE_LAND_PATCHES = false;
- Client.Settings.USE_ASSET_CACHE = false;
- Client.Settings.MULTIPLE_SIMS = true;
- Client.Throttle.Asset = 100000;
- Client.Throttle.Land = 100000;
- Client.Throttle.Task = 100000;
- Client.Throttle.Texture = 100000;
- Client.Throttle.Wind = 100000;
- Client.Throttle.Total = 400000;
- Client.Network.LoginProgress += this.Network_LoginProgress;
- Client.Network.SimConnected += this.Network_SimConnected;
- Client.Network.Disconnected += this.Network_OnDisconnected;
- Client.Objects.ObjectUpdate += Objects_NewPrim;
-
- if (Client.Network.Login(FirstName, LastName, Password, "pCampBot", "Your name"))
- {
- IsConnected = true;
-
- Thread.Sleep(Random.Next(1000, 10000));
- m_actionThread = new Thread(Action);
- m_actionThread.Start();
-
-// OnConnected(this, EventType.CONNECTED);
- if (wear == "save")
- {
- Client.Appearance.SetPreviousAppearance();
- SaveDefaultAppearance();
- }
- else if (wear != "no")
- {
- MakeDefaultAppearance(wear);
- }
- Client.Self.Jump(true);
- }
- else
- {
- MainConsole.Instance.OutputFormat(
- "{0} {1} cannot login: {2}", FirstName, LastName, Client.Network.LoginMessage);
-
- if (OnDisconnected != null)
- {
- OnDisconnected(this, EventType.DISCONNECTED);
- }
- }
- }
-
- public void SaveDefaultAppearance()
- {
- saveDir = "MyAppearance/" + FirstName + "_" + LastName;
- if (!Directory.Exists(saveDir))
- {
- Directory.CreateDirectory(saveDir);
- }
-
- Array wtypes = Enum.GetValues(typeof(WearableType));
- foreach (WearableType wtype in wtypes)
- {
- UUID wearable = Client.Appearance.GetWearableAsset(wtype);
- if (wearable != UUID.Zero)
- {
- Client.Assets.RequestAsset(wearable, AssetType.Clothing, false, Asset_ReceivedCallback);
- Client.Assets.RequestAsset(wearable, AssetType.Bodypart, false, Asset_ReceivedCallback);
- }
- }
- }
-
- public void SaveAsset(AssetWearable asset)
- {
- if (asset != null)
- {
- try
- {
- if (asset.Decode())
- {
- File.WriteAllBytes(Path.Combine(saveDir, String.Format("{1}.{0}",
- asset.AssetType.ToString().ToLower(),
- asset.WearableType)), asset.AssetData);
- }
- else
- {
- MainConsole.Instance.Output(String.Format("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID));
- }
- }
- catch (Exception e)
- {
- MainConsole.Instance.Output(String.Format("Exception: {0}",e.ToString()));
- }
- }
- }
-
- public WearableType GetWearableType(string path)
- {
- string type = ((((path.Split('/'))[2]).Split('.'))[0]).Trim();
- switch (type)
- {
- case "Eyes":
- return WearableType.Eyes;
- case "Hair":
- return WearableType.Hair;
- case "Pants":
- return WearableType.Pants;
- case "Shape":
- return WearableType.Shape;
- case "Shirt":
- return WearableType.Shirt;
- case "Skin":
- return WearableType.Skin;
- default:
- return WearableType.Shape;
- }
- }
-
- public void MakeDefaultAppearance(string wear)
- {
- try
- {
- if (wear == "yes")
- {
- //TODO: Implement random outfit picking
- MainConsole.Instance.Output("Picks a random outfit. Not yet implemented.");
- }
- else if (wear != "save")
- saveDir = "MyAppearance/" + wear;
- saveDir = saveDir + "/";
-
- string[] clothing = Directory.GetFiles(saveDir, "*.clothing", SearchOption.TopDirectoryOnly);
- string[] bodyparts = Directory.GetFiles(saveDir, "*.bodypart", SearchOption.TopDirectoryOnly);
- InventoryFolder clothfolder = FindClothingFolder();
- UUID transid = UUID.Random();
- List listwearables = new List();
-
- for (int i = 0; i < clothing.Length; i++)
- {
- UUID assetID = UUID.Random();
- AssetClothing asset = new AssetClothing(assetID, File.ReadAllBytes(clothing[i]));
- asset.Decode();
- asset.Owner = Client.Self.AgentID;
- asset.WearableType = GetWearableType(clothing[i]);
- asset.Encode();
- transid = Client.Assets.RequestUpload(asset,true);
- Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing,
- transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
- {
- if (success)
- {
- listwearables.Add(item);
- }
- else
- MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name));
- }
- );
- }
-
- for (int i = 0; i < bodyparts.Length; i++)
- {
- UUID assetID = UUID.Random();
- AssetBodypart asset = new AssetBodypart(assetID, File.ReadAllBytes(bodyparts[i]));
- asset.Decode();
- asset.Owner = Client.Self.AgentID;
- asset.WearableType = GetWearableType(bodyparts[i]);
- asset.Encode();
- transid = Client.Assets.RequestUpload(asset,true);
- Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart,
- transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
- {
- if (success)
- {
- listwearables.Add(item);
- }
- else
- MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name));
- }
- );
- }
-
- Thread.Sleep(1000);
-
- if (listwearables == null || listwearables.Count == 0)
- MainConsole.Instance.Output("Nothing to send on this folder!");
- else
- {
- MainConsole.Instance.Output(String.Format("Sending {0} wearables...",listwearables.Count));
- Client.Appearance.WearOutfit(listwearables, false);
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.ToString());
- }
- }
-
- public InventoryFolder FindClothingFolder()
- {
- UUID rootfolder = Client.Inventory.Store.RootFolder.UUID;
- List listfolders = Client.Inventory.Store.GetContents(rootfolder);
- InventoryFolder clothfolder = new InventoryFolder(UUID.Random());
- foreach (InventoryBase folder in listfolders)
- {
- if (folder.Name == "Clothing")
- {
- clothfolder = (InventoryFolder)folder;
- break;
- }
- }
- return clothfolder;
- }
-
- public void Network_LoginProgress(object sender, LoginProgressEventArgs args)
- {
- if (args.Status == LoginStatus.Success)
- {
- if (OnConnected != null)
- {
- OnConnected(this, EventType.CONNECTED);
- }
- }
- }
-
- public void Network_SimConnected(object sender, SimConnectedEventArgs args)
- {
- }
-
- public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
- {
-// m_log.ErrorFormat("Fired Network_OnDisconnected");
-
-// if (
-// (args.Reason == NetworkManager.DisconnectType.SimShutdown
-// || args.Reason == NetworkManager.DisconnectType.NetworkTimeout)
-// && OnDisconnected != null)
-
- if (
- (args.Reason == NetworkManager.DisconnectType.ClientInitiated
- || args.Reason == NetworkManager.DisconnectType.ServerInitiated
- || args.Reason == NetworkManager.DisconnectType.NetworkTimeout)
- && OnDisconnected != null)
-// if (OnDisconnected != null)
- {
- IsConnected = false;
- OnDisconnected(this, EventType.DISCONNECTED);
- }
- }
-
- public void Objects_NewPrim(object sender, PrimEventArgs args)
- {
- Primitive prim = args.Prim;
-
- if (prim != null)
- {
- lock (m_objects)
- m_objects[prim.ID] = prim;
-
- if (prim.Textures != null)
- {
- if (prim.Textures.DefaultTexture.TextureID != UUID.Zero)
- {
- GetTexture(prim.Textures.DefaultTexture.TextureID);
- }
-
- for (int i = 0; i < prim.Textures.FaceTextures.Length; i++)
- {
- UUID textureID = prim.Textures.FaceTextures[i].TextureID;
-
- if (textureID != null && textureID != UUID.Zero)
- {
- GetTexture(textureID);
- }
- }
- }
-
- if (prim.Sculpt.SculptTexture != UUID.Zero)
- {
- GetTexture(prim.Sculpt.SculptTexture);
- }
- }
- }
-
- private void GetTexture(UUID textureID)
- {
- lock (BotManager.AssetsReceived)
- {
- // Don't request assets more than once.
- if (BotManager.AssetsReceived.ContainsKey(textureID))
- return;
-
- BotManager.AssetsReceived[textureID] = false;
- Client.Assets.RequestImage(textureID, ImageType.Normal, Asset_TextureCallback_Texture);
- }
- }
-
- public void Asset_TextureCallback_Texture(TextureRequestState state, AssetTexture assetTexture)
- {
- //TODO: Implement texture saving and applying
- }
-
- public void Asset_ReceivedCallback(AssetDownload transfer, Asset asset)
- {
- lock (BotManager.AssetsReceived)
- BotManager.AssetsReceived[asset.AssetID] = true;
-
-// if (wear == "save")
-// {
-// SaveAsset((AssetWearable) asset);
-// }
- }
- }
-}
--
cgit v1.1
From e4bdf1e78ff452136908adb6556143ab6cb8fa74 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 3 Nov 2011 22:50:40 +0000
Subject: actually remove the sleep from PhysicsBehaviour that I shifted to Bot
a couple of commits ago
---
OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs | 2 --
1 file changed, 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
index 8d1d1ce..3ce08bf 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
@@ -75,8 +75,6 @@ namespace pCampBot
string randomf = talkarray[bot.Random.Next(talkarray.Length)];
if (talkarray.Length > 1 && randomf.Length > 1)
bot.Client.Self.Chat(randomf, 0, ChatType.Normal);
-
- Thread.Sleep(bot.Random.Next(1000, 10000));
}
private string[] readexcuses()
--
cgit v1.1
From 69a405713583ca309ee4c5310ae87a942e614ebe Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 3 Nov 2011 22:52:14 +0000
Subject: remove the pointless check of the face texture struct against null in
Bot.Objects_NewPrim()
---
OpenSim/Tools/pCampBot/Bot.cs | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index bf01065..1b30766 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -449,10 +449,8 @@ namespace pCampBot
{
UUID textureID = prim.Textures.FaceTextures[i].TextureID;
- if (textureID != null && textureID != UUID.Zero)
- {
+ if (textureID != UUID.Zero)
GetTexture(textureID);
- }
}
}
--
cgit v1.1
From 674b521fdd24f10964cc4f256486eca6fd6c2cc9 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 9 Nov 2011 20:21:48 +0000
Subject: In pCampBot, don't try and pull down Primitive faces or sculpts set
to null
---
OpenSim/Tools/pCampBot/Bot.cs | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 1b30766..669c99b 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -447,17 +447,20 @@ namespace pCampBot
for (int i = 0; i < prim.Textures.FaceTextures.Length; i++)
{
- UUID textureID = prim.Textures.FaceTextures[i].TextureID;
+ Primitive.TextureEntryFace face = prim.Textures.FaceTextures[i];
- if (textureID != UUID.Zero)
- GetTexture(textureID);
+ if (face != null)
+ {
+ UUID textureID = prim.Textures.FaceTextures[i].TextureID;
+
+ if (textureID != UUID.Zero)
+ GetTexture(textureID);
+ }
}
}
- if (prim.Sculpt.SculptTexture != UUID.Zero)
- {
+ if (prim.Sculpt != null && prim.Sculpt.SculptTexture != UUID.Zero)
GetTexture(prim.Sculpt.SculptTexture);
- }
}
}
--
cgit v1.1
From bbab7b6b4d1053d62037e7e05c37f9cb607db4da Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 9 Nov 2011 21:22:54 +0000
Subject: Use IsConnected status to determine whether all pCampBots have
disconnected, rather than maintaining a separate count
Checking IsConnected is more reliable.
---
OpenSim/Tools/pCampBot/Bot.cs | 22 ++++++++++++++--------
OpenSim/Tools/pCampBot/BotManager.cs | 16 ++++++++--------
2 files changed, 22 insertions(+), 16 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 669c99b..7f941a4 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -222,7 +222,7 @@ namespace pCampBot
}
else
{
- MainConsole.Instance.OutputFormat(
+ m_log.ErrorFormat(
"{0} {1} cannot login: {2}", FirstName, LastName, Client.Network.LoginMessage);
if (OnDisconnected != null)
@@ -266,12 +266,12 @@ namespace pCampBot
}
else
{
- MainConsole.Instance.Output(String.Format("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID));
+ m_log.WarnFormat("Failed to decode {0} asset {1}", asset.AssetType, asset.AssetID);
}
}
catch (Exception e)
{
- MainConsole.Instance.Output(String.Format("Exception: {0}",e.ToString()));
+ m_log.ErrorFormat("Exception: {0}{1}", e.Message, e.StackTrace);
}
}
}
@@ -305,7 +305,7 @@ namespace pCampBot
if (wear == "yes")
{
//TODO: Implement random outfit picking
- MainConsole.Instance.Output("Picks a random outfit. Not yet implemented.");
+ m_log.DebugFormat("Picks a random outfit. Not yet implemented.");
}
else if (wear != "save")
saveDir = "MyAppearance/" + wear;
@@ -334,7 +334,9 @@ namespace pCampBot
listwearables.Add(item);
}
else
- MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name));
+ {
+ m_log.WarnFormat("Failed to create item {0}", item.Name);
+ }
}
);
}
@@ -356,7 +358,9 @@ namespace pCampBot
listwearables.Add(item);
}
else
- MainConsole.Instance.Output(String.Format("Failed to create item {0}",item.Name));
+ {
+ m_log.WarnFormat("Failed to create item {0}", item.Name);
+ }
}
);
}
@@ -364,10 +368,12 @@ namespace pCampBot
Thread.Sleep(1000);
if (listwearables == null || listwearables.Count == 0)
- MainConsole.Instance.Output("Nothing to send on this folder!");
+ {
+ m_log.DebugFormat("Nothing to send on this folder!");
+ }
else
{
- MainConsole.Instance.Output(String.Format("Sending {0} wearables...",listwearables.Count));
+ m_log.DebugFormat("Sending {0} wearables...", listwearables.Count);
Client.Appearance.WearOutfit(listwearables, false);
}
}
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 704770a..c4c6f8f 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -51,7 +51,6 @@ namespace pCampBot
protected CommandConsole m_console;
protected List m_lBot;
protected Random somthing = new Random(Environment.TickCount);
- protected int numbots = 0;
public IConfig Config { get; private set; }
///
@@ -200,16 +199,17 @@ namespace pCampBot
{
case EventType.CONNECTED:
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Connected");
- numbots++;
-// m_log.InfoFormat("NUMBOTS {0}", numbots);
break;
case EventType.DISCONNECTED:
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Disconnected");
- numbots--;
-// m_log.InfoFormat("NUMBOTS {0}", numbots);
- if (numbots <= 0)
- Environment.Exit(0);
- break;
+
+ lock (m_lBot)
+ {
+ if (m_lBot.TrueForAll(b => !b.IsConnected))
+ Environment.Exit(0);
+
+ break;
+ }
}
}
--
cgit v1.1
From f31a58bd999db3d333da42c4fb15e35e989d9717 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 10 Nov 2011 19:40:45 +0000
Subject: Remove unused index parameter from BotManager.startupBot(). Rename
startupBot() => StartBot()
---
OpenSim/Tools/pCampBot/BotManager.cs | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index c4c6f8f..c77e144 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -136,7 +136,7 @@ namespace pCampBot
if (behaviourSwitches.Contains("g"))
behaviours.Add(new GrabbingBehaviour());
- startupBot(i, this, behaviours, firstName, lastName, password, loginUri);
+ StartBot(this, behaviours, firstName, lastName, password, loginUri);
}
}
@@ -156,22 +156,21 @@ namespace pCampBot
// int newlen = len + botcount;
// for (int i = len; i < newlen; i++)
// {
-// startupBot(i, Config);
+// startupBot(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
///
/// Behaviours for this bot to perform.
/// First name
/// Last name
/// Password
/// Login URI
- public void startupBot(
- int pos, BotManager bm, List behaviours,
+ public void StartBot(
+ BotManager bm, List behaviours,
string firstName, string lastName, string password, string loginUri)
{
Bot pb = new Bot(bm, behaviours, firstName, lastName, password, loginUri);
--
cgit v1.1
From 9cba179dff66f7def8f68334893c6db9a65a613e Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 10 Nov 2011 20:03:36 +0000
Subject: launch pCampbot shutdown console comand asynchronously
---
OpenSim/Tools/pCampBot/BotManager.cs | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index c77e144..f5dd5e0 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -233,8 +233,11 @@ namespace pCampBot
private void HandleShutdown(string module, string[] cmd)
{
- m_log.Warn("[BOTMANAGER]: Shutting down bots");
- doBotShutdown();
+ Util.FireAndForget(o =>
+ {
+ m_log.Warn("[BOTMANAGER]: Shutting down bots");
+ doBotShutdown();
+ });
}
private void HandleShowStatus(string module, string[] cmd)
--
cgit v1.1
From e394f83df0d4af9f7efb826dbb49fe0eabedabdc Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 23 Nov 2011 18:00:41 +0000
Subject: Change random number generator property name in pCampbot
---
OpenSim/Tools/pCampBot/BotManager.cs | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index f5dd5e0..056f991 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -50,7 +50,12 @@ namespace pCampBot
protected CommandConsole m_console;
protected List m_lBot;
- protected Random somthing = new Random(Environment.TickCount);
+
+ ///
+ /// Random number generator.
+ ///
+ public Random Rng { get; private set; }
+
public IConfig Config { get; private set; }
///
@@ -63,6 +68,7 @@ namespace pCampBot
///
public BotManager()
{
+ Rng = new Random(Environment.TickCount);
AssetsReceived = new Dictionary();
m_console = CreateConsole();
--
cgit v1.1
From e9f2a9bddbb47ac8c80aeccea0022ad534cbd552 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 23 Nov 2011 21:19:10 +0000
Subject: get pCampBot to extract nearby and store nearby region information
---
OpenSim/Tools/pCampBot/Bot.cs | 12 ++++++++
OpenSim/Tools/pCampBot/BotManager.cs | 54 +++++++++++++++++++++++++++++++++---
2 files changed, 62 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 7f941a4..7c16bf4 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -218,7 +218,19 @@ namespace pCampBot
{
MakeDefaultAppearance(wear);
}
+
Client.Self.Jump(true);
+
+ // Extract nearby region information.
+ Client.Grid.GridRegion += BotManager.Grid_GridRegion;
+ uint xUint, yUint;
+ Utils.LongToUInts(Client.Network.CurrentSim.Handle, out xUint, out yUint);
+ ushort minX, minY, maxX, maxY;
+ minX = (ushort)Math.Min(0, xUint - 5);
+ minY = (ushort)Math.Min(0, yUint - 5);
+ maxX = (ushort)(xUint + 5);
+ maxY = (ushort)(yUint + 5);
+ Client.Grid.RequestMapBlocks(GridLayerType.Terrain, minX, minY, maxX, maxY, false);
}
else
{
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 056f991..f372f9b 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -55,7 +55,7 @@ namespace pCampBot
/// Random number generator.
///
public Random Rng { get; private set; }
-
+
public IConfig Config { get; private set; }
///
@@ -64,12 +64,18 @@ namespace pCampBot
public Dictionary AssetsReceived { get; private set; }
///
+ /// The regions that we know about.
+ ///
+ public Dictionary RegionsKnown { get; private set; }
+
+ ///
/// Constructor Creates MainConsole.Instance to take commands and provide the place to write data
///
public BotManager()
{
Rng = new Random(Environment.TickCount);
AssetsReceived = new Dictionary();
+ RegionsKnown = new Dictionary();
m_console = CreateConsole();
MainConsole.Instance = m_console;
@@ -99,6 +105,11 @@ namespace pCampBot
"Shutdown bots and exit",
HandleShutdown);
+ m_console.Commands.AddCommand("bot", false, "show regions",
+ "show regions",
+ "Show regions known to bots",
+ HandleShowRegions);
+
m_console.Commands.AddCommand("bot", false, "show status",
"show status",
"Shows the status of all bots",
@@ -246,17 +257,33 @@ namespace pCampBot
});
}
+ private void HandleShowRegions(string module, string[] cmd)
+ {
+ string outputFormat = "{0,-30} {1, -20} {2, -5} {3, -5}";
+ MainConsole.Instance.OutputFormat(outputFormat, "Name", "Handle", "X", "Y");
+
+ lock (RegionsKnown)
+ {
+ foreach (GridRegion region in RegionsKnown.Values)
+ {
+ MainConsole.Instance.OutputFormat(
+ outputFormat, region.Name, region.RegionHandle, region.X, region.Y);
+ }
+ }
+ }
+
private void HandleShowStatus(string module, string[] cmd)
{
- string outputFormat = "{0,-30} {1,-14}";
- MainConsole.Instance.OutputFormat(outputFormat, "Name", "Status");
+ string outputFormat = "{0,-30} {1, -30} {2,-14}";
+ MainConsole.Instance.OutputFormat(outputFormat, "Name", "Region", "Status");
lock (m_lBot)
{
foreach (Bot pb in m_lBot)
{
MainConsole.Instance.OutputFormat(
- outputFormat, pb.Name, (pb.IsConnected ? "Connected" : "Disconnected"));
+ outputFormat,
+ pb.Name, pb.Client.Network.CurrentSim.Name, pb.IsConnected ? "Connected" : "Disconnected");
}
}
}
@@ -280,5 +307,24 @@ namespace pCampBot
// if (newbots > 0)
// addbots(newbots);
// }
+
+ internal void Grid_GridRegion(object o, GridRegionEventArgs args)
+ {
+ lock (RegionsKnown)
+ {
+ GridRegion newRegion = args.Region;
+
+ if (RegionsKnown.ContainsKey(newRegion.RegionHandle))
+ {
+ return;
+ }
+ else
+ {
+ m_log.DebugFormat(
+ "[BOT MANAGER]: Adding {0} {1} to known regions", newRegion.Name, newRegion.RegionHandle);
+ RegionsKnown[newRegion.RegionHandle] = newRegion;
+ }
+ }
+ }
}
}
--
cgit v1.1
From 9ae0641871418813ad4e9dd4591396e0b023140b Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 23 Nov 2011 21:33:10 +0000
Subject: Rename Bot.BotManager to Manager
---
OpenSim/Tools/pCampBot/Bot.cs | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 7c16bf4..7a73e3f 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -49,8 +49,15 @@ namespace pCampBot
public delegate void AnEvent(Bot callbot, EventType someevent); // event delegate for bot events
- public BotManager BotManager { get; private set; }
- private IConfig startupConfig; // bot config, passed from BotManager
+ ///
+ /// Bot manager.
+ ///
+ public BotManager Manager { get; private set; }
+
+ ///
+ /// Bot config, passed from BotManager.
+ ///
+ private IConfig startupConfig;
///
/// Behaviours implemented by this bot.
@@ -132,7 +139,7 @@ namespace pCampBot
Password = password;
LoginUri = loginUri;
- BotManager = bm;
+ Manager = bm;
startupConfig = bm.Config;
readconfig();
@@ -222,7 +229,7 @@ namespace pCampBot
Client.Self.Jump(true);
// Extract nearby region information.
- Client.Grid.GridRegion += BotManager.Grid_GridRegion;
+ Client.Grid.GridRegion += Manager.Grid_GridRegion;
uint xUint, yUint;
Utils.LongToUInts(Client.Network.CurrentSim.Handle, out xUint, out yUint);
ushort minX, minY, maxX, maxY;
@@ -484,13 +491,13 @@ namespace pCampBot
private void GetTexture(UUID textureID)
{
- lock (BotManager.AssetsReceived)
+ lock (Manager.AssetsReceived)
{
// Don't request assets more than once.
- if (BotManager.AssetsReceived.ContainsKey(textureID))
+ if (Manager.AssetsReceived.ContainsKey(textureID))
return;
- BotManager.AssetsReceived[textureID] = false;
+ Manager.AssetsReceived[textureID] = false;
Client.Assets.RequestImage(textureID, ImageType.Normal, Asset_TextureCallback_Texture);
}
}
@@ -502,8 +509,8 @@ namespace pCampBot
public void Asset_ReceivedCallback(AssetDownload transfer, Asset asset)
{
- lock (BotManager.AssetsReceived)
- BotManager.AssetsReceived[asset.AssetID] = true;
+ lock (Manager.AssetsReceived)
+ Manager.AssetsReceived[asset.AssetID] = true;
// if (wear == "save")
// {
--
cgit v1.1
From 1126efdcd062c46e7e6212c86b692d11e570d8b3 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 23 Nov 2011 21:33:54 +0000
Subject: In pCampbot, change "show status" command to "show bots"
---
OpenSim/Tools/pCampBot/BotManager.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index f372f9b..836d3f7 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -110,8 +110,8 @@ namespace pCampBot
"Show regions known to bots",
HandleShowRegions);
- m_console.Commands.AddCommand("bot", false, "show status",
- "show status",
+ m_console.Commands.AddCommand("bot", false, "show bots",
+ "show bots",
"Shows the status of all bots",
HandleShowStatus);
--
cgit v1.1
From d145750e878c75e7d7a78eb9ef8dddaab81cc159 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 23 Nov 2011 22:05:11 +0000
Subject: Add teleport behaviour to pCampBot
This teleports the bot to any other regions +/- 5 on the x or y axis.
Quite aggressive at the moment since teleports keep occuring at a 1-10secs random interval.
No checking yet to see if teleport was successful.
---
.../Tools/pCampBot/Behaviours/TeleportBehaviour.cs | 73 ++++++++++++++++++++++
OpenSim/Tools/pCampBot/BotManager.cs | 3 +
OpenSim/Tools/pCampBot/pCampBot.cs | 2 +-
3 files changed, 77 insertions(+), 1 deletion(-)
create mode 100644 OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
new file mode 100644
index 0000000..4624494
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
@@ -0,0 +1,73 @@
+/*
+ * 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 OpenSimulator 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.Linq;
+using System.Reflection;
+using log4net;
+using OpenMetaverse;
+using pCampBot.Interfaces;
+
+namespace pCampBot
+{
+ ///
+ /// Teleport to a random region on the grid.
+ ///
+ public class TeleportBehaviour : IBehaviour
+ {
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
+ public void Action(Bot bot)
+ {
+ Random rng = bot.Manager.Rng;
+ GridRegion[] knownRegions;
+
+ lock (bot.Manager.RegionsKnown)
+ {
+ if (bot.Manager.RegionsKnown.Count == 0)
+ {
+ m_log.DebugFormat(
+ "[TELEPORT BEHAVIOUR]: Ignoring teleport action for {0} since no regions are known yet", bot.Name);
+ return;
+ }
+
+ knownRegions = bot.Manager.RegionsKnown.Values.ToArray();
+ }
+
+ Simulator sourceRegion = bot.Client.Network.CurrentSim;
+ GridRegion destRegion = knownRegions[rng.Next(knownRegions.Length)];
+ Vector3 destPosition = new Vector3(rng.Next(255), rng.Next(255), 50);
+
+ m_log.DebugFormat(
+ "[TELEPORT BEHAVIOUR]: Teleporting {0} from {1} {2} to {3} {4}",
+ bot.Name, sourceRegion.Name, bot.Client.Self.SimPosition, destRegion.Name, destPosition);
+
+ bot.Client.Self.Teleport(destRegion.RegionHandle, destPosition);
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 836d3f7..c67b3e4 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -153,6 +153,9 @@ namespace pCampBot
if (behaviourSwitches.Contains("g"))
behaviours.Add(new GrabbingBehaviour());
+ if (behaviourSwitches.Contains("t"))
+ behaviours.Add(new TeleportBehaviour());
+
StartBot(this, behaviours, firstName, lastName, password, loginUri);
}
}
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 4d3b06d..e7288d5 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -111,7 +111,7 @@ namespace pCampBot
" -firstname first name for the bots\n" +
" -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n" +
" -password password for the bots\n" +
- " -b, behaviours behaviours for bots. Current options p (physics), g (grab). Comma separated, e.g. p,g. Default is p",
+ " -b, behaviours behaviours for bots. Current options p (physics), g (grab), t (teleport). Comma separated, e.g. p,g. Default is p",
" -wear set appearance folder to load from (default: no)\n" +
" -h, -help show this message"
);
--
cgit v1.1
From ed7ddeecf2df370638feb0a83b70a0883a711650 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 23 Nov 2011 22:18:10 +0000
Subject: Print out what behaviours are active when pCampBot starts up
---
.../Tools/pCampBot/Behaviours/GrabbingBehaviour.cs | 2 ++
.../Tools/pCampBot/Behaviours/PhysicsBehaviour.cs | 2 ++
.../Tools/pCampBot/Behaviours/TeleportBehaviour.cs | 2 ++
OpenSim/Tools/pCampBot/BotManager.cs | 39 +++++++++++++++-------
OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs | 9 +++++
5 files changed, 42 insertions(+), 12 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
index 7084ab4..0a6d5d2 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
@@ -41,6 +41,8 @@ namespace pCampBot
///
public class GrabbingBehaviour : IBehaviour
{
+ public string Name { get { return "Grabbing"; } }
+
public void Action(Bot bot)
{
Dictionary objects = bot.Objects;
diff --git a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
index 3ce08bf..f782bb5 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
@@ -42,6 +42,8 @@ namespace pCampBot
///
public class PhysicsBehaviour : IBehaviour
{
+ public string Name { get { return "Physics"; } }
+
private string[] talkarray;
public PhysicsBehaviour()
diff --git a/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
index 4624494..fc2ed2c 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
@@ -42,6 +42,8 @@ namespace pCampBot
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ public string Name { get { return "Teleport"; } }
+
public void Action(Bot bot)
{
Random rng = bot.Manager.Rng;
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index c67b3e4..29cb1ba 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -27,6 +27,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
using System.Reflection;
using System.Threading;
using OpenMetaverse;
@@ -48,7 +49,14 @@ namespace pCampBot
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ ///
+ /// Command console
+ ///
protected CommandConsole m_console;
+
+ ///
+ /// Created bots, whether active or inactive.
+ ///
protected List m_lBot;
///
@@ -56,6 +64,9 @@ namespace pCampBot
///
public Random Rng { get; private set; }
+ ///
+ /// Overall configuration.
+ ///
public IConfig Config { get; private set; }
///
@@ -140,22 +151,26 @@ namespace pCampBot
Array.ForEach(
cs.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b));
+ List behaviours = new List();
+
+ // Hard-coded for now
+ if (behaviourSwitches.Contains("p"))
+ behaviours.Add(new PhysicsBehaviour());
+
+ if (behaviourSwitches.Contains("g"))
+ behaviours.Add(new GrabbingBehaviour());
+
+ if (behaviourSwitches.Contains("t"))
+ behaviours.Add(new TeleportBehaviour());
+
+ MainConsole.Instance.OutputFormat(
+ "[BOT MANAGER]: Bots configured for behaviours {0}",
+ string.Join(",", behaviours.ConvertAll(b => b.Name).ToArray()));
+
for (int i = 0; i < botcount; i++)
{
string lastName = string.Format("{0}_{1}", lastNameStem, i);
- List behaviours = new List();
-
- // Hard-coded for now
- if (behaviourSwitches.Contains("p"))
- behaviours.Add(new PhysicsBehaviour());
-
- if (behaviourSwitches.Contains("g"))
- behaviours.Add(new GrabbingBehaviour());
-
- if (behaviourSwitches.Contains("t"))
- behaviours.Add(new TeleportBehaviour());
-
StartBot(this, behaviours, firstName, lastName, password, loginUri);
}
}
diff --git a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
index d4ae0f0..912216f 100644
--- a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
@@ -31,6 +31,15 @@ namespace pCampBot.Interfaces
{
public interface IBehaviour
{
+ ///
+ /// Name of this behaviour.
+ ///
+ string Name { get; }
+
+ ///
+ /// Action to take when this behaviour is invoked.
+ ///
+ ///
void Action(Bot bot);
}
}
\ No newline at end of file
--
cgit v1.1
From bdcfd6afee5651bd5fc3b4e6a2dfeeb47b983661 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 24 Nov 2011 17:35:33 +0000
Subject: Add disabled CrossBehaviour to pCampBot, which is designed to cross
test bots between neighbouring regions.
Not yet enabled since there is a bug where the initial cross will work but all subsequent movements on the receiving simulator appear to fail.
---
.../Tools/pCampBot/Behaviours/PhysicsBehaviour.cs | 1 -
OpenSim/Tools/pCampBot/Bot.cs | 2 --
OpenSim/Tools/pCampBot/BotManager.cs | 3 +++
OpenSim/Tools/pCampBot/pCampBot.cs | 26 +++++++++++++---------
4 files changed, 18 insertions(+), 14 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
index f782bb5..25529d0 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
@@ -73,7 +73,6 @@ namespace pCampBot
Thread.Sleep(bot.Random.Next(3000, 13000));
bot.Client.Self.Movement.AtPos = false;
bot.Client.Self.Jump(true);
-
string randomf = talkarray[bot.Random.Next(talkarray.Length)];
if (talkarray.Length > 1 && randomf.Length > 1)
bot.Client.Self.Chat(randomf, 0, ChatType.Normal);
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 7a73e3f..409734e 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -226,8 +226,6 @@ namespace pCampBot
MakeDefaultAppearance(wear);
}
- Client.Self.Jump(true);
-
// Extract nearby region information.
Client.Grid.GridRegion += Manager.Grid_GridRegion;
uint xUint, yUint;
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 29cb1ba..d91990f 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -163,6 +163,9 @@ namespace pCampBot
if (behaviourSwitches.Contains("t"))
behaviours.Add(new TeleportBehaviour());
+// if (behaviourSwitches.Contains("c"))
+// behaviours.Add(new CrossBehaviour());
+
MainConsole.Instance.OutputFormat(
"[BOT MANAGER]: Bots configured for behaviours {0}",
string.Join(",", behaviours.ConvertAll(b => b.Name).ToArray()));
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index e7288d5..3f43cff 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -104,17 +104,21 @@ namespace pCampBot
// name, to load an specific folder, or save, to save an avatar with some already existing wearables
// worn to the folder MyAppearance/FirstName_LastName, and the load it.
Console.WriteLine(
- "usage: pCampBot <-loginuri loginuri> [OPTIONS]\n" +
- "Spawns a set of bots to test an OpenSim region\n\n" +
- " -l, -loginuri loginuri for sim to log into (required)\n" +
- " -n, -botcount number of bots to start (default: 1)\n" +
- " -firstname first name for the bots\n" +
- " -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n" +
- " -password password for the bots\n" +
- " -b, behaviours behaviours for bots. Current options p (physics), g (grab), t (teleport). Comma separated, e.g. p,g. Default is p",
- " -wear set appearance folder to load from (default: no)\n" +
- " -h, -help show this message"
- );
+ "usage: pCampBot <-loginuri loginuri> [OPTIONS]\n" +
+ "Spawns a set of bots to test an OpenSim region\n\n" +
+ " -l, -loginuri loginuri for sim to log into (required)\n" +
+ " -n, -botcount number of bots to start (default: 1)\n" +
+ " -firstname first name for the bots\n" +
+ " -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n" +
+ " -password password for the bots\n" +
+ " -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n",
+ " current options are:" +
+ " p (physics)" +
+ " g (grab)" +
+ " t (teleport)" +
+// " c (cross)" +
+ " -wear set appearance folder to load from (default: no)\n" +
+ " -h, -help show this message");
}
}
}
--
cgit v1.1
From 2ae5b40ca6bb3d33310f0f66569bf150548a2de6 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 24 Nov 2011 22:36:45 +0000
Subject: On pCampBot, add bot as a property on behaviours instead of passing
it in every time
---
.../Tools/pCampBot/Behaviours/AbstractBehaviour.cs | 49 ++++++++++++++++++++++
.../Tools/pCampBot/Behaviours/GrabbingBehaviour.cs | 16 +++----
.../Tools/pCampBot/Behaviours/PhysicsBehaviour.cs | 31 +++++++-------
.../Tools/pCampBot/Behaviours/TeleportBehaviour.cs | 22 +++++-----
OpenSim/Tools/pCampBot/Bot.cs | 4 +-
OpenSim/Tools/pCampBot/BotManager.cs | 38 ++++++++---------
OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs | 11 ++++-
7 files changed, 115 insertions(+), 56 deletions(-)
create mode 100644 OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs
new file mode 100644
index 0000000..9a9371d
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs
@@ -0,0 +1,49 @@
+/*
+ * 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 OpenSimulator 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 OpenMetaverse;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using pCampBot.Interfaces;
+
+namespace pCampBot
+{
+ public class AbstractBehaviour : IBehaviour
+ {
+ public string Name { get; protected set; }
+
+ public Bot Bot { get; protected set; }
+
+ public virtual void Action() {}
+
+ public virtual void Initialize(Bot bot)
+ {
+ Bot = bot;
+ }
+ }
+}
diff --git a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
index 0a6d5d2..6ad02b2 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
@@ -39,20 +39,20 @@ namespace pCampBot
///
/// The viewer itself does not give the option of grabbing objects that haven't been signalled as grabbable.
///
- public class GrabbingBehaviour : IBehaviour
+ public class GrabbingBehaviour : AbstractBehaviour
{
- public string Name { get { return "Grabbing"; } }
+ public GrabbingBehaviour() { Name = "Grabbing"; }
- public void Action(Bot bot)
+ public override void Action()
{
- Dictionary objects = bot.Objects;
+ Dictionary objects = Bot.Objects;
- Primitive prim = objects.ElementAt(bot.Random.Next(0, objects.Count)).Value;
+ Primitive prim = objects.ElementAt(Bot.Random.Next(0, objects.Count)).Value;
// This appears to be a typical message sent when a viewer user clicks a clickable object
- bot.Client.Self.Grab(prim.LocalID);
- bot.Client.Self.GrabUpdate(prim.ID, Vector3.Zero);
- bot.Client.Self.DeGrab(prim.LocalID);
+ Bot.Client.Self.Grab(prim.LocalID);
+ Bot.Client.Self.GrabUpdate(prim.ID, Vector3.Zero);
+ Bot.Client.Self.DeGrab(prim.LocalID);
}
}
}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
index 25529d0..daa7485 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
@@ -40,42 +40,41 @@ namespace pCampBot
///
/// TODO: talkarray should be in a separate behaviour.
///
- public class PhysicsBehaviour : IBehaviour
+ public class PhysicsBehaviour : AbstractBehaviour
{
- public string Name { get { return "Physics"; } }
-
private string[] talkarray;
public PhysicsBehaviour()
{
+ Name = "Physics";
talkarray = readexcuses();
}
- public void Action(Bot bot)
+ public override void Action()
{
- int walkorrun = bot.Random.Next(4); // Randomize between walking and running. The greater this number,
+ int walkorrun = Bot.Random.Next(4); // Randomize between walking and running. The greater this number,
// the greater the bot's chances to walk instead of run.
- bot.Client.Self.Jump(false);
+ Bot.Client.Self.Jump(false);
if (walkorrun == 0)
{
- bot.Client.Self.Movement.AlwaysRun = true;
+ Bot.Client.Self.Movement.AlwaysRun = true;
}
else
{
- bot.Client.Self.Movement.AlwaysRun = false;
+ Bot.Client.Self.Movement.AlwaysRun = false;
}
// TODO: unused: Vector3 pos = client.Self.SimPosition;
- Vector3 newpos = new Vector3(bot.Random.Next(1, 254), bot.Random.Next(1, 254), bot.Random.Next(1, 254));
- bot.Client.Self.Movement.TurnToward(newpos);
+ Vector3 newpos = new Vector3(Bot.Random.Next(1, 254), Bot.Random.Next(1, 254), Bot.Random.Next(1, 254));
+ Bot.Client.Self.Movement.TurnToward(newpos);
- bot.Client.Self.Movement.AtPos = true;
- Thread.Sleep(bot.Random.Next(3000, 13000));
- bot.Client.Self.Movement.AtPos = false;
- bot.Client.Self.Jump(true);
- string randomf = talkarray[bot.Random.Next(talkarray.Length)];
+ Bot.Client.Self.Movement.AtPos = true;
+ Thread.Sleep(Bot.Random.Next(3000, 13000));
+ Bot.Client.Self.Movement.AtPos = false;
+ Bot.Client.Self.Jump(true);
+ string randomf = talkarray[Bot.Random.Next(talkarray.Length)];
if (talkarray.Length > 1 && randomf.Length > 1)
- bot.Client.Self.Chat(randomf, 0, ChatType.Normal);
+ Bot.Client.Self.Chat(randomf, 0, ChatType.Normal);
}
private string[] readexcuses()
diff --git a/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
index fc2ed2c..fbb4e96 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
@@ -38,38 +38,38 @@ namespace pCampBot
///
/// Teleport to a random region on the grid.
///
- public class TeleportBehaviour : IBehaviour
+ public class TeleportBehaviour : AbstractBehaviour
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
- public string Name { get { return "Teleport"; } }
+ public TeleportBehaviour() { Name = "Teleport"; }
- public void Action(Bot bot)
+ public override void Action()
{
- Random rng = bot.Manager.Rng;
+ Random rng = Bot.Manager.Rng;
GridRegion[] knownRegions;
- lock (bot.Manager.RegionsKnown)
+ lock (Bot.Manager.RegionsKnown)
{
- if (bot.Manager.RegionsKnown.Count == 0)
+ if (Bot.Manager.RegionsKnown.Count == 0)
{
m_log.DebugFormat(
- "[TELEPORT BEHAVIOUR]: Ignoring teleport action for {0} since no regions are known yet", bot.Name);
+ "[TELEPORT BEHAVIOUR]: Ignoring teleport action for {0} since no regions are known yet", Bot.Name);
return;
}
- knownRegions = bot.Manager.RegionsKnown.Values.ToArray();
+ knownRegions = Bot.Manager.RegionsKnown.Values.ToArray();
}
- Simulator sourceRegion = bot.Client.Network.CurrentSim;
+ Simulator sourceRegion = Bot.Client.Network.CurrentSim;
GridRegion destRegion = knownRegions[rng.Next(knownRegions.Length)];
Vector3 destPosition = new Vector3(rng.Next(255), rng.Next(255), 50);
m_log.DebugFormat(
"[TELEPORT BEHAVIOUR]: Teleporting {0} from {1} {2} to {3} {4}",
- bot.Name, sourceRegion.Name, bot.Client.Self.SimPosition, destRegion.Name, destPosition);
+ Bot.Name, sourceRegion.Name, Bot.Client.Self.SimPosition, destRegion.Name, destPosition);
- bot.Client.Self.Teleport(destRegion.RegionHandle, destPosition);
+ Bot.Client.Self.Teleport(destRegion.RegionHandle, destPosition);
}
}
}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 409734e..0bd0bcc 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -130,6 +130,8 @@ namespace pCampBot
BotManager bm, List behaviours,
string firstName, string lastName, string password, string loginUri)
{
+ behaviours.ForEach(b => b.Initialize(this));
+
Client = new GridClient();
Random = new Random(Environment.TickCount);// We do stuff randomly here
@@ -156,7 +158,7 @@ namespace pCampBot
b =>
{
// m_log.DebugFormat("[pCAMPBOT]: For {0} performing action {1}", Name, b.GetType());
- b.Action(this);
+ b.Action();
Thread.Sleep(Random.Next(1000, 10000));
}
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index d91990f..6481e97 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -151,29 +151,29 @@ namespace pCampBot
Array.ForEach(
cs.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b));
- List behaviours = new List();
-
- // Hard-coded for now
- if (behaviourSwitches.Contains("p"))
- behaviours.Add(new PhysicsBehaviour());
-
- if (behaviourSwitches.Contains("g"))
- behaviours.Add(new GrabbingBehaviour());
-
- if (behaviourSwitches.Contains("t"))
- behaviours.Add(new TeleportBehaviour());
-
-// if (behaviourSwitches.Contains("c"))
-// behaviours.Add(new CrossBehaviour());
-
- MainConsole.Instance.OutputFormat(
- "[BOT MANAGER]: Bots configured for behaviours {0}",
- string.Join(",", behaviours.ConvertAll(b => b.Name).ToArray()));
-
for (int i = 0; i < botcount; i++)
{
string lastName = string.Format("{0}_{1}", lastNameStem, i);
+ List behaviours = new List();
+
+ // Hard-coded for now
+ if (behaviourSwitches.Contains("p"))
+ behaviours.Add(new PhysicsBehaviour());
+
+ if (behaviourSwitches.Contains("g"))
+ behaviours.Add(new GrabbingBehaviour());
+
+ if (behaviourSwitches.Contains("t"))
+ behaviours.Add(new TeleportBehaviour());
+
+ if (behaviourSwitches.Contains("c"))
+ behaviours.Add(new CrossBehaviour());
+
+ MainConsole.Instance.OutputFormat(
+ "[BOT MANAGER]: Bot {0} {1} configured for behaviours {2}",
+ firstName, lastName, string.Join(",", behaviours.ConvertAll(b => b.Name).ToArray()));
+
StartBot(this, behaviours, firstName, lastName, password, loginUri);
}
}
diff --git a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
index 912216f..9c984be 100644
--- a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
@@ -37,9 +37,18 @@ namespace pCampBot.Interfaces
string Name { get; }
///
+ /// Initialize the behaviour for this bot.
+ ///
+ ///
+ /// This must be invoked before Action() is called.
+ ///
+ ///
+ void Initialize(Bot bot);
+
+ ///
/// Action to take when this behaviour is invoked.
///
///
- void Action(Bot bot);
+ void Action();
}
}
\ No newline at end of file
--
cgit v1.1
From 0a0aa77cfd64eeebe0fadecd999e5a0d4ee3739e Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 24 Nov 2011 22:46:43 +0000
Subject: Adding missing CrossBehaviour.cs file to fix build
---
.../Tools/pCampBot/Behaviours/CrossBehaviour.cs | 169 +++++++++++++++++++++
1 file changed, 169 insertions(+)
create mode 100644 OpenSim/Tools/pCampBot/Behaviours/CrossBehaviour.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/CrossBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/CrossBehaviour.cs
new file mode 100644
index 0000000..1e01c64
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/Behaviours/CrossBehaviour.cs
@@ -0,0 +1,169 @@
+/*
+ * 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 OpenSimulator 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.Reflection;
+using System.Threading;
+using log4net;
+using OpenMetaverse;
+using OpenSim.Framework;
+using pCampBot.Interfaces;
+
+namespace pCampBot
+{
+ ///
+ /// Get the bot to make a region crossing.
+ ///
+ public class CrossBehaviour : AbstractBehaviour
+ {
+ private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+
+ public AutoResetEvent m_regionCrossedMutex = new AutoResetEvent(false);
+
+ public const int m_regionCrossingTimeout = 1000 * 60;
+
+ public CrossBehaviour() { Name = "Cross"; }
+
+ public override void Action()
+ {
+ GridClient client = Bot.Client;
+
+// // Fly to make the border cross easier.
+// client.Self.Movement.Fly = true;
+// client.Self.Movement.Fly = false;
+
+ // Seek out neighbouring region
+ Simulator currentSim = client.Network.CurrentSim;
+ ulong currentHandle = currentSim.Handle;
+ uint currentX, currentY;
+ Utils.LongToUInts(currentHandle, out currentX, out currentY);
+
+ List candidateRegions = new List();
+ TryAddRegion(Utils.UIntsToLong(Math.Max(0, currentX - Constants.RegionSize), currentY), candidateRegions); // West
+ TryAddRegion(Utils.UIntsToLong(currentX + Constants.RegionSize, currentY), candidateRegions); // East
+ TryAddRegion(Utils.UIntsToLong(currentX, Math.Max(0, currentY - Constants.RegionSize)), candidateRegions); // South
+ TryAddRegion(Utils.UIntsToLong(currentX, currentY + Constants.RegionSize), candidateRegions); // North
+
+ if (candidateRegions.Count != 0)
+ {
+ GridRegion destRegion = candidateRegions[Bot.Manager.Rng.Next(candidateRegions.Count)];
+
+ uint targetX, targetY;
+ Utils.LongToUInts(destRegion.RegionHandle, out targetX, out targetY);
+
+ Vector3 pos = client.Self.SimPosition;
+ if (targetX < currentX)
+ pos.X = -1;
+ else if (targetX > currentX)
+ pos.X = Constants.RegionSize + 1;
+
+ if (targetY < currentY)
+ pos.Y = -1;
+ else if (targetY > currentY)
+ pos.Y = Constants.RegionSize + 1;
+
+ m_log.DebugFormat(
+ "[CROSS BEHAVIOUR]: {0} moving to cross from {1} into {2}, target {3}",
+ Bot.Name, currentSim.Name, destRegion.Name, pos);
+
+ // Face in the direction of the candidate region
+ client.Self.Movement.TurnToward(pos);
+
+ // Listen for event so that we know when we've crossed the region boundary
+ Bot.Client.Self.RegionCrossed += Self_RegionCrossed;
+
+ // Start moving
+ Bot.Client.Self.Movement.AtPos = true;
+
+ // Stop when reach region target or border cross detected
+ if (!m_regionCrossedMutex.WaitOne(m_regionCrossingTimeout))
+ {
+ m_log.ErrorFormat(
+ "[CROSS BEHAVIOUR]: {0} failed to cross from {1} into {2} with {3}ms",
+ Bot.Name, currentSim.Name, destRegion.Name, m_regionCrossingTimeout);
+ }
+ else
+ {
+ m_log.DebugFormat(
+ "[CROSS BEHAVIOUR]: {0} crossed from {1} into {2}",
+ Bot.Name, currentSim.Name, destRegion.Name);
+ }
+
+ Bot.Client.Self.RegionCrossed -= Self_RegionCrossed;
+
+ // We will hackishly carry on travelling into the region for a little bit.
+ Thread.Sleep(6000);
+
+ m_log.DebugFormat(
+ "[CROSS BEHAVIOUR]: {0} stopped moving after cross from {1} into {2}",
+ Bot.Name, currentSim.Name, destRegion.Name);
+
+ Bot.Client.Self.Movement.AtPos = false;
+ }
+ else
+ {
+ m_log.DebugFormat(
+ "[CROSS BEHAVIOUR]: No candidate region for {0} to cross into from {1}. Ignoring.",
+ Bot.Name, currentSim.Name);
+ }
+ }
+
+ private bool TryAddRegion(ulong handle, List regions)
+ {
+ Dictionary knownRegions = Bot.Manager.RegionsKnown;
+
+ lock (knownRegions)
+ {
+ if (knownRegions.Count == 0)
+ return false;
+
+ m_log.DebugFormat("[CROSS BEHAVIOUR]: Looking for region with handle {0} in known regions", handle);
+
+ if (knownRegions.ContainsKey(handle))
+ {
+ GridRegion region = knownRegions[handle];
+ m_log.DebugFormat(
+ "[CROSS BEHAVIOUR]: Adding region {0} to crossing candidates for {1}", region.Name, Bot.Name);
+
+ regions.Add(region);
+
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+
+ internal void Self_RegionCrossed(object o, RegionCrossedEventArgs args)
+ {
+ m_regionCrossedMutex.Set();
+ }
+ }
+}
\ No newline at end of file
--
cgit v1.1
From 84023c8162b5736ba2e9d492c5a569bb71eb255b Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 14 Dec 2011 16:43:49 +0000
Subject: Fix off by one bug in objects GrabbingBehaviour of pCampBot.exe
Also fix usage message.
---
OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs | 2 +-
OpenSim/Tools/pCampBot/pCampBot.cs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
index 6ad02b2..701881e 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
@@ -47,7 +47,7 @@ namespace pCampBot
{
Dictionary objects = Bot.Objects;
- Primitive prim = objects.ElementAt(Bot.Random.Next(0, objects.Count)).Value;
+ Primitive prim = objects.ElementAt(Bot.Random.Next(0, objects.Count - 1)).Value;
// This appears to be a typical message sent when a viewer user clicks a clickable object
Bot.Client.Self.Grab(prim.LocalID);
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 3f43cff..6249fae 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -111,7 +111,7 @@ namespace pCampBot
" -firstname first name for the bots\n" +
" -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n" +
" -password password for the bots\n" +
- " -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n",
+ " -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n" +
" current options are:" +
" p (physics)" +
" g (grab)" +
--
cgit v1.1
From fa79588a20fb4bcc79a24214b7c055efaff97f77 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 3 Jan 2012 15:42:36 +0000
Subject: minor: add missing newlines to pCampbot usage statement
---
OpenSim/Tools/pCampBot/pCampBot.cs | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 6249fae..a73fcbe 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -112,10 +112,10 @@ namespace pCampBot
" -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n" +
" -password password for the bots\n" +
" -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n" +
- " current options are:" +
- " p (physics)" +
- " g (grab)" +
- " t (teleport)" +
+ " current options are:\n" +
+ " p (physics)\n" +
+ " g (grab)\n" +
+ " t (teleport)\n" +
// " c (cross)" +
" -wear set appearance folder to load from (default: no)\n" +
" -h, -help show this message");
--
cgit v1.1
From a181fae72276073d7b3cd9c15e1448a3fabbb8f9 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 29 Feb 2012 03:00:56 +0000
Subject: Don't start pCampbot if the user doesn't supply bot firstname,
lastname stub and password
---
OpenSim/Tools/pCampBot/pCampBot.cs | 4 ++++
1 file changed, 4 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index a73fcbe..ec5ad04 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -56,6 +56,10 @@ namespace pCampBot
{
Help();
}
+ else if (config.Get("firstname") == null || config.Get("lastname") == null || config.Get("password") == null)
+ {
+ Console.WriteLine("ERROR: You must supply a firstname, lastname and password for the bots.");
+ }
else
{
int botcount = config.GetInt("botcount", 1);
--
cgit v1.1
From 94971bf3b9fd53b571701e7d9a3a94628763da71 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 2 Mar 2012 01:31:28 +0000
Subject: Provide feedback on bot login states in pCampbot
---
OpenSim/Tools/pCampBot/Bot.cs | 7 +++++++
1 file changed, 7 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 0bd0bcc..da090dd 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -420,6 +420,8 @@ namespace pCampBot
public void Network_LoginProgress(object sender, LoginProgressEventArgs args)
{
+ m_log.DebugFormat("[BOT]: Bot {0} {1} in Network_LoginProcess", Name, args.Status);
+
if (args.Status == LoginStatus.Success)
{
if (OnConnected != null)
@@ -431,10 +433,15 @@ namespace pCampBot
public void Network_SimConnected(object sender, SimConnectedEventArgs args)
{
+ m_log.DebugFormat(
+ "[BOT]: Bot {0} connected to {1} at {2}", Name, args.Simulator.Name, args.Simulator.IPEndPoint);
}
public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
{
+ m_log.DebugFormat(
+ "[BOT]: Bot {0} disconnected reason {1}, message {2}", Name, args.Reason, args.Message);
+
// m_log.ErrorFormat("Fired Network_OnDisconnected");
// if (
--
cgit v1.1
From ec48a2f32ba991b89705b8212b0df8a79e961156 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 2 Mar 2012 01:54:48 +0000
Subject: minor: Rename pCampbot console prompt to "pCampbot" rather than
"Region"
---
OpenSim/Tools/pCampBot/BotManager.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 6481e97..0f501b7 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -266,7 +266,7 @@ namespace pCampBot
///
protected CommandConsole CreateConsole()
{
- return new LocalConsole("Region");
+ return new LocalConsole("pCampbot");
}
private void HandleShutdown(string module, string[] cmd)
--
cgit v1.1
From ab4e6a02a52bfd473ea3c2050774103ec8eb3934 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 11 May 2012 00:37:20 +0100
Subject: If a bot is not connected, show region name "(none)" instead of
throwing an exception in the "show bots" command of pCampbot
---
OpenSim/Tools/pCampBot/BotManager.cs | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 0f501b7..fd32a6a 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -302,9 +302,11 @@ namespace pCampBot
{
foreach (Bot pb in m_lBot)
{
+ Simulator currentSim = pb.Client.Network.CurrentSim;
+
MainConsole.Instance.OutputFormat(
outputFormat,
- pb.Name, pb.Client.Network.CurrentSim.Name, pb.IsConnected ? "Connected" : "Disconnected");
+ pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.IsConnected ? "Connected" : "Disconnected");
}
}
}
--
cgit v1.1
From dc39ec82fa8343657ad9b45a7d9cfeb27bf26e79 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 11 May 2012 00:53:21 +0100
Subject: Change bot.IsConnected to be ConnectionState with Disconnected,
Connecting, Connnected and Disconnecting states
---
OpenSim/Tools/pCampBot/Bot.cs | 23 ++++++++++++++++++++---
OpenSim/Tools/pCampBot/BotManager.cs | 4 ++--
2 files changed, 22 insertions(+), 5 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index da090dd..2b4a171 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -43,6 +43,14 @@ using Timer = System.Timers.Timer;
namespace pCampBot
{
+ public enum ConnectionState
+ {
+ Disconnected,
+ Connecting,
+ Connected,
+ Disconnecting
+ }
+
public class Bot
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@@ -86,7 +94,7 @@ namespace pCampBot
///
/// Is this bot connected to the grid?
///
- public bool IsConnected { get; private set; }
+ public ConnectionState ConnectionState { get; private set; }
public string FirstName { get; private set; }
public string LastName { get; private set; }
@@ -130,6 +138,8 @@ namespace pCampBot
BotManager bm, List behaviours,
string firstName, string lastName, string password, string loginUri)
{
+ ConnectionState = ConnectionState.Disconnected;
+
behaviours.ForEach(b => b.Initialize(this));
Client = new GridClient();
@@ -178,6 +188,8 @@ namespace pCampBot
///
public void shutdown()
{
+ ConnectionState = ConnectionState.Disconnecting;
+
if (m_actionThread != null)
m_actionThread.Abort();
@@ -209,9 +221,11 @@ namespace pCampBot
Client.Network.Disconnected += this.Network_OnDisconnected;
Client.Objects.ObjectUpdate += Objects_NewPrim;
+ ConnectionState = ConnectionState.Connecting;
+
if (Client.Network.Login(FirstName, LastName, Password, "pCampBot", "Your name"))
{
- IsConnected = true;
+ ConnectionState = ConnectionState.Connected;
Thread.Sleep(Random.Next(1000, 10000));
m_actionThread = new Thread(Action);
@@ -241,6 +255,8 @@ namespace pCampBot
}
else
{
+ ConnectionState = ConnectionState.Disconnected;
+
m_log.ErrorFormat(
"{0} {1} cannot login: {2}", FirstName, LastName, Client.Network.LoginMessage);
@@ -439,6 +455,8 @@ namespace pCampBot
public void Network_OnDisconnected(object sender, DisconnectedEventArgs args)
{
+ ConnectionState = ConnectionState.Disconnected;
+
m_log.DebugFormat(
"[BOT]: Bot {0} disconnected reason {1}, message {2}", Name, args.Reason, args.Message);
@@ -456,7 +474,6 @@ namespace pCampBot
&& OnDisconnected != null)
// if (OnDisconnected != null)
{
- IsConnected = false;
OnDisconnected(this, EventType.DISCONNECTED);
}
}
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index fd32a6a..d4bbc2a 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -242,7 +242,7 @@ namespace pCampBot
lock (m_lBot)
{
- if (m_lBot.TrueForAll(b => !b.IsConnected))
+ if (m_lBot.TrueForAll(b => b.ConnectionState == ConnectionState.Disconnected))
Environment.Exit(0);
break;
@@ -306,7 +306,7 @@ namespace pCampBot
MainConsole.Instance.OutputFormat(
outputFormat,
- pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.IsConnected ? "Connected" : "Disconnected");
+ pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState);
}
}
}
--
cgit v1.1
From 93b615c51df3dec8276aead52141534a7ed32ff9 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 11 May 2012 01:37:03 +0100
Subject: Do each bot shutdown on its own threads to prevent one slow shutdown
holding up all the rest.
This does increase the aggressiveness of shutdown
Also prevents the bot list being locked for a long period, which was preventing commands such as "show bots" from working during shutdown
---
OpenSim/Tools/pCampBot/BotManager.cs | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index d4bbc2a..d06c55b 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -251,13 +251,21 @@ namespace pCampBot
}
///
- /// Shutting down all bots
+ /// Shut down all bots
///
+ ///
+ /// We launch each shutdown on its own thread so that a slow shutting down bot doesn't hold up all the others.
+ ///
public void doBotShutdown()
{
lock (m_lBot)
- foreach (Bot pb in m_lBot)
- pb.shutdown();
+ {
+ foreach (Bot bot in m_lBot)
+ {
+ Bot thisBot = bot;
+ Util.FireAndForget(o => thisBot.shutdown());
+ }
+ }
}
///
@@ -271,11 +279,8 @@ namespace pCampBot
private void HandleShutdown(string module, string[] cmd)
{
- Util.FireAndForget(o =>
- {
- m_log.Warn("[BOTMANAGER]: Shutting down bots");
- doBotShutdown();
- });
+ m_log.Info("[BOTMANAGER]: Shutting down bots");
+ doBotShutdown();
}
private void HandleShowRegions(string module, string[] cmd)
--
cgit v1.1
From 0ddf3c5289f32fc5ed3283d493f305286058e48c Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 11 May 2012 01:56:00 +0100
Subject: Do bot startup on another thread so console is responsive during this
process
---
OpenSim/Tools/pCampBot/BotManager.cs | 1 +
OpenSim/Tools/pCampBot/pCampBot.cs | 5 ++++-
2 files changed, 5 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index d06c55b..6d4bdb1 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -222,6 +222,7 @@ namespace pCampBot
Thread pbThread = new Thread(pb.startup);
pbThread.Name = pb.Name;
pbThread.IsBackground = true;
+
pbThread.Start();
}
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index ec5ad04..52e7501 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -27,6 +27,7 @@
using System;
using System.Reflection;
+using System.Threading;
using log4net;
using Nini.Config;
using OpenSim.Framework;
@@ -67,7 +68,9 @@ namespace pCampBot
BotManager bm = new BotManager();
//startup specified number of bots. 1 is the default
- bm.dobotStartup(botcount, config);
+ Thread startBotThread = new Thread(o => bm.dobotStartup(botcount, config));
+ startBotThread.Name = "Initial start bots thread";
+ startBotThread.Start();
while (true)
{
--
cgit v1.1
From 9c392f6a6894d532917a3b4b44720fa1e6e30be7 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 11 May 2012 02:05:32 +0100
Subject: Stagger multiple bot logins by 5 seconds to make this part of the
test more 'realistic'
TODO: Need to make this value configurable by a command line parameter to pCampbot
---
OpenSim/Tools/pCampBot/BotManager.cs | 13 +++++++++++++
1 file changed, 13 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 6d4bdb1..b9eabbf 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -49,6 +49,14 @@ namespace pCampBot
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ public const int DefaultLoginDelay = 5000;
+
+ ///
+ /// Delay between logins of multiple bots.
+ ///
+ /// TODO: This value needs to be configurable by a command line argument.
+ public int LoginDelay { get; set; }
+
///
/// Command console
///
@@ -84,6 +92,8 @@ namespace pCampBot
///
public BotManager()
{
+ LoginDelay = DefaultLoginDelay;
+
Rng = new Random(Environment.TickCount);
AssetsReceived = new Dictionary();
RegionsKnown = new Dictionary();
@@ -224,6 +234,9 @@ namespace pCampBot
pbThread.IsBackground = true;
pbThread.Start();
+
+ // Stagger logins
+ Thread.Sleep(LoginDelay);
}
///
--
cgit v1.1
From f231ac39de7348965b5c4c04d8b29a885501c90d Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 11 May 2012 02:23:18 +0100
Subject: Increase minimum period between bot actions to 3 seconds, so that
teleport doesn't fall under the minimum 2 second limits that clients take to
process it
---
OpenSim/Tools/pCampBot/Bot.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 2b4a171..95dba9f 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -167,10 +167,10 @@ namespace pCampBot
Behaviours.ForEach(
b =>
{
+ Thread.Sleep(Random.Next(3000, 10000));
+
// m_log.DebugFormat("[pCAMPBOT]: For {0} performing action {1}", Name, b.GetType());
b.Action();
-
- Thread.Sleep(Random.Next(1000, 10000));
}
);
}
--
cgit v1.1
From 480216f50f40bdb9709f9c6eec189a2ca027f395 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 11 May 2012 02:38:29 +0100
Subject: Print out more information on connecting bots
---
OpenSim/Tools/pCampBot/Bot.cs | 2 +-
OpenSim/Tools/pCampBot/BotManager.cs | 26 ++++++++++++++++++--------
2 files changed, 19 insertions(+), 9 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 95dba9f..b6cd287 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -168,7 +168,7 @@ namespace pCampBot
b =>
{
Thread.Sleep(Random.Next(3000, 10000));
-
+
// m_log.DebugFormat("[pCAMPBOT]: For {0} performing action {1}", Name, b.GetType());
b.Action();
}
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index b9eabbf..d615b3f 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -161,28 +161,34 @@ namespace pCampBot
Array.ForEach(
cs.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b));
+ MainConsole.Instance.OutputFormat(
+ "[BOT MANAGER]: Starting {0} bots connecting to {1}, named {2} {3}_",
+ botcount,
+ loginUri,
+ firstName,
+ lastNameStem);
+
+ MainConsole.Instance.OutputFormat("[BOT MANAGER]: Delay between logins is {0}ms", LoginDelay);
+
for (int i = 0; i < botcount; i++)
{
string lastName = string.Format("{0}_{1}", lastNameStem, i);
+ // We must give each bot its own list of instantiated behaviours since they store state.
List behaviours = new List();
-
+
// Hard-coded for now
if (behaviourSwitches.Contains("p"))
behaviours.Add(new PhysicsBehaviour());
-
+
if (behaviourSwitches.Contains("g"))
behaviours.Add(new GrabbingBehaviour());
-
+
if (behaviourSwitches.Contains("t"))
behaviours.Add(new TeleportBehaviour());
-
+
if (behaviourSwitches.Contains("c"))
behaviours.Add(new CrossBehaviour());
-
- MainConsole.Instance.OutputFormat(
- "[BOT MANAGER]: Bot {0} {1} configured for behaviours {2}",
- firstName, lastName, string.Join(",", behaviours.ConvertAll(b => b.Name).ToArray()));
StartBot(this, behaviours, firstName, lastName, password, loginUri);
}
@@ -221,6 +227,10 @@ namespace pCampBot
BotManager bm, List behaviours,
string firstName, string lastName, string password, string loginUri)
{
+ MainConsole.Instance.OutputFormat(
+ "[BOT MANAGER]: Starting bot {0} {1}, behaviours are {2}",
+ firstName, lastName, string.Join(",", behaviours.ConvertAll(b => b.Name).ToArray()));
+
Bot pb = new Bot(bm, behaviours, firstName, lastName, password, loginUri);
pb.OnConnected += handlebotEvent;
--
cgit v1.1
From 565c73751cd1ac9b09393a0801591ced04d7e635 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 18 May 2012 00:49:39 +0100
Subject: Invoke log4net configurator in pCampBot.exe in order to get OpenSim
sylte logging
---
OpenSim/Tools/pCampBot/pCampBot.cs | 3 +++
1 file changed, 3 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 52e7501..9e82577 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -29,6 +29,7 @@ using System;
using System.Reflection;
using System.Threading;
using log4net;
+using log4net.Config;
using Nini.Config;
using OpenSim.Framework;
using OpenSim.Framework.Console;
@@ -52,6 +53,8 @@ namespace pCampBot
[STAThread]
public static void Main(string[] args)
{
+ XmlConfigurator.Configure();
+
IConfig config = ParseConfig(args);
if (config.Get("help") != null || config.Get("loginuri") == null)
{
--
cgit v1.1
From c215b1ad169cb8c3add70622f610e980ee9cfa31 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 8 Jun 2012 03:53:03 +0100
Subject: If logging a client out due to ack timeout, do this asynchronously
rather than synchronously on the outgoing packet loop.
This is the same async behaviour as normal logouts.
This is necessary because the event queue will sleep the thread for 5 seconds on an ack timeout logout as the client isn't around to pick up the final event queue messages.
---
OpenSim/Tools/pCampBot/Bot.cs | 3 +++
1 file changed, 3 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index b6cd287..daaa3c0 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -480,6 +480,9 @@ namespace pCampBot
public void Objects_NewPrim(object sender, PrimEventArgs args)
{
+// if (Name.EndsWith("4"))
+// throw new Exception("Aaargh");
+
Primitive prim = args.Prim;
if (prim != null)
--
cgit v1.1
From 916e3bf886ee622e2f18d6eb74f90fee8c630471 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 11 Jul 2012 22:54:22 +0100
Subject: Where possible, use the system Encoding.ASCII and Encoding.UTF8
rather than constructing fresh copies.
The encodings are thread-safe and already used in such a manner in other places.
This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
---
OpenSim/Tools/Compiler/Program.cs | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Compiler/Program.cs b/OpenSim/Tools/Compiler/Program.cs
index 249e18b..6c59c31 100644
--- a/OpenSim/Tools/Compiler/Program.cs
+++ b/OpenSim/Tools/Compiler/Program.cs
@@ -28,6 +28,7 @@
using System;
using System.Collections.Generic;
using System.IO;
+using System.Text;
using Microsoft.CSharp;
using OpenSim.Region.ScriptEngine.Shared.CodeTools;
using System.CodeDom.Compiler;
@@ -201,12 +202,8 @@ namespace OpenSim.Tools.LSL.Compiler
// Convert to base64
//
string filetext = System.Convert.ToBase64String(data);
-
- System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
-
- Byte[] buf = enc.GetBytes(filetext);
-
- FileStream sfs = File.Create(OutFile+".text");
+ Byte[] buf = Encoding.ASCII.GetBytes(filetext);
+ FileStream sfs = File.Create(OutFile + ".text");
sfs.Write(buf, 0, buf.Length);
sfs.Close();
@@ -222,9 +219,9 @@ namespace OpenSim.Tools.LSL.Compiler
// }
// }
- buf = enc.GetBytes(posmap);
+ buf = Encoding.ASCII.GetBytes(posmap);
- FileStream mfs = File.Create(OutFile+".map");
+ FileStream mfs = File.Create(OutFile + ".map");
mfs.Write(buf, 0, buf.Length);
mfs.Close();
--
cgit v1.1
From 5f500c89ce9df27910fa6007d4d87aa238a8a2ba Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 1 Aug 2012 22:30:34 +0100
Subject: Fix a bug in pCampbot grabbing behaviour where an exception would be
thrown if the bot was not yet aware of any objects.
---
OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs | 3 +++
1 file changed, 3 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
index 701881e..66a336a 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
@@ -47,6 +47,9 @@ namespace pCampBot
{
Dictionary objects = Bot.Objects;
+ if (objects.Count <= 0)
+ return;
+
Primitive prim = objects.ElementAt(Bot.Random.Next(0, objects.Count - 1)).Value;
// This appears to be a typical message sent when a viewer user clicks a clickable object
--
cgit v1.1
From df62d113abf5d9264caca7f2e554d061c260e522 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Wed, 14 Nov 2012 21:18:18 -0800
Subject: The last few AssemblyInfos. Finished!
---
OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs | 33 ++++++++++++++++++++++
OpenSim/Tools/Configger/Properties/AssemblyInfo.cs | 33 ++++++++++++++++++++++
OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs | 33 ++++++++++++++++++++++
3 files changed, 99 insertions(+)
create mode 100644 OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/Tools/Configger/Properties/AssemblyInfo.cs
create mode 100644 OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..e1a1fda
--- /dev/null
+++ b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+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.Tools.lslc")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("http://opensimulator.org")]
+[assembly: AssemblyProduct("OpenSim")]
+[assembly: AssemblyCopyright("OpenSimulator developers")]
+[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("002864e7-b2a2-41d2-add8-82f653663160")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("0.7.5.*")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..62a2f2d
--- /dev/null
+++ b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+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.Tools.Configger")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("http://opensimulator.org")]
+[assembly: AssemblyProduct("OpenSim")]
+[assembly: AssemblyCopyright("OpenSimulator developers")]
+[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("67d7fdf2-554c-40f0-8f9d-f71373c20926")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("0.7.5.*")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..20598f1
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+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("pCampBot")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("http://opensimulator.org")]
+[assembly: AssemblyProduct("OpenSim")]
+[assembly: AssemblyCopyright("OpenSimulator developers")]
+[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("84a69c60-76d3-4846-bd5b-0e1083774039")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+[assembly: AssemblyVersion("0.7.5.*")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
--
cgit v1.1
From 1f1da230976451d30d920c237d53c699ba96b9d9 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 5 Feb 2013 00:23:17 +0000
Subject: Bump version and assembly version numbers from 0.7.5 to 0.7.6
This is mostly Bluewall's work but I am also bumping the general version number
OpenSimulator 0.7.5 remains in the release candidate stage.
I'm doing this because master is significantly adding things that will not be in 0.7.5
This update should not cause issues with existing external binary DLLs because our DLLs do not have strong names
and so the exact version match requirement is not in force.
---
OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs | 2 +-
OpenSim/Tools/Configger/Properties/AssemblyInfo.cs | 2 +-
OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs
index e1a1fda..b98e2d2 100644
--- a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("0.7.5.*")]
+[assembly: AssemblyVersion("0.7.6.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs
index 62a2f2d..89aafa3 100644
--- a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("0.7.5.*")]
+[assembly: AssemblyVersion("0.7.6.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs
index 20598f1..c4d278a 100644
--- a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("0.7.5.*")]
+[assembly: AssemblyVersion("0.7.6.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]
--
cgit v1.1
From 4779f7d7d5ce0e284d9ed15104389f8479b11545 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Tue, 19 Feb 2013 17:14:55 -0800
Subject: Deleted all AssemblyFileVersion directives
---
OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs | 2 +-
OpenSim/Tools/Configger/Properties/AssemblyInfo.cs | 2 +-
OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs
index b98e2d2..088be45 100644
--- a/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/Compiler/Properties/AssemblyInfo.cs
@@ -30,4 +30,4 @@ using System.Runtime.InteropServices;
// Revision
//
[assembly: AssemblyVersion("0.7.6.*")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+
diff --git a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs
index 89aafa3..0348628 100644
--- a/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/Configger/Properties/AssemblyInfo.cs
@@ -30,4 +30,4 @@ using System.Runtime.InteropServices;
// Revision
//
[assembly: AssemblyVersion("0.7.6.*")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+
diff --git a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs
index c4d278a..78f3603 100644
--- a/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs
+++ b/OpenSim/Tools/pCampBot/Properties/AssemblyInfo.cs
@@ -30,4 +30,4 @@ using System.Runtime.InteropServices;
// Revision
//
[assembly: AssemblyVersion("0.7.6.*")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+
--
cgit v1.1
From 5f4c4df227025c6b6156ce8238b56553dca4b5ae Mon Sep 17 00:00:00 2001
From: Melanie
Date: Tue, 26 Mar 2013 03:40:06 +0000
Subject: Phase 1 of implementing a transfer permission. Overwrite libOMV's
PermissionMask with our own and add export permissions as well as a new
definition for "All" as meaning "all conventional permissions" rather than
"all possible permissions"
---
OpenSim/Tools/pCampBot/Bot.cs | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index daaa3c0..9821180 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -40,6 +40,7 @@ using OpenSim.Framework;
using OpenSim.Framework.Console;
using pCampBot.Interfaces;
using Timer = System.Timers.Timer;
+using PermissionMask = OpenSim.Framework.PermissionMask;
namespace pCampBot
{
@@ -362,7 +363,7 @@ namespace pCampBot
asset.Encode();
transid = Client.Assets.RequestUpload(asset,true);
Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyClothing" + i.ToString(), "MyClothing", AssetType.Clothing,
- transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
+ transid, InventoryType.Wearable, asset.WearableType, (OpenMetaverse.PermissionMask)PermissionMask.All, delegate(bool success, InventoryItem item)
{
if (success)
{
@@ -386,7 +387,7 @@ namespace pCampBot
asset.Encode();
transid = Client.Assets.RequestUpload(asset,true);
Client.Inventory.RequestCreateItem(clothfolder.UUID, "MyBodyPart" + i.ToString(), "MyBodyPart", AssetType.Bodypart,
- transid, InventoryType.Wearable, asset.WearableType, PermissionMask.All, delegate(bool success, InventoryItem item)
+ transid, InventoryType.Wearable, asset.WearableType, (OpenMetaverse.PermissionMask)PermissionMask.All, delegate(bool success, InventoryItem item)
{
if (success)
{
--
cgit v1.1
From 3194ffdab8d54723ad1546846c1d45472d6a8464 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Wed, 7 Aug 2013 08:01:59 -0700
Subject: Fixed incomplete commit r/23317 -- see_into_region. Put the guard
around estate bans also, and delete the obsolete config var.
---
OpenSim/Tools/Configger/ConfigurationLoader.cs | 1 -
1 file changed, 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/Configger/ConfigurationLoader.cs b/OpenSim/Tools/Configger/ConfigurationLoader.cs
index 28bcc99..72ba185 100644
--- a/OpenSim/Tools/Configger/ConfigurationLoader.cs
+++ b/OpenSim/Tools/Configger/ConfigurationLoader.cs
@@ -239,7 +239,6 @@ namespace OpenSim.Tools.Configger
config.Set("physics", "OpenDynamicsEngine");
config.Set("meshing", "Meshmerizer");
config.Set("physical_prim", true);
- config.Set("see_into_this_sim_from_neighbor", true);
config.Set("serverside_object_permissions", true);
config.Set("storage_plugin", "OpenSim.Data.SQLite.dll");
config.Set("storage_connection_string", "URI=file:OpenSim.db,version=3");
--
cgit v1.1
From e5b1688913d0fb9e72f67d0b476778a733ddb4b5 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 12 Aug 2013 18:48:18 +0100
Subject: Add none behaviour to pCampbot when one wants bots to just stand
around
---
OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs | 43 ++++++++++++++++++++++
OpenSim/Tools/pCampBot/BotManager.cs | 17 +++++----
OpenSim/Tools/pCampBot/pCampBot.cs | 7 ++--
3 files changed, 57 insertions(+), 10 deletions(-)
create mode 100644 OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs
new file mode 100644
index 0000000..9cf8a54
--- /dev/null
+++ b/OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs
@@ -0,0 +1,43 @@
+/*
+ * 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 OpenSimulator 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 OpenMetaverse;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using pCampBot.Interfaces;
+
+namespace pCampBot
+{
+ ///
+ /// Do nothing
+ ///
+ public class NoneBehaviour : AbstractBehaviour
+ {
+ public NoneBehaviour() { Name = "None"; }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index d615b3f..1a46380 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -177,18 +177,21 @@ namespace pCampBot
// We must give each bot its own list of instantiated behaviours since they store state.
List behaviours = new List();
- // Hard-coded for now
- if (behaviourSwitches.Contains("p"))
- behaviours.Add(new PhysicsBehaviour());
-
+ // Hard-coded for now
+ if (behaviourSwitches.Contains("c"))
+ behaviours.Add(new CrossBehaviour());
+
if (behaviourSwitches.Contains("g"))
behaviours.Add(new GrabbingBehaviour());
+
+ if (behaviourSwitches.Contains("n"))
+ behaviours.Add(new NoneBehaviour());
+
+ if (behaviourSwitches.Contains("p"))
+ behaviours.Add(new PhysicsBehaviour());
if (behaviourSwitches.Contains("t"))
behaviours.Add(new TeleportBehaviour());
-
- if (behaviourSwitches.Contains("c"))
- behaviours.Add(new CrossBehaviour());
StartBot(this, behaviours, firstName, lastName, password, loginUri);
}
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 9e82577..2707a49 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -123,9 +123,10 @@ namespace pCampBot
" -password password for the bots\n" +
" -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n" +
" current options are:\n" +
- " p (physics)\n" +
- " g (grab)\n" +
- " t (teleport)\n" +
+ " p (physics - bots constantly move and jump around)\n" +
+ " g (grab - bots randomly click prims whether set clickable or not)\n" +
+ " n (none - bots do nothing)\n" +
+ " t (teleport - bots regularly teleport between regions on the grid)\n" +
// " c (cross)" +
" -wear set appearance folder to load from (default: no)\n" +
" -h, -help show this message");
--
cgit v1.1
From c49ea491a3d081ff788cc33ca29030690db3a939 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 12 Aug 2013 22:49:17 +0100
Subject: Make show bots pCampbot console command print connected, connecting,
etc. bot totals at end.
---
OpenSim/Tools/pCampBot/BotManager.cs | 13 +++++++++++++
1 file changed, 13 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 1a46380..74bd36a 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -330,17 +330,30 @@ namespace pCampBot
string outputFormat = "{0,-30} {1, -30} {2,-14}";
MainConsole.Instance.OutputFormat(outputFormat, "Name", "Region", "Status");
+ Dictionary totals = new Dictionary();
+ foreach (object o in Enum.GetValues(typeof(ConnectionState)))
+ totals[(ConnectionState)o] = 0;
+
lock (m_lBot)
{
foreach (Bot pb in m_lBot)
{
Simulator currentSim = pb.Client.Network.CurrentSim;
+ totals[pb.ConnectionState]++;
MainConsole.Instance.OutputFormat(
outputFormat,
pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState);
}
}
+
+ ConsoleDisplayList cdl = new ConsoleDisplayList();
+
+ foreach (KeyValuePair kvp in totals)
+ cdl.AddRow(kvp.Key, kvp.Value);
+
+
+ MainConsole.Instance.OutputFormat("\n{0}", cdl.ToString());
}
/*
--
cgit v1.1
From 5933f9448d839b9f6db391dedc493bb5cc951d66 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 13 Aug 2013 23:54:50 +0100
Subject: Add a SendAgentUpdates setting to a new pCampbot.ini.example file
which can control whether bots send agent updates
pCampbot.ini.example is used by copying to pCampbot.ini, like other ini files
---
OpenSim/Tools/pCampBot/Bot.cs | 20 +-------------------
OpenSim/Tools/pCampBot/BotManager.cs | 35 ++++++++++++++++++++---------------
OpenSim/Tools/pCampBot/pCampBot.cs | 35 +++++++++++++++++++++++++++++------
3 files changed, 50 insertions(+), 40 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 9821180..c56d29b 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -64,11 +64,6 @@ namespace pCampBot
public BotManager Manager { get; private set; }
///
- /// Bot config, passed from BotManager.
- ///
- private IConfig startupConfig;
-
- ///
/// Behaviours implemented by this bot.
///
///
@@ -153,9 +148,6 @@ namespace pCampBot
LoginUri = loginUri;
Manager = bm;
- startupConfig = bm.Config;
- readconfig();
-
Behaviours = behaviours;
}
@@ -177,14 +169,6 @@ namespace pCampBot
}
///
- /// Read the Nini config and initialize
- ///
- public void readconfig()
- {
- wear = startupConfig.GetString("wear", "no");
- }
-
- ///
/// Tells LibSecondLife to logout and disconnect. Raises the disconnect events once it finishes.
///
public void shutdown()
@@ -207,6 +191,7 @@ namespace pCampBot
Client.Settings.AVATAR_TRACKING = false;
Client.Settings.OBJECT_TRACKING = false;
Client.Settings.SEND_AGENT_THROTTLE = true;
+ Client.Settings.SEND_AGENT_UPDATES = false;
Client.Settings.SEND_PINGS = true;
Client.Settings.STORE_LAND_PATCHES = false;
Client.Settings.USE_ASSET_CACHE = false;
@@ -481,9 +466,6 @@ namespace pCampBot
public void Objects_NewPrim(object sender, PrimEventArgs args)
{
-// if (Name.EndsWith("4"))
-// throw new Exception("Aaargh");
-
Primitive prim = args.Prim;
if (prim != null)
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 74bd36a..16b02b9 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -63,6 +63,11 @@ namespace pCampBot
protected CommandConsole m_console;
///
+ /// Controls whether bots start out sending agent updates on connection.
+ ///
+ public bool BotsInitSendAgentUpdates { get; set; }
+
+ ///
/// Created bots, whether active or inactive.
///
protected List m_lBot;
@@ -73,11 +78,6 @@ namespace pCampBot
public Random Rng { get; private set; }
///
- /// Overall configuration.
- ///
- public IConfig Config { get; private set; }
-
- ///
/// Track the assets we have and have not received so we don't endlessly repeat requests.
///
public Dictionary AssetsReceived { get; private set; }
@@ -92,6 +92,8 @@ namespace pCampBot
///
public BotManager()
{
+ BotsInitSendAgentUpdates = true;
+
LoginDelay = DefaultLoginDelay;
Rng = new Random(Environment.TickCount);
@@ -148,18 +150,17 @@ namespace pCampBot
///
/// How many bots to start up
/// The configuration for the bots to use
- public void dobotStartup(int botcount, IConfig cs)
+ public void dobotStartup(int botcount, IConfig startupConfig)
{
- Config = cs;
-
- string firstName = cs.GetString("firstname");
- string lastNameStem = cs.GetString("lastname");
- string password = cs.GetString("password");
- string loginUri = cs.GetString("loginuri");
+ string firstName = startupConfig.GetString("firstname");
+ string lastNameStem = startupConfig.GetString("lastname");
+ string password = startupConfig.GetString("password");
+ string loginUri = startupConfig.GetString("loginuri");
+ string wearSetting = startupConfig.GetString("wear", "no");
HashSet behaviourSwitches = new HashSet();
Array.ForEach(
- cs.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b));
+ startupConfig.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b));
MainConsole.Instance.OutputFormat(
"[BOT MANAGER]: Starting {0} bots connecting to {1}, named {2} {3}_",
@@ -169,6 +170,7 @@ namespace pCampBot
lastNameStem);
MainConsole.Instance.OutputFormat("[BOT MANAGER]: Delay between logins is {0}ms", LoginDelay);
+ MainConsole.Instance.OutputFormat("[BOT MANAGER]: BotsSendAgentUpdates is {0}", BotsInitSendAgentUpdates);
for (int i = 0; i < botcount; i++)
{
@@ -193,7 +195,7 @@ namespace pCampBot
if (behaviourSwitches.Contains("t"))
behaviours.Add(new TeleportBehaviour());
- StartBot(this, behaviours, firstName, lastName, password, loginUri);
+ StartBot(this, behaviours, firstName, lastName, password, loginUri, wearSetting);
}
}
@@ -226,15 +228,18 @@ namespace pCampBot
/// Last name
/// Password
/// Login URI
+ ///
public void StartBot(
BotManager bm, List behaviours,
- string firstName, string lastName, string password, string loginUri)
+ string firstName, string lastName, string password, string loginUri, string wearSetting)
{
MainConsole.Instance.OutputFormat(
"[BOT MANAGER]: Starting bot {0} {1}, behaviours are {2}",
firstName, lastName, string.Join(",", behaviours.ConvertAll(b => b.Name).ToArray()));
Bot pb = new Bot(bm, behaviours, firstName, lastName, password, loginUri);
+ pb.wear = wearSetting;
+ pb.Client.Settings.SEND_AGENT_UPDATES = BotsInitSendAgentUpdates;
pb.OnConnected += handlebotEvent;
pb.OnDisconnected += handlebotEvent;
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 2707a49..e43037d 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -26,6 +26,7 @@
*/
using System;
+using System.IO;
using System.Reflection;
using System.Threading;
using log4net;
@@ -50,28 +51,50 @@ namespace pCampBot
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
+ public const string ConfigFileName = "pCampbot.ini";
+
[STAThread]
public static void Main(string[] args)
{
XmlConfigurator.Configure();
- IConfig config = ParseConfig(args);
- if (config.Get("help") != null || config.Get("loginuri") == null)
+ IConfig commandLineConfig = ParseConfig(args);
+ if (commandLineConfig.Get("help") != null || commandLineConfig.Get("loginuri") == null)
{
Help();
}
- else if (config.Get("firstname") == null || config.Get("lastname") == null || config.Get("password") == null)
+ else if (
+ commandLineConfig.Get("firstname") == null
+ || commandLineConfig.Get("lastname") == null
+ || commandLineConfig.Get("password") == null)
{
Console.WriteLine("ERROR: You must supply a firstname, lastname and password for the bots.");
}
else
{
- int botcount = config.GetInt("botcount", 1);
-
BotManager bm = new BotManager();
+ string iniFilePath = Path.GetFullPath(Path.Combine(Util.configDir(), ConfigFileName));
+
+ if (File.Exists(iniFilePath))
+ {
+ m_log.InfoFormat("[PCAMPBOT]: Reading configuration settings from {0}", iniFilePath);
+
+ IConfigSource configSource = new IniConfigSource(iniFilePath);
+
+ IConfig botConfig = configSource.Configs["Bot"];
+
+ if (botConfig != null)
+ {
+ bm.BotsInitSendAgentUpdates
+ = botConfig.GetBoolean("SendAgentUpdates", bm.BotsInitSendAgentUpdates);
+ }
+ }
+
+ int botcount = commandLineConfig.GetInt("botcount", 1);
+
//startup specified number of bots. 1 is the default
- Thread startBotThread = new Thread(o => bm.dobotStartup(botcount, config));
+ Thread startBotThread = new Thread(o => bm.dobotStartup(botcount, commandLineConfig));
startBotThread.Name = "Initial start bots thread";
startBotThread.Start();
--
cgit v1.1
From 2146b201694a128764e66680d151b68d83610880 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 14 Aug 2013 16:51:51 +0100
Subject: Add the ability to explicitly specify a login start location to
pCampbot via the -start parameter
---
OpenSim/Tools/pCampBot/Bot.cs | 7 +++--
OpenSim/Tools/pCampBot/BotManager.cs | 60 +++++++++++++++++++++++++++++++-----
OpenSim/Tools/pCampBot/pCampBot.cs | 36 ++++++++++++----------
3 files changed, 76 insertions(+), 27 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index c56d29b..79344e8 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -97,6 +97,8 @@ namespace pCampBot
public string Name { get; private set; }
public string Password { get; private set; }
public string LoginUri { get; private set; }
+ public string StartLocation { get; private set; }
+
public string saveDir;
public string wear;
@@ -132,7 +134,7 @@ namespace pCampBot
///
public Bot(
BotManager bm, List behaviours,
- string firstName, string lastName, string password, string loginUri)
+ string firstName, string lastName, string password, string startLocation, string loginUri)
{
ConnectionState = ConnectionState.Disconnected;
@@ -146,6 +148,7 @@ namespace pCampBot
Name = string.Format("{0} {1}", FirstName, LastName);
Password = password;
LoginUri = loginUri;
+ StartLocation = startLocation;
Manager = bm;
Behaviours = behaviours;
@@ -209,7 +212,7 @@ namespace pCampBot
ConnectionState = ConnectionState.Connecting;
- if (Client.Network.Login(FirstName, LastName, Password, "pCampBot", "Your name"))
+ if (Client.Network.Login(FirstName, LastName, Password, "pCampBot", StartLocation, "Your name"))
{
ConnectionState = ConnectionState.Connected;
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 16b02b9..57bd737 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -65,7 +65,7 @@ namespace pCampBot
///
/// Controls whether bots start out sending agent updates on connection.
///
- public bool BotsInitSendAgentUpdates { get; set; }
+ public bool InitBotSendAgentUpdates { get; set; }
///
/// Created bots, whether active or inactive.
@@ -92,7 +92,7 @@ namespace pCampBot
///
public BotManager()
{
- BotsInitSendAgentUpdates = true;
+ InitBotSendAgentUpdates = true;
LoginDelay = DefaultLoginDelay;
@@ -156,21 +156,25 @@ namespace pCampBot
string lastNameStem = startupConfig.GetString("lastname");
string password = startupConfig.GetString("password");
string loginUri = startupConfig.GetString("loginuri");
+ string startLocation = startupConfig.GetString("start", "last");
string wearSetting = startupConfig.GetString("wear", "no");
+ string startUri = ParseInputStartLocationToUri(startLocation);
+
HashSet behaviourSwitches = new HashSet();
Array.ForEach(
startupConfig.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b));
MainConsole.Instance.OutputFormat(
- "[BOT MANAGER]: Starting {0} bots connecting to {1}, named {2} {3}_",
+ "[BOT MANAGER]: Starting {0} bots connecting to {1}, location {2}, named {3} {4}_",
botcount,
loginUri,
+ startUri,
firstName,
lastNameStem);
MainConsole.Instance.OutputFormat("[BOT MANAGER]: Delay between logins is {0}ms", LoginDelay);
- MainConsole.Instance.OutputFormat("[BOT MANAGER]: BotsSendAgentUpdates is {0}", BotsInitSendAgentUpdates);
+ MainConsole.Instance.OutputFormat("[BOT MANAGER]: BotsSendAgentUpdates is {0}", InitBotSendAgentUpdates);
for (int i = 0; i < botcount; i++)
{
@@ -195,8 +199,47 @@ namespace pCampBot
if (behaviourSwitches.Contains("t"))
behaviours.Add(new TeleportBehaviour());
- StartBot(this, behaviours, firstName, lastName, password, loginUri, wearSetting);
+ StartBot(this, behaviours, firstName, lastName, password, loginUri, startUri, wearSetting);
+ }
+ }
+
+ ///
+ /// Parses the command line start location to a start string/uri that the login mechanism will recognize.
+ ///
+ ///
+ /// The input start location to URI.
+ ///
+ ///
+ /// Start location.
+ ///
+ private string ParseInputStartLocationToUri(string startLocation)
+ {
+ if (startLocation == "home" || startLocation == "last")
+ return startLocation;
+
+ string regionName;
+
+ // Just a region name or only one (!) extra component. Like a viewer, we will stick 128/128/0 on the end
+ Vector3 startPos = new Vector3(128, 128, 0);
+
+ string[] startLocationComponents = startLocation.Split('/');
+
+ regionName = startLocationComponents[0];
+
+ if (startLocationComponents.Length >= 2)
+ {
+ float.TryParse(startLocationComponents[1], out startPos.X);
+
+ if (startLocationComponents.Length >= 3)
+ {
+ float.TryParse(startLocationComponents[2], out startPos.Y);
+
+ if (startLocationComponents.Length >= 4)
+ float.TryParse(startLocationComponents[3], out startPos.Z);
+ }
}
+
+ return string.Format("uri:{0}&{1}&{2}&{3}", regionName, startPos.X, startPos.Y, startPos.Z);
}
// ///
@@ -228,18 +271,19 @@ namespace pCampBot
/// Last name
/// Password
/// Login URI
+ /// Location to start the bot. Can be "last", "home" or a specific sim name.
///
public void StartBot(
BotManager bm, List behaviours,
- string firstName, string lastName, string password, string loginUri, string wearSetting)
+ string firstName, string lastName, string password, string loginUri, string startLocation, string wearSetting)
{
MainConsole.Instance.OutputFormat(
"[BOT MANAGER]: Starting bot {0} {1}, behaviours are {2}",
firstName, lastName, string.Join(",", behaviours.ConvertAll(b => b.Name).ToArray()));
- Bot pb = new Bot(bm, behaviours, firstName, lastName, password, loginUri);
+ Bot pb = new Bot(bm, behaviours, firstName, lastName, password, startLocation, loginUri);
pb.wear = wearSetting;
- pb.Client.Settings.SEND_AGENT_UPDATES = BotsInitSendAgentUpdates;
+ pb.Client.Settings.SEND_AGENT_UPDATES = InitBotSendAgentUpdates;
pb.OnConnected += handlebotEvent;
pb.OnDisconnected += handlebotEvent;
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index e43037d..9c9ed3b 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -86,8 +86,8 @@ namespace pCampBot
if (botConfig != null)
{
- bm.BotsInitSendAgentUpdates
- = botConfig.GetBoolean("SendAgentUpdates", bm.BotsInitSendAgentUpdates);
+ bm.InitBotSendAgentUpdates
+ = botConfig.GetBoolean("SendAgentUpdates", bm.InitBotSendAgentUpdates);
}
}
@@ -119,6 +119,7 @@ namespace pCampBot
cs.AddSwitch("Startup", "botcount", "n");
cs.AddSwitch("Startup", "loginuri", "l");
+ cs.AddSwitch("Startup", "start", "s");
cs.AddSwitch("Startup", "firstname");
cs.AddSwitch("Startup", "lastname");
cs.AddSwitch("Startup", "password");
@@ -137,22 +138,23 @@ namespace pCampBot
// name, to load an specific folder, or save, to save an avatar with some already existing wearables
// worn to the folder MyAppearance/FirstName_LastName, and the load it.
Console.WriteLine(
- "usage: pCampBot <-loginuri loginuri> [OPTIONS]\n" +
- "Spawns a set of bots to test an OpenSim region\n\n" +
- " -l, -loginuri loginuri for sim to log into (required)\n" +
- " -n, -botcount number of bots to start (default: 1)\n" +
- " -firstname first name for the bots\n" +
- " -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n" +
- " -password password for the bots\n" +
- " -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n" +
- " current options are:\n" +
- " p (physics - bots constantly move and jump around)\n" +
- " g (grab - bots randomly click prims whether set clickable or not)\n" +
- " n (none - bots do nothing)\n" +
- " t (teleport - bots regularly teleport between regions on the grid)\n" +
+ "usage: pCampBot <-loginuri loginuri> [OPTIONS]\n"
+ + "Spawns a set of bots to test an OpenSim region\n\n"
+ + " -l, -loginuri loginuri for grid/standalone (required)\n"
+ + " -s, -start start location for bots. Can be \"last\", \"home\" or a specific location with or without co-ords (e.g. \"region1\" or \"region2/50/30/90\"\n"
+ + " -n, -botcount number of bots to start (default: 1)\n"
+ + " -firstname first name for the bots\n"
+ + " -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n"
+ + " -password password for the bots\n"
+ + " -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n"
+ + " current options are:\n"
+ + " p (physics - bots constantly move and jump around)\n"
+ + " g (grab - bots randomly click prims whether set clickable or not)\n"
+ + " n (none - bots do nothing)\n"
+ + " t (teleport - bots regularly teleport between regions on the grid)\n"
// " c (cross)" +
- " -wear set appearance folder to load from (default: no)\n" +
- " -h, -help show this message");
+ + " -wear set appearance folder to load from (default: no)\n"
+ + " -h, -help show this message.\n");
}
}
}
--
cgit v1.1
From 3a62f39044403e7bf453c7b5b1fe825a48e908f3 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 14 Aug 2013 18:26:11 +0100
Subject: Add a -form switch to pCampbot to allow one to login a sequence of
bots starting from numbers other than 0
---
OpenSim/Tools/pCampBot/BotManager.cs | 3 ++-
OpenSim/Tools/pCampBot/pCampBot.cs | 9 ++++++---
2 files changed, 8 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 57bd737..0fdfa0e 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -157,6 +157,7 @@ namespace pCampBot
string password = startupConfig.GetString("password");
string loginUri = startupConfig.GetString("loginuri");
string startLocation = startupConfig.GetString("start", "last");
+ int fromBotNumber = startupConfig.GetInt("from", 0);
string wearSetting = startupConfig.GetString("wear", "no");
string startUri = ParseInputStartLocationToUri(startLocation);
@@ -178,7 +179,7 @@ namespace pCampBot
for (int i = 0; i < botcount; i++)
{
- string lastName = string.Format("{0}_{1}", lastNameStem, i);
+ string lastName = string.Format("{0}_{1}", lastNameStem, i + fromBotNumber);
// We must give each bot its own list of instantiated behaviours since they store state.
List behaviours = new List();
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index 9c9ed3b..c8b6304 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -118,6 +118,7 @@ namespace pCampBot
ArgvConfigSource cs = new ArgvConfigSource(args);
cs.AddSwitch("Startup", "botcount", "n");
+ cs.AddSwitch("Startup", "from", "f");
cs.AddSwitch("Startup", "loginuri", "l");
cs.AddSwitch("Startup", "start", "s");
cs.AddSwitch("Startup", "firstname");
@@ -137,15 +138,17 @@ namespace pCampBot
// You can either say no, to not load anything, yes, to load one of the default wearables, a folder
// name, to load an specific folder, or save, to save an avatar with some already existing wearables
// worn to the folder MyAppearance/FirstName_LastName, and the load it.
+
Console.WriteLine(
"usage: pCampBot <-loginuri loginuri> [OPTIONS]\n"
+ "Spawns a set of bots to test an OpenSim region\n\n"
+ " -l, -loginuri loginuri for grid/standalone (required)\n"
- + " -s, -start start location for bots. Can be \"last\", \"home\" or a specific location with or without co-ords (e.g. \"region1\" or \"region2/50/30/90\"\n"
- + " -n, -botcount number of bots to start (default: 1)\n"
+ + " -s, -start optional start location for bots. Can be \"last\", \"home\" or a specific location with or without co-ords (e.g. \"region1\" or \"region2/50/30/90\"\n"
+ " -firstname first name for the bots\n"
+ " -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n"
+ " -password password for the bots\n"
+ + " -n, -botcount optional number of bots to start (default: 1)\n"
+ + " -f, -from optional starting number for login bot names, e.g. 25 will login Ima Bot_25, Ima Bot_26, etc. (default: 0)"
+ " -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n"
+ " current options are:\n"
+ " p (physics - bots constantly move and jump around)\n"
@@ -153,7 +156,7 @@ namespace pCampBot
+ " n (none - bots do nothing)\n"
+ " t (teleport - bots regularly teleport between regions on the grid)\n"
// " c (cross)" +
- + " -wear set appearance folder to load from (default: no)\n"
+ + " -wear optional folder from which to load appearance data, \"no\" if there is no such folder (default: no)\n"
+ " -h, -help show this message.\n");
}
}
--
cgit v1.1
From 97c514daa5a3b4e4137bf01b7bee3fffc13a75d7 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 14 Aug 2013 19:21:07 +0100
Subject: Shutdown a bot's actions by making it check for disconnecting state
rather than aborting the thread.
Aborting the thread appears to be causing shutdown issues.
---
OpenSim/Tools/pCampBot/Bot.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 79344e8..dac8ccb 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -158,7 +158,7 @@ namespace pCampBot
//add additional steps and/or things the bot should do
private void Action()
{
- while (true)
+ while (ConnectionState != ConnectionState.Disconnecting)
lock (Behaviours)
Behaviours.ForEach(
b =>
@@ -178,8 +178,8 @@ namespace pCampBot
{
ConnectionState = ConnectionState.Disconnecting;
- if (m_actionThread != null)
- m_actionThread.Abort();
+// if (m_actionThread != null)
+// m_actionThread.Abort();
Client.Network.Logout();
}
--
cgit v1.1
From 225cf0d0102d05721bd01120928b9d1d85c811a7 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 14 Aug 2013 19:53:10 +0100
Subject: Add pCampbot RequestObjectTextures ini setting to control whether
textures are requested for received objects.
---
OpenSim/Tools/pCampBot/BotManager.cs | 7 +++++++
OpenSim/Tools/pCampBot/pCampBot.cs | 2 ++
2 files changed, 9 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 0fdfa0e..5988584 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -68,6 +68,11 @@ namespace pCampBot
public bool InitBotSendAgentUpdates { get; set; }
///
+ /// Controls whether bots request textures for the object information they receive
+ ///
+ public bool InitBotRequestObjectTextures { get; set; }
+
+ ///
/// Created bots, whether active or inactive.
///
protected List m_lBot;
@@ -93,6 +98,7 @@ namespace pCampBot
public BotManager()
{
InitBotSendAgentUpdates = true;
+ InitBotRequestObjectTextures = true;
LoginDelay = DefaultLoginDelay;
@@ -176,6 +182,7 @@ namespace pCampBot
MainConsole.Instance.OutputFormat("[BOT MANAGER]: Delay between logins is {0}ms", LoginDelay);
MainConsole.Instance.OutputFormat("[BOT MANAGER]: BotsSendAgentUpdates is {0}", InitBotSendAgentUpdates);
+ MainConsole.Instance.OutputFormat("[BOT MANAGER]: InitBotRequestObjectTextures is {0}", InitBotRequestObjectTextures);
for (int i = 0; i < botcount; i++)
{
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index c8b6304..b02f917 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -88,6 +88,8 @@ namespace pCampBot
{
bm.InitBotSendAgentUpdates
= botConfig.GetBoolean("SendAgentUpdates", bm.InitBotSendAgentUpdates);
+ bm.InitBotRequestObjectTextures
+ = botConfig.GetBoolean("RequestObjectTextures", bm.InitBotRequestObjectTextures);
}
}
--
cgit v1.1
From 2c67aa0f41193bf2271b75f060093f44819cdeae Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 14 Aug 2013 21:07:29 +0100
Subject: If pCampbot has been asked to shutdown, don't carry on logging in
queued bots
---
OpenSim/Tools/pCampBot/BotManager.cs | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 5988584..397a98e 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -52,6 +52,11 @@ namespace pCampBot
public const int DefaultLoginDelay = 5000;
///
+ /// True if pCampbot is in the process of shutting down.
+ ///
+ public bool ShuttingDown { get; private set; }
+
+ ///
/// Delay between logins of multiple bots.
///
/// TODO: This value needs to be configurable by a command line argument.
@@ -186,6 +191,9 @@ namespace pCampBot
for (int i = 0; i < botcount; i++)
{
+ if (ShuttingDown)
+ break;
+
string lastName = string.Format("{0}_{1}", lastNameStem, i + fromBotNumber);
// We must give each bot its own list of instantiated behaviours since they store state.
@@ -363,7 +371,9 @@ namespace pCampBot
private void HandleShutdown(string module, string[] cmd)
{
- m_log.Info("[BOTMANAGER]: Shutting down bots");
+ MainConsole.Instance.Output("Shutting down");
+
+ ShuttingDown = true;
doBotShutdown();
}
--
cgit v1.1
From 5011c657b5b8127927c75c4e1db496c15a394b3a Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 14 Aug 2013 23:37:07 +0100
Subject: Actually implement the bot request object textures switch started in
225cf0d.
Forgot to propogate it down to bot level.
---
OpenSim/Tools/pCampBot/Bot.cs | 8 ++++++++
OpenSim/Tools/pCampBot/BotManager.cs | 1 +
2 files changed, 9 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index dac8ccb..32bf32b 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -59,6 +59,11 @@ namespace pCampBot
public delegate void AnEvent(Bot callbot, EventType someevent); // event delegate for bot events
///
+ /// Controls whether bots request textures for the object information they receive
+ ///
+ public bool RequestObjectTextures { get; set; }
+
+ ///
/// Bot manager.
///
public BotManager Manager { get; private set; }
@@ -469,6 +474,9 @@ namespace pCampBot
public void Objects_NewPrim(object sender, PrimEventArgs args)
{
+ if (!RequestObjectTextures)
+ return;
+
Primitive prim = args.Prim;
if (prim != null)
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 397a98e..dee02c3 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -300,6 +300,7 @@ namespace pCampBot
Bot pb = new Bot(bm, behaviours, firstName, lastName, password, startLocation, loginUri);
pb.wear = wearSetting;
pb.Client.Settings.SEND_AGENT_UPDATES = InitBotSendAgentUpdates;
+ pb.RequestObjectTextures = InitBotRequestObjectTextures;
pb.OnConnected += handlebotEvent;
pb.OnDisconnected += handlebotEvent;
--
cgit v1.1
From a90a5f52dd5f053a83a09fdd70ca08148ef641ce Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 19 Aug 2013 19:38:20 +0100
Subject: Show number of connections each bot has established in "show bots"
command.
---
OpenSim/Tools/pCampBot/Bot.cs | 15 ++++++++++++++-
OpenSim/Tools/pCampBot/BotManager.cs | 17 ++++++++++-------
2 files changed, 24 insertions(+), 8 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 32bf32b..be7a5a1 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -97,6 +97,19 @@ namespace pCampBot
///
public ConnectionState ConnectionState { get; private set; }
+ ///
+ /// The number of connections that this bot has to different simulators.
+ ///
+ /// Includes both root and child connections.
+ public int ConnectionsCount
+ {
+ get
+ {
+ lock (Client.Network.Simulators)
+ return Client.Network.Simulators.Count;
+ }
+ }
+
public string FirstName { get; private set; }
public string LastName { get; private set; }
public string Name { get; private set; }
@@ -144,7 +157,7 @@ namespace pCampBot
ConnectionState = ConnectionState.Disconnected;
behaviours.ForEach(b => b.Initialize(this));
-
+
Client = new GridClient();
Random = new Random(Environment.TickCount);// We do stuff randomly here
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index dee02c3..8f31bdf 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -395,8 +395,11 @@ namespace pCampBot
private void HandleShowStatus(string module, string[] cmd)
{
- string outputFormat = "{0,-30} {1, -30} {2,-14}";
- MainConsole.Instance.OutputFormat(outputFormat, "Name", "Region", "Status");
+ ConsoleDisplayTable cdt = new ConsoleDisplayTable();
+ cdt.AddColumn("Name", 30);
+ cdt.AddColumn("Region", 30);
+ cdt.AddColumn("Status", 14);
+ cdt.AddColumn("Connections", 11);
Dictionary totals = new Dictionary();
foreach (object o in Enum.GetValues(typeof(ConnectionState)))
@@ -409,19 +412,19 @@ namespace pCampBot
Simulator currentSim = pb.Client.Network.CurrentSim;
totals[pb.ConnectionState]++;
- MainConsole.Instance.OutputFormat(
- outputFormat,
- pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState);
+ cdt.AddRow(
+ pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState, pb.ConnectionsCount);
}
}
+ MainConsole.Instance.Output(cdt.ToString());
+
ConsoleDisplayList cdl = new ConsoleDisplayList();
foreach (KeyValuePair kvp in totals)
cdl.AddRow(kvp.Key, kvp.Value);
-
- MainConsole.Instance.OutputFormat("\n{0}", cdl.ToString());
+ MainConsole.Instance.Output(cdl.ToString());
}
/*
--
cgit v1.1
From 49b7cbda72cdaae8b5a7a89c94915851997b0b13 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 19 Aug 2013 20:29:17 +0100
Subject: Create a separate pCampbot "disconnect" console command which
disconnects connected bots.
"quit" console command now requires bots to be separate disconnected first before quitting.
This is to prepare the way for disconnecting/reconnecting different numbers of bots in a pCampbot session.
And hopefully resolves bug where console appears not to be reset if Environment.Exit(0) is called on a different thread
---
OpenSim/Tools/pCampBot/BotManager.cs | 110 +++++++++++++++++++++--------------
1 file changed, 67 insertions(+), 43 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 8f31bdf..5c0dc81 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -52,9 +52,9 @@ namespace pCampBot
public const int DefaultLoginDelay = 5000;
///
- /// True if pCampbot is in the process of shutting down.
+ /// Is pCampbot in the process of disconnecting bots?
///
- public bool ShuttingDown { get; private set; }
+ public bool DisconnectingBots { get; private set; }
///
/// Delay between logins of multiple bots.
@@ -139,6 +139,11 @@ namespace pCampBot
"Shutdown bots and exit",
HandleShutdown);
+ m_console.Commands.AddCommand("bot", false, "disconnect",
+ "disconnect",
+ "Disconnect all bots",
+ HandleDisconnect);
+
m_console.Commands.AddCommand("bot", false, "show regions",
"show regions",
"Show regions known to bots",
@@ -191,31 +196,37 @@ namespace pCampBot
for (int i = 0; i < botcount; i++)
{
- if (ShuttingDown)
- break;
+ lock (m_lBot)
+ {
+ if (DisconnectingBots)
+ break;
+
+ string lastName = string.Format("{0}_{1}", lastNameStem, i + fromBotNumber);
- string lastName = string.Format("{0}_{1}", lastNameStem, i + fromBotNumber);
+ // We must give each bot its own list of instantiated behaviours since they store state.
+ List behaviours = new List();
+
+ // Hard-coded for now
+ if (behaviourSwitches.Contains("c"))
+ behaviours.Add(new CrossBehaviour());
- // We must give each bot its own list of instantiated behaviours since they store state.
- List behaviours = new List();
-
- // Hard-coded for now
- if (behaviourSwitches.Contains("c"))
- behaviours.Add(new CrossBehaviour());
+ if (behaviourSwitches.Contains("g"))
+ behaviours.Add(new GrabbingBehaviour());
- if (behaviourSwitches.Contains("g"))
- behaviours.Add(new GrabbingBehaviour());
+ if (behaviourSwitches.Contains("n"))
+ behaviours.Add(new NoneBehaviour());
- if (behaviourSwitches.Contains("n"))
- behaviours.Add(new NoneBehaviour());
+ if (behaviourSwitches.Contains("p"))
+ behaviours.Add(new PhysicsBehaviour());
+
+ if (behaviourSwitches.Contains("t"))
+ behaviours.Add(new TeleportBehaviour());
- if (behaviourSwitches.Contains("p"))
- behaviours.Add(new PhysicsBehaviour());
-
- if (behaviourSwitches.Contains("t"))
- behaviours.Add(new TeleportBehaviour());
+ StartBot(this, behaviours, firstName, lastName, password, loginUri, startUri, wearSetting);
+ }
- StartBot(this, behaviours, firstName, lastName, password, loginUri, startUri, wearSetting);
+ // Stagger logins
+ Thread.Sleep(LoginDelay);
}
}
@@ -305,17 +316,13 @@ namespace pCampBot
pb.OnConnected += handlebotEvent;
pb.OnDisconnected += handlebotEvent;
- lock (m_lBot)
- m_lBot.Add(pb);
+ m_lBot.Add(pb);
Thread pbThread = new Thread(pb.startup);
pbThread.Name = pb.Name;
pbThread.IsBackground = true;
pbThread.Start();
-
- // Stagger logins
- Thread.Sleep(LoginDelay);
}
///
@@ -328,18 +335,16 @@ namespace pCampBot
switch (eventt)
{
case EventType.CONNECTED:
+ {
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Connected");
break;
+ }
+
case EventType.DISCONNECTED:
+ {
m_log.Info("[" + callbot.FirstName + " " + callbot.LastName + "]: Disconnected");
-
- lock (m_lBot)
- {
- if (m_lBot.TrueForAll(b => b.ConnectionState == ConnectionState.Disconnected))
- Environment.Exit(0);
-
- break;
- }
+ break;
+ }
}
}
@@ -349,15 +354,12 @@ namespace pCampBot
///
/// We launch each shutdown on its own thread so that a slow shutting down bot doesn't hold up all the others.
///
- public void doBotShutdown()
+ private void ShutdownBots()
{
- lock (m_lBot)
+ foreach (Bot bot in m_lBot)
{
- foreach (Bot bot in m_lBot)
- {
- Bot thisBot = bot;
- Util.FireAndForget(o => thisBot.shutdown());
- }
+ Bot thisBot = bot;
+ Util.FireAndForget(o => thisBot.shutdown());
}
}
@@ -370,12 +372,34 @@ namespace pCampBot
return new LocalConsole("pCampbot");
}
+ private void HandleDisconnect(string module, string[] cmd)
+ {
+ MainConsole.Instance.Output("Disconnecting bots");
+
+ lock (m_lBot)
+ {
+ DisconnectingBots = true;
+
+ ShutdownBots();
+ }
+ }
+
private void HandleShutdown(string module, string[] cmd)
{
+ lock (m_lBot)
+ {
+ int connectedBots = m_lBot.Count(b => b.ConnectionState == ConnectionState.Connected);
+
+ if (connectedBots > 0)
+ {
+ MainConsole.Instance.OutputFormat("Please disconnect {0} connected bots first", connectedBots);
+ return;
+ }
+ }
+
MainConsole.Instance.Output("Shutting down");
- ShuttingDown = true;
- doBotShutdown();
+ Environment.Exit(0);
}
private void HandleShowRegions(string module, string[] cmd)
--
cgit v1.1
From 2fa42f24fd0e80adc16320a404e3e85ca6d1baa1 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 19 Aug 2013 21:00:31 +0100
Subject: Make it possible to disconnected a specified number of bots via the
pCampbot console command "disconnect []"
Bots disconnected are ascending from last in numeric order.
Temporarily no way to reconnect bots.
---
OpenSim/Tools/pCampBot/BotManager.cs | 101 +++++++++++++++++++----------------
1 file changed, 55 insertions(+), 46 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 5c0dc81..157c69c 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -80,7 +80,7 @@ namespace pCampBot
///
/// Created bots, whether active or inactive.
///
- protected List m_lBot;
+ protected List m_bots;
///
/// Random number generator.
@@ -130,35 +130,30 @@ namespace pCampBot
}
}
- m_console.Commands.AddCommand("bot", false, "shutdown",
- "shutdown",
- "Shutdown bots and exit", HandleShutdown);
+ m_console.Commands.AddCommand(
+ "bot", false, "shutdown", "shutdown", "Shutdown bots and exit", HandleShutdown);
- m_console.Commands.AddCommand("bot", false, "quit",
- "quit",
- "Shutdown bots and exit",
- HandleShutdown);
+ m_console.Commands.AddCommand(
+ "bot", false, "quit", "quit", "Shutdown bots and exit", HandleShutdown);
- m_console.Commands.AddCommand("bot", false, "disconnect",
- "disconnect",
- "Disconnect all bots",
- HandleDisconnect);
+ m_console.Commands.AddCommand(
+ "bot", false, "disconnect", "disconnect []", "Disconnect bots",
+ "Disconnecting bots will interupt any bot connection process, including connection on startup.\n"
+ + "If an is given, then the last connected bots by postfix number are disconnected.\n"
+ + "If no is given, then all currently connected bots are disconnected.",
+ HandleDisconnect);
- m_console.Commands.AddCommand("bot", false, "show regions",
- "show regions",
- "Show regions known to bots",
- HandleShowRegions);
+ m_console.Commands.AddCommand(
+ "bot", false, "show regions", "show regions", "Show regions known to bots", HandleShowRegions);
- m_console.Commands.AddCommand("bot", false, "show bots",
- "show bots",
- "Shows the status of all bots",
- HandleShowStatus);
+ m_console.Commands.AddCommand(
+ "bot", false, "show bots", "show bots", "Shows the status of all bots", HandleShowStatus);
// m_console.Commands.AddCommand("bot", false, "add bots",
// "add bots ",
// "Add more bots", HandleAddBots);
- m_lBot = new List();
+ m_bots = new List();
}
///
@@ -196,7 +191,7 @@ namespace pCampBot
for (int i = 0; i < botcount; i++)
{
- lock (m_lBot)
+ lock (m_bots)
{
if (DisconnectingBots)
break;
@@ -316,7 +311,7 @@ namespace pCampBot
pb.OnConnected += handlebotEvent;
pb.OnDisconnected += handlebotEvent;
- m_lBot.Add(pb);
+ m_bots.Add(pb);
Thread pbThread = new Thread(pb.startup);
pbThread.Name = pb.Name;
@@ -349,21 +344,6 @@ namespace pCampBot
}
///
- /// Shut down all bots
- ///
- ///
- /// We launch each shutdown on its own thread so that a slow shutting down bot doesn't hold up all the others.
- ///
- private void ShutdownBots()
- {
- foreach (Bot bot in m_lBot)
- {
- Bot thisBot = bot;
- Util.FireAndForget(o => thisBot.shutdown());
- }
- }
-
- ///
/// Standard CreateConsole routine
///
///
@@ -374,21 +354,50 @@ namespace pCampBot
private void HandleDisconnect(string module, string[] cmd)
{
- MainConsole.Instance.Output("Disconnecting bots");
-
- lock (m_lBot)
+ lock (m_bots)
{
+ int botsToDisconnect;
+ int connectedBots = m_bots.Count(b => b.ConnectionState == ConnectionState.Connected);
+
+ if (cmd.Length == 1)
+ {
+ botsToDisconnect = connectedBots;
+ }
+ else
+ {
+ if (!ConsoleUtil.TryParseConsoleNaturalInt(MainConsole.Instance, cmd[1], out botsToDisconnect))
+ return;
+
+ botsToDisconnect = Math.Min(botsToDisconnect, connectedBots);
+ }
+
DisconnectingBots = true;
- ShutdownBots();
+ MainConsole.Instance.OutputFormat("Disconnecting {0} bots", botsToDisconnect);
+
+ int disconnectedBots = 0;
+
+ for (int i = m_bots.Count - 1; i >= 0; i--)
+ {
+ if (disconnectedBots >= botsToDisconnect)
+ break;
+
+ Bot thisBot = m_bots[i];
+
+ if (thisBot.ConnectionState == ConnectionState.Connected)
+ {
+ Util.FireAndForget(o => thisBot.shutdown());
+ disconnectedBots++;
+ }
+ }
}
}
private void HandleShutdown(string module, string[] cmd)
{
- lock (m_lBot)
+ lock (m_bots)
{
- int connectedBots = m_lBot.Count(b => b.ConnectionState == ConnectionState.Connected);
+ int connectedBots = m_bots.Count(b => b.ConnectionState == ConnectionState.Connected);
if (connectedBots > 0)
{
@@ -429,9 +438,9 @@ namespace pCampBot
foreach (object o in Enum.GetValues(typeof(ConnectionState)))
totals[(ConnectionState)o] = 0;
- lock (m_lBot)
+ lock (m_bots)
{
- foreach (Bot pb in m_lBot)
+ foreach (Bot pb in m_bots)
{
Simulator currentSim = pb.Client.Network.CurrentSim;
totals[pb.ConnectionState]++;
--
cgit v1.1
From 079cd4e94f820bad83fcbf8373ef268ecb82d9a6 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 19 Aug 2013 21:17:59 +0100
Subject: refactor: restructure pCampbot multi-bot connection code.
---
OpenSim/Tools/pCampBot/BotManager.cs | 70 ++++++++++++++++++++++++++++++------
1 file changed, 60 insertions(+), 10 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 157c69c..2cbadef 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -98,6 +98,46 @@ namespace pCampBot
public Dictionary RegionsKnown { get; private set; }
///
+ /// First name for bots
+ ///
+ private string m_firstName;
+
+ ///
+ /// Last name stem for bots
+ ///
+ private string m_lastNameStem;
+
+ ///
+ /// Password for bots
+ ///
+ private string m_password;
+
+ ///
+ /// Login URI for bots.
+ ///
+ private string m_loginUri;
+
+ ///
+ /// Start location for bots.
+ ///
+ private string m_startUri;
+
+ ///
+ /// Postfix bot number at which bot sequence starts.
+ ///
+ private int m_fromBotNumber;
+
+ ///
+ /// Wear setting for bots.
+ ///
+ private string m_wearSetting;
+
+ ///
+ /// Behaviour switches for bots.
+ ///
+ private HashSet m_behaviourSwitches = new HashSet();
+
+ ///
/// Constructor Creates MainConsole.Instance to take commands and provide the place to write data
///
public BotManager()
@@ -163,20 +203,26 @@ namespace pCampBot
/// The configuration for the bots to use
public void dobotStartup(int botcount, IConfig startupConfig)
{
- string firstName = startupConfig.GetString("firstname");
- string lastNameStem = startupConfig.GetString("lastname");
- string password = startupConfig.GetString("password");
- string loginUri = startupConfig.GetString("loginuri");
- string startLocation = startupConfig.GetString("start", "last");
- int fromBotNumber = startupConfig.GetInt("from", 0);
- string wearSetting = startupConfig.GetString("wear", "no");
+ m_firstName = startupConfig.GetString("firstname");
+ m_lastNameStem = startupConfig.GetString("lastname");
+ m_password = startupConfig.GetString("password");
+ m_loginUri = startupConfig.GetString("loginuri");
+ m_fromBotNumber = startupConfig.GetInt("from", 0);
+ m_wearSetting = startupConfig.GetString("wear", "no");
- string startUri = ParseInputStartLocationToUri(startLocation);
+ m_startUri = ParseInputStartLocationToUri(startupConfig.GetString("start", "last"));
- HashSet behaviourSwitches = new HashSet();
Array.ForEach(
- startupConfig.GetString("behaviours", "p").Split(new char[] { ',' }), b => behaviourSwitches.Add(b));
+ startupConfig.GetString("behaviours", "p").Split(new char[] { ',' }), b => m_behaviourSwitches.Add(b));
+
+ ConnectBots(
+ botcount, m_firstName, m_lastNameStem, m_password, m_loginUri, m_startUri, m_fromBotNumber, m_wearSetting, m_behaviourSwitches);
+ }
+ private void ConnectBots(
+ int botcount, string firstName, string lastNameStem, string password, string loginUri, string startUri, int fromBotNumber, string wearSetting,
+ HashSet behaviourSwitches)
+ {
MainConsole.Instance.OutputFormat(
"[BOT MANAGER]: Starting {0} bots connecting to {1}, location {2}, named {3} {4}_",
botcount,
@@ -194,7 +240,11 @@ namespace pCampBot
lock (m_bots)
{
if (DisconnectingBots)
+ {
+ MainConsole.Instance.Output(
+ "[BOT MANAGER]: Aborting bot connection due to user-initiated disconnection");
break;
+ }
string lastName = string.Format("{0}_{1}", lastNameStem, i + fromBotNumber);
--
cgit v1.1
From ea3f024b8a546608fce825d4aa9f165eaecfeed5 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 19 Aug 2013 21:25:17 +0100
Subject: refactor: start bot connection thread within BotManager rather than
externally
---
OpenSim/Tools/pCampBot/BotManager.cs | 27 ++++++++++++++++++++++++++-
OpenSim/Tools/pCampBot/pCampBot.cs | 5 +----
2 files changed, 27 insertions(+), 5 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 2cbadef..fe6048a 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -52,6 +52,11 @@ namespace pCampBot
public const int DefaultLoginDelay = 5000;
///
+ /// Is pCampbot in the process of connecting bots?
+ ///
+ public bool ConnectingBots { get; private set; }
+
+ ///
/// Is pCampbot in the process of disconnecting bots?
///
public bool DisconnectingBots { get; private set; }
@@ -219,7 +224,25 @@ namespace pCampBot
botcount, m_firstName, m_lastNameStem, m_password, m_loginUri, m_startUri, m_fromBotNumber, m_wearSetting, m_behaviourSwitches);
}
- private void ConnectBots(
+ private bool ConnectBots(
+ int botcount, string firstName, string lastNameStem, string password, string loginUri, string startUri, int fromBotNumber, string wearSetting,
+ HashSet behaviourSwitches)
+ {
+ ConnectingBots = true;
+
+ Thread startBotThread
+ = new Thread(
+ o => ConnectBotsInternal(
+ botcount, firstName, lastNameStem, password, loginUri, startUri, fromBotNumber, wearSetting,
+ behaviourSwitches));
+
+ startBotThread.Name = "Bots connection thread";
+ startBotThread.Start();
+
+ return true;
+ }
+
+ private void ConnectBotsInternal(
int botcount, string firstName, string lastNameStem, string password, string loginUri, string startUri, int fromBotNumber, string wearSetting,
HashSet behaviourSwitches)
{
@@ -273,6 +296,8 @@ namespace pCampBot
// Stagger logins
Thread.Sleep(LoginDelay);
}
+
+ ConnectingBots = false;
}
///
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index b02f917..e58b130 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -95,10 +95,7 @@ namespace pCampBot
int botcount = commandLineConfig.GetInt("botcount", 1);
- //startup specified number of bots. 1 is the default
- Thread startBotThread = new Thread(o => bm.dobotStartup(botcount, commandLineConfig));
- startBotThread.Name = "Initial start bots thread";
- startBotThread.Start();
+ bm.dobotStartup(botcount, commandLineConfig);
while (true)
{
--
cgit v1.1
From 589b1a2eaf9058c3577b17ae76580a79ba855978 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 19 Aug 2013 23:50:18 +0100
Subject: Make it possible to reconnect pCampbots with the console command
"connect []".
If no n is given then all available bots are connected
---
OpenSim/Tools/pCampBot/Bot.cs | 96 ++++++++++++++++++-------
OpenSim/Tools/pCampBot/BotManager.cs | 136 +++++++++++++++++++++--------------
OpenSim/Tools/pCampBot/pCampBot.cs | 3 +-
3 files changed, 155 insertions(+), 80 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index be7a5a1..f7af26e 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -158,8 +158,6 @@ namespace pCampBot
behaviours.ForEach(b => b.Initialize(this));
- Client = new GridClient();
-
Random = new Random(Environment.TickCount);// We do stuff randomly here
FirstName = firstName;
LastName = lastName;
@@ -170,6 +168,59 @@ namespace pCampBot
Manager = bm;
Behaviours = behaviours;
+
+ // Only calling for use as a template.
+ CreateLibOmvClient();
+ }
+
+ private void CreateLibOmvClient()
+ {
+ GridClient newClient = new GridClient();
+
+ if (Client != null)
+ {
+ newClient.Settings.LOGIN_SERVER = Client.Settings.LOGIN_SERVER;
+ newClient.Settings.ALWAYS_DECODE_OBJECTS = Client.Settings.ALWAYS_DECODE_OBJECTS;
+ newClient.Settings.AVATAR_TRACKING = Client.Settings.AVATAR_TRACKING;
+ newClient.Settings.OBJECT_TRACKING = Client.Settings.OBJECT_TRACKING;
+ newClient.Settings.SEND_AGENT_THROTTLE = Client.Settings.SEND_AGENT_THROTTLE;
+ newClient.Settings.SEND_AGENT_UPDATES = Client.Settings.SEND_AGENT_UPDATES;
+ newClient.Settings.SEND_PINGS = Client.Settings.SEND_PINGS;
+ newClient.Settings.STORE_LAND_PATCHES = Client.Settings.STORE_LAND_PATCHES;
+ newClient.Settings.USE_ASSET_CACHE = Client.Settings.USE_ASSET_CACHE;
+ newClient.Settings.MULTIPLE_SIMS = Client.Settings.MULTIPLE_SIMS;
+ newClient.Throttle.Asset = Client.Throttle.Asset;
+ newClient.Throttle.Land = Client.Throttle.Land;
+ newClient.Throttle.Task = Client.Throttle.Task;
+ newClient.Throttle.Texture = Client.Throttle.Texture;
+ newClient.Throttle.Wind = Client.Throttle.Wind;
+ newClient.Throttle.Total = Client.Throttle.Total;
+ }
+ else
+ {
+ newClient.Settings.LOGIN_SERVER = LoginUri;
+ newClient.Settings.ALWAYS_DECODE_OBJECTS = false;
+ newClient.Settings.AVATAR_TRACKING = false;
+ newClient.Settings.OBJECT_TRACKING = false;
+ newClient.Settings.SEND_AGENT_THROTTLE = true;
+ newClient.Settings.SEND_PINGS = true;
+ newClient.Settings.STORE_LAND_PATCHES = false;
+ newClient.Settings.USE_ASSET_CACHE = false;
+ newClient.Settings.MULTIPLE_SIMS = true;
+ newClient.Throttle.Asset = 100000;
+ newClient.Throttle.Land = 100000;
+ newClient.Throttle.Task = 100000;
+ newClient.Throttle.Texture = 100000;
+ newClient.Throttle.Wind = 100000;
+ newClient.Throttle.Total = 400000;
+ }
+
+ newClient.Network.LoginProgress += this.Network_LoginProgress;
+ newClient.Network.SimConnected += this.Network_SimConnected;
+ newClient.Network.Disconnected += this.Network_OnDisconnected;
+ newClient.Objects.ObjectUpdate += Objects_NewPrim;
+
+ Client = newClient;
}
//We do our actions here. This is where one would
@@ -192,7 +243,7 @@ namespace pCampBot
///
/// Tells LibSecondLife to logout and disconnect. Raises the disconnect events once it finishes.
///
- public void shutdown()
+ public void Disconnect()
{
ConnectionState = ConnectionState.Disconnecting;
@@ -202,34 +253,27 @@ namespace pCampBot
Client.Network.Logout();
}
+ public void Connect()
+ {
+ Thread connectThread = new Thread(ConnectInternal);
+ connectThread.Name = Name;
+ connectThread.IsBackground = true;
+
+ connectThread.Start();
+ }
+
///
/// This is the bot startup loop.
///
- public void startup()
+ private void ConnectInternal()
{
- Client.Settings.LOGIN_SERVER = LoginUri;
- Client.Settings.ALWAYS_DECODE_OBJECTS = false;
- Client.Settings.AVATAR_TRACKING = false;
- Client.Settings.OBJECT_TRACKING = false;
- Client.Settings.SEND_AGENT_THROTTLE = true;
- Client.Settings.SEND_AGENT_UPDATES = false;
- Client.Settings.SEND_PINGS = true;
- Client.Settings.STORE_LAND_PATCHES = false;
- Client.Settings.USE_ASSET_CACHE = false;
- Client.Settings.MULTIPLE_SIMS = true;
- Client.Throttle.Asset = 100000;
- Client.Throttle.Land = 100000;
- Client.Throttle.Task = 100000;
- Client.Throttle.Texture = 100000;
- Client.Throttle.Wind = 100000;
- Client.Throttle.Total = 400000;
- Client.Network.LoginProgress += this.Network_LoginProgress;
- Client.Network.SimConnected += this.Network_SimConnected;
- Client.Network.Disconnected += this.Network_OnDisconnected;
- Client.Objects.ObjectUpdate += Objects_NewPrim;
-
ConnectionState = ConnectionState.Connecting;
+ // Current create a new client on each connect. libomv doesn't seem to process new sim
+ // information (e.g. EstablishAgentCommunication events) if connecting after a disceonnect with the same
+ // client
+ CreateLibOmvClient();
+
if (Client.Network.Login(FirstName, LastName, Password, "pCampBot", StartLocation, "Your name"))
{
ConnectionState = ConnectionState.Connected;
@@ -474,6 +518,8 @@ namespace pCampBot
// || args.Reason == NetworkManager.DisconnectType.NetworkTimeout)
// && OnDisconnected != null)
+
+
if (
(args.Reason == NetworkManager.DisconnectType.ClientInitiated
|| args.Reason == NetworkManager.DisconnectType.ServerInitiated
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index fe6048a..f40a84d 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -182,6 +182,12 @@ namespace pCampBot
"bot", false, "quit", "quit", "Shutdown bots and exit", HandleShutdown);
m_console.Commands.AddCommand(
+ "bot", false, "connect", "connect []", "Connect bots",
+ "If an is given, then the first disconnected bots by postfix number are connected.\n"
+ + "If no is given, then all currently disconnected bots are connected.",
+ HandleConnect);
+
+ m_console.Commands.AddCommand(
"bot", false, "disconnect", "disconnect []", "Disconnect bots",
"Disconnecting bots will interupt any bot connection process, including connection on startup.\n"
+ "If an is given, then the last connected bots by postfix number are disconnected.\n"
@@ -206,7 +212,7 @@ namespace pCampBot
///
/// How many bots to start up
/// The configuration for the bots to use
- public void dobotStartup(int botcount, IConfig startupConfig)
+ public void CreateBots(int botcount, IConfig startupConfig)
{
m_firstName = startupConfig.GetString("firstname");
m_lastNameStem = startupConfig.GetString("lastname");
@@ -220,39 +226,55 @@ namespace pCampBot
Array.ForEach(
startupConfig.GetString("behaviours", "p").Split(new char[] { ',' }), b => m_behaviourSwitches.Add(b));
- ConnectBots(
- botcount, m_firstName, m_lastNameStem, m_password, m_loginUri, m_startUri, m_fromBotNumber, m_wearSetting, m_behaviourSwitches);
+ for (int i = 0; i < botcount; i++)
+ {
+ lock (m_bots)
+ {
+ string lastName = string.Format("{0}_{1}", m_lastNameStem, i + m_fromBotNumber);
+
+ // We must give each bot its own list of instantiated behaviours since they store state.
+ List behaviours = new List();
+
+ // Hard-coded for now
+ if (m_behaviourSwitches.Contains("c"))
+ behaviours.Add(new CrossBehaviour());
+
+ if (m_behaviourSwitches.Contains("g"))
+ behaviours.Add(new GrabbingBehaviour());
+
+ if (m_behaviourSwitches.Contains("n"))
+ behaviours.Add(new NoneBehaviour());
+
+ if (m_behaviourSwitches.Contains("p"))
+ behaviours.Add(new PhysicsBehaviour());
+
+ if (m_behaviourSwitches.Contains("t"))
+ behaviours.Add(new TeleportBehaviour());
+
+ CreateBot(this, behaviours, m_firstName, lastName, m_password, m_loginUri, m_startUri, m_wearSetting);
+ }
+ }
}
- private bool ConnectBots(
- int botcount, string firstName, string lastNameStem, string password, string loginUri, string startUri, int fromBotNumber, string wearSetting,
- HashSet behaviourSwitches)
+ public void ConnectBots(int botcount)
{
ConnectingBots = true;
- Thread startBotThread
- = new Thread(
- o => ConnectBotsInternal(
- botcount, firstName, lastNameStem, password, loginUri, startUri, fromBotNumber, wearSetting,
- behaviourSwitches));
-
- startBotThread.Name = "Bots connection thread";
- startBotThread.Start();
+ Thread connectBotThread = new Thread(o => ConnectBotsInternal(botcount));
- return true;
+ connectBotThread.Name = "Bots connection thread";
+ connectBotThread.Start();
}
- private void ConnectBotsInternal(
- int botcount, string firstName, string lastNameStem, string password, string loginUri, string startUri, int fromBotNumber, string wearSetting,
- HashSet behaviourSwitches)
+ private void ConnectBotsInternal(int botcount)
{
MainConsole.Instance.OutputFormat(
"[BOT MANAGER]: Starting {0} bots connecting to {1}, location {2}, named {3} {4}_",
botcount,
- loginUri,
- startUri,
- firstName,
- lastNameStem);
+ m_loginUri,
+ m_startUri,
+ m_firstName,
+ m_lastNameStem);
MainConsole.Instance.OutputFormat("[BOT MANAGER]: Delay between logins is {0}ms", LoginDelay);
MainConsole.Instance.OutputFormat("[BOT MANAGER]: BotsSendAgentUpdates is {0}", InitBotSendAgentUpdates);
@@ -269,28 +291,7 @@ namespace pCampBot
break;
}
- string lastName = string.Format("{0}_{1}", lastNameStem, i + fromBotNumber);
-
- // We must give each bot its own list of instantiated behaviours since they store state.
- List behaviours = new List();
-
- // Hard-coded for now
- if (behaviourSwitches.Contains("c"))
- behaviours.Add(new CrossBehaviour());
-
- if (behaviourSwitches.Contains("g"))
- behaviours.Add(new GrabbingBehaviour());
-
- if (behaviourSwitches.Contains("n"))
- behaviours.Add(new NoneBehaviour());
-
- if (behaviourSwitches.Contains("p"))
- behaviours.Add(new PhysicsBehaviour());
-
- if (behaviourSwitches.Contains("t"))
- behaviours.Add(new TeleportBehaviour());
-
- StartBot(this, behaviours, firstName, lastName, password, loginUri, startUri, wearSetting);
+ m_bots[i].Connect();
}
// Stagger logins
@@ -360,7 +361,7 @@ namespace pCampBot
// }
///
- /// This starts up the bot and stores the thread for the bot in the thread array
+ /// This creates a bot but does not start it.
///
///
/// Behaviours for this bot to perform.
@@ -370,12 +371,12 @@ namespace pCampBot
/// Login URI
/// Location to start the bot. Can be "last", "home" or a specific sim name.
///
- public void StartBot(
+ public void CreateBot(
BotManager bm, List behaviours,
string firstName, string lastName, string password, string loginUri, string startLocation, string wearSetting)
{
MainConsole.Instance.OutputFormat(
- "[BOT MANAGER]: Starting bot {0} {1}, behaviours are {2}",
+ "[BOT MANAGER]: Creating bot {0} {1}, behaviours are {2}",
firstName, lastName, string.Join(",", behaviours.ConvertAll(b => b.Name).ToArray()));
Bot pb = new Bot(bm, behaviours, firstName, lastName, password, startLocation, loginUri);
@@ -387,12 +388,6 @@ namespace pCampBot
pb.OnDisconnected += handlebotEvent;
m_bots.Add(pb);
-
- Thread pbThread = new Thread(pb.startup);
- pbThread.Name = pb.Name;
- pbThread.IsBackground = true;
-
- pbThread.Start();
}
///
@@ -427,6 +422,37 @@ namespace pCampBot
return new LocalConsole("pCampbot");
}
+ private void HandleConnect(string module, string[] cmd)
+ {
+ if (ConnectingBots)
+ {
+ MainConsole.Instance.Output("Still connecting bots. Please wait for previous process to complete.");
+ return;
+ }
+
+ lock (m_bots)
+ {
+ int botsToConnect;
+ int disconnectedBots = m_bots.Count(b => b.ConnectionState == ConnectionState.Disconnected);
+
+ if (cmd.Length == 1)
+ {
+ botsToConnect = disconnectedBots;
+ }
+ else
+ {
+ if (!ConsoleUtil.TryParseConsoleNaturalInt(MainConsole.Instance, cmd[1], out botsToConnect))
+ return;
+
+ botsToConnect = Math.Min(botsToConnect, disconnectedBots);
+ }
+
+ MainConsole.Instance.OutputFormat("Connecting {0} bots", botsToConnect);
+
+ ConnectBots(botsToConnect);
+ }
+ }
+
private void HandleDisconnect(string module, string[] cmd)
{
lock (m_bots)
@@ -461,10 +487,12 @@ namespace pCampBot
if (thisBot.ConnectionState == ConnectionState.Connected)
{
- Util.FireAndForget(o => thisBot.shutdown());
+ Util.FireAndForget(o => thisBot.Disconnect());
disconnectedBots++;
}
}
+
+ DisconnectingBots = false;
}
}
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index e58b130..ada39ee 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -95,7 +95,8 @@ namespace pCampBot
int botcount = commandLineConfig.GetInt("botcount", 1);
- bm.dobotStartup(botcount, commandLineConfig);
+ bm.CreateBots(botcount, commandLineConfig);
+ bm.ConnectBots(botcount);
while (true)
{
--
cgit v1.1
From a3dd7db4a341f34e0df5b7fa4bddda4049e50acd Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 20 Aug 2013 00:08:47 +0100
Subject: Add -connect (-c) switch to pCampbot command line options.
Now, bots will only connect at startup if this switch is specified.
If it is not specified, then a separate "connect" command is required on the pCampbot command line
---
OpenSim/Tools/pCampBot/pCampBot.cs | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index ada39ee..fc67398 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -94,9 +94,12 @@ namespace pCampBot
}
int botcount = commandLineConfig.GetInt("botcount", 1);
+ bool startConnected = commandLineConfig.Get("connect") != null;
bm.CreateBots(botcount, commandLineConfig);
- bm.ConnectBots(botcount);
+
+ if (startConnected)
+ bm.ConnectBots(botcount);
while (true)
{
@@ -117,6 +120,7 @@ namespace pCampBot
//Set up our nifty config.. thanks to nini
ArgvConfigSource cs = new ArgvConfigSource(args);
+ cs.AddSwitch("Startup", "connect", "c");
cs.AddSwitch("Startup", "botcount", "n");
cs.AddSwitch("Startup", "from", "f");
cs.AddSwitch("Startup", "loginuri", "l");
@@ -143,20 +147,21 @@ namespace pCampBot
"usage: pCampBot <-loginuri loginuri> [OPTIONS]\n"
+ "Spawns a set of bots to test an OpenSim region\n\n"
+ " -l, -loginuri loginuri for grid/standalone (required)\n"
- + " -s, -start optional start location for bots. Can be \"last\", \"home\" or a specific location with or without co-ords (e.g. \"region1\" or \"region2/50/30/90\"\n"
- + " -firstname first name for the bots\n"
- + " -lastname lastname for the bots. Each lastname will have _ appended, e.g. Ima Bot_0\n"
- + " -password password for the bots\n"
- + " -n, -botcount optional number of bots to start (default: 1)\n"
- + " -f, -from optional starting number for login bot names, e.g. 25 will login Ima Bot_25, Ima Bot_26, etc. (default: 0)"
- + " -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p\n"
+ + " -s, -start start location for bots (optional). Can be \"last\", \"home\" or a specific location with or without co-ords (e.g. \"region1\" or \"region2/50/30/90\"\n"
+ + " -firstname first name for the bots (required)\n"
+ + " -lastname lastname for the bots (required). Each lastname will have _ appended, e.g. Ima Bot_0\n"
+ + " -password password for the bots (required)\n"
+ + " -n, -botcount number of bots to start (default: 1) (optional)\n"
+ + " -f, -from starting number for login bot names, e.g. 25 will login Ima Bot_25, Ima Bot_26, etc. (default: 0) (optional)\n"
+ + " -c, -connect connect all bots at startup (optional)\n"
+ + " -b, behaviours behaviours for bots. Comma separated, e.g. p,g. Default is p (required)\n"
+ " current options are:\n"
+ " p (physics - bots constantly move and jump around)\n"
+ " g (grab - bots randomly click prims whether set clickable or not)\n"
+ " n (none - bots do nothing)\n"
+ " t (teleport - bots regularly teleport between regions on the grid)\n"
-// " c (cross)" +
- + " -wear optional folder from which to load appearance data, \"no\" if there is no such folder (default: no)\n"
+// " c (cross)\n" +
+ + " -wear folder from which to load appearance data, \"no\" if there is no such folder (default: no) (optional)\n"
+ " -h, -help show this message.\n");
}
}
--
cgit v1.1
From 56d1d67a34bbd3e597168ab9bfa43be6a34e580a Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 20 Aug 2013 17:01:12 +0100
Subject: Add pCampbot console commands to sit all bots on ground and stand all
bots
---
OpenSim/Tools/pCampBot/Bot.cs | 24 ++++++++++++
OpenSim/Tools/pCampBot/BotManager.cs | 74 +++++++++++++-----------------------
2 files changed, 51 insertions(+), 47 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index f7af26e..27c086e 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -318,6 +318,30 @@ namespace pCampBot
}
}
+ ///
+ /// Sit this bot on the ground.
+ ///
+ public void SitOnGround()
+ {
+ if (ConnectionState == ConnectionState.Connected)
+ Client.Self.SitOnGround();
+ }
+
+ ///
+ /// Stand this bot
+ ///
+ public void Stand()
+ {
+ if (ConnectionState == ConnectionState.Connected)
+ {
+ // Unlike sit on ground, here libomv checks whether we have SEND_AGENT_UPDATES enabled.
+ bool prevUpdatesSetting = Client.Settings.SEND_AGENT_UPDATES;
+ Client.Settings.SEND_AGENT_UPDATES = true;
+ Client.Self.Stand();
+ Client.Settings.SEND_AGENT_UPDATES = prevUpdatesSetting;
+ }
+ }
+
public void SaveDefaultAppearance()
{
saveDir = "MyAppearance/" + FirstName + "_" + LastName;
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index f40a84d..f5b5256 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -195,14 +195,18 @@ namespace pCampBot
HandleDisconnect);
m_console.Commands.AddCommand(
- "bot", false, "show regions", "show regions", "Show regions known to bots", HandleShowRegions);
+ "bot", false, "sit", "sit", "Sit all bots on the ground.",
+ HandleSit);
+
+ m_console.Commands.AddCommand(
+ "bot", false, "stand", "stand", "Stand all bots.",
+ HandleStand);
m_console.Commands.AddCommand(
- "bot", false, "show bots", "show bots", "Shows the status of all bots", HandleShowStatus);
+ "bot", false, "show regions", "show regions", "Show regions known to bots", HandleShowRegions);
-// m_console.Commands.AddCommand("bot", false, "add bots",
-// "add bots ",
-// "Add more bots", HandleAddBots);
+ m_console.Commands.AddCommand(
+ "bot", false, "show bots", "show bots", "Shows the status of all bots", HandleShowBotsStatus);
m_bots = new List();
}
@@ -340,26 +344,6 @@ namespace pCampBot
return string.Format("uri:{0}&{1}&{2}&{3}", regionName, startPos.X, startPos.Y, startPos.Z);
}
-// ///
-// /// 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(Config);
-// }
-// }
-
///
/// This creates a bot but does not start it.
///
@@ -496,6 +480,22 @@ namespace pCampBot
}
}
+ private void HandleSit(string module, string[] cmd)
+ {
+ lock (m_bots)
+ {
+ m_bots.ForEach(b => b.SitOnGround());
+ }
+ }
+
+ private void HandleStand(string module, string[] cmd)
+ {
+ lock (m_bots)
+ {
+ m_bots.ForEach(b => b.Stand());
+ }
+ }
+
private void HandleShutdown(string module, string[] cmd)
{
lock (m_bots)
@@ -529,7 +529,7 @@ namespace pCampBot
}
}
- private void HandleShowStatus(string module, string[] cmd)
+ private void HandleShowBotsStatus(string module, string[] cmd)
{
ConsoleDisplayTable cdt = new ConsoleDisplayTable();
cdt.AddColumn("Name", 30);
@@ -563,26 +563,6 @@ namespace pCampBot
MainConsole.Instance.Output(cdl.ToString());
}
- /*
- private void HandleQuit(string module, string[] cmd)
- {
- 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);
- }
- */
-//
-// private void HandleAddBots(string module, string[] cmd)
-// {
-// int newbots = 0;
-//
-// if (cmd.Length > 2)
-// {
-// Int32.TryParse(cmd[2], out newbots);
-// }
-// if (newbots > 0)
-// addbots(newbots);
-// }
-
internal void Grid_GridRegion(object o, GridRegionEventArgs args)
{
lock (RegionsKnown)
@@ -602,4 +582,4 @@ namespace pCampBot
}
}
}
-}
+}
\ No newline at end of file
--
cgit v1.1
From a3e1b278a1d82e231f85bf0bf181ed79bbdaa7f2 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 20 Aug 2013 18:41:09 +0100
Subject: Add pCampbot "show bot" console command to show more detailed
information on a particular bot (e.g. what sims they are connected to)
---
OpenSim/Tools/pCampBot/Bot.cs | 11 +++++++-
OpenSim/Tools/pCampBot/BotManager.cs | 49 +++++++++++++++++++++++++++++++++++-
2 files changed, 58 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 27c086e..d418288 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -97,11 +97,20 @@ namespace pCampBot
///
public ConnectionState ConnectionState { get; private set; }
+ public List Simulators
+ {
+ get
+ {
+ lock (Client.Network.Simulators)
+ return new List(Client.Network.Simulators);
+ }
+ }
+
///
/// The number of connections that this bot has to different simulators.
///
/// Includes both root and child connections.
- public int ConnectionsCount
+ public int SimulatorsCount
{
get
{
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index f5b5256..303c8dd 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -208,6 +208,10 @@ namespace pCampBot
m_console.Commands.AddCommand(
"bot", false, "show bots", "show bots", "Shows the status of all bots", HandleShowBotsStatus);
+ m_console.Commands.AddCommand(
+ "bot", false, "show bot", "show bot ",
+ "Shows the detailed status and settings of a particular bot.", HandleShowBotStatus);
+
m_bots = new List();
}
@@ -549,7 +553,7 @@ namespace pCampBot
totals[pb.ConnectionState]++;
cdt.AddRow(
- pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState, pb.ConnectionsCount);
+ pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState, pb.SimulatorsCount);
}
}
@@ -563,6 +567,49 @@ namespace pCampBot
MainConsole.Instance.Output(cdl.ToString());
}
+ private void HandleShowBotStatus(string module, string[] cmd)
+ {
+ if (cmd.Length != 4)
+ {
+ MainConsole.Instance.Output("Usage: show bot ");
+ return;
+ }
+
+ string name = string.Format("{0} {1}", cmd[2], cmd[3]);
+
+ Bot bot;
+
+ lock (m_bots)
+ bot = m_bots.Find(b => b.Name == name);
+
+ if (bot == null)
+ {
+ MainConsole.Instance.Output("No bot found with name {0}", name);
+ return;
+ }
+
+ ConsoleDisplayList cdl = new ConsoleDisplayList();
+ cdl.AddRow("Name", bot.Name);
+ cdl.AddRow("Status", bot.ConnectionState);
+
+ Simulator currentSim = bot.Client.Network.CurrentSim;
+ cdl.AddRow("Region", currentSim != null ? currentSim.Name : "(none)");
+
+ List connectedSimulators = bot.Simulators;
+ List simulatorNames = connectedSimulators.ConvertAll(cs => cs.Name);
+ cdl.AddRow("Connections", string.Join(", ", simulatorNames));
+
+ MainConsole.Instance.Output(cdl.ToString());
+
+ MainConsole.Instance.Output("Settings");
+
+ ConsoleDisplayList statusCdl = new ConsoleDisplayList();
+ GridClient botClient = bot.Client;
+ statusCdl.AddRow("SEND_AGENT_UPDATES", botClient.Settings.SEND_AGENT_UPDATES);
+
+ MainConsole.Instance.Output(statusCdl.ToString());
+ }
+
internal void Grid_GridRegion(object o, GridRegionEventArgs args)
{
lock (RegionsKnown)
--
cgit v1.1
From 4a81465b91b6506200157f8679ae9192cd43b45f Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 20 Aug 2013 18:47:52 +0100
Subject: Fix build break from last commit a3e1b27 on mono 2.4.3
Looks like this level of mono doesn't have a string.Join() which will take a list rather than an array (or some implicit conversion isn't happening)
---
OpenSim/Tools/pCampBot/BotManager.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 303c8dd..13912ae 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -597,7 +597,7 @@ namespace pCampBot
List connectedSimulators = bot.Simulators;
List simulatorNames = connectedSimulators.ConvertAll(cs => cs.Name);
- cdl.AddRow("Connections", string.Join(", ", simulatorNames));
+ cdl.AddRow("Connections", string.Join(", ", simulatorNames.ToArray()));
MainConsole.Instance.Output(cdl.ToString());
--
cgit v1.1
From 66a7dc3a0de599068ea257cc2cefbbe4b95599c7 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 22 Aug 2013 20:12:14 +0100
Subject: In pCampbot, don't try and reconnect bots that are already connected
on console "connect" command
---
OpenSim/Tools/pCampBot/BotManager.cs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 13912ae..245c460 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -299,7 +299,8 @@ namespace pCampBot
break;
}
- m_bots[i].Connect();
+ if (m_bots[i].ConnectionState == ConnectionState.Disconnected)
+ m_bots[i].Connect();
}
// Stagger logins
--
cgit v1.1
From 51c7fb1969f4850750de4b37827e5e2e9d85f3e0 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 22 Aug 2013 23:11:05 +0100
Subject: Add "set bots" command to make it possible to set SEND_AGENT_UPDATES
on all bots whilst pCampbot is running
---
OpenSim/Tools/pCampBot/BotManager.cs | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 245c460..c335a6e 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -203,6 +203,9 @@ namespace pCampBot
HandleStand);
m_console.Commands.AddCommand(
+ "bot", false, "set bots", "set bots ", "Set a setting for all bots.", HandleSetBots);
+
+ m_console.Commands.AddCommand(
"bot", false, "show regions", "show regions", "Show regions known to bots", HandleShowRegions);
m_console.Commands.AddCommand(
@@ -519,6 +522,30 @@ namespace pCampBot
Environment.Exit(0);
}
+ private void HandleSetBots(string module, string[] cmd)
+ {
+ string key = cmd[2];
+ string rawValue = cmd[3];
+
+ if (key == "SEND_AGENT_UPDATES")
+ {
+ bool newSendAgentUpdatesSetting;
+
+ if (!ConsoleUtil.TryParseConsoleBool(MainConsole.Instance, rawValue, out newSendAgentUpdatesSetting))
+ return;
+
+ MainConsole.Instance.OutputFormat(
+ "Setting SEND_AGENT_UPDATES to {0} for all bots", newSendAgentUpdatesSetting);
+
+ lock (m_bots)
+ m_bots.ForEach(b => b.Client.Settings.SEND_AGENT_UPDATES = newSendAgentUpdatesSetting);
+ }
+ else
+ {
+ MainConsole.Instance.Output("Error: Only setting currently available is SEND_AGENT_UPDATES");
+ }
+ }
+
private void HandleShowRegions(string module, string[] cmd)
{
string outputFormat = "{0,-30} {1, -20} {2, -5} {3, -5}";
--
cgit v1.1
From 70f89ae65b09e9c2f0dc63cb416fea4cceb7dd13 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 22 Aug 2013 23:43:33 +0100
Subject: Make it possible to adjust the pCampbot login delay via the
[BotManager] LoginDelay parameter of pCampbot.ini
---
OpenSim/Tools/pCampBot/pCampBot.cs | 7 +++++++
1 file changed, 7 insertions(+)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index fc67398..aee5864 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -82,6 +82,13 @@ namespace pCampBot
IConfigSource configSource = new IniConfigSource(iniFilePath);
+ IConfig botManagerConfig = configSource.Configs["BotManager"];
+
+ if (botManagerConfig != null)
+ {
+ bm.LoginDelay = botManagerConfig.GetInt("LoginDelay", bm.LoginDelay);
+ }
+
IConfig botConfig = configSource.Configs["Bot"];
if (botConfig != null)
--
cgit v1.1
From 13556cf1296d3c928d6eb286a6a1c9058c9ab5e7 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 22 Aug 2013 23:49:19 +0100
Subject: Fix a further bug in pCampbot connect where ignoring already
connected bots was wrongly counted as a connect
Also, only sleep when we actually perform a connection
---
OpenSim/Tools/pCampBot/BotManager.cs | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index c335a6e..50a77ed 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -277,11 +277,11 @@ namespace pCampBot
connectBotThread.Start();
}
- private void ConnectBotsInternal(int botcount)
+ private void ConnectBotsInternal(int botCount)
{
MainConsole.Instance.OutputFormat(
"[BOT MANAGER]: Starting {0} bots connecting to {1}, location {2}, named {3} {4}_",
- botcount,
+ botCount,
m_loginUri,
m_startUri,
m_firstName,
@@ -291,7 +291,9 @@ namespace pCampBot
MainConsole.Instance.OutputFormat("[BOT MANAGER]: BotsSendAgentUpdates is {0}", InitBotSendAgentUpdates);
MainConsole.Instance.OutputFormat("[BOT MANAGER]: InitBotRequestObjectTextures is {0}", InitBotRequestObjectTextures);
- for (int i = 0; i < botcount; i++)
+ int connectedBots = 0;
+
+ for (int i = 0; i < m_bots.Count; i++)
{
lock (m_bots)
{
@@ -303,11 +305,17 @@ namespace pCampBot
}
if (m_bots[i].ConnectionState == ConnectionState.Disconnected)
+ {
m_bots[i].Connect();
- }
+ connectedBots++;
- // Stagger logins
- Thread.Sleep(LoginDelay);
+ if (connectedBots >= botCount)
+ break;
+
+ // Stagger logins
+ Thread.Sleep(LoginDelay);
+ }
+ }
}
ConnectingBots = false;
--
cgit v1.1
From 050617ae0ec13075db36449e8e5a4616c8bcd96e Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 23 Aug 2013 01:13:19 +0100
Subject: Make pCampbot "show bot" command take the bot number instead of the
full bot name
Shorter and can do this because bot names are uniform
---
OpenSim/Tools/pCampBot/BotManager.cs | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 50a77ed..5c3835b 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -212,7 +212,7 @@ namespace pCampBot
"bot", false, "show bots", "show bots", "Shows the status of all bots", HandleShowBotsStatus);
m_console.Commands.AddCommand(
- "bot", false, "show bot", "show bot ",
+ "bot", false, "show bot", "show bot ",
"Shows the detailed status and settings of a particular bot.", HandleShowBotStatus);
m_bots = new List();
@@ -605,13 +605,18 @@ namespace pCampBot
private void HandleShowBotStatus(string module, string[] cmd)
{
- if (cmd.Length != 4)
+ if (cmd.Length != 3)
{
- MainConsole.Instance.Output("Usage: show bot ");
+ MainConsole.Instance.Output("Usage: show bot ");
return;
}
- string name = string.Format("{0} {1}", cmd[2], cmd[3]);
+ int botNumber;
+
+ if (!ConsoleUtil.TryParseConsoleInt(MainConsole.Instance, cmd[2], out botNumber))
+ return;
+
+ string name = string.Format("{0} {1}_{2}", m_firstName, m_lastNameStem, botNumber);
Bot bot;
--
cgit v1.1
From 1a623bb266e78c9dc2648038de7b67d81b5a417e Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 23 Aug 2013 20:58:22 +0100
Subject: Rename pCampbot.ini -> pCampBot.ini (and example file) to be
consistent with other capitalizations of pCampBot
---
OpenSim/Tools/pCampBot/pCampBot.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/pCampBot.cs b/OpenSim/Tools/pCampBot/pCampBot.cs
index aee5864..781bb00 100644
--- a/OpenSim/Tools/pCampBot/pCampBot.cs
+++ b/OpenSim/Tools/pCampBot/pCampBot.cs
@@ -51,7 +51,7 @@ namespace pCampBot
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
- public const string ConfigFileName = "pCampbot.ini";
+ public const string ConfigFileName = "pCampBot.ini";
[STAThread]
public static void Main(string[] args)
--
cgit v1.1
From 9c652079361f496c46640ed67e964ee6164ce06e Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 3 Sep 2013 17:07:57 +0100
Subject: Show behaviours of pCampbot bots in "show bots" and "show bot"
console commands
---
.../Tools/pCampBot/Behaviours/AbstractBehaviour.cs | 5 +++++
.../Tools/pCampBot/Behaviours/CrossBehaviour.cs | 6 +++++-
.../Tools/pCampBot/Behaviours/GrabbingBehaviour.cs | 6 +++++-
OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs | 6 +++++-
.../Tools/pCampBot/Behaviours/PhysicsBehaviour.cs | 1 +
.../Tools/pCampBot/Behaviours/TeleportBehaviour.cs | 6 +++++-
OpenSim/Tools/pCampBot/BotManager.cs | 22 ++++++++++++++--------
OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs | 5 +++++
8 files changed, 45 insertions(+), 12 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs
index 9a9371d..66d5542 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs
@@ -35,6 +35,11 @@ namespace pCampBot
{
public class AbstractBehaviour : IBehaviour
{
+ ///
+ /// Abbreviated name of this behaviour.
+ ///
+ public string AbbreviatedName { get; protected set; }
+
public string Name { get; protected set; }
public Bot Bot { get; protected set; }
diff --git a/OpenSim/Tools/pCampBot/Behaviours/CrossBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/CrossBehaviour.cs
index 1e01c64..4d806fc 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/CrossBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/CrossBehaviour.cs
@@ -47,7 +47,11 @@ namespace pCampBot
public const int m_regionCrossingTimeout = 1000 * 60;
- public CrossBehaviour() { Name = "Cross"; }
+ public CrossBehaviour()
+ {
+ AbbreviatedName = "c";
+ Name = "Cross";
+ }
public override void Action()
{
diff --git a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
index 66a336a..6acc27d 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
@@ -41,7 +41,11 @@ namespace pCampBot
///
public class GrabbingBehaviour : AbstractBehaviour
{
- public GrabbingBehaviour() { Name = "Grabbing"; }
+ public GrabbingBehaviour()
+ {
+ AbbreviatedName = "g";
+ Name = "Grabbing";
+ }
public override void Action()
{
diff --git a/OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs
index 9cf8a54..9a3075c 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/NoneBehaviour.cs
@@ -38,6 +38,10 @@ namespace pCampBot
///
public class NoneBehaviour : AbstractBehaviour
{
- public NoneBehaviour() { Name = "None"; }
+ public NoneBehaviour()
+ {
+ AbbreviatedName = "n";
+ Name = "None";
+ }
}
}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
index daa7485..47b4d46 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
@@ -46,6 +46,7 @@ namespace pCampBot
public PhysicsBehaviour()
{
+ AbbreviatedName = "p";
Name = "Physics";
talkarray = readexcuses();
}
diff --git a/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
index fbb4e96..5f7edda 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
@@ -42,7 +42,11 @@ namespace pCampBot
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
- public TeleportBehaviour() { Name = "Teleport"; }
+ public TeleportBehaviour()
+ {
+ AbbreviatedName = "t";
+ Name = "Teleport";
+ }
public override void Action()
{
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 5c3835b..35a24d1 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -572,10 +572,11 @@ namespace pCampBot
private void HandleShowBotsStatus(string module, string[] cmd)
{
ConsoleDisplayTable cdt = new ConsoleDisplayTable();
- cdt.AddColumn("Name", 30);
- cdt.AddColumn("Region", 30);
- cdt.AddColumn("Status", 14);
- cdt.AddColumn("Connections", 11);
+ cdt.AddColumn("Name", 24);
+ cdt.AddColumn("Region", 24);
+ cdt.AddColumn("Status", 13);
+ cdt.AddColumn("Conns", 5);
+ cdt.AddColumn("Behaviours", 20);
Dictionary totals = new Dictionary();
foreach (object o in Enum.GetValues(typeof(ConnectionState)))
@@ -583,13 +584,17 @@ namespace pCampBot
lock (m_bots)
{
- foreach (Bot pb in m_bots)
+ foreach (Bot bot in m_bots)
{
- Simulator currentSim = pb.Client.Network.CurrentSim;
- totals[pb.ConnectionState]++;
+ Simulator currentSim = bot.Client.Network.CurrentSim;
+ totals[bot.ConnectionState]++;
cdt.AddRow(
- pb.Name, currentSim != null ? currentSim.Name : "(none)", pb.ConnectionState, pb.SimulatorsCount);
+ bot.Name,
+ currentSim != null ? currentSim.Name : "(none)",
+ bot.ConnectionState,
+ bot.SimulatorsCount,
+ string.Join(",", bot.Behaviours.ConvertAll(behaviour => behaviour.AbbreviatedName)));
}
}
@@ -645,6 +650,7 @@ namespace pCampBot
MainConsole.Instance.Output("Settings");
ConsoleDisplayList statusCdl = new ConsoleDisplayList();
+ statusCdl.AddRow("Behaviours", string.Join(", ", bot.Behaviours.ConvertAll(b => b.Name)));
GridClient botClient = bot.Client;
statusCdl.AddRow("SEND_AGENT_UPDATES", botClient.Settings.SEND_AGENT_UPDATES);
diff --git a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
index 9c984be..f8a661b 100644
--- a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
@@ -32,6 +32,11 @@ namespace pCampBot.Interfaces
public interface IBehaviour
{
///
+ /// Abbreviated name of this behaviour.
+ ///
+ string AbbreviatedName { get; }
+
+ ///
/// Name of this behaviour.
///
string Name { get; }
--
cgit v1.1
From a89c56dcf1e2645554f8b81b6f1e517b829cc3a4 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 3 Sep 2013 17:53:29 +0100
Subject: Fix build break from last commit 9c65207. Mono 2.4 lacks
string.join(string, List), or some auto casting is missing
---
OpenSim/Tools/pCampBot/BotManager.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 35a24d1..7d4af13 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -594,7 +594,7 @@ namespace pCampBot
currentSim != null ? currentSim.Name : "(none)",
bot.ConnectionState,
bot.SimulatorsCount,
- string.Join(",", bot.Behaviours.ConvertAll(behaviour => behaviour.AbbreviatedName)));
+ string.Join(",", bot.Behaviours.ConvertAll(behaviour => behaviour.AbbreviatedName).ToArray()));
}
}
--
cgit v1.1
From 01cb8033a42514728835a18a38f2a18349e83638 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 3 Sep 2013 17:55:20 +0100
Subject: And fix break in "show bot" from commit 9c65207
---
OpenSim/Tools/pCampBot/BotManager.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 7d4af13..3e446af 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -650,7 +650,7 @@ namespace pCampBot
MainConsole.Instance.Output("Settings");
ConsoleDisplayList statusCdl = new ConsoleDisplayList();
- statusCdl.AddRow("Behaviours", string.Join(", ", bot.Behaviours.ConvertAll(b => b.Name)));
+ statusCdl.AddRow("Behaviours", string.Join(", ", bot.Behaviours.ConvertAll(b => b.Name).ToArray()));
GridClient botClient = bot.Client;
statusCdl.AddRow("SEND_AGENT_UPDATES", botClient.Settings.SEND_AGENT_UPDATES);
--
cgit v1.1
From 9bd62715704685738c55c6de8127b16cc6695bdb Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 3 Sep 2013 18:51:55 +0100
Subject: Add ability to adjust pCampbot bot behaviours whilst running with
"add behaviour " console commad
---
OpenSim/Tools/pCampBot/Bot.cs | 51 ++++++++----
OpenSim/Tools/pCampBot/BotManager.cs | 147 ++++++++++++++++++++++++++++-------
2 files changed, 157 insertions(+), 41 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index d418288..6037516 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -72,9 +72,10 @@ namespace pCampBot
/// Behaviours implemented by this bot.
///
///
- /// Lock this list before manipulating it.
+ /// Indexed by abbreviated name. There can only be one instance of a particular behaviour.
+ /// Lock this structure before manipulating it.
///
- public List Behaviours { get; private set; }
+ public Dictionary Behaviours { get; private set; }
///
/// Objects that the bot has discovered.
@@ -165,8 +166,6 @@ namespace pCampBot
{
ConnectionState = ConnectionState.Disconnected;
- behaviours.ForEach(b => b.Initialize(this));
-
Random = new Random(Environment.TickCount);// We do stuff randomly here
FirstName = firstName;
LastName = lastName;
@@ -176,12 +175,31 @@ namespace pCampBot
StartLocation = startLocation;
Manager = bm;
- Behaviours = behaviours;
+
+ Behaviours = new Dictionary();
+ foreach (IBehaviour behaviour in behaviours)
+ AddBehaviour(behaviour);
// Only calling for use as a template.
CreateLibOmvClient();
}
+ public bool AddBehaviour(IBehaviour behaviour)
+ {
+ lock (Behaviours)
+ {
+ if (!Behaviours.ContainsKey(behaviour.AbbreviatedName))
+ {
+ behaviour.Initialize(this);
+ Behaviours.Add(behaviour.AbbreviatedName, behaviour);
+
+ return true;
+ }
+ }
+
+ return false;
+ }
+
private void CreateLibOmvClient()
{
GridClient newClient = new GridClient();
@@ -237,16 +255,21 @@ namespace pCampBot
private void Action()
{
while (ConnectionState != ConnectionState.Disconnecting)
+ {
lock (Behaviours)
- Behaviours.ForEach(
- b =>
- {
- Thread.Sleep(Random.Next(3000, 10000));
-
- // m_log.DebugFormat("[pCAMPBOT]: For {0} performing action {1}", Name, b.GetType());
- b.Action();
- }
- );
+ {
+ foreach (IBehaviour behaviour in Behaviours.Values)
+ {
+ Thread.Sleep(Random.Next(3000, 10000));
+
+ // m_log.DebugFormat("[pCAMPBOT]: For {0} performing action {1}", Name, b.GetType());
+ behaviour.Action();
+ }
+ }
+
+ // XXX: This is a really shitty way of yielding so that behaviours can be added/removed
+ Thread.Sleep(100);
+ }
}
///
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 3e446af..51c5ff4 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -140,7 +140,7 @@ namespace pCampBot
///
/// Behaviour switches for bots.
///
- private HashSet m_behaviourSwitches = new HashSet();
+ private HashSet m_defaultBehaviourSwitches = new HashSet();
///
/// Constructor Creates MainConsole.Instance to take commands and provide the place to write data
@@ -195,6 +195,18 @@ namespace pCampBot
HandleDisconnect);
m_console.Commands.AddCommand(
+ "bot", false, "add behaviour", "add behaviour ",
+ "Add a behaviour to a bot",
+ "Can be performed on connected or disconnected bots.",
+ HandleAddBehaviour);
+
+// m_console.Commands.AddCommand(
+// "bot", false, "remove behaviour", "remove behaviour ",
+// "Remove a behaviour from a bot",
+// "Can be performed on connected or disconnected bots.",
+// HandleRemoveBehaviour);
+
+ m_console.Commands.AddCommand(
"bot", false, "sit", "sit", "Sit all bots on the ground.",
HandleSit);
@@ -235,7 +247,7 @@ namespace pCampBot
m_startUri = ParseInputStartLocationToUri(startupConfig.GetString("start", "last"));
Array.ForEach(
- startupConfig.GetString("behaviours", "p").Split(new char[] { ',' }), b => m_behaviourSwitches.Add(b));
+ startupConfig.GetString("behaviours", "p").Split(new char[] { ',' }), b => m_defaultBehaviourSwitches.Add(b));
for (int i = 0; i < botcount; i++)
{
@@ -243,28 +255,50 @@ namespace pCampBot
{
string lastName = string.Format("{0}_{1}", m_lastNameStem, i + m_fromBotNumber);
- // We must give each bot its own list of instantiated behaviours since they store state.
- List behaviours = new List();
-
- // Hard-coded for now
- if (m_behaviourSwitches.Contains("c"))
- behaviours.Add(new CrossBehaviour());
+ CreateBot(
+ this,
+ CreateBehavioursFromAbbreviatedNames(m_defaultBehaviourSwitches),
+ m_firstName, lastName, m_password, m_loginUri, m_startUri, m_wearSetting);
+ }
+ }
+ }
+
+ private List CreateBehavioursFromAbbreviatedNames(HashSet abbreviatedNames)
+ {
+ // We must give each bot its own list of instantiated behaviours since they store state.
+ List behaviours = new List();
+
+ // Hard-coded for now
+ foreach (string abName in abbreviatedNames)
+ {
+ IBehaviour newBehaviour = null;
+
+ if (abName == "c")
+ newBehaviour = new CrossBehaviour();
+
+ if (abName == "g")
+ newBehaviour = new GrabbingBehaviour();
- if (m_behaviourSwitches.Contains("g"))
- behaviours.Add(new GrabbingBehaviour());
+ if (abName == "n")
+ newBehaviour = new NoneBehaviour();
- if (m_behaviourSwitches.Contains("n"))
- behaviours.Add(new NoneBehaviour());
+ if (abName == "p")
+ newBehaviour = new PhysicsBehaviour();
- if (m_behaviourSwitches.Contains("p"))
- behaviours.Add(new PhysicsBehaviour());
-
- if (m_behaviourSwitches.Contains("t"))
- behaviours.Add(new TeleportBehaviour());
+ if (abName == "t")
+ newBehaviour = new TeleportBehaviour();
- CreateBot(this, behaviours, m_firstName, lastName, m_password, m_loginUri, m_startUri, m_wearSetting);
+ if (newBehaviour != null)
+ {
+ behaviours.Add(newBehaviour);
+ }
+ else
+ {
+ MainConsole.Instance.OutputFormat("No behaviour with abbreviated name {0} found", abName);
}
}
+
+ return behaviours;
}
public void ConnectBots(int botcount)
@@ -453,6 +487,44 @@ namespace pCampBot
}
}
+ private void HandleAddBehaviour(string module, string[] cmd)
+ {
+ if (cmd.Length != 4)
+ {
+ MainConsole.Instance.OutputFormat("Usage: add behaviour ");
+ return;
+ }
+
+ string rawBehaviours = cmd[2];
+ int botNumber;
+
+ if (!ConsoleUtil.TryParseConsoleNaturalInt(MainConsole.Instance, cmd[3], out botNumber))
+ return;
+
+ Bot bot = GetBotFromNumber(botNumber);
+
+ if (bot == null)
+ {
+ MainConsole.Instance.OutputFormat("Error: No bot found with number {0}", botNumber);
+ return;
+ }
+
+ HashSet rawAbbreviatedSwitchesToAdd = new HashSet();
+ Array.ForEach(rawBehaviours.Split(new char[] { ',' }), b => rawAbbreviatedSwitchesToAdd.Add(b));
+
+ List behavioursAdded = new List();
+
+ foreach (IBehaviour behaviour in CreateBehavioursFromAbbreviatedNames(rawAbbreviatedSwitchesToAdd))
+ {
+ if (bot.AddBehaviour(behaviour))
+ behavioursAdded.Add(behaviour);
+ }
+
+ MainConsole.Instance.OutputFormat(
+ "Added behaviours {0} to bot {1}",
+ string.Join(", ", behavioursAdded.ConvertAll(b => b.Name).ToArray()), bot.Name);
+ }
+
private void HandleDisconnect(string module, string[] cmd)
{
lock (m_bots)
@@ -594,7 +666,7 @@ namespace pCampBot
currentSim != null ? currentSim.Name : "(none)",
bot.ConnectionState,
bot.SimulatorsCount,
- string.Join(",", bot.Behaviours.ConvertAll(behaviour => behaviour.AbbreviatedName).ToArray()));
+ string.Join(",", bot.Behaviours.Keys.ToArray()));
}
}
@@ -621,16 +693,11 @@ namespace pCampBot
if (!ConsoleUtil.TryParseConsoleInt(MainConsole.Instance, cmd[2], out botNumber))
return;
- string name = string.Format("{0} {1}_{2}", m_firstName, m_lastNameStem, botNumber);
-
- Bot bot;
-
- lock (m_bots)
- bot = m_bots.Find(b => b.Name == name);
+ Bot bot = GetBotFromNumber(botNumber);
if (bot == null)
{
- MainConsole.Instance.Output("No bot found with name {0}", name);
+ MainConsole.Instance.OutputFormat("Error: No bot found with number {0}", botNumber);
return;
}
@@ -650,13 +717,39 @@ namespace pCampBot
MainConsole.Instance.Output("Settings");
ConsoleDisplayList statusCdl = new ConsoleDisplayList();
- statusCdl.AddRow("Behaviours", string.Join(", ", bot.Behaviours.ConvertAll(b => b.Name).ToArray()));
+
+ statusCdl.AddRow(
+ "Behaviours",
+ string.Join(", ", bot.Behaviours.Values.ToList().ConvertAll(b => b.Name).ToArray()));
+
GridClient botClient = bot.Client;
statusCdl.AddRow("SEND_AGENT_UPDATES", botClient.Settings.SEND_AGENT_UPDATES);
MainConsole.Instance.Output(statusCdl.ToString());
}
+ ///
+ /// Get a specific bot from its number.
+ ///
+ /// null if no bot was found
+ ///
+ private Bot GetBotFromNumber(int botNumber)
+ {
+ string name = GenerateBotNameFromNumber(botNumber);
+
+ Bot bot;
+
+ lock (m_bots)
+ bot = m_bots.Find(b => b.Name == name);
+
+ return bot;
+ }
+
+ private string GenerateBotNameFromNumber(int botNumber)
+ {
+ return string.Format("{0} {1}_{2}", m_firstName, m_lastNameStem, botNumber);
+ }
+
internal void Grid_GridRegion(object o, GridRegionEventArgs args)
{
lock (RegionsKnown)
--
cgit v1.1
From 1a2627031d8a80b1d5e21fd2d13e4dc2b123c0b4 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 3 Sep 2013 19:05:54 +0100
Subject: Add pCampbot "remove behaviour" console command for removing bot
behaviours during operation.
Doesn't currently work very well as stopping physics, for instance, can leave bot travelling in old direction
---
OpenSim/Tools/pCampBot/Bot.cs | 12 ++++++++
OpenSim/Tools/pCampBot/BotManager.cs | 53 ++++++++++++++++++++++++++++++++----
2 files changed, 60 insertions(+), 5 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 6037516..0bd8151 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -184,6 +184,12 @@ namespace pCampBot
CreateLibOmvClient();
}
+ public bool TryGetBehaviour(string abbreviatedName, out IBehaviour behaviour)
+ {
+ lock (Behaviours)
+ return Behaviours.TryGetValue(abbreviatedName, out behaviour);
+ }
+
public bool AddBehaviour(IBehaviour behaviour)
{
lock (Behaviours)
@@ -200,6 +206,12 @@ namespace pCampBot
return false;
}
+ public bool RemoveBehaviour(string abbreviatedName)
+ {
+ lock (Behaviours)
+ return Behaviours.Remove(abbreviatedName);
+ }
+
private void CreateLibOmvClient()
{
GridClient newClient = new GridClient();
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 51c5ff4..6433c2e 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -200,11 +200,11 @@ namespace pCampBot
"Can be performed on connected or disconnected bots.",
HandleAddBehaviour);
-// m_console.Commands.AddCommand(
-// "bot", false, "remove behaviour", "remove behaviour ",
-// "Remove a behaviour from a bot",
-// "Can be performed on connected or disconnected bots.",
-// HandleRemoveBehaviour);
+ m_console.Commands.AddCommand(
+ "bot", false, "remove behaviour", "remove behaviour ",
+ "Remove a behaviour from a bot",
+ "Can be performed on connected or disconnected bots.",
+ HandleRemoveBehaviour);
m_console.Commands.AddCommand(
"bot", false, "sit", "sit", "Sit all bots on the ground.",
@@ -525,6 +525,49 @@ namespace pCampBot
string.Join(", ", behavioursAdded.ConvertAll(b => b.Name).ToArray()), bot.Name);
}
+ private void HandleRemoveBehaviour(string module, string[] cmd)
+ {
+ if (cmd.Length != 4)
+ {
+ MainConsole.Instance.OutputFormat("Usage: remove behaviour ");
+ return;
+ }
+
+ string rawBehaviours = cmd[2];
+ int botNumber;
+
+ if (!ConsoleUtil.TryParseConsoleNaturalInt(MainConsole.Instance, cmd[3], out botNumber))
+ return;
+
+ Bot bot = GetBotFromNumber(botNumber);
+
+ if (bot == null)
+ {
+ MainConsole.Instance.OutputFormat("Error: No bot found with number {0}", botNumber);
+ return;
+ }
+
+ HashSet abbreviatedBehavioursToRemove = new HashSet();
+ List behavioursRemoved = new List();
+
+ Array.ForEach(rawBehaviours.Split(new char[] { ',' }), b => abbreviatedBehavioursToRemove.Add(b));
+
+ foreach (string b in abbreviatedBehavioursToRemove)
+ {
+ IBehaviour behaviour;
+
+ if (bot.TryGetBehaviour(b, out behaviour))
+ {
+ bot.RemoveBehaviour(b);
+ behavioursRemoved.Add(behaviour);
+ }
+ }
+
+ MainConsole.Instance.OutputFormat(
+ "Removed behaviours {0} to bot {1}",
+ string.Join(", ", behavioursRemoved.ConvertAll(b => b.Name).ToArray()), bot.Name);
+ }
+
private void HandleDisconnect(string module, string[] cmd)
{
lock (m_bots)
--
cgit v1.1
From 3dbe7313d1c3fc28f0642531fbb6e238a98ac821 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 3 Sep 2013 19:33:17 +0100
Subject: Add Close() method to IBehaviour to allow behaviours to cleanup when
removed or bot it disconnected.
In this case, it is used to turn off jump when physics testing behaviour is removed.
---
OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs | 2 ++
OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs | 5 +++++
OpenSim/Tools/pCampBot/Bot.cs | 16 +++++++++++++++-
OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs | 8 ++++++++
4 files changed, 30 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs
index 66d5542..9bc8512 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/AbstractBehaviour.cs
@@ -50,5 +50,7 @@ namespace pCampBot
{
Bot = bot;
}
+
+ public virtual void Close() {}
}
}
diff --git a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
index 47b4d46..65a7c90 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/PhysicsBehaviour.cs
@@ -78,6 +78,11 @@ namespace pCampBot
Bot.Client.Self.Chat(randomf, 0, ChatType.Normal);
}
+ public override void Close()
+ {
+ Bot.Client.Self.Jump(false);
+ }
+
private string[] readexcuses()
{
string allexcuses = "";
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index 0bd8151..f871b77 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -209,7 +209,17 @@ namespace pCampBot
public bool RemoveBehaviour(string abbreviatedName)
{
lock (Behaviours)
- return Behaviours.Remove(abbreviatedName);
+ {
+ IBehaviour behaviour;
+
+ if (!Behaviours.TryGetValue(abbreviatedName, out behaviour))
+ return false;
+
+ behaviour.Close();
+ Behaviours.Remove(abbreviatedName);
+
+ return true;
+ }
}
private void CreateLibOmvClient()
@@ -282,6 +292,10 @@ namespace pCampBot
// XXX: This is a really shitty way of yielding so that behaviours can be added/removed
Thread.Sleep(100);
}
+
+ lock (Behaviours)
+ foreach (IBehaviour b in Behaviours.Values)
+ b.Close();
}
///
diff --git a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
index f8a661b..0ed4825 100644
--- a/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Interfaces/IBehaviour.cs
@@ -51,6 +51,14 @@ namespace pCampBot.Interfaces
void Initialize(Bot bot);
///
+ /// Close down this behaviour.
+ ///
+ ///
+ /// This is triggered if a behaviour is removed via explicit command and when a bot is disconnected
+ ///
+ void Close();
+
+ ///
/// Action to take when this behaviour is invoked.
///
///
--
cgit v1.1
From 76bd2e2d727a15e5d3bc9045bdef6faaeca4a08f Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 3 Sep 2013 19:41:12 +0100
Subject: Consistently give responsibility for thread sleeping to behaviours
rather than controlling from the main action loop
This is to avoid excessive and inconsistent delays between behaviours that currently need to embed sleeps in other actions (e.g. physics) and other behaviours.
Might need a more sophisticated approach in the long term.
---
OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs | 3 +++
OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs | 3 +++
OpenSim/Tools/pCampBot/Bot.cs | 2 +-
3 files changed, 7 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
index 6acc27d..59f6244 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/GrabbingBehaviour.cs
@@ -29,6 +29,7 @@ using OpenMetaverse;
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Threading;
using pCampBot.Interfaces;
namespace pCampBot
@@ -60,6 +61,8 @@ namespace pCampBot
Bot.Client.Self.Grab(prim.LocalID);
Bot.Client.Self.GrabUpdate(prim.ID, Vector3.Zero);
Bot.Client.Self.DeGrab(prim.LocalID);
+
+ Thread.Sleep(1000);
}
}
}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs b/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
index 5f7edda..81f250d 100644
--- a/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
+++ b/OpenSim/Tools/pCampBot/Behaviours/TeleportBehaviour.cs
@@ -29,6 +29,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
+using System.Threading;
using log4net;
using OpenMetaverse;
using pCampBot.Interfaces;
@@ -74,6 +75,8 @@ namespace pCampBot
Bot.Name, sourceRegion.Name, Bot.Client.Self.SimPosition, destRegion.Name, destPosition);
Bot.Client.Self.Teleport(destRegion.RegionHandle, destPosition);
+
+ Thread.Sleep(Bot.Random.Next(3000, 10000));
}
}
}
\ No newline at end of file
diff --git a/OpenSim/Tools/pCampBot/Bot.cs b/OpenSim/Tools/pCampBot/Bot.cs
index f871b77..d0a4ef3 100644
--- a/OpenSim/Tools/pCampBot/Bot.cs
+++ b/OpenSim/Tools/pCampBot/Bot.cs
@@ -282,7 +282,7 @@ namespace pCampBot
{
foreach (IBehaviour behaviour in Behaviours.Values)
{
- Thread.Sleep(Random.Next(3000, 10000));
+// Thread.Sleep(Random.Next(3000, 10000));
// m_log.DebugFormat("[pCAMPBOT]: For {0} performing action {1}", Name, b.GetType());
behaviour.Action();
--
cgit v1.1
From 9c3c9b7f5f62a7ed892f691180b765a9190cbbcc Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 3 Sep 2013 19:57:34 +0100
Subject: Make pCampbot "add behaviour" and "remove behaviour" console commands
work for all bots if no bot number is given
---
OpenSim/Tools/pCampBot/BotManager.cs | 123 ++++++++++++++++++++++-------------
1 file changed, 78 insertions(+), 45 deletions(-)
(limited to 'OpenSim/Tools')
diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs
index 6433c2e..3c1b11e 100644
--- a/OpenSim/Tools/pCampBot/BotManager.cs
+++ b/OpenSim/Tools/pCampBot/BotManager.cs
@@ -195,15 +195,17 @@ namespace pCampBot
HandleDisconnect);
m_console.Commands.AddCommand(
- "bot", false, "add behaviour", "add behaviour ",
+ "bot", false, "add behaviour", "add behaviour []",
"Add a behaviour to a bot",
- "Can be performed on connected or disconnected bots.",
+ "If no bot number is specified then behaviour is added to all bots.\n"
+ + "Can be performed on connected or disconnected bots.",
HandleAddBehaviour);
m_console.Commands.AddCommand(
- "bot", false, "remove behaviour", "remove behaviour ",
+ "bot", false, "remove behaviour", "remove behaviour []",
"Remove a behaviour from a bot",
- "Can be performed on connected or disconnected bots.",
+ "If no bot number is specified then behaviour is added to all bots.\n"
+ + "Can be performed on connected or disconnected bots.",
HandleRemoveBehaviour);
m_console.Commands.AddCommand(
@@ -224,7 +226,7 @@ namespace pCampBot
"bot", false, "show bots", "show bots", "Shows the status of all bots", HandleShowBotsStatus);
m_console.Commands.AddCommand(
- "bot", false, "show bot", "show bot ",
+ "bot", false, "show bot", "show bot ",
"Shows the detailed status and settings of a particular bot.", HandleShowBotStatus);
m_bots = new List();
@@ -489,83 +491,114 @@ namespace pCampBot
private void HandleAddBehaviour(string module, string[] cmd)
{
- if (cmd.Length != 4)
+ if (cmd.Length < 3 || cmd.Length > 4)
{
- MainConsole.Instance.OutputFormat("Usage: add behaviour ");
+ MainConsole.Instance.OutputFormat("Usage: add behaviour []");
return;
}
string rawBehaviours = cmd[2];
- int botNumber;
-
- if (!ConsoleUtil.TryParseConsoleNaturalInt(MainConsole.Instance, cmd[3], out botNumber))
- return;
- Bot bot = GetBotFromNumber(botNumber);
+ List botsToEffect = new List();
- if (bot == null)
+ if (cmd.Length == 3)
{
- MainConsole.Instance.OutputFormat("Error: No bot found with number {0}", botNumber);
- return;
+ lock (m_bots)
+ botsToEffect.AddRange(m_bots);
}
+ else
+ {
+ int botNumber;
+ if (!ConsoleUtil.TryParseConsoleNaturalInt(MainConsole.Instance, cmd[3], out botNumber))
+ return;
+
+ Bot bot = GetBotFromNumber(botNumber);
+
+ if (bot == null)
+ {
+ MainConsole.Instance.OutputFormat("Error: No bot found with number {0}", botNumber);
+ return;
+ }
+
+ botsToEffect.Add(bot);
+ }
+
HashSet rawAbbreviatedSwitchesToAdd = new HashSet();
Array.ForEach