Moving examples, mapgenerator, and VisualParamGenerator to Programs folder (SVN is seriously ruined still, don't check out yet)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1961 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
166
Programs/examples/sldump/sldump.cs
Normal file
166
Programs/examples/sldump/sldump.cs
Normal file
@@ -0,0 +1,166 @@
|
||||
/*
|
||||
* Copyright (c) 2006-2008, openmetaverse.org
|
||||
* All rights reserved.
|
||||
*
|
||||
* - 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.
|
||||
* - Neither the name of the openmetaverse.org nor the names
|
||||
* of its contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using OpenMetaverse;
|
||||
using OpenMetaverse.Packets;
|
||||
|
||||
namespace sldump
|
||||
{
|
||||
class sldump
|
||||
{
|
||||
static bool LoginSuccess = false;
|
||||
static AutoResetEvent LoginEvent = new AutoResetEvent(false);
|
||||
|
||||
// Default packet handler, registered for all packet types
|
||||
public static void DefaultHandler(Packet packet, Simulator simulator)
|
||||
{
|
||||
Console.WriteLine(packet.ToString());
|
||||
}
|
||||
|
||||
public static void DisconnectHandler(NetworkManager.DisconnectType type, string message)
|
||||
{
|
||||
if (type == NetworkManager.DisconnectType.NetworkTimeout)
|
||||
{
|
||||
Console.WriteLine("Network connection timed out, disconnected");
|
||||
}
|
||||
else if (type == NetworkManager.DisconnectType.ServerInitiated)
|
||||
{
|
||||
Console.WriteLine("Server disconnected us: " + message);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main(string[] args)
|
||||
{
|
||||
GridClient client;
|
||||
|
||||
if (args.Length == 0 || (args.Length < 4 && args[0] != "--printmap"))
|
||||
{
|
||||
Console.WriteLine("Usage: sldump [--printmap] [--decrypt] [inputfile] [outputfile] "
|
||||
+ "[--protocol] [firstname] [lastname] [password] [seconds (0 for infinite)]");
|
||||
return;
|
||||
}
|
||||
|
||||
if (args[0] == "--decrypt")
|
||||
{
|
||||
try
|
||||
{
|
||||
ProtocolManager.DecodeMapFile(args[1], args[2]);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.ToString());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
client = new GridClient();
|
||||
// Turn off some unnecessary things
|
||||
Settings.LOG_LEVEL = Helpers.LogLevel.None;
|
||||
client.Settings.MULTIPLE_SIMS = false;
|
||||
// Throttle packets that we don't want all the way down
|
||||
client.Throttle.Land = 0;
|
||||
client.Throttle.Wind = 0;
|
||||
client.Throttle.Cloud = 0;
|
||||
|
||||
if (args[0] == "--printmap")
|
||||
{
|
||||
ProtocolManager protocol;
|
||||
|
||||
try
|
||||
{
|
||||
protocol = new ProtocolManager("message_template.msg", client);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
// Error initializing the client, probably missing file(s)
|
||||
Console.WriteLine(e.ToString());
|
||||
return;
|
||||
}
|
||||
|
||||
protocol.PrintMap();
|
||||
return;
|
||||
}
|
||||
|
||||
// Setup the packet callback and disconnect event handler
|
||||
client.Network.RegisterCallback(PacketType.Default, new NetworkManager.PacketCallback(DefaultHandler));
|
||||
client.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(DisconnectHandler);
|
||||
|
||||
client.Network.OnLogin += new NetworkManager.LoginCallback(Network_OnLogin);
|
||||
client.Network.BeginLogin(client.Network.DefaultLoginParams(args[0], args[1], args[2], "sldump",
|
||||
"contact@OpenMetaverse.org"));
|
||||
|
||||
LoginEvent.WaitOne();
|
||||
|
||||
if (!LoginSuccess)
|
||||
{
|
||||
Console.WriteLine("Login failed: {0}", client.Network.LoginMessage);
|
||||
return;
|
||||
}
|
||||
|
||||
Console.WriteLine("Message of the day: " + client.Network.LoginMessage);
|
||||
|
||||
int start = Environment.TickCount;
|
||||
int milliseconds = Int32.Parse(args[3]) * 1000;
|
||||
bool forever = (milliseconds > 0) ? false : true;
|
||||
|
||||
while (true)
|
||||
{
|
||||
System.Threading.Thread.Sleep(100);
|
||||
|
||||
if (!forever && Environment.TickCount - start > milliseconds)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
client.Network.Logout();
|
||||
}
|
||||
|
||||
static void Network_OnLogin(LoginStatus login, string message)
|
||||
{
|
||||
Console.WriteLine("Login: " + login.ToString() + " (" + message + ")");
|
||||
|
||||
switch (login)
|
||||
{
|
||||
case LoginStatus.Failed:
|
||||
LoginEvent.Set();
|
||||
break;
|
||||
case LoginStatus.Success:
|
||||
LoginSuccess = true;
|
||||
LoginEvent.Set();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
118
Programs/examples/sldump/sldump.csproj
Normal file
118
Programs/examples/sldump/sldump.csproj
Normal file
@@ -0,0 +1,118 @@
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectType>Local</ProjectType>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{F6258A68-C624-46A0-BA73-B55D21BB0A3B}</ProjectGuid>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ApplicationIcon>
|
||||
</ApplicationIcon>
|
||||
<AssemblyKeyContainerName>
|
||||
</AssemblyKeyContainerName>
|
||||
<AssemblyName>sldump</AssemblyName>
|
||||
<AssemblyOriginatorKeyFile>
|
||||
</AssemblyOriginatorKeyFile>
|
||||
<DefaultClientScript>JScript</DefaultClientScript>
|
||||
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
|
||||
<DefaultTargetSchema>IE50</DefaultTargetSchema>
|
||||
<DelaySign>false</DelaySign>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>sldump</RootNamespace>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>..\..\..\bin\</OutputPath>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<NoStdLib>false</NoStdLib>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
<Optimize>false</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DebugType>full</DebugType>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>..\..\..\bin\</OutputPath>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
||||
<ConfigurationOverrideFile>
|
||||
</ConfigurationOverrideFile>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<NoStdLib>false</NoStdLib>
|
||||
<NoWarn>
|
||||
</NoWarn>
|
||||
<Optimize>true</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DebugType>none</DebugType>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-docs|AnyCPU' ">
|
||||
<OutputPath>bin\Release-docs\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>
|
||||
</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<CodeAnalysisRuleAssemblies>C:\Program Files\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop\\rules</CodeAnalysisRuleAssemblies>
|
||||
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System">
|
||||
<Name>System</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Data">
|
||||
<Name>System.Data</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml">
|
||||
<Name>System.XML</Name>
|
||||
</Reference>
|
||||
<ProjectReference Include="..\..\OpenMetaverse.csproj">
|
||||
<Name>OpenMetaverse</Name>
|
||||
<Project>{D9CDEDFB-8169-4B03-B57F-0DF638F044EC}</Project>
|
||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
||||
<Private>False</Private>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="sldump.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>
|
||||
</PreBuildEvent>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Reference in New Issue
Block a user