private void Copy(KeyValuePair <uint, string> x)
        {
            if (x.Value == "")
            {
                return;
            }
            var iconFolder = x.Value.Split('.')[0];

            if (iconFolder == "icon_ep")
            {
                return;
            }
            var iconName = x.Value.Split('.')[1] + ".tga";
            var tgaPath  = Path.Combine(UmodelExportPath, iconFolder, "Texture2D", iconName);
            var pngPath  = Path.Combine(Environment.CurrentDirectory, "used_icons", iconFolder, iconName.ToLower().Replace(".tga", ".png"));

            using (var fs = new FileStream(tgaPath, FileMode.Open, FileAccess.Read, FileShare.Read))
                using (var reader = new BinaryReader(fs))
                {
                    var tga = new TgaLib.TgaImage(reader);
                    var png = new PNGCompression.PNGCompressor();
                    var bmp = tga.GetBitmap();
                    if (!Directory.Exists(Path.Combine(Environment.CurrentDirectory, "used_icons", iconFolder)))
                    {
                        Directory.CreateDirectory(Path.Combine(Environment.CurrentDirectory, "used_icons", iconFolder));
                    }
                    using (var fileStream = new FileStream(pngPath, FileMode.Create))
                    {
                        BitmapEncoder encoder = new PngBitmapEncoder();
                        encoder.Frames.Add(BitmapFrame.Create(bmp));
                        encoder.Save(fileStream);
                        Console.WriteLine($"Saved {pngPath}");
                    }
                }
        }
Exemple #2
0
        public static void Copy()
        {
            var paths = Directory.GetDirectories(Utilities.ICONS_PATH).ToList();

            foreach (var item in paths)
            {
                var sp = Directory.GetFiles(Path.Combine(Utilities.ICONS_PATH, item, "Texture2D"));
                foreach (var i in sp)
                {
                    var cat = Path.GetFileName(item);
                    var fn  = i.Replace(item, "").Replace("\\Texture2D\\", "");
                    filenames.Add(new Tuple <string, string>(cat, fn));
                    Console.Write($"\rAdded {cat}.{fn}");
                }
            }

            int c = 0;

            foreach (var pair in Abnormalities)
            {
                string iconName = pair.Value.IconName.Remove(0, pair.Value.IconName.IndexOf('.') + 1) + ".tga";
                var    tuple    = filenames.FirstOrDefault(x => string.Equals(x.Item2, iconName, StringComparison.CurrentCultureIgnoreCase));
                if (tuple != null)
                {
                    string dirName = pair.Value.IconName.Remove(pair.Value.IconName.IndexOf('.'));
                    if (!Directory.Exists(Environment.CurrentDirectory + "/used_icons/" + dirName))
                    {
                        Directory.CreateDirectory(Environment.CurrentDirectory + "/used_icons/" + dirName);
                    }
                    var tgaPath = Path.Combine(Utilities.ICONS_PATH, tuple.Item1, "Texture2D", iconName);
                    var pngPath = Environment.CurrentDirectory + "/used_icons/" + pair.Value.IconName.Replace('.', '/').ToLower() + ".png";
                    using (var fs = new FileStream(tgaPath, FileMode.Open, FileAccess.Read, FileShare.Read))
                        using (var reader = new BinaryReader(fs))
                        {
                            var tga = new TgaLib.TgaImage(reader);
                            var png = new PNGCompression.PNGCompressor();
                            var bmp = tga.GetBitmap();
                            using (var fileStream = new FileStream(pngPath, FileMode.Create))
                            {
                                BitmapEncoder encoder = new PngBitmapEncoder();
                                encoder.Frames.Add(BitmapFrame.Create(bmp));
                                encoder.Save(fileStream);
                                Console.WriteLine($"[{c}]Saved {pngPath}");
                                c++;
                            }
                        }

                    //File.Copy(Path.Combine(Utilities.ICONS_PATH, tuple.Item1, "Texture2D", iconName), Environment.CurrentDirectory + "/used_icons/" + pair.Value.IconName.Replace('.', '/').ToLower() + ".tga", true);
                }
            }
            foreach (var dict in Skills)
            {
                foreach (var pair in dict.Value)
                {
                    c = 0;
                    string iconName = pair.Value.IconName.Remove(0, pair.Value.IconName.IndexOf('.') + 1) + ".tga";
                    var    tuple    = filenames.FirstOrDefault(x => x.Item2 == iconName);
                    if (tuple != null)
                    {
                        string dirName = pair.Value.IconName.Remove(pair.Value.IconName.IndexOf('.'));
                        if (!Directory.Exists(Environment.CurrentDirectory + "/used_icons/" + dirName))
                        {
                            Directory.CreateDirectory(Environment.CurrentDirectory + "/used_icons/" + dirName);
                        }
                        var tgaPath = Path.Combine(Utilities.ICONS_PATH, tuple.Item1, "Texture2D", iconName);
                        var pngPath = Environment.CurrentDirectory + "/used_icons/" + pair.Value.IconName.Replace('.', '/').ToLower() + ".png";
                        using (var fs = new FileStream(tgaPath, FileMode.Open, FileAccess.Read, FileShare.Read))
                            using (var reader = new BinaryReader(fs))
                            {
                                var tga = new TgaLib.TgaImage(reader);
                                var png = new PNGCompression.PNGCompressor();
                                var bmp = tga.GetBitmap();
                                using (var fileStream = new FileStream(pngPath, FileMode.Create))
                                {
                                    BitmapEncoder encoder = new PngBitmapEncoder();
                                    encoder.Frames.Add(BitmapFrame.Create(bmp));
                                    encoder.Save(fileStream);
                                    Console.WriteLine($"[{c}]Saved {pngPath}");
                                    c++;
                                }
                            }

                        //File.Copy(Path.Combine(Utilities.ICONS_PATH, tuple.Item1 ,"Texture2D", iconName), Environment.CurrentDirectory + "/used_icons/" + pair.Value.IconName.Replace('.', '/').ToLower() + ".tga", true);
                    }
                }
            }
        }