public void singleImageUpscale(ImageFile im, string archiveDir)
{
ImageSize biggerImageSizeOnList = privateimgList.Max(image => image.imgSize);
// check if replacing image is supported
ImageFile imgFile = im;
ImageEngineFormat imgFileFormat = Textures.Methods.ParseFormat(imgFile.format);
if (texFormat != imgFileFormat)
throw new FormatException("Different image format, original is " + texFormat + ", new is " + imgFile.subtype());
// !!! warning, this method breaks consistency between imgList and imageData[] !!!
ImageInfo newImgInfo = new ImageInfo();
newImgInfo.storageType = privateimgList.Find(img => img.storageType != storage.empty && img.storageType != storage.pccSto).storageType;
newImgInfo.imgSize = imgFile.imgSize;
newImgInfo.uncSize = imgFile.resize().Length;
newImgInfo.cprSize = 0x00; // not yet filled
newImgInfo.offset = 0x00; // not yet filled
privateimgList.RemoveAt(0); // Remove old single image and add new one
privateimgList.Add(newImgInfo);
//now I let believe the program that I'm doing an image replace, saving lot of code ;)
replaceImage2(newImgInfo.imgSize.ToString(), im, archiveDir);
// update Sizes
properties["SizeX"].Value.IntValue = (int)newImgInfo.imgSize.width;
properties["SizeY"].Value.IntValue = (int)newImgInfo.imgSize.height;
}