private static void ExtractFile(string file)
        {
            Console.WriteLine(file);
            byte[]  data    = File.ReadAllBytes(file);
            Texture texture = Texture.ParseTexture(data);

            for (int i = 0; i < texture.Frames.Length; i++)
            {
                string destframe = string.Format("{0}{1}.dds", file, texture.Frames.Length > 1 ? "." + i : "");

                DDS frame = DDS.Parse(texture.Frames[i]);
                if (frame.Variant == DDSVariant.Reversed)
                {
                    frame.Reverse();
                }

                frame.FixHeader();

                string destdir = Path.GetDirectoryName(destframe);
                if (destdir == null)
                {
                    Console.WriteLine("  Error extracting frame {0}: Destination directory no found.", i);
                    continue;
                }
                if (!Directory.Exists(destdir))
                {
                    Directory.CreateDirectory(destdir);
                }

                File.WriteAllBytes(destframe, frame.GetBytes());
            }
        }