public static void PackUOP(FileType aFileType)
        {
            LegacyMULConverter lConverter      = new LegacyMULConverter();
            string             PathDestination = "Patched";

            switch (aFileType)
            {
            case FileType.ArtLegacyMUL:
                lConverter.ToUOP(Path.Combine(PathDestination, "art.mul"), Path.Combine(PathDestination, "artidx.mul"), Path.Combine(PathDestination, "artLegacyMUL.uop"), aFileType, 0);
                break;

            case FileType.GumpartLegacyMUL:
                lConverter.ToUOP(Path.Combine(PathDestination, "gumpart.mul"), Path.Combine(PathDestination, "gumpidx.mul"), Path.Combine(PathDestination, "gumpartLegacyMUL.uop"), aFileType, 0);
                break;
            }
        }
        private void Pack(string inFile, string inIdx, string outFile, FileType type, int typeIndex)
        {
            try
            {
                statustext.Text = inFile;
                Refresh();
                inFile = FixPath(inFile);

                if (!File.Exists(inFile))
                {
                    return;
                }

                outFile = FixPath(outFile);

                if (File.Exists(outFile))
                {
                    return;
                }

                inIdx = FixPath(inIdx);
                ++m_Total;

                conv.ToUOP(inFile, inIdx, outFile, type, typeIndex);
                ++m_Success;
            }
            catch (Exception e)
            {
                MessageBox.Show("An error occured while performing the action");
            }
        }
        private static void Pack(string inFile, string inIdx, string outFile, FileType type, int typeIndex)
        {
            try
            {
                inFile = FixPath(inFile);

                if (!File.Exists(inFile))
                {
                    return;
                }

                Console.Write("Packing '{0}'... ", inFile);
                outFile = FixPath(outFile);

                if (File.Exists(outFile))
                {
                    Console.WriteLine("file already exists.");
                    return;
                }

                inIdx = FixPath(inIdx);
                ++m_Total;

                m_Converter.ToUOP(inFile, inIdx, outFile, type, typeIndex);

                Console.WriteLine("done.");

                if (type == FileType.MultiMUL && !File.Exists("housing.bin"))
                {
                    Console.WriteLine(" Warning: \"housing.bin\" not found, it won't be packed inside MultiCollection.uop (which probably won't work).");
                    Console.WriteLine("  First, unpack a vanilla MultiCollection.uop to extract \"housing.bin\" in the working directory.");
                }

                ++m_Success;
            }
            catch (Exception e)
            {
                Console.WriteLine("failed!");
                Console.WriteLine();
                Console.WriteLine(e);

                Console.WriteLine();
                Console.WriteLine("Press return to continue extraction.");
                Console.ReadLine();
            }
        }
        private static void Pack(string inFile, string inIdx, string outFile, FileType type, int typeIndex)
        {
            try
            {
                inFile = FixPath(inFile);

                if (!File.Exists(inFile))
                {
                    return;
                }

                Console.Write("Packing '{0}'... ", inFile);
                outFile = FixPath(outFile);

                if (File.Exists(outFile))
                {
                    Console.WriteLine("file already exists.");
                    return;
                }

                inIdx = FixPath(inIdx);
                ++m_Total;

                m_Converter.ToUOP(inFile, inIdx, outFile, type, typeIndex);

                Console.WriteLine("done.");
                ++m_Success;
            }
            catch (Exception e)
            {
                Console.WriteLine("failed!");
                Console.WriteLine();
                Console.WriteLine(e);

                Console.WriteLine();
                Console.WriteLine("Press return to continue extraction.");
                Console.ReadLine();
            }
        }