Procházet zdrojové kódy

Rewrote svn properties handling script in python. Added more file types.

Jeff Ames před 16 roky
rodič
revize
20215c3d30
45 změnil soubory, kde provedl 2447 přidání a 2341 odebrání
  1. 135 135
      OpenSim/Tools/OpenSim.GUI/Main.resx
  2. 93 93
      OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj
  3. 116 116
      OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx
  4. 7 7
      OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings
  5. 128 128
      OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx
  6. 151 151
      OpenSim/Tools/Windows/Installer/OpenSim.nsi
  7. 260 260
      Prebuild/scripts/Clean.bat
  8. 105 105
      bin/assets/BodyPartsAssetSet/base_shape.dat
  9. 52 52
      bin/assets/BodyPartsAssetSet/base_skin.dat
  10. 49 49
      bin/assets/BodyPartsAssetSet/goblin_skin.dat
  11. 105 105
      bin/assets/BodyPartsAssetSet/jim_shape.dat
  12. 50 50
      bin/assets/BodyPartsAssetSet/jim_skin.dat
  13. 105 105
      bin/assets/BodyPartsAssetSet/little_goblin_shape.dat
  14. 63 63
      bin/assets/BodyPartsAssetSet/newhair.dat
  15. 33 33
      bin/assets/ClothingAssetSet/newpants.dat
  16. 34 34
      bin/assets/ClothingAssetSet/newshirt.dat
  17. 52 52
      bin/assets/OpenSimAssetSet/base_skin.dat
  18. 9 9
      bin/assets/OpenSimAssetSet/jim_shape.dat
  19. 8 8
      bin/assets/OpenSimAssetSet/jim_skin.dat
  20. 9 9
      bin/assets/OpenSimAssetSet/little_goblin_shape.dat
  21. 33 33
      bin/assets/OpenSimAssetSet/newpants.dat
  22. 34 34
      bin/assets/OpenSimAssetSet/newshirt.dat
  23. 7 7
      bin/assets/ScriptsAssetSet/llAbs.lsl
  24. 8 8
      bin/assets/ScriptsAssetSet/llAcos.lsl
  25. 84 84
      bin/assets/ScriptsAssetSet/llAddToLandBanList.lsl
  26. 84 84
      bin/assets/ScriptsAssetSet/llAddToLandPassList.lsl
  27. 13 13
      bin/assets/ScriptsAssetSet/llAdjustSoundVolume.lsl
  28. 17 17
      bin/assets/ScriptsAssetSet/llAllowInventoryDrop.lsl
  29. 11 11
      bin/assets/ScriptsAssetSet/llAngleBetween.lsl
  30. 16 16
      bin/assets/ScriptsAssetSet/llApplyImpulse.lsl
  31. 9 9
      bin/assets/ScriptsAssetSet/llAsin.lsl
  32. 11 11
      bin/assets/ScriptsAssetSet/llAtan2.lsl
  33. 20 20
      bin/assets/ScriptsAssetSet/llAvatarOnSitTarget.lsl
  34. 8 8
      bin/assets/ScriptsAssetSet/llBase64ToString.lsl
  35. 84 84
      bin/assets/ScriptsAssetSet/llRemoveFromLandBanList.lsl
  36. 84 84
      bin/assets/ScriptsAssetSet/llRemoveFromLandPassList.lsl
  37. 84 84
      bin/assets/ScriptsAssetSet/llResetLandBanList.lsl
  38. 84 84
      bin/assets/ScriptsAssetSet/llResetLandPassList.lsl
  39. 7 7
      bin/assets/ScriptsAssetSet/llSay.lsl
  40. 7 7
      bin/assets/ScriptsAssetSet/llSetParcelMusicURL.lsl
  41. 13 13
      bin/assets/ScriptsAssetSet/llSetRot.lsl
  42. 5 5
      bin/libode.dylib
  43. 1 1
      runprebuild.bat
  44. 0 53
      set-svn-properties.sh
  45. 159 0
      share/php/generateUserFunction.php

+ 135 - 135
OpenSim/Tools/OpenSim.GUI/Main.resx

@@ -1,135 +1,135 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>126, 17</value>
-  </metadata>
-  <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>209, 17</value>
-  </metadata>
-  <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>209, 17</value>
-  </metadata>
-  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>39</value>
-  </metadata>
-</root>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>126, 17</value>
+  </metadata>
+  <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>209, 17</value>
+  </metadata>
+  <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>209, 17</value>
+  </metadata>
+  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>39</value>
+  </metadata>
+</root>

+ 93 - 93
OpenSim/Tools/OpenSim.GUI/OpenSim.GUI.csproj

@@ -1,94 +1,94 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}</ProjectGuid>
-    <OutputType>WinExe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>OpenSim.GUI</RootNamespace>
-    <AssemblyName>OpenSim.GUI</AssemblyName>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>..\..\..\bin\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Deployment" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="frmConfiguration.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="frmConfiguration.Designer.cs">
-      <DependentUpon>frmConfiguration.cs</DependentUpon>
-    </Compile>
-    <Compile Include="InputTextBoxControl.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="Main.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="Main.Designer.cs">
-      <DependentUpon>Main.cs</DependentUpon>
-    </Compile>
-    <Compile Include="ProcessManager.cs">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="Program.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <EmbeddedResource Include="frmConfiguration.resx">
-      <SubType>Designer</SubType>
-      <DependentUpon>frmConfiguration.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Main.resx">
-      <SubType>Designer</SubType>
-      <DependentUpon>Main.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Properties\Resources.resx">
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <Compile Include="Properties\Resources.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DependentUpon>Resources.resx</DependentUpon>
-    </Compile>
-    <None Include="Properties\Settings.settings">
-      <Generator>SettingsSingleFileGenerator</Generator>
-      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
-    </None>
-    <Compile Include="Properties\Settings.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DependentUpon>Settings.settings</DependentUpon>
-      <DesignTimeSharedInput>True</DesignTimeSharedInput>
-    </Compile>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{78AEEDD5-4DA8-4E05-8D53-F3C5476A0B97}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>OpenSim.GUI</RootNamespace>
+    <AssemblyName>OpenSim.GUI</AssemblyName>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Deployment" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="frmConfiguration.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="frmConfiguration.Designer.cs">
+      <DependentUpon>frmConfiguration.cs</DependentUpon>
+    </Compile>
+    <Compile Include="InputTextBoxControl.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="Main.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Main.Designer.cs">
+      <DependentUpon>Main.cs</DependentUpon>
+    </Compile>
+    <Compile Include="ProcessManager.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <EmbeddedResource Include="frmConfiguration.resx">
+      <SubType>Designer</SubType>
+      <DependentUpon>frmConfiguration.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Main.resx">
+      <SubType>Designer</SubType>
+      <DependentUpon>Main.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
 </Project>

+ 116 - 116
OpenSim/Tools/OpenSim.GUI/Properties/Resources.resx

@@ -1,117 +1,117 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
 </root>

+ 7 - 7
OpenSim/Tools/OpenSim.GUI/Properties/Settings.settings

@@ -1,7 +1,7 @@
-<?xml version='1.0' encoding='utf-8'?>
-<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
-  <Profiles>
-    <Profile Name="(Default)" />
-  </Profiles>
-  <Settings />
-</SettingsFile>
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>

+ 128 - 128
OpenSim/Tools/OpenSim.GUI/frmConfiguration.resx

@@ -1,129 +1,129 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="textBox1.Text" xml:space="preserve">
-    <value>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?</value>
-  </data>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="textBox1.Text" xml:space="preserve">
+    <value>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?</value>
+  </data>
 </root>

+ 151 - 151
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

+ 260 - 260
Prebuild/scripts/Clean.bat

@@ -1,261 +1,261 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd"
-	xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd">
-	<xs:annotation>
-		<xs:documentation>
-			Copyright (c) 2004-2005 Matthew Holmes (calefaction at houston . rr . com), Dan Moorehead (dan05a at gmail . com), David Hudson (jendave at  yahoo dot com)
-
-			.NET Prebuild is a cross-platform XML-driven pre-build tool which
-			allows developers to easily generate project or make files for major
-			IDE's and .NET development tools including: Visual Studio .NET 2002 and
-			2003, SharpDevelop, MonoDevelop, and NAnt.
-
-			BSD License:
-			
-			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. 
-			* The name of the author may not be used to endorse or promote products derived from this software 
-			  without specific prior written permission. 
-
-			THIS SOFTWARE IS PROVIDED BY THE AUTHOR '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 AUTHOR 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.
-		</xs:documentation>
-	</xs:annotation>
-	<xs:element name="Prebuild">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="Process" minOccurs="0" maxOccurs="unbounded" />
-				<xs:element ref="Solution" minOccurs="0" maxOccurs="unbounded" />
-			</xs:sequence>
-			<xs:attribute name="version" />
-			<xs:attribute name="checkOsVars" />
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Process" type="xs:string" />
-	<xs:element name="Solution">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="Options" minOccurs="0" />
-				<xs:element ref="Configuration" minOccurs="1" maxOccurs="unbounded" />
-				<xs:element ref="Files" minOccurs="0" />
-				<xs:element ref="Project" minOccurs="1" maxOccurs="unbounded" />
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required" />
-			<xs:attribute name="activeConfig" type="xs:string" default="Debug" />
+<?xml version="1.0" encoding="utf-8" ?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd"
+	xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd">
+	<xs:annotation>
+		<xs:documentation>
+			Copyright (c) 2004-2005 Matthew Holmes (calefaction at houston . rr . com), Dan Moorehead (dan05a at gmail . com), David Hudson (jendave at  yahoo dot com)
+
+			.NET Prebuild is a cross-platform XML-driven pre-build tool which
+			allows developers to easily generate project or make files for major
+			IDE's and .NET development tools including: Visual Studio .NET 2002 and
+			2003, SharpDevelop, MonoDevelop, and NAnt.
+
+			BSD License:
+			
+			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. 
+			* The name of the author may not be used to endorse or promote products derived from this software 
+			  without specific prior written permission. 
+
+			THIS SOFTWARE IS PROVIDED BY THE AUTHOR '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 AUTHOR 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.
+		</xs:documentation>
+	</xs:annotation>
+	<xs:element name="Prebuild">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element ref="Process" minOccurs="0" maxOccurs="unbounded" />
+				<xs:element ref="Solution" minOccurs="0" maxOccurs="unbounded" />
+			</xs:sequence>
+			<xs:attribute name="version" />
+			<xs:attribute name="checkOsVars" />
+		</xs:complexType>
+	</xs:element>
+	<xs:element name="Process" type="xs:string" />
+	<xs:element name="Solution">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element ref="Options" minOccurs="0" />
+				<xs:element ref="Configuration" minOccurs="1" maxOccurs="unbounded" />
+				<xs:element ref="Files" minOccurs="0" />
+				<xs:element ref="Project" minOccurs="1" maxOccurs="unbounded" />
+			</xs:sequence>
+			<xs:attribute name="name" type="xs:string" use="required" />
+			<xs:attribute name="activeConfig" type="xs:string" default="Debug" />
 			<xs:attribute name="path" type="xs:string" default="" />
-			<xs:attribute name="version" type="xs:string" default="1.0.0" />
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Project">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="Configuration" minOccurs="0" maxOccurs="unbounded" />
-				<xs:element name="ReferencePath" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
-				<xs:element name="Reference" minOccurs="0" maxOccurs="unbounded">
-					<xs:complexType>
-						<xs:attribute name="name" type="xs:string" use="required" />
-						<xs:attribute name="path" type="xs:string" />
-						<xs:attribute name="localCopy" type="xs:boolean" />
-						<xs:attribute name="version" type="xs:string" default="1.0.0"/>
-					</xs:complexType>
-				</xs:element>
-				<xs:element ref="Files" />
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required" />
-			<xs:attribute name="designerFolder" type="xs:string" default="" />
-			<xs:attribute name="filterGroups" type="xs:string" default="" />
-			<xs:attribute name="path" type="xs:string" default="" />
-			<xs:attribute name="icon" type="xs:string" default="" />
-			<xs:attribute name="language" default="C#">
-				<xs:simpleType>
-					<xs:restriction base="xs:string">
-						<xs:enumeration value="C#" />
-						<xs:enumeration value="VB.NET" />
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="type" default="Exe">
-				<xs:simpleType>
-					<xs:restriction base="xs:string">
-						<xs:enumeration value="Exe" />
-						<xs:enumeration value="WinExe" />
-						<xs:enumeration value="Library" />
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="runtime" default="Microsoft">
-				<xs:simpleType>
-					<xs:restriction base="xs:string">
-						<xs:enumeration value="Microsoft" />
-						<xs:enumeration value="Mono" />
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="startupObject" type="xs:string" default="" />
-			<xs:attribute name="rootNamespace" type="xs:string" />
-			<xs:attribute name="assemblyName" type="xs:string" />
-      <xs:attribute name="generateAssemblyInfoFile" type="xs:boolean" default="false"/>
-    </xs:complexType>
-	</xs:element>
-	<xs:element name="Configuration">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="Options" minOccurs="0" />
-			</xs:sequence>
-			<xs:attribute name="name" type="xs:string" use="required" />
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Options">
-		<xs:complexType>
-			<xs:all>
-				<xs:element name="CompilerDefines" type="xs:string" minOccurs="0" />
-				<xs:element name="OptimizeCode" type="xs:boolean" minOccurs="0" />
-				<xs:element name="CheckUnderflowOverflow" type="xs:boolean" minOccurs="0" />
-				<xs:element name="AllowUnsafe" type="xs:boolean" minOccurs="0" />
-				<xs:element name="PreBuildEvent" type="xs:string" minOccurs="0" />
-				<xs:element name="PostBuildEvent" type="xs:string" minOccurs="0" />
-				<xs:element name="RunPostBuildEvent" minOccurs="0" default="OnBuildSuccess">
-					<xs:simpleType>
-						<xs:restriction base="xs:string">
-							<xs:enumeration value="OnBuildSuccess" />
-							<xs:enumeration value="Always" />
-							<xs:enumeration value="OnOutputUpdated" />
-						</xs:restriction>
-					</xs:simpleType>
-				</xs:element>
-				<xs:element name="RunScript" type="xs:string" minOccurs="0" />
-				<xs:element name="PreBuildEventArgs" type="xs:string" minOccurs="0" />
-				<xs:element name="PostBuildEventArgs" type="xs:string" minOccurs="0" />
-				<xs:element name="WarningLevel" minOccurs="0">
-					<xs:simpleType>
-						<xs:restriction base="xs:integer">
-							<xs:minInclusive value="0" />
-							<xs:maxInclusive value="4" />
-						</xs:restriction>
-					</xs:simpleType>
-				</xs:element>
-				<xs:element name="WarningsAsErrors" type="xs:boolean" minOccurs="0" />
-				<xs:element name="SuppressWarnings" type="xs:string" minOccurs="0" />
-				<xs:element name="OutputPath" type="xs:string" minOccurs="0" />
-				<xs:element name="GenerateDocumentation" type="xs:boolean" minOccurs="0" />
-				<xs:element name="XmlDocFile" type="xs:string" minOccurs="0" />
-				<xs:element name="DebugInformation" type="xs:boolean" minOccurs="0" />
-				<xs:element name="RegisterComInterop" type="xs:boolean" minOccurs="0" />
-				<xs:element name="RemoveIntegerChecks" type="xs:boolean" minOccurs="0" />
-				<xs:element name="IncrementalBuild" type="xs:boolean" minOccurs="0" />
-				<xs:element name="BaseAddress" type="xs:string" minOccurs="0" />
-				<xs:element name="FileAlignment" type="xs:integer" minOccurs="0" />
-				<xs:element name="NoStdLib" type="xs:boolean" minOccurs="0" />
-				<xs:element name="KeyFile" type="xs:string" minOccurs="0" />
-        </xs:all>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Files">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="File" minOccurs="0" maxOccurs="unbounded" />
-				<xs:element ref="Match" minOccurs="0" maxOccurs="unbounded" />
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="File">
-		<xs:complexType>
-			<xs:simpleContent>
-				<xs:extension base="xs:string">
-					<xs:attribute name="resourceName" type="xs:string" default="" />
-					<xs:attribute name="buildAction" default="Compile">
-						<xs:simpleType>
-							<xs:restriction base="xs:string">
-								<xs:enumeration value="None" />
-								<xs:enumeration value="Compile" />
-								<xs:enumeration value="Content" />
-								<xs:enumeration value="EmbeddedResource" />
-							</xs:restriction>
-						</xs:simpleType>
-					</xs:attribute>
-					<xs:attribute name="subType" default="Code">
-						<xs:simpleType>
-							<xs:restriction base="xs:string">
-								<xs:enumeration value="Code" />
-								<xs:enumeration value="Component" />
-								<xs:enumeration value="Form" />
-								<xs:enumeration value="Settings" />
-								<xs:enumeration value="UserControl" />
-							</xs:restriction>
-						</xs:simpleType>
-					</xs:attribute>
-					<xs:attribute name="link" type="xs:boolean" />
-					<xs:attribute name="copyToOutput" default="Never">
-						<xs:simpleType>
-							<xs:restriction base="xs:string">
-								<xs:enumeration value="Never" />
-								<xs:enumeration value="Always" />
-								<xs:enumeration value="PreserveNewest" />
-							</xs:restriction>
-						</xs:simpleType>
-					</xs:attribute>
-				</xs:extension>
-			</xs:simpleContent>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Match">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element ref="Exclude" minOccurs="0" maxOccurs="unbounded" />
-			</xs:sequence>
-			<xs:attribute name="path" type="xs:string" />
-			<xs:attribute name="pattern" type="xs:string" use="required" />
-			<xs:attribute name="recurse" type="xs:boolean" default="false" />
-			<xs:attribute name="useRegex" type="xs:boolean" default="false" />
-			<xs:attribute name="buildAction" default="Compile">
-				<xs:simpleType>
-					<xs:restriction base="xs:string">
-						<xs:enumeration value="None" />
-						<xs:enumeration value="Compile" />
-						<xs:enumeration value="Content" />
-						<xs:enumeration value="EmbeddedResource" />
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="resourceName" type="xs:string" default="" />
-			<xs:attribute name="subType" default="Code">
-				<xs:simpleType>
-					<xs:restriction base="xs:string">
-						<xs:enumeration value="Code" />
-						<xs:enumeration value="Component" />
-						<xs:enumeration value="Designer" />
-						<xs:enumeration value="Form" />
-						<xs:enumeration value="Settings" />
-						<xs:enumeration value="UserControl" />
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-			<xs:attribute name="link" type="xs:boolean" />
-			<xs:attribute name="copyToOutput" default="Never">
-				<xs:simpleType>
-					<xs:restriction base="xs:string">
-						<xs:enumeration value="Never" />
-						<xs:enumeration value="Always" />
-						<xs:enumeration value="PreserveNewest" />
-					</xs:restriction>
-				</xs:simpleType>
-			</xs:attribute>
-		</xs:complexType>
-	</xs:element>
-	<xs:element name="Exclude">
-		<xs:complexType>
-			<xs:attribute name="name" type="xs:string" use="required" />
-		</xs:complexType>
-	</xs:element>
-</xs:schema>
+			<xs:attribute name="version" type="xs:string" default="1.0.0" />
+		</xs:complexType>
+	</xs:element>
+	<xs:element name="Project">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element ref="Configuration" minOccurs="0" maxOccurs="unbounded" />
+				<xs:element name="ReferencePath" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
+				<xs:element name="Reference" minOccurs="0" maxOccurs="unbounded">
+					<xs:complexType>
+						<xs:attribute name="name" type="xs:string" use="required" />
+						<xs:attribute name="path" type="xs:string" />
+						<xs:attribute name="localCopy" type="xs:boolean" />
+						<xs:attribute name="version" type="xs:string" default="1.0.0"/>
+					</xs:complexType>
+				</xs:element>
+				<xs:element ref="Files" />
+			</xs:sequence>
+			<xs:attribute name="name" type="xs:string" use="required" />
+			<xs:attribute name="designerFolder" type="xs:string" default="" />
+			<xs:attribute name="filterGroups" type="xs:string" default="" />
+			<xs:attribute name="path" type="xs:string" default="" />
+			<xs:attribute name="icon" type="xs:string" default="" />
+			<xs:attribute name="language" default="C#">
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:enumeration value="C#" />
+						<xs:enumeration value="VB.NET" />
+					</xs:restriction>
+				</xs:simpleType>
+			</xs:attribute>
+			<xs:attribute name="type" default="Exe">
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:enumeration value="Exe" />
+						<xs:enumeration value="WinExe" />
+						<xs:enumeration value="Library" />
+					</xs:restriction>
+				</xs:simpleType>
+			</xs:attribute>
+			<xs:attribute name="runtime" default="Microsoft">
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:enumeration value="Microsoft" />
+						<xs:enumeration value="Mono" />
+					</xs:restriction>
+				</xs:simpleType>
+			</xs:attribute>
+			<xs:attribute name="startupObject" type="xs:string" default="" />
+			<xs:attribute name="rootNamespace" type="xs:string" />
+			<xs:attribute name="assemblyName" type="xs:string" />
+      <xs:attribute name="generateAssemblyInfoFile" type="xs:boolean" default="false"/>
+    </xs:complexType>
+	</xs:element>
+	<xs:element name="Configuration">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element ref="Options" minOccurs="0" />
+			</xs:sequence>
+			<xs:attribute name="name" type="xs:string" use="required" />
+		</xs:complexType>
+	</xs:element>
+	<xs:element name="Options">
+		<xs:complexType>
+			<xs:all>
+				<xs:element name="CompilerDefines" type="xs:string" minOccurs="0" />
+				<xs:element name="OptimizeCode" type="xs:boolean" minOccurs="0" />
+				<xs:element name="CheckUnderflowOverflow" type="xs:boolean" minOccurs="0" />
+				<xs:element name="AllowUnsafe" type="xs:boolean" minOccurs="0" />
+				<xs:element name="PreBuildEvent" type="xs:string" minOccurs="0" />
+				<xs:element name="PostBuildEvent" type="xs:string" minOccurs="0" />
+				<xs:element name="RunPostBuildEvent" minOccurs="0" default="OnBuildSuccess">
+					<xs:simpleType>
+						<xs:restriction base="xs:string">
+							<xs:enumeration value="OnBuildSuccess" />
+							<xs:enumeration value="Always" />
+							<xs:enumeration value="OnOutputUpdated" />
+						</xs:restriction>
+					</xs:simpleType>
+				</xs:element>
+				<xs:element name="RunScript" type="xs:string" minOccurs="0" />
+				<xs:element name="PreBuildEventArgs" type="xs:string" minOccurs="0" />
+				<xs:element name="PostBuildEventArgs" type="xs:string" minOccurs="0" />
+				<xs:element name="WarningLevel" minOccurs="0">
+					<xs:simpleType>
+						<xs:restriction base="xs:integer">
+							<xs:minInclusive value="0" />
+							<xs:maxInclusive value="4" />
+						</xs:restriction>
+					</xs:simpleType>
+				</xs:element>
+				<xs:element name="WarningsAsErrors" type="xs:boolean" minOccurs="0" />
+				<xs:element name="SuppressWarnings" type="xs:string" minOccurs="0" />
+				<xs:element name="OutputPath" type="xs:string" minOccurs="0" />
+				<xs:element name="GenerateDocumentation" type="xs:boolean" minOccurs="0" />
+				<xs:element name="XmlDocFile" type="xs:string" minOccurs="0" />
+				<xs:element name="DebugInformation" type="xs:boolean" minOccurs="0" />
+				<xs:element name="RegisterComInterop" type="xs:boolean" minOccurs="0" />
+				<xs:element name="RemoveIntegerChecks" type="xs:boolean" minOccurs="0" />
+				<xs:element name="IncrementalBuild" type="xs:boolean" minOccurs="0" />
+				<xs:element name="BaseAddress" type="xs:string" minOccurs="0" />
+				<xs:element name="FileAlignment" type="xs:integer" minOccurs="0" />
+				<xs:element name="NoStdLib" type="xs:boolean" minOccurs="0" />
+				<xs:element name="KeyFile" type="xs:string" minOccurs="0" />
+        </xs:all>
+		</xs:complexType>
+	</xs:element>
+	<xs:element name="Files">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element ref="File" minOccurs="0" maxOccurs="unbounded" />
+				<xs:element ref="Match" minOccurs="0" maxOccurs="unbounded" />
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	<xs:element name="File">
+		<xs:complexType>
+			<xs:simpleContent>
+				<xs:extension base="xs:string">
+					<xs:attribute name="resourceName" type="xs:string" default="" />
+					<xs:attribute name="buildAction" default="Compile">
+						<xs:simpleType>
+							<xs:restriction base="xs:string">
+								<xs:enumeration value="None" />
+								<xs:enumeration value="Compile" />
+								<xs:enumeration value="Content" />
+								<xs:enumeration value="EmbeddedResource" />
+							</xs:restriction>
+						</xs:simpleType>
+					</xs:attribute>
+					<xs:attribute name="subType" default="Code">
+						<xs:simpleType>
+							<xs:restriction base="xs:string">
+								<xs:enumeration value="Code" />
+								<xs:enumeration value="Component" />
+								<xs:enumeration value="Form" />
+								<xs:enumeration value="Settings" />
+								<xs:enumeration value="UserControl" />
+							</xs:restriction>
+						</xs:simpleType>
+					</xs:attribute>
+					<xs:attribute name="link" type="xs:boolean" />
+					<xs:attribute name="copyToOutput" default="Never">
+						<xs:simpleType>
+							<xs:restriction base="xs:string">
+								<xs:enumeration value="Never" />
+								<xs:enumeration value="Always" />
+								<xs:enumeration value="PreserveNewest" />
+							</xs:restriction>
+						</xs:simpleType>
+					</xs:attribute>
+				</xs:extension>
+			</xs:simpleContent>
+		</xs:complexType>
+	</xs:element>
+	<xs:element name="Match">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element ref="Exclude" minOccurs="0" maxOccurs="unbounded" />
+			</xs:sequence>
+			<xs:attribute name="path" type="xs:string" />
+			<xs:attribute name="pattern" type="xs:string" use="required" />
+			<xs:attribute name="recurse" type="xs:boolean" default="false" />
+			<xs:attribute name="useRegex" type="xs:boolean" default="false" />
+			<xs:attribute name="buildAction" default="Compile">
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:enumeration value="None" />
+						<xs:enumeration value="Compile" />
+						<xs:enumeration value="Content" />
+						<xs:enumeration value="EmbeddedResource" />
+					</xs:restriction>
+				</xs:simpleType>
+			</xs:attribute>
+			<xs:attribute name="resourceName" type="xs:string" default="" />
+			<xs:attribute name="subType" default="Code">
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:enumeration value="Code" />
+						<xs:enumeration value="Component" />
+						<xs:enumeration value="Designer" />
+						<xs:enumeration value="Form" />
+						<xs:enumeration value="Settings" />
+						<xs:enumeration value="UserControl" />
+					</xs:restriction>
+				</xs:simpleType>
+			</xs:attribute>
+			<xs:attribute name="link" type="xs:boolean" />
+			<xs:attribute name="copyToOutput" default="Never">
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:enumeration value="Never" />
+						<xs:enumeration value="Always" />
+						<xs:enumeration value="PreserveNewest" />
+					</xs:restriction>
+				</xs:simpleType>
+			</xs:attribute>
+		</xs:complexType>
+	</xs:element>
+	<xs:element name="Exclude">
+		<xs:complexType>
+			<xs:attribute name="name" type="xs:string" use="required" />
+		</xs:complexType>
+	</xs:element>
+</xs:schema>

+ 105 - 105
bin/assets/BodyPartsAssetSet/base_shape.dat

@@ -1,105 +1,105 @@
-LLWearable version 22
-Female Shape and Outfit 3 Shape
-Created by system from avatar's appearance.
-	permissions 0
-	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	11111111-1111-0000-0000-000100bba000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	0
-	}
-type 0
-parameters 82
-1 .21
-2 -.5
-4 -.11
-5 -.1
-6 -.3
-7 -.4
-8 -.5
-10 .7
-11 .34
-12 -.5
-13 0
-14 .04
-15 .58
-17 .56
-18 -.26
-19 -.73
-20 -.34
-21 -.01
-22 1
-23 -.5
-24 -.63
-25 .44
-27 .05
-33 -.24
-34 -.7
-35 -.16
-36 -.2
-37 -.98
-38 -.5
-80 0
-105 .07
-155 -.22
-157 0
-185 -1
-193 .86
-196 -.74
-505 .65
-506 .12
-507 -1.5
-515 0
-517 .16
-518 .8
-629 0
-637 0
-646 .4
-647 1
-649 .36
-650 .85
-652 .49
-653 -1
-656 0
-659 .65
-662 .5
-663 0
-664 0
-665 0
-675 -.15
-676 .26
-678 .28
-682 .27
-683 -.19
-684 -.09
-685 0
-690 .45
-692 .4
-693 -0
-753 -.5
-756 -.08
-758 .24
-759 .6
-760 .11
-764 -.38
-765 -.3
-769 .42
-773 .51
-795 .16
-796 .11
-799 .36
-841 0
-842 -.82
-879 0
-880 0
-textures 0
+LLWearable version 22
+Female Shape and Outfit 3 Shape
+Created by system from avatar's appearance.
+	permissions 0
+	{
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	11111111-1111-0000-0000-000100bba000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	0
+	}
+type 0
+parameters 82
+1 .21
+2 -.5
+4 -.11
+5 -.1
+6 -.3
+7 -.4
+8 -.5
+10 .7
+11 .34
+12 -.5
+13 0
+14 .04
+15 .58
+17 .56
+18 -.26
+19 -.73
+20 -.34
+21 -.01
+22 1
+23 -.5
+24 -.63
+25 .44
+27 .05
+33 -.24
+34 -.7
+35 -.16
+36 -.2
+37 -.98
+38 -.5
+80 0
+105 .07
+155 -.22
+157 0
+185 -1
+193 .86
+196 -.74
+505 .65
+506 .12
+507 -1.5
+515 0
+517 .16
+518 .8
+629 0
+637 0
+646 .4
+647 1
+649 .36
+650 .85
+652 .49
+653 -1
+656 0
+659 .65
+662 .5
+663 0
+664 0
+665 0
+675 -.15
+676 .26
+678 .28
+682 .27
+683 -.19
+684 -.09
+685 0
+690 .45
+692 .4
+693 -0
+753 -.5
+756 -.08
+758 .24
+759 .6
+760 .11
+764 -.38
+765 -.3
+769 .42
+773 .51
+795 .16
+796 .11
+799 .36
+841 0
+842 -.82
+879 0
+880 0
+textures 0

+ 52 - 52
bin/assets/BodyPartsAssetSet/base_skin.dat

@@ -1,52 +1,52 @@
-LLWearable version 22
-Sexy - Female Skin
-
-	permissions 0
-	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	11111111-1111-0000-0000-000100bba000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 1
-parameters 26
-108 0
-110 0
-111 0
-116 0
-117 1
-150 0
-162 0
-163 0
-165 0
-700 .01
-701 .5
-702 .26
-703 0
-704 0
-705 .5
-706 .6
-707 0
-708 0
-709 0
-710 0
-711 .5
-712 0
-713 .7
-714 0
-715 0
-775 0
-textures 3
-0 00000000-0000-1111-9999-000000000012
-5 00000000-0000-1111-9999-000000000010
-6 00000000-0000-1111-9999-000000000011
+LLWearable version 22
+Sexy - Female Skin
+
+	permissions 0
+	{
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	11111111-1111-0000-0000-000100bba000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 1
+parameters 26
+108 0
+110 0
+111 0
+116 0
+117 1
+150 0
+162 0
+163 0
+165 0
+700 .01
+701 .5
+702 .26
+703 0
+704 0
+705 .5
+706 .6
+707 0
+708 0
+709 0
+710 0
+711 .5
+712 0
+713 .7
+714 0
+715 0
+775 0
+textures 3
+0 00000000-0000-1111-9999-000000000012
+5 00000000-0000-1111-9999-000000000010
+6 00000000-0000-1111-9999-000000000011

+ 49 - 49
bin/assets/BodyPartsAssetSet/goblin_skin.dat

@@ -1,49 +1,49 @@
-LLWearable version 22
-Goblin Skin
-
-	permissions 0
-	{
-		base_mask	00080000
-		owner_mask	00080000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00080000
-		creator_id	15787b54-7833-4238-9c18-80ddd7687bfe
-		owner_id	15787b54-7833-4238-9c18-80ddd7687bfe
-		last_owner_id	15787b54-7833-4238-9c18-80ddd7687bfe
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 1
-parameters 26
-108 .6
-110 .1
-111 1
-116 .68
-117 .28
-150 0
-162 1
-163 .99
-165 .69
-700 .51
-701 .2
-702 0
-703 0
-704 0
-705 .5
-706 .6
-707 0
-708 0
-709 0
-710 0
-711 .5
-712 0
-713 .7
-714 0
-715 0
-775 0
-textures 0
+LLWearable version 22
+Goblin Skin
+
+	permissions 0
+	{
+		base_mask	00080000
+		owner_mask	00080000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00080000
+		creator_id	15787b54-7833-4238-9c18-80ddd7687bfe
+		owner_id	15787b54-7833-4238-9c18-80ddd7687bfe
+		last_owner_id	15787b54-7833-4238-9c18-80ddd7687bfe
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 1
+parameters 26
+108 .6
+110 .1
+111 1
+116 .68
+117 .28
+150 0
+162 1
+163 .99
+165 .69
+700 .51
+701 .2
+702 0
+703 0
+704 0
+705 .5
+706 .6
+707 0
+708 0
+709 0
+710 0
+711 .5
+712 0
+713 .7
+714 0
+715 0
+775 0
+textures 0

+ 105 - 105
bin/assets/BodyPartsAssetSet/jim_shape.dat

@@ -1,105 +1,105 @@
-LLWearable version 22
-Jim Shape
-
-	permissions 0
-	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	11111111-1111-0000-0000-000100bba000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 0
-parameters 82
-1 0
-2 0
-4 0
-5 0
-6 0
-7 0
-8 0
-10 0
-11 0
-12 0
-13 0
-14 0
-15 0
-17 0
-18 0
-19 0
-20 0
-21 0
-22 0
-23 0
-24 0
-25 0
-27 0
-33 -2.3
-34 0
-35 0
-36 -.5
-37 -1.34
-38 0
-80 1
-105 .5
-155 0
-157 0
-185 0
-193 .5
-196 0
-505 .5
-506 0
-507 0
-515 0
-517 0
-518 0
-629 .5
-637 0
-646 0
-647 0
-649 .5
-650 0
-652 .29
-653 0
-656 0
-659 .5
-662 .5
-663 0
-664 0
-665 0
-675 0
-676 0
-678 .5
-682 .5
-683 -.15
-684 0
-685 0
-690 .5
-692 1
-693 .6
-753 0
-756 0
-758 0
-759 .5
-760 0
-764 0
-765 0
-769 .5
-773 .5
-795 .84
-796 0
-799 .5
-841 0
-842 0
-879 0
-880 0
-textures 0
+LLWearable version 22
+Jim Shape
+
+	permissions 0
+	{
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	11111111-1111-0000-0000-000100bba000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 0
+parameters 82
+1 0
+2 0
+4 0
+5 0
+6 0
+7 0
+8 0
+10 0
+11 0
+12 0
+13 0
+14 0
+15 0
+17 0
+18 0
+19 0
+20 0
+21 0
+22 0
+23 0
+24 0
+25 0
+27 0
+33 -2.3
+34 0
+35 0
+36 -.5
+37 -1.34
+38 0
+80 1
+105 .5
+155 0
+157 0
+185 0
+193 .5
+196 0
+505 .5
+506 0
+507 0
+515 0
+517 0
+518 0
+629 .5
+637 0
+646 0
+647 0
+649 .5
+650 0
+652 .29
+653 0
+656 0
+659 .5
+662 .5
+663 0
+664 0
+665 0
+675 0
+676 0
+678 .5
+682 .5
+683 -.15
+684 0
+685 0
+690 .5
+692 1
+693 .6
+753 0
+756 0
+758 0
+759 .5
+760 0
+764 0
+765 0
+769 .5
+773 .5
+795 .84
+796 0
+799 .5
+841 0
+842 0
+879 0
+880 0
+textures 0

+ 50 - 50
bin/assets/BodyPartsAssetSet/jim_skin.dat

@@ -1,50 +1,50 @@
-LLWearable version 22
-Jim skin
-
-	permissions 0
-	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	11111111-1111-0000-0000-000100bba000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 1
-parameters 26
-108 0
-110 0
-111 .5
-116 0
-117 0
-150 0
-162 0
-163 0
-165 0
-700 .25
-701 0
-702 0
-703 0
-704 0
-705 .5
-706 .6
-707 0
-708 0
-709 0
-710 0
-711 .5
-712 0
-713 .7
-714 0
-715 0
-775 0
-textures 0
-
+LLWearable version 22
+Jim skin
+
+	permissions 0
+	{
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	11111111-1111-0000-0000-000100bba000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 1
+parameters 26
+108 0
+110 0
+111 .5
+116 0
+117 0
+150 0
+162 0
+163 0
+165 0
+700 .25
+701 0
+702 0
+703 0
+704 0
+705 .5
+706 .6
+707 0
+708 0
+709 0
+710 0
+711 .5
+712 0
+713 .7
+714 0
+715 0
+775 0
+textures 0
+

+ 105 - 105
bin/assets/BodyPartsAssetSet/little_goblin_shape.dat

@@ -1,105 +1,105 @@
-LLWearable version 22
-See the little goblin
-
-	permissions 0
-	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	11111111-1111-0000-0000-000100bba000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 0
-parameters 82
-1 0
-2 0
-4 0
-5 0
-6 0
-7 0
-8 0
-10 0
-11 0
-12 0
-13 0
-14 0
-15 1.5
-17 0
-18 0
-19 0
-20 0
-21 0
-22 0
-23 0
-24 2
-25 0
-27 0
-33 -2.3
-34 -.7
-35 2
-36 1.4
-37 .16
-38 -1
-80 1
-105 .5
-155 0
-157 .68
-185 0
-193 0
-196 0
-505 .5
-506 0
-507 0
-515 3
-517 .52
-518 0
-629 .5
-637 0
-646 -.4
-647 -.5
-649 .5
-650 0
-652 1
-653 0
-656 0
-659 .5
-662 .5
-663 0
-664 0
-665 0
-675 .3
-676 .95
-678 .74
-682 1
-683 .12
-684 0
-685 -.5
-690 .75
-692 -1
-693 -1
-753 2.34
-756 -1
-758 0
-759 .5
-760 0
-764 0
-765 0
-769 .5
-773 .5
-795 1
-796 3
-799 .5
-841 .66
-842 0
-879 -.5
-880 0
-textures 0
+LLWearable version 22
+See the little goblin
+
+	permissions 0
+	{
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	11111111-1111-0000-0000-000100bba000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 0
+parameters 82
+1 0
+2 0
+4 0
+5 0
+6 0
+7 0
+8 0
+10 0
+11 0
+12 0
+13 0
+14 0
+15 1.5
+17 0
+18 0
+19 0
+20 0
+21 0
+22 0
+23 0
+24 2
+25 0
+27 0
+33 -2.3
+34 -.7
+35 2
+36 1.4
+37 .16
+38 -1
+80 1
+105 .5
+155 0
+157 .68
+185 0
+193 0
+196 0
+505 .5
+506 0
+507 0
+515 3
+517 .52
+518 0
+629 .5
+637 0
+646 -.4
+647 -.5
+649 .5
+650 0
+652 1
+653 0
+656 0
+659 .5
+662 .5
+663 0
+664 0
+665 0
+675 .3
+676 .95
+678 .74
+682 1
+683 .12
+684 0
+685 -.5
+690 .75
+692 -1
+693 -1
+753 2.34
+756 -1
+758 0
+759 .5
+760 0
+764 0
+765 0
+769 .5
+773 .5
+795 1
+796 3
+799 .5
+841 .66
+842 0
+879 -.5
+880 0
+textures 0

+ 63 - 63
bin/assets/BodyPartsAssetSet/newhair.dat

@@ -1,63 +1,63 @@
-LLWearable version 22
-New Hair
-
-	permissions 0
-	{
-		base_mask	7fffffff
-		owner_mask	7fffffff
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00082000
-		creator_id	a52db6d0-e96c-4454-85e5-3523722daa25
-		owner_id	a52db6d0-e96c-4454-85e5-3523722daa25
-		last_owner_id	00000000-0000-0000-0000-000000000000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 2
-parameters 39
-16 0
-31 .5
-112 0
-113 0
-114 .5
-115 0
-119 .5
-130 .45
-131 .5
-132 .39
-133 .25
-134 .5
-135 .55
-136 .5
-137 .5
-140 0
-141 0
-142 0
-143 .13
-166 0
-167 0
-168 0
-169 0
-177 0
-181 .14
-182 .7
-183 .05
-184 0
-192 0
-674 -.3
-750 .7
-752 .5
-754 0
-755 .05
-757 -1
-762 0
-763 .55
-785 0
-789 0
-textures 1
-4 7ca39b4c-bd19-4699-aff7-f93fd03d3e7b
+LLWearable version 22
+New Hair
+
+	permissions 0
+	{
+		base_mask	7fffffff
+		owner_mask	7fffffff
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00082000
+		creator_id	a52db6d0-e96c-4454-85e5-3523722daa25
+		owner_id	a52db6d0-e96c-4454-85e5-3523722daa25
+		last_owner_id	00000000-0000-0000-0000-000000000000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 2
+parameters 39
+16 0
+31 .5
+112 0
+113 0
+114 .5
+115 0
+119 .5
+130 .45
+131 .5
+132 .39
+133 .25
+134 .5
+135 .55
+136 .5
+137 .5
+140 0
+141 0
+142 0
+143 .13
+166 0
+167 0
+168 0
+169 0
+177 0
+181 .14
+182 .7
+183 .05
+184 0
+192 0
+674 -.3
+750 .7
+752 .5
+754 0
+755 .05
+757 -1
+762 0
+763 .55
+785 0
+789 0
+textures 1
+4 7ca39b4c-bd19-4699-aff7-f93fd03d3e7b

+ 33 - 33
bin/assets/ClothingAssetSet/newpants.dat

@@ -1,33 +1,33 @@
-LLWearable version 22
-New Pants
-
-	permissions 0
-	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	00000000-0000-0000-0000-000000000000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 5
-parameters 9
-625 0
-638 0
-806 .8
-807 .2
-808 .2
-814 1
-815 .8
-816 0
-869 0
-textures 1
-2 5748decc-f629-461c-9a36-a35a221fe21f
+LLWearable version 22
+New Pants
+
+	permissions 0
+	{
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	00000000-0000-0000-0000-000000000000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 5
+parameters 9
+625 0
+638 0
+806 .8
+807 .2
+808 .2
+814 1
+815 .8
+816 0
+869 0
+textures 1
+2 5748decc-f629-461c-9a36-a35a221fe21f

+ 34 - 34
bin/assets/ClothingAssetSet/newshirt.dat

@@ -1,34 +1,34 @@
-LLWearable version 22
-New Shirt
-
-	permissions 0
-	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	00000000-0000-0000-0000-000000000000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 4
-parameters 10
-781 .78
-800 .65
-801 .82
-802 .78
-803 .5
-804 .5
-805 .6
-828 0
-840 0
-868 0
-textures 1
-1 5748decc-f629-461c-9a36-a35a221fe21f
+LLWearable version 22
+New Shirt
+
+	permissions 0
+	{
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	00000000-0000-0000-0000-000000000000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 4
+parameters 10
+781 .78
+800 .65
+801 .82
+802 .78
+803 .5
+804 .5
+805 .6
+828 0
+840 0
+868 0
+textures 1
+1 5748decc-f629-461c-9a36-a35a221fe21f

+ 52 - 52
bin/assets/OpenSimAssetSet/base_skin.dat

@@ -1,52 +1,52 @@
-LLWearable version 22
-Sexy - Female Skin
-
-	permissions 0
-	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	11111111-1111-0000-0000-000100bba000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 1
-parameters 26
-108 0
-110 0
-111 0
-116 0
-117 1
-150 0
-162 0
-163 0
-165 0
-700 .01
-701 .5
-702 .26
-703 0
-704 0
-705 .5
-706 .6
-707 0
-708 0
-709 0
-710 0
-711 .5
-712 0
-713 .7
-714 0
-715 0
-775 0
-textures 3
-0 00000000-0000-1111-9999-000000000012
-5 00000000-0000-1111-9999-000000000010
-6 00000000-0000-1111-9999-000000000011
+LLWearable version 22
+Sexy - Female Skin
+
+	permissions 0
+	{
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	11111111-1111-0000-0000-000100bba000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 1
+parameters 26
+108 0
+110 0
+111 0
+116 0
+117 1
+150 0
+162 0
+163 0
+165 0
+700 .01
+701 .5
+702 .26
+703 0
+704 0
+705 .5
+706 .6
+707 0
+708 0
+709 0
+710 0
+711 .5
+712 0
+713 .7
+714 0
+715 0
+775 0
+textures 3
+0 00000000-0000-1111-9999-000000000012
+5 00000000-0000-1111-9999-000000000010
+6 00000000-0000-1111-9999-000000000011

+ 9 - 9
bin/assets/OpenSimAssetSet/jim_shape.dat

@@ -3,15 +3,15 @@ Jim Shape
 
 	permissions 0
 	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	11111111-1111-0000-0000-000100bba000
-		group_id	00000000-0000-0000-0000-000000000000
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	11111111-1111-0000-0000-000100bba000
+		group_id	00000000-0000-0000-0000-000000000000
 	}
 	sale_info	0
 	{

+ 8 - 8
bin/assets/OpenSimAssetSet/jim_skin.dat

@@ -3,14 +3,14 @@ Jim skin
 
 	permissions 0
 	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	11111111-1111-0000-0000-000100bba000
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	11111111-1111-0000-0000-000100bba000
 		group_id	00000000-0000-0000-0000-000000000000
 	}
 	sale_info	0

+ 9 - 9
bin/assets/OpenSimAssetSet/little_goblin_shape.dat

@@ -3,15 +3,15 @@ See the little goblin
 
 	permissions 0
 	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	11111111-1111-0000-0000-000100bba000
-		group_id	00000000-0000-0000-0000-000000000000
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	11111111-1111-0000-0000-000100bba000
+		group_id	00000000-0000-0000-0000-000000000000
 	}
 	sale_info	0
 	{

+ 33 - 33
bin/assets/OpenSimAssetSet/newpants.dat

@@ -1,33 +1,33 @@
-LLWearable version 22
-New Pants
-
-	permissions 0
-	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	00000000-0000-0000-0000-000000000000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 5
-parameters 9
-625 0
-638 0
-806 .8
-807 .2
-808 .2
-814 1
-815 .8
-816 0
-869 0
-textures 1
-2 5748decc-f629-461c-9a36-a35a221fe21f
+LLWearable version 22
+New Pants
+
+	permissions 0
+	{
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	00000000-0000-0000-0000-000000000000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 5
+parameters 9
+625 0
+638 0
+806 .8
+807 .2
+808 .2
+814 1
+815 .8
+816 0
+869 0
+textures 1
+2 5748decc-f629-461c-9a36-a35a221fe21f

+ 34 - 34
bin/assets/OpenSimAssetSet/newshirt.dat

@@ -1,34 +1,34 @@
-LLWearable version 22
-New Shirt
-
-	permissions 0
-	{
-		base_mask	00000000
-		owner_mask	00000000
-		group_mask	00000000
-		everyone_mask	00000000
-		next_owner_mask	00000000
-		creator_id	11111111-1111-0000-0000-000100bba000
-		owner_id	11111111-1111-0000-0000-000100bba000
-		last_owner_id	00000000-0000-0000-0000-000000000000
-		group_id	00000000-0000-0000-0000-000000000000
-	}
-	sale_info	0
-	{
-		sale_type	not
-		sale_price	10
-	}
-type 4
-parameters 10
-781 .78
-800 .65
-801 .82
-802 .78
-803 .5
-804 .5
-805 .6
-828 0
-840 0
-868 0
-textures 1
-1 5748decc-f629-461c-9a36-a35a221fe21f
+LLWearable version 22
+New Shirt
+
+	permissions 0
+	{
+		base_mask	00000000
+		owner_mask	00000000
+		group_mask	00000000
+		everyone_mask	00000000
+		next_owner_mask	00000000
+		creator_id	11111111-1111-0000-0000-000100bba000
+		owner_id	11111111-1111-0000-0000-000100bba000
+		last_owner_id	00000000-0000-0000-0000-000000000000
+		group_id	00000000-0000-0000-0000-000000000000
+	}
+	sale_info	0
+	{
+		sale_type	not
+		sale_price	10
+	}
+type 4
+parameters 10
+781 .78
+800 .65
+801 .82
+802 .78
+803 .5
+804 .5
+805 .6
+828 0
+840 0
+868 0
+textures 1
+1 5748decc-f629-461c-9a36-a35a221fe21f

+ 7 - 7
bin/assets/ScriptsAssetSet/llAbs.lsl

@@ -1,7 +1,7 @@
-default
-{
-    state_entry()
-    {
-        llOwnerSay("The absolute value of -4 is: "+(string)llAbs(-4) );
-    }
-}
+default
+{
+    state_entry()
+    {
+        llOwnerSay("The absolute value of -4 is: "+(string)llAbs(-4) );
+    }
+}

+ 8 - 8
bin/assets/ScriptsAssetSet/llAcos.lsl

@@ -1,8 +1,8 @@
-default
-{
-    state_entry()
-    {
-        float r = llFrand(2) - 1.0;
-        llOwnerSay("The arccosine of " + (string)r + " is " + llAcos(r));
-    }
-}
+default
+{
+    state_entry()
+    {
+        float r = llFrand(2) - 1.0;
+        llOwnerSay("The arccosine of " + (string)r + " is " + llAcos(r));
+    }
+}

+ 84 - 84
bin/assets/ScriptsAssetSet/llAddToLandBanList.lsl

@@ -1,84 +1,84 @@
-//Commands are:
-///5 ban:full_avatar_name
-///5 tempban:full_avatar_name
-///5 unban:full_avatar_name
-///5 pass:full_avatar_name
-///5 unpass:full_avatar_name
-///5 clearban
-///5 clearpass
-
-string command;
-
-default
-{
-    state_entry()
-    {
-        llListen(5, "", llGetOwner(), "");
-    }
-    
-    on_rez(integer param)
-    {
-        llResetScript();
-    }
-
-    listen(integer chan, string name, key id, string message)
-    {
-        if (command != "")
-        {
-            llOwnerSay("Sorry, still processing last command, try again in a second.");
-        }
-        
-        list args = llParseString2List(message,[":"],[]);
-        command = llToLower(llList2String(args,0));
-        
-        if (command == "clearbans")
-        {
-            llResetLandBanList();
-        }
-        if (command == "clearpass")
-        {
-            llResetLandPassList();
-        }
-        else
-        {
-            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
-        }
-    }
-    
-    no_sensor()
-    {
-        command = "";
-    }
-    
-    sensor(integer num)
-    {
-        integer i;
-        for (i=0; i< num; ++i)
-        {
-            if (command == "ban")
-            {
-                // Ban indefinetely 
-                llAddToLandBanList(llDetectedKey(i),0.0);
-            }
-            if (command == "tempban")
-            {
-                // Ban for 1 hour.
-                llAddToLandBanList(llDetectedKey(i),1.0);
-            }
-            if (command == "unban")
-            {
-                llRemoveFromLandBanList(llDetectedKey(i));
-            }
-            if (command == "pass")
-            {
-                // Add to land pass list for 1 hour
-                llAddToLandPassList(llDetectedKey(i),1.0);
-            }
-            if (command == "unpass")
-            {
-                llRemoveFromLandPassList(llDetectedKey(i));
-            }
-        }
-        command = "";
-    }
-}
+//Commands are:
+///5 ban:full_avatar_name
+///5 tempban:full_avatar_name
+///5 unban:full_avatar_name
+///5 pass:full_avatar_name
+///5 unpass:full_avatar_name
+///5 clearban
+///5 clearpass
+
+string command;
+
+default
+{
+    state_entry()
+    {
+        llListen(5, "", llGetOwner(), "");
+    }
+    
+    on_rez(integer param)
+    {
+        llResetScript();
+    }
+
+    listen(integer chan, string name, key id, string message)
+    {
+        if (command != "")
+        {
+            llOwnerSay("Sorry, still processing last command, try again in a second.");
+        }
+        
+        list args = llParseString2List(message,[":"],[]);
+        command = llToLower(llList2String(args,0));
+        
+        if (command == "clearbans")
+        {
+            llResetLandBanList();
+        }
+        if (command == "clearpass")
+        {
+            llResetLandPassList();
+        }
+        else
+        {
+            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
+        }
+    }
+    
+    no_sensor()
+    {
+        command = "";
+    }
+    
+    sensor(integer num)
+    {
+        integer i;
+        for (i=0; i< num; ++i)
+        {
+            if (command == "ban")
+            {
+                // Ban indefinetely 
+                llAddToLandBanList(llDetectedKey(i),0.0);
+            }
+            if (command == "tempban")
+            {
+                // Ban for 1 hour.
+                llAddToLandBanList(llDetectedKey(i),1.0);
+            }
+            if (command == "unban")
+            {
+                llRemoveFromLandBanList(llDetectedKey(i));
+            }
+            if (command == "pass")
+            {
+                // Add to land pass list for 1 hour
+                llAddToLandPassList(llDetectedKey(i),1.0);
+            }
+            if (command == "unpass")
+            {
+                llRemoveFromLandPassList(llDetectedKey(i));
+            }
+        }
+        command = "";
+    }
+}

+ 84 - 84
bin/assets/ScriptsAssetSet/llAddToLandPassList.lsl

@@ -1,84 +1,84 @@
-//Commands are:
-///5 ban:full_avatar_name
-///5 tempban:full_avatar_name
-///5 unban:full_avatar_name
-///5 pass:full_avatar_name
-///5 unpass:full_avatar_name
-///5 clearban
-///5 clearpass
-
-string command;
-
-default
-{
-    state_entry()
-    {
-        llListen(5, "", llGetOwner(), "");
-    }
-    
-    on_rez(integer param)
-    {
-        llResetScript();
-    }
-
-    listen(integer chan, string name, key id, string message)
-    {
-        if (command != "")
-        {
-            llOwnerSay("Sorry, still processing last command, try again in a second.");
-        }
-        
-        list args = llParseString2List(message,[":"],[]);
-        command = llToLower(llList2String(args,0));
-        
-        if (command == "clearbans")
-        {
-            llResetLandBanList();
-        }
-        if (command == "clearpass")
-        {
-            llResetLandPassList();
-        }
-        else
-        {
-            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
-        }
-    }
-    
-    no_sensor()
-    {
-        command = "";
-    }
-    
-    sensor(integer num)
-    {
-        integer i;
-        for (i=0; i< num; ++i)
-        {
-            if (command == "ban")
-            {
-                // Ban indefinetely 
-                llAddToLandBanList(llDetectedKey(i),0.0);
-            }
-            if (command == "tempban")
-            {
-                // Ban for 1 hour.
-                llAddToLandBanList(llDetectedKey(i),1.0);
-            }
-            if (command == "unban")
-            {
-                llRemoveFromLandBanList(llDetectedKey(i));
-            }
-            if (command == "pass")
-            {
-                // Add to land pass list for 1 hour
-                llAddToLandPassList(llDetectedKey(i),1.0);
-            }
-            if (command == "unpass")
-            {
-                llRemoveFromLandPassList(llDetectedKey(i));
-            }
-        }
-        command = "";
-    }
-}
+//Commands are:
+///5 ban:full_avatar_name
+///5 tempban:full_avatar_name
+///5 unban:full_avatar_name
+///5 pass:full_avatar_name
+///5 unpass:full_avatar_name
+///5 clearban
+///5 clearpass
+
+string command;
+
+default
+{
+    state_entry()
+    {
+        llListen(5, "", llGetOwner(), "");
+    }
+    
+    on_rez(integer param)
+    {
+        llResetScript();
+    }
+
+    listen(integer chan, string name, key id, string message)
+    {
+        if (command != "")
+        {
+            llOwnerSay("Sorry, still processing last command, try again in a second.");
+        }
+        
+        list args = llParseString2List(message,[":"],[]);
+        command = llToLower(llList2String(args,0));
+        
+        if (command == "clearbans")
+        {
+            llResetLandBanList();
+        }
+        if (command == "clearpass")
+        {
+            llResetLandPassList();
+        }
+        else
+        {
+            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
+        }
+    }
+    
+    no_sensor()
+    {
+        command = "";
+    }
+    
+    sensor(integer num)
+    {
+        integer i;
+        for (i=0; i< num; ++i)
+        {
+            if (command == "ban")
+            {
+                // Ban indefinetely 
+                llAddToLandBanList(llDetectedKey(i),0.0);
+            }
+            if (command == "tempban")
+            {
+                // Ban for 1 hour.
+                llAddToLandBanList(llDetectedKey(i),1.0);
+            }
+            if (command == "unban")
+            {
+                llRemoveFromLandBanList(llDetectedKey(i));
+            }
+            if (command == "pass")
+            {
+                // Add to land pass list for 1 hour
+                llAddToLandPassList(llDetectedKey(i),1.0);
+            }
+            if (command == "unpass")
+            {
+                llRemoveFromLandPassList(llDetectedKey(i));
+            }
+        }
+        command = "";
+    }
+}

+ 13 - 13
bin/assets/ScriptsAssetSet/llAdjustSoundVolume.lsl

@@ -1,13 +1,13 @@
-default
-{
-    state_entry()
-    {
-        llListen(42, "", llGetOwner(), "");
-    }
-    listen(integer chan, string name, key id, string msg)
-    {
-        float value = (float)msg;
-        llAdjustSoundVolume(value);
-        llOwnerSay("Volume set to: " + (string)value + " of 1.0");
-    }
-}
+default
+{
+    state_entry()
+    {
+        llListen(42, "", llGetOwner(), "");
+    }
+    listen(integer chan, string name, key id, string msg)
+    {
+        float value = (float)msg;
+        llAdjustSoundVolume(value);
+        llOwnerSay("Volume set to: " + (string)value + " of 1.0");
+    }
+}

+ 17 - 17
bin/assets/ScriptsAssetSet/llAllowInventoryDrop.lsl

@@ -1,17 +1,17 @@
-integer allow;
-
-default
-{
-    touch_start(integer num)
-    {
-        llAllowInventoryDrop(allow = !allow);
-        llOwnerSay("llAllowInventoryDrop == "+llList2String(["FALSE","TRUE"],allow));
-    }
-    changed(integer change)
-    {
-        if (change & CHANGED_ALLOWED_DROP) //note that it's & and not &&... it's bitwise!
-        {
-            llOwnerSay("The inventory has changed as a result of a user without mod permissions dropping an item on the prim and it being allowed by the script.");
-        }
-    }
-}
+integer allow;
+
+default
+{
+    touch_start(integer num)
+    {
+        llAllowInventoryDrop(allow = !allow);
+        llOwnerSay("llAllowInventoryDrop == "+llList2String(["FALSE","TRUE"],allow));
+    }
+    changed(integer change)
+    {
+        if (change & CHANGED_ALLOWED_DROP) //note that it's & and not &&... it's bitwise!
+        {
+            llOwnerSay("The inventory has changed as a result of a user without mod permissions dropping an item on the prim and it being allowed by the script.");
+        }
+    }
+}

+ 11 - 11
bin/assets/ScriptsAssetSet/llAngleBetween.lsl

@@ -1,11 +1,11 @@
-default
-{
-    state_entry()
-    {
-        rotation aRot = ZERO_ROTATION;
-        rotation bRot = llGetRot();
-        float aBetween = llAngleBetween( aRot, bRot );
-        llOwnerSay((string)aBetween);
-        //llGetRot() being < 0, 0, 90 > this should report 1.570796
-    }
-}
+default
+{
+    state_entry()
+    {
+        rotation aRot = ZERO_ROTATION;
+        rotation bRot = llGetRot();
+        float aBetween = llAngleBetween( aRot, bRot );
+        llOwnerSay((string)aBetween);
+        //llGetRot() being < 0, 0, 90 > this should report 1.570796
+    }
+}

+ 16 - 16
bin/assets/ScriptsAssetSet/llApplyImpulse.lsl

@@ -1,16 +1,16 @@
-//Rez an object, and drop this script in it.
-//This will launch it at the owner.
-default
-{
-    state_entry()
-    {
-        list p = llGetObjectDetails(llGetOwner(), [OBJECT_POS]);
-        if(p != [])
-        {
-            llSetStatus(STATUS_PHYSICS, TRUE);
-            vector pos = llList2Vector(p, 0);
-            vector direction = llVecNorm(pos - llGetPos());
-            llApplyImpulse(direction * 100, 0);
-        }
-    }
-}
+//Rez an object, and drop this script in it.
+//This will launch it at the owner.
+default
+{
+    state_entry()
+    {
+        list p = llGetObjectDetails(llGetOwner(), [OBJECT_POS]);
+        if(p != [])
+        {
+            llSetStatus(STATUS_PHYSICS, TRUE);
+            vector pos = llList2Vector(p, 0);
+            vector direction = llVecNorm(pos - llGetPos());
+            llApplyImpulse(direction * 100, 0);
+        }
+    }
+}

+ 9 - 9
bin/assets/ScriptsAssetSet/llAsin.lsl

@@ -1,9 +1,9 @@
-// Touch the object with this script in it to see the arcsine of random numbers!
-default
-{
-    touch_start(integer num)
-    {
-        float r = llFrand(2) - 1.0;
-        llOwnerSay("The arcsine of " + (string)r + " is " + llAsin(r));
-    }
-}
+// Touch the object with this script in it to see the arcsine of random numbers!
+default
+{
+    touch_start(integer num)
+    {
+        float r = llFrand(2) - 1.0;
+        llOwnerSay("The arcsine of " + (string)r + " is " + llAsin(r));
+    }
+}

+ 11 - 11
bin/assets/ScriptsAssetSet/llAtan2.lsl

@@ -1,11 +1,11 @@
-default
-{
-    state_entry()
-    {
-        float num1 = llFrand(100.0);
-        float num2 = llFrand(100.0);
-        llOwnerSay("y = " + (string)num1);
-        llOwnerSay("x = " + (string)num2);
-        llOwnerSay("The tangent of y divided by x is " + (string)llAtan2(num1, num2));
-  }
-}
+default
+{
+    state_entry()
+    {
+        float num1 = llFrand(100.0);
+        float num2 = llFrand(100.0);
+        llOwnerSay("y = " + (string)num1);
+        llOwnerSay("x = " + (string)num2);
+        llOwnerSay("The tangent of y divided by x is " + (string)llAtan2(num1, num2));
+  }
+}

+ 20 - 20
bin/assets/ScriptsAssetSet/llAvatarOnSitTarget.lsl

@@ -1,20 +1,20 @@
-default
-{
-    state_entry()
-    {
-        // set sit target, otherwise this will not work 
-        llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION);
-    }
-    changed(integer change)
-    {
-        if (change & CHANGED_LINK)
-        { 
-            key av = llAvatarOnSitTarget();
-            //evaluated as true if not NULL_KEY or invalid
-            if (av)
-            {
-                llSay(0, "Hello " + llKey2Name(av) + ", thank you for sitting down");
-            }
-        }
-    }
-}
+default
+{
+    state_entry()
+    {
+        // set sit target, otherwise this will not work 
+        llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION);
+    }
+    changed(integer change)
+    {
+        if (change & CHANGED_LINK)
+        { 
+            key av = llAvatarOnSitTarget();
+            //evaluated as true if not NULL_KEY or invalid
+            if (av)
+            {
+                llSay(0, "Hello " + llKey2Name(av) + ", thank you for sitting down");
+            }
+        }
+    }
+}

+ 8 - 8
bin/assets/ScriptsAssetSet/llBase64ToString.lsl

@@ -1,8 +1,8 @@
-default
-{
-    state_entry()
-    {
-        string test = llBase64ToString("U2VjcmV0Ok9wZW4=");
-        llOwnerSay(test);
-    }
-}
+default
+{
+    state_entry()
+    {
+        string test = llBase64ToString("U2VjcmV0Ok9wZW4=");
+        llOwnerSay(test);
+    }
+}

+ 84 - 84
bin/assets/ScriptsAssetSet/llRemoveFromLandBanList.lsl

@@ -1,84 +1,84 @@
-//Commands are:
-///5 ban:full_avatar_name
-///5 tempban:full_avatar_name
-///5 unban:full_avatar_name
-///5 pass:full_avatar_name
-///5 unpass:full_avatar_name
-///5 clearban
-///5 clearpass
-
-string command;
-
-default
-{
-    state_entry()
-    {
-        llListen(5, "", llGetOwner(), "");
-    }
-    
-    on_rez(integer param)
-    {
-        llResetScript();
-    }
-
-    listen(integer chan, string name, key id, string message)
-    {
-        if (command != "")
-        {
-            llOwnerSay("Sorry, still processing last command, try again in a second.");
-        }
-        
-        list args = llParseString2List(message,[":"],[]);
-        command = llToLower(llList2String(args,0));
-        
-        if (command == "clearbans")
-        {
-            llResetLandBanList();
-        }
-        if (command == "clearpass")
-        {
-            llResetLandPassList();
-        }
-        else
-        {
-            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
-        }
-    }
-    
-    no_sensor()
-    {
-        command = "";
-    }
-    
-    sensor(integer num)
-    {
-        integer i;
-        for (i=0; i< num; ++i)
-        {
-            if (command == "ban")
-            {
-                // Ban indefinetely 
-                llAddToLandBanList(llDetectedKey(i),0.0);
-            }
-            if (command == "tempban")
-            {
-                // Ban for 1 hour.
-                llAddToLandBanList(llDetectedKey(i),1.0);
-            }
-            if (command == "unban")
-            {
-                llRemoveFromLandBanList(llDetectedKey(i));
-            }
-            if (command == "pass")
-            {
-                // Add to land pass list for 1 hour
-                llAddToLandPassList(llDetectedKey(i),1.0);
-            }
-            if (command == "unpass")
-            {
-                llRemoveFromLandPassList(llDetectedKey(i));
-            }
-        }
-        command = "";
-    }
-}
+//Commands are:
+///5 ban:full_avatar_name
+///5 tempban:full_avatar_name
+///5 unban:full_avatar_name
+///5 pass:full_avatar_name
+///5 unpass:full_avatar_name
+///5 clearban
+///5 clearpass
+
+string command;
+
+default
+{
+    state_entry()
+    {
+        llListen(5, "", llGetOwner(), "");
+    }
+    
+    on_rez(integer param)
+    {
+        llResetScript();
+    }
+
+    listen(integer chan, string name, key id, string message)
+    {
+        if (command != "")
+        {
+            llOwnerSay("Sorry, still processing last command, try again in a second.");
+        }
+        
+        list args = llParseString2List(message,[":"],[]);
+        command = llToLower(llList2String(args,0));
+        
+        if (command == "clearbans")
+        {
+            llResetLandBanList();
+        }
+        if (command == "clearpass")
+        {
+            llResetLandPassList();
+        }
+        else
+        {
+            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
+        }
+    }
+    
+    no_sensor()
+    {
+        command = "";
+    }
+    
+    sensor(integer num)
+    {
+        integer i;
+        for (i=0; i< num; ++i)
+        {
+            if (command == "ban")
+            {
+                // Ban indefinetely 
+                llAddToLandBanList(llDetectedKey(i),0.0);
+            }
+            if (command == "tempban")
+            {
+                // Ban for 1 hour.
+                llAddToLandBanList(llDetectedKey(i),1.0);
+            }
+            if (command == "unban")
+            {
+                llRemoveFromLandBanList(llDetectedKey(i));
+            }
+            if (command == "pass")
+            {
+                // Add to land pass list for 1 hour
+                llAddToLandPassList(llDetectedKey(i),1.0);
+            }
+            if (command == "unpass")
+            {
+                llRemoveFromLandPassList(llDetectedKey(i));
+            }
+        }
+        command = "";
+    }
+}

+ 84 - 84
bin/assets/ScriptsAssetSet/llRemoveFromLandPassList.lsl

@@ -1,84 +1,84 @@
-//Commands are:
-///5 ban:full_avatar_name
-///5 tempban:full_avatar_name
-///5 unban:full_avatar_name
-///5 pass:full_avatar_name
-///5 unpass:full_avatar_name
-///5 clearban
-///5 clearpass
-
-string command;
-
-default
-{
-    state_entry()
-    {
-        llListen(5, "", llGetOwner(), "");
-    }
-    
-    on_rez(integer param)
-    {
-        llResetScript();
-    }
-
-    listen(integer chan, string name, key id, string message)
-    {
-        if (command != "")
-        {
-            llOwnerSay("Sorry, still processing last command, try again in a second.");
-        }
-        
-        list args = llParseString2List(message,[":"],[]);
-        command = llToLower(llList2String(args,0));
-        
-        if (command == "clearbans")
-        {
-            llResetLandBanList();
-        }
-        if (command == "clearpass")
-        {
-            llResetLandPassList();
-        }
-        else
-        {
-            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
-        }
-    }
-    
-    no_sensor()
-    {
-        command = "";
-    }
-    
-    sensor(integer num)
-    {
-        integer i;
-        for (i=0; i< num; ++i)
-        {
-            if (command == "ban")
-            {
-                // Ban indefinetely 
-                llAddToLandBanList(llDetectedKey(i),0.0);
-            }
-            if (command == "tempban")
-            {
-                // Ban for 1 hour.
-                llAddToLandBanList(llDetectedKey(i),1.0);
-            }
-            if (command == "unban")
-            {
-                llRemoveFromLandBanList(llDetectedKey(i));
-            }
-            if (command == "pass")
-            {
-                // Add to land pass list for 1 hour
-                llAddToLandPassList(llDetectedKey(i),1.0);
-            }
-            if (command == "unpass")
-            {
-                llRemoveFromLandPassList(llDetectedKey(i));
-            }
-        }
-        command = "";
-    }
-}
+//Commands are:
+///5 ban:full_avatar_name
+///5 tempban:full_avatar_name
+///5 unban:full_avatar_name
+///5 pass:full_avatar_name
+///5 unpass:full_avatar_name
+///5 clearban
+///5 clearpass
+
+string command;
+
+default
+{
+    state_entry()
+    {
+        llListen(5, "", llGetOwner(), "");
+    }
+    
+    on_rez(integer param)
+    {
+        llResetScript();
+    }
+
+    listen(integer chan, string name, key id, string message)
+    {
+        if (command != "")
+        {
+            llOwnerSay("Sorry, still processing last command, try again in a second.");
+        }
+        
+        list args = llParseString2List(message,[":"],[]);
+        command = llToLower(llList2String(args,0));
+        
+        if (command == "clearbans")
+        {
+            llResetLandBanList();
+        }
+        if (command == "clearpass")
+        {
+            llResetLandPassList();
+        }
+        else
+        {
+            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
+        }
+    }
+    
+    no_sensor()
+    {
+        command = "";
+    }
+    
+    sensor(integer num)
+    {
+        integer i;
+        for (i=0; i< num; ++i)
+        {
+            if (command == "ban")
+            {
+                // Ban indefinetely 
+                llAddToLandBanList(llDetectedKey(i),0.0);
+            }
+            if (command == "tempban")
+            {
+                // Ban for 1 hour.
+                llAddToLandBanList(llDetectedKey(i),1.0);
+            }
+            if (command == "unban")
+            {
+                llRemoveFromLandBanList(llDetectedKey(i));
+            }
+            if (command == "pass")
+            {
+                // Add to land pass list for 1 hour
+                llAddToLandPassList(llDetectedKey(i),1.0);
+            }
+            if (command == "unpass")
+            {
+                llRemoveFromLandPassList(llDetectedKey(i));
+            }
+        }
+        command = "";
+    }
+}

+ 84 - 84
bin/assets/ScriptsAssetSet/llResetLandBanList.lsl

@@ -1,84 +1,84 @@
-//Commands are:
-///5 ban:full_avatar_name
-///5 tempban:full_avatar_name
-///5 unban:full_avatar_name
-///5 pass:full_avatar_name
-///5 unpass:full_avatar_name
-///5 clearban
-///5 clearpass
-
-string command;
-
-default
-{
-    state_entry()
-    {
-        llListen(5, "", llGetOwner(), "");
-    }
-    
-    on_rez(integer param)
-    {
-        llResetScript();
-    }
-
-    listen(integer chan, string name, key id, string message)
-    {
-        if (command != "")
-        {
-            llOwnerSay("Sorry, still processing last command, try again in a second.");
-        }
-        
-        list args = llParseString2List(message,[":"],[]);
-        command = llToLower(llList2String(args,0));
-        
-        if (command == "clearbans")
-        {
-            llResetLandBanList();
-        }
-        if (command == "clearpass")
-        {
-            llResetLandPassList();
-        }
-        else
-        {
-            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
-        }
-    }
-    
-    no_sensor()
-    {
-        command = "";
-    }
-    
-    sensor(integer num)
-    {
-        integer i;
-        for (i=0; i< num; ++i)
-        {
-            if (command == "ban")
-            {
-                // Ban indefinetely 
-                llAddToLandBanList(llDetectedKey(i),0.0);
-            }
-            if (command == "tempban")
-            {
-                // Ban for 1 hour.
-                llAddToLandBanList(llDetectedKey(i),1.0);
-            }
-            if (command == "unban")
-            {
-                llRemoveFromLandBanList(llDetectedKey(i));
-            }
-            if (command == "pass")
-            {
-                // Add to land pass list for 1 hour
-                llAddToLandPassList(llDetectedKey(i),1.0);
-            }
-            if (command == "unpass")
-            {
-                llRemoveFromLandPassList(llDetectedKey(i));
-            }
-        }
-        command = "";
-    }
-}
+//Commands are:
+///5 ban:full_avatar_name
+///5 tempban:full_avatar_name
+///5 unban:full_avatar_name
+///5 pass:full_avatar_name
+///5 unpass:full_avatar_name
+///5 clearban
+///5 clearpass
+
+string command;
+
+default
+{
+    state_entry()
+    {
+        llListen(5, "", llGetOwner(), "");
+    }
+    
+    on_rez(integer param)
+    {
+        llResetScript();
+    }
+
+    listen(integer chan, string name, key id, string message)
+    {
+        if (command != "")
+        {
+            llOwnerSay("Sorry, still processing last command, try again in a second.");
+        }
+        
+        list args = llParseString2List(message,[":"],[]);
+        command = llToLower(llList2String(args,0));
+        
+        if (command == "clearbans")
+        {
+            llResetLandBanList();
+        }
+        if (command == "clearpass")
+        {
+            llResetLandPassList();
+        }
+        else
+        {
+            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
+        }
+    }
+    
+    no_sensor()
+    {
+        command = "";
+    }
+    
+    sensor(integer num)
+    {
+        integer i;
+        for (i=0; i< num; ++i)
+        {
+            if (command == "ban")
+            {
+                // Ban indefinetely 
+                llAddToLandBanList(llDetectedKey(i),0.0);
+            }
+            if (command == "tempban")
+            {
+                // Ban for 1 hour.
+                llAddToLandBanList(llDetectedKey(i),1.0);
+            }
+            if (command == "unban")
+            {
+                llRemoveFromLandBanList(llDetectedKey(i));
+            }
+            if (command == "pass")
+            {
+                // Add to land pass list for 1 hour
+                llAddToLandPassList(llDetectedKey(i),1.0);
+            }
+            if (command == "unpass")
+            {
+                llRemoveFromLandPassList(llDetectedKey(i));
+            }
+        }
+        command = "";
+    }
+}

+ 84 - 84
bin/assets/ScriptsAssetSet/llResetLandPassList.lsl

@@ -1,84 +1,84 @@
-//Commands are:
-///5 ban:full_avatar_name
-///5 tempban:full_avatar_name
-///5 unban:full_avatar_name
-///5 pass:full_avatar_name
-///5 unpass:full_avatar_name
-///5 clearban
-///5 clearpass
-
-string command;
-
-default
-{
-    state_entry()
-    {
-        llListen(5, "", llGetOwner(), "");
-    }
-    
-    on_rez(integer param)
-    {
-        llResetScript();
-    }
-
-    listen(integer chan, string name, key id, string message)
-    {
-        if (command != "")
-        {
-            llOwnerSay("Sorry, still processing last command, try again in a second.");
-        }
-        
-        list args = llParseString2List(message,[":"],[]);
-        command = llToLower(llList2String(args,0));
-        
-        if (command == "clearbans")
-        {
-            llResetLandBanList();
-        }
-        if (command == "clearpass")
-        {
-            llResetLandPassList();
-        }
-        else
-        {
-            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
-        }
-    }
-    
-    no_sensor()
-    {
-        command = "";
-    }
-    
-    sensor(integer num)
-    {
-        integer i;
-        for (i=0; i< num; ++i)
-        {
-            if (command == "ban")
-            {
-                // Ban indefinetely 
-                llAddToLandBanList(llDetectedKey(i),0.0);
-            }
-            if (command == "tempban")
-            {
-                // Ban for 1 hour.
-                llAddToLandBanList(llDetectedKey(i),1.0);
-            }
-            if (command == "unban")
-            {
-                llRemoveFromLandBanList(llDetectedKey(i));
-            }
-            if (command == "pass")
-            {
-                // Add to land pass list for 1 hour
-                llAddToLandPassList(llDetectedKey(i),1.0);
-            }
-            if (command == "unpass")
-            {
-                llRemoveFromLandPassList(llDetectedKey(i));
-            }
-        }
-        command = "";
-    }
-}
+//Commands are:
+///5 ban:full_avatar_name
+///5 tempban:full_avatar_name
+///5 unban:full_avatar_name
+///5 pass:full_avatar_name
+///5 unpass:full_avatar_name
+///5 clearban
+///5 clearpass
+
+string command;
+
+default
+{
+    state_entry()
+    {
+        llListen(5, "", llGetOwner(), "");
+    }
+    
+    on_rez(integer param)
+    {
+        llResetScript();
+    }
+
+    listen(integer chan, string name, key id, string message)
+    {
+        if (command != "")
+        {
+            llOwnerSay("Sorry, still processing last command, try again in a second.");
+        }
+        
+        list args = llParseString2List(message,[":"],[]);
+        command = llToLower(llList2String(args,0));
+        
+        if (command == "clearbans")
+        {
+            llResetLandBanList();
+        }
+        if (command == "clearpass")
+        {
+            llResetLandPassList();
+        }
+        else
+        {
+            llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
+        }
+    }
+    
+    no_sensor()
+    {
+        command = "";
+    }
+    
+    sensor(integer num)
+    {
+        integer i;
+        for (i=0; i< num; ++i)
+        {
+            if (command == "ban")
+            {
+                // Ban indefinetely 
+                llAddToLandBanList(llDetectedKey(i),0.0);
+            }
+            if (command == "tempban")
+            {
+                // Ban for 1 hour.
+                llAddToLandBanList(llDetectedKey(i),1.0);
+            }
+            if (command == "unban")
+            {
+                llRemoveFromLandBanList(llDetectedKey(i));
+            }
+            if (command == "pass")
+            {
+                // Add to land pass list for 1 hour
+                llAddToLandPassList(llDetectedKey(i),1.0);
+            }
+            if (command == "unpass")
+            {
+                llRemoveFromLandPassList(llDetectedKey(i));
+            }
+        }
+        command = "";
+    }
+}

+ 7 - 7
bin/assets/ScriptsAssetSet/llSay.lsl

@@ -1,7 +1,7 @@
-default
-{
-    state_entry()
-    {
-        llSay(0,"This is an incredibly useless program." );
-    }
-}
+default
+{
+    state_entry()
+    {
+        llSay(0,"This is an incredibly useless program." );
+    }
+}

+ 7 - 7
bin/assets/ScriptsAssetSet/llSetParcelMusicURL.lsl

@@ -1,7 +1,7 @@
-default
-{
-    state_entry()
-    {
-        llSetParcelMusicURL("http://www.archive.org/download/Torley_Wong_-_The_Final_Selection/Torley_Wong-Lovers__Dance.mp3");
-    }
-}
+default
+{
+    state_entry()
+    {
+        llSetParcelMusicURL("http://www.archive.org/download/Torley_Wong_-_The_Final_Selection/Torley_Wong-Lovers__Dance.mp3");
+    }
+}

+ 13 - 13
bin/assets/ScriptsAssetSet/llSetRot.lsl

@@ -1,13 +1,13 @@
-default
-{
-    state_entry()
-    {
-        llOwnerSay("Touch me");
-    }
-    touch_start(integer total_number)
-    {
-        rotation Y_10 = llEuler2Rot( < 0, 0, 30 * DEG_TO_RAD > );
-        rotation newRotation = llGetRot() * Y_10;
-        llSetRot( newRotation );             
-    }
-}
+default
+{
+    state_entry()
+    {
+        llOwnerSay("Touch me");
+    }
+    touch_start(integer total_number)
+    {
+        rotation Y_10 = llEuler2Rot( < 0, 0, 30 * DEG_TO_RAD > );
+        rotation newRotation = llGetRot() * Y_10;
+        llSetRot( newRotation );             
+    }
+}

+ 5 - 5
bin/libode.dylib

@@ -1,5 +1,5 @@
-<configuration>
-    <dllmap os="osx" dll="openjpeg-libsl.dll" target="libopenjpeg-libsl-2.1.2.0.dylib" />
-    <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-libsl.dll" target="./libopenjpeg-libsl-2.1.2.0-x86_64.so" />
-    <dllmap os="!windows,osx" cpu="x86" dll="openjpeg-libsl.dll" target="./libopenjpeg-libsl-2.1.2.0.so" />
-</configuration>
+<configuration>
+    <dllmap os="osx" dll="openjpeg-libsl.dll" target="libopenjpeg-libsl-2.1.2.0.dylib" />
+    <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-libsl.dll" target="./libopenjpeg-libsl-2.1.2.0-x86_64.so" />
+    <dllmap os="!windows,osx" cpu="x86" dll="openjpeg-libsl.dll" target="./libopenjpeg-libsl-2.1.2.0.so" />
+</configuration>

+ 1 - 1
runprebuild.bat

@@ -1,2 +1,2 @@
-bin\Prebuild.exe /target nant
+bin\Prebuild.exe /target nant
 bin\Prebuild.exe /target vs2008

+ 0 - 53
set-svn-properties.sh

@@ -1,53 +0,0 @@
-#!/bin/sh
-
-set_eol_style()
-{
-    IFS=$'\n'
-    for file in `find . -iname \*\.$1`; do
-        prop=`svn propget svn:eol-style $file`
-        if [ -z "${prop}" -o "${prop}" != "native" ]; then
-            svn propset svn:eol-style native $file
-        fi
-    done
-    IFS=$' \t\n'
-}
-
-remove_executable()
-{
-    IFS=$'\n'
-    for file in `find . -iname \*\.$1`; do
-        prop=`svn propget svn:executable $file`
-        if [ -n "${prop}" ]; then
-            svn propdel svn:executable $file
-        fi
-    done
-    IFS=$' \t\n'
-}
-
-set_executable()
-{
-    IFS=$'\n'
-    for file in `find . -iname \*\.$1`; do
-        prop=`svn propget svn:executable $file`
-        if [ -z "${prop}" ]; then
-            svn propset svn:executable "*" $file
-        fi
-    done
-    IFS=$' \t\n'
-}
-
-EOL_EXTENSIONS="cs ini example txt sql xml sh"
-NO_EXE_EXTENSIONS="cs ini example txt sql xml"
-EXE_EXTENSIONS="exe sh"
-
-for ext in ${EOL_EXTENSIONS}; do
-    set_eol_style $ext
-done
-
-for ext in ${NO_EXE_EXTENSIONS}; do
-    remove_executable $ext
-done
-
-for ext in ${EXE_EXTENSIONS}; do
-    set_executable $ext
-done

+ 159 - 0
share/php/generateUserFunction.php

@@ -0,0 +1,159 @@
+#!/usr/bin/env python
+
+import os, os.path, popen2, re, string, sys
+
+def textfile(file):
+    return {
+        "svn:eol-style" : "native"
+    }
+
+def script(file):
+    return {
+        "svn:eol-style" : "native",
+        "svn:executable" : "*"
+    }
+
+def executable(file):
+    return {
+        "svn:executable" : "*",
+        "svn:mime-type" : "application/octet-stream"
+    }
+
+def binary(file):
+    return {
+        "svn:mime-type" : "application/octet-stream"
+    }
+
+def is_binary(file):
+    f = open(file)
+    data = f.read()
+    f.close()
+
+    for c in data:
+        if c not in string.printable:
+            return True
+    return False
+
+def binary_or_text(file):
+    if is_binary(file):
+        return binary(file)
+    else:
+        return textfile(file)
+
+property_map = {
+    ".bat" : script,
+    ".config" : textfile,
+    ".cs" : textfile,
+    ".csproj" : textfile,
+    ".dat" : binary_or_text,
+    ".dll" : binary,
+    ".dylib" : binary,
+    ".example" : textfile,
+    ".exe" : executable,
+    ".fxcop" : textfile,
+    ".ico" : binary,
+    ".include" : textfile,
+    ".ini" : textfile,
+    ".j2c" : binary,
+    ".jp2" : binary,
+    ".lsl" : textfile,
+    ".mdp" : textfile,
+    ".mds" : textfile,
+    ".nsi" : textfile,
+    ".php" : script,
+    ".pidb" : binary,
+    ".pl" : script,
+    ".png" : binary,
+    ".py" : script,
+    ".rb" : script,
+    ".resx" : textfile,
+    ".settings" : textfile,
+    ".stetic" : textfile,
+    ".sh" : script,
+    ".snk" : binary,
+    ".so" : binary,
+    ".sql" : textfile,
+    ".txt" : textfile,
+    ".userprefs" : textfile,
+    ".usertasks" : textfile,
+    ".xml" : textfile,
+    ".xsd" : textfile
+}
+
+def propset(file, property, value):
+    os.system('svn propset %s "%s" "%s"' % (property, value, file))
+
+def propdel(file, property):
+    os.system('svn propdel %s "%s"' % (property, file))
+
+def propget(file, property):
+    output, input, error = popen2.popen3('svn propget %s "%s"' % (property, file))
+
+    err = error.read()
+    if err != "":
+        output.close()
+        error.close()
+        input.close()
+        return ""
+
+    result = output.read()
+    output.close()
+    error.close()
+    input.close()
+    return result.strip()
+
+def proplist(file):
+    output, input, error = popen2.popen3('svn proplist "%s"' % file)
+
+    err = error.read()
+    if err != "":
+        output.close()
+        error.close()
+        input.close()
+        return None
+
+    result = output.readlines()
+    output.close()
+    error.close()
+    input.close()
+    if len(result) > 0 and re.match("^Properties on .*:$", result[0]) is not None:
+        return [r.strip() for r in result[1:]]
+    else:
+        return ""
+
+def update_file(file, properties):
+    current_props = proplist(file)
+
+    if current_props is None:
+        # svn error occurred -- probably an unversioned file
+        return
+
+    for p in current_props:
+        if not properties.has_key(p):
+            propdel(file, p)
+            
+    for p in properties:
+        if p not in current_props or propget(file, p) != properties[p]:
+            propset(file, p, properties[p])
+
+def update(dir):
+    for f in os.listdir(dir):
+        fullpath = os.path.join(dir, f)
+        if os.path.isdir(fullpath):
+            if not os.path.islink(fullpath):
+                update(fullpath)
+        else:
+            extension = os.path.splitext(fullpath)[1].lower()
+            if property_map.has_key(extension):
+                update_file(fullpath, property_map[extension](fullpath))
+            elif extension != "" and proplist(fullpath) is not None:
+                print "Warning: No properties defined for %s files (%s)" % (extension, fullpath)
+
+def main(argv = None):
+    if argv is None:
+        argv = sys.argv
+
+    update(".")
+
+if __name__ == "__main__":
+    sys.exit(main())