From 637dc7a89a00d9142953d01fc170069ee451a115 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Wed, 23 Jul 2008 22:00:09 +0000 Subject: [PATCH] First commit in the [LIBOMV-320] series, phasing out libprimrender in favor of OpenMetaverse.Rendering git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1979 52acb1d6-8a22-11de-b505-999d5b087335 --- Programs/Baker/Baker.csproj | 117 - Programs/PrimWorkshop/Program.cs | 20 + .../PrimWorkshop/Properties/AssemblyInfo.cs | 33 + .../Properties/Resources.Designer.cs | 71 + .../PrimWorkshop/Properties/Resources.resx | 117 + .../Properties/Settings.Designer.cs | 30 + .../PrimWorkshop/Properties/Settings.settings | 7 + Programs/PrimWorkshop/TexturePipeline.cs | 341 +++ Programs/PrimWorkshop/frmBrowser.Designer.cs | 391 ++++ Programs/PrimWorkshop/frmBrowser.cs | 1954 +++++++++++++++++ Programs/PrimWorkshop/frmBrowser.resx | 120 + .../PrimWorkshop/frmPrimPreview.Designer.cs | 465 ++++ Programs/PrimWorkshop/frmPrimPreview.cs | 542 +++++ Programs/PrimWorkshop/frmPrimPreview.resx | 123 ++ Programs/PrimWorkshop/meshtoobj.cs | 153 ++ bin/GlacialList.dll | Bin 0 -> 86016 bytes bin/ICSharpCode.SharpZipLib.dll | Bin 0 -> 188416 bytes bin/Tao.OpenGl.dll | Bin 0 -> 1171456 bytes bin/Tao.OpenGl.dll.config | 4 + bin/Tao.Platform.Windows.dll | Bin 0 -> 98304 bytes prebuild.xml | 104 +- 21 files changed, 4474 insertions(+), 118 deletions(-) delete mode 100644 Programs/Baker/Baker.csproj create mode 100644 Programs/PrimWorkshop/Program.cs create mode 100644 Programs/PrimWorkshop/Properties/AssemblyInfo.cs create mode 100644 Programs/PrimWorkshop/Properties/Resources.Designer.cs create mode 100644 Programs/PrimWorkshop/Properties/Resources.resx create mode 100644 Programs/PrimWorkshop/Properties/Settings.Designer.cs create mode 100644 Programs/PrimWorkshop/Properties/Settings.settings create mode 100644 Programs/PrimWorkshop/TexturePipeline.cs create mode 100644 Programs/PrimWorkshop/frmBrowser.Designer.cs create mode 100644 Programs/PrimWorkshop/frmBrowser.cs create mode 100644 Programs/PrimWorkshop/frmBrowser.resx create mode 100644 Programs/PrimWorkshop/frmPrimPreview.Designer.cs create mode 100644 Programs/PrimWorkshop/frmPrimPreview.cs create mode 100644 Programs/PrimWorkshop/frmPrimPreview.resx create mode 100644 Programs/PrimWorkshop/meshtoobj.cs create mode 100644 bin/GlacialList.dll create mode 100644 bin/ICSharpCode.SharpZipLib.dll create mode 100644 bin/Tao.OpenGl.dll create mode 100644 bin/Tao.OpenGl.dll.config create mode 100644 bin/Tao.Platform.Windows.dll diff --git a/Programs/Baker/Baker.csproj b/Programs/Baker/Baker.csproj deleted file mode 100644 index d3d4b594..00000000 --- a/Programs/Baker/Baker.csproj +++ /dev/null @@ -1,117 +0,0 @@ - - - Local - 8.0.50727 - 2.0 - {7744EF85-0000-0000-0000-000000000000} - Debug - AnyCPU - - - - - Baker - JScript - Grid - IE50 - false - Exe - - - Baker - - - - - - - True - 285212672 - False - - - TRACE;DEBUG - - - True - 4096 - False - ..\..\bin\ - False - False - False - 4 - - - - - True - 285212672 - False - - - TRACE - - - False - 4096 - True - ..\..\bin\ - False - False - False - 4 - - - - - - System.dll - False - - - System.Data.dll - False - - - System.Drawing.dll - False - - - System.Windows.Forms.dll - False - - - - - OpenMetaverse - {3164F259-0000-0000-0000-000000000000} - {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - False - - - - - - - Code - - - Form - - - frmBaker.cs - Code - - - Code - - - - - - - - - - \ No newline at end of file diff --git a/Programs/PrimWorkshop/Program.cs b/Programs/PrimWorkshop/Program.cs new file mode 100644 index 00000000..bcaf7ec7 --- /dev/null +++ b/Programs/PrimWorkshop/Program.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; + +namespace primpreview +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new frmPrimPreview()); + } + } +} \ No newline at end of file diff --git a/Programs/PrimWorkshop/Properties/AssemblyInfo.cs b/Programs/PrimWorkshop/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..6d23e9f2 --- /dev/null +++ b/Programs/PrimWorkshop/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("primpreview")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Metaverse Industries LLC")] +[assembly: AssemblyProduct("primpreview")] +[assembly: AssemblyCopyright("Copyright © Metaverse Industries LLC 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("8b942505-1bf6-4efe-afef-afde490540d5")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Programs/PrimWorkshop/Properties/Resources.Designer.cs b/Programs/PrimWorkshop/Properties/Resources.Designer.cs new file mode 100644 index 00000000..76c2b5f8 --- /dev/null +++ b/Programs/PrimWorkshop/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.42 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace primpreview.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("primpreview.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Programs/PrimWorkshop/Properties/Resources.resx b/Programs/PrimWorkshop/Properties/Resources.resx new file mode 100644 index 00000000..ffecec85 --- /dev/null +++ b/Programs/PrimWorkshop/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Programs/PrimWorkshop/Properties/Settings.Designer.cs b/Programs/PrimWorkshop/Properties/Settings.Designer.cs new file mode 100644 index 00000000..967209ff --- /dev/null +++ b/Programs/PrimWorkshop/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.42 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace primpreview.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Programs/PrimWorkshop/Properties/Settings.settings b/Programs/PrimWorkshop/Properties/Settings.settings new file mode 100644 index 00000000..abf36c5d --- /dev/null +++ b/Programs/PrimWorkshop/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Programs/PrimWorkshop/TexturePipeline.cs b/Programs/PrimWorkshop/TexturePipeline.cs new file mode 100644 index 00000000..0409133e --- /dev/null +++ b/Programs/PrimWorkshop/TexturePipeline.cs @@ -0,0 +1,341 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading; +using libsecondlife; +/* + * [14:09] the onnewprim function will add missing texture uuids to the download queue, + * and a separate thread will pull entries off that queue. + * if they exist in the cache it will add that texture to a dictionary that the rendering loop accesses, + * otherwise it will start the download. + * the ondownloaded function will put the new texture in the same dictionary + * + * + * Easy Start: + * subscribe to OnImageRenderReady event + * send request with RequestTexture() + * + * when OnImageRenderReady fires: + * request image data with GetTextureToRender() using key returned in OnImageRenderReady event + * (optionally) use RemoveFromPipeline() with key to cleanup dictionary + */ +namespace primpreview +{ + class TaskInfo + { + public LLUUID RequestID; + public int RequestNbr; + + + public TaskInfo(LLUUID reqID, int reqNbr) + { + RequestID = reqID; + RequestNbr = reqNbr; + } + } + + /// + /// Texture request download handler, allows a configurable number of download slots + /// + public class TexturePipeline + { + private static SecondLife Client; + + // queue for requested images + private Queue RequestQueue; + + // list of current requests in process + private Dictionary CurrentRequests; + + private static AutoResetEvent[] resetEvents; + + private static int[] threadpoolSlots; + + /// + /// For keeping track of active threads available/downloading textures + /// + public static int[] ThreadpoolSlots + { + get { lock (threadpoolSlots) { return threadpoolSlots; }} + set { lock (threadpoolSlots) { threadpoolSlots = value; } } + } + + // storage for images ready to render + private Dictionary RenderReady; + + // maximum allowed concurrent requests at once + const int MAX_TEXTURE_REQUESTS = 3; + + /// + /// + /// + /// + /// + public delegate void DownloadFinishedCallback(LLUUID id, bool success); + /// + /// + /// + /// + /// + /// + public delegate void DownloadProgressCallback(LLUUID image, int recieved, int total); + + /// Fired when a texture download completes + public event DownloadFinishedCallback OnDownloadFinished; + /// + public event DownloadProgressCallback OnDownloadProgress; + + private Thread downloadMaster; + private bool Running; + + private AssetManager.ImageReceivedCallback DownloadCallback; + private AssetManager.ImageReceiveProgressCallback DownloadProgCallback; + + /// + /// Default constructor + /// + /// Reference to SecondLife client + public TexturePipeline(SecondLife client) + { + Running = true; + + RequestQueue = new Queue(); + CurrentRequests = new Dictionary(MAX_TEXTURE_REQUESTS); + + RenderReady = new Dictionary(); + + resetEvents = new AutoResetEvent[MAX_TEXTURE_REQUESTS]; + threadpoolSlots = new int[MAX_TEXTURE_REQUESTS]; + + // pre-configure autoreset events/download slots + for (int i = 0; i < MAX_TEXTURE_REQUESTS; i++) + { + resetEvents[i] = new AutoResetEvent(false); + threadpoolSlots[i] = -1; + } + + Client = client; + + DownloadCallback = new AssetManager.ImageReceivedCallback(Assets_OnImageReceived); + DownloadProgCallback = new AssetManager.ImageReceiveProgressCallback(Assets_OnImageReceiveProgress); + Client.Assets.OnImageReceived += DownloadCallback; + Client.Assets.OnImageReceiveProgress += DownloadProgCallback; + + // Fire up the texture download thread + downloadMaster = new Thread(new ThreadStart(DownloadThread)); + downloadMaster.Start(); + } + + public void Shutdown() + { + Client.Assets.OnImageReceived -= DownloadCallback; + Client.Assets.OnImageReceiveProgress -= DownloadProgCallback; + + RequestQueue.Clear(); + + for (int i = 0; i < resetEvents.Length; i++) + if (resetEvents[i] != null) + resetEvents[i].Set(); + + Running = false; + } + + /// + /// Request a texture be downloaded, once downloaded OnImageRenderReady event will be fired + /// containing texture key which can be used to retrieve texture with GetTextureToRender method + /// + /// id of Texture to request + public void RequestTexture(LLUUID textureID) + { + if (Client.Assets.Cache.HasImage(textureID)) + { + // Add to rendering dictionary + lock (RenderReady) + { + if (!RenderReady.ContainsKey(textureID)) + { + RenderReady.Add(textureID, Client.Assets.Cache.GetCachedImage(textureID)); + + // Let any subscribers know about it + if (OnDownloadFinished != null) + { + OnDownloadFinished(textureID, true); + } + } + else + { + // This image has already been served up, ignore this request + } + } + } + else + { + lock (RequestQueue) + { + // Make sure we aren't already downloading the texture + if (!RequestQueue.Contains(textureID) && !CurrentRequests.ContainsKey(textureID)) + { + RequestQueue.Enqueue(textureID); + } + } + } + } + + /// + /// retrieve texture information from dictionary + /// + /// Texture ID + /// ImageDownload object + public ImageDownload GetTextureToRender(LLUUID textureID) + { + ImageDownload renderable = new ImageDownload(); + lock (RenderReady) + { + if (RenderReady.ContainsKey(textureID)) + { + renderable = RenderReady[textureID]; + } + else + { + Logger.Log("Requested texture data for texture that does not exist in dictionary", Helpers.LogLevel.Warning); + } + return renderable; + } + } + + /// + /// Remove no longer necessary texture from dictionary + /// + /// + public void RemoveFromPipeline(LLUUID textureID) + { + lock (RenderReady) + { + if (RenderReady.ContainsKey(textureID)) + RenderReady.Remove(textureID); + } + } + + /// + /// Master Download Thread, Queues up downloads in the threadpool + /// + private void DownloadThread() + { + int reqNbr; + + while (Running) + { + if (RequestQueue.Count > 0) + { + reqNbr = -1; + // find available slot for reset event + for (int i = 0; i < threadpoolSlots.Length; i++) + { + if (threadpoolSlots[i] == -1) + { + threadpoolSlots[i] = 1; + reqNbr = i; + break; + } + } + + if (reqNbr != -1) + { + LLUUID requestID; + lock (RequestQueue) + requestID = RequestQueue.Dequeue(); + + Logger.DebugLog(String.Format("Sending Worker thread new download request {0}", reqNbr)); + ThreadPool.QueueUserWorkItem(new WaitCallback(textureRequestDoWork), new TaskInfo(requestID, reqNbr)); + + continue; + } + } + + // Queue was empty, let's give up some CPU time + Thread.Sleep(500); + } + } + + void textureRequestDoWork(Object threadContext) + { + TaskInfo ti = (TaskInfo)threadContext; + + lock (CurrentRequests) + { + if (CurrentRequests.ContainsKey(ti.RequestID)) + { + threadpoolSlots[ti.RequestNbr] = -1; + return; + } + else + { + CurrentRequests.Add(ti.RequestID, ti.RequestNbr); + } + } + + Logger.DebugLog(String.Format("Worker {0} Requesting {1}", ti.RequestNbr, ti.RequestID)); + + resetEvents[ti.RequestNbr].Reset(); + Client.Assets.RequestImage(ti.RequestID, ImageType.Normal); + + // don't release this worker slot until texture is downloaded or timeout occurs + if (!resetEvents[ti.RequestNbr].WaitOne(30 * 1000, false)) + { + // Timed out + Logger.Log("Worker " + ti.RequestNbr + " Timeout waiting for Texture " + ti.RequestID + " to Download", Helpers.LogLevel.Warning); + + lock (CurrentRequests) + CurrentRequests.Remove(ti.RequestID); + } + + // free up this download slot + threadpoolSlots[ti.RequestNbr] = -1; + } + + private void Assets_OnImageReceived(ImageDownload image, AssetTexture asset) + { + // Free up this slot in the ThreadPool + lock (CurrentRequests) + { + int requestNbr; + if (asset != null && CurrentRequests.TryGetValue(image.ID, out requestNbr)) + { + Logger.DebugLog(String.Format("Worker {0} Downloaded texture {1}", requestNbr, image.ID)); + resetEvents[requestNbr].Set(); + CurrentRequests.Remove(image.ID); + } + } + + if (image.Success) + { + lock (RenderReady) + { + if (!RenderReady.ContainsKey(image.ID)) + { + // Add to rendering dictionary + RenderReady.Add(image.ID, image); + } + } + } + else + { + Console.WriteLine(String.Format("Download of texture {0} failed. NotFound={1}", image.ID, image.NotFound)); + } + + // Let any subscribers know about it + if (OnDownloadFinished != null) + { + OnDownloadFinished(image.ID, image.Success); + } + } + + private void Assets_OnImageReceiveProgress(LLUUID image, int recieved, int total) + { + if (OnDownloadProgress != null) + { + OnDownloadProgress(image, recieved, total); + } + } + } +} diff --git a/Programs/PrimWorkshop/frmBrowser.Designer.cs b/Programs/PrimWorkshop/frmBrowser.Designer.cs new file mode 100644 index 00000000..882eb74e --- /dev/null +++ b/Programs/PrimWorkshop/frmBrowser.Designer.cs @@ -0,0 +1,391 @@ +namespace primpreview +{ + partial class frmBrowser + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + GlacialComponents.Controls.GLColumn glColumn1 = new GlacialComponents.Controls.GLColumn(); + GlacialComponents.Controls.GLColumn glColumn2 = new GlacialComponents.Controls.GLColumn(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.glControl = new Tao.Platform.Windows.SimpleOpenGlControl(); + this.panel1 = new System.Windows.Forms.Panel(); + this.txtPass = new System.Windows.Forms.TextBox(); + this.txtLast = new System.Windows.Forms.TextBox(); + this.txtFirst = new System.Windows.Forms.TextBox(); + this.cmdLogin = new System.Windows.Forms.Button(); + this.lstDownloads = new GlacialComponents.Controls.GlacialList(); + this.progPrims = new System.Windows.Forms.ProgressBar(); + this.lblPrims = new System.Windows.Forms.Label(); + this.cboServer = new System.Windows.Forms.ComboBox(); + this.panel2 = new System.Windows.Forms.Panel(); + this.txtSim = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.txtX = new System.Windows.Forms.TextBox(); + this.txtY = new System.Windows.Forms.TextBox(); + this.txtZ = new System.Windows.Forms.TextBox(); + this.cmdTeleport = new System.Windows.Forms.Button(); + this.tableLayoutPanel1.SuspendLayout(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.SuspendLayout(); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tableLayoutPanel1.ColumnCount = 3; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 130F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 175F)); + this.tableLayoutPanel1.Controls.Add(this.glControl, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.lstDownloads, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.progPrims, 1, 1); + this.tableLayoutPanel1.Controls.Add(this.lblPrims, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.panel2, 2, 0); + this.tableLayoutPanel1.Location = new System.Drawing.Point(1, 1); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 4; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 45F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 120F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(799, 612); + this.tableLayoutPanel1.TabIndex = 0; + // + // glControl + // + this.glControl.AccumBits = ((byte)(0)); + this.glControl.AutoCheckErrors = false; + this.glControl.AutoFinish = false; + this.glControl.AutoMakeCurrent = true; + this.glControl.AutoSwapBuffers = true; + this.glControl.BackColor = System.Drawing.Color.Black; + this.glControl.ColorBits = ((byte)(32)); + this.tableLayoutPanel1.SetColumnSpan(this.glControl, 2); + this.glControl.DepthBits = ((byte)(16)); + this.glControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.glControl.Location = new System.Drawing.Point(3, 3); + this.glControl.Name = "glControl"; + this.glControl.Size = new System.Drawing.Size(618, 411); + this.glControl.StencilBits = ((byte)(0)); + this.glControl.TabIndex = 7; + this.glControl.TabStop = false; + this.glControl.MouseMove += new System.Windows.Forms.MouseEventHandler(this.glControl_MouseMove); + this.glControl.MouseClick += new System.Windows.Forms.MouseEventHandler(this.glControl_MouseClick); + this.glControl.MouseDown += new System.Windows.Forms.MouseEventHandler(this.glControl_MouseDown); + this.glControl.Resize += new System.EventHandler(this.glControl_Resize); + this.glControl.MouseUp += new System.Windows.Forms.MouseEventHandler(this.glControl_MouseUp); + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tableLayoutPanel1.SetColumnSpan(this.panel1, 2); + this.panel1.Controls.Add(this.cboServer); + this.panel1.Controls.Add(this.txtPass); + this.panel1.Controls.Add(this.txtLast); + this.panel1.Controls.Add(this.txtFirst); + this.panel1.Controls.Add(this.cmdLogin); + this.panel1.Location = new System.Drawing.Point(3, 450); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(618, 39); + this.panel1.TabIndex = 8; + // + // txtPass + // + this.txtPass.Location = new System.Drawing.Point(215, 11); + this.txtPass.Name = "txtPass"; + this.txtPass.Size = new System.Drawing.Size(100, 20); + this.txtPass.TabIndex = 2; + this.txtPass.UseSystemPasswordChar = true; + this.txtPass.Enter += new System.EventHandler(this.txtLogin_Enter); + // + // txtLast + // + this.txtLast.Location = new System.Drawing.Point(109, 11); + this.txtLast.Name = "txtLast"; + this.txtLast.Size = new System.Drawing.Size(100, 20); + this.txtLast.TabIndex = 1; + this.txtLast.Enter += new System.EventHandler(this.txtLogin_Enter); + // + // txtFirst + // + this.txtFirst.Location = new System.Drawing.Point(3, 11); + this.txtFirst.Name = "txtFirst"; + this.txtFirst.Size = new System.Drawing.Size(100, 20); + this.txtFirst.TabIndex = 0; + this.txtFirst.Enter += new System.EventHandler(this.txtLogin_Enter); + // + // cmdLogin + // + this.cmdLogin.Location = new System.Drawing.Point(321, 9); + this.cmdLogin.Name = "cmdLogin"; + this.cmdLogin.Size = new System.Drawing.Size(75, 23); + this.cmdLogin.TabIndex = 3; + this.cmdLogin.Text = "Login"; + this.cmdLogin.UseVisualStyleBackColor = true; + this.cmdLogin.Click += new System.EventHandler(this.cmdLogin_Click); + // + // lstDownloads + // + this.lstDownloads.AllowColumnResize = true; + this.lstDownloads.AllowMultiselect = false; + this.lstDownloads.AlternateBackground = System.Drawing.Color.DarkGreen; + this.lstDownloads.AlternatingColors = false; + this.lstDownloads.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lstDownloads.AutoHeight = true; + this.lstDownloads.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.lstDownloads.BackgroundStretchToFit = true; + glColumn1.ActivatedEmbeddedType = GlacialComponents.Controls.GLActivatedEmbeddedTypes.None; + glColumn1.CheckBoxes = false; + glColumn1.ImageIndex = -1; + glColumn1.Name = "colTextureID"; + glColumn1.NumericSort = false; + glColumn1.Text = "Texture ID"; + glColumn1.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft; + glColumn1.Width = 220; + glColumn2.ActivatedEmbeddedType = GlacialComponents.Controls.GLActivatedEmbeddedTypes.None; + glColumn2.CheckBoxes = false; + glColumn2.ImageIndex = -1; + glColumn2.Name = "colProgress"; + glColumn2.NumericSort = false; + glColumn2.Text = "Download Progress"; + glColumn2.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft; + glColumn2.Width = 220; + this.lstDownloads.Columns.AddRange(new GlacialComponents.Controls.GLColumn[] { + glColumn1, + glColumn2}); + this.tableLayoutPanel1.SetColumnSpan(this.lstDownloads, 2); + this.lstDownloads.ControlStyle = GlacialComponents.Controls.GLControlStyles.Normal; + this.lstDownloads.FullRowSelect = true; + this.lstDownloads.GridColor = System.Drawing.Color.LightGray; + this.lstDownloads.GridLines = GlacialComponents.Controls.GLGridLines.gridBoth; + this.lstDownloads.GridLineStyle = GlacialComponents.Controls.GLGridLineStyles.gridSolid; + this.lstDownloads.GridTypes = GlacialComponents.Controls.GLGridTypes.gridOnExists; + this.lstDownloads.HeaderHeight = 22; + this.lstDownloads.HeaderVisible = true; + this.lstDownloads.HeaderWordWrap = false; + this.lstDownloads.HotColumnTracking = false; + this.lstDownloads.HotItemTracking = false; + this.lstDownloads.HotTrackingColor = System.Drawing.Color.LightGray; + this.lstDownloads.HoverEvents = false; + this.lstDownloads.HoverTime = 1; + this.lstDownloads.ImageList = null; + this.lstDownloads.ItemHeight = 17; + this.lstDownloads.ItemWordWrap = false; + this.lstDownloads.Location = new System.Drawing.Point(3, 495); + this.lstDownloads.Name = "lstDownloads"; + this.lstDownloads.Selectable = true; + this.lstDownloads.SelectedTextColor = System.Drawing.Color.White; + this.lstDownloads.SelectionColor = System.Drawing.Color.DarkBlue; + this.lstDownloads.ShowBorder = true; + this.lstDownloads.ShowFocusRect = false; + this.lstDownloads.Size = new System.Drawing.Size(618, 114); + this.lstDownloads.SortType = GlacialComponents.Controls.SortTypes.InsertionSort; + this.lstDownloads.SuperFlatHeaderColor = System.Drawing.Color.White; + this.lstDownloads.TabIndex = 9; + this.lstDownloads.Text = "Texture Downloads"; + // + // progPrims + // + this.progPrims.Dock = System.Windows.Forms.DockStyle.Fill; + this.progPrims.Location = new System.Drawing.Point(133, 420); + this.progPrims.Name = "progPrims"; + this.progPrims.Size = new System.Drawing.Size(488, 24); + this.progPrims.TabIndex = 10; + // + // lblPrims + // + this.lblPrims.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblPrims.AutoSize = true; + this.lblPrims.Location = new System.Drawing.Point(3, 425); + this.lblPrims.Name = "lblPrims"; + this.lblPrims.Size = new System.Drawing.Size(61, 13); + this.lblPrims.TabIndex = 11; + this.lblPrims.Text = "Prims: 0 / 0"; + // + // cboServer + // + this.cboServer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.cboServer.FormattingEnabled = true; + this.cboServer.Location = new System.Drawing.Point(405, 11); + this.cboServer.Name = "cboServer"; + this.cboServer.Size = new System.Drawing.Size(204, 21); + this.cboServer.TabIndex = 4; + // + // panel2 + // + this.panel2.Controls.Add(this.cmdTeleport); + this.panel2.Controls.Add(this.txtZ); + this.panel2.Controls.Add(this.txtY); + this.panel2.Controls.Add(this.txtX); + this.panel2.Controls.Add(this.label5); + this.panel2.Controls.Add(this.label4); + this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.label2); + this.panel2.Controls.Add(this.txtSim); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(627, 3); + this.panel2.Name = "panel2"; + this.tableLayoutPanel1.SetRowSpan(this.panel2, 4); + this.panel2.Size = new System.Drawing.Size(169, 606); + this.panel2.TabIndex = 12; + // + // txtSim + // + this.txtSim.Location = new System.Drawing.Point(36, 8); + this.txtSim.Name = "txtSim"; + this.txtSim.Size = new System.Drawing.Size(126, 20); + this.txtSim.TabIndex = 1; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(3, 11); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(27, 13); + this.label2.TabIndex = 2; + this.label2.Text = "Sim:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(5, 37); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(17, 13); + this.label3.TabIndex = 3; + this.label3.Text = "X:"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(58, 37); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(17, 13); + this.label4.TabIndex = 4; + this.label4.Text = "Y:"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(112, 37); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(17, 13); + this.label5.TabIndex = 5; + this.label5.Text = "Z:"; + // + // txtX + // + this.txtX.Location = new System.Drawing.Point(24, 34); + this.txtX.MaxLength = 3; + this.txtX.Name = "txtX"; + this.txtX.Size = new System.Drawing.Size(30, 20); + this.txtX.TabIndex = 6; + this.txtX.Text = "128"; + // + // txtY + // + this.txtY.Location = new System.Drawing.Point(78, 34); + this.txtY.MaxLength = 3; + this.txtY.Name = "txtY"; + this.txtY.Size = new System.Drawing.Size(30, 20); + this.txtY.TabIndex = 7; + this.txtY.Text = "128"; + // + // txtZ + // + this.txtZ.Location = new System.Drawing.Point(132, 34); + this.txtZ.MaxLength = 3; + this.txtZ.Name = "txtZ"; + this.txtZ.Size = new System.Drawing.Size(30, 20); + this.txtZ.TabIndex = 8; + this.txtZ.Text = "0"; + // + // cmdTeleport + // + this.cmdTeleport.Enabled = false; + this.cmdTeleport.Location = new System.Drawing.Point(87, 60); + this.cmdTeleport.Name = "cmdTeleport"; + this.cmdTeleport.Size = new System.Drawing.Size(75, 23); + this.cmdTeleport.TabIndex = 9; + this.cmdTeleport.Text = "Teleport"; + this.cmdTeleport.UseVisualStyleBackColor = true; + this.cmdTeleport.Click += new System.EventHandler(this.cmdTeleport_Click); + // + // frmBrowser + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 612); + this.Controls.Add(this.tableLayoutPanel1); + this.Name = "frmBrowser"; + this.Text = "World Browser"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmBrowser_FormClosing); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private Tao.Platform.Windows.SimpleOpenGlControl glControl; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.TextBox txtPass; + private System.Windows.Forms.TextBox txtLast; + private System.Windows.Forms.TextBox txtFirst; + private System.Windows.Forms.Button cmdLogin; + private GlacialComponents.Controls.GlacialList lstDownloads; + private System.Windows.Forms.ProgressBar progPrims; + private System.Windows.Forms.Label lblPrims; + private System.Windows.Forms.ComboBox cboServer; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.TextBox txtZ; + private System.Windows.Forms.TextBox txtY; + private System.Windows.Forms.TextBox txtX; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox txtSim; + private System.Windows.Forms.Button cmdTeleport; + + } +} \ No newline at end of file diff --git a/Programs/PrimWorkshop/frmBrowser.cs b/Programs/PrimWorkshop/frmBrowser.cs new file mode 100644 index 00000000..ac672de1 --- /dev/null +++ b/Programs/PrimWorkshop/frmBrowser.cs @@ -0,0 +1,1954 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Imaging; +using System.Windows.Forms; +using System.IO; +using System.Runtime.InteropServices; +using Tao.OpenGl; +using Tao.Platform.Windows; +using ICSharpCode.SharpZipLib.Zip; +using libsecondlife; +using libsecondlife.StructuredData; +using libsecondlife.Imaging; +using libsecondlife.Rendering; + +namespace primpreview +{ + public partial class frmBrowser : Form + { + const float DEG_TO_RAD = 0.0174532925f; + const uint TERRAIN_START = (uint)Int32.MaxValue + 1; + + ContextMenu ExportPrimMenu; + ContextMenu ExportTerrainMenu; + + SecondLife Client; + Camera Camera; + Dictionary RenderFoliageList = new Dictionary(); + Dictionary RenderPrimList = new Dictionary(); + Dictionary DownloadList = new Dictionary(); + EventHandler IdleEvent; + + System.Timers.Timer ProgressTimer; + int TotalPrims; + + // Textures + TexturePipeline TextureDownloader; + Dictionary Textures = new Dictionary(); + + // Terrain + float MaxHeight = 0.1f; + libsecondlife.TerrainManager.Patch[,] Heightmap; + HeightmapLookupValue[] LookupHeightTable; + + // Picking globals + bool Clicked = false; + int ClickX = 0; + int ClickY = 0; + uint LastHit = 0; + + // + LLVector3 PivotPosition = LLVector3.Zero; + bool Pivoting = false; + Point LastPivot; + + // + const int SELECT_BUFSIZE = 512; + uint[] SelectBuffer = new uint[SELECT_BUFSIZE]; + + // + NativeMethods.Message msg; + private bool AppStillIdle + { + get { return !NativeMethods.PeekMessage(out msg, IntPtr.Zero, 0, 0, 0); } + } + + /// + /// Default constructor + /// + public frmBrowser() + { + InitializeComponent(); + + // Setup OpenGL + glControl.InitializeContexts(); + glControl.SwapBuffers(); + glControl.MouseWheel += new MouseEventHandler(glControl_MouseWheel); + + // Login server URLs + cboServer.Items.Add(Settings.AGNI_LOGIN_SERVER); + cboServer.Items.Add(Settings.ADITI_LOGIN_SERVER); + cboServer.Items.Add("http://osgrid.org:8002/"); + cboServer.SelectedIndex = 0; + + // Context menus + ExportPrimMenu = new ContextMenu(); + ExportPrimMenu.MenuItems.Add("Download", new EventHandler(DownloadMenu_Clicked)); + ExportPrimMenu.MenuItems.Add("Download All Objects", new EventHandler(DownloadAllMenu_Clicked)); + ExportTerrainMenu = new ContextMenu(); + ExportTerrainMenu.MenuItems.Add("Teleport", new EventHandler(TeleportMenu_Clicked)); + ExportTerrainMenu.MenuItems.Add("Export Terrain", new EventHandler(ExportTerrainMenu_Clicked)); + ExportTerrainMenu.MenuItems.Add("Import Object", new EventHandler(ImportObjectMenu_Clicked)); + ExportTerrainMenu.MenuItems.Add("Import Sim", new EventHandler(ImportSimMenu_Clicked)); + + // Setup a timer for updating the progress bar + ProgressTimer = new System.Timers.Timer(250); + ProgressTimer.Elapsed += + delegate(object sender, System.Timers.ElapsedEventArgs e) + { + UpdatePrimProgress(); + }; + ProgressTimer.Start(); + + IdleEvent = new EventHandler(Application_Idle); + Application.Idle += IdleEvent; + + // Show a flat sim before login so the screen isn't so boring + InitOpenGL(); + InitCamera(); + InitHeightmap(); + + glControl_Resize(null, null); + } + + private void InitLists() + { + TotalPrims = 0; + + lock (Textures) + { + foreach (TextureInfo tex in Textures.Values) + { + int id = tex.ID; + Gl.glDeleteTextures(1, ref id); + } + + Textures.Clear(); + } + + lock (RenderPrimList) RenderPrimList.Clear(); + lock (RenderFoliageList) RenderFoliageList.Clear(); + } + + private void InitializeObjects() + { + InitHeightmap(); + InitLists(); + + if (DownloadList != null) + lock (DownloadList) + DownloadList.Clear(); + + // Initialize the SL client + Client = new SecondLife(); + Client.Settings.MULTIPLE_SIMS = false; + Client.Settings.ALWAYS_DECODE_OBJECTS = true; + Client.Settings.ALWAYS_REQUEST_OBJECTS = true; + Client.Settings.SEND_AGENT_UPDATES = true; + Client.Settings.DISABLE_AGENT_UPDATE_DUPLICATE_CHECK = true; + Client.Settings.USE_TEXTURE_CACHE = true; + Client.Settings.TEXTURE_CACHE_DIR = Application.StartupPath + System.IO.Path.DirectorySeparatorChar + "cache"; + Client.Settings.ALWAYS_REQUEST_PARCEL_ACL = false; + Client.Settings.ALWAYS_REQUEST_PARCEL_DWELL = false; + // Crank up the throttle on texture downloads + Client.Throttle.Texture = 446000.0f; + + // FIXME: Write our own avatar tracker so we don't double store prims + Client.Settings.OBJECT_TRACKING = false; // We use our own object tracking system + Client.Settings.AVATAR_TRACKING = true; //but we want to use the libsl avatar system + + Client.Network.OnLogin += new NetworkManager.LoginCallback(Network_OnLogin); + Client.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(Network_OnDisconnected); + Client.Network.OnCurrentSimChanged += new NetworkManager.CurrentSimChangedCallback(Network_OnCurrentSimChanged); + Client.Network.OnEventQueueRunning += new NetworkManager.EventQueueRunningCallback(Network_OnEventQueueRunning); + Client.Objects.OnNewPrim += new ObjectManager.NewPrimCallback(Objects_OnNewPrim); + Client.Objects.OnNewFoliage += new ObjectManager.NewFoliageCallback(Objects_OnNewFoliage); + Client.Objects.OnObjectKilled += new ObjectManager.KillObjectCallback(Objects_OnObjectKilled); + Client.Terrain.OnLandPatch += new TerrainManager.LandPatchCallback(Terrain_OnLandPatch); + Client.Parcels.OnSimParcelsDownloaded += new ParcelManager.SimParcelsDownloaded(Parcels_OnSimParcelsDownloaded); + + // Initialize the texture download pipeline + if (TextureDownloader != null) + TextureDownloader.Shutdown(); + TextureDownloader = new TexturePipeline(Client); + TextureDownloader.OnDownloadFinished += new TexturePipeline.DownloadFinishedCallback(TextureDownloader_OnDownloadFinished); + TextureDownloader.OnDownloadProgress += new TexturePipeline.DownloadProgressCallback(TextureDownloader_OnDownloadProgress); + + // Initialize the camera object + InitCamera(); + + // Setup the libsl camera to match our Camera struct + UpdateCamera(); + glControl_Resize(null, null); + + /* + // Enable lighting + Gl.glEnable(Gl.GL_LIGHTING); + Gl.glEnable(Gl.GL_LIGHT0); + float[] lightPosition = { 128.0f, 64.0f, 96.0f, 0.0f }; + Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, lightPosition); + + // Setup ambient property + float[] ambientLight = { 0.2f, 0.2f, 0.2f, 0.0f }; + Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_AMBIENT, ambientLight); + + // Setup specular property + float[] specularLight = { 0.5f, 0.5f, 0.5f, 0.0f }; + Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_SPECULAR, specularLight); + */ + } + + private void InitOpenGL() + { + Gl.glShadeModel(Gl.GL_SMOOTH); + + Gl.glClearDepth(1.0f); + Gl.glEnable(Gl.GL_DEPTH_TEST); + Gl.glDepthMask(Gl.GL_TRUE); + Gl.glDepthFunc(Gl.GL_LEQUAL); + Gl.glHint(Gl.GL_PERSPECTIVE_CORRECTION_HINT, Gl.GL_NICEST); + } + + private void InitHeightmap() + { + // Initialize the heightmap + Heightmap = new TerrainManager.Patch[16, 16]; + for (int y = 0; y < 16; y++) + { + for (int x = 0; x < 16; x++) + { + Heightmap[y, x] = new TerrainManager.Patch(); + Heightmap[y, x].Heightmap = new float[16 * 16]; + } + } + + // Speed up terrain exports with a lookup table + LookupHeightTable = new HeightmapLookupValue[256 * 256]; + for (int i = 0; i < 256; i++) + { + for (int j = 0; j < 256; j++) + { + LookupHeightTable[i + (j * 256)] = new HeightmapLookupValue(i + (j * 256), ((float)i * ((float)j / 127.0f))); + } + } + Array.Sort(LookupHeightTable); + } + + private void InitCamera() + { + Camera = new Camera(); + Camera.Position = new LLVector3(128f, -192f, 90f); + Camera.FocalPoint = new LLVector3(128f, 128f, 0f); + Camera.Zoom = 1.0d; + Camera.Far = 512.0d; + } + + private void UpdatePrimProgress() + { + if (this.InvokeRequired) + { + BeginInvoke((MethodInvoker)delegate() { UpdatePrimProgress(); }); + } + else + { + try + { + if (RenderPrimList != null && RenderFoliageList != null) + { + int count = RenderPrimList.Count + RenderFoliageList.Count; + + lblPrims.Text = String.Format("Prims: {0} / {1}", count, TotalPrims); + progPrims.Maximum = (TotalPrims > count) ? TotalPrims : count; + progPrims.Value = count; + } + else + { + lblPrims.Text = String.Format("Prims: 0 / {0}", TotalPrims); + progPrims.Maximum = TotalPrims; + progPrims.Value = 0; + } + } + catch (Exception ex) + { + Console.WriteLine(ex); + } + } + } + + private void UpdateCamera() + { + if (Client != null) + { + Client.Self.Movement.Camera.LookAt(Camera.Position, Camera.FocalPoint); + Client.Self.Movement.Camera.Far = (float)Camera.Far; + } + + Gl.glPushMatrix(); + Gl.glMatrixMode(Gl.GL_PROJECTION); + Gl.glLoadIdentity(); + + SetPerspective(); + + Gl.glMatrixMode(Gl.GL_MODELVIEW); + Gl.glPopMatrix(); + } + + private bool ExportObject(RenderablePrim parent, string fileName, out int prims, out int textures, out string error) + { + // Build a list of primitives (parent+children) to export + List primList = new List(); + primList.Add(parent.Prim); + + lock (RenderPrimList) + { + foreach (RenderablePrim render in RenderPrimList.Values) + { + if (render.Prim.ParentID == parent.Prim.LocalID) + primList.Add(render.Prim); + } + } + + return ExportObjects(primList, fileName, out prims, out textures, out error); + } + + private bool ExportSim(string fileName, out int prims, out int textures, out string error) + { + // Add all of the prims in this sim to the export list + List primList = new List(); + + lock (RenderPrimList) + { + foreach (RenderablePrim render in RenderPrimList.Values) + { + primList.Add(render.Prim); + } + } + + return ExportObjects(primList, fileName, out prims, out textures, out error); + } + + private bool ExportObjects(List primList, string fileName, out int prims, out int textures, out string error) + { + List textureList = new List(); + prims = 0; + textures = 0; + + // Write the LLSD to the hard drive in XML format + string output = LLSDParser.SerializeXmlString(Helpers.PrimListToLLSD(primList)); + try + { + // Create a temporary directory + string tempPath = System.IO.Path.Combine(System.IO.Path.GetTempPath(), System.IO.Path.GetRandomFileName()); + Directory.CreateDirectory(tempPath); + + // Write the prim XML file + File.WriteAllText(System.IO.Path.Combine(tempPath, "prims.xml"), output); + prims = primList.Count; + + // Build a list of all the referenced textures in this prim list + foreach (Primitive prim in primList) + { + for (int i = 0; i < prim.Textures.FaceTextures.Length; i++) + { + LLObject.TextureEntryFace face = prim.Textures.FaceTextures[i]; + if (face != null && face.TextureID != LLUUID.Zero && face.TextureID != LLObject.TextureEntry.WHITE_TEXTURE) + { + if (!textureList.Contains(face.TextureID)) + textureList.Add(face.TextureID); + } + } + } + + // Copy all of relevant textures from the cache to the temp directory + foreach (LLUUID texture in textureList) + { + string tempFileName = Client.Assets.Cache.ImageFileName(texture); + + if (!String.IsNullOrEmpty(tempFileName)) + { + File.Copy(tempFileName, System.IO.Path.Combine(tempPath, texture.ToString() + ".jp2")); + ++textures; + } + else + { + Console.WriteLine("Missing texture file during download: " + texture.ToString()); + } + } + + // Zip up the directory + string[] filenames = Directory.GetFiles(tempPath); + using (ZipOutputStream s = new ZipOutputStream(File.Create(fileName))) + { + s.SetLevel(9); + byte[] buffer = new byte[4096]; + + foreach (string file in filenames) + { + ZipEntry entry = new ZipEntry(System.IO.Path.GetFileName(file)); + entry.DateTime = DateTime.Now; + s.PutNextEntry(entry); + + using (FileStream fs = File.OpenRead(file)) + { + int sourceBytes; + do + { + sourceBytes = fs.Read(buffer, 0, buffer.Length); + s.Write(buffer, 0, sourceBytes); + } while (sourceBytes > 0); + } + } + + s.Finish(); + s.Close(); + } + + error = null; + return true; + } + catch (Exception ex) + { + error = ex.Message; + return false; + } + } + + private List ImportObjects(string fileName, out string tempPath, out string error) + { + tempPath = null; + error = null; + string primFile = null; + + try + { + // Create a temporary directory + tempPath = System.IO.Path.Combine(System.IO.Path.GetTempPath(), System.IO.Path.GetRandomFileName()); + Directory.CreateDirectory(tempPath); + + // Unzip the primpackage + using (ZipInputStream s = new ZipInputStream(File.OpenRead(fileName))) + { + ZipEntry theEntry; + + // Loop through and confirm there is a prims.xml file + while ((theEntry = s.GetNextEntry()) != null) + { + if (String.Equals("prims.xml", theEntry.Name.ToLower())) + { + primFile = theEntry.Name; + break; + } + } + + if (primFile != null) + { + // Prepend the path to the primFile (that will be created in the next loop) + primFile = System.IO.Path.Combine(tempPath, primFile); + } + else + { + // Didn't find a prims.xml file, bail out + error = "No prims.xml file found in the archive"; + return null; + } + + // Reset to the beginning of the zip file + s.Seek(0, SeekOrigin.Begin); + + Logger.DebugLog("Unpacking archive to " + tempPath); + + // Unzip all of the texture and xml files + while ((theEntry = s.GetNextEntry()) != null) + { + string directory = System.IO.Path.GetDirectoryName(theEntry.Name); + string file = System.IO.Path.GetFileName(theEntry.Name); + + // Skip directories + if (directory.Length > 0) + continue; + + if (!String.IsNullOrEmpty(file)) + { + string filelow = file.ToLower(); + + if (filelow.EndsWith(".jp2") || filelow.EndsWith(".tga") || filelow.EndsWith(".xml")) + { + Logger.DebugLog("Unpacking " + file); + + // Create the full path from the temp path and new filename + string filePath = System.IO.Path.Combine(tempPath, file); + + using (FileStream streamWriter = File.Create(filePath)) + { + const int READ_BUFFER_SIZE = 2048; + int size = READ_BUFFER_SIZE; + byte[] data = new byte[READ_BUFFER_SIZE]; + + while (true) + { + size = s.Read(data, 0, data.Length); + if (size > 0) + streamWriter.Write(data, 0, size); + else + break; + } + } + } + else + { + Logger.Log("Skipping file " + file, Helpers.LogLevel.Info); + } + } + } + } + + // Decode the .prims file + string raw = File.ReadAllText(primFile); + LLSD llsd = LLSDParser.DeserializeXml(raw); + return Helpers.LLSDToPrimList(llsd); + } + catch (Exception e) + { + error = e.Message; + return null; + } + } + + private void DownloadMenu_Clicked(object sender, EventArgs e) + { + // Confirm that there actually is a selected object + RenderablePrim parent; + if (RenderPrimList.TryGetValue(LastHit, out parent)) + { + if (parent.Prim.ParentID == 0) + { + // Valid parent prim is selected, throw up the save file dialog + SaveFileDialog dialog = new SaveFileDialog(); + dialog.Filter = "Prim Package (*.zip)|*.zip"; + + if (dialog.ShowDialog() == DialogResult.OK) + { + string error; + int prims, textures; + if (ExportObject(parent, dialog.FileName, out prims, out textures, out error)) + MessageBox.Show(String.Format("Exported {0} prims and {1} textures", prims, textures)); + else + MessageBox.Show("Export failed: " + error); + } + } + else + { + // This should have already been fixed in the picking processing code + Console.WriteLine("Download menu clicked when a child prim is selected!"); + glControl.ContextMenu = null; + LastHit = 0; + } + } + else + { + Console.WriteLine("Download menu clicked when there is no selected prim!"); + glControl.ContextMenu = null; + LastHit = 0; + } + } + + private void DownloadAllMenu_Clicked(object sender, EventArgs e) + { + SaveFileDialog dialog = new SaveFileDialog(); + dialog.Filter = "Prim Package (*.zip)|*.zip"; + + if (dialog.ShowDialog() == DialogResult.OK) + { + string error; + int prims, textures; + if (ExportSim(dialog.FileName, out prims, out textures, out error)) + MessageBox.Show(String.Format("Exported {0} prims and {1} textures", prims, textures)); + else + MessageBox.Show("Export failed: " + error); + } + } + + private void ExportTerrainMenu_Clicked(object sender, EventArgs e) + { + // Valid parent prim is selected, throw up the save file dialog + SaveFileDialog dialog = new SaveFileDialog(); + dialog.Filter = "Terrain RAW (*.raw)|*.raw"; + + if (dialog.ShowDialog() == DialogResult.OK) + { + BackgroundWorker worker = new BackgroundWorker(); + worker.DoWork += delegate(object obj, DoWorkEventArgs args) + { + byte red, green, blue, alpha1, alpha2, alpha3, alpha4, alpha5, alpha6, alpha7, alpha8, alpha9, alpha10; + + try + { + FileInfo file = new FileInfo(dialog.FileName); + FileStream s = file.Open(FileMode.OpenOrCreate, FileAccess.Write); + BinaryWriter binStream = new BinaryWriter(s); + + for (int y = 0; y < 256; y++) + { + for (int x = 0; x < 256; x++) + { + int xBlock = x / 16; + int yBlock = y / 16; + int xOff = x - (xBlock * 16); + int yOff = y - (yBlock * 16); + + float t = Heightmap[yBlock, xBlock].Heightmap[yOff * 16 + xOff]; + //float min = Single.MaxValue; + int index = 0; + + // The lookup table is pre-sorted, so we either find an exact match or + // the next closest (smaller) match with a binary search + index = Array.BinarySearch(LookupHeightTable, new HeightmapLookupValue(0, t)); + if (index < 0) + index = ~index - 1; + + index = LookupHeightTable[index].Index; + + /*for (int i = 0; i < 65536; i++) + { + if (Math.Abs(t - LookupHeightTable[i].Value) < min) + { + min = Math.Abs(t - LookupHeightTable[i].Value); + index = i; + } + }*/ + + red = (byte)(index & 0xFF); + green = (byte)((index >> 8) & 0xFF); + blue = 20; + alpha1 = 0; // Land Parcels + alpha2 = 0; // For Sale Land + alpha3 = 0; // Public Edit Object + alpha4 = 0; // Public Edit Land + alpha5 = 255; // Safe Land + alpha6 = 255; // Flying Allowed + alpha7 = 255; // Create Landmark + alpha8 = 255; // Outside Scripts + alpha9 = red; + alpha10 = green; + + binStream.Write(red); + binStream.Write(green); + binStream.Write(blue); + binStream.Write(alpha1); + binStream.Write(alpha2); + binStream.Write(alpha3); + binStream.Write(alpha4); + binStream.Write(alpha5); + binStream.Write(alpha6); + binStream.Write(alpha7); + binStream.Write(alpha8); + binStream.Write(alpha9); + binStream.Write(alpha10); + } + } + + binStream.Close(); + s.Close(); + + BeginInvoke((MethodInvoker)delegate() { System.Windows.Forms.MessageBox.Show("Exported heightmap"); }); + } + catch (Exception ex) + { + BeginInvoke((MethodInvoker)delegate() { System.Windows.Forms.MessageBox.Show("Error exporting heightmap: " + ex.Message); }); + } + }; + + worker.RunWorkerAsync(); + } + } + + private void TeleportMenu_Clicked(object sender, EventArgs e) + { + if (Client != null && Client.Network.CurrentSim != null) + { + if (LastHit >= TERRAIN_START) + { + // Determine which piece of terrain was clicked on + int y = (int)(LastHit - TERRAIN_START) / 16; + int x = (int)(LastHit - (TERRAIN_START + (y * 16))); + + LLVector3 targetPos = new LLVector3(x * 16 + 8, y * 16 + 8, 0f); + + Console.WriteLine("Starting local teleport to " + targetPos.ToString()); + Client.Self.RequestTeleport(Client.Network.CurrentSim.Handle, targetPos); + } + else + { + // This shouldn't have happened... + glControl.ContextMenu = null; + } + } + } + + private void ImportObjectMenu_Clicked(object sender, EventArgs e) + { + OpenFileDialog dialog = new OpenFileDialog(); + dialog.Filter = "Prim Package (*.zip,*.primpackage)|*.zip;*.primpackage"; + + if (dialog.ShowDialog() == DialogResult.OK) + { + // FIXME: Disable any further imports or exports until this is finished + + // Import the prims + string error, texturePath; + List primList = ImportObjects(dialog.FileName, out texturePath, out error); + if (primList != null) + { + // Determine the total height of the object + float minHeight = Single.MaxValue; + float maxHeight = Single.MinValue; + float totalHeight = 0f; + + for (int i = 0; i < primList.Count; i++) + { + Primitive prim = primList[i]; + + // Find the largest scale dimension (quick cheat to avoid figuring in the rotation) + float scale = prim.Scale.X; + if (prim.Scale.Y > scale) scale = prim.Scale.Y; + if (prim.Scale.Z > scale) scale = prim.Scale.Z; + + float top = prim.Position.Z + (scale * 0.5f); + float bottom = top - scale; + + if (top > maxHeight) maxHeight = top; + if (bottom < minHeight) minHeight = bottom; + } + + totalHeight = maxHeight - minHeight; + + // Create a progress bar for the import process + ProgressBar prog = new ProgressBar(); + prog.Minimum = 0; + prog.Maximum = primList.Count; + prog.Value = 0; + + // List item + GlacialComponents.Controls.GLItem item = new GlacialComponents.Controls.GLItem(); + item.SubItems[0].Text = "Import process"; + item.SubItems[1].Control = prog; + + lstDownloads.Items.Add(item); + lstDownloads.Invalidate(); + + // Start the import process in the background + BackgroundWorker worker = new BackgroundWorker(); + + worker.DoWork += delegate(object s, DoWorkEventArgs ea) + { + // Set the spot choosing state + + // Wait for a spot to be chosen + + // mouse2dto3d() + + // Add (0, 0, totalHeight * 0.5f) to the clicked position + + for (int i = 0; i < primList.Count; i++) + { + Primitive prim = primList[i]; + + for (int j = 0; j < prim.Textures.FaceTextures.Length; j++) + { + // Check if this texture exists + + // If not, wait while it uploads + } + + // Create this prim (using weird SL math to get the correct position) + + // Wait for the callback to fire for this prim being created + + // Add this prim's localID to a list + + // Set any additional properties. If this is the root prim, do not apply rotation + + // Update the progress bar + BeginInvoke((MethodInvoker)delegate() { prog.Value = i; }); + } + + // Link all of the prims together + + // Apply root prim rotation + }; + + worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs ea) + { + BeginInvoke( + (MethodInvoker)delegate() + { + lstDownloads.Items.Remove(item); + lstDownloads.Invalidate(); + }); + }; + + worker.RunWorkerAsync(); + } + else + { + // FIXME: Re-enable imports and exports + + MessageBox.Show(error); + return; + } + } + } + + private void ImportSimMenu_Clicked(object sender, EventArgs e) + { + } + + private void SetPerspective() + { + Glu.gluPerspective(50.0d * Camera.Zoom, 1.0d, 0.1d, Camera.Far); + } + + private void StartPicking(int cursorX, int cursorY) + { + int[] viewport = new int[4]; + + Gl.glSelectBuffer(SELECT_BUFSIZE, SelectBuffer); + Gl.glRenderMode(Gl.GL_SELECT); + + Gl.glMatrixMode(Gl.GL_PROJECTION); + Gl.glPushMatrix(); + Gl.glLoadIdentity(); + + Gl.glGetIntegerv(Gl.GL_VIEWPORT, viewport); + Glu.gluPickMatrix(cursorX, viewport[3] - cursorY, 5, 5, viewport); + + SetPerspective(); + + Gl.glMatrixMode(Gl.GL_MODELVIEW); + + Gl.glInitNames(); + } + + private void StopPicking() + { + int hits; + + // Resotre the original projection matrix + Gl.glMatrixMode(Gl.GL_PROJECTION); + Gl.glPopMatrix(); + Gl.glMatrixMode(Gl.GL_MODELVIEW); + Gl.glFlush(); + + // Return to normal rendering mode + hits = Gl.glRenderMode(Gl.GL_RENDER); + + // If there are hits process them + if (hits != 0) + { + ProcessHits(hits, SelectBuffer); + } + else + { + LastHit = 0; + glControl.ContextMenu = null; + } + } + + private void ProcessHits(int hits, uint[] selectBuffer) + { + uint names = 0; + uint numNames = 0; + uint minZ = 0xffffffff; + uint ptr = 0; + uint ptrNames = 0; + + for (uint i = 0; i < hits; i++) + { + names = selectBuffer[ptr]; + ++ptr; + if (selectBuffer[ptr] < minZ) + { + numNames = names; + minZ = selectBuffer[ptr]; + ptrNames = ptr + 2; + } + + ptr += names + 2; + } + + ptr = ptrNames; + + for (uint i = 0; i < numNames; i++, ptr++) + { + LastHit = selectBuffer[ptr]; + } + + if (LastHit >= TERRAIN_START) + { + // Terrain was clicked on, turn off the context menu + glControl.ContextMenu = ExportTerrainMenu; + } + else + { + RenderablePrim render; + if (RenderPrimList.TryGetValue(LastHit, out render)) + { + if (render.Prim.ParentID == 0) + { + Camera.FocalPoint = render.Prim.Position; + UpdateCamera(); + } + else + { + // See if we have the parent + RenderablePrim renderParent; + if (RenderPrimList.TryGetValue(render.Prim.ParentID, out renderParent)) + { + // Turn on the context menu + glControl.ContextMenu = ExportPrimMenu; + + // Change the clicked on prim to the parent. Camera position stays on the + // clicked child but the highlighting is applied to all the children + LastHit = renderParent.Prim.LocalID; + + Camera.FocalPoint = renderParent.Prim.Position + render.Prim.Position; + UpdateCamera(); + } + else + { + Console.WriteLine("Clicked on a child prim with no parent!"); + LastHit = 0; + } + } + } + } + } + + private void Objects_OnNewPrim(Simulator simulator, Primitive prim, ulong regionHandle, ushort timeDilation) + { + RenderablePrim render = new RenderablePrim(); + render.Prim = prim; + render.Mesh = Render.GenerateMeshWithFaces(prim, 2.5f); + + // Create a FaceData struct for each face that stores the 3D data + // in a Tao.OpenGL friendly format + for (int j = 0; j < render.Mesh.Faces.Count; j++) + { + Face face = render.Mesh.Faces[j]; + FaceData data = new FaceData(); + + // Vertices for this face + data.Vertices = new float[face.Vertices.Count * 3]; + for (int k = 0; k < face.Vertices.Count; k++) + { + data.Vertices[k * 3 + 0] = face.Vertices[k].Position.X; + data.Vertices[k * 3 + 1] = face.Vertices[k].Position.Y; + data.Vertices[k * 3 + 2] = face.Vertices[k].Position.Z; + } + + // Indices for this face + data.Indices = face.Indices.ToArray(); + + // Texture transform for this face + LLObject.TextureEntryFace teFace = prim.Textures.GetFace((uint)j); + Render.TransformTexCoords(face.Vertices, face.Center, teFace); + + // Texcoords for this face + data.TexCoords = new float[face.Vertices.Count * 2]; + for (int k = 0; k < face.Vertices.Count; k++) + { + data.TexCoords[k * 2 + 0] = face.Vertices[k].TexCoord.X; + data.TexCoords[k * 2 + 1] = face.Vertices[k].TexCoord.Y; + } + + // Texture for this face + if (teFace.TextureID != LLUUID.Zero && + teFace.TextureID != LLObject.TextureEntry.WHITE_TEXTURE) + { + lock (Textures) + { + if (!Textures.ContainsKey(teFace.TextureID)) + { + // We haven't constructed this image in OpenGL yet, get ahold of it + TextureDownloader.RequestTexture(teFace.TextureID); + } + } + } + + // Set the UserData for this face to our FaceData struct + face.UserData = data; + render.Mesh.Faces[j] = face; + } + + lock (RenderPrimList) RenderPrimList[prim.LocalID] = render; + } + + private void Objects_OnNewFoliage(Simulator simulator, Primitive foliage, ulong regionHandle, ushort timeDilation) + { + lock (RenderFoliageList) + RenderFoliageList[foliage.LocalID] = foliage; + } + + private void Objects_OnObjectKilled(Simulator simulator, uint objectID) + { + // + } + + private void Parcels_OnSimParcelsDownloaded(Simulator simulator, InternalDictionary simParcels, int[,] parcelMap) + { + TotalPrims = 0; + + simParcels.ForEach( + delegate(Parcel parcel) + { + TotalPrims += parcel.TotalPrims; + }); + + UpdatePrimProgress(); + } + + private void Terrain_OnLandPatch(Simulator simulator, int x, int y, int width, float[] data) + { + if (Client != null && Client.Network.CurrentSim == simulator) + { + Heightmap[y, x].Heightmap = data; + } + + // Find the new max height + for (int i = 0; i < data.Length; i++) + { + if (data[i] > MaxHeight) + MaxHeight = data[i]; + } + } + + private void Network_OnLogin(LoginStatus login, string message) + { + if (login == LoginStatus.Success) + { + // Success! + } + else if (login == LoginStatus.Failed) + { + BeginInvoke( + (MethodInvoker)delegate() + { + MessageBox.Show(this, String.Format("Error logging in ({0}): {1}", + Client.Network.LoginErrorKey, Client.Network.LoginMessage)); + cmdLogin.Text = "Login"; + txtFirst.Enabled = txtLast.Enabled = txtPass.Enabled = true; + }); + } + } + + private void Network_OnDisconnected(NetworkManager.DisconnectType reason, string message) + { + BeginInvoke( + (MethodInvoker)delegate() + { + cmdTeleport.Enabled = false; + DoLogout(); + }); + } + + private void Network_OnCurrentSimChanged(Simulator PreviousSimulator) + { + Console.WriteLine("CurrentSim set to " + Client.Network.CurrentSim + ", downloading parcel information"); + Client.Parcels.RequestAllSimParcels(Client.Network.CurrentSim); + + BeginInvoke((MethodInvoker)delegate() { txtSim.Text = Client.Network.CurrentSim.Name; }); + + InitHeightmap(); + InitLists(); + + // Disable teleports until the new event queue comes online + if (!Client.Network.CurrentSim.Caps.IsEventQueueRunning) + BeginInvoke((MethodInvoker)delegate() { cmdTeleport.Enabled = false; }); + } + + private void Network_OnEventQueueRunning(Simulator simulator) + { + if (simulator == Client.Network.CurrentSim) + BeginInvoke((MethodInvoker)delegate() { cmdTeleport.Enabled = true; }); + } + + private void RenderScene() + { + try + { + Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); + Gl.glLoadIdentity(); + Gl.glEnableClientState(Gl.GL_VERTEX_ARRAY); + Gl.glEnableClientState(Gl.GL_TEXTURE_COORD_ARRAY); + + if (Clicked) + StartPicking(ClickX, ClickY); + + // Setup wireframe or solid fill drawing mode + Gl.glPolygonMode(Gl.GL_FRONT, Gl.GL_LINE); + + // Position the camera + Glu.gluLookAt( + Camera.Position.X, Camera.Position.Y, Camera.Position.Z, + Camera.FocalPoint.X, Camera.FocalPoint.Y, Camera.FocalPoint.Z, + 0f, 0f, 1f); + + RenderSkybox(); + + // Push the world matrix + Gl.glPushMatrix(); + + RenderTerrain(); + RenderPrims(); + RenderAvatars(); + + Gl.glDisableClientState(Gl.GL_TEXTURE_COORD_ARRAY); + Gl.glDisableClientState(Gl.GL_VERTEX_ARRAY); + + if (Clicked) + { + Clicked = false; + StopPicking(); + } + + // Pop the world matrix + Gl.glPopMatrix(); + Gl.glFlush(); + + glControl.Invalidate(); + } + catch (Exception) + { + } + } + + static readonly LLVector3[] SkyboxVerts = new LLVector3[] + { + // Right side + new LLVector3( 10.0f, 10.0f, -10.0f ), //Top left + new LLVector3( 10.0f, 10.0f, 10.0f ), //Top right + new LLVector3( 10.0f, -10.0f, 10.0f ), //Bottom right + new LLVector3( 10.0f, -10.0f, -10.0f ), //Bottom left + // Left side + new LLVector3( -10.0f, 10.0f, 10.0f ), //Top left + new LLVector3( -10.0f, 10.0f, -10.0f ), //Top right + new LLVector3( -10.0f, -10.0f, -10.0f ), //Bottom right + new LLVector3( -10.0f, -10.0f, 10.0f ), //Bottom left + // Top side + new LLVector3( -10.0f, 10.0f, 10.0f ), //Top left + new LLVector3( 10.0f, 10.0f, 10.0f ), //Top right + new LLVector3( 10.0f, 10.0f, -10.0f ), //Bottom right + new LLVector3( -10.0f, 10.0f, -10.0f ), //Bottom left + // Bottom side + new LLVector3( -10.0f, -10.0f, -10.0f ), //Top left + new LLVector3( 10.0f, -10.0f, -10.0f ), //Top right + new LLVector3( 10.0f, -10.0f, 10.0f ), //Bottom right + new LLVector3( -10.0f, -10.0f, 10.0f ), //Bottom left + // Front side + new LLVector3( -10.0f, 10.0f, -10.0f ), //Top left + new LLVector3( 10.0f, 10.0f, -10.0f ), //Top right + new LLVector3( 10.0f, -10.0f, -10.0f ), //Bottom right + new LLVector3( -10.0f, -10.0f, -10.0f ), //Bottom left + // Back side + new LLVector3( 10.0f, 10.0f, 10.0f ), //Top left + new LLVector3( -10.0f, 10.0f, 10.0f ), //Top right + new LLVector3( -10.0f, -10.0f, 10.0f ), //Bottom right + new LLVector3( 10.0f, -10.0f, 10.0f ), //Bottom left + }; + + private void RenderSkybox() + { + //Gl.glTranslatef(0f, 0f, 0f); + } + + private void RenderTerrain() + { + if (Heightmap != null) + { + int i = 0; + + // No texture + Gl.glBindTexture(Gl.GL_TEXTURE_2D, 0); + + for (int hy = 0; hy < 16; hy++) + { + for (int hx = 0; hx < 16; hx++) + { + uint patchName = (uint)(TERRAIN_START + i); + Gl.glPushName(patchName); + ++i; + + // Check if this patch is currently selected + bool selected = (LastHit == patchName); + + for (int y = 0; y < 15; y++) + { + Gl.glBegin(Gl.GL_TRIANGLE_STRIP); + + for (int x = 0; x < 15; x++) + { + // Vertex 0 + float height = Heightmap[hy, hx].Heightmap[y * 16 + x]; + float color = height / MaxHeight; + float red = (selected) ? 1f : color; + + Gl.glColor3f(red, color, color); + Gl.glTexCoord2f(0f, 0f); + Gl.glVertex3f(hx * 16 + x, hy * 16 + y, height); + + // Vertex 1 + height = Heightmap[hy, hx].Heightmap[y * 16 + (x + 1)]; + color = height / MaxHeight; + red = (selected) ? 1f : color; + + Gl.glColor3f(red, color, color); + Gl.glTexCoord2f(1f, 0f); + Gl.glVertex3f(hx * 16 + x + 1, hy * 16 + y, height); + + // Vertex 2 + height = Heightmap[hy, hx].Heightmap[(y + 1) * 16 + x]; + color = height / MaxHeight; + red = (selected) ? 1f : color; + + Gl.glColor3f(red, color, color); + Gl.glTexCoord2f(0f, 1f); + Gl.glVertex3f(hx * 16 + x, hy * 16 + y + 1, height); + + // Vertex 3 + height = Heightmap[hy, hx].Heightmap[(y + 1) * 16 + (x + 1)]; + color = height / MaxHeight; + red = (selected) ? 1f : color; + + Gl.glColor3f(red, color, color); + Gl.glTexCoord2f(1f, 1f); + Gl.glVertex3f(hx * 16 + x + 1, hy * 16 + y + 1, height); + } + + Gl.glEnd(); + } + + Gl.glPopName(); + } + } + } + } + + int[] CubeMapDefines = new int[] + { + Gl.GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB, + Gl.GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB, + Gl.GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB, + Gl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB, + Gl.GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB, + Gl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB + }; + + private void RenderPrims() + { + if (RenderPrimList != null && RenderPrimList.Count > 0) + { + Gl.glEnable(Gl.GL_TEXTURE_2D); + + lock (RenderPrimList) + { + bool firstPass = true; + Gl.glDisable(Gl.GL_BLEND); + Gl.glEnable(Gl.GL_DEPTH_TEST); + +StartRender: + + foreach (RenderablePrim render in RenderPrimList.Values) + { + RenderablePrim parentRender = RenderablePrim.Empty; + Primitive prim = render.Prim; + + if (prim.ParentID != 0) + { + // Get the parent reference + if (!RenderPrimList.TryGetValue(prim.ParentID, out parentRender)) + { + // Can't render a child with no parent prim, skip it + continue; + } + } + + Gl.glPushName(prim.LocalID); + Gl.glPushMatrix(); + + if (prim.ParentID != 0) + { + // Child prim + Primitive parent = parentRender.Prim; + + // Apply parent translation and rotation + Gl.glMultMatrixf(Math3D.CreateTranslationMatrix(parent.Position)); + Gl.glMultMatrixf(Math3D.CreateRotationMatrix(parent.Rotation)); + } + + // Apply prim translation and rotation + Gl.glMultMatrixf(Math3D.CreateTranslationMatrix(prim.Position)); + Gl.glMultMatrixf(Math3D.CreateRotationMatrix(prim.Rotation)); + + // Scale the prim + Gl.glScalef(prim.Scale.X, prim.Scale.Y, prim.Scale.Z); + + // Draw the prim faces + for (int j = 0; j < render.Mesh.Faces.Count; j++) + { + Face face = render.Mesh.Faces[j]; + FaceData data = (FaceData)face.UserData; + LLColor color = face.TextureFace.RGBA; + bool alpha = false; + int textureID = 0; + + if (color.A < 1.0f) + alpha = true; + + #region Texturing + + TextureInfo info; + if (Textures.TryGetValue(face.TextureFace.TextureID, out info)) + { + if (info.Alpha) + alpha = true; + + textureID = info.ID; + + // Enable texturing for this face + Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL); + } + else + { + if (face.TextureFace.TextureID == LLObject.TextureEntry.WHITE_TEXTURE || + face.TextureFace.TextureID == LLUUID.Zero) + { + Gl.glPolygonMode(Gl.GL_FRONT, Gl.GL_FILL); + } + else + { + Gl.glPolygonMode(Gl.GL_FRONT, Gl.GL_LINE); + } + } + + if (firstPass && !alpha || !firstPass && alpha) + { + // Color this prim differently based on whether it is selected or not + if (LastHit == prim.LocalID || (LastHit != 0 && LastHit == prim.ParentID)) + { + Gl.glColor4f(1f, color.G * 0.3f, color.B * 0.3f, color.A); + } + else + { + Gl.glColor4f(color.R, color.G, color.B, color.A); + } + + // Bind the texture + Gl.glBindTexture(Gl.GL_TEXTURE_2D, textureID); + + Gl.glTexCoordPointer(2, Gl.GL_FLOAT, 0, data.TexCoords); + Gl.glVertexPointer(3, Gl.GL_FLOAT, 0, data.Vertices); + Gl.glDrawElements(Gl.GL_TRIANGLES, data.Indices.Length, Gl.GL_UNSIGNED_SHORT, data.Indices); + } + + #endregion Texturing + } + + Gl.glPopMatrix(); + Gl.glPopName(); + } + + if (firstPass) + { + firstPass = false; + Gl.glEnable(Gl.GL_BLEND); + Gl.glBlendFunc(Gl.GL_SRC_ALPHA, Gl.GL_ONE_MINUS_SRC_ALPHA); + //Gl.glDisable(Gl.GL_DEPTH_TEST); + + goto StartRender; + } + } + + Gl.glEnable(Gl.GL_DEPTH_TEST); + Gl.glDisable(Gl.GL_TEXTURE_2D); + } + } + + private void RenderAvatars() + { + if (Client != null && Client.Network.CurrentSim != null) + { + Gl.glColor3f(0f, 1f, 0f); + + Client.Network.CurrentSim.ObjectsAvatars.ForEach( + delegate(Avatar avatar) + { + Gl.glPushMatrix(); + Gl.glTranslatef(avatar.Position.X, avatar.Position.Y, avatar.Position.Z); + + Glu.GLUquadric quad = Glu.gluNewQuadric(); + Glu.gluSphere(quad, 1.0d, 10, 10); + Glu.gluDeleteQuadric(quad); + + Gl.glPopMatrix(); + } + ); + + Gl.glColor3f(1f, 1f, 1f); + } + } + + #region Texture Downloading + + private void TextureDownloader_OnDownloadFinished(LLUUID id, bool success) + { + bool alpha = false; + ManagedImage imgData = null; + byte[] raw = null; + + try + { + // Load the image off the disk + if (success) + { + ImageDownload download = TextureDownloader.GetTextureToRender(id); + if (OpenJPEG.DecodeToImage(download.AssetData, out imgData)) + { + raw = imgData.ExportRaw(); + + if ((imgData.Channels & ManagedImage.ImageChannels.Alpha) != 0) + alpha = true; + } + else + { + success = false; + Console.WriteLine("Failed to decode texture"); + } + } + + // Make sure the OpenGL commands run on the main thread + BeginInvoke( + (MethodInvoker)delegate() + { + if (success) + { + int textureID = 0; + + try + { + Gl.glGenTextures(1, out textureID); + Gl.glBindTexture(Gl.GL_TEXTURE_2D, textureID); + + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR_MIPMAP_NEAREST); //Gl.GL_NEAREST); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_REPEAT); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_REPEAT); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_GENERATE_MIPMAP, Gl.GL_TRUE); //Gl.GL_FALSE); + + //Gl.glTexImage2D(Gl.GL_TEXTURE_2D, 0, Gl.GL_RGBA, bitmap.Width, bitmap.Height, 0, Gl.GL_BGRA, Gl.GL_UNSIGNED_BYTE, + // bitmapData.Scan0); + //int error = Gl.glGetError(); + + int error = Glu.gluBuild2DMipmaps(Gl.GL_TEXTURE_2D, Gl.GL_RGBA, imgData.Width, imgData.Height, Gl.GL_BGRA, + Gl.GL_UNSIGNED_BYTE, raw); + + if (error == 0) + { + Textures[id] = new TextureInfo(textureID, alpha); + Console.WriteLine("Created OpenGL texture for " + id.ToString()); + } + else + { + Textures[id] = new TextureInfo(0, false); + Console.WriteLine("Error creating OpenGL texture: " + error); + } + } + catch (Exception ex) + { + Console.WriteLine(ex); + } + } + + // Remove this image from the download listbox + lock (DownloadList) + { + GlacialComponents.Controls.GLItem item; + if (DownloadList.TryGetValue(id, out item)) + { + DownloadList.Remove(id); + try { lstDownloads.Items.Remove(item); } + catch (Exception) { } + lstDownloads.Invalidate(); + } + } + }); + } + catch (Exception ex) + { + Console.WriteLine(ex); + } + } + + private void TextureDownloader_OnDownloadProgress(LLUUID image, int recieved, int total) + { + lock (DownloadList) + { + GlacialComponents.Controls.GLItem item; + if (DownloadList.TryGetValue(image, out item)) + { + // Update an existing item + BeginInvoke( + (MethodInvoker)delegate() + { + ProgressBar prog = (ProgressBar)item.SubItems[1].Control; + if (total >= recieved) + prog.Value = (int)Math.Round((((double)recieved / (double)total) * 100.0d)); + }); + } + else + { + // Progress bar + ProgressBar prog = new ProgressBar(); + prog.Minimum = 0; + prog.Maximum = 100; + if (total >= recieved) + prog.Value = (int)Math.Round((((double)recieved / (double)total) * 100.0d)); + else + prog.Value = 0; + + // List item + item = new GlacialComponents.Controls.GLItem(); + item.SubItems[0].Text = image.ToString(); + item.SubItems[1].Control = prog; + + DownloadList[image] = item; + + BeginInvoke( + (MethodInvoker)delegate() + { + lstDownloads.Items.Add(item); + lstDownloads.Invalidate(); + }); + } + } + } + + #endregion Texture Downloading + + private void frmBrowser_FormClosing(object sender, FormClosingEventArgs e) + { + DoLogout(); + + Application.Idle -= IdleEvent; + } + + private void Application_Idle(object sender, EventArgs e) + { + while (AppStillIdle) + { + RenderScene(); + } + } + + private void cmdLogin_Click(object sender, EventArgs e) + { + if (cmdLogin.Text == "Login") + { + // Check that all the input boxes are filled in + if (txtFirst.Text.Length == 0) + { + txtFirst.Select(); + return; + } + if (txtLast.Text.Length == 0) + { + txtLast.Select(); + return; + } + if (txtPass.Text.Length == 0) + { + txtPass.Select(); + return; + } + + // Disable input controls + txtFirst.Enabled = txtLast.Enabled = txtPass.Enabled = false; + cmdLogin.Text = "Logout"; + + // Sanity check that we aren't already logged in + if (Client != null && Client.Network.Connected) + { + Client.Network.Logout(); + } + + // Re-initialize everything + InitializeObjects(); + + // Start the login + LoginParams loginParams = Client.Network.DefaultLoginParams(txtFirst.Text, txtLast.Text, + txtPass.Text, "Prim Preview", "0.0.1"); + if (!String.IsNullOrEmpty((string)cboServer.Items[cboServer.SelectedIndex])) + loginParams.URI = (string)cboServer.Items[cboServer.SelectedIndex]; + Client.Network.BeginLogin(loginParams); + } + else + { + DoLogout(); + } + } + + private void DoLogout() + { + if (Client != null && Client.Network.Connected) + { + Client.Network.Logout(); + return; + } + + // Clear the download list + lstDownloads.Items.Clear(); + + // Set the login button back to login state + cmdLogin.Text = "Login"; + + // Shutdown the texture downloader + if (TextureDownloader != null) + TextureDownloader.Shutdown(); + + // Enable input controls + txtFirst.Enabled = txtLast.Enabled = txtPass.Enabled = true; + } + + private void glControl_Resize(object sender, EventArgs e) + { + Gl.glClearColor(0.39f, 0.58f, 0.93f, 1.0f); + + Gl.glViewport(0, 0, glControl.Width, glControl.Height); + + Gl.glPushMatrix(); + Gl.glMatrixMode(Gl.GL_PROJECTION); + Gl.glLoadIdentity(); + + SetPerspective(); + + Gl.glMatrixMode(Gl.GL_MODELVIEW); + Gl.glPopMatrix(); + + // Set the center of the glControl as the default pivot point + LastPivot = glControl.PointToScreen(new Point(glControl.Width / 2, glControl.Height / 2)); + } + + private void glControl_MouseClick(object sender, MouseEventArgs e) + { + if ((Control.ModifierKeys & Keys.Alt) == 0 && e.Button == MouseButtons.Left) + { + // Only allow clicking if alt is not being held down + ClickX = e.X; + ClickY = e.Y; + Clicked = true; + } + } + + private void glControl_MouseDown(object sender, MouseEventArgs e) + { + if ((Control.ModifierKeys & Keys.Alt) != 0 && LastHit > 0) + { + // Alt is held down and we have a valid target + Pivoting = true; + PivotPosition = Camera.FocalPoint; + + Control control = (Control)sender; + LastPivot = control.PointToScreen(new Point(e.X, e.Y)); + } + } + + private void glControl_MouseMove(object sender, MouseEventArgs e) + { + if (Pivoting) + { + float a,x,y,z; + + Control control = (Control)sender; + Point mouse = control.PointToScreen(new Point(e.X, e.Y)); + + // Calculate the deltas from the center of the control to the current position + int deltaX = (int)((mouse.X - LastPivot.X) * -0.5d); + int deltaY = (int)((mouse.Y - LastPivot.Y) * -0.5d); + + // Translate so the focal point is the origin + LLVector3 altered = Camera.Position - Camera.FocalPoint; + + // Rotate the translated point by deltaX + a = (float)deltaX * DEG_TO_RAD; + x = (float)((altered.X * Math.Cos(a)) - (altered.Y * Math.Sin(a))); + y = (float)((altered.X * Math.Sin(a)) + (altered.Y * Math.Cos(a))); + + altered.X = x; + altered.Y = y; + + // Rotate the translated point by deltaY + a = (float)deltaY * DEG_TO_RAD; + y = (float)((altered.Y * Math.Cos(a)) - (altered.Z * Math.Sin(a))); + z = (float)((altered.Y * Math.Sin(a)) + (altered.Z * Math.Cos(a))); + + altered.Y = y; + altered.Z = z; + + // Translate back to world space + altered += Camera.FocalPoint; + + // Update the camera + Camera.Position = altered; + UpdateCamera(); + + // Update the pivot point + LastPivot = mouse; + } + } + + private void glControl_MouseWheel(object sender, MouseEventArgs e) + { + /*if (e.Delta != 0) + { + Camera.Zoom = Camera.Zoom + (double)(e.Delta / 120) * -0.1d; + if (Camera.Zoom < 0.05d) Camera.Zoom = 0.05d; + UpdateCamera(); + }*/ + + if (e.Delta != 0) + { + // Calculate the distance to move to/away + float dist = (float)(e.Delta / 120) * 10.0f; + + if (LLVector3.Dist(Camera.Position, Camera.FocalPoint) > dist) + { + // Move closer or further away from the focal point + LLVector3 toFocal = Camera.FocalPoint - Camera.Position; + toFocal = LLVector3.Norm(toFocal); + + toFocal = toFocal * dist; + + Camera.Position += toFocal; + UpdateCamera(); + } + } + } + + private void glControl_MouseUp(object sender, MouseEventArgs e) + { + // Stop pivoting if we were previously + Pivoting = false; + } + + private void txtLogin_Enter(object sender, EventArgs e) + { + TextBox input = (TextBox)sender; + input.SelectAll(); + } + + private void cmdTeleport_Click(object sender, EventArgs e) + { + if (!String.IsNullOrEmpty(txtSim.Text)) + { + // Parse X/Y/Z + int x, y, z; + if (!Int32.TryParse(txtX.Text, out x)) + { + txtX.SelectAll(); + return; + } + if (!Int32.TryParse(txtY.Text, out y)) + { + txtY.SelectAll(); + return; + } + if (!Int32.TryParse(txtZ.Text, out z)) + { + txtZ.SelectAll(); + return; + } + + string simName = txtSim.Text.Trim().ToLower(); + LLVector3 position = new LLVector3(x, y, z); + + if (Client != null && Client.Network.CurrentSim != null) + { + // Check for a local teleport to shortcut the process + if (simName == Client.Network.CurrentSim.Name.ToLower()) + { + // Local teleport + Client.Self.RequestTeleport(Client.Network.CurrentSim.Handle, position); + } + else + { + // Cross-sim teleport + bool success = false; + + BackgroundWorker worker = new BackgroundWorker(); + worker.DoWork += delegate(object s, DoWorkEventArgs ea) { success = Client.Self.Teleport(simName, position); }; + worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs ea) + { + BeginInvoke((MethodInvoker) + delegate() + { + if (!success) + System.Windows.Forms.MessageBox.Show("Teleport failed"); + }); + }; + + worker.RunWorkerAsync(); + } + } + else + { + // Oops! How did the user click this... + cmdTeleport.Enabled = false; + } + } + } + } + + public struct TextureInfo + { + /// OpenGL Texture ID + public int ID; + /// True if this texture has an alpha component + public bool Alpha; + + public TextureInfo(int id, bool alpha) + { + ID = id; + Alpha = alpha; + } + } + + public struct HeightmapLookupValue : IComparable + { + public int Index; + public float Value; + + public HeightmapLookupValue(int index, float value) + { + Index = index; + Value = value; + } + + public int CompareTo(HeightmapLookupValue val) + { + return Value.CompareTo(val.Value); + } + } + + public struct RenderablePrim + { + public Primitive Prim; + public PrimMeshMultiFace Mesh; + + public readonly static RenderablePrim Empty = new RenderablePrim(); + } + + public struct Camera + { + public LLVector3 Position; + public LLVector3 FocalPoint; + public double Zoom; + public double Far; + } + + public struct NativeMethods + { + [StructLayout(LayoutKind.Sequential)] + public struct Message + { + public IntPtr HWnd; + public uint Msg; + public IntPtr WParam; + public IntPtr LParam; + public uint Time; + public System.Drawing.Point Point; + } + + //[System.Security.SuppressUnmanagedCodeSecurity] + [DllImport("User32.dll", CharSet = CharSet.Auto)] + public static extern bool PeekMessage(out Message msg, IntPtr hWnd, uint messageFilterMin, uint messageFilterMax, uint flags); + } + + public static class Math3D + { + // Column-major: + // | 0 4 8 12 | + // | 1 5 9 13 | + // | 2 6 10 14 | + // | 3 7 11 15 | + + public static float[] CreateTranslationMatrix(LLVector3 v) + { + float[] mat = new float[16]; + + mat[12] = v.X; + mat[13] = v.Y; + mat[14] = v.Z; + mat[0] = mat[5] = mat[10] = mat[15] = 1; + + return mat; + } + + public static float[] CreateRotationMatrix(LLQuaternion q) + { + float[] mat = new float[16]; + + // Transpose the quaternion (don't ask me why) + q.X = q.X * -1f; + q.Y = q.Y * -1f; + q.Z = q.Z * -1f; + + float x2 = q.X + q.X; + float y2 = q.Y + q.Y; + float z2 = q.Z + q.Z; + float xx = q.X * x2; + float xy = q.X * y2; + float xz = q.X * z2; + float yy = q.Y * y2; + float yz = q.Y * z2; + float zz = q.Z * z2; + float wx = q.W * x2; + float wy = q.W * y2; + float wz = q.W * z2; + + mat[0] = 1.0f - (yy + zz); + mat[1] = xy - wz; + mat[2] = xz + wy; + mat[3] = 0.0f; + + mat[4] = xy + wz; + mat[5] = 1.0f - (xx + zz); + mat[6] = yz - wx; + mat[7] = 0.0f; + + mat[8] = xz - wy; + mat[9] = yz + wx; + mat[10] = 1.0f - (xx + yy); + mat[11] = 0.0f; + + mat[12] = 0.0f; + mat[13] = 0.0f; + mat[14] = 0.0f; + mat[15] = 1.0f; + + return mat; + } + + public static float[] CreateScaleMatrix(LLVector3 v) + { + float[] mat = new float[16]; + + mat[0] = v.X; + mat[5] = v.Y; + mat[10] = v.Z; + mat[15] = 1; + + return mat; + } + } +} diff --git a/Programs/PrimWorkshop/frmBrowser.resx b/Programs/PrimWorkshop/frmBrowser.resx new file mode 100644 index 00000000..ff31a6db --- /dev/null +++ b/Programs/PrimWorkshop/frmBrowser.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Programs/PrimWorkshop/frmPrimPreview.Designer.cs b/Programs/PrimWorkshop/frmPrimPreview.Designer.cs new file mode 100644 index 00000000..02f886c9 --- /dev/null +++ b/Programs/PrimWorkshop/frmPrimPreview.Designer.cs @@ -0,0 +1,465 @@ +namespace primpreview +{ + partial class frmPrimPreview + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + glControl.DestroyContexts(); + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.menu = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator(); + this.savePrimXMLToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.saveTextureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.importToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.worldBrowserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.oBJToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.wireframeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.splitContainer = new System.Windows.Forms.SplitContainer(); + this.glControl = new Tao.Platform.Windows.SimpleOpenGlControl(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.label2 = new System.Windows.Forms.Label(); + this.cboFace = new System.Windows.Forms.ComboBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.label1 = new System.Windows.Forms.Label(); + this.cboPrim = new System.Windows.Forms.ComboBox(); + this.scrollRoll = new System.Windows.Forms.HScrollBar(); + this.scrollPitch = new System.Windows.Forms.HScrollBar(); + this.scrollYaw = new System.Windows.Forms.HScrollBar(); + this.picTexture = new System.Windows.Forms.PictureBox(); + this.scrollZoom = new System.Windows.Forms.HScrollBar(); + this.openPrimXMLToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.textureToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.opToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menu.SuspendLayout(); + this.splitContainer.Panel1.SuspendLayout(); + this.splitContainer.Panel2.SuspendLayout(); + this.splitContainer.SuspendLayout(); + this.tableLayoutPanel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picTexture)).BeginInit(); + this.SuspendLayout(); + // + // menu + // + this.menu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.viewToolStripMenuItem, + this.helpToolStripMenuItem}); + this.menu.Location = new System.Drawing.Point(0, 0); + this.menu.Name = "menu"; + this.menu.Size = new System.Drawing.Size(996, 24); + this.menu.TabIndex = 0; + this.menu.Text = "menu"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.opToolStripMenuItem, + this.toolStripMenuItem2, + this.savePrimXMLToolStripMenuItem, + this.saveTextureToolStripMenuItem, + this.importToolStripMenuItem, + this.exportToolStripMenuItem, + this.toolStripMenuItem1, + this.exitToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20); + this.fileToolStripMenuItem.Text = "File"; + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(151, 6); + // + // savePrimXMLToolStripMenuItem + // + this.savePrimXMLToolStripMenuItem.Name = "savePrimXMLToolStripMenuItem"; + this.savePrimXMLToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.savePrimXMLToolStripMenuItem.Text = "Save Prim XML"; + this.savePrimXMLToolStripMenuItem.Click += new System.EventHandler(this.savePrimXMLToolStripMenuItem_Click); + // + // saveTextureToolStripMenuItem + // + this.saveTextureToolStripMenuItem.Name = "saveTextureToolStripMenuItem"; + this.saveTextureToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.saveTextureToolStripMenuItem.Text = "Save Texture"; + this.saveTextureToolStripMenuItem.Click += new System.EventHandler(this.saveTextureToolStripMenuItem_Click); + // + // importToolStripMenuItem + // + this.importToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.worldBrowserToolStripMenuItem}); + this.importToolStripMenuItem.Name = "importToolStripMenuItem"; + this.importToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.importToolStripMenuItem.Text = "Import"; + // + // worldBrowserToolStripMenuItem + // + this.worldBrowserToolStripMenuItem.Name = "worldBrowserToolStripMenuItem"; + this.worldBrowserToolStripMenuItem.Size = new System.Drawing.Size(155, 22); + this.worldBrowserToolStripMenuItem.Text = "World Browser"; + this.worldBrowserToolStripMenuItem.Click += new System.EventHandler(this.worldBrowserToolStripMenuItem_Click); + // + // exportToolStripMenuItem + // + this.exportToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.oBJToolStripMenuItem}); + this.exportToolStripMenuItem.Name = "exportToolStripMenuItem"; + this.exportToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.exportToolStripMenuItem.Text = "Export"; + // + // oBJToolStripMenuItem + // + this.oBJToolStripMenuItem.Name = "oBJToolStripMenuItem"; + this.oBJToolStripMenuItem.Size = new System.Drawing.Size(141, 22); + this.oBJToolStripMenuItem.Text = "OBJ Format"; + this.oBJToolStripMenuItem.Click += new System.EventHandler(this.oBJToolStripMenuItem_Click); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(151, 6); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.exitToolStripMenuItem.Text = "Exit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // + // viewToolStripMenuItem + // + this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.wireframeToolStripMenuItem}); + this.viewToolStripMenuItem.Name = "viewToolStripMenuItem"; + this.viewToolStripMenuItem.Size = new System.Drawing.Size(41, 20); + this.viewToolStripMenuItem.Text = "View"; + // + // wireframeToolStripMenuItem + // + this.wireframeToolStripMenuItem.Checked = true; + this.wireframeToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.wireframeToolStripMenuItem.Name = "wireframeToolStripMenuItem"; + this.wireframeToolStripMenuItem.Size = new System.Drawing.Size(135, 22); + this.wireframeToolStripMenuItem.Text = "Wireframe"; + this.wireframeToolStripMenuItem.Click += new System.EventHandler(this.wireframeToolStripMenuItem_Click); + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.aboutToolStripMenuItem}); + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + this.helpToolStripMenuItem.Size = new System.Drawing.Size(40, 20); + this.helpToolStripMenuItem.Text = "Help"; + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(114, 22); + this.aboutToolStripMenuItem.Text = "About"; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); + // + // splitContainer + // + this.splitContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer.Location = new System.Drawing.Point(0, 24); + this.splitContainer.Name = "splitContainer"; + // + // splitContainer.Panel1 + // + this.splitContainer.Panel1.Controls.Add(this.glControl); + // + // splitContainer.Panel2 + // + this.splitContainer.Panel2.Controls.Add(this.tableLayoutPanel1); + this.splitContainer.Size = new System.Drawing.Size(996, 512); + this.splitContainer.SplitterDistance = 550; + this.splitContainer.TabIndex = 6; + // + // glControl + // + this.glControl.AccumBits = ((byte)(0)); + this.glControl.AutoCheckErrors = false; + this.glControl.AutoFinish = false; + this.glControl.AutoMakeCurrent = true; + this.glControl.AutoSwapBuffers = true; + this.glControl.BackColor = System.Drawing.Color.Black; + this.glControl.ColorBits = ((byte)(32)); + this.glControl.DepthBits = ((byte)(16)); + this.glControl.Dock = System.Windows.Forms.DockStyle.Fill; + this.glControl.Location = new System.Drawing.Point(0, 0); + this.glControl.Name = "glControl"; + this.glControl.Size = new System.Drawing.Size(550, 512); + this.glControl.StencilBits = ((byte)(0)); + this.glControl.TabIndex = 5; + this.glControl.Paint += new System.Windows.Forms.PaintEventHandler(this.glControl_Paint); + this.glControl.Resize += new System.EventHandler(this.glControl_Resize); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.tableLayoutPanel1.ColumnCount = 1; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel1.Controls.Add(this.panel2, 0, 5); + this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 4); + this.tableLayoutPanel1.Controls.Add(this.scrollRoll, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.scrollPitch, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.scrollYaw, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.picTexture, 0, 6); + this.tableLayoutPanel1.Controls.Add(this.scrollZoom, 0, 3); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 7; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(442, 512); + this.tableLayoutPanel1.TabIndex = 9; + // + // panel2 + // + this.panel2.Controls.Add(this.label2); + this.panel2.Controls.Add(this.cboFace); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(3, 117); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(436, 24); + this.panel2.TabIndex = 16; + // + // label2 + // + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(4, 5); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(34, 13); + this.label2.TabIndex = 16; + this.label2.Text = "Face:"; + this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // cboFace + // + this.cboFace.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cboFace.FormattingEnabled = true; + this.cboFace.Location = new System.Drawing.Point(40, 2); + this.cboFace.Name = "cboFace"; + this.cboFace.Size = new System.Drawing.Size(174, 21); + this.cboFace.TabIndex = 15; + this.cboFace.SelectedIndexChanged += new System.EventHandler(this.cboFace_SelectedIndexChanged); + // + // panel1 + // + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.cboPrim); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(3, 87); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(436, 24); + this.panel1.TabIndex = 15; + // + // label1 + // + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(4, 5); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(30, 13); + this.label1.TabIndex = 16; + this.label1.Text = "Prim:"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // cboPrim + // + this.cboPrim.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cboPrim.FormattingEnabled = true; + this.cboPrim.Location = new System.Drawing.Point(40, 2); + this.cboPrim.Name = "cboPrim"; + this.cboPrim.Size = new System.Drawing.Size(174, 21); + this.cboPrim.TabIndex = 15; + this.cboPrim.SelectedIndexChanged += new System.EventHandler(this.cboPrim_SelectedIndexChanged); + // + // scrollRoll + // + this.scrollRoll.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.scrollRoll.Location = new System.Drawing.Point(0, 2); + this.scrollRoll.Maximum = 360; + this.scrollRoll.Name = "scrollRoll"; + this.scrollRoll.Size = new System.Drawing.Size(442, 16); + this.scrollRoll.TabIndex = 9; + this.scrollRoll.ValueChanged += new System.EventHandler(this.scroll_ValueChanged); + // + // scrollPitch + // + this.scrollPitch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.scrollPitch.Location = new System.Drawing.Point(0, 22); + this.scrollPitch.Maximum = 360; + this.scrollPitch.Name = "scrollPitch"; + this.scrollPitch.Size = new System.Drawing.Size(442, 16); + this.scrollPitch.TabIndex = 10; + this.scrollPitch.ValueChanged += new System.EventHandler(this.scroll_ValueChanged); + // + // scrollYaw + // + this.scrollYaw.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.scrollYaw.Location = new System.Drawing.Point(0, 42); + this.scrollYaw.Maximum = 360; + this.scrollYaw.Name = "scrollYaw"; + this.scrollYaw.Size = new System.Drawing.Size(442, 16); + this.scrollYaw.TabIndex = 11; + this.scrollYaw.ValueChanged += new System.EventHandler(this.scroll_ValueChanged); + // + // picTexture + // + this.picTexture.BackColor = System.Drawing.Color.Black; + this.picTexture.Dock = System.Windows.Forms.DockStyle.Fill; + this.picTexture.Location = new System.Drawing.Point(3, 147); + this.picTexture.Name = "picTexture"; + this.picTexture.Size = new System.Drawing.Size(436, 362); + this.picTexture.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.picTexture.TabIndex = 17; + this.picTexture.TabStop = false; + this.picTexture.MouseLeave += new System.EventHandler(this.picTexture_MouseLeave); + this.picTexture.MouseMove += new System.Windows.Forms.MouseEventHandler(this.picTexture_MouseMove); + this.picTexture.MouseDown += new System.Windows.Forms.MouseEventHandler(this.picTexture_MouseDown); + this.picTexture.Paint += new System.Windows.Forms.PaintEventHandler(this.picTexture_Paint); + this.picTexture.MouseUp += new System.Windows.Forms.MouseEventHandler(this.picTexture_MouseUp); + // + // scrollZoom + // + this.scrollZoom.Dock = System.Windows.Forms.DockStyle.Fill; + this.scrollZoom.LargeChange = 1; + this.scrollZoom.Location = new System.Drawing.Point(0, 60); + this.scrollZoom.Maximum = 0; + this.scrollZoom.Minimum = -200; + this.scrollZoom.Name = "scrollZoom"; + this.scrollZoom.Size = new System.Drawing.Size(442, 24); + this.scrollZoom.TabIndex = 19; + this.scrollZoom.Value = -50; + this.scrollZoom.ValueChanged += new System.EventHandler(this.scrollZoom_ValueChanged); + // + // openPrimXMLToolStripMenuItem1 + // + this.openPrimXMLToolStripMenuItem1.Name = "openPrimXMLToolStripMenuItem1"; + this.openPrimXMLToolStripMenuItem1.Size = new System.Drawing.Size(152, 22); + this.openPrimXMLToolStripMenuItem1.Text = "Prim XML"; + this.openPrimXMLToolStripMenuItem1.Click += new System.EventHandler(this.openPrimXMLToolStripMenuItem1_Click); + // + // textureToolStripMenuItem + // + this.textureToolStripMenuItem.Name = "textureToolStripMenuItem"; + this.textureToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.textureToolStripMenuItem.Text = "Texture"; + this.textureToolStripMenuItem.Click += new System.EventHandler(this.textureToolStripMenuItem_Click); + // + // opToolStripMenuItem + // + this.opToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.openPrimXMLToolStripMenuItem1, + this.textureToolStripMenuItem}); + this.opToolStripMenuItem.Name = "opToolStripMenuItem"; + this.opToolStripMenuItem.Size = new System.Drawing.Size(154, 22); + this.opToolStripMenuItem.Text = "Open"; + // + // frmPrimPreview + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(996, 536); + this.Controls.Add(this.splitContainer); + this.Controls.Add(this.menu); + this.MainMenuStrip = this.menu; + this.Name = "frmPrimPreview"; + this.Text = "Prim Preview"; + this.menu.ResumeLayout(false); + this.menu.PerformLayout(); + this.splitContainer.Panel1.ResumeLayout(false); + this.splitContainer.Panel2.ResumeLayout(false); + this.splitContainer.ResumeLayout(false); + this.tableLayoutPanel1.ResumeLayout(false); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picTexture)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.MenuStrip menu; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.SplitContainer splitContainer; + private Tao.Platform.Windows.SimpleOpenGlControl glControl; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.HScrollBar scrollRoll; + private System.Windows.Forms.HScrollBar scrollPitch; + private System.Windows.Forms.HScrollBar scrollYaw; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.ComboBox cboFace; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.ComboBox cboPrim; + private System.Windows.Forms.PictureBox picTexture; + private System.Windows.Forms.ToolStripMenuItem savePrimXMLToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem saveTextureToolStripMenuItem; + private System.Windows.Forms.HScrollBar scrollZoom; + private System.Windows.Forms.ToolStripMenuItem exportToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem oBJToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem wireframeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem importToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem worldBrowserToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem opToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem openPrimXMLToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem textureToolStripMenuItem; + } +} + diff --git a/Programs/PrimWorkshop/frmPrimPreview.cs b/Programs/PrimWorkshop/frmPrimPreview.cs new file mode 100644 index 00000000..f21cb947 --- /dev/null +++ b/Programs/PrimWorkshop/frmPrimPreview.cs @@ -0,0 +1,542 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; +using System.Windows.Forms; +using Tao.OpenGl; +using Tao.Platform.Windows; +using libsecondlife; +using libsecondlife.StructuredData; +using libsecondlife.Imaging; +using libsecondlife.Rendering; + +// NOTE: Batches are divided by texture, fullbright, shiny, transparent, and glow + +namespace primpreview +{ + public struct FaceData + { + public float[] Vertices; + public ushort[] Indices; + public float[] TexCoords; + public int TexturePointer; + public System.Drawing.Image Texture; + // TODO: Normals / binormals? + } + + public partial class frmPrimPreview : Form + { + #region Form Globals + + List Prims = null; + PrimMeshMultiFace CurrentPrim = null; + ProfileFace? CurrentFace = null; + + bool DraggingTexture = false; + bool Wireframe = true; + int[] TexturePointers = new int[1]; + + #endregion Form Globals + + public frmPrimPreview() + { + InitializeComponent(); + glControl.InitializeContexts(); + + Gl.glShadeModel(Gl.GL_SMOOTH); + Gl.glClearColor(0f, 0f, 0f, 0f); + + Gl.glClearDepth(1.0f); + Gl.glEnable(Gl.GL_DEPTH_TEST); + Gl.glDepthMask(Gl.GL_TRUE); + Gl.glDepthFunc(Gl.GL_LEQUAL); + Gl.glHint(Gl.GL_PERSPECTIVE_CORRECTION_HINT, Gl.GL_NICEST); + + TexturePointers[0] = 0; + + // Call the resizing function which sets up the GL drawing window + // and will also invalidate the GL control + glControl_Resize(null, null); + } + + #region GLControl Callbacks + + private void glControl_Paint(object sender, PaintEventArgs e) + { + Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); + Gl.glLoadIdentity(); + + // Setup wireframe or solid fill drawing mode + if (Wireframe) + Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_LINE); + else + Gl.glPolygonMode(Gl.GL_FRONT, Gl.GL_FILL); + + LLVector3 center = LLVector3.Zero; + + Glu.gluLookAt( + center.X, (double)scrollZoom.Value * 0.1d + center.Y, center.Z, + center.X, center.Y, center.Z, + 0d, 0d, 1d); + + // Push the world matrix + Gl.glPushMatrix(); + + Gl.glEnableClientState(Gl.GL_VERTEX_ARRAY); + Gl.glEnableClientState(Gl.GL_TEXTURE_COORD_ARRAY); + + // World rotations + Gl.glRotatef((float)scrollRoll.Value, 1f, 0f, 0f); + Gl.glRotatef((float)scrollPitch.Value, 0f, 1f, 0f); + Gl.glRotatef((float)scrollYaw.Value, 0f, 0f, 1f); + + if (Prims != null) + { + for (int i = 0; i < Prims.Count; i++) + { + Primitive prim = Prims[i].Prim; + + if (i == cboPrim.SelectedIndex) + Gl.glColor3f(1f, 0f, 0f); + else + Gl.glColor3f(1f, 1f, 1f); + + // Individual prim matrix + Gl.glPushMatrix(); + + // The root prim position is sim-relative, while child prim positions are + // parent-relative. We want to apply parent-relative translations but not + // sim-relative ones + if (Prims[i].Prim.ParentID != 0) + { + Gl.glTranslatef(prim.Position.X, prim.Position.Y, prim.Position.Z); + + // Prim rotation + // Using euler angles because I have no clue what I'm doing + float roll, pitch, yaw; + + LLMatrix3 rotation = prim.Rotation.ToMatrix(); + rotation.GetEulerAngles(out roll, out pitch, out yaw); + + Gl.glRotatef(roll * 57.2957795f, 1f, 0f, 0f); + Gl.glRotatef(pitch * 57.2957795f, 0f, 1f, 0f); + Gl.glRotatef(yaw * 57.2957795f, 0f, 0f, 1f); + } + + // Prim scaling + Gl.glScalef(prim.Scale.X, prim.Scale.Y, prim.Scale.Z); + + // Draw the prim faces + for (int j = 0; j < Prims[i].Faces.Count; j++) + { + if (i == cboPrim.SelectedIndex) + { + // This prim is currently selected in the dropdown + //Gl.glColor3f(0f, 1f, 0f); + Gl.glColor3f(1f, 1f, 1f); + + if (j == cboFace.SelectedIndex) + { + // This face is currently selected in the dropdown + } + else + { + // This face is not currently selected in the dropdown + } + } + else + { + // This prim is not currently selected in the dropdown + Gl.glColor3f(1f, 1f, 1f); + } + + #region Texturing + + Face face = Prims[i].Faces[j]; + FaceData data = (FaceData)face.UserData; + + if (data.TexturePointer != 0) + { + // Set the color to solid white so the texture is not altered + //Gl.glColor3f(1f, 1f, 1f); + // Enable texturing for this face + Gl.glEnable(Gl.GL_TEXTURE_2D); + } + else + { + Gl.glDisable(Gl.GL_TEXTURE_2D); + } + + // Bind the texture + Gl.glBindTexture(Gl.GL_TEXTURE_2D, data.TexturePointer); + + #endregion Texturing + + Gl.glTexCoordPointer(2, Gl.GL_FLOAT, 0, data.TexCoords); + Gl.glVertexPointer(3, Gl.GL_FLOAT, 0, data.Vertices); + Gl.glDrawElements(Gl.GL_TRIANGLES, data.Indices.Length, Gl.GL_UNSIGNED_SHORT, data.Indices); + } + + // Pop the prim matrix + Gl.glPopMatrix(); + } + } + /*else if (CurrentMesh != null) + { + Gl.glColor3f(1f, 1f, 1f); + + GLMesh glmesh = CurrentMesh.Value; + LLMesh llmesh = glmesh.Mesh; + + Gl.glRotatef(llmesh.RotationAngles.X, 1f, 0f, 0f); + Gl.glRotatef(llmesh.RotationAngles.Y, 0f, 1f, 0f); + Gl.glRotatef(llmesh.RotationAngles.Z, 0f, 0f, 1f); + + Gl.glScalef(llmesh.Scale.X, llmesh.Scale.Y, llmesh.Scale.Z); + + // Push the mesh data + Gl.glTexCoordPointer(2, Gl.GL_FLOAT, 0, glmesh.TexCoords); + Gl.glVertexPointer(3, Gl.GL_FLOAT, 0, glmesh.Vertices); + Gl.glDrawElements(Gl.GL_TRIANGLES, glmesh.Indices.Length, Gl.GL_UNSIGNED_SHORT, glmesh.Indices); + }*/ + + // Pop the world matrix + Gl.glPopMatrix(); + + Gl.glDisableClientState(Gl.GL_TEXTURE_COORD_ARRAY); + Gl.glDisableClientState(Gl.GL_VERTEX_ARRAY); + + Gl.glFlush(); + } + + private void glControl_Resize(object sender, EventArgs e) + { + Gl.glClearColor(0.39f, 0.58f, 0.93f, 1.0f); + + Gl.glViewport(0, 0, glControl.Width, glControl.Height); + + Gl.glPushMatrix(); + Gl.glMatrixMode(Gl.GL_PROJECTION); + Gl.glLoadIdentity(); + + Glu.gluPerspective(50.0d, 1.0d, 0.1d, 50d); + + Gl.glMatrixMode(Gl.GL_MODELVIEW); + Gl.glPopMatrix(); + } + + #endregion GLControl Callbacks + + #region Menu Callbacks + + private void openPrimXMLToolStripMenuItem1_Click(object sender, EventArgs e) + { + Prims = null; + OpenFileDialog dialog = new OpenFileDialog(); + + if (dialog.ShowDialog() == DialogResult.OK) + { + LLSD llsd = null; + + try { llsd = LLSDParser.DeserializeXml(File.ReadAllText(dialog.FileName)); } + catch (Exception ex) { MessageBox.Show(ex.Message); } + + if (llsd != null && llsd.Type == LLSDType.Map) + { + List primList = Helpers.LLSDToPrimList(llsd); + Prims = new List(primList.Count); + + for (int i = 0; i < primList.Count; i++) + { + // TODO: Can't render sculpted prims without the textures + if (primList[i].Sculpt.SculptTexture != LLUUID.Zero) + continue; + + Primitive prim = primList[i]; + PrimMeshMultiFace mesh = Render.GenerateMeshWithFaces(prim, 4f); + + // Create a FaceData struct for each face that stores the 3D data + // in a Tao.OpenGL friendly format + for (int j = 0; j < mesh.Faces.Count; j++) + { + Face face = mesh.Faces[j]; + FaceData data = new FaceData(); + + // Vertices for this face + data.Vertices = new float[face.Vertices.Count * 3]; + for (int k = 0; k < face.Vertices.Count; k++) + { + data.Vertices[k * 3 + 0] = face.Vertices[k].Position.X; + data.Vertices[k * 3 + 1] = face.Vertices[k].Position.Y; + data.Vertices[k * 3 + 2] = face.Vertices[k].Position.Z; + } + + // Indices for this face + data.Indices = face.Indices.ToArray(); + + // Texture transform for this face + LLObject.TextureEntryFace teFace = prim.Textures.GetFace((uint)j); + Render.TransformTexCoords(face.Vertices, face.Center, teFace); + + // Texcoords for this face + data.TexCoords = new float[face.Vertices.Count * 2]; + for (int k = 0; k < face.Vertices.Count; k++) + { + data.TexCoords[k * 2 + 0] = face.Vertices[k].TexCoord.X; + data.TexCoords[k * 2 + 1] = face.Vertices[k].TexCoord.Y; + } + + // Texture for this face + if (LoadTexture(System.IO.Path.GetDirectoryName(dialog.FileName), teFace.TextureID, ref data.Texture)) + { + Bitmap bitmap = new Bitmap(data.Texture); + bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY); + Rectangle rectangle = new Rectangle(0, 0, bitmap.Width, bitmap.Height); + BitmapData bitmapData = bitmap.LockBits(rectangle, ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb); + + Gl.glGenTextures(1, out data.TexturePointer); + Gl.glBindTexture(Gl.GL_TEXTURE_2D, data.TexturePointer); + + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR_MIPMAP_LINEAR); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_REPEAT); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_REPEAT); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_GENERATE_MIPMAP, Gl.GL_TRUE); + + Glu.gluBuild2DMipmaps(Gl.GL_TEXTURE_2D, Gl.GL_RGB8, bitmap.Width, bitmap.Height, Gl.GL_BGR, Gl.GL_UNSIGNED_BYTE, bitmapData.Scan0); + + bitmap.UnlockBits(bitmapData); + bitmap.Dispose(); + } + + // Set the UserData for this face to our FaceData struct + face.UserData = data; + mesh.Faces[j] = face; + } + + Prims.Add(mesh); + } + + // Setup the dropdown list of prims + PopulatePrimCombobox(); + + glControl.Invalidate(); + } + else + { + MessageBox.Show("Failed to load LLSD formatted primitive data from " + dialog.FileName); + } + } + } + + private bool LoadTexture(string basePath, LLUUID textureID, ref System.Drawing.Image texture) + { + if (File.Exists(textureID.ToString() + ".tga")) + { + try + { + texture = (Image)LoadTGAClass.LoadTGA( + basePath + System.IO.Path.DirectorySeparatorChar + textureID.ToString() + ".tga"); + return true; + } + catch (Exception) + { + } + } + + return false; + } + + private void textureToolStripMenuItem_Click(object sender, EventArgs e) + { + picTexture.Image = null; + TexturePointers[0] = 0; + + OpenFileDialog dialog = new OpenFileDialog(); + + if (dialog.ShowDialog() == DialogResult.OK) + { + try + { + picTexture.Image = System.Drawing.Image.FromFile(dialog.FileName); + Bitmap bitmap = new Bitmap(picTexture.Image); + bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY); + + // Create the GL texture space + Gl.glGenTextures(1, TexturePointers); + Rectangle rectangle = new Rectangle(0, 0, bitmap.Width, bitmap.Height); + BitmapData bitmapData = bitmap.LockBits(rectangle, ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb); + + Gl.glBindTexture(Gl.GL_TEXTURE_2D, TexturePointers[0]); + + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR_MIPMAP_LINEAR); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_CLAMP_TO_EDGE); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_CLAMP_TO_EDGE); + Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_GENERATE_MIPMAP, Gl.GL_TRUE); + + Glu.gluBuild2DMipmaps(Gl.GL_TEXTURE_2D, Gl.GL_RGB8, bitmap.Width, bitmap.Height, Gl.GL_BGR, Gl.GL_UNSIGNED_BYTE, bitmapData.Scan0); + + bitmap.UnlockBits(bitmapData); + bitmap.Dispose(); + } + catch (Exception ex) + { + MessageBox.Show("Failed to load image from file " + dialog.FileName + ": " + ex.Message); + } + } + } + + private void savePrimXMLToolStripMenuItem_Click(object sender, EventArgs e) + { + + } + + private void saveTextureToolStripMenuItem_Click(object sender, EventArgs e) + { + + } + + private void oBJToolStripMenuItem_Click(object sender, EventArgs e) + { + SaveFileDialog dialog = new SaveFileDialog(); + dialog.Filter = "OBJ files (*.obj)|*.obj"; + + if (dialog.ShowDialog() == DialogResult.OK) + { + if (!MeshToOBJ.MeshesToOBJ(Prims, dialog.FileName)) + { + MessageBox.Show("Failed to save file " + dialog.FileName + + ". Ensure that you have permission to write to that file and it is currently not in use"); + } + } + } + + private void exitToolStripMenuItem_Click(object sender, EventArgs e) + { + Close(); + } + + private void aboutToolStripMenuItem_Click(object sender, EventArgs e) + { + MessageBox.Show( + "Written by John Hurliman (http://www.jhurliman.org/)"); + } + + #endregion Menu Callbacks + + #region Scrollbar Callbacks + + private void scroll_ValueChanged(object sender, EventArgs e) + { + glControl.Invalidate(); + } + + private void scrollZoom_ValueChanged(object sender, EventArgs e) + { + glControl_Resize(null, null); + glControl.Invalidate(); + } + + #endregion Scrollbar Callbacks + + #region PictureBox Callbacks + + private void picTexture_MouseDown(object sender, MouseEventArgs e) + { + DraggingTexture = true; + } + + private void picTexture_MouseUp(object sender, MouseEventArgs e) + { + DraggingTexture = false; + } + + private void picTexture_MouseLeave(object sender, EventArgs e) + { + DraggingTexture = false; + } + + private void picTexture_MouseMove(object sender, MouseEventArgs e) + { + if (DraggingTexture) + { + // What is the current action? + // None, DraggingEdge, DraggingCorner, DraggingWhole + } + else + { + // Check if the mouse is close to the edge or corner of a selection + // rectangle + + // If so, change the cursor accordingly + } + } + + private void picTexture_Paint(object sender, PaintEventArgs e) + { + // Draw the current selection rectangles + } + + #endregion PictureBox Callbacks + + private void cboPrim_SelectedIndexChanged(object sender, EventArgs e) + { + CurrentPrim = (PrimMeshMultiFace)cboPrim.Items[cboPrim.SelectedIndex]; + PopulateFaceCombobox(); + + glControl.Invalidate(); + } + + private void cboFace_SelectedIndexChanged(object sender, EventArgs e) + { + CurrentFace = (ProfileFace)cboFace.Items[cboFace.SelectedIndex]; + + glControl.Invalidate(); + } + + private void PopulatePrimCombobox() + { + cboPrim.Items.Clear(); + + if (Prims != null) + { + for (int i = 0; i < Prims.Count; i++) + cboPrim.Items.Add(Prims[i]); + } + + if (cboPrim.Items.Count > 0) + cboPrim.SelectedIndex = 0; + } + + private void PopulateFaceCombobox() + { + cboFace.Items.Clear(); + + if (CurrentPrim != null) + { + for (int i = 0; i < CurrentPrim.Profile.Faces.Count; i++) + cboFace.Items.Add(CurrentPrim.Profile.Faces[i]); + } + + if (cboFace.Items.Count > 0) + cboFace.SelectedIndex = 0; + } + + private void wireframeToolStripMenuItem_Click(object sender, EventArgs e) + { + wireframeToolStripMenuItem.Checked = !wireframeToolStripMenuItem.Checked; + Wireframe = wireframeToolStripMenuItem.Checked; + + glControl.Invalidate(); + } + + private void worldBrowserToolStripMenuItem_Click(object sender, EventArgs e) + { + frmBrowser browser = new frmBrowser(); + browser.ShowDialog(); + } + } +} diff --git a/Programs/PrimWorkshop/frmPrimPreview.resx b/Programs/PrimWorkshop/frmPrimPreview.resx new file mode 100644 index 00000000..01073880 --- /dev/null +++ b/Programs/PrimWorkshop/frmPrimPreview.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/Programs/PrimWorkshop/meshtoobj.cs b/Programs/PrimWorkshop/meshtoobj.cs new file mode 100644 index 00000000..c3c2fe05 --- /dev/null +++ b/Programs/PrimWorkshop/meshtoobj.cs @@ -0,0 +1,153 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; +using libsecondlife; +using libsecondlife.Rendering; + +namespace primpreview +{ + public static class MeshToOBJ + { + public static bool MeshesToOBJ(List meshes, string filename) + { + StringBuilder obj = new StringBuilder(); + StringBuilder mtl = new StringBuilder(); + + FileInfo objFileInfo = new FileInfo(filename); + + string mtlFilename = objFileInfo.FullName.Substring(objFileInfo.DirectoryName.Length + 1, + objFileInfo.FullName.Length - (objFileInfo.DirectoryName.Length + 1) - 4) + ".mtl"; + + obj.AppendLine("# Created by libprimrender"); + obj.AppendLine("mtllib ./" + mtlFilename); + obj.AppendLine(); + + mtl.AppendLine("# Created by libprimrender"); + mtl.AppendLine(); + + for (int i = 0; i < meshes.Count; i++) + { + PrimMeshMultiFace mesh = meshes[i]; + + for (int j = 0; j < mesh.Faces.Count; j++) + { + Face face = mesh.Faces[j]; + + if (face.Vertices.Count > 2) + { + string mtlName = String.Format("material{0}-{1}", i, face.ID); + LLObject.TextureEntryFace tex = face.TextureFace; + string texName = tex.TextureID.ToString() + ".tga"; + + // FIXME: Convert the source to TGA (if needed) and copy to the destination + + float shiny = 0.00f; + switch (tex.Shiny) + { + case Shininess.High: + shiny = 1.00f; + break; + case Shininess.Medium: + shiny = 0.66f; + break; + case Shininess.Low: + shiny = 0.33f; + break; + } + + obj.AppendFormat("g face{0}-{1}{2}", i, face.ID, Environment.NewLine); + + mtl.AppendLine("newmtl " + mtlName); + mtl.AppendFormat("Ka {0} {1} {2}{3}", tex.RGBA.R, tex.RGBA.G, tex.RGBA.B, Environment.NewLine); + mtl.AppendFormat("Kd {0} {1} {2}{3}", tex.RGBA.R, tex.RGBA.G, tex.RGBA.B, Environment.NewLine); + //mtl.AppendFormat("Ks {0} {1} {2}{3}"); + mtl.AppendLine("Tr " + tex.RGBA.A); + mtl.AppendLine("Ns " + shiny); + mtl.AppendLine("illum 1"); + if (tex.TextureID != LLUUID.Zero && tex.TextureID != LLObject.TextureEntry.WHITE_TEXTURE) + mtl.AppendLine("map_Kd ./" + texName); + mtl.AppendLine(); + + // Write the vertices, texture coordinates, and vertex normals for this side + for (int k = 0; k < face.Vertices.Count; k++) + { + Vertex vertex = face.Vertices[k]; + + #region Vertex + + LLVector3 pos = vertex.Position; + + // Apply scaling + pos *= mesh.Prim.Scale; + + // Apply rotation + pos *= mesh.Prim.Rotation; + + // The root prim position is sim-relative, while child prim positions are + // parent-relative. We want to apply parent-relative translations but not + // sim-relative ones + if (mesh.Prim.ParentID != 0) + pos += mesh.Prim.Position; + + obj.AppendFormat("v {0} {1} {2}{3}", pos.X, pos.Y, pos.Z, Environment.NewLine); + + #endregion Vertex + + #region Texture Coord + + obj.AppendFormat("vt {0} {1}{2}", vertex.TexCoord.X, vertex.TexCoord.Y, + Environment.NewLine); + + #endregion Texture Coord + + #region Vertex Normal + + // HACK: Sometimes normals are getting set to + if (!Single.IsNaN(vertex.Normal.X) && !Single.IsNaN(vertex.Normal.Y) && !Single.IsNaN(vertex.Normal.Z)) + obj.AppendFormat("vn {0} {1} {2}{3}", vertex.Normal.X, vertex.Normal.Y, vertex.Normal.Z, + Environment.NewLine); + else + obj.AppendLine("vn 0.0 1.0 0.0"); + + #endregion Vertex Normal + } + + obj.AppendFormat("# {0} vertices{1}", face.Vertices.Count, Environment.NewLine); + obj.AppendLine(); + obj.AppendLine("usemtl " + mtlName); + + #region Elements + + // Write all of the faces (triangles) for this side + for (int k = 0; k < face.Indices.Count / 3; k++) + { + obj.AppendFormat("f -{0}/-{0}/-{0} -{1}/-{1}/-{1} -{2}/-{2}/-{2}{3}", + face.Vertices.Count - face.Indices[k * 3 + 0], + face.Vertices.Count - face.Indices[k * 3 + 1], + face.Vertices.Count - face.Indices[k * 3 + 2], + Environment.NewLine); + } + + obj.AppendFormat("# {0} elements{1}", face.Indices.Count / 3, Environment.NewLine); + obj.AppendLine(); + + #endregion Elements + } + } + } + + try + { + File.WriteAllText(filename, obj.ToString()); + File.WriteAllText(mtlFilename, mtl.ToString()); + } + catch (Exception) + { + return false; + } + + return true; + } + } +} diff --git a/bin/GlacialList.dll b/bin/GlacialList.dll new file mode 100644 index 0000000000000000000000000000000000000000..ccda7084c75cb7ad47ba0b7a3b7a2ab4c1fd408e GIT binary patch literal 86016 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 literal 0 HcmV?d00001 diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll new file mode 100644 index 0000000000000000000000000000000000000000..536337c20af0016c789676d85806052b1816d08e GIT binary patch literal 188416 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�T^Ycx`>7k69V*t=i;lePC^V04T{=S`+}^ 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 I|2Gi$zZR(3xBvhE literal 0 HcmV?d00001 diff --git a/bin/Tao.OpenGl.dll b/bin/Tao.OpenGl.dll new file mode 100644 index 0000000000000000000000000000000000000000..22085c67217c3183c4f845fcd319be40888299c3 GIT binary patch literal 1171456 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∈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 z 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%0AD_(71>h;kEWHn`PEMdxgGt|%oJ8*fGs$VR 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

XeWQ+@dWE`Gov&_F{m)g}uKM>2>`<@P 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

tc+t`huJt}*lORm||mK^2^Qc*Iy zph(jAmxpV^*gB%pAS-vw&h^IRMyI?fLE^VWq)gBS;Hntr;|s}I>afI4Ygjl;)<`-D>Zrp9~=rJl_zyRX$qExJbAiYPmVlW zPk;+BB&g9SGw;!ol|>8b;yx?{CrgYBt!jx^qC5d-o6&st^`Ry91?_avPhr)c(pYY6 zg4qMtCT4LJ8k#sUIgGb?NJ71~dpaUznYHY|Lu&&dub)!8t@XQs`poUk#br;aYSUV< z(A{bB(H3?&;lA!{iOl`bcVN8aE5yk{caHQbc@rm1;Qg!JOAQT?2Irr1I|cc*ux>Z1 z{NnvL>V~$TC(=POiAfnbTBP;1-qwLc*$k;IhVaNZkBP`FmO2k!M3TzOcwDZ2JaG z5Q)_0Hc^=v>aV(TZkDc`p>&%ZT?LlIRS+`Wsj>&L$=j>si!wk{*GxzRc8l4jFR{mv zlV7|j((f2azr_)`WsBRO#ssL5mVru8!a@)Q3A5#JvvX*b`TXM!=c*@lXz%W$g7pDd#odPj14S33PHgq7GXUO>zFwd*{1`R)yEk@W5`x()`0Fxo@y z3-k=@4TH5|Ken0ix5;Y14XjA>)=nVqi*Du3{!k#-PY0E(1F4q4FGS8r=O=3h)PpPJ zf(IK~w1msi=pD~*T2(D|pem9A6Us!(B2+iSR_E5XyX|tuQ*3z~i&8mKQxJbtif@e1#)jXHq+Ee`~5;C>ghAppVsRjG_q`lGm z%&XL;n99r*OsCc)LilqAW@*Ik0QzWRMfrvY_8wZ@DSMZ|Y;=h411_oXx>J{Gejhu> z4Q^pG9Z6PE$W%x!v7>A0mdSN=;pE4@2ooS?%jvLS=|vR~Wj(k-&PuM0tIQy)q4Z7d z++~IO;47F)+1VywyNmF1XeKjY>bc zB>nE^T&(PYm(^le`ymQ`y+su!X9YI(sV{M7KK;HDrAqWV-xUy@iW3EwdXCpHa0<}` zYQ}QQN|9uXyEd>oT;n4;VQ&VmVQVDbM8qA)EB@TRI%$WFMzuwZiCx~qiD17@(;xV~ z?MM4;x0Fr@Y9;gL9+_IK7}V;?9xU@5%jDvW4TqFUK>qEpgiXrMCmz=id*Xh5+QG(~ zTH!7s&753Lwg#o_0J%=9Z}y8i$vGQ3>RQB|leirqJ@H7-(;!2?p~$@UCNkJ&KsIV@ z5+#N(7V?A9nIlj>m9r|hx0@LrZdokiCnBwc?fL@&%8aSC$pX!VJa}5L;Pf>7 zgc{XSieFc5!Q~@3SS@O>VIO2hBThUFbUwm6#XRP8(KvGsbD1(Nj?S^C*@TQnmf`1G z9j8e76{*1T5=^^uqx-a2rA6KHbK9UX!0nq-xnLVFoXC$X7;7Xa!6V` zBO#=}dc>WY3>2xKwJ|X-SBicC*A_Ea0_&|mY7bMXQov_J z3i;ky-p!Sg3n}@pj#BG5@TKkaaV?ZCvzG_aY7v*pMh%i^{}f`oE>ndGhPZD(5wR4^ z`P%imAg>Z4-X?3}E5+2rc$o6#+^3H;bF;BR6Y7lIkNo=-Y>Ejhdou0CcGf#&uP=rJ z+;{lhE7KQ)PO(`tHPG65tEh7X-F{|%;Ak%9u1U0c`#5W(mfEUEP92@Cth2BelFfGC z_Yir#V=tn0JM3K9dJ?x{JKv?KqTT(TD&Dm>;`zb~A+BRwQcHG{xg*?Hz?UnsR%Xg1 z?_UZRYrLYiL=P=iZt6(RpV=LGK~|7yaR@ZVB|pSNOv;Zek5gi>efnX zX_85byvM$YQT@2-TLrbLb<3o8qfKXNq;(m-&T$??hU_-I9)byJd`X-igRA{vd0)IIl_YW?-wgwL70OwZOEyY*bz=y<_ z=g`mc(0*-rqGX9G*zYZh3*T@`-&X$dU1M4n`61JItcN}iX%3q{RlXQ6CJxYW!C9{L z7A6YrWr#NB&hnn;& z>fm>DsMaAYPuFTvC1YXC63m#(JvQQD)n5fBpA9pq>@ToBMj5m{l%ZI2QaPuEk;xz5 z*OQC5pT#SQo(+EMJx>{-kE(vH8}Ct2t^P4bqVGPR2({N`xE1bR= zTuN_uP32I7jpdR*_z;3R8z$>6N#Fx0-8w?gfj4)@34*l0^kDXv`n%H=%D(``T^D)H7yNu?y6H zUd84Jo*mQLPjs3KCKekf+Sw@?KwpGdqd&=(D|#}%%~?vxeVt5nCP7@N1gB4o<7MxH zoW+YS;y1X##f}mOI3J_vN%i1B-uv%9V() z&Nla2)6lzcR3!I%S>LHi?Pf8S3RKF1@5!=E1cG`7}E*|lDX?AVnhu4 zISZJ;C~w6ah5UOwvf)+5m3LEEMKheu9bx4S8Pfd(`4^~pzI558)Yg>cU?sy02y4^D zW7@#Y%R~hl)qv$^FT5V1m`FTH$x*aqj^$qqm0zT!99YN%m*ca!i9Qk6St1CfYv}GD zsU7R;;3)i_qHm!mtJZyy-XgdaFgeI!{28s#yRBlqDdQri?$F}po&4aavXE2`8^9$! z9h%{SGneG$VjPzD&b;GXLAs5FTFHlK$oY_Jq+MB+ax$}vsunXjL?pPHCz4$o*hUjX z6E$k)%03rhP*tT%CG!pa(5kKx z%WR|40F8mAI$hzB-1z51N$CrIJv7%RW6Fba8X8C1Cb`nvW=ZwMC+!5qf;A+roJu|^ zsH_-DNu<+QTr(Rd3X`p>@Hpo?G!pI2SH10XvfQkt%;7{FHkR)hTSYpQjp-3=x#Hh9 zWKImu{$hHek)E6%%=?5Lo3}Dye3+oK<_mwdNgcF&*+4SEKj#5pYKri%Xt}qSmi&cJ zVtrR_T{ZCZhb?6uMETfSh^|GBH$fWLr}T$l&soH-#-dQ(R*=~u!=kUh)`h_!qgt-1 zwiB5&$ii(WBEj5;DoNBHH>JvEDfqII-&ODvziw$*>)U({y+B)LgP-k7F=SwU2qk%T56QHLqA9kBx3?Evd7qwbCGb43_hfg*Fpv-Ywyhz1&Vp zRx4J8x?y7xx9BNKYzeirUTbwZc0&OU6@s1hdB5&itK+g5*8icm(hg%`BpqBfR0BtYa#oU|$PD_3jY#e|c1R?blv&%# z&oFuaCEIvYI}UtNCVlsY7R8h)$YlNO;+B89y;J^AaE;!%OO;r}FJV$xnkVJqU@?>I zqKdC=H6N2ToLw-j%qo(ji+&o7E}c$J#+lc~wKkann!s;qke_n7Q8}{2mLfC#= z$lv6r-Ge=BE|H|?Q2J!65VbD#mj0Z8Uu~1z2*u1AxjaLj8LbS`#bIpea@VuAm?$mk z%kgyyT{_iGTM7GcCBp5%)^;=*k=vbh*YI~rBSs@hV|~n7g(`(`GfJ|QrV;!Cz0Cxe zK~iVvg1sNav|7_(@?p*mexOGA1QIk}OO+&ULE4Qfl$^}f{(fvH;6c~m=I70NI$Lrt zxzmh~A*IGsB!N|A@i0*p$9^@3EerYmNO~PSy4(f#`S}_dZ`O&)}(=R!mkua z7V^T2f+L4Cecba*t>0Qh(Cu!tDl0M|S}N8xGv-NYL351o2o0M&l%>!ca$8y(N;}== zYWqbWYsaX}G)IKj3WshBySSEziKT{0i#1F7d{{cMuB;z|#`Il)iF|ZNn>JAL3+%yx za{54^WT2lZBu`7kiA3$gY8@j4-b(y%z~C?+c43YSN<)gUDBLp3nj1^HM$6-?B5d24 zwm#Sx8N!XU^b<(>IanXk41U9JBHt|zwY6)##t_U6nn}H5v=2Yuq#Fh61Eid@x}@)u zX43$(?PPRVuaNA+!W)$*G)A;uP`%`8Tz3j%*F1jJ0C%}HSigZ(H}*`fHm6Z)iat%N zv^gvNOYZi4**QU<&n%RAxoIneJ%~@NZrf&dqbLfQ0j550(MLnWMlOX+O+dVt*BunDzN)*Bz9*VVydt>io05MZTVEBw?ydEp8#zUPWUH^x&_W;cE zC=&i3+j0s?APK!Yv=B%_ROl_TBs(IqThCM1QT$GFrwCa!PxoK`1u`IY*`b zsjB!ScKHolKUl9PTanhb*+L?iDra?T zL0;YQOGQbrDz8I@nQqVcD4!Rsp0_E-?_{;ICn1I>rj^N>J}XZ*_=N8?r*#=$DQ9Us zi7(1U*U3xnmFjX&Iy=JPH)=zCMV;FhtGrH47x;LWo#D^40<=u!>qu6P2C@&zN-Bv_ zS${Uj=o*eGy4AZ+Ne6tp(o$M54-Dw7M)uV|M1@N=}Eb&CQsYD zGS!`3QrY9-r6&8t++ zd&#&_k}pp;XJceUmqxaLM9r0T?Q*QjLB&izpjfkt#MHL!3RYex`lhN*;_SmV#ED2( zRCjf{P#Ok;Mea0(KA;8~bG=jxDnOWu$R;(S*i-CbFPDzc%eqFZE=`i~%T!P+Kz=<{ zOk{1nPX?PvnXaCygQu5dP_K|=Ygt*Qn$pcQQnDxduJb+_Yi0X0*cjdau+ameS}a|q zjMGwe_FTSo$q}7hTdxkW%fDzID&6bD$L;1EHR>xL$J`JYBr2zilgY~kFf)3kTcn(( zp$?-fm3AvVTp?>zjkejWp7_z*;Ia6MZwAEM;;eH+ETppQw|9`5HYwg@16?PcwHbt5 zs?L%_M_USUN8=3=1-8~!^IN5<0Pj%jZ@qHBenFgs}Q5 zs65yqhil}2KeSXGSNNEowwyOo)_F5K)C?C-qpf8=5W|3WDXSEuL6uiJ|E@PC0DI?= z(Ino9N~eWUm7cRGDn1Q^cF~Sgu|eC2Us+L@O0g;4zTt7Z3uszH*VDRYhf>mcYMahB za!Mhe%B37tB8w+Jq6d4^gEJ$uqt}YD&KcESZoF?KB$Sz; zeUv){F&*zjKl+CsgA(~hbJ(c}AJp=Qe5D+7HxABg?WR`J#fMJtb+wxv?2xHx`TcYe z$pOEpp0=lL(r)dL8avpM4ZRq8z22&e-^S|CW}&)u?WTLFSu>7SCbw>p@_yj7wOh;b zAs$M#2{s@zc0HYcIYODoUtW&I|djz$9IjG42@ z!lH6|#9l4(fzGRKKwk%rKCT0}ebmZ{c*hx3$uzxK8JhBWaF85?WyYgj6LQig>xFi^ zSLw?VLL$;U!xUUHP?~)&v5-IJZnn;xAH*i9j>`V63t=n)bncZ4EP6y_Qq(1gs4V$l%G7%xWo)v@yEkW5DROjd69*XD6!Q-?%Bu~{=)eq|{7 zR-6JVr&O6xXu0<6oRn)TtdgwhvXA&!XEi%x+{wscF)?VKRhI0G8UsjeYt40J8hO%b z7pgsmSCJD*mxlEu1U{05_?BPPj)XqWc=-eBCq65p?kKjQ5m(^zO@PoE=_%NXREMr` zR`e++nZKH{H%u3uWJXI*d`-)xDLIWdG9ultHszrb^j><>;d!@DTR_l^>A6&Gz@(AB#M%L>48yWHKW4n8p{lKq!4K#fV}@0&>H>w5osGh2b*zO3a&Z z+U!%3`23B))Gi}g^aGv>vu$~>S8hL9nF9?Ux~tH){MN{Ct`OSeyI#T#)B9t^UGm2PbuF8KwKlQbk4>bsmgxp zUmn|BGnA_%Z@AFVX|vtys+{k}9Xpx&wqAqxc+`q5#MN$OO&S-L6F)p$Vb_zZwG?er z)zu-2^&u-wyHmrs5=w>(sZ!Bv@=AirmZet-OBlX0Z=ES$7Rjn8`iFF=baceEfRQql zs(R1fG_GvIMq}AwG*wYlhqY_@jj(hhE{@Jfcf-t`DobY9qV_A-lS7Pbr5&9wH&W=r z%{wR4Ah}zcDf1w1IobVnTQ0>!tGc)?Pa|Zi0F~}Jq-{0|sI4ugeffT+Ns$cvi7P1oQA>hWM&O{V6 zwfC1NdeSX}tR`T^+k>&X^=wL%a$?eo7k!OZx3=)z0n8?@Wn6#gk+^96>=ERoL~>b8 z)0DQI`hnDYf}KoGWyFvT3%3vY9%57PCTR~Q+oo-avoKI12lbXrN2PTqJk8%)1Usxc zr`4x6SGHu248YPUOx*`e7ub!!mGYv91G1Hz4mne}K$xV$(vqDmb zq;!5mD_BN$xoa(-gs#hfdGCUhrkq$C=!(32V-R7>8@zh1jo7qD?q^$dDEDnE=eJEb z%B!p~FvK3H+2gFhYVGx=G&osC3L9V3k|Es>sh#y4;M?$N=QH*LRQB|qQ1z5ZX(4x; zfS(gLm1k@#0v zR5j-|(rhowY@_xvf8#U>IjafB1XH_rQgvgt%(lH^*AMw7l+5JiD3~mLWCm}`KVM1K zr;@hdXrG|gFQ)6-r98@A8&2c|aY&Y}8q+rh^K%?_?UGw3!kNp4t!MadU9>vmP;ECm~{^Z@2qmyFLn}Nm=MwYrHhftNiE+KOM_#RbE5ETBsto%cLPZ_z78*G0OJ% zVtJj8GYf_6xbr4A5$qU)7ru=nIU?$9rfT1f1TnhlnyF>LHL?}Mb}*a|)$Kwk!@}%9 z+AE8!@)=^*p3b^AS4fkcIOLg4B&f{VOyF^|mpB_kP1O=6a~3XUg+cXgHan}I3Cql4 zDLn_na}G?`=i5V;f9*IyFzojOgr|5b)@viA!$sZ~tyLvn=g(Kt{$hhqnf=h_Cfcf; zuZ9q`iHJO$;UZ$2Fv+YGdr{PYPdLSdsxR<*v!%(mFU(>JZ>Mt772e9HJT^VXo!frw zY>#dSNM-7MEX#QBWY`;$?vg`1`lt$Q>hw#Gs;J#O)SK>gN2}P0TaxQAfs90y@9vw{ zsQ^VXIg=B1o@grF9ZKR-n=Q#r6mMD0pDCWsD||s^6nzMUc^jy+b4In@|FX98Zwc$h z4#`^REBM@C*m`m? z>=IEh6H%+4a>i>b``mOJsn)_;W|pqy%g;?@k{n`_1SVdAuq?vvO$w$&waKe@2V0+*N(n3EE`5|L z)krGqVEJVX<{xPfE322%WDyeqxqK?tCAowpy;+oqh^&?gu6*{KKNcF&P!Ta#cse=o zWw>*%$8_^;$)pUTa;z?-{9?$Ged@Zfj>i+4jwi(`-@FbcW+o@)rodD=*=z0#LO0fc zDCg6hfMJ<4F)r`*$-AXG#}1w>eM|R|N&&~&DWA$nqAay8>TRSkVl4824irb04VCUJ*q)x5LeFVg=;5n%QmB;?Zvd~HU>rk4%o;R zi$Uu97o{0T7nrFROLgX(Q&w@-(qgnTWohdt8{^arTQ`nU3#75xdAiUNRTv{hi!eL4 zVeGqCI5^*R&Z`o&=I+47;tPmKW3>rp*?TP+q~~*>|GQ z(rHFWf5?qYHbbl)^^cWbWe}R0l@(vqy?3PAvmt5PE`4V}the^1Q>U`mElZx&#I!8W z$EWOpmTc%K-=2W=7~y3Gmug6c=G3+FF?Mu(*RK7XY>CUNE(CsKKX&2e7|VDNt2RCv z{(sfJLqUS&U7AM5Ye!IuCU>J-c?145E5Pb`l4Q=2k&~Gsb8IMAX6sd13$DbXX7_ki z)M6S~Jz11ScC{j;VLSxdH=}&LkgY|f=ze^RPgi92N*|45%nd2BW=Q=<*5M&NQgdl* zI9gh!Kq26{xleYKDZ1B0b=goeA`Pf{+8WXnmYKj^SJ@7`8k$tIsh+P)gT%}omi4N^ z)l^YwcC{%zk6m+4)l{fRyPQoZUujF$!Fb8gje}_{si@%tazemAb1QT4fEYZ87ggekirxjfN)<4j-DH-8C$G zA+1xb{L#bE-<(xoLced~P^e93!&y_+RTjr4FoRLvc%@ym4raL|u%+rNXOZ+nvDCY0 z?z?JIj(W&flc^gVfb=qnkD_w+#ETVX%3RibpCm2#q=1@DjO3#B z)g)R@(q`=?C8IA>wDifAa%mo1A>h|lcQm3G+rbOD?8K!z71ks=xgFWrvk9AskBcU~ zI&_%G0ZToGP_^QwNwke{l7fRsW`R_-lj+G+>0z~sg;|(v%u*+lqw-;n;K6H#Mkr0n zglgT_cG{zvMTduK#b#61nLKdeh0`UF`&IPhQ#Wa5rK-@0<%P;R(2N{)eYpP1rlmH& z!@_FWmy=AHb7P%L*{d0@@(yGg7i14Ml8^1uO$%EPIEjeVijRg?VV8#hLS0LYo1_B>4tvkkBZb2YSMiCzL{@=dT z2-Z-@(spsuTo|3@(@FWJjW=U-w$k?O8MwBhPf;0mGI*ancCH#vCRoE>> zMaF&mqO_H`MaAe0Br4p8`g{~Im6rykv1|8fioDKjK3M9<7>vA^Z1U`vab&Hc=jlh} zEX|k*mwW@Q^45LQf3ZfC?-51~XUfBx3@(y!A-C10<76T+y1K1QW=STMBQ4`cBq}YE zj`&vjjhchNW37Y$X;=o`u_@_ou09asQky4P;Yg5=88!zJL#>UM zKFRh%YT4|-fR`|hP(A_GaVbsJBlZ5Bvi={@v8cK-YaC55oeA& znZpFmS{43XDq?d3kj_%@$Z1zsEJ8}=cEJ3Q4qgON+9QqE<++*c`3n%G5Vlo8z&4NB zm!N|HN%AKOzB)nD8BDpa<^__f;=6*e^mix|I4_ehH7lUbLObhAJ4c@Rqd>6v`{_TFy?I$|dvU#N=*SZRmB8_%3LD1TMeg zY%5Hdth{XM=Od)CWonlzec=S;FfziaG7iueUOddp4B$|R%q~p7I+R4OL>$XkLtL9= z!=^8&Aeyg|Ti#ihCg)8m9h}nUG;-iX-8>$;Qa{=0HCIs$1Agj9h>30>V{0odY^<27 z-OKAmCjv48W0UcnKN~!i+wwgvX1?0$-r%XdkfQWtT1W%y&3w9CS=8!4?FBR?TKV4I z$llQ;ltB+OqQ2`IliGB^q=AuQDoQCGc!{diI|pfajn1LpS)bZn?s&3H)=6X97^b}C zJ7RimSEd(wB#_#6`*GRbeV(sf(X%m$)S4$rIo>6;l{9dg%++?~ca!kY$j%WtV&vai ztE?_`Y%AZr4#^eK${y?~Y3}CR%jFB~)? z>e@;zZ=nZF_qj-FH<1rdr6+TwZD;l6D;spiWoJg!yS%*WIfoGD10+(e`8M7M$rKU@ z7R(mjX*W2jCs7A1;HuUj(%Qoa1}E${?{o{okKskXg;=txpmu!*VJiWtH?t^si9}F_ zOCwmW#j102<|X+Fx}?w3qDHS|h>6`QubhkOdj@Gt^GPM*mfa$bdW}w-Pw{Pfno1<~ zmu~Wg@+@y#1w@bi)G`^+JJEycW~P{Q_RA;x=|SZwp5{&JQ2IWDwAQoBNFkFFU+^d^)YxY*A{U@>wSVfHTNMdCDn%k9po^2=+aXmhTTlqc;rfBjxR z;3%hGLdkfd=8mCRWMgZ2Ku6Magw{sa%7SNPa%`7wRd{>aZiG||%|&fgJ~727guVKs z{ZkEA_0fR#vC2fjuNFagGrlW3AL)U1+pbO4m^AqI#0=Klf!B( z*H0$se8PIbR0v~qfZ8aKb|B8I^+vRT8!dG9?#&XzN*ePjO<=QN6A9E$ifxgHAK5hg?E%B3~QYWfn}83vFoqIbOC{Ebjp31CmS~y|iZgukA6L zE@r-xZuCWi`|h0RyZvIeiH>7}t5X&m1TyKDr5u(%=~-d%rE0i2W{YE8Eaim@-kf;0 zMalC5({gpCx)3TiJ#AA+EKq6bSk7JR8X68|>`6v}bk!_Mx^r0OOw}9oVe#^{wVcb= zDApKDs}=ejzX zg-7hoTN@11E4MK@EYHjs2{j6urkSp2;214rcACv$^PxxQg`)4AZ%ZHxx{3~#ofLbP z&9aMcEy^=?kxt6i9~#tVM*ZbOK`!)z?Oi#Zx>Fga`rYnf)gE@!sQ!HXaGrA&?6Xh4 zs;XZd@g1cQ!YtY>(J_(IvDIW;)-o(~t*D+LS!$)*d#>~lvSAluzb%i_xl7-p<5DAn zNum5IkO;9PkX3+@Z=Vj-+9Y1!QbDPWnQohkZs3LlGHkZUL(+DJ=+bF_HY>V?o={0g zm~{LxF|oledxXp9ad|(;HZC%0j+)9qA{3rHI4-+mK8L1q#URJQjPkTn(5r}MOb=x2 z^@j0LW|w?tUM3^EMUv@wX{3m8B)gjuyKOO<(iy0YNqn=K+GOS)T_mhvBF?hRBzAbe zh^h5If>AbJ)6?Z~h+i<9j(LGyj+*wF<}|b$2mWaj&%CTI>mJ%)Id^HJfZvKQu}sXY zCBsxmrryWm#k=TT#)}%O&E^n$O}a&HvDw#VLr^W3QhnR2SH7apMwh6VY;_VkA?jY& z*U7MxPCY8mt#pV3`A*qotiZ}3gMN_q(a2p2I%a3g4MOHsCUV1 zaaO(tIVKxd6Sgpe*R*OJ_MT3DM8ss*KQ@+Tuu(PT9*k9L?Q1TOi0c=^WjY!mi!x_A zdrE9}bSeZR$Xm52BUu+KGVO-8R-=rv$QcOiSjUeDi6BrvRFhb1f%}?Zo0V+{kG;43u!c8&F~Rxi~30b z?|KkSb}xNt$h4APS_+!cVrW$!L`A8Ig!15?4=1K-h)*|)i( z@yl$ohf(93EY5HCKxJD!$N?9xhic2DLjtiTk@^oz&$fKIgrSThy4D(knSHaSp&(6- zT3@psoj!({i=Z!cPjgtQexXcT1_L>soRmGb=A}LWt0Z)D0b@0Q6YuL(@?6qwYvED~m-QejvZ)!KV~v@nK}kxi!zX~voxJwp;? zoU@v3Yin5qr82PhoS$@K+u0+nlb3qSW~dS#vfWmn-f#9&MO~lz5oQ|2nmZQKAx3GZ zrncLfOlF~#)Ko6hKYi}eifO!-tAesyM~zfW-jdYz>{=cwiW5TeQl3gsEM4tU_#o%q z!6k)xPNo;6ZTaM*yb$MAY0a373^gmHADl01#dh(iDO2-4bMivk99Iqfwo}IOon*Jh zPMGF;G40V_>?}tK+&N1G+QcQB3mdrC7E?uCFt_2y31+&nbgXcI~`G`A!2@&TH^3)j23=)US<$_*4TTD zSGIR{PjAQdq|4>^ab0)I=~S#%{;rki6kFuH{aG#lBTt}^e76`OP$8&DdZJQ4Bsx){xT6ve(~qe^|c!DY}=AXSs_ak!e?Kx0?oyZ%{bF z%IIOeBVQNfbK=yBr8P;0DenPoN3_fR=D=dYCBqdQO38JB?DZtK4Xt0qt*bru?3f)4 zRaIKbWZGX*LL6#O(h==#w&=>-*EtojOxCc{C_%N1kDy`v;V?7Q%Sa&Opd4$PzD5q` zJB6yQy&|c@YThMs+d*+RW9!o0G4rWTqiq%kU%9*`?mW?U4XJHAlcCZ%q49h!l z(_)F?*#YX)pG*jGRO?shiN>J=qZd0+KF^PCMr-S>BOMvbo%+4J^hQ>ZhtBeID+VvP zroO7n(b$=Cu{DL2W*k1vGH#?>v6CJ=S5Int(G^pcRUVXPmi<*VImx+T2ddghv$W{6 z+5=Pn_Y!cq!$!0;e8}C4d}3!U!2|7?IaoLP#MZ&|!;353qFi=~@W%%tsV*;NoDD0p zECsqeZ0c$<3@t3QwRuZhgVk2v+ja6hvggp%W(xIs$P`jz5g=o-JSP#g*z%pz()!bC zd@4I&L$uVAO=VH^l-N$W@-ip?JmWM5rirnYzOwnLlkPOLN-CswW4yfdRho)JOik!u zCpP2rnH$}=ssXqn)BYu`{Bc6)RgNwBoYeORh|b!ws`c}xNtNJ}9IqP}n%Gg$u};T6 zTQ6m6wsM=!Oc>?)^LWXD0|?nNK;&Cy4CRE(_km(3MCTu4dw0)VMH$NKl$lRlX|Ng% zK{i&?Dyep?byI0XP^NZgav1F;!evtePpWg=(%5L(>DAE+S{l=1WKOb@9ceNo+dQ`B zF|&a6^RloOS1qSYNp2{L1E|3h6aKR0lSJ5(SY}3gueyFC#1aexCtPo}VA|(S zwR6>W#zk90)HzCYqI-C4ZtYZYWNB~b#6-8ZF21ql1^122EiKi&JwX`lEOpj9L=f8D zSq?A1JLh^Gf$r=a=`QozT|YLrDxQ&*rIoe8!=>+d@-CFV61bRvizTp|fZY-Z6GpvP z0yoN>HV$XtlEOwtVxy$7Q4$$SG=@qNLy6m=g+zBKaXVCUJCyPoDzh3&ISpkQmD~Eo6H=n*}0z#!wdG*TyMRzwr{030QoFbjUKBBbg%RpWms$o)8rCh3KQdFf}s%=t~mg_)gZM}0+YcRaz<9 z9IW)+Pf5aCVrz{V*y_vuC2gxK2bZ+1o*Z1#wmLGf)=+rMEVXtVtaao5lD72*2bZ*6 z2`_b5_btsWGjQohvS&_oPIqpJ@W#^8uDN-lcC8$t4E&I_{6e1}4X&*$uRG>d-DO77 ziSCi3+Mmn=mikC$o&?&nvd~$Ay233~jZBF&QnQ@sE_bHayQ`~9ut(@%cVYdg_@e+& zOn&G^0BXrk#J&~bdAfTOl=iJGojS6zOh#p>%xHSP+v}~YN!0YwxrL7MBLR`KeRFGb z$7F7>M!uCWS>yonuY?_8{Mg))j(q$`V>KWrfi*C;eB7zxb9C`KC43H)8Hp<+d?nD6 z3ow$4*OTJ|b62OcaCmP1hMgOWiybYZOm^niQ*cTscGkRR#+SS6d!@k0)5OZ$0)FxC zo9p#vj;^h29HA-pt*i!oqj%K3qib^~63vmN&Kz0k@9_Nm#<2+K$QuEb%m_@ccb4b7 zDxjnu?W}6MJ9y7r?*=fLbGctJ+^=NaANh@Tdvk|Xj>eYVv#Yz@?NNkXOTxMQN>PT_ z*Vnqti}nd91@_FXs{ZHKL~d0zjD!a~ynC%{V}!uepTPqcxZ;l;pA+U|RLMd#Q5l3p z7OF%l%@k>aL>a84v|)nCJ)PdsekZCOA_7DV$oD8)$yt9&b> z1Z?VnsBa%DAxB zJ&AOcAxIhAb>E(iC26HVEJGkpuB{(kkzdglhJs)8MG8!Cl{LoL;kC87Q)5e=V^RbOs>;)@tJ>SOnn z3C2>YBw2(*K$(=q`vz9!w|cxNHyVk?>wM;cl6TM4nLNf~x=oLpS&b*x~k zrzBN5K8{GQ4Sb>CWdWv#m|Gm9L7MX9cOweoDyE8=3+oW>P|rUp_)8$+Q6#%|o0 zTko!5ZJ;q##IqJv+!-Iz%0RU%wZOF}QKw~`mUDgcaFwPANr{@GoU9DYQt2gIo=pX| ze0*hTgOcs)E{RBKV~woTpx*QenlhrFWY{Gfk!_1$0BMC=0ys>$R5)shQLeNCYDuCB z6S&G(HA#vK?K$096%8n(jO8!HYLLkHDzQYZ91&${`K4f@7~?`SCi2?TT|PE<($bs1 zk+=rdl!>6EOeCZqb=LD31*B-{7}{kAM&FRip+_w$!g6 z4eCgj*PJb4t4Ix=Y)M;1YVc$W+$vIoCtL1TkaX2sgET5r*T7XI74j;m!ILeFt4Ix= zY?;h#K!@Sgm0qVD`&+FTk^G~LLIRsXEVZA5w&`C3VKi`PAezEfSrZl zw+vE0S*RKbcV(njNEw8qEL2IU+AKwyCM$!LJWYd@k(E46bCr>mJWXTC4Dgx_v6`th z#O8-(c)W+71%_@6MPO`sA-vML)T@Pyz~tfU!|+@MS=%rtO{-YT(t@xj{FH(5Ucxia z=-m1o+^CsHdbx)smpVw6qABfunG%$tgq(U`FmDN5256AVL^V?r^ln2|xiX{9Kw|v>-^3{mb1& z*^F`|Eq7WmY7`c#&P!IwB{1fh zjuUkAdI&>D4vSgE9%=G`DW*u1$JhkL=87I~ph`9dvW>I@ zb4%TYN@vKcUk#j906n_`p^B=21`5(yLCJPyOk{OdoTJ#JxB{tXWW}tY)HAZVZjPdZ zLlsbGR~x;8qRmo))HBNWYpg^=dv*UjPc^hx+o}p`RK?I<9l@(uHh|Y)E!1pSuHZG< zVD?f$(cV~r)a%-XMfcIXe9heJm0~mK3f-1+*sxZ`YE()&wWx@-JPVh18JG2wEge8! zHECiFwP6mnV_HU)MJOlwTGyc#QCVN~FSG)Ww?P+Mfvu?BHq>q_YOf8o*M>UK#;bJ5 z76Jopyh`=Ap|7|C+vZi$|T4J)I)K<0`=d~D5Q(g92-pwWM;OJ&C z1DnS5x5dPAwv}K+w$hBqAS*MRCZEQo>Zdd%_A00Wy_yep*dae$2}KiFT(q5qqR}lB z(qbV|rtM@+HkXT=LONYgnRt=kV6Be1~c#(4k zt7M;6RiSG#Kro%wkY1f7N~)5C;(ee*2?k1t%YFu^XB4_5p(H(0Lh8IE{ZXRSc}aSs zM5*(V^hG`l#*k5kInx!OGgXDPA$qXbs#-x|KIqsg?Ah zA}YX^%1XmY1+lfTEj5^ijY{hFg0`1a=BmxQs%VK#*3Xt|vvs${`tr|K*9O8g;9#eq z8+s1%B8mm23h{(fit7H z0Y;W&cThK_EUZ&?4Rfc4y(~SiYG-8(RBjrka4ca4M;oC2CTPGx`7xV7%V9OV$fSlE z;7zcDC272LO2C-RA(>R1CbD}xMcM&_TCj~u;~;~jsqvDNtDa~u^z2ZB0a^}>Y!Xq{ zOUuEKMw&(uvW!w(ck^UXMRvL;Z83?P#j;hhgef{W61ujZ zb2!ep7}Xjus;lLwmf_P4*;0{1Tn4bQ#zDPcHJ#ZqKsvT%!RE;=gXc%?45EF}XAlM{ zx2-K)J6C5wDQ!$U3^2~IunL{Z!8t>cLgZ)X3}{oCO47=nn_+2us`SNHpf{8jNxH2b z(K196m+a(LfCZGHscf7El=9CSU2{_!DK;cV>qG_$y^vrzDu@FI78LDygPkiSR;{Fb76%v|Hr_osk@tI|iIKECtE~dTQ5j98zUfkJ+m2i|x9^gLlqNVxwU= z7u}N9`QI$DM_2db2M-&Qb!a>CLMw7qT#bfvTZgt&_JY@tLlSCW@27QWJLQe`63QyH zwJ;m)oXF&~9lf0wS+};KSNfsLh4o~^PUl#1u}#1@++w(KNXDx<1wG>kdy}PLExO7P zr=XYDLndY-=xHMCBvY^!?F>b9^q>fP{ia|owby4vM?H$-_B)nV`ZDb46TrDE!*vAb zFChej3E&)-;W`E9F(Cw#&UB?t1E~s(TM=<#4pvn4>J?%RSjyWc9YPEHY{d#!jxU&CS=L!r}C(V~1CkoVRI~0>|g%;##B= zh*}zC%F$a-&;y1Niot`?xE>5W;K2|c4~8oAU{W#>t`SRG#p5fj>6R^HDm!OyMGw=~ zCegH=jzMW?v1GtwBx;Egog}r_9>EwVOC2%)`(=xgVhuFj^YT~`yhqCT@8GyDV+2Zg z+=8jY?WRl}>Xqf4La3xhZqQFLjT}-;Esu(LH0V`g8#F7iIbB=n#mObPJZVMJ8z?(h zHkKDcv7jE}_!&QJqr{AA#gohESPXlMS049pdk4Ns7PeF%+3Wiuug1kIROT4phMF;m&Ic(WgH zp{7v@Qm1l2SM*hPRZhZLVsB@?y*M*>#M^4AyPlCWV4ktpy$vVp;2us*?cvnO9!||$ruTxE1ge0t(n}JKQ7-Ofwj%S2`Hl~LM8xd9 z7A5`5%<)z}UGOsN8E45K>7~>@207R>6u6H*Rk)426%syQsKC;F$O_bpm2*`#kwLi+ zpW4ImYgWe8)yG2sq@*PX*W!+!CUWs~agk7%J1yZ&;uj;m)R$hd7#j851Q3SQ1Y?h+%cZHT z_(Hf1EDM3PRlTQJ#chR`YYfl4vdD{KaLXcR}5rqz6_04V}9&(twIi_$VA z0FKykr@w9~+BB+5=9ij6F?rWRt?N~Y7RENv1Z)zb!s zdJ7!cYy$_naD$3j+hC&7bL0%-J=loI4#83u=h#zn*S!gqIoMhYX_>IBHj#Cvz}HU)TCtM9>Pi}`9+7y;B7$05 zqKHfBw6=Iu#p`yscWQZl&)nJ#owcZKeI7*N4xyLjVOcF?$)b0%cxR%&t++MaxK1gF5WKzzSZuGWNZ5>TCs41GTKY1&k-WWr%JlX41_3L;CiPs> z*#xadZpiDSMy^?(t>nZ!V$EBZ{BBjcHjUmad3z%@$kfqJORj8_O?XynCDvxd>J79B zwL02ny5%M%uC-R`+70wl9R42-(nQ>h-x9N4!c8h-^929zEdKvhPMOmt={!TM z3p~VSn})`=Zu0B0N}mQ<@93AE^ zgS*E!fmgue%c~pf70BeqdVpl)=Fv0bqr{X+MFm*raMO5aDT}wvPD7xEP*P~})7Hh7&t4O*dLrr!1xwKz|w&(F=R8oSZrvJ^d%Eua&Zr;V3GL2mX= z?>A|cVr=vX4O?pjs)EK&cIG$IZEyui6ID>8)E-WyTS$D>W6C=5m{O!1V8@z0Cmsfw zzd@EF^88qd>AhHu=Vewow9F=lwo{0Sv}T!(IctcewzH+-dTE9hHUV4t8|aJe=+12& zy(hQdS`)Bcp%GJ^8#km|$T2&8l*tmsR*ovjII6&m zkt(Q(Hqgveu2VL68)#-KM{1jB%}nJcO#^MPnW@}oYN9nWl`*=B*34Ay&@|9oT=EKu zCa%DmnMQ+G(3+XbmPRwvjl*rQCStFxse5vGx{&l`bu6ysh?DVZOpUnqvaIsHaR~pa|PLWVS7egiU@eHwN(C`0v;uUdYOofH&RzvE zDmxC_8FwjURBERd4W|w?RBLKG4`z53NRDKaCvOnL3Q!ZRB3FhMm60c{$e5u;Bjson zc{8-Ah#algUy)Kn?6u|FYs;kk2@XJV71hG)tZt$Vy%fyX0WHwP)cG_?m21rB%wxD|IZ@|uX5|4kj^ytij; zdRRvFbdi2wp$R$O04+8lO{8uEsoO+qGSF)v4K{d^d0(CQV1p-_2R4uzJjrpR22z73 znLO5!h8jG{th|BL;7R7>4WtH7q6ZsD4W4A$?npYQvbmTYsM)zk8nqIU4%BFrPEdSB z#}4bbLaXCyBf56`rc4)Ob|Zz377eIPs2bpyyEGz91vS7khxJq^$A1P#cdfO;b_^logY{9nJDThK{0f7=8pBd#97A(n3tvk^eV2x+7P|wD~Q2Y z1-M`Zslr+)4z%#d^CVj1dFp`{9(ly7iP*v;7o?krEj;qrRs(Ucg-6~oX(G1p$PMl$ zVhfKl4z(b*@W|sh4T?i8Jn~XV6S0Ly8A)0YTX>XlsRglxM;_PGtWAlV>a zP(t$?lC>zGof)p|Cgj@8fcl0-6YR(6%g0|0J8n^A&r4f`mDZ-Ut=cL(oSel+4U10P zghEJOtxERoldsEGzL#Mo&*05!@kpJ|G^(>6xoPsWO*9;tb@&3M?)mfr7Mnm3_T8ii zrVXV4WSd9<0>{S<&&ZIfFlGy0b$ojy65C`Ui%6Ua`)y#kJ!DOkQ^`PD9YMWyKQkh; zL}~5SjYt#7CR{0sfUb7(wNRw8eHlCNwR>u8&)DdpqQ`fiW|!n{apAA_%B+R2W67eX zce#{O?5Fd^w0xJPqhAnx@<1_sTn^{*!3Md()>+2N+AG%N4voCHxWBa#HF+;uRR_4JdSZ38A>|{&&skqM{q-@7}uk4vfz{F@(cCzF;>1z zR_JnA?sI`A(@pnDPO^?pOr6jpfjQ*Jl3aPK;K=7-dv<{k+pHWel^yVfV(;|C%E}EJ ztHZKJ7D+b*fqEGy7afwyMPgxOeeINL&lcGzuA1u|UDr>rur=E`DaUK2xf&ety2o6D zapAg>YIROdx~}W%&$LkDL)&Y3X(<7E#WC4HUGL8CUNZ6Otj|^el>oHl9zw`VuaGX& z>$C~5d?;+AGdo-CU%p{^<-~GfOYmNCZGS(1`T^m|>1(4RrZ(i`O2;~v>nX++dE0yK zcvm*S3mQ}m2U51Ymamxamd{r2JutR+W_)t5eAakBAIhE<|7`zke=R&v z3lD0TPiaq#kIs(m-M^;-(625lWODz^?BuT5J!5+&r}&)l{@L-pd>>nemYox0v+@aQ z&$N<$a^IMI_`b%LV#pXY(&%JGQ_g-nl6Ts66WY-Yyb!uj<0sQJewOZU!@R3sK?!y0NLr zW^VF*_VJnV11)soBht+@!#k&EcaL2&J9982xN~gxxCue&Q@-r8*h(eyYSh?XV>Nya zI5jmnRc1Oix_gXv*sY*yNbyA&#$&;2KRhx&@m{O z@Ry}A;V;7`{AGBkWK`2XxE6j$E&R}0_+e#u&-nB-Qe>5|Z*t<$Ztt6#T{T*I@66=> ztg<7Tn%Oihk&Top%(F9-ld}`UQ@gX)*gGcQagVw}ZR{K#xmx)h-ajMQlf$FZ8|0(n z*D7#izbY2>?;D;P-ZLgqBSJWrcm13?rL2NS$EWvA3?G`^BVSTi0trv3Ts3L3wqHK4 zKDJMz50u`$`=>;xQ^GPh%cUyxgMp~Tu?f)%E}{)+4Sz~1Yiw%Fs@RYNlrSfEK5lGe zW;QFW3W4UjNnA7S%vG}!V|#bI-b%?5IHeH9SwU^hc64&j@c7`Gmfy02a#EqtLiYPkfcmWRrO=}@Dq0F$~5U}Bd6OpRs$)1w){ z6ln%9O_~8rm1cm4XO(D-UD1FvcWilXz)DH;CZmY^I(JL!3NKR4W0)ZJP$T_9&GSDXgrS` z)W#n1UoN^#jl05NCYb{J_g=ks@}NzCBw}_&?Z~seRk;f?E9=9a(jjJfW9@KHL7gR8 z9mv{GA-YydE2k2~zIqj`2KW|G6I0e)RXhQ-VDSOmDxMjz+F;G(v87VQ4rmkKOaN7E zgH>?lQ<)30NY}6PCS)qIT2Tp7Net9ao>tPK9VjSBCkf?uKlaH7ZeHSq(}ks&8-Sq#8ox%Tt=RB99Qu0Z4xX3!v0M36EB2 zlvV**Q%v$jXZ<|lhL}axyK_tO&H|s9-`Lk#>#gcX+O$pfb>jfHMy{>!0XOxYSW1mv z?>9omLD-0=*H7tp=mTbIQ)|w#Cgq&wGL{|v=x^YOa^wO%ndv8_)K*hfWfvS{HFC;jfmqWl#O~)zebh_}3>DgHZsC+I{SCQ4 zf9i6n;bYyN*-isk!fXRT4(%5a$GH-WNh`+=bbDQ~y_P5=6Vn1-UE+nX5;`nj**tc5 z>6GwCF3kuzl(Nt{CU<{ZqPpvO20==Sx3DqalE>AZQ`ifegs=$u75O>7$kfh>ylT>k;W zmy%j}p$+DiPnGFvOYo&ov0m_4zx93i( zFH7$Um7DeM;jTQ{l<~BLS^k)4&SJS($2t$7SBz&BDEEa*Zg!8@)8$2Y)aFV_<_m1c zlZ*Sh%VJ=*&6I+z`(jN$M}Jt(Ruw0@3+qRVqxwOZ;^c}{Y;j86lgH$vu*E5L4|ms( ziKSdDsr%N~ij~#bv6CXq^WF7g=PBs{YkWUm=q?wB#X?&gFQyedy0Rg?pqLglEI*Q1 zCb;6tGGM<2_>s`u((2KA)->c#3ZR`FGykTX}1=hlwMuEG)`0}_+e)j55$ zu;5%*aZJv`6ic1svTxAk#=G1Hvp!KAURh)0_0TG>we*Vl6@eCq^(alD*{#c#z_RRu ztV&I;tQKmgF6O1eHu{SV;aBd}NOKykRURqn6(U&*+%V{I4<5JR#&U6dx!5SW{Y7`6 z=oZ)a7uOFI*B6VjPa?IwSoFLc3;w&Z%2+F<>n;^HnY+ps&Pk6y<-fF|{Asb3&0ZmQ zTjT?wvg6b{I=56v`_8P`fIBSvM#XYxPRcKTOPxijb*;n0E9>hk#|n9uqqu1=@i*-f z=UAa+%9hq6l*IdB&Vf~W6OoCRF)wm^n3Cl#^NT= zq$@W6HQ@w&9vKqfk*Lh6-8&1fPrP2mdSoZy77%WZd5IQemn>v~MuiQ}YHnUiAX_2Q zE|BBbl8fX>F|?5uR{cjCYjI7+Ic;M0o7A)F-v^bpK@gb;o<#JNcX`F{h)A4#Eqz4m zS5|3)Vc*p3*>^HU30UVqzLt*^$FC@k4;Jgv|9gB)x>(jnPo*LjiW8~=deYF#Qs4Sn zQe<7mdoE~-_9&#!$ma@FlN82~sv7fx;K}d`QxnGCJdem1hegMy-nC0doMQc?D7a$% zrsA-a=~Qu8db_D1q(C}tKh6Nopd>9;HrB7jIfQc^&cUL$CK_Yom`Z^v%bxUZX$1Ap ziyqd;JcXJl!UDM~ZaOBUZsH5`Ya&GP&|xLeD;CQa2XnvB(JJ6M1eHzGEIA=pHZpE3 z&&%^jb4PX}>mH1!`e6IoD{v2~du_k^`-_F%y1>O1IDUm3>X%-$Bzmdn>3e;Q1?vwP zQY9)sGQ3KZ$i1kwBgNrjPL-N`y8MI-A`^(t+AJL(PjRBZI5AM1aE)`qG>*ls3LQ}+ z>+{8GAvG&~P2`#FTP8Ngc?y&+*X24bYGf6WO0~RSrGM`5q~5J9<`>-4+c*}!dHJ$e zF?V=$h5b+_DuR^-j%~<0Q^$%$y_#x2NZ^9>e92#o4>yRM(v;e<^tz(SG77p_RIRos zACz6-6W@~TaH zg-;#mcQNYAiA)LYT3b2h5O$BHVRp%QDs~!KQpxEG`Ih^W#L=_#>gK$;orq2s;1^62{H+SsvG(KtM+-t|ZSPR`4yjdTV7(z!&(PA(QB z@@knd++{CYh76fX`FE11CH4BGrs@?Mkm@_$73HmZVN#Z^qH~vzSY>OaPEPyexriPuk>WIT{h0;9D?)=?kK7d?G)8bKLfX3ndkGI_YSf=Q@kGx<~1URZqJpmJJ|nsuN;S+DzScFEMqV@7RH!72#B7Wl|YhHj#38FZ3O5 zZGMRvk$LgTvBawkbz&cm14l=MA5kv?9Fs9$dKrUJ_|alQz+(u3?q8G?J$Jl=9j6!< z`-#kaG^u$z=!4OfV=~RjlQ<+6*3fo8vrwLOmXB6Ts~(Z5LRkS~V{i#s7OPNk;%ImN zsLZhCJkz?4S&|1+58=d4WvLjXkZW7kWmBS`H)I05vg*E`s4ScQ&fmaHO6Fu9BNL(I zmq)u+dqqbrvkYt^YNC!rryQfd*bRSxj47h^9B{nbIl(AjbWU}y#W{p?T`@27oX*;{ z{(H!OuPZiIua&<;@+W>7v__eO%b6T8lQGZ7XH!Rc41(2A(YrcDs#gkDLewjBBudZZ z!+(2|y7pSPpC0OESQnDL6P=Enl44D{xN`hZF{gI0DdxG1mNG{?e7(#O4_|+sEN+*t z#W{p?U9pg?TsH5OC0S|E(uMH&vM+_jvo0g1{II}~AB~oIjK|{xfnPBA6>AM`How$e zJ*W#O8HZRq@gwXUL?_CeN1ilZ$rtbzzFJ0Y8S`Zpr?qJes#kiFJ~>vfbm^Q_*s6Vb zN&PxekVi~J!k82*Y(MLq?xN1u&~T|o6-9B|(L#(0@^?h$iqht?o-S@PF6+0|Vnx=~ zGIAHinY)XLVpe`-GR5!BFWM!@T}`%7>=2|Can~daw^io{sExh!p^QSd$fkhBpKoe4vjlinEW2UuNUNV875E zD2lrqqi|8?I9v1!^Zlodm9$D@@U&PGt5`#)#gbUXdhltnB=*b!;rfbAu?B=|iB+u4 zxd%&P&)zS!(v_Mj&Y6&3%m(5=Z&YeW=K2aLZvOZqq#8lILHyq;$iU-L*nc)ikMag|m@)xs|a&m*vMHr41TWO+`Ufj!zV*6#1Zp+;tBz%eOL#pDi;u2o=$|!E% z3Oy&o*e0FyDIMpXaw+eYi%d6&;YZqqS~Hr+ExcSL z%I39IH8L+?ln-)Y%IBzrDbB^kQ>3FjO@4Psv5>sBCZ|!6JyIY|RVJw@1j4BGJ2g`^ z)|7}3IP1lhyUs{1D^iS-!zBsr77mLW>eX*lH%~#8mX$yi(|m|+^ffCl<)Tj=lTsko zQr&kq{d}MpE2czr$AzE0st#sV8Ezhnn%g`U^|pDeD6Va&+I9?ATEz$c`@KJV!_{B9 z>JL73?6WV~`n8`IXMOahCmgu*(08A|^^CLno^*3j^o>4GoKNB_E)eJW&lTt9XNz-d zBDS3=&V31|yvG1nhpAmJ;2I@;;Q{OU@JL@4+k16zAh)^j@gk7ucVG{4$&?VeQ!@dj-Ll zfOkNt!1#ypy@g~yBiUO)c>*ZU1GbykQ{cUgET40WIMd|&7ohw)uuqWUp5VRpWm1^$ zL1oMB#Q8G$-WlXUVsA}Ri#v*M7ZFErZlmOJ?tycAV0RGNO7w|oD0Ca6V1JoJf5snKz;)ee-7RhjIR@M zD;!~}=zB28zX0X&z@7``KLYkFd^@4{0D^x(Zfp3y1JV0Y_iqJuA;o$P$lrL8IIn}s zZ{hqkS+3yw9w?6{?IbC_4s00Y`w;vrc%R4l9L}e4K814x=U;Ii0)ZdE%NGeg72hIk z+#hEF?%xloU%C0KO^mb5q$r-;vBg}od1N> z3&8sTzGngZW7_Cz@VpNWzJl*4o#c@?=K#AND)$8MpYiCHZ%AbRBA0l=UypfFlf#8MU?S_MoK%lP>=WJl#z}a#?aUOA= zI0qp0C1C%AGfPHyAjPW){xd}1LdW?oMSTdd1>_Hr_SvMp2Hzpd_Rpla5Dp#)S9hR_ z?}qP|7m3q>=sQ69D~SFCQs0KuBcMEhuOH_MoCo2&9|HgNM#+4L;0H;2Td2Gl0?#C) zW5AwG>`8ntgrO@7aR$#3=kLM$G!gfQ)ayxm4#A%g`}-vOUqs9TTO{_^fNi5NZv^%v z@^}>d-4$PPp*UL#akgz2XDgzzMZ$fhWu|+YjYI;I}mt0C?BG(io1%_ z551=m@dQx5OTJH{N?r&z{#MhL2oWBP4W{R*?6i43_+;2lc&A`js zK$d^}zf~Fqh8_oO2U$LlVto|yUxdm_p!ZKWcgFb@INc83HmdW7p!_}L?~m`3I6nsO zGK&8nMBD`BD@pNQ(%u9IKLF(-B6gDb3>Ee=fw!HE=Q3d5f!(e55a%=a3JU$F(7TL$ zKZNrExY~joTmtu>Cic0Iza7pfxqTF83k04?vCbgk`Q-6IQrwr|$T{M?nk;{eGX#|( zBF@6O1Ie~*7w4r!6h(1m-&GL36UZY_IrH}7{FFTIM~c@F@o6HqQmjiMaN!HYIZAo= zk@lhZc0=#2ROkIb{(+XVxKes3DV_zXc~EY}tl*cFcRwiaLHIYIatpENLEut?{~IcU zzgJwwbw(pcZd8d@m+%NQ=t3?DgGAc z>o~Wf=WS&|Isx8Yfc+BZ=^$SXlzbXrAIp)Q z;N263zE83%G#M!-fqk4{2j9=h;|Wmt2C!*-C(jk_PaZo8aUKBd zrQ~)Yc>hfOjl<-{&^sI0>qv0~yi3tEcfcpLDQbz>Ih+TR+W~sn7{PlJJfHTsfZ&rU zWtU{dS>k+=h&MvMAIf(Gr9A`+u-0FQgm^?Lq^wXo8Kb7 zpHPm+LH@^-dmqDJcNj6;QS0KuLbs1xVj!+7w0I>ui)IDWQXw;7m4!$d{>gk zM@UhiB5wzk&k}J2l_a|alo?>Z z0qh|-+o_?CXgRit@8PgJPQ;}kKM;{xh3IRD_@7XjgqIH!`)XiYw}|s_B90Pq2-e;Y zfoCI=S5TODf_yzFkEWWg0d^dezAMBz2M)F{AAbZW?}NZNmGd*mzY{9I4S^q$VvUHq z;rl;m<()4Q-#x)QK-zvdxF75m<0J3-k4 zmD}Qb3go*4{}xhHAU_pet^l^>N^xWcA!}zyy%7Sx2D?`goW}WGkbexREf8O3 zk0f{o^d3tdcY?KPNIeVW-vs4G7{3_bVeno}@C5`vg0l+VAZ@frvO%1!SBi56?5-30 zH{@|P-QWcLvE=LfA+Spc?gQnq1fPhrjkLcFf43$06!Q2rf=>bY?||JG*tZCtai%!e z65AnSADQ2Q*as0DCt^Q5pCFG3B5p%BI1Aqml=pTxTM?u?gLfBr-b!IUhV!d06sNe0 zIP=KM7|Djo_xJJL9_Q^iHPKP324g4a>GIsGQR$zU|D6z6;)NjYVH=xtBQKhUo8-<@0g2g1irg4#M-pf$bqhQQR!f7V(`$ z+GS8~McP}D;=d@?qj4?iL)JgcShj0 z5%EF@+=FCi5bAQ*o{xfOUz?&nZuY*~Ba{b0 zc|0fwiP%QjeoopSLHT^}9!BhM;X4HKMKE~*C?A5}8BnjmOmj_*a}_5_>>@cs(t z402lo`H4^|m@EGsneQVwOR_f*drzDfQliHLJO9PvJP}w?6gT%hmn^R$;#0uBK_17I zQ>aWr?=7U=N|v8HPn`WYJHgv>TXB9L-;FqbO0qwJ%5wRfT|46L}1I8P??QF#6w8Ql}|ZzI__ zRGtE?kJx)a?>})qPujl&Wy>Yv+>zk#6Y;C0{U0EIo1)%^u5mtt!+kV28tUI*<9Wnx zy_-1iz&Auj2Vr9d=RcvcrB9q5v2TOt>wpz!i}M>~^m1TZw~2E*A`X*f7vGuqR^j=} zq&)|E_lAQ<(GeF3&Vn}z8yDjH9h|?0=p?>Bgwsn%dou<6Bq??f@dC8%BEHLr9V3qm zkmBvI@pTA%oD?shQSJ@-1+x6`x#G;j)da9@=ZW)vi0*>GIw%*=v5WhP@A**PMi-ig z${K0!g>#VL^C5o;g?S>uH^R`Zp}YfF!QlTN7%?4h5X0i;I81E0@jDv-kso81ou+F&yn^9h~7-T&n3%W!MTx& zI1AR!AjOw}&4c$0(oPZkO1PSVz!13=G8Ff{j4as&?%M$GE=2q~$WI~oW7z#JME8KV zdagKshHn?KUjX@w5FMr*R}k?!GXDos%z%6+n(Tx!B@ysu$sA;lhi{{X2^L3sk-_sQsP1P?&qgZSP}OaC5e z{~cc5i}Q~lKa}Fn5WEKDU7);%I(RY3I>as#+}0<~GvKedzc?Q`SDd?o{2g+82gq06 zBF^1N@g7Kh3jVei;@qBOFTi;yDV~Dw3Y;&J>@L9m72jK6Xv^Kjc{dE5Pady?{PQ9D zWP*or=5gLZ#2miwL*R+z_H(Gb9m>xj_Fee)!PQ-1=py>U)Oq5}6Z|g7zlZN$r2YO2 z#Th5r)*a$pL6+|VFXfyL{N57O}B;o6v0n}a$8dDfXUAh zd<~p_1=#xuUP;6jhMhOS!7qV551#KuOWzk?57-C6`w(d_!`Vs?*aOPtka`j#Fc03h zl>0Npw?gori2WiAJrh#blj11s-ij15wUy3J@DQ;VGIVUC2v@<&CzKS@`E;lV1EN9j z{g~oE3{r0bWgjVCgYOz5&Ut}2&mnjbb?|Rw^d_q50Vt#ULEw#~{SWee1SlO!^q;`C zZWrg1qo>mmO==v{E0ILG1nW2F5@B3=sYuE72R?jM5hg~V>#Ax@WM zTk!40cUxlrnAjJP(X6{$!{4K+y8FZ09Fp_Tz{W`S6Y$0f{s|~QA>R#>ZKFND z2FfVO3dHO)pxlc>AI0}TA|40w<4AUYU{412X6QW#UcQ2}MC{$+Z-5d#50nKc7pSj4 zhQO_9l!s8tpMrcYdAx!YuYu@aQel5g>?o8cAn-3xekia4ZT2{P_aWjpp|?Wa7u&^o zqShM8?nSHqjC}V)?`K4elI-31K0vbHfxn;P{2s6`f&A~Jog}vh0DBd&j{){AQfw#q zV3<6kPn?_J{*mClh1^D7B+fNBUjzB>Bs)Ns?}1+5mE!CtIE6EfGeQx50CErCTcFp$ zIY98wiTDH3{u#a-iTEU$AH#Vk8GRSn2&7&CYmX(%Re0HQmN+L#_E`9PJFv4U;Q8RK zL14=j;@nJ%x8m%=c_pz|f_xa1r^CjTaPVw=KLqwoviw_|_t7glw}|f+P?m|EpeY_g z?6q+91|rU&8}ywa&V7-q`{A5L{Yj(@xKO?j)?QBLuZ7+FLF&h_aRgFlG6a5|h_?~^ z9R1b3U-=Lh5RK+Zlfg z*zKJw&OuN{UnI`ca6Ss`7B2ip(hPlnwMNUgzraVv4QQQn;-`zjG6)TAVk7d zhtyd(TM>)PsHQs+`%9dU5%C!Cw&B}yrZ^vh-WiM^_b1=4L-{DV{W;F7!RsfFOG)+w zklzRFpJ>7BZxQDpur2hw3*i2rNcJy~`ZB(PxzvkD@nAT(3sfFSIj+U`WC*;EU;(`+ zlj1jMvhR@MjBVn)0ESLL?{COxl!)En^~h}(X@3jY&mpiKl&$v>=U-`=|A5q2fbE6A z3R(UT-}@l?V1hp)xDJ6m_?`#yGR|`$a0bPi2KhM13uO5e@U~to&SQc74QXGAb1od* zjPG-xypd#&fWNaS$Lpc@Kp47^*g4W(Nk)Hx^HP#M1lTT;jgjouz@CEhYrt*|fg4Ht zAz)tscJFh=xtwIrCU_;jhm-a%LHWP!oqudyX?#JrQWW0*R$&_X4mYR#id3hGtQ3F^(1cMVLYu>JY5$8WQzd<1CMQT*iDwR?xmC}+{`6Hr14K$!o`u#l5`<`=dW=e$wQdQZBKj(R$_j#Z9eV_No zIrrXkkNK>pbB$tMJ;EDAt%H}+3)uZSCRZu;RXF|OUSXHy7irLUBYg?!a}>Kp@*2{A zrPyyM+0k9C7r*QBKHaW;G?`1d^SvwSD3w!~(s{jeQ7Y-p>{2Q1PWDMx_d`RfG~J){ zh!y?R4`gCf@0&+;tqXH)3mm$-^ifZ#RPPd+y0{nh9&V{rGucghdwVUzSnH*jyqn5c zt9botp^6)8*0S#IZc`a+-B^{&Wm6ezWmG*qJ*G0&dU`bd)i}MMtXq-v!%;2hh9pidp8W^cX64o%fX z($zIr*Lq!D3+j4Py{4=kniVfwX{voHTXA*G)wQ6m1$Dit@KDwc&D6`LP4!7-Q&-nq zT?^`3P}iG^BW3N-?Dn$VO~pZFyIoy#buFlCQqyZDis-#gYZjH%+MjxFQg61ZG(#Un zO{N|VQz{!j)?!-iMPKu&sqvHZ?gL3`_|j{ManJUQ<6s-z-xtg8l_fEowrUS}3D+VHUMm zh7}Stp$u!qT50=>H$sy?%wH{83$Zss%fTG#SSA{Zy&4gOGGQ@IDC3RLd<vRfQjKbIAkRzd?a8*K?Sc38;G45nt!>_%lWglo9ESoSvikS?KscdEh$uhMN>-uMP)wPDoEKNDb-ld?E zb7cRif6mX;E?1(ynf5#c?FMZRqoLf!J`rdkA;*xDpl}UNLilJS#5MpsjByz6i!L1 zWq!TGS;;&ZO1Am+c!ZIapF9Gd2oX@C5P?EUK9!1XQ)>z- z%PU5JrsNSIRfs?_8A=vfN^Y#ha#c?jSvpbli*Xh^GGj87Z1d|8U_CJ9eO+j+d%9Wn z6OeizG_|PFS~MGV$!#RCyqOYBovF0ikZkdz8KT> ziE0yE848#wm~pHnRY1cz+6c#1s&2-KmYG1uqDIa>Ssqg zRo2zmq?fK`KlP^-_QIE!uv)>emL5#1`PIH%@%KNiY4*NDRqM5K@mil_-HeKwX5}3! zAKP-ut6^;?)&zTfuD9Mwr5=WcY0H|>YqTznCx`G-vCCg`)m&W*>YCJCVtYB8Rm`c1 zy^e7SG6cG4Ac(pwu&GuL*SAV4?$S5)>N5zwZOFiLcwK5ayfDRwidc@0o+H68fpMaR zf(iek6f@<~Rk)0j`&5?s)X{xP@M73nF$6D$6f=WQ+7>gBnM)P`u5YtQ=*6X8-&>G9 z3JSA#S^*70?0v`~)ZTl=8bOWdihWdG=wp_t5ehxaG8rXGs)e435F6XfGDAtVKFg$J zUsB0Cpq{Y6G?;3)9ci5j)PZ2pa)CNrikTKIR30stLZ%9;=~77uB_-9|2cg#sOUp&h z#4KN~gA(7F7@RBDol6MLC56Hi@WM!;Fk+S;o%=AGb3}Kp!tNZwog;Z+N%~I-liaz9 zS$=RXWo)^LF<*&L-io;^vxuS+2dn}b->l>^tCNc9NoGPN(S$A#b2A9F$TYT6Vst^N z-~utaK+a9FT0Bl(OCBg?d!P_JP)ObcNveVNn&eF|G0Rsf60 z+KD;AatIr;&Uv0@zmPt>DP}MIJ4(FbN3Dx8Kk8!0(=~M|^(z&5wpZVU4N0}wHmyrm z-(t%Or0qJoD0HE$o(4@2%3&ANMQzx8q+xiqSxFTn=?J0gVoB{e?kjFv<+%B%Ls?0- zAuoxz!_Qy1E?WNaO( zSTeQ~9n(RtmVN8Dx1n6L?rL;Gza?1Dq{$){CFx?nk-Vg4PKa16$;=ATiIPS;mPDce zGr~iqDPeV@2`!f@_952E%!wsKo$6LB8S6w9OU63U)$|7Bf!KRGZtul-1R$ph=9*e0 zL4#?x<#%k&yo1S$`d+AwlD1B_a4OZrb)<^41 zHtXC=-WT}@eL?cRNQ!;QMa`4plR!AcjMuEi`MYOU0T$EM`uggSY<15@_h711XdXJy$ zgF~AmnU^pMc!`nsT_N`pN5S>6FDe-Ng5-UX6l0N#`HZr?CANavLMu%4HY3Kq6l9xe zu`lRzFRI8RLNooGENg7cqwQ0%FX(eG$o7iYwk&(q>YJCY;KQD-G@li@x>DiQUY;YZ zz5I*09C=BgX-Q~YU^==)WhPm_gG9K3nB`lKOi3?7zBd-FimS&#iuqC!64xqmAQS0( zROcoZDpz}`q8wWxgHVg4Sc}Byf>NOt#8?Y*Zj#kP>vNN=FLcFgK?=1X1{V_b-`a0t zaA9(85^IqAEs z%n?PSBjn5xiGo#Lorf?~M_g=U@_oAk;K}N4ssMTbGYkuNvHAh*(OVn&I zLr%e0>%^Z71NZ^YO6>_rPsdVfeVu+E%EJnG^X*l-CPT5(Ds5kb`$kRDUtQg<;+*sAue391itdI3yIhdC9`%RM_-cjcI65AQX+3x zp0FGx%|W>8(FeuMP|EPnQXwm(LLRqZu*lplxVOAGc$TF^?veiGrLt5gRrE;bV}Io$ z>o0QbujIVHc|zWl$orcoET_<48j!V)MBchWDwN7wM_%4vTAD@B60yG|iXO9+c_cT+ z0y(Ztd5g2xM2`YuoV^8^%R+V4XK6u3ufApa*lE|tsF_hncutI(<-`$CLjN;gl6?eB zU+_i$3ONN|^e*;8P04&A#}blrUwK09QX==2CoD%vb6~HomGIb8CLhhVR45f=?|E@F zNyYA&ML8j zs#BbT(Mn|2;DO$mZ0aDJ-Xrbixfk^+dXX5t(1++HljVi>=laZx>W^L!gBOXJms~Df z1E?+12akno0MjdnaH~%~MJ+)A{uOe3281F7U$HlZYXI{_cQRjDqIeBpzUZk1#?I=o zcXAqgCo$_?E}L~0Bk8jiQI(hF+92;8a@L|k0#9-KREsEi z!M%BmgIBx;aF6uQe1xo`N4i_g%VQ^hS$~mZeYLAAm%Y6v$EXz(ULr=#a^eUmq5qjL$(b*@qYLou)D zkzCIF+}7dm*C7>jx~0W)YpJ~-==YX{d&fh+RbLx~s=NebF)0SJo{; zURv8p5cs&w{KZ>z?8a}^XE%K74jkUuv_83Lw}`4v)P9R-F4M|f@3MVJme#pxDR@DQ zUZPAdqKua)(-&kK%WZ4k>L^I#p9|;)85a~x04eDo{JAQY^p5~t7fb339A0M-Xjjy5Q&wn&Ni?jP={y%*v{RkIE=sf`+97ez zTaWH6)9ldqOz4CTy!Xt}zWq?P+_L9#up6JqWlpL0;aIbKf_$>tTj1O+CVzR zhAR0y(N?41uc;=;g2C`xw5e65D1t!kK_kI#7vvtwQfjw6YlT=ubeEqWWh4JOi|NiX z6L8}aeoWFETztKW_k^vMAZGcxqzn1F!cZa0*T)~Byo!f>-YEPTwPen~R4s$Gm) zd5v0$K}#Eg7E#&*@?g!8I+HWKJ8^yPg=PjXh{4)g9K4vE>2ojE6X|^pg&XY4>IPf5 z{n%ZME{gV%PnL=bjZpUEr-)#}omIh)X)K+Y#_y*1os?>YMqH~!O?H9r0NBlxtT0rH zwBOqwzLu8iz7F5K%X~?u&b@whYrLI)ycC7qktRD|CNP(h>`O_~X}C<(_(V}!#VBf{ zsMClV7qp0sgWTJ2narw_k4&$UnLhWz7zHng!PSm&}r&V0=DlJ|A@KiARS=;?k> zf3u_7(b3%@&GVhz&HfkE|BkBeg6V&6wf}i;a%}X!SKs#h@ka!vsxKzl7aaUsiGB9{ z!ane`;uUv_RNk_UvHnz&pKB6>~@>Jv`>>q>Fz%N znp2;BhcE53dn_%JlQ_n9v~5P|U{$s_aARnne~FAcJp25+U1&Y0?W=H&`qi0`K{Wg$*miqy}zLWWe-)k&u(y5^W4O5pziZKr_~)F-~J;S-2wg9 z_1n;IOTUNodsx4N`W@2muzpAMJF4F?{f_H*Lcf#xozm~LerNPMtKVb#ozw5Uei!t+ zsNW_1F6(zilVx=ktbudjJXi-CU=wVCZEyix1ed^Na0Tput6&#g1J}U~a1-1Dx4|87 z7u*B)!2|FRJOYow6XERybb=IAKn)ClI%t3vI0O!ZK`;b{!3Y=yV_+OifJra~rojxD z1;@Y~m4eo%u;2yXS9)O475qJ!q2wzM95i z*TD^N6Wju~!5wfH+ynQ)1Mm<$0*}EHVJ!ijAO#gr0|THA8lVLZfx}=B41r-V0!G0Y z7zYzz5=?<|u z*a26;F1QA+gB#!`xCL&5JK!$32kwIh;30Sf9)l;s_avYbq@V(7U;xxX1GK;)a2O1N zAutR^z$h34<6r_zf+;W!X22{s2Ijy#SOAM)2`qyZunN||IdC4VgAK3=w!k*H04{<{ z;4-)ZcEDAz3$B6d;0Cw}Zh_n24!8^Mf&1VAcnBVW$KZ+Zy$R?9DX4%N7yxz904;C` z90r462n>S}Fbc-NIG6yFUJ;mQ7{I^!33BDQ(zj*fLU-1%z=5Z02aX#SOzO#6|8}C;5=9d8(jTj7r`ZP8C(H7;40V!*T8jf1Kb3+z-@2`+y(c*eeeK01dqUD@I?6j1ayKF zR6q?3fI4V^7B~bBgF!F^hQSCJ1!G_wOn^x+1*X9am<7kc9GC|SU=b{VWv~KP!5TOR z&VzNZ0XD%F*ajECMQ{mR23NoixC(Z`HE$6LO|S*F!3A&;TmqND6|e)Yf?aS8Tn9J6O>hg`26w<+a1Y!E z55Pn42s{Q)guj!3PLP5MsDS}c2My2yhrnSl2!_Bg7y+YT42**bFbSr>G?)Ri;24+# z^I!oif+esFR=_G)1LwebunsoBCfEYo-~zY^E`iJ73fKWx!7jK4u7exkCb$J|gFE0Z zxCico2jC%i1RjGY!Ve~(6QrO5YG44=K?AhFA#fNBf*~*rM!+Z-1LI%)-~s32uSg z;10M8?t%N@0eA==fydy9u%3WUkb(-RfdNnl4bTFIz+o^5hQKfw0i$3HjDra<38ug_ zm;tlk7?=a|U;!+GC9n)uz$#b+=fHWe4mQ9h*aF+&0=Nh+fy>|u*a26;F1QA+gB#!` zxCL&5JK!$32kwIh;30Sf9)l;s4<(=zq@V(7U;xxX1GK;)a2O1NAutR^z$h34<6r_z zf+;W!X22{s2Ijy#SOAM)2`qyZunN||IdC4VgAK3=w!k*H04{<{;4-)ZcEDAz3$B6d z;0Cw}Zh_n24!8^Mf&1VAcnBVW$KZ+Z!wKjFDX4%N7yxz904;C`90r462n>S}Fbc-N zIG6yFUfYg zjDj&R4ko}Pm;%#a2F!wEU=GZK1+WN~z%p0?t6&YB1Lwgy*Z`Yg3v7c6;3BvLE`uvz z2V4ca;2O9NZh)KM7Pt-WfVIWP|vz#>=z%U}hpf;DgsoCoV*18jmVunjJNi{KKt z46cA3a24!=Yv4M#0d9g@;5N7e?t**ZK6n5gf=A#ncq0600y;qoDxd}iKpiwd3mgK6 z!5|m{!(arAf-x`-Ccq?^0@Gjy%z|TJ4$OlEun3mGGFSntU=5rD=fOJI0GnV7Y=aBn zBDe%DgDYSMTm`$}8n_N_fSceJxDD=ryWk$U4<3Mr;1PHXo(MmdfKHHt3aEhrPzMdr z0*An1FbIagFc<-&U<{0d2`~w!z%-Zvv)~w*1M^@3EP^Gl3|7D@SOe$4d9V&Pz$VxN z+u#DY2rhxk;0o9QSHUj02Cjn};3l{QZi74EF1QEog9qRtcmy7UC&G^>pcAB^0%~9Y z)IkHZz#(uL41ysr3`W2x7z5*A0!)G_Fb!tFEI0<{z&uz0i(m;XgB7p}*1$P%9;|~6 zunD%nHn;#Tf=l2sxB_;-Rj>=Lf$QJ~xCw57+u#nk3+{pY-~o8p)zXLXb*M)}wL1G> zET{eNZ*;XvrT!Q7ClpFOt&aW|rRkKWoVNDKK&kE)AC}kmx4QaY)Y0?x**5v1eA@pa zWzqvJ9-_xhXMJ6LtupqW2yQw%JI#%b(ok_LdR&);})cQTK-7m1FddF&m)448|+Mn5bOw|=@5dBJ6BAH5Oh33&2$Js$Kys! zhY)n!|6)3XpyPft(;-O5fcDxT(+W}*OHn_mZcBOmc$%_Js4!|gSJ~2GjC6;WPdIBS z6R=zH)&vZ#^jkR&py8elYmwj9;X2*l5p}x5!FAjSK@|OV57+6w59zw4;}#Cw=_m~~ zrrx5|X9*UXM`n?0G;d53=ZU7Tji8QJm)|{dz*jtk_TGZqj2ke zt^KSD`(Y_nT7?H7*IEa%Oj~F^n|(#-{*$~7njy9tt#{sE%|>fGCu|x2Add}f==_=qs3_Kw>^phs8@Z9 zGFdsXrg~NrBczQn^$2SS~e}tz7g~Dy(Fa%$aM|?4V_8XyND{Ek%IE ztsi>ok}_HSG|N^Yf^;^Q>OPl9=dDi*t;cm?mZim6MxMo19yNz7wkAriCG7VkRV+Z< zog}T*saDciq9`lBVJWj>9N7c9Y!6^pu^PC!t?o6L81+;a^d{zd-P;*kBvJaj7xm&= zvAkYpX#A-kwCR^6Rkqq{dmeFrt2fLSGs1guwWV#VE$g@MW46{T4!%#N`M#nvhs^@l zC^F$(qN8fCG1Q3q7)pq`xPx;-jJmj6t0-k{{xKVT{vkyz`@U-tqLy9WwMf#^;)?II z6(4uaD7&?+*Jh!KvMaNu>_)R*TT~`W&l=($GFvYQxz5*>biS_SS9dLXFD00r>B8*w z(NueM17(=ke#X&Q;DMIv+(Rhs4CH6jYB-}-Wl_~S)hwdPYR7Z^tkq(gUickveP!#N z*#_TwHmm!_Q?%1_YKemN>pAH)knxVWYRu5xbIJ*E&^cH8hU|UBEH=LLO2^n(tHY&{ z?iJ1IYU)>X)oOFqBx?tDy2`SWepQ9W&tp1fHootc``CBQ7c0YkAw?}K!?g%e%gS&q zlCNQO zr5a(CueF|fnCU>Puef)`a{-ICzxC8pO#6DDZPjEQZ&A(8*Jc^d&wkE!%XXdhow@DT zIyz<=zm8Ujq|wPvi=SP;({_EX*h%$Rim{=`Tx5nGyC}U~qjmME#~NzAFu*_OF*m5# zc`V4m3!w^LT$G;O-xJVw|2%2s_SucVeTuhME%yXlP0ScKWUDht)|_WzaXVYagz`8` zWX}z?vqYB4>rppiJ>H|fR{MiHpJ`P?b-}gO+8NrY#?#@Y&YEb{Fy_ zFBVTt9FM2ZAo}BLOs~DT#*B&BVlB1UViToj48k*%Yz%^&mrww`kE+Ak$Qicq)FnH^ z7SqI4Jv8&!!;mnqT6q=>TM;fwPrNfP7Vj*jT-HXGrnIe%HjS**&b(gD4h?nI3}V)H z?U1%#J21QLjHq)HJr0+d*5gdC{XFWi*Gez>sYzw5Hakz*O40skdAg5VdAh>0)2`WoIAO~;`JQYsS;%AXU%wyRSD_r`o(rEx$x_km{P7?8~T3c*M=@ztvWYz z-t&u5I|I@d*M?4pAsbyuFf06(lZ~~V>G%SQ zpS_S`3%G^~Eih4fvqtUKNbZ%I-D~zrUz%_&CLxqX=VeU_HE|UmUNg8Tz2+s#vRw`6 zIplsdAVGP$LQ$6WMPKhyqU;xcdUwOj()?`>RTGEZhRzlSl~@PJrMoO8$+m!ODaAyr zOdZiCrn56UgT3Vx6IR;uIA3RZB$O8}3T;#Li$dSVGrdmnQI9V0P6!B^RRl}X!WWbmag2ufqYm9YocOW6?P!G{>hEbX$? zU*f9o=yY1HYtZRDBjsx$$jY`xNuTXOHUKua(Ppm^eF(zJ+aFin{=CuyQFlN(3y8jO zZd;hWUh~yL6T)gi45fA96LvelMhsU){whP6J}-TL(!2~i5n2ngn&}ftf^^;^wb#Q; zCxWFUw?qh*h+$PBMQyeM5U9!aeoe%9PB5{k59b8*c**RwHaSAlC(qE;h#XcXcyuB8v+StTMvP@)elPUEzueW)nk*yw>&!nh6yO5kr zUa`L*$KR2AOMgd>bf>27OaCG0^{Ii z@Nw`7FabUZ{u1~mFbTdHdR6dU;<2nDKHIYz$`ch=D<8y0E=J=EQ1xW3f90ma2~9K4X_Ee!1n%R zU+Lhc&cU0*xj2%Gqq#Vii{rUCk&BbLIF*ajxj2)Hv$=RI7w24Ts5$d4>N<0CAr}{O zaVZy2;mO>E<3%hfmR`wOXou8u^1 zzxbIp)xJbu5!K&cEfmrp=g3n7z3(j4`!0p__eBeZy5Ctye**O#HKlEZ(svfppWJ*$ zAw5gJP*dfdg(~k-sHd%v{*3d}f#`XcLgltX<#!e;dm(-Q*}@IG=s>&9gW6uMx4oPP zx4m2laC^D#_HrKR_HrTE?d8(;avt>dav|{T-Ln0FV< zeJ~2;+Iy3js7tBN43+6oqbB}nzJcPSot_Lb)-aXI- z^AKe{j3ES4&mxLqU#TxSkOyC@V4y7>;{2YclpgD+iuOKL)MNfs(Gd5iis~}olR-P*A_!#F)vwER?2AFrp1 zhB4D0gD4D6z1@@EbWF0`X4k(7 z#S;3WNl9h|wwxV6-YnD<8OM6$Z^C zqR%zG>zw3!2&W#c#DASUvt+mi(HMtu(HZhU(H8r(-mc3FJ@<4*2(sRwusSp|^!ABH zxXVURe^OFcaT>=a|MZ+P{vEIhV~x}KgvnD+vl_fB4d#H&L%j{npX&959#+OROW7t% zLp6DaTX71s+NOX~#VOEghAGer>)wN?RJ&D}0%-w+f3QOaXm1<3VaE_HmK*hL<`T30*_m z!fW=1h}H76`^#;04IOQL>EyN{a=ERpp`)!YpxidZFSpe-bhPzll-q_V=C-;> z)Y8G1DboR}tJ}$;B5J;KfkHt z^>6?EeJ>|HQzM`M%1_<=$!F6KJlp^8RzCWp|KqooA8lQGY3FYoIWqnSzxRg|zx#uy z-|GJLU;drjfBnPBf8PDKLqB}>%Ll*a@Xx&c(ck{r1AUVZzHaoTul|8w>nf>DNjd2_ zxcU=~gR5WGtx)wY?R=|0u}}ATb|t00QoX0A<7GV?PtU$8>1e6WW~Ze(Eu}%VRIjCU zKC)EBQhGj>rSxvOymU9aE!Ax)J@d{|dP7`!JC5);D(nzV*KHM<9iraStk%_?YKmi?nbqTh?pu+9C++q2bV;yGJzncTPp5m6 zX(h{%nI)(OC*9Op_JiJmri^<~Bckl0m#747g{S6QLVBIL^`L8O28nX)lk~YZ>uK!0 z>hUn(LH*Ql>HmSAeJ+UZM}i&?X0ef|5Y&5P*VG9*N@`bJ*k^E zUi+K-ZM^nd>Ok{=r4CqZb?z~LimLr(OmpIiT=XuWwN^2tm{+V-A!S}9>yeV$ff)-D zX4dR7SDqO?cvha#UPfNp47;pHc!+gUz80#Hp8w5Cm7s-`1Z$Iqpi2YU6~or0uyq~m z(R?F^V)m!-Orr>!Mi$MAb)sNn>4Jr|-MyPgR#PAP$U|Prz2v35TUmY_Wv?~&=n*rI z9++4nwkvv!fy(mRJbKv3i!-9j@}sr4Ci?R640&iY-JR}ZfKM{PzOI`Qi-s`If`M^&dz z{T+FoevmqzNxFLW=~F3XY1g&~5B48XS!L9oDd`fn|GoXs_a9Lm{YU!Wo3=`N7@?eY zw)Bw|pPMxr<(|&|7doWYw-`G5U!Y1kYjCe`V}DOq{|oZ)-VRRF={}XH@?mzV+T6#b z#xuz?rE;r7e=%Jf>Tmb;?5|eSYO`AHXzpuPby7_FSAVaol^k6C13o&d@_f^(*t4%L zKkDe)<^H$3WYGV1?=wBfRa5oKhst+Qh{vg_6Lmc{QN`2}>%$SXQsF^^!&-Qt>a5eXHLHI#?pzF5~p7|dwSu-(ut$3mzS4LoH~2* z^r_au>Em-JPrXL=snc(^=8vD6TR1V-dgZOw()@|m^zqY2KfQS3)F&2>eqy2Z>ca7} zXLWsImAyYLC1Z9~FjGoCYn564pI}7{c!ROqtaK2ydWTLLB<#~iedO8EZ1g|hp-&`B z)kdS^e zi8oK5`9kZ+k=Fdu(&9IM{nx+w=9@>Cj-UQ~%sTq&>DQCw>q^NB?IkScldX@QJY|FP z@zZBoM?dxQv_2RqCDp>9%q=YFgOO5_zI61(qeDkud?`u#O3D7*B1y(e$%j97dhx9@ zCtsUiYW=I9dueFseMf{3Ft~+APMHGdlYGv9S$?r5S{rb+i_ zPAnZisp>TDDHnsuSJU0;j%UB^%<;ufoj&#Q@~bBnmo%rQ=g*ve^K9vh|LJJw>e^@D zI=gh@^`oCX@#-6APAYdG$x$Yxzx(>EpKl|$GGYcnQ8Ek#-#2M^A z^pbk0e}k=$y|J+L#+efzI(6cWr8CDD23u2ays~ie)o(iS*7WHwoH+HNS3dB84|&QF{;YFnAI|L}#RHP-H6FSQqey$I|@U@roD5!j2sUIg|c@TVAoQc{!m zx-LH3E3wzM$NuNtTn|!DEa`G8TpG-cTd`jt0iXWHE z&#!g<_y6Uea&#mWrFGx09Y1Wj`dmauUN;qg#+4|^>+$4_{G8Oy%O~XXRPy=cw3!{U zQq#&kF6~+6A5WHKcUmd`x!ieJj`h}s^kZ^k3RfSbsbUJRx+0DwjAdDld=YAJv9GZhwdM`BEtxgU_kXGpaSO>m|kJMg0!hQEzqV zXDsPc8Ag7|>`$q03xz0o`;Hc3zo61{ve7#k`niyNSmh^G_BAWXh%V}8czXJp#V@f@ zZr8PvpG#h{8Sy^F*`*IC-hWgyrd0=HcT{$*pcS?kAliF2~$XU*n8 z-bSC*bFz3{9+_Lryg%LfFkx~2bZ9TDg*eCgL5jH^+wgymw~yD9{G3+*-q4&{DvZ|u zz5IyHk@oUW&y;tYC!<#GBZ?I9eO;?~L8IK#4$?l$-mR_uQN0(%ko|0M#u2krIt`ZxUl(xJV6>_uQN0(%kIi@;t4_9CzsfxQUqMPM%idlA@+ Nz+MFQBJgws{x`GmLd*aF literal 0 HcmV?d00001 diff --git a/bin/Tao.OpenGl.dll.config b/bin/Tao.OpenGl.dll.config new file mode 100644 index 00000000..a788d0f0 --- /dev/null +++ b/bin/Tao.OpenGl.dll.config @@ -0,0 +1,4 @@ + + + + diff --git a/bin/Tao.Platform.Windows.dll b/bin/Tao.Platform.Windows.dll new file mode 100644 index 0000000000000000000000000000000000000000..6612ff2f8bfdfaa067dc94715d3c892a9133854e GIT binary patch literal 98304 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 literal 0 HcmV?d00001 diff --git a/prebuild.xml b/prebuild.xml index 59295661..9464e384 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -31,7 +31,7 @@ false - + @@ -128,7 +128,27 @@ + + + + + ../bin/ + + + + + ../bin/ + + + ../bin/ + + + + + + + @@ -199,6 +219,34 @@ + + + + ../../bin/ + + + + + ../../bin/ + + + + ../../bin/ + + + + + + + + + + + frmPrimPreview.resx + + + + @@ -463,6 +511,60 @@ + + + + + + + TRACE;DEBUG + false + false + true + 4 + false + + bin + true + true + false + + + + + TRACE + true + false + true + 4 + false + + bin + false + true + false + + + + + + + ../bin/ + + + + + ../bin/ + + + ../bin/ + + + + + + +