Subsume used DiscUtils libraries

This commit is contained in:
Deterous
2024-03-05 12:01:25 +09:00
parent 1fa7380f06
commit 55cab8202d
7 changed files with 29 additions and 59 deletions
+4 -3
View File
@@ -27,11 +27,12 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LibIRD\LibIRD.csproj" PrivateAssets="All" />
<ProjectReference Include="..\LibIRD\DiscUtils\Library\DiscUtils.Core\DiscUtils.Core.csproj" PrivateAssets="All" />
<ProjectReference Include="..\LibIRD\DiscUtils\Library\DiscUtils.Iso9660\DiscUtils.Iso9660.csproj" PrivateAssets="All" />
<PackageReference Include="CommandLineParser" Version="2.9.1" /> <PackageReference Include="CommandLineParser" Version="2.9.1" />
<PackageReference Include="SabreTools.RedumpLib" Version="1.3.3" /> <PackageReference Include="SabreTools.RedumpLib" Version="1.3.3" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LibIRD\LibIRD.csproj" />
</ItemGroup>
</Project> </Project>
+10 -12
View File
@@ -1,9 +1,4 @@
using CommandLine; using System;
using DiscUtils;
using DiscUtils.Iso9660;
using LibIRD;
using SabreTools.RedumpLib.Web;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.IO.Compression; using System.IO.Compression;
@@ -12,6 +7,9 @@ using System.Linq;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text; using System.Text;
using System.Xml.Linq; using System.Xml.Linq;
using CommandLine;
using LibIRD;
using SabreTools.RedumpLib.Web;
namespace IRDKit namespace IRDKit
{ {
@@ -295,7 +293,7 @@ namespace IRDKit
{ {
PrintISO(file, opt.Json, file.Equals(lastISO), opt.OutPath); PrintISO(file, opt.Json, file.Equals(lastISO), opt.OutPath);
} }
catch (InvalidFileSystemException) catch (LibIRD.DiscUtils.InvalidFileSystemException)
{ {
// Not a valid ISO file despite extension, assume file is an IRD // Not a valid ISO file despite extension, assume file is an IRD
if (!opt.Json) if (!opt.Json)
@@ -476,7 +474,7 @@ namespace IRDKit
PrintISO(inPath, json, single, outPath); PrintISO(inPath, json, single, outPath);
return; return;
} }
catch (InvalidFileSystemException) catch (LibIRD.DiscUtils.InvalidFileSystemException)
{ {
// Not a valid ISO file despite extension, try open as IRD // Not a valid ISO file despite extension, try open as IRD
} }
@@ -526,18 +524,18 @@ namespace IRDKit
// Open ISO file for reading // Open ISO file for reading
using FileStream fs = new(isoPath, FileMode.Open, FileAccess.Read); using FileStream fs = new(isoPath, FileMode.Open, FileAccess.Read);
// Validate ISO file stream // Validate ISO file stream
if (fs == null || !CDReader.Detect(fs)) if (fs == null || !LibIRD.DiscUtils.Iso9660.CDReader.Detect(fs))
{ {
Console.Error.WriteLine($"{isoPath} is not a valid ISO file"); Console.Error.WriteLine($"{isoPath} is not a valid ISO file");
return; return;
} }
// Create new ISO reader // Create new ISO reader
using CDReader reader = new(fs, true, true); using LibIRD.DiscUtils.Iso9660.CDReader reader = new(fs, true, true);
// Write PS3_DISC.SFB info // Write PS3_DISC.SFB info
try try
{ {
using DiscUtils.Streams.SparseStream s = reader.OpenFile("\\PS3_DISC.SFB", FileMode.Open, FileAccess.Read); using LibIRD.DiscUtils.Streams.SparseStream s = reader.OpenFile("\\PS3_DISC.SFB", FileMode.Open, FileAccess.Read);
PS3_DiscSFB ps3_DiscSFB = new(s); PS3_DiscSFB ps3_DiscSFB = new(s);
if (json) if (json)
{ {
@@ -574,7 +572,7 @@ namespace IRDKit
// Write PARAM.SFO info // Write PARAM.SFO info
try try
{ {
using DiscUtils.Streams.SparseStream s = reader.OpenFile("\\PS3_GAME\\PARAM.SFO", FileMode.Open, FileAccess.Read); using LibIRD.DiscUtils.Streams.SparseStream s = reader.OpenFile("\\PS3_GAME\\PARAM.SFO", FileMode.Open, FileAccess.Read);
ParamSFO paramSFO = new(s); ParamSFO paramSFO = new(s);
if (json) if (json)
{ {
+2 -18
View File
@@ -11,16 +11,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
ProjectSection(SolutionItems) = preProject ProjectSection(SolutionItems) = preProject
.gitattributes = .gitattributes .gitattributes = .gitattributes
.gitignore = .gitignore .gitignore = .gitignore
.gitmodules = .gitmodules
LICENSE.txt = LICENSE.txt LICENSE.txt = LICENSE.txt
publish-irdkit.ps1 = publish-irdkit.ps1
README.md = README.md README.md = README.md
EndProjectSection EndProjectSection
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscUtils.Core", "LibIRD\DiscUtils\Library\DiscUtils.Core\DiscUtils.Core.csproj", "{9E71F5CD-887D-4A61-8460-9F7E8F110B46}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscUtils.Iso9660", "LibIRD\DiscUtils\Library\DiscUtils.Iso9660\DiscUtils.Iso9660.csproj", "{9E1EF05F-388B-42C6-A4E7-98BE20C7C8EC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DiscUtils.Streams", "LibIRD\DiscUtils\Library\DiscUtils.Streams\DiscUtils.Streams.csproj", "{E8D0B8B0-F165-4FA1-AC7B-194F5F48A5F9}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -35,18 +31,6 @@ Global
{9060E3AF-E4FB-436F-93A1-5C47389CB88E}.Debug|Any CPU.Build.0 = Debug|Any CPU {9060E3AF-E4FB-436F-93A1-5C47389CB88E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9060E3AF-E4FB-436F-93A1-5C47389CB88E}.Release|Any CPU.ActiveCfg = Release|Any CPU {9060E3AF-E4FB-436F-93A1-5C47389CB88E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9060E3AF-E4FB-436F-93A1-5C47389CB88E}.Release|Any CPU.Build.0 = Release|Any CPU {9060E3AF-E4FB-436F-93A1-5C47389CB88E}.Release|Any CPU.Build.0 = Release|Any CPU
{9E71F5CD-887D-4A61-8460-9F7E8F110B46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E71F5CD-887D-4A61-8460-9F7E8F110B46}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E71F5CD-887D-4A61-8460-9F7E8F110B46}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E71F5CD-887D-4A61-8460-9F7E8F110B46}.Release|Any CPU.Build.0 = Release|Any CPU
{9E1EF05F-388B-42C6-A4E7-98BE20C7C8EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9E1EF05F-388B-42C6-A4E7-98BE20C7C8EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E1EF05F-388B-42C6-A4E7-98BE20C7C8EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E1EF05F-388B-42C6-A4E7-98BE20C7C8EC}.Release|Any CPU.Build.0 = Release|Any CPU
{E8D0B8B0-F165-4FA1-AC7B-194F5F48A5F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E8D0B8B0-F165-4FA1-AC7B-194F5F48A5F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E8D0B8B0-F165-4FA1-AC7B-194F5F48A5F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E8D0B8B0-F165-4FA1-AC7B-194F5F48A5F9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
+9 -9
View File
@@ -1,13 +1,13 @@
using DiscUtils; using System;
using DiscUtils.Iso9660;
using DiscUtils.Streams;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.IO.Compression; using System.IO.Compression;
using System.IO.Hashing; using System.IO.Hashing;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Text; using System.Text;
using LibIRD.DiscUtils;
using LibIRD.DiscUtils.Iso9660;
using LibIRD.DiscUtils.Streams;
namespace LibIRD namespace LibIRD
{ {
@@ -540,11 +540,11 @@ namespace LibIRD
private protected void ParseGetKeyLog(string getKeyLog) private protected void ParseGetKeyLog(string getKeyLog)
{ {
// Validate .getkey.log file path // Validate .getkey.log file path
if (!File.Exists(getKeyLog)) if (!System.IO.File.Exists(getKeyLog))
throw new FileNotFoundException(nameof(getKeyLog)); throw new FileNotFoundException(nameof(getKeyLog));
// Read from .getkey.log file // Read from .getkey.log file
using StreamReader sr = File.OpenText(getKeyLog); using StreamReader sr = System.IO.File.OpenText(getKeyLog);
// Determine whether GetKey was successful // Determine whether GetKey was successful
string line; string line;
@@ -1363,7 +1363,7 @@ namespace LibIRD
// Validate irdPath // Validate irdPath
if (irdPath == null || irdPath.Length <= 0) if (irdPath == null || irdPath.Length <= 0)
throw new ArgumentNullException(nameof(irdPath)); throw new ArgumentNullException(nameof(irdPath));
if (!File.Exists(irdPath)) if (!System.IO.File.Exists(irdPath))
throw new FileNotFoundException(nameof(irdPath)); throw new FileNotFoundException(nameof(irdPath));
// Open IRD for reading // Open IRD for reading
@@ -1507,7 +1507,7 @@ namespace LibIRD
} }
else else
{ {
File.AppendAllText(printPath, printText.ToString()); System.IO.File.AppendAllText(printPath, printText.ToString());
} }
} }
@@ -1557,7 +1557,7 @@ namespace LibIRD
else else
{ {
// Write to path // Write to path
File.AppendAllText(jsonPath, json.ToString()); System.IO.File.AppendAllText(jsonPath, json.ToString());
} }
} }
+1 -13
View File
@@ -6,7 +6,7 @@
<RuntimeIdentifiers>win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers> <RuntimeIdentifiers>win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors> <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<Version>0.6.0</Version> <Version>0.6.1</Version>
<PackageOutputPath>../nupkg</PackageOutputPath> <PackageOutputPath>../nupkg</PackageOutputPath>
<!-- Package Properties --> <!-- Package Properties -->
@@ -26,19 +26,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include=".\DiscUtils\Library\DiscUtils.Core\DiscUtils.Core.csproj" PrivateAssets="All" />
<ProjectReference Include=".\DiscUtils\Library\DiscUtils.Iso9660\DiscUtils.Iso9660.csproj" PrivateAssets="All" />
<ProjectReference Include=".\DiscUtils\Library\DiscUtils.Streams\DiscUtils.Streams.csproj" PrivateAssets="All" />
<PackageReference Include="System.IO.Hashing" Version="8.0.0" /> <PackageReference Include="System.IO.Hashing" Version="8.0.0" />
</ItemGroup> </ItemGroup>
<PropertyGroup>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
</PropertyGroup>
<Target Name="CopyProjectReferencesToPackage" DependsOnTargets="BuildOnlySettings;ResolveReferences">
<ItemGroup>
<BuildOutputInPackage Include="@(ReferenceCopyLocalPaths-&gt;WithMetadataValue('ReferenceSourceTarget', 'ProjectReference')-&gt;WithMetadataValue('PrivateAssets', 'All'))" />
</ItemGroup>
</Target>
</Project> </Project>
+2 -3
View File
@@ -1,5 +1,4 @@
using DiscUtils.Iso9660; using System;
using System;
using System.IO; using System.IO;
using System.IO.Hashing; using System.IO.Hashing;
@@ -135,7 +134,7 @@ namespace LibIRD
{ {
// If no layerbreak provided, ensure ISO is not BD-Video hybrid // If no layerbreak provided, ensure ISO is not BD-Video hybrid
using FileStream fs = new FileStream(isoPath, FileMode.Open, FileAccess.Read) ?? throw new FileNotFoundException(isoPath); using FileStream fs = new FileStream(isoPath, FileMode.Open, FileAccess.Read) ?? throw new FileNotFoundException(isoPath);
CDReader reader = new(fs, true, true); DiscUtils.Iso9660.CDReader reader = new(fs, true, true);
if (reader.DirectoryExists("\\BDMV")) if (reader.DirectoryExists("\\BDMV"))
throw new ArgumentException("Layerbreak must be provided for BD-Video hybrid discs"); throw new ArgumentException("Layerbreak must be provided for BD-Video hybrid discs");
// Assume disc has default layerbreak // Assume disc has default layerbreak