diff --git a/BadBuilder/ConsoleExperiences/DownloadExperience.cs b/BadBuilder/ConsoleExperiences/DownloadExperience.cs index 013b77f..8a08e46 100644 --- a/BadBuilder/ConsoleExperiences/DownloadExperience.cs +++ b/BadBuilder/ConsoleExperiences/DownloadExperience.cs @@ -16,6 +16,7 @@ namespace BadBuilder ("XeXmenu", "https://cdn.niklascfw.de/files/xbox360/MenuData.7z"), ("Rock Band Blitz", "https://cdn.niklascfw.de/files/xbox360/GameData.zip"), ("Simple 360 NAND Flasher", "https://cdn.niklascfw.de/files/xbox360/Flasher.7z"), + ("XeUnshackle", "https://cdn.niklascfw.de/files/xbox360/XeUnshackle-BETA-v1_03.zip"), }; await DownloadHelper.GetGitHubAssets(items); diff --git a/BadBuilder/Helpers/DownloadHelper.cs b/BadBuilder/Helpers/DownloadHelper.cs index 0bf969f..31ec6d0 100644 --- a/BadBuilder/Helpers/DownloadHelper.cs +++ b/BadBuilder/Helpers/DownloadHelper.cs @@ -12,8 +12,7 @@ namespace BadBuilder.Helpers GitHubClient gitClient = new(new ProductHeaderValue("BadBuilder-Downloader")); List repos = [ - "grimdoomer/Xbox360BadUpdate", - "Byrom90/XeUnshackle" + "grimdoomer/Xbox360BadUpdate" ]; foreach (var repo in repos) @@ -28,7 +27,6 @@ namespace BadBuilder.Helpers var name when name.Contains("Free", StringComparison.OrdinalIgnoreCase) => "FreeMyXe", var name when name.Contains("Tools", StringComparison.OrdinalIgnoreCase) => "BadUpdate Tools", var name when name.Contains("BadUpdate", StringComparison.OrdinalIgnoreCase) => "BadUpdate", - var name when name.Contains("XeUnshackle", StringComparison.OrdinalIgnoreCase) => "XeUnshackle", _ => asset.Name.Substring(0, asset.Name.Length - 4) }; diff --git a/BadBuilder/Program.cs b/BadBuilder/Program.cs index 81153cc..898c46f 100644 --- a/BadBuilder/Program.cs +++ b/BadBuilder/Program.cs @@ -153,13 +153,29 @@ namespace BadBuilder break; case "XeUnshackle": - string subFolderPath = Directory.GetDirectories(folder).FirstOrDefault(); - File.Delete(Path.Combine(subFolderPath, "README - IMPORTANT.txt")); - EnqueueMirrorDirectory( - subFolderPath, - TargetDriveLetter, - 9 - ); + string readmePath = Path.Combine(folder, "README - IMPORTANT.txt"); + if (File.Exists(readmePath)) + { + File.Delete(readmePath); + } + + foreach (string subDirectory in Directory.GetDirectories(folder)) + { + EnqueueMirrorDirectory( + subDirectory, + Path.Combine(TargetDriveLetter, Path.GetFileName(subDirectory)), + 9 + ); + } + + foreach (string file in Directory.GetFiles(folder)) + { + EnqueueFileCopy( + file, + Path.Combine(TargetDriveLetter, Path.GetFileName(file)), + 9 + ); + } break; case "BadUpdate":