Fix bug with non-existent mod directories erroring

This commit is contained in:
pizzaboxer 2022-08-22 23:10:33 +01:00
parent 3e42c7511a
commit 9ce10a0f7e
2 changed files with 23 additions and 3 deletions

View File

@ -19,7 +19,6 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="securifybv.ShellLink" Version="0.1.0" />
</ItemGroup>

View File

@ -473,6 +473,8 @@ namespace Bloxstrap
private void ApplyModifications()
{
Dialog.Message = "Applying Roblox modifications...";
string modFolder = Path.Combine(Directories.Modifications);
string manifestFile = Path.Combine(Directories.Base, "ModManifest.txt");
@ -522,6 +524,13 @@ namespace Bloxstrap
continue;
}
string? directory = Path.GetDirectoryName(fileVersionFolder);
if (directory is null)
continue;
Directory.CreateDirectory(directory);
File.Copy(fileModFolder, fileVersionFolder, true);
}
@ -559,7 +568,13 @@ namespace Bloxstrap
{
if (!File.Exists(modFolderLocation))
{
Directory.CreateDirectory(Path.GetDirectoryName(modFolderLocation));
string? directory = Path.GetDirectoryName(modFolderLocation);
if (directory is null)
return;
Directory.CreateDirectory(directory);
File.WriteAllBytes(modFolderLocation, Convert.FromBase64String(base64Contents));
}
}
@ -630,6 +645,7 @@ namespace Bloxstrap
string packageLocation = Path.Combine(Directories.Downloads, package.Signature);
string packageFolder = Path.Combine(VersionFolder, PackageDirectories[package.Name]);
string extractPath;
string? directory;
Debug.WriteLine($"Extracting {package.Name} to {packageFolder}...");
@ -647,7 +663,12 @@ namespace Bloxstrap
Debug.WriteLine($"[{package.Name}] Writing {extractPath}...");
Directory.CreateDirectory(Path.GetDirectoryName(extractPath));
directory = Path.GetDirectoryName(extractPath);
if (directory is null)
continue;
Directory.CreateDirectory(directory);
if (File.Exists(extractPath))
File.Delete(extractPath);