static void RunDirectory(List <string> inputDirectories, string outputName) { // Load xml file (if exists) string xmlFilename = GetXmlFilename(outputName); InputFileStore fileStore = InputFileStore.LoadXmlFile(xmlFilename); // see if any images have been added / removed / modified if (Settings.Instance.ForceBuild || fileStore.RequiresBuild(inputDirectories)) { System.Console.WriteLine("Modifications detected, processing..."); if (fileStore.XmlSettings != null) { Settings.Instance.MergeSettings(fileStore.XmlSettings); } // if they have, rebuild entire texture listing List <InputBitmap> inputBitmaps = new List <InputBitmap>(); foreach (string dir in inputDirectories) { ParseDir(dir, inputBitmaps); } List <OutputBitmap> outputBitmaps = PackingProcess.BreakIntoOutputBitmaps(inputBitmaps, outputName); int index = 0; foreach (OutputBitmap obi in outputBitmaps) { obi.SaveFile(); index++; } foreach (InputBitmap ib in inputBitmaps) { ib.mBitmap.Dispose(); ib.mBitmap = null; } OutputBitmap.OutputXmlFile(outputBitmaps, xmlFilename); System.Console.WriteLine("Texture building completed successfully"); } else { System.Console.WriteLine("No modifications detected, exiting..."); } }