private string ExternalImageSelector(Textures.ITexture2D tex2D)
{
string path = "";
using (OpenFileDialog ofd = new OpenFileDialog())
{
ofd.Title = "Select the image to add";
ofd.Filter = "Image file|*.dds|All files|*.*";
// ofd.Filter = "Image file|*" + tex2D.getFileFormat() + "|All files|*.*";
if (ofd.ShowDialog() != DialogResult.OK)
return "";
else
path = ofd.FileName;
}
StringBuilder sb = new StringBuilder();
// KFreon: Check replacing texture
using (ImageEngineImage img = new ImageEngineImage(path))
{
if (img.Format.InternalFormat != tex2D.texFormat)
sb.Append("Invalid format. Selected image is: " + img.Format.InternalFormat + " Required: " + tex2D.texFormat.ToString().ToUpperInvariant());
if (img.NumMipMaps < tex2D.Mips)
sb.AppendLine("Mipmap error. Requires: " + tex2D.Mips + ". Currently: " + img.NumMipMaps);
}
if (sb.Length != 0)
{
MessageBox.Show(sb.ToString(), "Mission Failure", MessageBoxButtons.OK, MessageBoxIcon.Error);
return "";
}
return path;
}