mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-01-18 14:31:50 +00:00
This commit is contained in:
parent
325a5ca23b
commit
065f1e6790
22 changed files with 112 additions and 750 deletions
|
@ -60,10 +60,12 @@
|
|||
<Compile Include="Geometry\Line2D.cs" />
|
||||
<Compile Include="Geometry\Vector2D.cs" />
|
||||
<Compile Include="Geometry\Vector3D.cs" />
|
||||
<Compile Include="Images\ImagePatch.cs" />
|
||||
<Compile Include="Images\ImagePatchFormat.cs" />
|
||||
<Compile Include="Images\ResourceLocationList.cs" />
|
||||
<Compile Include="Images\ResourceManager.cs" />
|
||||
<Compile Include="Data\ImagePatch.cs" />
|
||||
<Compile Include="Data\ImagePatchFormat.cs" />
|
||||
<Compile Include="Data\IDataContainer.cs" />
|
||||
<Compile Include="Data\DataLocationList.cs" />
|
||||
<Compile Include="Data\DataManager.cs" />
|
||||
<Compile Include="Data\WADContainer.cs" />
|
||||
<Compile Include="Interface\AboutForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -122,7 +124,7 @@
|
|||
<Compile Include="Map\Linedef.cs" />
|
||||
<Compile Include="Map\MapOptions.cs" />
|
||||
<Compile Include="Map\MapSet.cs" />
|
||||
<Compile Include="Images\ResourceLocation.cs" />
|
||||
<Compile Include="Data\DataLocation.cs" />
|
||||
<Compile Include="Map\Sector.cs" />
|
||||
<Compile Include="Map\Sidedef.cs" />
|
||||
<Compile Include="Map\Thing.cs" />
|
||||
|
@ -134,15 +136,15 @@
|
|||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Rendering\D3DGraphics.cs" />
|
||||
<Compile Include="Images\FileImage.cs" />
|
||||
<Compile Include="Images\ImageResource.cs" />
|
||||
<Compile Include="Data\FileImage.cs" />
|
||||
<Compile Include="Data\ImageData.cs" />
|
||||
<Compile Include="Rendering\IResource.cs" />
|
||||
<Compile Include="Rendering\PixelColor.cs" />
|
||||
<Compile Include="Rendering\PTVertex.cs" />
|
||||
<Compile Include="Rendering\Renderer.cs" />
|
||||
<Compile Include="Rendering\Renderer2D.cs" />
|
||||
<Compile Include="Rendering\Renderer3D.cs" />
|
||||
<Compile Include="Images\TextureImage.cs" />
|
||||
<Compile Include="Data\TextureImage.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="SlimDX, Version=1.0.2813.30005, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9, processorArchitecture=x86" />
|
||||
|
|
|
@ -22,7 +22,7 @@ using System.Collections.Generic;
|
|||
using System.Globalization;
|
||||
using System.Text;
|
||||
using CodeImp.DoomBuilder.IO;
|
||||
using CodeImp.DoomBuilder.Images;
|
||||
using CodeImp.DoomBuilder.Data;
|
||||
using System.IO;
|
||||
|
||||
#endregion
|
||||
|
@ -38,7 +38,7 @@ namespace CodeImp.DoomBuilder
|
|||
private string settingskey;
|
||||
private string nodebuilder;
|
||||
private bool buildonsave;
|
||||
private ResourceLocationList resources;
|
||||
private DataLocationList resources;
|
||||
private string testprogram;
|
||||
private string testparameters;
|
||||
|
||||
|
@ -50,7 +50,7 @@ namespace CodeImp.DoomBuilder
|
|||
public string Filename { get { return filename; } }
|
||||
public string Nodebuilder { get { return nodebuilder; } set { nodebuilder = value; } }
|
||||
public bool BuildOnSave { get { return buildonsave; } set { buildonsave = value; } }
|
||||
public ResourceLocationList Resources { get { return resources; } }
|
||||
public DataLocationList Resources { get { return resources; } }
|
||||
public string TestProgram { get { return testprogram; } set { testprogram = value; } }
|
||||
public string TestParameters { get { return testparameters; } set { testparameters = value; } }
|
||||
|
||||
|
@ -69,7 +69,7 @@ namespace CodeImp.DoomBuilder
|
|||
// Load settings from program configuration
|
||||
this.nodebuilder = General.Settings.ReadSetting("configurations." + settingskey + ".nodebuilder", "");
|
||||
this.buildonsave = General.Settings.ReadSetting("configurations." + settingskey + ".buildonsave", true);
|
||||
this.resources = new ResourceLocationList(General.Settings, "configurations." + settingskey + ".resources");
|
||||
this.resources = new DataLocationList(General.Settings, "configurations." + settingskey + ".resources");
|
||||
this.testprogram = General.Settings.ReadSetting("configurations." + settingskey + ".testprogram", "");
|
||||
this.testparameters = General.Settings.ReadSetting("configurations." + settingskey + ".testparameters", "");
|
||||
}
|
||||
|
@ -116,7 +116,7 @@ namespace CodeImp.DoomBuilder
|
|||
ci.settingskey = this.settingskey;
|
||||
ci.nodebuilder = this.nodebuilder;
|
||||
ci.buildonsave = this.buildonsave;
|
||||
ci.resources = new ResourceLocationList();
|
||||
ci.resources = new DataLocationList();
|
||||
ci.resources.AddRange(this.resources);
|
||||
ci.testprogram = this.testprogram;
|
||||
ci.testparameters = this.testparameters;
|
||||
|
@ -131,7 +131,7 @@ namespace CodeImp.DoomBuilder
|
|||
this.settingskey = ci.settingskey;
|
||||
this.nodebuilder = ci.nodebuilder;
|
||||
this.buildonsave = ci.buildonsave;
|
||||
this.resources = new ResourceLocationList();
|
||||
this.resources = new DataLocationList();
|
||||
this.resources.AddRange(ci.resources);
|
||||
this.testprogram = ci.testprogram;
|
||||
this.testparameters = ci.testparameters;
|
||||
|
|
|
@ -22,7 +22,7 @@ using System.Collections.Generic;
|
|||
using System.Globalization;
|
||||
using System.Text;
|
||||
using CodeImp.DoomBuilder.IO;
|
||||
using CodeImp.DoomBuilder.Images;
|
||||
using CodeImp.DoomBuilder.Data;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
|
||||
#region ================== Copyright (c) 2007 Pascal vd Heiden
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
|
||||
* This program is released under GNU General Public License
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Namespaces
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CodeImp.DoomBuilder.Images
|
||||
{
|
||||
internal class FileImage : ImageResource
|
||||
{
|
||||
#region ================== Variables
|
||||
|
||||
private string filepathname;
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Constructor / Disposer
|
||||
|
||||
// Constructor
|
||||
public FileImage(string filepathname)
|
||||
{
|
||||
// Initialize
|
||||
this.filepathname = filepathname;
|
||||
this.name = Path.GetFileNameWithoutExtension(filepathname);
|
||||
|
||||
// We have no destructor
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Methods
|
||||
|
||||
// This loads the image
|
||||
public override void LoadImage()
|
||||
{
|
||||
//Bitmap fileimg;
|
||||
|
||||
// Leave when already loaded
|
||||
if(this.IsLoaded) return;
|
||||
|
||||
// Load file and convert to the right pixel format
|
||||
//fileimg = (Bitmap)Bitmap.FromFile(filepathname);
|
||||
//bitmap = fileimg.Clone(new Rectangle(new Point(0, 0), fileimg.Size), PixelFormat.Format32bppArgb);
|
||||
//fileimg.Dispose();
|
||||
bitmap = (Bitmap)Bitmap.FromFile(filepathname);
|
||||
|
||||
// Pass on to base
|
||||
base.LoadImage();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
|
||||
#region ================== Copyright (c) 2007 Pascal vd Heiden
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
|
||||
* This program is released under GNU General Public License
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Namespaces
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using CodeImp.DoomBuilder.IO;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CodeImp.DoomBuilder.Images
|
||||
{
|
||||
internal class ImagePatch : IDisposable
|
||||
{
|
||||
#region ================== Variables
|
||||
|
||||
private int index;
|
||||
private Point position;
|
||||
private Size size;
|
||||
private WAD file; // ?
|
||||
private ImagePatchFormat format;
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Properties
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Constructor / Disposer
|
||||
|
||||
// Constructor
|
||||
public ImagePatch()
|
||||
{
|
||||
// Initialize
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Methods
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1,41 +0,0 @@
|
|||
|
||||
#region ================== Copyright (c) 2007 Pascal vd Heiden
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
|
||||
* This program is released under GNU General Public License
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Namespaces
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CodeImp.DoomBuilder.Images
|
||||
{
|
||||
internal enum ImagePatchFormat : int
|
||||
{
|
||||
Unknown = 0, // Not determined yet
|
||||
Invalid = 1, // Considered invalid
|
||||
DoomImage = 2, // Doom Image format (column list rendered data)
|
||||
DoomFlat = 3, // Doom Flat format (raw 8-bit pixel data)
|
||||
PNG = 4, // Portable Network Graphic
|
||||
Bitmap_P8 = 5, // Bitmap 8-bit Paletted
|
||||
Bitmap_B5G6R5 = 6, // Bitmap 16-bit
|
||||
Bitmap_B8G8R8 = 7, // Bitmap 24-bit
|
||||
Bitmap_A8B8G8R8 = 8, // Bitmap 32-bit
|
||||
}
|
||||
}
|
|
@ -1,146 +0,0 @@
|
|||
|
||||
#region ================== Copyright (c) 2007 Pascal vd Heiden
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
|
||||
* This program is released under GNU General Public License
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Namespaces
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Drawing;
|
||||
using SlimDX.Direct3D9;
|
||||
using System.Drawing.Imaging;
|
||||
using CodeImp.DoomBuilder.Rendering;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CodeImp.DoomBuilder.Images
|
||||
{
|
||||
internal unsafe abstract class ImageResource : IDisposable
|
||||
{
|
||||
#region ================== Constants
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Variables
|
||||
|
||||
// Properties
|
||||
protected string name;
|
||||
|
||||
// GDI bitmap
|
||||
protected Bitmap bitmap;
|
||||
|
||||
// 2D rendering data
|
||||
private PixelColor* pixeldata;
|
||||
private uint pixeldatasize;
|
||||
|
||||
// Direct3D texture
|
||||
protected Texture texture;
|
||||
|
||||
// Disposing
|
||||
protected bool isdisposed = false;
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Properties
|
||||
|
||||
public string Name { get { return name; } }
|
||||
public PixelColor* PixelData { get { return pixeldata; } }
|
||||
public Bitmap Bitmap { get { return bitmap; } }
|
||||
public Texture Texture { get { return texture; } }
|
||||
public bool IsLoaded { get { return (bitmap == null); } }
|
||||
public bool IsDisposed { get { return isdisposed; } }
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Constructor / Disposer
|
||||
|
||||
// Constructor
|
||||
public ImageResource()
|
||||
{
|
||||
// Initialize
|
||||
|
||||
// We have no destructor
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
// Diposer
|
||||
public virtual void Dispose()
|
||||
{
|
||||
// Not already disposed?
|
||||
if(!isdisposed)
|
||||
{
|
||||
// Clean up
|
||||
if(bitmap != null) bitmap.Dispose();
|
||||
if(texture != null) texture.Dispose();
|
||||
if(pixeldata != null) General.VirtualFree((void*)pixeldata, new UIntPtr(pixeldatasize), General.MEM_RELEASE);
|
||||
pixeldata = null;
|
||||
GC.RemoveMemoryPressure(pixeldatasize);
|
||||
|
||||
// Done
|
||||
isdisposed = true;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Management
|
||||
|
||||
// This loads the image resource
|
||||
public virtual void LoadImage()
|
||||
{
|
||||
BitmapData bmpdata;
|
||||
|
||||
// Check if loading worked
|
||||
if(bitmap != null)
|
||||
{
|
||||
/*
|
||||
// Check if loaded in correct pixel format
|
||||
if(bitmap.PixelFormat != PixelFormat.Format32bppArgb)
|
||||
{
|
||||
// Cannot work with pixel formats any other than A8R8G8B8
|
||||
throw new Exception("Image in unsupported pixel format");
|
||||
}
|
||||
*/
|
||||
|
||||
// Make a data copy of the bits for the 2D renderer
|
||||
bmpdata = bitmap.LockBits(new Rectangle(0, 0, bitmap.Size.Width, bitmap.Size.Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
|
||||
pixeldatasize = (uint)(bmpdata.Width * bmpdata.Height);
|
||||
pixeldata = (PixelColor*)General.VirtualAlloc(IntPtr.Zero, new UIntPtr(pixeldatasize), General.MEM_COMMIT, General.PAGE_READWRITE);
|
||||
General.CopyMemory((void*)pixeldata, bmpdata.Scan0.ToPointer(), new UIntPtr(pixeldatasize));
|
||||
bitmap.UnlockBits(bmpdata);
|
||||
GC.AddMemoryPressure(pixeldatasize);
|
||||
}
|
||||
}
|
||||
|
||||
// This creates the Direct3D texture
|
||||
public void CreateTexture()
|
||||
{
|
||||
// TODO: Write to memory stream and read with Texture.FromStream
|
||||
}
|
||||
|
||||
// This destroys the Direct3D texture
|
||||
public void ReleaseTexture()
|
||||
{
|
||||
// Trash it
|
||||
if(texture != null) texture.Dispose();
|
||||
texture = null;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1,58 +0,0 @@
|
|||
|
||||
#region ================== Copyright (c) 2007 Pascal vd Heiden
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
|
||||
* This program is released under GNU General Public License
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Namespaces
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CodeImp.DoomBuilder.Images
|
||||
{
|
||||
internal struct ResourceLocation
|
||||
{
|
||||
// Constants
|
||||
public const int RESOURCE_WAD = 0;
|
||||
public const int RESOURCE_DIRECTORY = 1;
|
||||
|
||||
// Members
|
||||
public int type;
|
||||
public string location;
|
||||
public bool textures;
|
||||
public bool flats;
|
||||
|
||||
// Constructor
|
||||
public ResourceLocation(int type, string location, bool textures, bool flats)
|
||||
{
|
||||
// Initialize
|
||||
this.type = type;
|
||||
this.location = location;
|
||||
this.textures = textures;
|
||||
this.flats = flats;
|
||||
}
|
||||
|
||||
// This displays the struct as string
|
||||
public override string ToString()
|
||||
{
|
||||
// Simply show location
|
||||
return location;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,88 +0,0 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using CodeImp.DoomBuilder.IO;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
namespace CodeImp.DoomBuilder.Images
|
||||
{
|
||||
internal class ResourceLocationList : List<ResourceLocation>
|
||||
{
|
||||
#region ================== Constructors
|
||||
|
||||
// This creates a new list
|
||||
public ResourceLocationList()
|
||||
{
|
||||
}
|
||||
|
||||
// This creates a list from a configuration structure
|
||||
public ResourceLocationList(Configuration cfg, string path)
|
||||
{
|
||||
IDictionary resinfo, rlinfo;
|
||||
ResourceLocation res;
|
||||
|
||||
// Go for all items in the map info
|
||||
resinfo = cfg.ReadSetting(path, new ListDictionary());
|
||||
foreach(DictionaryEntry rl in resinfo)
|
||||
{
|
||||
// Item is a structure?
|
||||
if(rl.Value is IDictionary)
|
||||
{
|
||||
// Create resource location
|
||||
rlinfo = (IDictionary)rl.Value;
|
||||
res = new ResourceLocation();
|
||||
|
||||
// Copy information from Configuration to ResourceLocation
|
||||
if(rlinfo.Contains("type") && (rlinfo["type"] is int)) res.type = (int)rlinfo["type"];
|
||||
if(rlinfo.Contains("location") && (rlinfo["location"] is string)) res.location = (string)rlinfo["location"];
|
||||
if(rlinfo.Contains("textures") && (rlinfo["textures"] is bool)) res.textures = (bool)rlinfo["textures"];
|
||||
if(rlinfo.Contains("flats") && (rlinfo["flats"] is bool)) res.flats = (bool)rlinfo["flats"];
|
||||
|
||||
// Add resource
|
||||
Add(res);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Methods
|
||||
|
||||
// This merges two lists together
|
||||
public static ResourceLocationList Combined(ResourceLocationList a, ResourceLocationList b)
|
||||
{
|
||||
ResourceLocationList result = new ResourceLocationList();
|
||||
result.AddRange(a);
|
||||
result.AddRange(b);
|
||||
return result;
|
||||
}
|
||||
|
||||
// This writes the list to configuration
|
||||
public void WriteToConfig(Configuration cfg, string path)
|
||||
{
|
||||
IDictionary resinfo, rlinfo;
|
||||
|
||||
// Fill structure
|
||||
resinfo = new ListDictionary();
|
||||
for(int i = 0; i < this.Count; i++)
|
||||
{
|
||||
// Create structure for resource
|
||||
rlinfo = new ListDictionary();
|
||||
rlinfo.Add("type", this[i].type);
|
||||
rlinfo.Add("location", this[i].location);
|
||||
rlinfo.Add("textures", this[i].textures);
|
||||
rlinfo.Add("flats", this[i].flats);
|
||||
|
||||
// Add structure
|
||||
resinfo.Add("resource" + i.ToString(CultureInfo.InvariantCulture), rlinfo);
|
||||
}
|
||||
|
||||
// Write to config
|
||||
cfg.WriteSetting(path, resinfo);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1,82 +0,0 @@
|
|||
|
||||
#region ================== Copyright (c) 2007 Pascal vd Heiden
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
|
||||
* This program is released under GNU General Public License
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Namespaces
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CodeImp.DoomBuilder.Images
|
||||
{
|
||||
internal class ResourceManager : IDisposable
|
||||
{
|
||||
#region ================== Constants
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Variables
|
||||
|
||||
// Disposing
|
||||
private bool isdisposed = false;
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Properties
|
||||
|
||||
// Disposing
|
||||
public bool IsDisposed { get { return isdisposed; } }
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Constructor / Disposer
|
||||
|
||||
// Constructor
|
||||
public ResourceManager()
|
||||
{
|
||||
// Initialize
|
||||
|
||||
// We have no destructor
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
// Diposer
|
||||
public void Dispose()
|
||||
{
|
||||
// Not already disposed?
|
||||
if(!isdisposed)
|
||||
{
|
||||
// Clean up
|
||||
|
||||
// Done
|
||||
isdisposed = true;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Methods
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1,85 +0,0 @@
|
|||
|
||||
#region ================== Copyright (c) 2007 Pascal vd Heiden
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com
|
||||
* This program is released under GNU General Public License
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Namespaces
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
|
||||
#endregion
|
||||
|
||||
namespace CodeImp.DoomBuilder.Images
|
||||
{
|
||||
internal class TextureImage : ImageResource
|
||||
{
|
||||
#region ================== Constants
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Variables
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Properties
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Constructor / Disposer
|
||||
|
||||
// Constructor
|
||||
public TextureImage()
|
||||
{
|
||||
// Initialize
|
||||
|
||||
// We have no destructor
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
// Diposer
|
||||
public override void Dispose()
|
||||
{
|
||||
// Not already disposed?
|
||||
if(!isdisposed)
|
||||
{
|
||||
// Clean up
|
||||
|
||||
// Done
|
||||
base.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Methods
|
||||
|
||||
// This loads the image
|
||||
public override void LoadImage()
|
||||
{
|
||||
// Leave when already loaded
|
||||
if(this.IsLoaded) return;
|
||||
|
||||
|
||||
|
||||
// Pass on to base
|
||||
base.LoadImage();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
59
Source/Interface/ConfigForm.Designer.cs
generated
59
Source/Interface/ConfigForm.Designer.cs
generated
|
@ -56,7 +56,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.actiondescription = new System.Windows.Forms.Label();
|
||||
this.tabconfigs = new System.Windows.Forms.TabPage();
|
||||
this.panelresources = new System.Windows.Forms.GroupBox();
|
||||
this.configresources = new CodeImp.DoomBuilder.Interface.ResourceListEditor();
|
||||
this.configdata = new CodeImp.DoomBuilder.Interface.ResourceListEditor();
|
||||
this.listconfigs = new System.Windows.Forms.ListBox();
|
||||
this.cancel = new System.Windows.Forms.Button();
|
||||
this.apply = new System.Windows.Forms.Button();
|
||||
|
@ -89,7 +89,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
//
|
||||
label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
label3.AutoSize = true;
|
||||
label3.Location = new System.Drawing.Point(11, 112);
|
||||
label3.Location = new System.Drawing.Point(11, 115);
|
||||
label3.Name = "label3";
|
||||
label3.Size = new System.Drawing.Size(312, 14);
|
||||
label3.TabIndex = 17;
|
||||
|
@ -148,10 +148,10 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.panelnodebuilder.Controls.Add(label2);
|
||||
this.panelnodebuilder.Controls.Add(this.confignodebuilder);
|
||||
this.panelnodebuilder.Enabled = false;
|
||||
this.panelnodebuilder.Location = new System.Drawing.Point(237, 151);
|
||||
this.panelnodebuilder.Location = new System.Drawing.Point(237, 154);
|
||||
this.panelnodebuilder.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.panelnodebuilder.Name = "panelnodebuilder";
|
||||
this.panelnodebuilder.Size = new System.Drawing.Size(341, 97);
|
||||
this.panelnodebuilder.Size = new System.Drawing.Size(345, 97);
|
||||
this.panelnodebuilder.TabIndex = 2;
|
||||
this.panelnodebuilder.TabStop = false;
|
||||
this.panelnodebuilder.Text = " Nodebuilder";
|
||||
|
@ -188,10 +188,10 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.paneltesting.Controls.Add(this.testapplication);
|
||||
this.paneltesting.Controls.Add(label1);
|
||||
this.paneltesting.Enabled = false;
|
||||
this.paneltesting.Location = new System.Drawing.Point(237, 254);
|
||||
this.paneltesting.Location = new System.Drawing.Point(237, 257);
|
||||
this.paneltesting.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.paneltesting.Name = "paneltesting";
|
||||
this.paneltesting.Size = new System.Drawing.Size(341, 107);
|
||||
this.paneltesting.Size = new System.Drawing.Size(345, 107);
|
||||
this.paneltesting.TabIndex = 13;
|
||||
this.paneltesting.TabStop = false;
|
||||
this.paneltesting.Text = " Testing ";
|
||||
|
@ -233,10 +233,10 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.tabs.Controls.Add(this.tabconfigs);
|
||||
this.tabs.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tabs.ItemSize = new System.Drawing.Size(110, 19);
|
||||
this.tabs.Location = new System.Drawing.Point(12, 12);
|
||||
this.tabs.Location = new System.Drawing.Point(10, 12);
|
||||
this.tabs.Name = "tabs";
|
||||
this.tabs.SelectedIndex = 0;
|
||||
this.tabs.Size = new System.Drawing.Size(595, 399);
|
||||
this.tabs.Size = new System.Drawing.Size(599, 402);
|
||||
this.tabs.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
|
||||
this.tabs.TabIndex = 0;
|
||||
//
|
||||
|
@ -246,7 +246,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.tabinterface.Location = new System.Drawing.Point(4, 23);
|
||||
this.tabinterface.Name = "tabinterface";
|
||||
this.tabinterface.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabinterface.Size = new System.Drawing.Size(587, 372);
|
||||
this.tabinterface.Size = new System.Drawing.Size(591, 375);
|
||||
this.tabinterface.TabIndex = 0;
|
||||
this.tabinterface.Text = "Interface";
|
||||
this.tabinterface.UseVisualStyleBackColor = true;
|
||||
|
@ -259,7 +259,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.tabkeys.Location = new System.Drawing.Point(4, 23);
|
||||
this.tabkeys.Name = "tabkeys";
|
||||
this.tabkeys.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabkeys.Size = new System.Drawing.Size(587, 372);
|
||||
this.tabkeys.Size = new System.Drawing.Size(591, 375);
|
||||
this.tabkeys.TabIndex = 1;
|
||||
this.tabkeys.Text = "Controls";
|
||||
this.tabkeys.UseVisualStyleBackColor = true;
|
||||
|
@ -279,7 +279,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.listactions.MultiSelect = false;
|
||||
this.listactions.Name = "listactions";
|
||||
this.listactions.ShowGroups = false;
|
||||
this.listactions.Size = new System.Drawing.Size(275, 350);
|
||||
this.listactions.Size = new System.Drawing.Size(275, 353);
|
||||
this.listactions.Sorting = System.Windows.Forms.SortOrder.Ascending;
|
||||
this.listactions.TabIndex = 0;
|
||||
this.listactions.TabStop = false;
|
||||
|
@ -301,6 +301,9 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
//
|
||||
// actioncontrolpanel
|
||||
//
|
||||
this.actioncontrolpanel.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.actioncontrolpanel.Controls.Add(this.actioncontrol);
|
||||
this.actioncontrolpanel.Controls.Add(label7);
|
||||
this.actioncontrolpanel.Controls.Add(this.actiontitle);
|
||||
|
@ -313,7 +316,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.actioncontrolpanel.Location = new System.Drawing.Point(300, 11);
|
||||
this.actioncontrolpanel.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.actioncontrolpanel.Name = "actioncontrolpanel";
|
||||
this.actioncontrolpanel.Size = new System.Drawing.Size(278, 350);
|
||||
this.actioncontrolpanel.Size = new System.Drawing.Size(282, 353);
|
||||
this.actioncontrolpanel.TabIndex = 9;
|
||||
this.actioncontrolpanel.TabStop = false;
|
||||
this.actioncontrolpanel.Text = " Action control ";
|
||||
|
@ -381,7 +384,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.tabconfigs.Margin = new System.Windows.Forms.Padding(8);
|
||||
this.tabconfigs.Name = "tabconfigs";
|
||||
this.tabconfigs.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabconfigs.Size = new System.Drawing.Size(587, 372);
|
||||
this.tabconfigs.Size = new System.Drawing.Size(591, 375);
|
||||
this.tabconfigs.TabIndex = 2;
|
||||
this.tabconfigs.Text = "Configurations";
|
||||
this.tabconfigs.UseVisualStyleBackColor = true;
|
||||
|
@ -391,28 +394,28 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.panelresources.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.panelresources.Controls.Add(this.configresources);
|
||||
this.panelresources.Controls.Add(this.configdata);
|
||||
this.panelresources.Controls.Add(label3);
|
||||
this.panelresources.Enabled = false;
|
||||
this.panelresources.Location = new System.Drawing.Point(237, 11);
|
||||
this.panelresources.Margin = new System.Windows.Forms.Padding(6);
|
||||
this.panelresources.Name = "panelresources";
|
||||
this.panelresources.Size = new System.Drawing.Size(341, 134);
|
||||
this.panelresources.Size = new System.Drawing.Size(345, 137);
|
||||
this.panelresources.TabIndex = 12;
|
||||
this.panelresources.TabStop = false;
|
||||
this.panelresources.Text = " Resources ";
|
||||
//
|
||||
// configresources
|
||||
// configdata
|
||||
//
|
||||
this.configresources.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
this.configdata.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.configresources.DialogOffset = new System.Drawing.Point(-120, 10);
|
||||
this.configresources.Location = new System.Drawing.Point(11, 25);
|
||||
this.configresources.Name = "configresources";
|
||||
this.configresources.Size = new System.Drawing.Size(318, 84);
|
||||
this.configresources.TabIndex = 18;
|
||||
this.configresources.OnContentChanged += new CodeImp.DoomBuilder.Interface.ResourceListEditor.ContentChanged(this.resourcelocations_OnContentChanged);
|
||||
this.configdata.DialogOffset = new System.Drawing.Point(-120, 10);
|
||||
this.configdata.Location = new System.Drawing.Point(11, 25);
|
||||
this.configdata.Name = "configdata";
|
||||
this.configdata.Size = new System.Drawing.Size(322, 87);
|
||||
this.configdata.TabIndex = 18;
|
||||
this.configdata.OnContentChanged += new CodeImp.DoomBuilder.Interface.ResourceListEditor.ContentChanged(this.resourcelocations_OnContentChanged);
|
||||
//
|
||||
// listconfigs
|
||||
//
|
||||
|
@ -425,7 +428,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.listconfigs.Margin = new System.Windows.Forms.Padding(8);
|
||||
this.listconfigs.Name = "listconfigs";
|
||||
this.listconfigs.ScrollAlwaysVisible = true;
|
||||
this.listconfigs.Size = new System.Drawing.Size(212, 350);
|
||||
this.listconfigs.Size = new System.Drawing.Size(212, 353);
|
||||
this.listconfigs.Sorted = true;
|
||||
this.listconfigs.TabIndex = 0;
|
||||
this.listconfigs.SelectedIndexChanged += new System.EventHandler(this.listconfigs_SelectedIndexChanged);
|
||||
|
@ -434,7 +437,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
//
|
||||
this.cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.cancel.Location = new System.Drawing.Point(495, 425);
|
||||
this.cancel.Location = new System.Drawing.Point(497, 426);
|
||||
this.cancel.Name = "cancel";
|
||||
this.cancel.Size = new System.Drawing.Size(112, 25);
|
||||
this.cancel.TabIndex = 17;
|
||||
|
@ -445,7 +448,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
// apply
|
||||
//
|
||||
this.apply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.apply.Location = new System.Drawing.Point(377, 425);
|
||||
this.apply.Location = new System.Drawing.Point(379, 426);
|
||||
this.apply.Name = "apply";
|
||||
this.apply.Size = new System.Drawing.Size(112, 25);
|
||||
this.apply.TabIndex = 16;
|
||||
|
@ -455,10 +458,8 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
//
|
||||
// ConfigForm
|
||||
//
|
||||
this.AcceptButton = this.apply;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 14F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.cancel;
|
||||
this.ClientSize = new System.Drawing.Size(619, 461);
|
||||
this.Controls.Add(this.cancel);
|
||||
this.Controls.Add(this.apply);
|
||||
|
@ -498,7 +499,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
private System.Windows.Forms.ComboBox confignodebuilder;
|
||||
private System.Windows.Forms.CheckBox configbuildonsave;
|
||||
private System.Windows.Forms.GroupBox panelresources;
|
||||
private ResourceListEditor configresources;
|
||||
private ResourceListEditor configdata;
|
||||
private System.Windows.Forms.Button browsewad;
|
||||
private System.Windows.Forms.TextBox testapplication;
|
||||
private System.Windows.Forms.TextBox testparameters;
|
||||
|
|
|
@ -286,7 +286,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
ci = listconfigs.SelectedItem as ConfigurationInfo;
|
||||
|
||||
// Fill resources list
|
||||
configresources.EditResourceLocationList(ci.Resources);
|
||||
configdata.EditResourceLocationList(ci.Resources);
|
||||
|
||||
// Go for all nodebuilder items
|
||||
confignodebuilder.SelectedIndex = -1;
|
||||
|
@ -328,7 +328,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
// Apply to selected configuration
|
||||
ci = listconfigs.SelectedItem as ConfigurationInfo;
|
||||
ci.Resources.Clear();
|
||||
ci.Resources.AddRange(configresources.GetResources());
|
||||
ci.Resources.AddRange(configdata.GetResources());
|
||||
}
|
||||
|
||||
// Nodebuilder selection changed
|
||||
|
|
|
@ -216,7 +216,7 @@
|
|||
<metadata name="panelresources.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="configresources.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="configdata.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="listconfigs.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
|
|
18
Source/Interface/MapOptionsForm.Designer.cs
generated
18
Source/Interface/MapOptionsForm.Designer.cs
generated
|
@ -38,7 +38,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.apply = new System.Windows.Forms.Button();
|
||||
this.cancel = new System.Windows.Forms.Button();
|
||||
this.panelres = new System.Windows.Forms.GroupBox();
|
||||
this.resourcelocations = new CodeImp.DoomBuilder.Interface.ResourceListEditor();
|
||||
this.datalocations = new CodeImp.DoomBuilder.Interface.ResourceListEditor();
|
||||
label3 = new System.Windows.Forms.Label();
|
||||
label2 = new System.Windows.Forms.Label();
|
||||
label1 = new System.Windows.Forms.Label();
|
||||
|
@ -145,7 +145,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
//
|
||||
this.panelres.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panelres.Controls.Add(this.resourcelocations);
|
||||
this.panelres.Controls.Add(this.datalocations);
|
||||
this.panelres.Controls.Add(label4);
|
||||
this.panelres.Location = new System.Drawing.Point(12, 141);
|
||||
this.panelres.Name = "panelres";
|
||||
|
@ -154,13 +154,13 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.panelres.TabStop = false;
|
||||
this.panelres.Text = " Custom Resources ";
|
||||
//
|
||||
// resourcelocations
|
||||
// datalocations
|
||||
//
|
||||
this.resourcelocations.DialogOffset = new System.Drawing.Point(40, 20);
|
||||
this.resourcelocations.Location = new System.Drawing.Point(15, 28);
|
||||
this.resourcelocations.Name = "resourcelocations";
|
||||
this.resourcelocations.Size = new System.Drawing.Size(336, 130);
|
||||
this.resourcelocations.TabIndex = 18;
|
||||
this.datalocations.DialogOffset = new System.Drawing.Point(40, 20);
|
||||
this.datalocations.Location = new System.Drawing.Point(15, 28);
|
||||
this.datalocations.Name = "datalocations";
|
||||
this.datalocations.Size = new System.Drawing.Size(336, 130);
|
||||
this.datalocations.TabIndex = 18;
|
||||
//
|
||||
// MapOptionsForm
|
||||
//
|
||||
|
@ -197,7 +197,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
private System.Windows.Forms.Button apply;
|
||||
private System.Windows.Forms.Button cancel;
|
||||
private System.Windows.Forms.GroupBox panelres;
|
||||
private ResourceListEditor resourcelocations;
|
||||
private ResourceListEditor datalocations;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ using System.Drawing;
|
|||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using CodeImp.DoomBuilder.Map;
|
||||
using CodeImp.DoomBuilder.Images;
|
||||
using CodeImp.DoomBuilder.Data;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -66,7 +66,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
levelname.Text = options.CurrentName;
|
||||
|
||||
// Fill the resources list
|
||||
resourcelocations.EditResourceLocationList(options.Resources);
|
||||
datalocations.EditResourceLocationList(options.Resources);
|
||||
}
|
||||
|
||||
// OK clicked
|
||||
|
@ -94,7 +94,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
options.ClearResources();
|
||||
options.ConfigFile = General.Configs[config.SelectedIndex].Filename;
|
||||
options.CurrentName = levelname.Text.Trim().ToUpper();
|
||||
options.CopyResources(resourcelocations.GetResources());
|
||||
options.CopyResources(datalocations.GetResources());
|
||||
|
||||
// Hide window
|
||||
this.DialogResult = DialogResult.OK;
|
||||
|
@ -121,7 +121,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
ci = (ConfigurationInfo)config.SelectedItem;
|
||||
|
||||
// Show resources
|
||||
resourcelocations.FixedResourceLocationList(ci.Resources);
|
||||
datalocations.FixedResourceLocationList(ci.Resources);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -162,7 +162,7 @@
|
|||
<metadata name="panelres.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="resourcelocations.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<metadata name="datalocations.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
|
|
18
Source/Interface/OpenMapOptionsForm.Designer.cs
generated
18
Source/Interface/OpenMapOptionsForm.Designer.cs
generated
|
@ -33,7 +33,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
System.Windows.Forms.Label label2;
|
||||
System.Windows.Forms.Label label3;
|
||||
this.panelres = new System.Windows.Forms.GroupBox();
|
||||
this.resourcelocations = new CodeImp.DoomBuilder.Interface.ResourceListEditor();
|
||||
this.datalocations = new CodeImp.DoomBuilder.Interface.ResourceListEditor();
|
||||
this.apply = new System.Windows.Forms.Button();
|
||||
this.cancel = new System.Windows.Forms.Button();
|
||||
this.config = new System.Windows.Forms.ComboBox();
|
||||
|
@ -80,7 +80,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
//
|
||||
this.panelres.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panelres.Controls.Add(this.resourcelocations);
|
||||
this.panelres.Controls.Add(this.datalocations);
|
||||
this.panelres.Controls.Add(label3);
|
||||
this.panelres.Location = new System.Drawing.Point(12, 214);
|
||||
this.panelres.Name = "panelres";
|
||||
|
@ -89,13 +89,13 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
this.panelres.TabStop = false;
|
||||
this.panelres.Text = " Custom Resources ";
|
||||
//
|
||||
// resourcelocations
|
||||
// datalocations
|
||||
//
|
||||
this.resourcelocations.DialogOffset = new System.Drawing.Point(40, 20);
|
||||
this.resourcelocations.Location = new System.Drawing.Point(14, 26);
|
||||
this.resourcelocations.Name = "resourcelocations";
|
||||
this.resourcelocations.Size = new System.Drawing.Size(336, 127);
|
||||
this.resourcelocations.TabIndex = 18;
|
||||
this.datalocations.DialogOffset = new System.Drawing.Point(40, 20);
|
||||
this.datalocations.Location = new System.Drawing.Point(14, 26);
|
||||
this.datalocations.Name = "datalocations";
|
||||
this.datalocations.Size = new System.Drawing.Size(336, 127);
|
||||
this.datalocations.TabIndex = 18;
|
||||
//
|
||||
// apply
|
||||
//
|
||||
|
@ -190,7 +190,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
private System.Windows.Forms.ComboBox config;
|
||||
private System.Windows.Forms.GroupBox panelres;
|
||||
private System.Windows.Forms.ListView mapslist;
|
||||
private ResourceListEditor resourcelocations;
|
||||
private ResourceListEditor datalocations;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ using CodeImp.DoomBuilder.Map;
|
|||
using System.IO;
|
||||
using System.Collections;
|
||||
using System.Diagnostics;
|
||||
using CodeImp.DoomBuilder.Images;
|
||||
using CodeImp.DoomBuilder.Data;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -258,7 +258,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
}
|
||||
|
||||
// Show configuration resources
|
||||
resourcelocations.FixedResourceLocationList(ci.Resources);
|
||||
datalocations.FixedResourceLocationList(ci.Resources);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -287,7 +287,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
options.ClearResources();
|
||||
options.ConfigFile = General.Configs[config.SelectedIndex].Filename;
|
||||
options.CurrentName = mapslist.SelectedItems[0].Text;
|
||||
options.CopyResources(resourcelocations.GetResources());
|
||||
options.CopyResources(datalocations.GetResources());
|
||||
|
||||
// Hide window
|
||||
wadfile.Dispose();
|
||||
|
|
|
@ -5,7 +5,7 @@ using System.Drawing;
|
|||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using CodeImp.DoomBuilder.Images;
|
||||
using CodeImp.DoomBuilder.Data;
|
||||
|
||||
namespace CodeImp.DoomBuilder.Interface
|
||||
{
|
||||
|
@ -49,7 +49,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
#region ================== Methods
|
||||
|
||||
// This will show a fixed list
|
||||
public void FixedResourceLocationList(ResourceLocationList list)
|
||||
public void FixedResourceLocationList(DataLocationList list)
|
||||
{
|
||||
// Start editing list
|
||||
resourceitems.BeginUpdate();
|
||||
|
@ -70,9 +70,9 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
resourceitems.Items[0].Tag = list[i];
|
||||
|
||||
// Set icon
|
||||
if(list[i].type == ResourceLocation.RESOURCE_DIRECTORY)
|
||||
if(list[i].type == DataLocation.RESOURCE_DIRECTORY)
|
||||
resourceitems.Items[0].ImageIndex = 2;
|
||||
else if(list[i].type == ResourceLocation.RESOURCE_WAD)
|
||||
else if(list[i].type == DataLocation.RESOURCE_WAD)
|
||||
resourceitems.Items[0].ImageIndex = 3;
|
||||
|
||||
// Set disabled
|
||||
|
@ -84,7 +84,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
}
|
||||
|
||||
// This will edit the given list
|
||||
public void EditResourceLocationList(ResourceLocationList list)
|
||||
public void EditResourceLocationList(DataLocationList list)
|
||||
{
|
||||
// Start editing list
|
||||
resourceitems.BeginUpdate();
|
||||
|
@ -117,7 +117,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
}
|
||||
|
||||
// This adds a normal item
|
||||
public void AddResourceLocation(ResourceLocation rl)
|
||||
public void AddResourceLocation(DataLocation rl)
|
||||
{
|
||||
// Add it
|
||||
AddItem(rl);
|
||||
|
@ -127,7 +127,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
}
|
||||
|
||||
// This adds a normal item
|
||||
private void AddItem(ResourceLocation rl)
|
||||
private void AddItem(DataLocation rl)
|
||||
{
|
||||
int index;
|
||||
|
||||
|
@ -140,9 +140,9 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
resourceitems.Items[index].Tag = rl;
|
||||
|
||||
// Set icon
|
||||
if(rl.type == ResourceLocation.RESOURCE_DIRECTORY)
|
||||
if(rl.type == DataLocation.RESOURCE_DIRECTORY)
|
||||
resourceitems.Items[index].ImageIndex = 0;
|
||||
else if(rl.type == ResourceLocation.RESOURCE_WAD)
|
||||
else if(rl.type == DataLocation.RESOURCE_WAD)
|
||||
resourceitems.Items[index].ImageIndex = 1;
|
||||
|
||||
// Set normal color
|
||||
|
@ -173,7 +173,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
Rectangle startposition;
|
||||
|
||||
// Open resource options dialog
|
||||
resoptions = new ResourceOptionsForm(new ResourceLocation(), "Add Resource");
|
||||
resoptions = new ResourceOptionsForm(new DataLocation(), "Add Resource");
|
||||
resoptions.StartPosition = FormStartPosition.Manual;
|
||||
startposition = new Rectangle(dialogoffset.X, dialogoffset.Y, 1, 1);
|
||||
startposition = this.RectangleToScreen(startposition);
|
||||
|
@ -194,7 +194,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
ResourceOptionsForm resoptions;
|
||||
Rectangle startposition;
|
||||
ListViewItem selecteditem;
|
||||
ResourceLocation rl;
|
||||
DataLocation rl;
|
||||
|
||||
// Anything selected?
|
||||
if(resourceitems.SelectedItems.Count > 0)
|
||||
|
@ -203,7 +203,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
selecteditem = resourceitems.SelectedItems[0];
|
||||
|
||||
// Open resource options dialog
|
||||
resoptions = new ResourceOptionsForm((ResourceLocation)selecteditem.Tag, "Resource Options");
|
||||
resoptions = new ResourceOptionsForm((DataLocation)selecteditem.Tag, "Resource Options");
|
||||
resoptions.StartPosition = FormStartPosition.Manual;
|
||||
startposition = new Rectangle(dialogoffset.X, dialogoffset.Y, 1, 1);
|
||||
startposition = this.RectangleToScreen(startposition);
|
||||
|
@ -219,9 +219,9 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
selecteditem.Tag = rl;
|
||||
|
||||
// Set icon
|
||||
if(rl.type == ResourceLocation.RESOURCE_DIRECTORY)
|
||||
if(rl.type == DataLocation.RESOURCE_DIRECTORY)
|
||||
selecteditem.ImageIndex = 0;
|
||||
else if(rl.type == ResourceLocation.RESOURCE_WAD)
|
||||
else if(rl.type == DataLocation.RESOURCE_WAD)
|
||||
selecteditem.ImageIndex = 1;
|
||||
|
||||
// Done
|
||||
|
@ -286,9 +286,9 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
}
|
||||
|
||||
// Returns a list of the resources
|
||||
public ResourceLocationList GetResources()
|
||||
public DataLocationList GetResources()
|
||||
{
|
||||
ResourceLocationList list = new ResourceLocationList();
|
||||
DataLocationList list = new DataLocationList();
|
||||
|
||||
// Go for all items
|
||||
for(int i = 0; i < resourceitems.Items.Count; i++)
|
||||
|
@ -297,7 +297,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
if(resourceitems.Items[i].ForeColor == SystemColors.WindowText)
|
||||
{
|
||||
// Add item to list
|
||||
list.Add((ResourceLocation)resourceitems.Items[i].Tag);
|
||||
list.Add((DataLocation)resourceitems.Items[i].Tag);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ using System.Text;
|
|||
using System.Windows.Forms;
|
||||
using CodeImp.DoomBuilder.Map;
|
||||
using System.IO;
|
||||
using CodeImp.DoomBuilder.Images;
|
||||
using CodeImp.DoomBuilder.Data;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -33,13 +33,13 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
internal partial class ResourceOptionsForm : DelayedForm
|
||||
{
|
||||
// Variables
|
||||
private ResourceLocation res;
|
||||
private DataLocation res;
|
||||
|
||||
// Properties
|
||||
public ResourceLocation ResourceLocation { get { return res; } }
|
||||
public DataLocation ResourceLocation { get { return res; } }
|
||||
|
||||
// Constructor
|
||||
public ResourceOptionsForm(ResourceLocation settings, string caption)
|
||||
public ResourceOptionsForm(DataLocation settings, string caption)
|
||||
{
|
||||
// Initialize
|
||||
InitializeComponent();
|
||||
|
@ -52,13 +52,13 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
switch(res.type)
|
||||
{
|
||||
// Setup for WAD File
|
||||
case ResourceLocation.RESOURCE_WAD:
|
||||
case DataLocation.RESOURCE_WAD:
|
||||
wadfiletab.Select();
|
||||
wadlocation.Text = res.location;
|
||||
break;
|
||||
|
||||
// Setup for Directory
|
||||
case ResourceLocation.RESOURCE_DIRECTORY:
|
||||
case DataLocation.RESOURCE_DIRECTORY:
|
||||
directorytab.Select();
|
||||
dirlocation.Text = res.location;
|
||||
dir_textures.Checked = res.textures;
|
||||
|
@ -77,7 +77,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
switch(tabs.SelectedIndex)
|
||||
{
|
||||
// Setup WAD File
|
||||
case ResourceLocation.RESOURCE_WAD:
|
||||
case DataLocation.RESOURCE_WAD:
|
||||
|
||||
// Check if directory is specified
|
||||
if((wadlocation.Text.Length == 0) ||
|
||||
|
@ -89,7 +89,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
else
|
||||
{
|
||||
// Apply settings
|
||||
res.type = ResourceLocation.RESOURCE_WAD;
|
||||
res.type = DataLocation.RESOURCE_WAD;
|
||||
res.location = wadlocation.Text;
|
||||
res.textures = false;
|
||||
res.flats = false;
|
||||
|
@ -101,7 +101,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
break;
|
||||
|
||||
// Setup Directory
|
||||
case ResourceLocation.RESOURCE_DIRECTORY:
|
||||
case DataLocation.RESOURCE_DIRECTORY:
|
||||
|
||||
// Check if directory is specified
|
||||
if((dirlocation.Text.Length == 0) ||
|
||||
|
@ -119,7 +119,7 @@ namespace CodeImp.DoomBuilder.Interface
|
|||
else
|
||||
{
|
||||
// Apply settings
|
||||
res.type = ResourceLocation.RESOURCE_DIRECTORY;
|
||||
res.type = DataLocation.RESOURCE_DIRECTORY;
|
||||
res.location = dirlocation.Text;
|
||||
res.textures = dir_textures.Checked;
|
||||
res.flats = dir_flats.Checked;
|
||||
|
|
|
@ -23,7 +23,7 @@ using System.Globalization;
|
|||
using System.Text;
|
||||
using CodeImp.DoomBuilder.IO;
|
||||
using System.IO;
|
||||
using CodeImp.DoomBuilder.Images;
|
||||
using CodeImp.DoomBuilder.Data;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -45,14 +45,14 @@ namespace CodeImp.DoomBuilder.Map
|
|||
private string previousname;
|
||||
|
||||
// Additional resources
|
||||
private ResourceLocationList resources;
|
||||
private DataLocationList resources;
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Properties
|
||||
|
||||
public string ConfigFile { get { return configfile; } set { configfile = value; } }
|
||||
public ResourceLocationList Resources { get { return resources; } }
|
||||
public DataLocationList Resources { get { return resources; } }
|
||||
public string PreviousName { get { return previousname; } }
|
||||
public string CurrentName
|
||||
{
|
||||
|
@ -80,20 +80,20 @@ namespace CodeImp.DoomBuilder.Map
|
|||
this.previousname = "";
|
||||
this.currentname = "";
|
||||
this.configfile = "";
|
||||
this.resources = new ResourceLocationList();
|
||||
this.resources = new DataLocationList();
|
||||
}
|
||||
|
||||
// Constructor to load from Doom Builder Map Settings Configuration
|
||||
public MapOptions(Configuration cfg, string mapname)
|
||||
{
|
||||
IDictionary mapinfo, resinfo;
|
||||
ResourceLocation res;
|
||||
DataLocation res;
|
||||
|
||||
// Initialize
|
||||
this.previousname = "";
|
||||
this.currentname = mapname;
|
||||
this.configfile = cfg.ReadSetting("config", "");
|
||||
this.resources = new ResourceLocationList();
|
||||
this.resources = new DataLocationList();
|
||||
|
||||
// Go for all items in the map info
|
||||
mapinfo = cfg.ReadSetting(mapname, new Hashtable());
|
||||
|
@ -104,7 +104,7 @@ namespace CodeImp.DoomBuilder.Map
|
|||
{
|
||||
// Create resource
|
||||
resinfo = (IDictionary)mp.Value;
|
||||
res = new ResourceLocation();
|
||||
res = new DataLocation();
|
||||
|
||||
// Copy information from Configuration to ResourceLocation
|
||||
if(resinfo.Contains("type") && (resinfo["type"] is int)) res.type = (int)resinfo["type"];
|
||||
|
@ -129,7 +129,7 @@ namespace CodeImp.DoomBuilder.Map
|
|||
#region ================== Methods
|
||||
|
||||
// This adds a resource location and returns the index where the item was added
|
||||
public int AddResource(ResourceLocation res)
|
||||
public int AddResource(DataLocation res)
|
||||
{
|
||||
// Get a fully qualified path
|
||||
res.location = Path.GetFullPath(res.location);
|
||||
|
@ -166,7 +166,7 @@ namespace CodeImp.DoomBuilder.Map
|
|||
}
|
||||
|
||||
// This copies resources from a list
|
||||
public void CopyResources(ResourceLocationList fromlist)
|
||||
public void CopyResources(DataLocationList fromlist)
|
||||
{
|
||||
// Clear this list
|
||||
resources.Clear();
|
||||
|
|
Loading…
Reference in a new issue