Update naming schemes

This commit is contained in:
Matt Nadareski
2020-01-30 14:47:23 -08:00
parent d8035745a9
commit 59040ae0f0
10 changed files with 660 additions and 660 deletions

View File

@@ -3,7 +3,7 @@
/// <summary>
/// Top-level commands for DiscImageCreator
/// </summary>
public static class DICCommandStrings
public static class CreatorCommandStrings
{
public const string Audio = "audio";
public const string BluRay = "bd";
@@ -33,7 +33,7 @@
/// <summary>
/// Dumping flags for DiscImageCreator
/// </summary>
public static class DICFlagStrings
public static class CreatorFlagStrings
{
public const string AddOffset = "/a";
public const string AMSF = "/p";

View File

@@ -19,9 +19,9 @@
}
/// <summary>
/// Supported DIC commands
/// Supported DiscImageCreator commands
/// </summary>
public enum DICCommand
public enum CreatorCommand
{
NONE = 0,
Audio,
@@ -50,9 +50,9 @@
}
/// <summary>
/// Supported DIC flags
/// Supported DiscImageCreator flags
/// </summary>
public enum DICFlag
public enum CreatorFlag
{
NONE = 0,
AddOffset,

View File

@@ -34,32 +34,32 @@ namespace DICUI.Utilities
/// <summary>
/// Get the most common known system for a given MediaType
/// </summary>
/// <param name="baseCommand">DICCommand value to check</param>
/// <param name="baseCommand">CreatorCommand value to check</param>
/// <returns>KnownSystem if possible, null on error</returns>
public static KnownSystem? ToKnownSystem(this DICCommand baseCommand)
public static KnownSystem? ToKnownSystem(this CreatorCommand baseCommand)
{
switch (baseCommand)
{
case DICCommand.Audio:
case CreatorCommand.Audio:
return KnownSystem.AudioCD;
case DICCommand.CompactDisc:
case DICCommand.Data:
case DICCommand.DigitalVideoDisc:
case DICCommand.Disk:
case DICCommand.Floppy:
case CreatorCommand.CompactDisc:
case CreatorCommand.Data:
case CreatorCommand.DigitalVideoDisc:
case CreatorCommand.Disk:
case CreatorCommand.Floppy:
return KnownSystem.IBMPCCompatible;
case DICCommand.GDROM:
case DICCommand.Swap:
case CreatorCommand.GDROM:
case CreatorCommand.Swap:
return KnownSystem.SegaDreamcast;
case DICCommand.BluRay:
case CreatorCommand.BluRay:
return KnownSystem.SonyPlayStation3;
case DICCommand.SACD:
case CreatorCommand.SACD:
return KnownSystem.SuperAudioCD;
case DICCommand.XBOX:
case DICCommand.XBOXSwap:
case CreatorCommand.XBOX:
case CreatorCommand.XBOXSwap:
return KnownSystem.MicrosoftXBOX;
case DICCommand.XGD2Swap:
case DICCommand.XGD3Swap:
case CreatorCommand.XGD2Swap:
case CreatorCommand.XGD3Swap:
return KnownSystem.MicrosoftXBOX360;
default:
return null;
@@ -234,34 +234,34 @@ namespace DICUI.Utilities
/// <summary>
/// Get the MediaType associated with a given base command
/// </summary>
/// <param name="baseCommand">DICCommand value to check</param>
/// <param name="baseCommand">CreatorCommand value to check</param>
/// <returns>MediaType if possible, null on error</returns>
/// <remarks>This takes the "safe" route by assuming the larger of any given format</remarks>
public static MediaType? ToMediaType(this DICCommand baseCommand)
public static MediaType? ToMediaType(this CreatorCommand baseCommand)
{
switch (baseCommand)
{
case DICCommand.Audio:
case DICCommand.CompactDisc:
case DICCommand.Data:
case DICCommand.SACD:
case CreatorCommand.Audio:
case CreatorCommand.CompactDisc:
case CreatorCommand.Data:
case CreatorCommand.SACD:
return MediaType.CDROM;
case DICCommand.GDROM:
case DICCommand.Swap:
case CreatorCommand.GDROM:
case CreatorCommand.Swap:
return MediaType.GDROM;
case DICCommand.DigitalVideoDisc:
case DICCommand.XBOX:
case DICCommand.XBOXSwap:
case DICCommand.XGD2Swap:
case DICCommand.XGD3Swap:
case CreatorCommand.DigitalVideoDisc:
case CreatorCommand.XBOX:
case CreatorCommand.XBOXSwap:
case CreatorCommand.XGD2Swap:
case CreatorCommand.XGD3Swap:
return MediaType.DVD;
case DICCommand.BluRay:
case CreatorCommand.BluRay:
return MediaType.BluRay;
// Non-optical
case DICCommand.Floppy:
case CreatorCommand.Floppy:
return MediaType.FloppyDisk;
case DICCommand.Disk:
case CreatorCommand.Disk:
return MediaType.HardDisk;
default:
return null;
@@ -541,132 +541,132 @@ namespace DICUI.Utilities
}
/// <summary>
/// Get the string representation of the DICCommand enum values
/// Get the string representation of the CreatorCommand enum values
/// </summary>
/// <param name="command">DICCommand value to convert</param>
/// <param name="command">CreatorCommand value to convert</param>
/// <returns>String representing the value, if possible</returns>
public static string LongName(this DICCommand command)
public static string LongName(this CreatorCommand command)
{
switch (command)
{
case DICCommand.Audio:
return DICCommandStrings.Audio;
case DICCommand.BluRay:
return DICCommandStrings.BluRay;
case DICCommand.Close:
return DICCommandStrings.Close;
case DICCommand.CompactDisc:
return DICCommandStrings.CompactDisc;
case DICCommand.Data:
return DICCommandStrings.Data;
case DICCommand.DigitalVideoDisc:
return DICCommandStrings.DigitalVideoDisc;
case DICCommand.Disk:
return DICCommandStrings.Disk;
case DICCommand.DriveSpeed:
return DICCommandStrings.DriveSpeed;
case DICCommand.Eject:
return DICCommandStrings.Eject;
case DICCommand.Floppy:
return DICCommandStrings.Floppy;
case DICCommand.GDROM:
return DICCommandStrings.GDROM;
case DICCommand.MDS:
return DICCommandStrings.MDS;
case DICCommand.Merge:
return DICCommandStrings.Merge;
case DICCommand.Reset:
return DICCommandStrings.Reset;
case DICCommand.SACD:
return DICCommandStrings.SACD;
case DICCommand.Start:
return DICCommandStrings.Start;
case DICCommand.Stop:
return DICCommandStrings.Stop;
case DICCommand.Sub:
return DICCommandStrings.Sub;
case DICCommand.Swap:
return DICCommandStrings.Swap;
case DICCommand.XBOX:
return DICCommandStrings.XBOX;
case DICCommand.XBOXSwap:
return DICCommandStrings.XBOXSwap;
case DICCommand.XGD2Swap:
return DICCommandStrings.XGD2Swap;
case DICCommand.XGD3Swap:
return DICCommandStrings.XGD3Swap;
case CreatorCommand.Audio:
return CreatorCommandStrings.Audio;
case CreatorCommand.BluRay:
return CreatorCommandStrings.BluRay;
case CreatorCommand.Close:
return CreatorCommandStrings.Close;
case CreatorCommand.CompactDisc:
return CreatorCommandStrings.CompactDisc;
case CreatorCommand.Data:
return CreatorCommandStrings.Data;
case CreatorCommand.DigitalVideoDisc:
return CreatorCommandStrings.DigitalVideoDisc;
case CreatorCommand.Disk:
return CreatorCommandStrings.Disk;
case CreatorCommand.DriveSpeed:
return CreatorCommandStrings.DriveSpeed;
case CreatorCommand.Eject:
return CreatorCommandStrings.Eject;
case CreatorCommand.Floppy:
return CreatorCommandStrings.Floppy;
case CreatorCommand.GDROM:
return CreatorCommandStrings.GDROM;
case CreatorCommand.MDS:
return CreatorCommandStrings.MDS;
case CreatorCommand.Merge:
return CreatorCommandStrings.Merge;
case CreatorCommand.Reset:
return CreatorCommandStrings.Reset;
case CreatorCommand.SACD:
return CreatorCommandStrings.SACD;
case CreatorCommand.Start:
return CreatorCommandStrings.Start;
case CreatorCommand.Stop:
return CreatorCommandStrings.Stop;
case CreatorCommand.Sub:
return CreatorCommandStrings.Sub;
case CreatorCommand.Swap:
return CreatorCommandStrings.Swap;
case CreatorCommand.XBOX:
return CreatorCommandStrings.XBOX;
case CreatorCommand.XBOXSwap:
return CreatorCommandStrings.XBOXSwap;
case CreatorCommand.XGD2Swap:
return CreatorCommandStrings.XGD2Swap;
case CreatorCommand.XGD3Swap:
return CreatorCommandStrings.XGD3Swap;
case DICCommand.NONE:
case CreatorCommand.NONE:
default:
return "";
}
}
/// <summary>
/// Get the string representation of the DICFlag enum values
/// Get the string representation of the CreatorFlag enum values
/// </summary>
/// <param name="command">DICFlag value to convert</param>
/// <param name="command">CreatorFlag value to convert</param>
/// <returns>String representing the value, if possible</returns>
public static string LongName(this DICFlag flag)
public static string LongName(this CreatorFlag flag)
{
switch (flag)
{
case DICFlag.AddOffset:
return DICFlagStrings.AddOffset;
case DICFlag.AMSF:
return DICFlagStrings.AMSF;
case DICFlag.AtariJaguar:
return DICFlagStrings.AtariJaguar;
case DICFlag.BEOpcode:
return DICFlagStrings.BEOpcode;
case DICFlag.C2Opcode:
return DICFlagStrings.C2Opcode;
case DICFlag.CopyrightManagementInformation:
return DICFlagStrings.CopyrightManagementInformation;
case DICFlag.D8Opcode:
return DICFlagStrings.D8Opcode;
case DICFlag.DisableBeep:
return DICFlagStrings.DisableBeep;
case DICFlag.ForceUnitAccess:
return DICFlagStrings.ForceUnitAccess;
case DICFlag.MCN:
return DICFlagStrings.MCN;
case DICFlag.MultiSession:
return DICFlagStrings.MultiSession;
case DICFlag.NoFixSubP:
return DICFlagStrings.NoFixSubP;
case DICFlag.NoFixSubQ:
return DICFlagStrings.NoFixSubQ;
case DICFlag.NoFixSubQLibCrypt:
return DICFlagStrings.NoFixSubQLibCrypt;
case DICFlag.NoFixSubRtoW:
return DICFlagStrings.NoFixSubRtoW;
case DICFlag.NoFixSubQSecuROM:
return DICFlagStrings.NoFixSubQSecuROM;
case DICFlag.NoSkipSS:
return DICFlagStrings.NoSkipSS;
case DICFlag.Raw:
return DICFlagStrings.Raw;
case DICFlag.Reverse:
return DICFlagStrings.Reverse;
case DICFlag.ScanAntiMod:
return DICFlagStrings.ScanAntiMod;
case DICFlag.ScanFileProtect:
return DICFlagStrings.ScanFileProtect;
case DICFlag.ScanSectorProtect:
return DICFlagStrings.ScanSectorProtect;
case DICFlag.SeventyFour:
return DICFlagStrings.SeventyFour;
case DICFlag.SkipSector:
return DICFlagStrings.SkipSector;
case DICFlag.SubchannelReadLevel:
return DICFlagStrings.SubchannelReadLevel;
case DICFlag.VideoNow:
return DICFlagStrings.VideoNow;
case DICFlag.VideoNowColor:
return DICFlagStrings.VideoNowColor;
case CreatorFlag.AddOffset:
return CreatorFlagStrings.AddOffset;
case CreatorFlag.AMSF:
return CreatorFlagStrings.AMSF;
case CreatorFlag.AtariJaguar:
return CreatorFlagStrings.AtariJaguar;
case CreatorFlag.BEOpcode:
return CreatorFlagStrings.BEOpcode;
case CreatorFlag.C2Opcode:
return CreatorFlagStrings.C2Opcode;
case CreatorFlag.CopyrightManagementInformation:
return CreatorFlagStrings.CopyrightManagementInformation;
case CreatorFlag.D8Opcode:
return CreatorFlagStrings.D8Opcode;
case CreatorFlag.DisableBeep:
return CreatorFlagStrings.DisableBeep;
case CreatorFlag.ForceUnitAccess:
return CreatorFlagStrings.ForceUnitAccess;
case CreatorFlag.MCN:
return CreatorFlagStrings.MCN;
case CreatorFlag.MultiSession:
return CreatorFlagStrings.MultiSession;
case CreatorFlag.NoFixSubP:
return CreatorFlagStrings.NoFixSubP;
case CreatorFlag.NoFixSubQ:
return CreatorFlagStrings.NoFixSubQ;
case CreatorFlag.NoFixSubQLibCrypt:
return CreatorFlagStrings.NoFixSubQLibCrypt;
case CreatorFlag.NoFixSubRtoW:
return CreatorFlagStrings.NoFixSubRtoW;
case CreatorFlag.NoFixSubQSecuROM:
return CreatorFlagStrings.NoFixSubQSecuROM;
case CreatorFlag.NoSkipSS:
return CreatorFlagStrings.NoSkipSS;
case CreatorFlag.Raw:
return CreatorFlagStrings.Raw;
case CreatorFlag.Reverse:
return CreatorFlagStrings.Reverse;
case CreatorFlag.ScanAntiMod:
return CreatorFlagStrings.ScanAntiMod;
case CreatorFlag.ScanFileProtect:
return CreatorFlagStrings.ScanFileProtect;
case CreatorFlag.ScanSectorProtect:
return CreatorFlagStrings.ScanSectorProtect;
case CreatorFlag.SeventyFour:
return CreatorFlagStrings.SeventyFour;
case CreatorFlag.SkipSector:
return CreatorFlagStrings.SkipSector;
case CreatorFlag.SubchannelReadLevel:
return CreatorFlagStrings.SubchannelReadLevel;
case CreatorFlag.VideoNow:
return CreatorFlagStrings.VideoNow;
case CreatorFlag.VideoNowColor:
return CreatorFlagStrings.VideoNowColor;
case DICFlag.NONE:
case CreatorFlag.NONE:
default:
return "";
}

View File

@@ -66,7 +66,7 @@ namespace DICUI.Utilities
/// <summary>
/// Parameters object representing what to send to DiscImageCreator
/// </summary>
public Parameters DICParameters { get; set; }
public CreatorParameters CreatorParameters { get; set; }
/// <summary>
/// Determines if placeholder values should be set for fields
@@ -158,9 +158,9 @@ namespace DICUI.Utilities
if (!File.Exists(DICPath))
return false;
Parameters parameters = new Parameters(string.Empty)
CreatorParameters parameters = new CreatorParameters(string.Empty)
{
Command = DICCommand.DriveSpeed,
Command = CreatorCommand.DriveSpeed,
DriveLetter = Drive.Letter.ToString(),
};
@@ -189,9 +189,9 @@ namespace DICUI.Utilities
if (Drive.InternalDriveType != InternalDriveType.Optical)
return;
Parameters parameters = new Parameters(string.Empty)
CreatorParameters parameters = new CreatorParameters(string.Empty)
{
Command = DICCommand.Eject,
Command = CreatorCommand.Eject,
DriveLetter = Drive.Letter.ToString(),
};
@@ -342,12 +342,12 @@ namespace DICUI.Utilities
// Set the proper parameters
string filename = OutputDirectory + Path.DirectorySeparatorChar + OutputFilename;
DICParameters = new Parameters(System, Type, Drive.Letter, filename, driveSpeed, ParanoidMode, RereadAmountC2);
CreatorParameters = new CreatorParameters(System, Type, Drive.Letter, filename, driveSpeed, ParanoidMode, RereadAmountC2);
if (QuietMode)
DICParameters[DICFlag.DisableBeep] = true;
CreatorParameters[CreatorFlag.DisableBeep] = true;
// Generate and return the param string
return DICParameters.GenerateParameters();
return CreatorParameters.GenerateParameters();
}
return null;
@@ -369,9 +369,9 @@ namespace DICUI.Utilities
if (Drive.InternalDriveType != InternalDriveType.Optical)
return;
Parameters parameters = new Parameters(string.Empty)
CreatorParameters parameters = new CreatorParameters(string.Empty)
{
Command = DICCommand.Reset,
Command = CreatorCommand.Reset,
DriveLetter = Drive.Letter.ToString(),
};
@@ -470,7 +470,7 @@ namespace DICUI.Utilities
/// <returns>True if the configuration is valid, false otherwise</returns>
internal bool ParametersValid()
{
return DICParameters.IsValid()
return CreatorParameters.IsValid()
&& !(Drive.InternalDriveType == InternalDriveType.Floppy ^ Type == MediaType.FloppyDisk)
&& !(Drive.InternalDriveType == InternalDriveType.HardDisk ^ Type == MediaType.HardDisk)
&& !(Drive.InternalDriveType == InternalDriveType.Removable ^ (Type == MediaType.CompactFlash || Type == MediaType.SDCard || Type == MediaType.FlashDrive));
@@ -510,7 +510,7 @@ namespace DICUI.Utilities
StartInfo = new ProcessStartInfo()
{
FileName = DICPath,
Arguments = DICParameters.GenerateParameters() ?? "",
Arguments = CreatorParameters.GenerateParameters() ?? "",
},
};
dicProcess.Start();
@@ -522,7 +522,7 @@ namespace DICUI.Utilities
/// </summary>
/// <param name="parameters"></param>
/// <returns>Standard output from commandline window</returns>
private async Task<string> ExecuteDiscImageCreatorWithParameters(Parameters parameters)
private async Task<string> ExecuteDiscImageCreatorWithParameters(CreatorParameters parameters)
{
Process childProcess;
string output = await Task.Run(() =>

View File

@@ -8,48 +8,48 @@ namespace DICUI.Test.Utilities
public class ConvertersTest
{
[Theory]
[InlineData(DICCommand.Audio, MediaType.CDROM)]
[InlineData(DICCommand.BluRay, MediaType.BluRay)]
[InlineData(DICCommand.Close, null)]
[InlineData(DICCommand.CompactDisc, MediaType.CDROM)]
[InlineData(DICCommand.Data, MediaType.CDROM)]
[InlineData(DICCommand.DigitalVideoDisc, MediaType.DVD)]
[InlineData(DICCommand.Eject, null)]
[InlineData(DICCommand.Floppy, MediaType.FloppyDisk)]
[InlineData(DICCommand.GDROM, MediaType.GDROM)]
[InlineData(DICCommand.MDS, null)]
[InlineData(DICCommand.Reset, null)]
[InlineData(DICCommand.SACD, MediaType.CDROM)]
[InlineData(DICCommand.Start, null)]
[InlineData(DICCommand.Stop, null)]
[InlineData(DICCommand.Sub, null)]
[InlineData(DICCommand.Swap, MediaType.GDROM)]
[InlineData(DICCommand.XBOX, MediaType.DVD)]
public void BaseCommandToMediaTypeTest(DICCommand command, MediaType? expected)
[InlineData(CreatorCommand.Audio, MediaType.CDROM)]
[InlineData(CreatorCommand.BluRay, MediaType.BluRay)]
[InlineData(CreatorCommand.Close, null)]
[InlineData(CreatorCommand.CompactDisc, MediaType.CDROM)]
[InlineData(CreatorCommand.Data, MediaType.CDROM)]
[InlineData(CreatorCommand.DigitalVideoDisc, MediaType.DVD)]
[InlineData(CreatorCommand.Eject, null)]
[InlineData(CreatorCommand.Floppy, MediaType.FloppyDisk)]
[InlineData(CreatorCommand.GDROM, MediaType.GDROM)]
[InlineData(CreatorCommand.MDS, null)]
[InlineData(CreatorCommand.Reset, null)]
[InlineData(CreatorCommand.SACD, MediaType.CDROM)]
[InlineData(CreatorCommand.Start, null)]
[InlineData(CreatorCommand.Stop, null)]
[InlineData(CreatorCommand.Sub, null)]
[InlineData(CreatorCommand.Swap, MediaType.GDROM)]
[InlineData(CreatorCommand.XBOX, MediaType.DVD)]
public void BaseCommandToMediaTypeTest(CreatorCommand command, MediaType? expected)
{
MediaType? actual = command.ToMediaType();
Assert.Equal(expected, actual);
}
[Theory]
[InlineData(DICCommand.Audio, KnownSystem.AudioCD)]
[InlineData(DICCommand.BluRay, KnownSystem.SonyPlayStation3)]
[InlineData(DICCommand.Close, null)]
[InlineData(DICCommand.CompactDisc, KnownSystem.IBMPCCompatible)]
[InlineData(DICCommand.Data, KnownSystem.IBMPCCompatible)]
[InlineData(DICCommand.DigitalVideoDisc, KnownSystem.IBMPCCompatible)]
[InlineData(DICCommand.Eject, null)]
[InlineData(DICCommand.Floppy, KnownSystem.IBMPCCompatible)]
[InlineData(DICCommand.GDROM, KnownSystem.SegaDreamcast)]
[InlineData(DICCommand.MDS, null)]
[InlineData(DICCommand.Reset, null)]
[InlineData(DICCommand.SACD, KnownSystem.SuperAudioCD)]
[InlineData(DICCommand.Start, null)]
[InlineData(DICCommand.Stop, null)]
[InlineData(DICCommand.Sub, null)]
[InlineData(DICCommand.Swap, KnownSystem.SegaDreamcast)]
[InlineData(DICCommand.XBOX, KnownSystem.MicrosoftXBOX)]
public void BaseCommandToKnownSystemTest(DICCommand command, KnownSystem? expected)
[InlineData(CreatorCommand.Audio, KnownSystem.AudioCD)]
[InlineData(CreatorCommand.BluRay, KnownSystem.SonyPlayStation3)]
[InlineData(CreatorCommand.Close, null)]
[InlineData(CreatorCommand.CompactDisc, KnownSystem.IBMPCCompatible)]
[InlineData(CreatorCommand.Data, KnownSystem.IBMPCCompatible)]
[InlineData(CreatorCommand.DigitalVideoDisc, KnownSystem.IBMPCCompatible)]
[InlineData(CreatorCommand.Eject, null)]
[InlineData(CreatorCommand.Floppy, KnownSystem.IBMPCCompatible)]
[InlineData(CreatorCommand.GDROM, KnownSystem.SegaDreamcast)]
[InlineData(CreatorCommand.MDS, null)]
[InlineData(CreatorCommand.Reset, null)]
[InlineData(CreatorCommand.SACD, KnownSystem.SuperAudioCD)]
[InlineData(CreatorCommand.Start, null)]
[InlineData(CreatorCommand.Stop, null)]
[InlineData(CreatorCommand.Sub, null)]
[InlineData(CreatorCommand.Swap, KnownSystem.SegaDreamcast)]
[InlineData(CreatorCommand.XBOX, KnownSystem.MicrosoftXBOX)]
public void BaseCommandToKnownSystemTest(CreatorCommand command, KnownSystem? expected)
{
KnownSystem? actual = Converters.ToKnownSystem(command);
Assert.Equal(expected, actual);

View File

@@ -18,7 +18,7 @@ namespace DICUI.Test
{
var env = new DumpEnvironment
{
DICParameters = new Parameters(parameters),
CreatorParameters = new CreatorParameters(parameters),
Drive = isFloppy
? new Drive(InternalDriveType.Floppy, new DriveInfo(letter.ToString()))
: new Drive(InternalDriveType.Optical, new DriveInfo(letter.ToString())),

View File

@@ -9,39 +9,39 @@ namespace DICUI.Test.Utilities
public class ParametersTest
{
[Theory]
[InlineData(KnownSystem.MicrosoftXBOX, MediaType.CDROM, DICCommand.CompactDisc)]
[InlineData(KnownSystem.MicrosoftXBOX, MediaType.DVD, DICCommand.XBOX)]
[InlineData(KnownSystem.MicrosoftXBOX, MediaType.LaserDisc, DICCommand.NONE)]
[InlineData(KnownSystem.SegaNu, MediaType.BluRay, DICCommand.BluRay)]
[InlineData(KnownSystem.AppleMacintosh, MediaType.FloppyDisk, DICCommand.Floppy)]
[InlineData(KnownSystem.RawThrillsVarious, MediaType.GDROM, DICCommand.NONE)]
public void ParametersFromSystemAndTypeTest(KnownSystem? knownSystem, MediaType? mediaType, DICCommand expected)
[InlineData(KnownSystem.MicrosoftXBOX, MediaType.CDROM, CreatorCommand.CompactDisc)]
[InlineData(KnownSystem.MicrosoftXBOX, MediaType.DVD, CreatorCommand.XBOX)]
[InlineData(KnownSystem.MicrosoftXBOX, MediaType.LaserDisc, CreatorCommand.NONE)]
[InlineData(KnownSystem.SegaNu, MediaType.BluRay, CreatorCommand.BluRay)]
[InlineData(KnownSystem.AppleMacintosh, MediaType.FloppyDisk, CreatorCommand.Floppy)]
[InlineData(KnownSystem.RawThrillsVarious, MediaType.GDROM, CreatorCommand.NONE)]
public void ParametersFromSystemAndTypeTest(KnownSystem? knownSystem, MediaType? mediaType, CreatorCommand expected)
{
Parameters actual = new Parameters(knownSystem, mediaType, 'D', "disc.bin", 16, true, -1);
CreatorParameters actual = new CreatorParameters(knownSystem, mediaType, 'D', "disc.bin", 16, true, -1);
Assert.Equal(expected, actual.Command);
}
[Theory]
[InlineData(KnownSystem.AppleMacintosh, MediaType.LaserDisc, true, 20, null, null)]
[InlineData(KnownSystem.NintendoGameCube, MediaType.NintendoGameCubeGameDisc, false, 20, null, new DICFlag[] { DICFlag.Raw })]
[InlineData(KnownSystem.IBMPCCompatible, MediaType.DVD, false, 20, null, new DICFlag[] { })]
[InlineData(KnownSystem.NintendoGameCube, MediaType.NintendoGameCubeGameDisc, false, 20, null, new CreatorFlag[] { CreatorFlag.Raw })]
[InlineData(KnownSystem.IBMPCCompatible, MediaType.DVD, false, 20, null, new CreatorFlag[] { })]
/* paranoid mode tests */
[InlineData(KnownSystem.IBMPCCompatible, MediaType.CDROM, true, 1000, 2, new DICFlag[] { DICFlag.C2Opcode, DICFlag.NoFixSubQSecuROM, DICFlag.ScanFileProtect, DICFlag.ScanSectorProtect, DICFlag.SubchannelReadLevel })]
[InlineData(KnownSystem.AppleMacintosh, MediaType.CDROM, false, 20, null, new DICFlag[] { DICFlag.C2Opcode, DICFlag.NoFixSubQSecuROM, DICFlag.ScanFileProtect })]
[InlineData(KnownSystem.IBMPCCompatible, MediaType.DVD, true, 500, null, new DICFlag[] { DICFlag.CopyrightManagementInformation, DICFlag.ScanFileProtect })]
[InlineData(KnownSystem.HDDVDVideo, MediaType.HDDVD, true, 500, null, new DICFlag[] { DICFlag.CopyrightManagementInformation })]
[InlineData(KnownSystem.IBMPCCompatible, MediaType.DVD, false, 500, null, new DICFlag[] { })]
[InlineData(KnownSystem.HDDVDVideo, MediaType.HDDVD, false, 500, null, new DICFlag[] { })]
[InlineData(KnownSystem.IBMPCCompatible, MediaType.CDROM, true, 1000, 2, new CreatorFlag[] { CreatorFlag.C2Opcode, CreatorFlag.NoFixSubQSecuROM, CreatorFlag.ScanFileProtect, CreatorFlag.ScanSectorProtect, CreatorFlag.SubchannelReadLevel })]
[InlineData(KnownSystem.AppleMacintosh, MediaType.CDROM, false, 20, null, new CreatorFlag[] { CreatorFlag.C2Opcode, CreatorFlag.NoFixSubQSecuROM, CreatorFlag.ScanFileProtect })]
[InlineData(KnownSystem.IBMPCCompatible, MediaType.DVD, true, 500, null, new CreatorFlag[] { CreatorFlag.CopyrightManagementInformation, CreatorFlag.ScanFileProtect })]
[InlineData(KnownSystem.HDDVDVideo, MediaType.HDDVD, true, 500, null, new CreatorFlag[] { CreatorFlag.CopyrightManagementInformation })]
[InlineData(KnownSystem.IBMPCCompatible, MediaType.DVD, false, 500, null, new CreatorFlag[] { })]
[InlineData(KnownSystem.HDDVDVideo, MediaType.HDDVD, false, 500, null, new CreatorFlag[] { })]
/* reread c2 */
[InlineData(KnownSystem.SegaDreamcast, MediaType.GDROM, false, 1000, null, new DICFlag[] { DICFlag.C2Opcode })]
[InlineData(KnownSystem.SegaDreamcast, MediaType.GDROM, false, -1, null, new DICFlag[] { DICFlag.C2Opcode })]
[InlineData(KnownSystem.SegaDreamcast, MediaType.GDROM, false, 1000, null, new CreatorFlag[] { CreatorFlag.C2Opcode })]
[InlineData(KnownSystem.SegaDreamcast, MediaType.GDROM, false, -1, null, new CreatorFlag[] { CreatorFlag.C2Opcode })]
public void ParametersFromOptionsTest(KnownSystem? knownSystem, MediaType? mediaType, bool paranoid, int rereadC2, int? subchannelLevel, DICFlag[] expected)
public void ParametersFromOptionsTest(KnownSystem? knownSystem, MediaType? mediaType, bool paranoid, int rereadC2, int? subchannelLevel, CreatorFlag[] expected)
{
Parameters actual = new Parameters(knownSystem, mediaType, 'D', "disc.bin", 16, paranoid, rereadC2);
CreatorParameters actual = new CreatorParameters(knownSystem, mediaType, 'D', "disc.bin", 16, paranoid, rereadC2);
HashSet<DICFlag> expectedSet = new HashSet<DICFlag>(expected ?? new DICFlag[0]);
HashSet<DICFlag> actualSet = new HashSet<DICFlag>(actual.Keys ?? new DICFlag[0]);
HashSet<CreatorFlag> expectedSet = new HashSet<CreatorFlag>(expected ?? new CreatorFlag[0]);
HashSet<CreatorFlag> actualSet = new HashSet<CreatorFlag>(actual.Keys ?? new CreatorFlag[0]);
Assert.Equal(expectedSet, actualSet);
if (rereadC2 == -1 || !Validators.GetValidMediaTypes(knownSystem).Contains(mediaType))
Assert.Null(actual.C2OpcodeValue[0]);
@@ -59,7 +59,7 @@ namespace DICUI.Test.Utilities
[InlineData("stop D", null, null, "D", null)]
public void DetermineFlagsTest(string parameters, MediaType? expectedMediaType, KnownSystem? expectedKnownSystem, string expectedDriveLetter, string expectedPath)
{
Parameters actualParams = new Parameters(parameters);
CreatorParameters actualParams = new CreatorParameters(parameters);
bool actual = actualParams.DetermineFlags(out MediaType? actualMediaType, out KnownSystem? actualKnownSystem, out string actualDriveLetter, out string actualPath);
Assert.Equal(expectedMediaType, actualMediaType);
Assert.Equal(expectedKnownSystem, actualKnownSystem);
@@ -78,7 +78,7 @@ namespace DICUI.Test.Utilities
[InlineData("ls", false)]
public void ValidateParametersTest(string parameters, bool expected)
{
Parameters actual = new Parameters(parameters);
CreatorParameters actual = new CreatorParameters(parameters);
Assert.Equal(expected, actual.IsValid());
}
}

View File

@@ -13,10 +13,10 @@ namespace DICUI
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is DICCommand)
return ((DICCommand)value).LongName();
else if (value is DICFlag)
return ((DICFlag)value).LongName();
if (value is CreatorCommand)
return ((CreatorCommand)value).LongName();
else if (value is CreatorFlag)
return ((CreatorFlag)value).LongName();
else if (value is MediaType?)
return ((MediaType?)value).LongName();
else if (value is KnownSystem?)

View File

@@ -453,7 +453,7 @@ namespace DICUI.Windows
// Get the currently selected options
Drive = DriveLetterComboBox.SelectedItem as Drive,
DICParameters = new Parameters(ParametersTextBox.Text),
CreatorParameters = new CreatorParameters(ParametersTextBox.Text),
QuietMode = _options.QuietMode,
ParanoidMode = _options.ParanoidMode,
@@ -670,8 +670,8 @@ namespace DICUI.Windows
// If SmartE is detected on the current disc, remove `/sf` from the flags
if (protections.Contains("SmartE"))
{
_env.DICParameters[DICFlag.ScanFileProtect] = false;
ViewModels.LoggerViewModel.VerboseLogLn($"SmartE detected, removing {DICFlagStrings.ScanFileProtect} from parameters");
_env.CreatorParameters[CreatorFlag.ScanFileProtect] = false;
ViewModels.LoggerViewModel.VerboseLogLn($"SmartE detected, removing {CreatorFlagStrings.ScanFileProtect} from parameters");
}
if (!ViewModels.LoggerViewModel.WindowVisible)
@@ -763,19 +763,19 @@ namespace DICUI.Windows
/// </summary>
private void ProcessCustomParameters()
{
_env.DICParameters = new Parameters(ParametersTextBox.Text);
_env.CreatorParameters = new CreatorParameters(ParametersTextBox.Text);
int driveIndex = _drives.Select(d => d.Letter).ToList().IndexOf(_env.DICParameters.DriveLetter[0]);
int driveIndex = _drives.Select(d => d.Letter).ToList().IndexOf(_env.CreatorParameters.DriveLetter[0]);
if (driveIndex > -1)
DriveLetterComboBox.SelectedIndex = driveIndex;
int driveSpeed = _env.DICParameters.DriveSpeed ?? -1;
int driveSpeed = _env.CreatorParameters.DriveSpeed ?? -1;
if (driveSpeed > 0)
DriveSpeedComboBox.SelectedValue = driveSpeed;
else
_env.DICParameters.DriveSpeed = (int?)DriveSpeedComboBox.SelectedValue;
_env.CreatorParameters.DriveSpeed = (int?)DriveSpeedComboBox.SelectedValue;
string trimmedPath = _env.DICParameters.Filename?.Trim('"') ?? string.Empty;
string trimmedPath = _env.CreatorParameters.Filename?.Trim('"') ?? string.Empty;
string outputDirectory = Path.GetDirectoryName(trimmedPath);
string outputFilename = Path.GetFileName(trimmedPath);
if (!string.IsNullOrWhiteSpace(outputDirectory))
@@ -787,7 +787,7 @@ namespace DICUI.Windows
else
outputFilename = OutputFilenameTextBox.Text;
MediaType? mediaType = _env.DICParameters.Command.ToMediaType();
MediaType? mediaType = _env.CreatorParameters.Command.ToMediaType();
int mediaTypeIndex = _mediaTypes.IndexOf(mediaType);
if (mediaTypeIndex > -1)
MediaTypeComboBox.SelectedIndex = mediaTypeIndex;