public override void Run(CompileContext context) { verbose = GetParameterString().Contains("-verbose"); dryrun = GetParameterString().Contains("-dryrun"); renamenav = GetParameterString().Contains("-renamenav"); try { CompilePalLogger.LogLine("\nCompilePal - Automated Packaging"); bspZip = context.Configuration.BSPZip; gameFolder = context.Configuration.GameFolder; bspPath = context.CopyLocation; Keys.vmtTextureKeyWords = File.ReadAllLines(System.IO.Path.Combine(keysFolder, "texturekeys.txt")).ToList(); Keys.vmtMaterialKeyWords = File.ReadAllLines(System.IO.Path.Combine(keysFolder, "materialkeys.txt")).ToList(); Keys.vmfSoundKeys = File.ReadAllLines(System.IO.Path.Combine(keysFolder, "vmfsoundkeys.txt")).ToList(); Keys.vmfMaterialKeys = File.ReadAllLines(System.IO.Path.Combine(keysFolder, "vmfmaterialkeys.txt")).ToList(); Keys.vmfModelKeys = File.ReadAllLines(System.IO.Path.Combine(keysFolder, "vmfmodelkeys.txt")).ToList(); CompilePalLogger.LogLine("Finding sources of game content..."); GetSourceDirectories(gameFolder); CompilePalLogger.LogLine("Reading BSP..."); BSP map = new BSP(new FileInfo(bspPath)); AssetUtils.findBspUtilityFiles(map, sourceDirectories, renamenav); string unpackDir = System.IO.Path.GetTempPath() + Guid.NewGuid(); UnpackBSP(unpackDir); AssetUtils.findBspPakDependencies(map, unpackDir); CompilePalLogger.LogLine("Initializing pak file..."); PakFile pakfile = new PakFile(map, sourceDirectories); CompilePalLogger.LogLine("Writing file list..."); pakfile.OutputToFile(); if (dryrun) { CompilePalLogger.LogLine("File list saved as " + Environment.CurrentDirectory + "\\files.txt"); } else { CompilePalLogger.LogLine("Running bspzip..."); PackBSP(); } CompilePalLogger.LogLine("Finished!"); CompilePalLogger.LogLine("---------------------"); CompilePalLogger.LogLine(pakfile.vmtcount + " materials found"); CompilePalLogger.LogLine(pakfile.mdlcount + " models found"); CompilePalLogger.LogLine(pakfile.pcfcount + " particle files found"); CompilePalLogger.LogLine(pakfile.sndcount + " sounds found"); string additionalFiles = (map.nav.Key != default(string) ? "\n-nav file" : "") + (map.soundscape.Key != default(string) ? "\n-soundscape" : "") + (map.soundscript.Key != default(string) ? "\n-soundscript" : "") + (map.detail.Key != default(string) ? "\n-detail file" : "") + (map.particleManifest.Key != default(string) ? "\n-particle manifest" : "") + (map.radartxt.Key != default(string) ? "\n-radar files" : "") + (map.txt.Key != default(string) ? "\n-loading screen text" : "") + (map.jpg.Key != default(string) ? "\n-loading screen image" : "") + (map.kv.Key != default(string) ? "\n-kv file" : ""); CompilePalLogger.LogLine(additionalFiles != default(string) ? "additional files: " + additionalFiles : "none"); CompilePalLogger.LogLine("---------------------"); } catch (Exception exception) { CompilePalLogger.LogLine("Something broke:"); CompilePalLogger.LogLine(exception.ToString()); } }