From ac649af511d2006378b29510b8ae0cd21387c46b Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 1 Jan 2025 22:40:00 -0500 Subject: [PATCH] Update to DIC 20250101 (fixes #807) --- CHANGELIST.md | 1 + .../DiscImageCreatorTests.cs | 4 ++-- .../DiscImageCreator/ExecutionContext.cs | 22 +++++++++++++++++++ .../DiscImageCreator/FlagStrings.cs | 2 ++ publish-nix.sh | 8 +++---- publish-win.ps1 | 8 +++---- 6 files changed, 35 insertions(+), 10 deletions(-) diff --git a/CHANGELIST.md b/CHANGELIST.md index bd35b85d..e023d0b9 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -160,6 +160,7 @@ - Update RedumpLib to 1.6.4 - Fix misunderstanding on perfect offset - Handle SCSI error count +- Update to DIC 20250101 ### 3.2.4 (2024-11-24) diff --git a/MPF.ExecutionContexts.Test/DiscImageCreatorTests.cs b/MPF.ExecutionContexts.Test/DiscImageCreatorTests.cs index 22ebd0b3..bd3ffddd 100644 --- a/MPF.ExecutionContexts.Test/DiscImageCreatorTests.cs +++ b/MPF.ExecutionContexts.Test/DiscImageCreatorTests.cs @@ -135,10 +135,10 @@ namespace MPF.ExecutionContexts.Test #region CompactDisc [Theory] - [InlineData("cd f filename.bin 0 /a 0 /p /aj /be raw /c2 1 2 3 1 5 6 /d8 /d /q /mscf /f 0 /mr 0 /np /nq /nl /ns /nr /am /sf 1 /ss /74 /s 0 /trp /vn 0 /vnc /vnx")] + [InlineData("cd f filename.bin 0 /a 0 /p /aj /be raw /c2 1 2 3 1 5 6 /d8 /d /q /mscf /f 0 /fulltoc /mr 0 /np /nq /nl /ns /nr /am /sf 1 /ss /74 /s 0 /toc /trp /vn 0 /vnc /vnx")] public void CompactDiscTest(string parameters) { - string? expected = "cd f \"filename.bin\" 0 /a 0 /p /aj /be raw /c2 1 2 3 1 5 6 /d8 /d /q /mscf /f 0 /mr 0 /np /nq /nl /ns /nr /am /sf 1 /ss /74 /s 0 /trp /vn 0 /vnc /vnx"; + string? expected = "cd f \"filename.bin\" 0 /a 0 /p /aj /be raw /c2 1 2 3 1 5 6 /d8 /d /q /mscf /f 0 /fulltoc /mr 0 /np /nq /nl /ns /nr /am /sf 1 /ss /74 /s 0 /toc /trp /vn 0 /vnc /vnx"; var context = new ExecutionContext(parameters); string? actual = context.GenerateParameters(); Assert.Equal(expected, actual); diff --git a/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs b/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs index f2a3e680..9cec7821 100644 --- a/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs +++ b/MPF.ExecutionContexts/DiscImageCreator/ExecutionContext.cs @@ -225,6 +225,7 @@ namespace MPF.ExecutionContexts.DiscImageCreator FlagStrings.DisableBeep, FlagStrings.ExtractMicroSoftCabFile, FlagStrings.ForceUnitAccess, + FlagStrings.FullToc, FlagStrings.MultiSectorRead, FlagStrings.NoFixSubP, FlagStrings.NoFixSubQ, @@ -236,6 +237,7 @@ namespace MPF.ExecutionContexts.DiscImageCreator FlagStrings.ScanSectorProtect, FlagStrings.SeventyFour, FlagStrings.SubchannelReadLevel, + FlagStrings.Toc, FlagStrings.TryReadingPregap, FlagStrings.VideoNow, FlagStrings.VideoNowColor, @@ -662,6 +664,13 @@ namespace MPF.ExecutionContexts.DiscImageCreator } } + // Full TOC + if (IsFlagSupported(FlagStrings.FullToc)) + { + if (this[FlagStrings.FullToc] == true) + parameters.Append($"{FlagStrings.FullToc} "); + } + // Multi-Sector Read if (IsFlagSupported(FlagStrings.MultiSectorRead)) { @@ -861,6 +870,13 @@ namespace MPF.ExecutionContexts.DiscImageCreator parameters.Append($"{FlagStrings.Tages} "); } + // TOC + if (IsFlagSupported(FlagStrings.Toc)) + { + if (this[FlagStrings.Toc] == true) + parameters.Append($"{FlagStrings.Toc} "); + } + // Try Reading Pregap if (IsFlagSupported(FlagStrings.TryReadingPregap)) { @@ -1545,6 +1561,9 @@ namespace MPF.ExecutionContexts.DiscImageCreator if (intValue != null && intValue != int.MinValue && intValue >= 0) ForceUnitAccessValue = intValue; + // Full TOC + ProcessFlagParameter(parts, FlagStrings.FullToc, ref i); + // Multi-Sector Read intValue = ProcessInt32Parameter(parts, FlagStrings.MultiSectorRead, ref i, missingAllowed: true); if (intValue != null && intValue != int.MinValue && intValue >= 0) @@ -1671,6 +1690,9 @@ namespace MPF.ExecutionContexts.DiscImageCreator // Tages ProcessFlagParameter(parts, FlagStrings.Tages, ref i); + // TOC + ProcessFlagParameter(parts, FlagStrings.Toc, ref i); + // TryReadingPregap ProcessFlagParameter(parts, FlagStrings.TryReadingPregap, ref i); diff --git a/MPF.ExecutionContexts/DiscImageCreator/FlagStrings.cs b/MPF.ExecutionContexts/DiscImageCreator/FlagStrings.cs index 04359647..7db2be8b 100644 --- a/MPF.ExecutionContexts/DiscImageCreator/FlagStrings.cs +++ b/MPF.ExecutionContexts/DiscImageCreator/FlagStrings.cs @@ -18,6 +18,7 @@ namespace MPF.ExecutionContexts.DiscImageCreator public const string ExtractMicroSoftCabFile = "/mscf"; public const string Fix = "/fix"; public const string ForceUnitAccess = "/f"; + public const string FullToc = "/fulltoc"; public const string MultiSectorRead = "/mr"; public const string NoFixSubP = "/np"; public const string NoFixSubQ = "/nq"; @@ -37,6 +38,7 @@ namespace MPF.ExecutionContexts.DiscImageCreator public const string SkipSector = "/sk"; public const string SubchannelReadLevel = "/s"; public const string Tages = "/t"; + public const string Toc = "/toc"; public const string TryReadingPregap = "/trp"; public const string UseAnchorVolumeDescriptorPointer = "/avdp"; public const string VideoNow = "/vn"; diff --git a/publish-nix.sh b/publish-nix.sh index 29709bdc..cc2a5eb4 100755 --- a/publish-nix.sh +++ b/publish-nix.sh @@ -212,8 +212,8 @@ if [ $NO_ARCHIVE = false ]; then # --- Skipped for now --- # DiscImageCreator - wget https://github.com/user-attachments/files/17211434/DiscImageCreator_20241001.zip - unzip -u DiscImageCreator_20241001.zip + wget https://github.com/user-attachments/files/18287520/DiscImageCreator_20250101.zip + unzip -u DiscImageCreator_20250101.zip # Redumper wget https://github.com/superg/redumper/releases/download/build_438/redumper-2024.11.03_build438-win64.zip @@ -238,8 +238,8 @@ if [ $NO_ARCHIVE = false ]; then done done - # Clean up the odownloaded files and directories - rm DiscImageCreator_20241001.zip + # Clean up the downloaded files and directories + rm DiscImageCreator_20250101.zip rm -r Release_ANSI rm redumper-2024.11.03_build438-win64.zip rm -r redumper-2024.11.03_build438-win64 diff --git a/publish-win.ps1 b/publish-win.ps1 index d5c41292..8107f2ec 100644 --- a/publish-win.ps1 +++ b/publish-win.ps1 @@ -193,8 +193,8 @@ if (!$NO_ARCHIVE.IsPresent) { # --- Skipped for now --- # DiscImageCreator - Invoke-WebRequest -Uri https://github.com/user-attachments/files/17211434/DiscImageCreator_20241001.zip -OutFile DiscImageCreator_20241001.zip - Expand-Archive -LiteralPath "DiscImageCreator_20241001.zip" -DestinationPath "$BUILD_FOLDER/Creator" + Invoke-WebRequest -Uri https://github.com/user-attachments/files/18287520/DiscImageCreator_20250101.zip -OutFile DiscImageCreator_20250101.zip + Expand-Archive -LiteralPath "DiscImageCreator_20250101.zip" -DestinationPath "$BUILD_FOLDER/Creator" # Redumper Invoke-WebRequest -Uri https://github.com/superg/redumper/releases/download/build_438/redumper-2024.11.03_build438-win64.zip -OutFile redumper-2024.11.03_build438-win64.zip @@ -219,8 +219,8 @@ if (!$NO_ARCHIVE.IsPresent) { } } - # Clean up the odownloaded files and directories - Remove-Item -Path "DiscImageCreator_20241001.zip" + # Clean up the downloaded files and directories + Remove-Item -Path "DiscImageCreator_20250101.zip" Remove-Item -Path "Creator" -Recurse Remove-Item -Path "redumper-2024.11.03_build438-win64.zip" Remove-Item -Path "Redumper" -Recurse