Skip to content

Commit

Permalink
Made Pack step with dry run output unique fifles.txt names
Browse files Browse the repository at this point in the history
  • Loading branch information
Exactol committed Mar 22, 2020
1 parent 7746ac1 commit 8d7d500
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 12 deletions.
19 changes: 12 additions & 7 deletions CompilePalX/Compilers/BSPPack/Pack.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public BSPPack()
public static KeyValuePair<string, string> particleManifest;

private List<string> sourceDirectories = new List<string>();
private string mapName;
private string outputFile = "BSPZipFiles\\files.txt";

public override void Run(CompileContext context)
{
Expand All @@ -68,6 +68,8 @@ public override void Run(CompileContext context)
List<string> excludeFiles = new List<string>();
List<string> excludeDirs = new List<string>();

outputFile = "BSPZipFiles\\files.txt";

try
{
CompilePalLogger.LogLine("\nCompilePal - Automated Packaging");
Expand Down Expand Up @@ -173,7 +175,10 @@ public override void Run(CompileContext context)
CompilePalLogger.LogLine("Reading BSP...");
BSP map = new BSP(new FileInfo(bspPath));
AssetUtils.findBspUtilityFiles(map, sourceDirectories, renamenav, genParticleManifest);
mapName = Path.GetFileNameWithoutExtension(map.file.FullName);

// give files unique names based on map so they dont get overwritten
if (dryrun)
outputFile = $"BSPZipFiles\\{Path.GetFileNameWithoutExtension(map.file.FullName)}_files.txt";

//Set map particle manifest
if (genParticleManifest)
Expand All @@ -184,7 +189,7 @@ public override void Run(CompileContext context)
AssetUtils.findBspPakDependencies(map, unpackDir);

CompilePalLogger.LogLine("Initializing pak file...");
PakFile pakfile = new PakFile(map, sourceDirectories, includeFiles, excludeFiles, excludeDirs);
PakFile pakfile = new PakFile(map, sourceDirectories, includeFiles, excludeFiles, excludeDirs, outputFile);

if (packvpk)
{
Expand Down Expand Up @@ -253,12 +258,12 @@ public override void Run(CompileContext context)

if (dryrun)
{
CompilePalLogger.LogLine("File list saved as " + Environment.CurrentDirectory + $@"BSPZipFiles\{mapName}_files.txt");
CompilePalLogger.LogLine("File list saved as " + Environment.CurrentDirectory + outputFile);
}
else
{
CompilePalLogger.LogLine("Running bspzip...");
PackBSP(mapName);
PackBSP(outputFile);
}

CompilePalLogger.LogLine("Copying packed bsp to vmf folder...");
Expand Down Expand Up @@ -347,12 +352,12 @@ static void UnpackBSP(string unpackDir)

}

static void PackBSP(string mapName)
static void PackBSP(string outputFile)
{
string arguments = "-addlist \"$bspnew\" \"$list\" \"$bspold\"";
arguments = arguments.Replace("$bspnew", bspPath);
arguments = arguments.Replace("$bspold", bspPath);
arguments = arguments.Replace("$list", $@"BSPZipFiles\{mapName}_files.txt");
arguments = arguments.Replace("$list", outputFile);

var startInfo = new ProcessStartInfo(bspZip, arguments);
startInfo.UseShellExecute = false;
Expand Down
10 changes: 5 additions & 5 deletions CompilePalX/Compilers/BSPPack/PakFile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,11 @@ private bool AddFile(KeyValuePair<string, string> paths, Action<BSP> onExcluded
public int effectscriptcount { get; private set; }
public int vscriptcount { get; private set; }

public PakFile(BSP bsp, List<string> sourceDirectories, List<string> includeFiles, List<string> excludedFiles, List<string> excludedDirs)
public PakFile(BSP bsp, List<string> sourceDirectories, List<string> includeFiles, List<string> excludedFiles, List<string> excludedDirs, string outputFile)
{
mdlcount = vmtcount = pcfcount = sndcount = vehiclescriptcount = effectscriptcount = 0;
sourceDirs = sourceDirectories;
fileName = Path.GetFileNameWithoutExtension(bsp.file.FullName);
fileName = outputFile;

this.excludedFiles = excludedFiles;
this.excludedDirs = excludedDirs;
Expand Down Expand Up @@ -217,9 +217,9 @@ public void OutputToFile()
if (!Directory.Exists("BSPZipFiles"))
Directory.CreateDirectory("BSPZipFiles");

if (File.Exists($"BSPZipFiles/{fileName}_files.txt"))
File.Delete($"BSPZipFiles/{fileName}_files.txt");
File.WriteAllLines($"BSPZipFiles/{fileName}_files.txt", outputLines);
if (File.Exists(fileName))
File.Delete(fileName);
File.WriteAllLines(fileName, outputLines);
}

public Dictionary<string,string> GetResponseFile()
Expand Down

0 comments on commit 8d7d500

Please sign in to comment.