diff --git a/RombaSharp/RombaSharp.csproj b/RombaSharp/RombaSharp.csproj index 0ae41ecf..de13c937 100644 --- a/RombaSharp/RombaSharp.csproj +++ b/RombaSharp/RombaSharp.csproj @@ -2,16 +2,12 @@ Exe - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.Core/Constants.cs b/SabreTools.Core/Constants.cs index b1ff5a54..76bac754 100644 --- a/SabreTools.Core/Constants.cs +++ b/SabreTools.Core/Constants.cs @@ -15,14 +15,6 @@ 0x8f, 0x00, 0xb2, 0x04, 0xe9, 0x80, 0x09, 0x98, 0xec, 0xf8, 0x42, 0x7e }; -#if NET_FRAMEWORK - public const string RIPEMD160Zero = "9c1185a5c5e9fc54612808977ee8f548b2258d31"; - public static readonly byte[] RIPEMD160ZeroBytes = { 0x9c, 0x11, 0x85, 0xa5, - 0xc5, 0xe9, 0xfc, 0x54, - 0x61, 0x28, 0x08, 0x97, - 0x7e, 0xe8, 0xf5, 0x48, - 0xb2, 0x25, 0x8d, 0x31 }; -#endif public const string SHA1Zero = "da39a3ee5e6b4b0d3255bfef95601890afd80709"; public static readonly byte[] SHA1ZeroBytes = { 0xda, 0x39, 0xa3, 0xee, 0x5e, 0x6b, 0x4b, 0x0d, @@ -77,9 +69,6 @@ public const int CRCLength = 8; public const int MD5Length = 32; -#if NET_FRAMEWORK - public const int RIPEMD160Length = 40; -#endif public const int SHA1Length = 40; public const int SHA256Length = 64; public const int SHA384Length = 96; diff --git a/SabreTools.Core/Enums.cs b/SabreTools.Core/Enums.cs index 613cb4b3..eb161e9c 100644 --- a/SabreTools.Core/Enums.cs +++ b/SabreTools.Core/Enums.cs @@ -13,24 +13,16 @@ namespace SabreTools.Core { CRC = 1 << 0, MD5 = 1 << 1, -#if NET_FRAMEWORK - RIPEMD160 = 1 << 2, -#endif - SHA1 = 1 << 3, - SHA256 = 1 << 4, - SHA384 = 1 << 5, - SHA512 = 1 << 6, - SpamSum = 1 << 7, + SHA1 = 1 << 2, + SHA256 = 1 << 3, + SHA384 = 1 << 4, + SHA512 = 1 << 5, + SpamSum = 1 << 6, // Special combinations Standard = CRC | MD5 | SHA1, -#if NET_FRAMEWORK - DeepHashes = RIPEMD160 | SHA256 | SHA384 | SHA512 | SpamSum, - SecureHashes = MD5 | RIPEMD160 | SHA1 | SHA256 | SHA384 | SHA512 | SpamSum, -#else DeepHashes = SHA256 | SHA384 | SHA512 | SpamSum, SecureHashes = MD5 | SHA1 | SHA256 | SHA384 | SHA512 | SpamSum, -#endif } /// @@ -621,9 +613,6 @@ namespace SabreTools.Core DatItem_Size, DatItem_CRC, DatItem_MD5, -#if NET_FRAMEWORK - DatItem_RIPEMD160, -#endif DatItem_SHA1, DatItem_SHA256, DatItem_SHA384, @@ -884,9 +873,6 @@ namespace SabreTools.Core Size, CRC, MD5, -#if NET_FRAMEWORK - RIPEMD160, -#endif SHA1, SHA256, SHA384, diff --git a/SabreTools.Core/Prepare.cs b/SabreTools.Core/Prepare.cs index 59908a01..417467d2 100644 --- a/SabreTools.Core/Prepare.cs +++ b/SabreTools.Core/Prepare.cs @@ -12,8 +12,8 @@ namespace SabreTools.Core /// /// The current toolset version to be used by all child applications /// - public readonly static string Version = $"v1.0.5"; - //public readonly static string Version = $"v1.0.5-{File.GetCreationTime(Assembly.GetExecutingAssembly().Location):yyyy-MM-dd HH:mm:ss}"; + //public readonly static string Version = $"v1.0.5"; + public readonly static string Version = $"v1.0.5-{File.GetCreationTime(Assembly.GetExecutingAssembly().Location):yyyy-MM-dd HH:mm:ss}"; /// /// Readies the console and outputs the header @@ -33,7 +33,7 @@ namespace SabreTools.Core // Set the console to ready state ConsoleColor formertext = ConsoleColor.White; ConsoleColor formerback = ConsoleColor.Black; - if (!MonoOrCoreEnvironment) + if (!CoreEnvironment) { Console.SetBufferSize(Console.BufferWidth, 999); formertext = Console.ForegroundColor; @@ -51,7 +51,7 @@ namespace SabreTools.Core Console.WriteLine(); // Return the console to the original text and background colors - if (!MonoOrCoreEnvironment) + if (!CoreEnvironment) { Console.ForegroundColor = formertext; Console.BackgroundColor = formerback; @@ -60,18 +60,14 @@ namespace SabreTools.Core } /// - /// Returns true if running in a Mono or .NET Core environment + /// Returns true if running in a .NET Core environment /// /// TODO: Investigate if this is needed when removing .NET Framework 4.8 support - private static bool MonoOrCoreEnvironment + private static bool CoreEnvironment { get { -#if NET_FRAMEWORK - return Type.GetType("Mono.Runtime") != null; -#else return true; -#endif } } } diff --git a/SabreTools.Core/README.1ST b/SabreTools.Core/README.1ST index 964c4da8..03a34a50 100644 --- a/SabreTools.Core/README.1ST +++ b/SabreTools.Core/README.1ST @@ -209,10 +209,6 @@ Options: This allows the user to skip calculating the MD5 for each of the files which will speed up the creation of the DAT. - -nr160, --skip-ripemd160 Include RIPEMD160 in output - This allows the user to include calculating the RIPEMD160 for each of - the files. .NET Framework 4.8 only. - -ns, --skip-sha1 Don't include SHA-1 in output This allows the user to skip calculating the SHA-1 for each of the files which will speed up the creation of the DAT. @@ -269,7 +265,6 @@ Options: msx, openmsx - openMSX Software List ol, offlinelist - OfflineList XML rc, romcenter - RomCenter - ripemd160 - RIPEMD160 (.NET Framework 4.8 only) sj, sabrejson - SabreJSON sx, sabrexml - SabreDAT XML sfv - SFV @@ -632,7 +627,6 @@ Options: msx, openmsx - openMSX Software List ol, offlinelist - OfflineList XML rc, romcenter - RomCenter - ripemd160 - RIPEMD160 (.NET Framework 4.8 only) sj, sabrejson - SabreJSON sx, sabrexml - SabreDAT XML sfv - SFV @@ -787,7 +781,6 @@ Options: msx, openmsx - openMSX Software List ol, offlinelist - OfflineList XML rc, romcenter - RomCenter - ripemd160 - RIPEMD160 (.NET Framework 4.8 only) sj, sabrejson - SabreJSON sx, sabrexml - SabreDAT XML sfv - SFV @@ -816,7 +809,6 @@ Options: - %category% - Replaced with game Category - %crc% - Replaced with the CRC - %md5% - Replaced with the MD5 - - %ripemd160% - Replaced with the RIPEMD160 (.NET Framework 4.8 only) - %sha1% - Replaced with the SHA-1 - %sha256% - Replaced with the SHA-256 - %sha384% - Replaced with the SHA-384 @@ -1404,7 +1396,6 @@ has been a new stable release. -ool, --output-ol -> -ot=ol, --output-type=offlinelist -ool, --output-offlinelist -> -ot=ol, --output-type=offlinelist -or, --output-rc -> -ot=rc, --output-type=romcenter --oripemd160, --output-ripemd160 -> -ot=ripemd160, --output-type=ripemd160 -or, --output-romcenter -> -ot=rc, --output-type=romcenter -os, --output-sd -> -ot=sd, --output-type=sabredat -os, --output-sabredat -> -ot=sd, --output-type=sabredat @@ -1449,11 +1440,10 @@ has been a new stable release. -udd, --update-desc -> -uf=machine.description, --update-field=machine.description -udd, --update-description -> -uf=machine.description, --update-field=machine.description -ugt, --update-game-type -> -uf=machine.type, --update-field=machine.type --uh, --update-hashes -> (-uf=item.crc -uf=item.md5 -uf=item.ripemd160 - -uf=item.sha1 -uf=item.sha256 -uf=item.sha384 -uf=item.sha512 -uf=item.spamsum), - (--update-field=item.crc --update-field=item.md5 --update-field=item.ripemd160 - --update-field=item.sha1 --update-field=item.sha256 --update-field=item.sha384 - --update-field=item.sha512 --update-field=item.spamsum) +-uh, --update-hashes -> (-uf=item.crc -uf=item.md5 -uf=item.sha1 -uf=item.sha256 + -uf=item.sha384 -uf=item.sha512 -uf=item.spamsum), (--update-field=item.crc + --update-field=item.md5 --update-field=item.sha1 --update-field=item.sha256 + --update-field=item.sha384 --update-field=item.sha512 --update-field=item.spamsum) -um, --update-manu -> -uf=machine.manufacturer, --update-field=machine.manufacturer -um, --update-manufacturer -> -uf=machine.manufacturer, --update-field=machine.manufacturer -un, --update-names -> -uf=item.name, --update-field=item.name diff --git a/SabreTools.Core/SabreTools.Core.csproj b/SabreTools.Core/SabreTools.Core.csproj index 7badd0fb..c27d058e 100644 --- a/SabreTools.Core/SabreTools.Core.csproj +++ b/SabreTools.Core/SabreTools.Core.csproj @@ -1,16 +1,12 @@  - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.Core/Tools/Aaru/SpamSumContext.cs b/SabreTools.Core/Tools/Aaru/SpamSumContext.cs index 2810fc9c..cd4eb26a 100644 --- a/SabreTools.Core/Tools/Aaru/SpamSumContext.cs +++ b/SabreTools.Core/Tools/Aaru/SpamSumContext.cs @@ -506,13 +506,7 @@ namespace Aaru.Checksums count++; } -#if NET_FRAMEWORK - byte[] newString = new byte[count]; - Array.Copy(cString, newString, count); - return newString; -#else return new ReadOnlySpan(cString, 0, count).ToArray(); -#endif } public void Dispose() diff --git a/SabreTools.Core/Tools/Converters.cs b/SabreTools.Core/Tools/Converters.cs index 3575f093..bb4c10bd 100644 --- a/SabreTools.Core/Tools/Converters.cs +++ b/SabreTools.Core/Tools/Converters.cs @@ -18,10 +18,6 @@ namespace SabreTools.Core.Tools fields.Add(DatItemField.CRC); if (hash.HasFlag(Hash.MD5)) fields.Add(DatItemField.MD5); -#if NET_FRAMEWORK - if (hash.HasFlag(Hash.RIPEMD160)) - fields.Add(DatItemField.RIPEMD160); -#endif if (hash.HasFlag(Hash.SHA1)) fields.Add(DatItemField.SHA1); if (hash.HasFlag(Hash.SHA256)) @@ -47,24 +43,12 @@ namespace SabreTools.Core.Tools /// ChipType value corresponding to the string public static ChipType AsChipType(this string chipType) { -#if NET_FRAMEWORK - switch (chipType?.ToLowerInvariant()) - { - case "cpu": - return ChipType.CPU; - case "audio": - return ChipType.Audio; - default: - return ChipType.NULL; - } -#else return chipType?.ToLowerInvariant() switch { "cpu" => ChipType.CPU, "audio" => ChipType.Audio, _ => ChipType.NULL, }; -#endif } /// @@ -74,43 +58,6 @@ namespace SabreTools.Core.Tools /// ControlType value corresponding to the string public static ControlType AsControlType(this string controlType) { -#if NET_FRAMEWORK - switch (controlType?.ToLowerInvariant()) - { - case "joy": - return ControlType.Joy; - case "stick": - return ControlType.Stick; - case "paddle": - return ControlType.Paddle; - case "pedal": - return ControlType.Pedal; - case "lightgun": - return ControlType.Lightgun; - case "positional": - return ControlType.Positional; - case "dial": - return ControlType.Dial; - case "trackball": - return ControlType.Trackball; - case "mouse": - return ControlType.Mouse; - case "only_buttons": - return ControlType.OnlyButtons; - case "keypad": - return ControlType.Keypad; - case "keyboard": - return ControlType.Keyboard; - case "mahjong": - return ControlType.Mahjong; - case "hanafuda": - return ControlType.Hanafuda; - case "gambling": - return ControlType.Gambling; - default: - return ControlType.NULL; - } -#else return controlType?.ToLowerInvariant() switch { "joy" => ControlType.Joy, @@ -130,7 +77,6 @@ namespace SabreTools.Core.Tools "gambling" => ControlType.Gambling, _ => ControlType.NULL, }; -#endif } /// @@ -408,12 +354,6 @@ namespace SabreTools.Core.Tools case "md5_hash": return DatItemField.MD5; -#if NET_FRAMEWORK - case "ripemd160": - case "ripemd160_hash": - return DatItemField.RIPEMD160; -#endif - case "sha1": case "sha_1": case "sha1hash": @@ -809,55 +749,6 @@ namespace SabreTools.Core.Tools /// DeviceType value corresponding to the string public static DeviceType AsDeviceType(this string deviceType) { -#if NET_FRAMEWORK - switch (deviceType?.ToLowerInvariant()) - { - case "unknown": - return DeviceType.Unknown; - case "cartridge": - return DeviceType.Cartridge; - case "floppydisk": - return DeviceType.FloppyDisk; - case "harddisk": - return DeviceType.HardDisk; - case "cylinder": - return DeviceType.Cylinder; - case "cassette": - return DeviceType.Cassette; - case "punchcard": - return DeviceType.PunchCard; - case "punchtape": - return DeviceType.PunchTape; - case "printout": - return DeviceType.Printout; - case "serial": - return DeviceType.Serial; - case "parallel": - return DeviceType.Parallel; - case "snapshot": - return DeviceType.Snapshot; - case "quickload": - return DeviceType.QuickLoad; - case "memcard": - return DeviceType.MemCard; - case "cdrom": - return DeviceType.CDROM; - case "magtape": - return DeviceType.MagTape; - case "romimage": - return DeviceType.ROMImage; - case "midiin": - return DeviceType.MIDIIn; - case "midiout": - return DeviceType.MIDIOut; - case "picture": - return DeviceType.Picture; - case "vidfile": - return DeviceType.VidFile; - default: - return DeviceType.NULL; - } -#else return deviceType?.ToLowerInvariant() switch { "unknown" => DeviceType.Unknown, @@ -883,7 +774,6 @@ namespace SabreTools.Core.Tools "vidfile" => DeviceType.VidFile, _ => DeviceType.NULL, }; -#endif } /// @@ -893,23 +783,6 @@ namespace SabreTools.Core.Tools /// DisplayType value corresponding to the string public static DisplayType AsDisplayType(this string displayType) { -#if NET_FRAMEWORK - switch (displayType?.ToLowerInvariant()) - { - case "raster": - return DisplayType.Raster; - case "vector": - return DisplayType.Vector; - case "lcd": - return DisplayType.LCD; - case "svg": - return DisplayType.SVG; - case "unknown": - return DisplayType.Unknown; - default: - return DisplayType.NULL; - } -#else return displayType?.ToLowerInvariant() switch { "raster" => DisplayType.Raster, @@ -919,7 +792,6 @@ namespace SabreTools.Core.Tools "unknown" => DisplayType.Unknown, _ => DisplayType.NULL, }; -#endif } /// @@ -929,24 +801,12 @@ namespace SabreTools.Core.Tools /// Endianness value corresponding to the string public static Endianness AsEndianness(this string endianness) { -#if NET_FRAMEWORK - switch (endianness?.ToLowerInvariant()) - { - case "big": - return Endianness.Big; - case "little": - return Endianness.Little; - default: - return Endianness.NULL; - } -#else return endianness?.ToLowerInvariant() switch { "big" => Endianness.Big, "little" => Endianness.Little, _ => Endianness.NULL, }; -#endif } /// @@ -956,24 +816,12 @@ namespace SabreTools.Core.Tools /// FeatureStatus value corresponding to the string public static FeatureStatus AsFeatureStatus(this string featureStatus) { -#if NET_FRAMEWORK - switch (featureStatus?.ToLowerInvariant()) - { - case "unemulated": - return FeatureStatus.Unemulated; - case "imperfect": - return FeatureStatus.Imperfect; - default: - return FeatureStatus.NULL; - } -#else return featureStatus?.ToLowerInvariant() switch { "unemulated" => FeatureStatus.Unemulated, "imperfect" => FeatureStatus.Imperfect, _ => FeatureStatus.NULL, }; -#endif } /// @@ -983,41 +831,6 @@ namespace SabreTools.Core.Tools /// FeatureType value corresponding to the string public static FeatureType AsFeatureType(this string featureType) { -#if NET_FRAMEWORK - switch (featureType?.ToLowerInvariant()) - { - case "protection": - return FeatureType.Protection; - case "palette": - return FeatureType.Palette; - case "graphics": - return FeatureType.Graphics; - case "sound": - return FeatureType.Sound; - case "controls": - return FeatureType.Controls; - case "keyboard": - return FeatureType.Keyboard; - case "mouse": - return FeatureType.Mouse; - case "microphone": - return FeatureType.Microphone; - case "camera": - return FeatureType.Camera; - case "disk": - return FeatureType.Disk; - case "printer": - return FeatureType.Printer; - case "lan": - return FeatureType.Lan; - case "wan": - return FeatureType.Wan; - case "timing": - return FeatureType.Timing; - default: - return FeatureType.NULL; - } -#else return featureType?.ToLowerInvariant() switch { "protection" => FeatureType.Protection, @@ -1036,1254 +849,6 @@ namespace SabreTools.Core.Tools "timing" => FeatureType.Timing, _ => FeatureType.NULL, }; -#endif - } - - /// - /// Get Field value from input string - /// - /// String to get value from - /// Field value corresponding to the string - public static Field AsField(this string input) - { - // If the input is null, we return null - if (input == null) - return Field.NULL; - - // Normalize the input - input = input.ToLowerInvariant(); - - // Create regex strings - string headerRegex = @"^(dat|header|datheader)[.\-_\s]"; - string machineRegex = @"^(game|machine)[.\-_\s]"; - string datItemRegex = @"^(item|datitem)[.\-_\s]"; - - // If we have a header field - if (Regex.IsMatch(input, headerRegex)) - { - // Replace the match and re-normalize - string headerInput = Regex.Replace(input, headerRegex, string.Empty) - .Replace(' ', '_') - .Replace('-', '_') - .Replace('.', '_'); - - switch (headerInput) - { - #region Common - - case "file": - case "filename": - case "file_name": - return Field.DatHeader_FileName; - - case "dat": - case "datname": - case "dat_name": - case "internalname": - case "internal_name": - return Field.DatHeader_Name; - - case "desc": - case "description": - return Field.DatHeader_Description; - - case "root": - case "rootdir": - case "root_dir": - case "rootdirectory": - case "root_directory": - return Field.DatHeader_RootDir; - - case "category": - return Field.DatHeader_Category; - - case "version": - return Field.DatHeader_Version; - - case "date": - case "timestamp": - case "time_stamp": - return Field.DatHeader_Date; - - case "author": - return Field.DatHeader_Author; - - case "email": - case "e_mail": - return Field.DatHeader_Email; - - case "homepage": - case "home_page": - return Field.DatHeader_Homepage; - - case "url": - return Field.DatHeader_Url; - - case "comment": - return Field.DatHeader_Comment; - - case "header": - case "headerskipper": - case "header_skipper": - case "skipper": - return Field.DatHeader_HeaderSkipper; - - case "dattype": - case "type": - case "superdat": - return Field.DatHeader_Type; - - case "forcemerging": - case "force_merging": - return Field.DatHeader_ForceMerging; - - case "forcenodump": - case "force_nodump": - return Field.DatHeader_ForceNodump; - - case "forcepacking": - case "force_packing": - return Field.DatHeader_ForcePacking; - - #endregion - - #region ListXML - - case "debug": - return Field.DatHeader_Debug; - - case "mameconfig": - case "mame_config": - return Field.DatHeader_MameConfig; - - #endregion - - #region Logiqx - - case "build": - return Field.DatHeader_Build; - - case "rommode": - case "rom_mode": - return Field.DatHeader_RomMode; - - case "biosmode": - case "bios_mode": - return Field.DatHeader_BiosMode; - - case "samplemode": - case "sample_mode": - return Field.DatHeader_SampleMode; - - case "lockrommode": - case "lockrom_mode": - case "lock_rommode": - case "lock_rom_mode": - return Field.DatHeader_LockRomMode; - - case "lockbiosmode": - case "lockbios_mode": - case "lock_biosmode": - case "lock_bios_mode": - return Field.DatHeader_LockBiosMode; - - case "locksamplemode": - case "locksample_mode": - case "lock_samplemode": - case "lock_sample_mode": - return Field.DatHeader_LockSampleMode; - - #endregion - - #region OfflineList - - case "system": - case "plugin": // Used with RomCenter - return Field.DatHeader_System; - - case "screenshotwidth": - case "screenshotswidth": - case "screenshot_width": - case "screenshots_width": - return Field.DatHeader_ScreenshotsWidth; - - case "screenshotheight": - case "screenshotsheight": - case "screenshot_height": - case "screenshots_height": - return Field.DatHeader_ScreenshotsHeight; - - case "info_name": - case "infos_name": - return Field.DatHeader_Info_Name; - - case "info_visible": - case "infos_visible": - return Field.DatHeader_Info_Visible; - - case "info_isnamingoption": - case "info_is_naming_option": - case "infos_isnamingoption": - case "infos_is_naming_option": - return Field.DatHeader_Info_IsNamingOption; - - case "info_default": - case "infos_default": - return Field.DatHeader_Info_Default; - - case "canopen": - case "can_open": - return Field.DatHeader_CanOpen; - - case "romtitle": - case "rom_title": - return Field.DatHeader_RomTitle; - - #endregion - - #region RomCenter - - case "rcversion": - case "rc_version": - case "romcenterversion": - case "romcenter_version": - case "rom_center_version": - return Field.DatHeader_RomCenterVersion; - - #endregion - } - } - - // If we have a machine field - else if (Regex.IsMatch(input, machineRegex)) - { - // Replace the match and re-normalize - string machineInput = Regex.Replace(input, machineRegex, string.Empty) - .Replace(' ', '_') - .Replace('-', '_') - .Replace('.', '_'); - - switch (machineInput) - { - #region Common - - case "name": - return Field.Machine_Name; - - case "comment": - case "extra": // Used with AttractMode - return Field.Machine_Comment; - - case "desc": - case "description": - return Field.Machine_Description; - - case "year": - return Field.Machine_Year; - - case "manufacturer": - return Field.Machine_Manufacturer; - - case "publisher": - return Field.Machine_Publisher; - - case "category": - return Field.Machine_Category; - - case "romof": - case "rom_of": - return Field.Machine_RomOf; - - case "cloneof": - case "clone_of": - return Field.Machine_CloneOf; - - case "sampleof": - case "sample_of": - return Field.Machine_SampleOf; - - case "type": - return Field.Machine_Type; - - #endregion - - #region AttractMode - - case "players": - return Field.Machine_Players; - - case "rotation": - return Field.Machine_Rotation; - - case "control": - return Field.Machine_Control; - - case "amstatus": - case "am_status": - case "gamestatus": - case "supportstatus": - case "support_status": - return Field.Machine_Status; - - case "displaycount": - return Field.Machine_DisplayCount; - - case "displaytype": - return Field.Machine_DisplayType; - - case "buttons": - return Field.Machine_Buttons; - - #endregion - - #region ListXML - - case "sourcefile": - case "source_file": - return Field.Machine_SourceFile; - - case "runnable": - return Field.Machine_Runnable; - - #endregion - - #region Logiqx - - case "board": - return Field.Machine_Board; - - case "rebuildto": - case "rebuild_to": - return Field.Machine_RebuildTo; - - #endregion - - #region Logiqx EmuArc - - case "titleid": - case "title_id": - return Field.Machine_TitleID; - - case "developer": - return Field.Machine_Developer; - - case "genre": - return Field.Machine_Genre; - - case "subgenre": - case "sub_genre": - return Field.Machine_Subgenre; - - case "ratings": - return Field.Machine_Ratings; - - case "score": - return Field.Machine_Score; - - case "enabled": - return Field.Machine_Enabled; - - case "crc": - case "hascrc": - case "has_crc": - return Field.Machine_CRC; - - case "relatedto": - case "related_to": - return Field.Machine_RelatedTo; - - #endregion - - #region OpenMSX - - case "genmsxid": - case "genmsx_id": - case "gen_msxid": - case "gen_msx_id": - return Field.Machine_GenMSXID; - - case "system": - case "msxsystem": - case "msx_system": - return Field.Machine_System; - - case "country": - return Field.Machine_Country; - - #endregion - - #region SoftwareList - - case "supported": - return Field.Machine_Supported; - - #endregion - } - } - - // If we have a datitem field - else if (Regex.IsMatch(input, datItemRegex)) - { - // Replace the match and re-normalize - string itemInput = Regex.Replace(input, datItemRegex, string.Empty) - .Replace(' ', '_') - .Replace('-', '_') - .Replace('.', '_'); - - switch (itemInput) - { - #region Common - - case "type": - return Field.DatItem_Type; - - #endregion - - #region Item-Specific - - #region Actionable - - // Rom - case "name": - return Field.DatItem_Name; - - case "bios": - return Field.DatItem_Bios; - - case "size": - return Field.DatItem_Size; - - case "crc": - case "crc32": - return Field.DatItem_CRC; - - case "md5": - case "md5_hash": - return Field.DatItem_MD5; - -#if NET_FRAMEWORK - case "ripemd160": - case "ripemd160_hash": - return Field.DatItem_RIPEMD160; -#endif - - case "sha1": - case "sha_1": - case "sha1hash": - case "sha1_hash": - case "sha_1hash": - case "sha_1_hash": - return Field.DatItem_SHA1; - - case "sha256": - case "sha_256": - case "sha256hash": - case "sha256_hash": - case "sha_256hash": - case "sha_256_hash": - return Field.DatItem_SHA256; - - case "sha384": - case "sha_384": - case "sha384hash": - case "sha384_hash": - case "sha_384hash": - case "sha_384_hash": - return Field.DatItem_SHA384; - - case "sha512": - case "sha_512": - case "sha512hash": - case "sha512_hash": - case "sha_512hash": - case "sha_512_hash": - return Field.DatItem_SHA512; - - case "spamsum": - case "spam_sum": - return Field.DatItem_SpamSum; - - case "merge": - case "mergetag": - case "merge_tag": - return Field.DatItem_Merge; - - case "region": - return Field.DatItem_Region; - - case "offset": - return Field.DatItem_Offset; - - case "date": - return Field.DatItem_Date; - - case "status": - return Field.DatItem_Status; - - case "optional": - return Field.DatItem_Optional; - - case "inverted": - return Field.DatItem_Inverted; - - // Rom (AttractMode) - case "altname": - case "alt name": - case "alt-name": - case "altromname": - case "alt romname": - case "alt-romname": - return Field.DatItem_AltName; - - case "alttitle": - case "alt title": - case "alt-title": - case "altromtitle": - case "alt romtitle": - case "alt-romtitle": - return Field.DatItem_AltTitle; - - // Rom (OpenMSX) - case "original": - return Field.DatItem_Original; - - case "subtype": - case "sub_type": - case "openmsxsubtype": - case "openmsx_subtype": - return Field.DatItem_OpenMSXSubType; - - case "openmsxtype": - case "openmsx_type": - return Field.DatItem_OpenMSXType; - - case "remark": - return Field.DatItem_Remark; - - case "boot": - return Field.DatItem_Boot; - - // Rom (SoftwareList) - case "areaname": - case "area_name": - return Field.DatItem_AreaName; - - case "areasize": - case "area_size": - return Field.DatItem_AreaSize; - - case "areawidth": - case "area_width": - return Field.DatItem_AreaWidth; - - case "areaendinanness": - case "area_endianness": - return Field.DatItem_AreaEndianness; - - case "loadflag": - case "load_flag": - return Field.DatItem_LoadFlag; - - case "partname": - case "part_name": - return Field.DatItem_Part_Name; - - case "partinterface": - case "part_interface": - return Field.DatItem_Part_Interface; - - case "part_feature_name": - return Field.DatItem_Part_Feature_Name; - - case "part_feature_value": - return Field.DatItem_Part_Feature_Value; - - case "value": - return Field.DatItem_Value; - - // Disk - case "index": - return Field.DatItem_Index; - - case "writable": - return Field.DatItem_Writable; - - #endregion - - #region Auxiliary - - // Adjuster - case "default": - return Field.DatItem_Default; - - // Analog - case "analog_mask": - return Field.DatItem_Analog_Mask; - - // BiosSet - case "description": - case "biosdescription": - case "bios_description": - return Field.DatItem_Description; - - // Chip - case "tag": - return Field.DatItem_Tag; - - case "chiptype": - case "chip_type": - return Field.DatItem_ChipType; - - case "clock": - return Field.DatItem_Clock; - - // Condition - case "mask": - return Field.DatItem_Mask; - - case "relation": - return Field.DatItem_Relation; - - case "condition_tag": - return Field.DatItem_Condition_Tag; - - case "condition_mask": - return Field.DatItem_Condition_Mask; - - case "condition_relation": - return Field.DatItem_Condition_Relation; - - case "condition_value": - return Field.DatItem_Condition_Value; - - // Control - case "control_type": - return Field.DatItem_Control_Type; - - case "control_player": - return Field.DatItem_Control_Player; - - case "control_buttons": - return Field.DatItem_Control_Buttons; - - case "control_reqbuttons": - return Field.DatItem_Control_RequiredButtons; - - case "control_minimum": - return Field.DatItem_Control_Minimum; - - case "control_maximum": - return Field.DatItem_Control_Maximum; - - case "control_sensitivity": - return Field.DatItem_Control_Sensitivity; - - case "control_keydelta": - return Field.DatItem_Control_KeyDelta; - - case "control_reverse": - return Field.DatItem_Control_Reverse; - - case "control_ways": - return Field.DatItem_Control_Ways; - - case "control_ways2": - return Field.DatItem_Control_Ways2; - - case "control_ways3": - return Field.DatItem_Control_Ways3; - - // Device - case "devicetype": - return Field.DatItem_DeviceType; - - case "fixedimage": - return Field.DatItem_FixedImage; - - case "mandatory": - return Field.DatItem_Mandatory; - - case "interface": - return Field.DatItem_Interface; - - // Display - case "displaytype": - return Field.DatItem_DisplayType; - - case "rotate": - return Field.DatItem_Rotate; - - case "flipx": - return Field.DatItem_FlipX; - - case "width": - return Field.DatItem_Width; - - case "height": - return Field.DatItem_Height; - - case "refresh": - return Field.DatItem_Refresh; - - case "pixclock": - return Field.DatItem_PixClock; - - case "htotal": - return Field.DatItem_HTotal; - - case "hbend": - return Field.DatItem_HBEnd; - - case "hbstart": - return Field.DatItem_HBStart; - - case "vtotal": - return Field.DatItem_VTotal; - - case "vbend": - return Field.DatItem_VBEnd; - - case "vbstart": - return Field.DatItem_VBStart; - - // Driver - case "supportstatus": - return Field.DatItem_SupportStatus; - - case "emulationstatus": - return Field.DatItem_EmulationStatus; - - case "cocktailstatus": - return Field.DatItem_CocktailStatus; - - case "savestatestatus": - return Field.DatItem_SaveStateStatus; - - // Extension - case "extension_name": - return Field.DatItem_Extension_Name; - - // Feature - case "featuretype": - return Field.DatItem_FeatureType; - - case "featurestatus": - return Field.DatItem_FeatureStatus; - - case "featureoverall": - return Field.DatItem_FeatureOverall; - - // Input - case "service": - return Field.DatItem_Service; - - case "tilt": - return Field.DatItem_Tilt; - - case "players": - return Field.DatItem_Players; - - case "coins": - return Field.DatItem_Coins; - - // Instance - case "instance_name": - return Field.DatItem_Instance_Name; - - case "instance_briefname": - return Field.DatItem_Instance_BriefName; - - // Location - case "location_name": - return Field.DatItem_Location_Name; - - case "location_number": - return Field.DatItem_Location_Number; - - case "location_inverted": - return Field.DatItem_Location_Inverted; - - // RamOption - case "content": - return Field.DatItem_Content; - - // Release - case "language": - return Field.DatItem_Language; - - // Setting - case "setting_name": - case "value_name": - return Field.DatItem_Setting_Name; - - case "setting_value": - case "value_value": - return Field.DatItem_Setting_Value; - - case "setting_default": - case "value_default": - return Field.DatItem_Setting_Default; - - // SlotOption - case "slotoption_name": - return Field.DatItem_SlotOption_Name; - - case "slotoption_devicename": - return Field.DatItem_SlotOption_DeviceName; - - case "slotoption_default": - return Field.DatItem_SlotOption_Default; - - // SoftwareList - case "softwareliststatus": - case "softwarelist_status": - return Field.DatItem_SoftwareListStatus; - - case "filter": - return Field.DatItem_Filter; - - // Sound - case "channels": - return Field.DatItem_Channels; - - #endregion - - #endregion // Item-Specific - } - } - - // Else, we fall back on the old matching - // TODO: Remove this entirely - // TODO: Normalize space replacement - switch (input) - { - #region Machine - - #region Common - - case "game": - case "gamename": - case "game-name": - case "machine": - case "machinename": - case "machine-name": - return Field.Machine_Name; - - case "comment": - case "extra": - return Field.Machine_Comment; - - case "desc": - case "description": - case "gamedesc": - case "gamedescription": - case "game-description": - case "game description": - case "machinedesc": - case "machinedescription": - case "machine-description": - case "machine description": - return Field.Machine_Description; - - case "year": - return Field.Machine_Year; - - case "manufacturer": - return Field.Machine_Manufacturer; - - case "publisher": - return Field.Machine_Publisher; - - case "category": - case "gamecategory": - case "game-category": - case "machinecategory": - case "machine-category": - return Field.Machine_Category; - - case "romof": - return Field.Machine_RomOf; - - case "cloneof": - return Field.Machine_CloneOf; - - case "sampleof": - return Field.Machine_SampleOf; - - case "gametype": - case "game type": - case "game-type": - case "machinetype": - case "machine type": - case "machine-type": - return Field.Machine_Type; - - #endregion - - #region AttractMode - - case "players": - return Field.Machine_Players; - - case "rotation": - return Field.Machine_Rotation; - - case "control": - return Field.Machine_Control; - - case "amstatus": - case "am-status": - case "gamestatus": - case "game-status": - case "machinestatus": - case "machine-status": - case "supportstatus": - case "support-status": - return Field.Machine_Status; - - case "displaycount": - case "display-count": - case "displays": - return Field.Machine_DisplayCount; - - case "displaytype": - case "display-type": - return Field.Machine_DisplayType; - - case "buttons": - return Field.Machine_Buttons; - - #endregion - - #region ListXML - - case "sourcefile": - case "source file": - case "source-file": - return Field.Machine_SourceFile; - - case "runnable": - return Field.Machine_Runnable; - - #endregion - - #region Logiqx - - case "board": - return Field.Machine_Board; - - case "rebuildto": - case "rebuild to": - case "rebuild-to": - return Field.Machine_RebuildTo; - - #endregion - - #region Logiqx EmuArc - - case "titleid": - case "title id": - case "title-id": - return Field.Machine_TitleID; - - case "developer": - return Field.Machine_Developer; - - case "genre": - return Field.Machine_Genre; - - case "subgenre": - return Field.Machine_Subgenre; - - case "ratings": - return Field.Machine_Ratings; - - case "score": - return Field.Machine_Score; - - case "enabled": - return Field.Machine_Enabled; - - case "hascrc": - case "has crc": - case "has-crc": - return Field.Machine_CRC; - - case "relatedto": - case "related to": - case "related-to": - return Field.Machine_RelatedTo; - - #endregion - - #region OpenMSX - - case "genmsxid": - case "genmsx id": - case "genmsx-id": - case "gen msx id": - case "gen-msx-id": - return Field.Machine_GenMSXID; - - case "system": - case "msxsystem": - case "msx system": - case "msx-system": - return Field.Machine_System; - - case "country": - return Field.Machine_Country; - - #endregion - - #region SoftwareList - - case "supported": - return Field.Machine_Supported; - - #endregion - - #endregion // Machine - - #region DatItem - - #region Common - - case "itemname": - case "item-name": - case "name": - return Field.DatItem_Name; - case "itemtype": - case "item-type": - case "type": - return Field.DatItem_Type; - - #endregion - - #region AttractMode - - case "altname": - case "alt name": - case "alt-name": - case "altromname": - case "alt romname": - case "alt-romname": - return Field.DatItem_AltName; - case "alttitle": - case "alt title": - case "alt-title": - case "altromtitle": - case "alt romtitle": - case "alt-romtitle": - return Field.DatItem_AltTitle; - - #endregion - - #region OpenMSX - - case "original": - return Field.DatItem_Original; - case "subtype": - case "sub type": - case "sub-type": - case "openmsx_subtype": - return Field.DatItem_OpenMSXSubType; - case "openmsx_type": - return Field.DatItem_OpenMSXType; - case "remark": - return Field.DatItem_Remark; - case "boot": - return Field.DatItem_Boot; - - #endregion - - #region SoftwareList - - case "partname": - case "part name": - case "part-name": - return Field.DatItem_Part_Name; - case "partinterface": - case "part interface": - case "part-interface": - return Field.DatItem_Part_Interface; - case "areaname": - case "area name": - case "area-name": - return Field.DatItem_AreaName; - case "areasize": - case "area size": - case "area-size": - return Field.DatItem_AreaSize; - case "areawidth": - case "area width": - case "area-width": - return Field.DatItem_AreaWidth; - case "areaendinanness": - case "area endianness": - case "area-endianness": - return Field.DatItem_AreaEndianness; - case "value": - return Field.DatItem_Value; - case "loadflag": - case "load flag": - case "load-flag": - return Field.DatItem_LoadFlag; - - #endregion - - #region Item-Specific - - #region Actionable - - // Rom - case "bios": - return Field.DatItem_Bios; - - case "equal": - case "greater": - case "less": - case "size": - return Field.DatItem_Size; - - case "crc": - case "crc32": - return Field.DatItem_CRC; - - case "md5": - case "md5_hash": - return Field.DatItem_MD5; - -#if NET_FRAMEWORK - case "ripemd160": - case "ripemd160_hash": - return Field.DatItem_RIPEMD160; -#endif - - case "sha1": - case "sha_1": - case "sha1hash": - case "sha1_hash": - case "sha_1hash": - case "sha_1_hash": - return Field.DatItem_SHA1; - - case "sha256": - case "sha_256": - case "sha256hash": - case "sha256_hash": - case "sha_256hash": - case "sha_256_hash": - return Field.DatItem_SHA256; - - case "sha384": - case "sha_384": - case "sha384hash": - case "sha384_hash": - case "sha_384hash": - case "sha_384_hash": - return Field.DatItem_SHA384; - - case "sha512": - case "sha_512": - case "sha512hash": - case "sha512_hash": - case "sha_512hash": - case "sha_512_hash": - return Field.DatItem_SHA512; - - case "spamsum": - case "spam_sum": - return Field.DatItem_SpamSum; - - case "merge": - case "mergetag": - case "merge_tag": - return Field.DatItem_Merge; - - case "region": - return Field.DatItem_Region; - - case "offset": - return Field.DatItem_Offset; - - case "date": - return Field.DatItem_Date; - - case "itemtatus": - case "item-status": - case "status": - return Field.DatItem_Status; - - case "optional": - return Field.DatItem_Optional; - - case "inverted": - return Field.DatItem_Inverted; - - // Disk - case "index": - return Field.DatItem_Index; - - case "writable": - return Field.DatItem_Writable; - - #endregion - - #region Auxiliary - - // Adjuster - case "default": - return Field.DatItem_Default; - - case "condition_tag": - return Field.DatItem_Condition_Tag; - - case "condition_mask": - return Field.DatItem_Condition_Mask; - - case "condition_relation": - return Field.DatItem_Condition_Relation; - - case "condition_value": - return Field.DatItem_Condition_Value; - - // BiosSet - case "biosdescription": - case "bios-description": - case "biossetdescription": - case "biosset-description": - case "bios-set-description": - return Field.DatItem_Description; - - // Chip - case "tag": - return Field.DatItem_Tag; - - case "chiptype": - case "chip_type": - return Field.DatItem_ChipType; - - case "clock": - return Field.DatItem_Clock; - - // Ram Option - case "content": - return Field.DatItem_Content; - - // Release - case "language": - return Field.DatItem_Language; - - #endregion - - #endregion // Item-Specific - - #endregion - - default: - return Field.NULL; - } } /// @@ -2293,24 +858,6 @@ namespace SabreTools.Core.Tools /// ItemStatus value corresponding to the string public static ItemStatus AsItemStatus(this string status) { -#if NET_FRAMEWORK - switch (status?.ToLowerInvariant()) - { - case "good": - return ItemStatus.Good; - case "baddump": - return ItemStatus.BadDump; - case "nodump": - case "yes": - return ItemStatus.Nodump; - case "verified": - return ItemStatus.Verified; - case "none": - case "no": - default: - return ItemStatus.None; - } -#else return status?.ToLowerInvariant() switch { "good" => ItemStatus.Good, @@ -2322,7 +869,6 @@ namespace SabreTools.Core.Tools "no" => ItemStatus.None, _ => ItemStatus.None, }; -#endif } /// @@ -2332,88 +878,6 @@ namespace SabreTools.Core.Tools /// ItemType? value corresponding to the string public static ItemType? AsItemType(this string itemType) { -#if NET_FRAMEWORK - switch (itemType?.ToLowerInvariant()) - { - case "adjuster": - return ItemType.Adjuster; - case "analog": - return ItemType.Analog; - case "archive": - return ItemType.Archive; - case "biosset": - return ItemType.BiosSet; - case "blank": - return ItemType.Blank; - case "chip": - return ItemType.Chip; - case "condition": - return ItemType.Condition; - case "configuration": - return ItemType.Configuration; - case "control": - return ItemType.Control; - case "dataarea": - return ItemType.DataArea; - case "device": - return ItemType.Device; - case "device_ref": - return ItemType.DeviceReference; - case "dipswitch": - return ItemType.DipSwitch; - case "disk": - return ItemType.Disk; - case "diskarea": - return ItemType.DiskArea; - case "display": - return ItemType.Display; - case "driver": - return ItemType.Driver; - case "extension": - return ItemType.Extension; - case "feature": - return ItemType.Feature; - case "info": - return ItemType.Info; - case "input": - return ItemType.Input; - case "instance": - return ItemType.Instance; - case "location": - return ItemType.Location; - case "media": - return ItemType.Media; - case "part": - return ItemType.Part; - case "partfeature": - case "part_feature": - return ItemType.PartFeature; - case "port": - return ItemType.Port; - case "ramoption": - return ItemType.RamOption; - case "release": - return ItemType.Release; - case "rom": - return ItemType.Rom; - case "sample": - return ItemType.Sample; - case "setting": - return ItemType.Setting; - case "sharedfeat": - return ItemType.SharedFeature; - case "slot": - return ItemType.Slot; - case "slotoption": - return ItemType.SlotOption; - case "softwarelist": - return ItemType.SoftwareList; - case "sound": - return ItemType.Sound; - default: - return null; - } -#else return itemType?.ToLowerInvariant() switch { "adjuster" => ItemType.Adjuster, @@ -2456,7 +920,6 @@ namespace SabreTools.Core.Tools "sound" => ItemType.Sound, _ => null, }; -#endif } /// @@ -2466,41 +929,6 @@ namespace SabreTools.Core.Tools /// LoadFlag value corresponding to the string public static LoadFlag AsLoadFlag(this string loadFlag) { -#if NET_FRAMEWORK - switch (loadFlag?.ToLowerInvariant()) - { - case "load16_byte": - return LoadFlag.Load16Byte; - case "load16_word": - return LoadFlag.Load16Word; - case "load16_word_swap": - return LoadFlag.Load16WordSwap; - case "load32_byte": - return LoadFlag.Load32Byte; - case "load32_word": - return LoadFlag.Load32Word; - case "load32_word_swap": - return LoadFlag.Load32WordSwap; - case "load32_dword": - return LoadFlag.Load32DWord; - case "load64_word": - return LoadFlag.Load64Word; - case "load64_word_swap": - return LoadFlag.Load64WordSwap; - case "reload": - return LoadFlag.Reload; - case "fill": - return LoadFlag.Fill; - case "continue": - return LoadFlag.Continue; - case "reload_plain": - return LoadFlag.ReloadPlain; - case "ignore": - return LoadFlag.Ignore; - default: - return LoadFlag.NULL; - } -#else return loadFlag?.ToLowerInvariant() switch { "load16_byte" => LoadFlag.Load16Byte, @@ -2519,7 +947,6 @@ namespace SabreTools.Core.Tools "ignore" => LoadFlag.Ignore, _ => LoadFlag.NULL, }; -#endif } /// @@ -2717,22 +1144,6 @@ namespace SabreTools.Core.Tools /// MachineType value corresponding to the string public static MachineType AsMachineType(this string gametype) { -#if NET_FRAMEWORK - switch (gametype?.ToLowerInvariant()) - { - case "bios": - return MachineType.Bios; - case "dev": - case "device": - return MachineType.Device; - case "mech": - case "mechanical": - return MachineType.Mechanical; - case "none": - default: - return MachineType.NULL; - } -#else return gametype?.ToLowerInvariant() switch { "bios" => MachineType.Bios, @@ -2743,7 +1154,6 @@ namespace SabreTools.Core.Tools "none" => MachineType.NULL, _ => MachineType.NULL, }; -#endif } /// @@ -2753,25 +1163,6 @@ namespace SabreTools.Core.Tools /// MergingFlag value corresponding to the string public static MergingFlag AsMergingFlag(this string merging) { -#if NET_FRAMEWORK - switch (merging?.ToLowerInvariant()) - { - case "split": - return MergingFlag.Split; - case "merged": - return MergingFlag.Merged; - case "nonmerged": - case "unmerged": - return MergingFlag.NonMerged; - case "full": - return MergingFlag.Full; - case "device": - return MergingFlag.Device; - case "none": - default: - return MergingFlag.None; - } -#else return merging?.ToLowerInvariant() switch { "split" => MergingFlag.Split, @@ -2782,7 +1173,6 @@ namespace SabreTools.Core.Tools "none" => MergingFlag.None, _ => MergingFlag.None, }; -#endif } /// @@ -2792,20 +1182,6 @@ namespace SabreTools.Core.Tools /// NodumpFlag value corresponding to the string public static NodumpFlag AsNodumpFlag(this string nodump) { -#if NET_FRAMEWORK - switch (nodump?.ToLowerInvariant()) - { - case "obsolete": - return NodumpFlag.Obsolete; - case "required": - return NodumpFlag.Required; - case "ignore": - return NodumpFlag.Ignore; - case "none": - default: - return NodumpFlag.None; - } -#else return nodump?.ToLowerInvariant() switch { "obsolete" => NodumpFlag.Obsolete, @@ -2814,7 +1190,6 @@ namespace SabreTools.Core.Tools "none" => NodumpFlag.None, _ => NodumpFlag.None, }; -#endif } /// @@ -2824,19 +1199,6 @@ namespace SabreTools.Core.Tools /// OpenMSXSubType value corresponding to the string public static OpenMSXSubType AsOpenMSXSubType(this string itemType) { -#if NET_FRAMEWORK - switch (itemType?.ToLowerInvariant()) - { - case "rom": - return OpenMSXSubType.Rom; - case "megarom": - return OpenMSXSubType.MegaRom; - case "sccpluscart": - return OpenMSXSubType.SCCPlusCart; - default: - return OpenMSXSubType.NULL; - } -#else return itemType?.ToLowerInvariant() switch { "rom" => OpenMSXSubType.Rom, @@ -2844,7 +1206,6 @@ namespace SabreTools.Core.Tools "sccpluscart" => OpenMSXSubType.SCCPlusCart, _ => OpenMSXSubType.NULL, }; -#endif } /// @@ -2854,24 +1215,6 @@ namespace SabreTools.Core.Tools /// PackingFlag value corresponding to the string public static PackingFlag AsPackingFlag(this string packing) { -#if NET_FRAMEWORK - switch (packing?.ToLowerInvariant()) - { - case "yes": - case "zip": - return PackingFlag.Zip; - case "no": - case "unzip": - return PackingFlag.Unzip; - case "partial": - return PackingFlag.Partial; - case "flat": - return PackingFlag.Flat; - case "none": - default: - return PackingFlag.None; - } -#else return packing?.ToLowerInvariant() switch { "yes" => PackingFlag.Zip, @@ -2883,7 +1226,6 @@ namespace SabreTools.Core.Tools "none" => PackingFlag.None, _ => PackingFlag.None, }; -#endif } /// @@ -2893,25 +1235,6 @@ namespace SabreTools.Core.Tools /// Relation value corresponding to the string public static Relation AsRelation(this string relation) { -#if NET_FRAMEWORK - switch (relation?.ToLowerInvariant()) - { - case "eq": - return Relation.Equal; - case "ne": - return Relation.NotEqual; - case "gt": - return Relation.GreaterThan; - case "le": - return Relation.LessThanOrEqual; - case "lt": - return Relation.LessThan; - case "ge": - return Relation.GreaterThanOrEqual; - default: - return Relation.NULL; - } -#else return relation?.ToLowerInvariant() switch { "eq" => Relation.Equal, @@ -2922,7 +1245,6 @@ namespace SabreTools.Core.Tools "ge" => Relation.GreaterThanOrEqual, _ => Relation.NULL, }; -#endif } /// @@ -2932,19 +1254,6 @@ namespace SabreTools.Core.Tools /// Runnable value corresponding to the string public static Runnable AsRunnable(this string runnable) { -#if NET_FRAMEWORK - switch (runnable?.ToLowerInvariant()) - { - case "no": - return Runnable.No; - case "partial": - return Runnable.Partial; - case "yes": - return Runnable.Yes; - default: - return Runnable.NULL; - } -#else return runnable?.ToLowerInvariant() switch { "no" => Runnable.No, @@ -2952,7 +1261,6 @@ namespace SabreTools.Core.Tools "yes" => Runnable.Yes, _ => Runnable.NULL, }; -#endif } /// @@ -2962,18 +1270,6 @@ namespace SabreTools.Core.Tools /// SoftwareListStatus value corresponding to the string public static SoftwareListStatus AsSoftwareListStatus(this string status) { -#if NET_FRAMEWORK - switch (status?.ToLowerInvariant()) - { - case "original": - return SoftwareListStatus.Original; - case "compatible": - return SoftwareListStatus.Compatible; - case "none": - default: - return SoftwareListStatus.NULL; - } -#else return status?.ToLowerInvariant() switch { "original" => SoftwareListStatus.Original, @@ -2981,7 +1277,6 @@ namespace SabreTools.Core.Tools "none" => SoftwareListStatus.NULL, _ => SoftwareListStatus.NULL, }; -#endif } /// @@ -2991,21 +1286,6 @@ namespace SabreTools.Core.Tools /// Supported value corresponding to the string public static Supported AsSupported(this string supported) { -#if NET_FRAMEWORK - switch (supported?.ToLowerInvariant()) - { - case "no": - case "unsupported": - return Supported.No; - case "partial": - return Supported.Partial; - case "yes": - case "supported": - return Supported.Yes; - default: - return Supported.NULL; - } -#else return supported?.ToLowerInvariant() switch { "no" => Supported.No, @@ -3015,7 +1295,6 @@ namespace SabreTools.Core.Tools "supported" => Supported.Yes, _ => Supported.NULL, }; -#endif } /// @@ -3025,19 +1304,6 @@ namespace SabreTools.Core.Tools /// SupportStatus value corresponding to the string public static SupportStatus AsSupportStatus(this string supportStatus) { -#if NET_FRAMEWORK - switch (supportStatus?.ToLowerInvariant()) - { - case "good": - return SupportStatus.Good; - case "imperfect": - return SupportStatus.Imperfect; - case "preliminary": - return SupportStatus.Preliminary; - default: - return SupportStatus.NULL; - } -#else return supportStatus?.ToLowerInvariant() switch { "good" => SupportStatus.Good, @@ -3045,7 +1311,6 @@ namespace SabreTools.Core.Tools "preliminary" => SupportStatus.Preliminary, _ => SupportStatus.NULL, }; -#endif } /// @@ -3055,19 +1320,6 @@ namespace SabreTools.Core.Tools /// bool? corresponding to the string public static bool? AsYesNo(this string yesno) { -#if NET_FRAMEWORK - switch (yesno?.ToLowerInvariant()) - { - case "yes": - case "true": - return true; - case "no": - case "false": - return false; - default: - return null; - } -#else return yesno?.ToLowerInvariant() switch { "yes" => true, @@ -3076,7 +1328,6 @@ namespace SabreTools.Core.Tools "false" => false, _ => null, }; -#endif } #endregion @@ -3090,24 +1341,12 @@ namespace SabreTools.Core.Tools /// String value corresponding to the ChipType public static string FromChipType(this ChipType chipType) { -#if NET_FRAMEWORK - switch (chipType) - { - case ChipType.CPU: - return "cpu"; - case ChipType.Audio: - return "audio"; - default: - return null; - } -#else return chipType switch { ChipType.CPU => "cpu", ChipType.Audio => "audio", _ => null, }; -#endif } /// @@ -3117,43 +1356,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the ControlType public static string FromControlType(this ControlType controlType) { -#if NET_FRAMEWORK - switch (controlType) - { - case ControlType.Joy: - return "joy"; - case ControlType.Stick: - return "stick"; - case ControlType.Paddle: - return "paddle"; - case ControlType.Pedal: - return "pedal"; - case ControlType.Lightgun: - return "lightgun"; - case ControlType.Positional: - return "positional"; - case ControlType.Dial: - return "dial"; - case ControlType.Trackball: - return "trackball"; - case ControlType.Mouse: - return "mouse"; - case ControlType.OnlyButtons: - return "only_buttons"; - case ControlType.Keypad: - return "keypad"; - case ControlType.Keyboard: - return "keyboard"; - case ControlType.Mahjong: - return "mahjong"; - case ControlType.Hanafuda: - return "hanafuda"; - case ControlType.Gambling: - return "gambling"; - default: - return null; - } -#else return controlType switch { ControlType.Joy => "joy", @@ -3173,7 +1375,6 @@ namespace SabreTools.Core.Tools ControlType.Gambling => "gambling", _ => null, }; -#endif } /// @@ -3183,55 +1384,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the DeviceType public static string FromDeviceType(this DeviceType deviceType) { -#if NET_FRAMEWORK - switch (deviceType) - { - case DeviceType.Unknown: - return "unknown"; - case DeviceType.Cartridge: - return "cartridge"; - case DeviceType.FloppyDisk: - return "floppydisk"; - case DeviceType.HardDisk: - return "harddisk"; - case DeviceType.Cylinder: - return "cylinder"; - case DeviceType.Cassette: - return "cassette"; - case DeviceType.PunchCard: - return "punchcard"; - case DeviceType.PunchTape: - return "punchtape"; - case DeviceType.Printout: - return "printout"; - case DeviceType.Serial: - return "serial"; - case DeviceType.Parallel: - return "parallel"; - case DeviceType.Snapshot: - return "snapshot"; - case DeviceType.QuickLoad: - return "quickload"; - case DeviceType.MemCard: - return "memcard"; - case DeviceType.CDROM: - return "cdrom"; - case DeviceType.MagTape: - return "magtape"; - case DeviceType.ROMImage: - return "romimage"; - case DeviceType.MIDIIn: - return "midiin"; - case DeviceType.MIDIOut: - return "midiout"; - case DeviceType.Picture: - return "picture"; - case DeviceType.VidFile: - return "vidfile"; - default: - return null; - } -#else return deviceType switch { DeviceType.Unknown => "unknown", @@ -3257,7 +1409,6 @@ namespace SabreTools.Core.Tools DeviceType.VidFile => "vidfile", _ => null, }; -#endif } /// @@ -3267,23 +1418,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the DisplayType public static string FromDisplayType(this DisplayType displayType) { -#if NET_FRAMEWORK - switch (displayType) - { - case DisplayType.Raster: - return "raster"; - case DisplayType.Vector: - return "vector"; - case DisplayType.LCD: - return "lcd"; - case DisplayType.SVG: - return "svg"; - case DisplayType.Unknown: - return "unknown"; - default: - return null; - } -#else return displayType switch { DisplayType.Raster => "raster", @@ -3293,7 +1427,6 @@ namespace SabreTools.Core.Tools DisplayType.Unknown => "unknown", _ => null, }; -#endif } /// @@ -3303,24 +1436,12 @@ namespace SabreTools.Core.Tools /// String value corresponding to the Endianness public static string FromEndianness(this Endianness endianness) { -#if NET_FRAMEWORK - switch (endianness) - { - case Endianness.Big: - return "big"; - case Endianness.Little: - return "little"; - default: - return null; - } -#else return endianness switch { Endianness.Big => "big", Endianness.Little => "little", _ => null, }; -#endif } /// @@ -3330,24 +1451,12 @@ namespace SabreTools.Core.Tools /// String value corresponding to the FeatureStatus public static string FromFeatureStatus(this FeatureStatus featureStatus) { -#if NET_FRAMEWORK - switch (featureStatus) - { - case FeatureStatus.Unemulated: - return "unemulated"; - case FeatureStatus.Imperfect: - return "imperfect"; - default: - return null; - } -#else return featureStatus switch { FeatureStatus.Unemulated => "unemulated", FeatureStatus.Imperfect => "imperfect", _ => null, }; -#endif } /// @@ -3357,41 +1466,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the FeatureType public static string FromFeatureType(this FeatureType featureType) { -#if NET_FRAMEWORK - switch (featureType) - { - case FeatureType.Protection: - return "protection"; - case FeatureType.Palette: - return "palette"; - case FeatureType.Graphics: - return "graphics"; - case FeatureType.Sound: - return "sound"; - case FeatureType.Controls: - return "controls"; - case FeatureType.Keyboard: - return "keyboard"; - case FeatureType.Mouse: - return "mouse"; - case FeatureType.Microphone: - return "microphone"; - case FeatureType.Camera: - return "camera"; - case FeatureType.Disk: - return "disk"; - case FeatureType.Printer: - return "printer"; - case FeatureType.Lan: - return "lan"; - case FeatureType.Wan: - return "wan"; - case FeatureType.Timing: - return "timing"; - default: - return null; - } -#else return featureType switch { FeatureType.Protection => "protection", @@ -3410,7 +1484,6 @@ namespace SabreTools.Core.Tools FeatureType.Timing => "timing", _ => null, }; -#endif } /// @@ -3421,21 +1494,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the ItemStatus public static string FromItemStatus(this ItemStatus status, bool yesno) { -#if NET_FRAMEWORK - switch (status) - { - case ItemStatus.Good: - return "good"; - case ItemStatus.BadDump: - return "baddump"; - case ItemStatus.Nodump: - return yesno ? "yes" : "nodump"; - case ItemStatus.Verified: - return "verified"; - default: - return null; - } -#else return status switch { ItemStatus.Good => "good", @@ -3444,7 +1502,6 @@ namespace SabreTools.Core.Tools ItemStatus.Verified => "verified", _ => null, }; -#endif } /// @@ -3454,41 +1511,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the LoadFlag public static string FromLoadFlag(this LoadFlag loadFlag) { -#if NET_FRAMEWORK - switch (loadFlag) - { - case LoadFlag.Load16Byte: - return "load16_byte"; - case LoadFlag.Load16Word: - return "load16_word"; - case LoadFlag.Load16WordSwap: - return "load16_word_swap"; - case LoadFlag.Load32Byte: - return "load32_byte"; - case LoadFlag.Load32Word: - return "load32_word"; - case LoadFlag.Load32WordSwap: - return "load32_word_swap"; - case LoadFlag.Load32DWord: - return "load32_dword"; - case LoadFlag.Load64Word: - return "load64_word"; - case LoadFlag.Load64WordSwap: - return "load64_word_swap"; - case LoadFlag.Reload: - return "reload"; - case LoadFlag.Fill: - return "fill"; - case LoadFlag.Continue: - return "continue"; - case LoadFlag.ReloadPlain: - return "reload_plain"; - case LoadFlag.Ignore: - return "sccpluscart"; - default: - return null; - } -#else return loadFlag switch { LoadFlag.Load16Byte => "load16_byte", @@ -3507,7 +1529,6 @@ namespace SabreTools.Core.Tools LoadFlag.Ignore => "ignore", _ => null, }; -#endif } /// @@ -3517,87 +1538,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the ItemType? public static string FromItemType(this ItemType? itemType) { -#if NET_FRAMEWORK - switch (itemType) - { - case ItemType.Adjuster: - return "adjuster"; - case ItemType.Analog: - return "analog"; - case ItemType.Archive: - return "archive"; - case ItemType.BiosSet: - return "biosset"; - case ItemType.Blank: - return "blank"; - case ItemType.Chip: - return "chip"; - case ItemType.Condition: - return "condition"; - case ItemType.Configuration: - return "configuration"; - case ItemType.Control: - return "control"; - case ItemType.DataArea: - return "dataarea"; - case ItemType.Device: - return "device"; - case ItemType.DeviceReference: - return "device_ref"; - case ItemType.DipSwitch: - return "dipswitch"; - case ItemType.Disk: - return "disk"; - case ItemType.DiskArea: - return "diskarea"; - case ItemType.Display: - return "display"; - case ItemType.Driver: - return "driver"; - case ItemType.Extension: - return "extension"; - case ItemType.Feature: - return "feature"; - case ItemType.Info: - return "info"; - case ItemType.Input: - return "input"; - case ItemType.Instance: - return "instance"; - case ItemType.Location: - return "location"; - case ItemType.Media: - return "media"; - case ItemType.Part: - return "part"; - case ItemType.PartFeature: - return "part_feature"; - case ItemType.Port: - return "port"; - case ItemType.RamOption: - return "ramoption"; - case ItemType.Release: - return "release"; - case ItemType.Rom: - return "rom"; - case ItemType.Sample: - return "sample"; - case ItemType.Setting: - return "setting"; - case ItemType.SharedFeature: - return "sharedfeat"; - case ItemType.Slot: - return "slot"; - case ItemType.SlotOption: - return "slotoption"; - case ItemType.SoftwareList: - return "softwarelist"; - case ItemType.Sound: - return "sound"; - default: - return null; - } -#else return itemType switch { ItemType.Adjuster => "adjuster", @@ -3639,7 +1579,6 @@ namespace SabreTools.Core.Tools ItemType.Sound => "sound", _ => null, }; -#endif } /// @@ -3650,19 +1589,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the MachineType public static string FromMachineType(this MachineType gametype, bool old) { -#if NET_FRAMEWORK - switch (gametype) - { - case MachineType.Bios: - return "bios"; - case MachineType.Device: - return old ? "dev" : "device"; - case MachineType.Mechanical: - return old ? "mech" : "mechanical"; - default: - return null; - } -#else return gametype switch { MachineType.Bios => "bios", @@ -3670,7 +1596,6 @@ namespace SabreTools.Core.Tools MachineType.Mechanical => old ? "mech" : "mechanical", _ => null, }; -#endif } /// @@ -3681,23 +1606,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the MergingFlag public static string FromMergingFlag(this MergingFlag merging, bool romCenter) { -#if NET_FRAMEWORK - switch (merging) - { - case MergingFlag.Split: - return "split"; - case MergingFlag.Merged: - return "merged"; - case MergingFlag.NonMerged: - return romCenter ? "unmerged" : "nonmerged"; - case MergingFlag.Full: - return "full"; - case MergingFlag.Device: - return "device"; - default: - return null; - } -#else return merging switch { MergingFlag.Split => "split", @@ -3707,7 +1615,6 @@ namespace SabreTools.Core.Tools MergingFlag.Device => "device", _ => null, }; -#endif } /// @@ -3717,19 +1624,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the NodumpFlag public static string FromNodumpFlag(this NodumpFlag nodump) { -#if NET_FRAMEWORK - switch (nodump) - { - case NodumpFlag.Obsolete: - return "obsolete"; - case NodumpFlag.Required: - return "required"; - case NodumpFlag.Ignore: - return "ignore"; - default: - return null; - } -#else return nodump switch { NodumpFlag.Obsolete => "obsolete", @@ -3737,7 +1631,6 @@ namespace SabreTools.Core.Tools NodumpFlag.Ignore => "ignore", _ => null, }; -#endif } /// @@ -3747,19 +1640,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the OpenMSXSubType public static string FromOpenMSXSubType(this OpenMSXSubType itemType) { -#if NET_FRAMEWORK - switch (itemType) - { - case OpenMSXSubType.Rom: - return "rom"; - case OpenMSXSubType.MegaRom: - return "megarom"; - case OpenMSXSubType.SCCPlusCart: - return "sccpluscart"; - default: - return null; - } -#else return itemType switch { OpenMSXSubType.Rom => "rom", @@ -3767,7 +1647,6 @@ namespace SabreTools.Core.Tools OpenMSXSubType.SCCPlusCart => "sccpluscart", _ => null, }; -#endif } /// @@ -3778,21 +1657,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the PackingFlag public static string FromPackingFlag(this PackingFlag packing, bool yesno) { -#if NET_FRAMEWORK - switch (packing) - { - case PackingFlag.Zip: - return yesno ? "yes" : "zip"; - case PackingFlag.Unzip: - return yesno ? "no" : "unzip"; - case PackingFlag.Partial: - return "partial"; - case PackingFlag.Flat: - return "flat"; - default: - return null; - } -#else return packing switch { PackingFlag.Zip => yesno ? "yes" : "zip", @@ -3801,7 +1665,6 @@ namespace SabreTools.Core.Tools PackingFlag.Flat => "flat", _ => null, }; -#endif } /// @@ -3811,25 +1674,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the Relation public static string FromRelation(this Relation relation) { -#if NET_FRAMEWORK - switch (relation) - { - case Relation.Equal: - return "eq"; - case Relation.NotEqual: - return "ne"; - case Relation.GreaterThan: - return "gt"; - case Relation.LessThanOrEqual: - return "le"; - case Relation.LessThan: - return "lt"; - case Relation.GreaterThanOrEqual: - return "ge"; - default: - return null; - } -#else return relation switch { Relation.Equal => "eq", @@ -3840,7 +1684,6 @@ namespace SabreTools.Core.Tools Relation.GreaterThanOrEqual => "ge", _ => null, }; -#endif } /// @@ -3850,19 +1693,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the Runnable public static string FromRunnable(this Runnable runnable) { -#if NET_FRAMEWORK - switch (runnable) - { - case Runnable.No: - return "no"; - case Runnable.Partial: - return "partial"; - case Runnable.Yes: - return "yes"; - default: - return null; - } -#else return runnable switch { Runnable.No => "no", @@ -3870,7 +1700,6 @@ namespace SabreTools.Core.Tools Runnable.Yes => "yes", _ => null, }; -#endif } /// @@ -3880,24 +1709,12 @@ namespace SabreTools.Core.Tools /// String value corresponding to the SoftwareListStatus public static string FromSoftwareListStatus(this SoftwareListStatus status) { -#if NET_FRAMEWORK - switch (status) - { - case SoftwareListStatus.Original: - return "original"; - case SoftwareListStatus.Compatible: - return "compatible"; - default: - return null; - } -#else return status switch { SoftwareListStatus.Original => "original", SoftwareListStatus.Compatible => "compatible", _ => null, }; -#endif } /// @@ -3908,19 +1725,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the Supported public static string FromSupported(this Supported supported, bool verbose) { -#if NET_FRAMEWORK - switch (supported) - { - case Supported.No: - return verbose ? "unsupported" : "no"; - case Supported.Partial: - return "partial"; - case Supported.Yes: - return verbose ? "supported" : "yes"; - default: - return null; - } -#else return supported switch { Supported.No => "no", @@ -3928,7 +1732,6 @@ namespace SabreTools.Core.Tools Supported.Yes => "yes", _ => null, }; -#endif } /// @@ -3938,19 +1741,6 @@ namespace SabreTools.Core.Tools /// String value corresponding to the SupportStatus public static string FromSupportStatus(this SupportStatus supportStatus) { -#if NET_FRAMEWORK - switch (supportStatus) - { - case SupportStatus.Good: - return "good"; - case SupportStatus.Imperfect: - return "imperfect"; - case SupportStatus.Preliminary: - return "preliminary"; - default: - return null; - } -#else return supportStatus switch { SupportStatus.Good => "good", @@ -3958,7 +1748,6 @@ namespace SabreTools.Core.Tools SupportStatus.Preliminary => "preliminary", _ => null, }; -#endif } /// @@ -3968,24 +1757,12 @@ namespace SabreTools.Core.Tools /// String corresponding to the bool? public static string FromYesNo(this bool? yesno) { -#if NET_FRAMEWORK - switch (yesno) - { - case true: - return "yes"; - case false: - return "no"; - default: - return null; - } -#else return yesno switch { true => "yes", false => "no", _ => null, }; -#endif } #endregion diff --git a/SabreTools.Core/Tools/Hasher.cs b/SabreTools.Core/Tools/Hasher.cs index 52f1afeb..61deb161 100644 --- a/SabreTools.Core/Tools/Hasher.cs +++ b/SabreTools.Core/Tools/Hasher.cs @@ -35,12 +35,6 @@ namespace SabreTools.Core.Tools _hasher = MD5.Create(); break; -#if NET_FRAMEWORK - case Hash.RIPEMD160: - _hasher = RIPEMD160.Create(); - break; -#endif - case Hash.SHA1: _hasher = SHA1.Create(); break; @@ -80,9 +74,6 @@ namespace SabreTools.Core.Tools break; case Hash.MD5: -#if NET_FRAMEWORK - case Hash.RIPEMD160: -#endif case Hash.SHA1: case Hash.SHA256: case Hash.SHA384: @@ -109,9 +100,6 @@ namespace SabreTools.Core.Tools break; case Hash.MD5: -#if NET_FRAMEWORK - case Hash.RIPEMD160: -#endif case Hash.SHA1: case Hash.SHA256: case Hash.SHA384: @@ -136,9 +124,6 @@ namespace SabreTools.Core.Tools return BitConverter.GetBytes((_hasher as OptimizedCRC.OptimizedCRC).Value).Reverse().ToArray(); case Hash.MD5: -#if NET_FRAMEWORK - case Hash.RIPEMD160: -#endif case Hash.SHA1: case Hash.SHA256: case Hash.SHA384: diff --git a/SabreTools.Core/Tools/Utilities.cs b/SabreTools.Core/Tools/Utilities.cs index 1e9d0640..01809743 100644 --- a/SabreTools.Core/Tools/Utilities.cs +++ b/SabreTools.Core/Tools/Utilities.cs @@ -163,7 +163,6 @@ namespace SabreTools.Core.Tools case "dat": case "json": case "md5": - case "ripemd160": case "sfv": case "sha1": case "sha256": diff --git a/SabreTools.DatFiles/DatFile.cs b/SabreTools.DatFiles/DatFile.cs index 8d5d5d8f..e474b633 100644 --- a/SabreTools.DatFiles/DatFile.cs +++ b/SabreTools.DatFiles/DatFile.cs @@ -111,11 +111,6 @@ namespace SabreTools.DatFiles case DatFormat.RedumpMD5: return new Hashfile(baseDat, Hash.MD5); -#if NET_FRAMEWORK - case DatFormat.RedumpRIPEMD160: - return new Hashfile(baseDat, Hash.RIPEMD160); -#endif - case DatFormat.RedumpSFV: return new Hashfile(baseDat, Hash.CRC); @@ -255,9 +250,6 @@ namespace SabreTools.DatFiles rom.Size = Constants.SizeZero; rom.CRC = Constants.CRCZero; rom.MD5 = Constants.MD5Zero; -#if NET_FRAMEWORK - rom.RIPEMD160 = null; // Constants.RIPEMD160Zero; -#endif rom.SHA1 = Constants.SHA1Zero; rom.SHA256 = null; // Constants.SHA256Zero; rom.SHA384 = null; // Constants.SHA384Zero; @@ -357,7 +349,6 @@ namespace SabreTools.DatFiles name = item.GetName() ?? item.ItemType.ToString(), crc = string.Empty, md5 = string.Empty, - ripemd160 = string.Empty, sha1 = string.Empty, sha256 = string.Empty, sha384 = string.Empty, @@ -390,9 +381,6 @@ namespace SabreTools.DatFiles { crc = (item as Rom).CRC ?? string.Empty; md5 = (item as Rom).MD5 ?? string.Empty; -#if NET_FRAMEWORK - ripemd160 = (item as Rom).RIPEMD160 ?? string.Empty; -#endif sha1 = (item as Rom).SHA1 ?? string.Empty; sha256 = (item as Rom).SHA256 ?? string.Empty; sha384 = (item as Rom).SHA384 ?? string.Empty; @@ -411,7 +399,6 @@ namespace SabreTools.DatFiles .Replace("%category%", item.Machine.Category ?? string.Empty) .Replace("%crc%", crc) .Replace("%md5%", md5) - .Replace("%ripemd160%", ripemd160) .Replace("%sha1%", sha1) .Replace("%sha256%", sha256) .Replace("%sha384%", sha384) @@ -538,9 +525,6 @@ namespace SabreTools.DatFiles rom.Size = Constants.SizeZero; rom.CRC = rom.CRC == "null" ? Constants.CRCZero : null; rom.MD5 = rom.MD5 == "null" ? Constants.MD5Zero : null; -#if NET_FRAMEWORK - rom.RIPEMD160 = rom.RIPEMD160 == "null" ? Constants.RIPEMD160Zero : null; -#endif rom.SHA1 = rom.SHA1 == "null" ? Constants.SHA1Zero : null; rom.SHA256 = rom.SHA256 == "null" ? Constants.SHA256Zero : null; rom.SHA384 = rom.SHA384 == "null" ? Constants.SHA384Zero : null; diff --git a/SabreTools.DatFiles/DatHeader.cs b/SabreTools.DatFiles/DatHeader.cs index fea7bdd9..880d2a3c 100644 --- a/SabreTools.DatFiles/DatHeader.cs +++ b/SabreTools.DatFiles/DatHeader.cs @@ -797,19 +797,6 @@ namespace SabreTools.DatFiles #endregion -#if NET_FRAMEWORK - #region .ripemd160 - - // Redump RIPEMD160 - if (DatFormat.HasFlag(DatFormat.RedumpRIPEMD160)) - { - outfileNames.Add(DatFormat.RedumpRIPEMD160, CreateOutFileNamesHelper(outDir, ".ripemd160", overwrite)); - usedExtensions.Add(".ripemd160"); - }; - - #endregion -#endif - #region .sfv // Redump SFV diff --git a/SabreTools.DatFiles/Enums.cs b/SabreTools.DatFiles/Enums.cs index 15ddb1d4..40149df8 100644 --- a/SabreTools.DatFiles/Enums.cs +++ b/SabreTools.DatFiles/Enums.cs @@ -122,37 +122,30 @@ namespace SabreTools.DatFiles /// RedumpMD5 = 1 << 19, -#if NET_FRAMEWORK - /// - /// RIPEMD160 hash list - /// - RedumpRIPEMD160 = 1 << 20, -#endif - /// /// SHA-1 hash list /// - RedumpSHA1 = 1 << 21, + RedumpSHA1 = 1 << 20, /// /// SHA-256 hash list /// - RedumpSHA256 = 1 << 22, + RedumpSHA256 = 1 << 21, /// /// SHA-384 hash list /// - RedumpSHA384 = 1 << 23, + RedumpSHA384 = 1 << 22, /// /// SHA-512 hash list /// - RedumpSHA512 = 1 << 24, + RedumpSHA512 = 1 << 23, /// /// SpamSum hash list /// - RedumpSpamSum = 1 << 25, + RedumpSpamSum = 1 << 24, #endregion @@ -172,9 +165,6 @@ namespace SabreTools.DatFiles Game, CRC, MD5, -#if NET_FRAMEWORK - RIPEMD160, -#endif SHA1, SHA256, SHA384, diff --git a/SabreTools.DatFiles/Formats/ClrMamePro.cs b/SabreTools.DatFiles/Formats/ClrMamePro.cs index b25b5465..d3ef8853 100644 --- a/SabreTools.DatFiles/Formats/ClrMamePro.cs +++ b/SabreTools.DatFiles/Formats/ClrMamePro.cs @@ -330,13 +330,6 @@ namespace SabreTools.DatFiles.Formats (item as Rom).MD5 = attrVal; break; -#if NET_FRAMEWORK - case "ripemd160": - if (item.ItemType == ItemType.Rom) - (item as Rom).RIPEMD160 = attrVal; - - break; -#endif case "sha1": if (item.ItemType == ItemType.Disk) (item as Disk).SHA1 = attrVal; @@ -670,9 +663,6 @@ namespace SabreTools.DatFiles.Formats cmpw.WriteOptionalAttributeString("size", rom.Size?.ToString()); cmpw.WriteOptionalAttributeString("crc", rom.CRC?.ToLowerInvariant()); cmpw.WriteOptionalAttributeString("md5", rom.MD5?.ToLowerInvariant()); -#if NET_FRAMEWORK - cmpw.WriteOptionalAttributeString("ripemd160", rom.RIPEMD160?.ToLowerInvariant()); -#endif cmpw.WriteOptionalAttributeString("sha1", rom.SHA1?.ToLowerInvariant()); cmpw.WriteOptionalAttributeString("sha256", rom.SHA256?.ToLowerInvariant()); cmpw.WriteOptionalAttributeString("sha384", rom.SHA384?.ToLowerInvariant()); diff --git a/SabreTools.DatFiles/Formats/Hashfile.cs b/SabreTools.DatFiles/Formats/Hashfile.cs index 1b277009..f22dd9da 100644 --- a/SabreTools.DatFiles/Formats/Hashfile.cs +++ b/SabreTools.DatFiles/Formats/Hashfile.cs @@ -72,9 +72,6 @@ namespace SabreTools.DatFiles.Formats Size = null, CRC = (_hash.HasFlag(Hash.CRC) ? hash : null), MD5 = (_hash.HasFlag(Hash.MD5) ? hash : null), -#if NET_FRAMEWORK - RIPEMD160 = (_hash.HasFlag(Hash.RIPEMD160) ? hash : null), -#endif SHA1 = (_hash.HasFlag(Hash.SHA1) ? hash : null), SHA256 = (_hash.HasFlag(Hash.SHA256) ? hash : null), SHA384 = (_hash.HasFlag(Hash.SHA384) ? hash : null), @@ -264,19 +261,6 @@ namespace SabreTools.DatFiles.Formats break; -#if NET_FRAMEWORK - case Hash.RIPEMD160: - switch (datItem.ItemType) - { - case ItemType.Rom: - var rom = datItem as Rom; - fields[0] = rom.RIPEMD160; - fields[1] = name; - break; - } - - break; -#endif case Hash.SHA1: switch (datItem.ItemType) { diff --git a/SabreTools.DatFiles/Formats/Listxml.cs b/SabreTools.DatFiles/Formats/Listxml.cs index b1f170df..77a7916b 100644 --- a/SabreTools.DatFiles/Formats/Listxml.cs +++ b/SabreTools.DatFiles/Formats/Listxml.cs @@ -48,7 +48,6 @@ namespace SabreTools.DatFiles.Formats - @@ -61,11 +60,7 @@ namespace SabreTools.DatFiles.Formats - - - - diff --git a/SabreTools.DatFiles/Formats/Logiqx.cs b/SabreTools.DatFiles/Formats/Logiqx.cs index 5f79e25f..656e5463 100644 --- a/SabreTools.DatFiles/Formats/Logiqx.cs +++ b/SabreTools.DatFiles/Formats/Logiqx.cs @@ -93,7 +93,6 @@ namespace SabreTools.DatFiles.Formats - @@ -104,11 +103,7 @@ namespace SabreTools.DatFiles.Formats - - - - @@ -612,9 +607,6 @@ namespace SabreTools.DatFiles.Formats Size = Utilities.CleanLong(reader.GetAttribute("size")), CRC = reader.GetAttribute("crc"), MD5 = reader.GetAttribute("md5"), -#if NET_FRAMEWORK - RIPEMD160 = reader.GetAttribute("ripemd160"), -#endif SHA1 = reader.GetAttribute("sha1"), SHA256 = reader.GetAttribute("sha256"), SHA384 = reader.GetAttribute("sha384"), @@ -1099,9 +1091,6 @@ namespace SabreTools.DatFiles.Formats xtw.WriteAttributeString("size", rom.Size?.ToString()); xtw.WriteOptionalAttributeString("crc", rom.CRC?.ToLowerInvariant()); xtw.WriteOptionalAttributeString("md5", rom.MD5?.ToLowerInvariant()); -#if NET_FRAMEWORK - xtw.WriteOptionalAttributeString("ripemd160", rom.RIPEMD160?.ToLowerInvariant()); -#endif xtw.WriteOptionalAttributeString("sha1", rom.SHA1?.ToLowerInvariant()); xtw.WriteOptionalAttributeString("sha256", rom.SHA256?.ToLowerInvariant()); xtw.WriteOptionalAttributeString("sha384", rom.SHA384?.ToLowerInvariant()); diff --git a/SabreTools.DatFiles/Formats/SeparatedValue.cs b/SabreTools.DatFiles/Formats/SeparatedValue.cs index 7be86b53..10f4817c 100644 --- a/SabreTools.DatFiles/Formats/SeparatedValue.cs +++ b/SabreTools.DatFiles/Formats/SeparatedValue.cs @@ -220,7 +220,6 @@ namespace SabreTools.DatFiles.Formats "Size", "CRC", "MD5", - //"RIPEMD160", "SHA1", "SHA256", //"SHA384", @@ -298,7 +297,6 @@ namespace SabreTools.DatFiles.Formats fields[8] = rom.Size?.ToString(); fields[9] = rom.CRC?.ToLowerInvariant(); fields[10] = rom.MD5?.ToLowerInvariant(); - //fields[11] = rom.RIPEMD160?.ToLowerInvariant(); fields[11] = rom.SHA1?.ToLowerInvariant(); fields[12] = rom.SHA256?.ToLowerInvariant(); //fields[13] = rom.SHA384?.ToLowerInvariant(); diff --git a/SabreTools.DatFiles/Formats/SoftwareList.cs b/SabreTools.DatFiles/Formats/SoftwareList.cs index 1862f359..0ec5727c 100644 --- a/SabreTools.DatFiles/Formats/SoftwareList.cs +++ b/SabreTools.DatFiles/Formats/SoftwareList.cs @@ -55,7 +55,6 @@ namespace SabreTools.DatFiles.Formats - @@ -69,11 +68,7 @@ namespace SabreTools.DatFiles.Formats - - - - @@ -846,9 +841,6 @@ namespace SabreTools.DatFiles.Formats xtw.WriteOptionalAttributeString("size", rom.Size?.ToString()); xtw.WriteOptionalAttributeString("crc", rom.CRC?.ToLowerInvariant()); xtw.WriteOptionalAttributeString("md5", rom.MD5?.ToLowerInvariant()); -#if NET_FRAMEWORK - xtw.WriteOptionalAttributeString("ripemd160", rom.RIPEMD160?.ToLowerInvariant()); -#endif xtw.WriteOptionalAttributeString("sha1", rom.SHA1?.ToLowerInvariant()); xtw.WriteOptionalAttributeString("sha256", rom.SHA256?.ToLowerInvariant()); xtw.WriteOptionalAttributeString("sha384", rom.SHA384?.ToLowerInvariant()); diff --git a/SabreTools.DatFiles/ItemDictionary.cs b/SabreTools.DatFiles/ItemDictionary.cs index 2782d4d5..1c953640 100644 --- a/SabreTools.DatFiles/ItemDictionary.cs +++ b/SabreTools.DatFiles/ItemDictionary.cs @@ -297,14 +297,6 @@ namespace SabreTools.DatFiles [JsonIgnore, XmlIgnore] public long MD5Count { get; private set; } = 0; -#if NET_FRAMEWORK - /// - /// Number of items with a RIPEMD160 hash - /// - [JsonIgnore, XmlIgnore] - public long RIPEMD160Count { get; private set; } = 0; -#endif - /// /// Number of items with a SHA-1 hash /// @@ -479,9 +471,6 @@ namespace SabreTools.DatFiles // Individual hash counts CRCCount += stats.CRCCount; MD5Count += stats.MD5Count; -#if NET_FRAMEWORK - RIPEMD160Count += stats.RIPEMD160Count; -#endif SHA1Count += stats.SHA1Count; SHA256Count += stats.SHA256Count; SHA384Count += stats.SHA384Count; @@ -746,9 +735,6 @@ namespace SabreTools.DatFiles TotalSize += (item as Rom).Size ?? 0; CRCCount += (string.IsNullOrWhiteSpace((item as Rom).CRC) ? 0 : 1); MD5Count += (string.IsNullOrWhiteSpace((item as Rom).MD5) ? 0 : 1); -#if NET_FRAMEWORK - RIPEMD160Count += (string.IsNullOrWhiteSpace((item as Rom).RIPEMD160) ? 0 : 1); -#endif SHA1Count += (string.IsNullOrWhiteSpace((item as Rom).SHA1) ? 0 : 1); SHA256Count += (string.IsNullOrWhiteSpace((item as Rom).SHA256) ? 0 : 1); SHA384Count += (string.IsNullOrWhiteSpace((item as Rom).SHA384) ? 0 : 1); @@ -905,9 +891,6 @@ namespace SabreTools.DatFiles TotalSize -= (item as Rom).Size ?? 0; CRCCount -= (string.IsNullOrWhiteSpace((item as Rom).CRC) ? 0 : 1); MD5Count -= (string.IsNullOrWhiteSpace((item as Rom).MD5) ? 0 : 1); -#if NET_FRAMEWORK - RIPEMD160Count -= (string.IsNullOrWhiteSpace((item as Rom).RIPEMD160) ? 0 : 1); -#endif SHA1Count -= (string.IsNullOrWhiteSpace((item as Rom).SHA1) ? 0 : 1); SHA256Count -= (string.IsNullOrWhiteSpace((item as Rom).SHA256) ? 0 : 1); SHA384Count -= (string.IsNullOrWhiteSpace((item as Rom).SHA384) ? 0 : 1); @@ -1209,9 +1192,6 @@ namespace SabreTools.DatFiles CRCCount = 0; MD5Count = 0; -#if NET_FRAMEWORK - RIPEMD160Count = 0; -#endif SHA1Count = 0; SHA256Count = 0; SHA384Count = 0; @@ -1246,12 +1226,6 @@ namespace SabreTools.DatFiles else if (DiskCount + MediaCount + RomCount - NodumpCount == SHA1Count) return Field.DatItem_SHA1; -#if NET_FRAMEWORK - // If all items are supposed to have a RIPEMD160, we bucket by that - else if (DiskCount + MediaCount + RomCount - NodumpCount == RIPEMD160Count) - return Field.DatItem_RIPEMD160; -#endif - // If all items are supposed to have a MD5, we bucket by that else if (DiskCount + MediaCount + RomCount - NodumpCount == MD5Count) return Field.DatItem_MD5; diff --git a/SabreTools.DatFiles/SabreTools.DatFiles.csproj b/SabreTools.DatFiles/SabreTools.DatFiles.csproj index 5f12ac44..129c7e7a 100644 --- a/SabreTools.DatFiles/SabreTools.DatFiles.csproj +++ b/SabreTools.DatFiles/SabreTools.DatFiles.csproj @@ -1,16 +1,12 @@  - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.DatItems/DatItem.cs b/SabreTools.DatItems/DatItem.cs index 7c43eae3..a3f41eeb 100644 --- a/SabreTools.DatItems/DatItem.cs +++ b/SabreTools.DatItems/DatItem.cs @@ -156,124 +156,6 @@ namespace SabreTools.DatItems /// DatItem of the specific internal type that corresponds to the inputs public static DatItem Create(ItemType? itemType) { -#if NET_FRAMEWORK - switch (itemType) - { - case ItemType.Adjuster: - return new Adjuster(); - - case ItemType.Analog: - return new Analog(); - - case ItemType.Archive: - return new Archive(); - - case ItemType.BiosSet: - return new BiosSet(); - - case ItemType.Blank: - return new Blank(); - - case ItemType.Chip: - return new Chip(); - - case ItemType.Condition: - return new Condition(); - - case ItemType.Configuration: - return new Configuration(); - - case ItemType.Control: - return new Control(); - - case ItemType.DataArea: - return new DataArea(); - - case ItemType.Device: - return new Device(); - - case ItemType.DeviceReference: - return new DeviceReference(); - - case ItemType.DipSwitch: - return new DipSwitch(); - - case ItemType.Disk: - return new Disk(); - - case ItemType.DiskArea: - return new DiskArea(); - - case ItemType.Display: - return new Display(); - - case ItemType.Driver: - return new Driver(); - - case ItemType.Extension: - return new Extension(); - - case ItemType.Feature: - return new Feature(); - - case ItemType.Info: - return new Info(); - - case ItemType.Input: - return new Input(); - - case ItemType.Instance: - return new Instance(); - - case ItemType.Location: - return new Location(); - - case ItemType.Media: - return new Media(); - - case ItemType.Part: - return new Part(); - - case ItemType.PartFeature: - return new PartFeature(); - - case ItemType.Port: - return new Port(); - - case ItemType.RamOption: - return new RamOption(); - - case ItemType.Release: - return new Release(); - - case ItemType.Rom: - return new Rom(); - - case ItemType.Sample: - return new Sample(); - - case ItemType.Setting: - return new Setting(); - - case ItemType.SharedFeature: - return new SharedFeature(); - - case ItemType.Slot: - return new Slot(); - - case ItemType.SlotOption: - return new SlotOption(); - - case ItemType.SoftwareList: - return new SoftwareList(); - - case ItemType.Sound: - return new Sound(); - - default: - return new Rom(); - } -#else return itemType switch { ItemType.Adjuster => new Adjuster(), @@ -309,7 +191,6 @@ namespace SabreTools.DatItems ItemType.Sound => new Sound(), _ => new Rom(), }; -#endif } /// @@ -458,18 +339,6 @@ namespace SabreTools.DatItems return CleanHashData(hash, Constants.MD5Length); } -#if NET_FRAMEWORK - /// - /// Clean a RIPEMD160 string and pad to the correct size - /// - /// Hash string to sanitize - /// Cleaned string - protected string CleanRIPEMD160(string hash) - { - return CleanHashData(hash, Constants.RIPEMD160Length); - } -#endif - /// /// Clean a SHA1 string and pad to the correct size /// @@ -596,12 +465,6 @@ namespace SabreTools.DatItems key = Constants.MD5Zero; break; -#if NET_FRAMEWORK - case Field.DatItem_RIPEMD160: - key = Constants.RIPEMD160Zero; - break; -#endif - case Field.DatItem_SHA1: key = Constants.SHA1Zero; break; @@ -819,11 +682,7 @@ namespace SabreTools.DatItems if (datItem.ItemType == ItemType.Disk || datItem.ItemType == ItemType.Media || datItem.ItemType == ItemType.Rom) { datItemName += GetDuplicateSuffix(datItem); -#if NET_FRAMEWORK - lastrenamed = lastrenamed ?? datItemName; -#else lastrenamed ??= datItemName; -#endif } // If we have a conflict with the last renamed item, do the right thing diff --git a/SabreTools.DatItems/DatItemTool.cs b/SabreTools.DatItems/DatItemTool.cs index 59186011..537c75da 100644 --- a/SabreTools.DatItems/DatItemTool.cs +++ b/SabreTools.DatItems/DatItemTool.cs @@ -708,11 +708,6 @@ namespace SabreTools.DatItems if (datItemFields.Contains(DatItemField.MD5)) rom.MD5 = null; - #if NET_FRAMEWORK - if (datItemFields.Contains(DatItemField.RIPEMD160)) - rom.RIPEMD160 = null; - #endif - if (datItemFields.Contains(DatItemField.SHA1)) rom.SHA1 = null; @@ -1755,14 +1750,6 @@ namespace SabreTools.DatItems rom.MD5 = newItem.MD5; } -#if NET_FRAMEWORK - if (datItemFields.Contains(DatItemField.RIPEMD160)) - { - if (string.IsNullOrEmpty(rom.RIPEMD160) && !string.IsNullOrEmpty(newItem.RIPEMD160)) - rom.RIPEMD160 = newItem.RIPEMD160; - } -#endif - if (datItemFields.Contains(DatItemField.SHA1)) { if (string.IsNullOrEmpty(rom.SHA1) && !string.IsNullOrEmpty(newItem.SHA1)) @@ -2829,11 +2816,6 @@ namespace SabreTools.DatItems if (datItemMappings.Keys.Contains(DatItemField.MD5)) rom.MD5 = datItemMappings[DatItemField.MD5]; -#if NET_FRAMEWORK - if (datItemMappings.Keys.Contains(DatItemField.RIPEMD160)) - rom.RIPEMD160 = datItemMappings[DatItemField.RIPEMD160]; -#endif - if (datItemMappings.Keys.Contains(DatItemField.SHA1)) rom.SHA1 = datItemMappings[DatItemField.SHA1]; diff --git a/SabreTools.DatItems/Rom.cs b/SabreTools.DatItems/Rom.cs index e531e927..4c0ec57c 100644 --- a/SabreTools.DatItems/Rom.cs +++ b/SabreTools.DatItems/Rom.cs @@ -21,9 +21,6 @@ namespace SabreTools.DatItems private byte[] _crc; // 8 bytes private byte[] _md5; // 16 bytes -#if NET_FRAMEWORK - private byte[] _ripemd160; // 20 bytes -#endif private byte[] _sha1; // 20 bytes private byte[] _sha256; // 32 bytes private byte[] _sha384; // 48 bytes @@ -82,19 +79,6 @@ namespace SabreTools.DatItems set { _md5 = Utilities.StringToByteArray(CleanMD5(value)); } } -#if NET_FRAMEWORK - /// - /// File RIPEMD160 hash - /// - [JsonProperty("ripemd160", DefaultValueHandling = DefaultValueHandling.Ignore)] - [XmlElement("ripemd160")] - public string RIPEMD160 - { - get { return _ripemd160.IsNullOrEmpty() ? null : Utilities.ByteArrayToString(_ripemd160); } - set { _ripemd160 = Utilities.StringToByteArray(CleanRIPEMD160(value)); } - } -#endif - /// /// File SHA-1 hash /// @@ -391,9 +375,6 @@ namespace SabreTools.DatItems Size = baseFile.Size; _crc = baseFile.CRC; _md5 = baseFile.MD5; -#if NET_FRAMEWORK - _ripemd160 = baseFile.RIPEMD160; -#endif _sha1 = baseFile.SHA1; _sha256 = baseFile.SHA256; _sha384 = baseFile.SHA384; @@ -426,9 +407,6 @@ namespace SabreTools.DatItems Size = this.Size, _crc = this._crc, _md5 = this._md5, -#if NET_FRAMEWORK - _ripemd160 = this._ripemd160, -#endif _sha1 = this._sha1, _sha256 = this._sha256, _sha384 = this._sha384, @@ -471,9 +449,6 @@ namespace SabreTools.DatItems Size = this.Size, CRC = this._crc, MD5 = this._md5, -#if NET_FRAMEWORK - RIPEMD160 = this._ripemd160, -#endif SHA1 = this._sha1, SHA256 = this._sha256, SHA384 = this._sha384, @@ -535,11 +510,6 @@ namespace SabreTools.DatItems if (_md5.IsNullOrEmpty() && !other._md5.IsNullOrEmpty()) _md5 = other._md5; -#if NET_FRAMEWORK - if (_ripemd160.IsNullOrEmpty() && !other._ripemd160.IsNullOrEmpty()) - _ripemd160 = other._ripemd160; -#endif - if (_sha1.IsNullOrEmpty() && !other._sha1.IsNullOrEmpty()) _sha1 = other._sha1; @@ -588,9 +558,6 @@ namespace SabreTools.DatItems { return !_crc.IsNullOrEmpty() || !_md5.IsNullOrEmpty() -#if NET_FRAMEWORK - || !_ripemd160.IsNullOrEmpty() -#endif || !_sha1.IsNullOrEmpty() || !_sha256.IsNullOrEmpty() || !_sha384.IsNullOrEmpty() @@ -606,9 +573,6 @@ namespace SabreTools.DatItems { return (_crc != null && _crc.SequenceEqual(Constants.CRCZeroBytes)) || (_md5 != null && _md5.SequenceEqual(Constants.MD5ZeroBytes)) -#if NET_FRAMEWORK - || (_ripemd160 != null && _ripemd160.SequenceEqual(Constants.RIPEMD160ZeroBytes)) -#endif || (_sha1 != null && _sha1.SequenceEqual(Constants.SHA1ZeroBytes)) || (_sha256 != null && _sha256.SequenceEqual(Constants.SHA256ZeroBytes)) || (_sha384 != null && _sha384.SequenceEqual(Constants.SHA384ZeroBytes)) @@ -625,9 +589,6 @@ namespace SabreTools.DatItems { return !(_crc.IsNullOrEmpty() ^ other._crc.IsNullOrEmpty()) || !(_md5.IsNullOrEmpty() ^ other._md5.IsNullOrEmpty()) -#if NET_FRAMEWORK - || !(_ripemd160.IsNullOrEmpty() || other._ripemd160.IsNullOrEmpty()) -#endif || !(_sha1.IsNullOrEmpty() ^ other._sha1.IsNullOrEmpty()) || !(_sha256.IsNullOrEmpty() ^ other._sha256.IsNullOrEmpty()) || !(_sha384.IsNullOrEmpty() ^ other._sha384.IsNullOrEmpty()) @@ -653,9 +614,6 @@ namespace SabreTools.DatItems // Return if all hashes match according to merge rules return ConditionalHashEquals(_crc, other._crc) && ConditionalHashEquals(_md5, other._md5) -#if NET_FRAMEWORK - && ConditionalHashEquals(_ripemd160, other._ripemd160) -#endif && ConditionalHashEquals(_sha1, other._sha1) && ConditionalHashEquals(_sha256, other._sha256) && ConditionalHashEquals(_sha384, other._sha384) @@ -690,12 +648,6 @@ namespace SabreTools.DatItems key = MD5; break; -#if NET_FRAMEWORK - case Field.DatItem_RIPEMD160: - key = RIPEMD160; - break; -#endif - case Field.DatItem_SHA1: key = SHA1; break; diff --git a/SabreTools.DatItems/SabreTools.DatItems.csproj b/SabreTools.DatItems/SabreTools.DatItems.csproj index 99d50ee2..29b56285 100644 --- a/SabreTools.DatItems/SabreTools.DatItems.csproj +++ b/SabreTools.DatItems/SabreTools.DatItems.csproj @@ -1,16 +1,12 @@ - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.DatTools/Parser.cs b/SabreTools.DatTools/Parser.cs index 43cd0a99..1dc89ce5 100644 --- a/SabreTools.DatTools/Parser.cs +++ b/SabreTools.DatTools/Parser.cs @@ -134,10 +134,6 @@ namespace SabreTools.DatTools return DatFormat.SabreJSON; case "md5": return DatFormat.RedumpMD5; -#if NET_FRAMEWORK - case "ripemd160": - return DatFormat.RedumpRIPEMD160; -#endif case "sfv": return DatFormat.RedumpSFV; case "sha1": diff --git a/SabreTools.DatTools/Rebuilder.cs b/SabreTools.DatTools/Rebuilder.cs index 0c06726b..2fe4ea86 100644 --- a/SabreTools.DatTools/Rebuilder.cs +++ b/SabreTools.DatTools/Rebuilder.cs @@ -653,21 +653,6 @@ namespace SabreTools.DatTools /// private static OutputFormat GetOutputFormat(PackingFlag packing) { -#if NET_FRAMEWORK - switch (packing) - { - case PackingFlag.Zip: - return OutputFormat.TorrentZip; - case PackingFlag.Unzip: - case PackingFlag.Partial: - return OutputFormat.Folder; - case PackingFlag.Flat: - return OutputFormat.ParentFolder; - case PackingFlag.None: - default: - return OutputFormat.Folder; - } -#else return packing switch { PackingFlag.Zip => OutputFormat.TorrentZip, @@ -677,7 +662,6 @@ namespace SabreTools.DatTools PackingFlag.None => OutputFormat.Folder, _ => OutputFormat.Folder, }; -#endif } /// @@ -709,32 +693,6 @@ namespace SabreTools.DatTools /// String value corresponding to the OutputFormat private static string FromOutputFormat(OutputFormat itemType) { -#if NET_FRAMEWORK - switch (itemType) - { - case OutputFormat.Folder: - case OutputFormat.ParentFolder: - return "directory"; - case OutputFormat.TapeArchive: - return "TAR"; - case OutputFormat.Torrent7Zip: - return "Torrent7Z"; - case OutputFormat.TorrentGzip: - case OutputFormat.TorrentGzipRomba: - return "TorrentGZ"; - case OutputFormat.TorrentLRZip: - return "TorrentLRZ"; - case OutputFormat.TorrentRar: - return "TorrentRAR"; - case OutputFormat.TorrentXZ: - case OutputFormat.TorrentXZRomba: - return "TorrentXZ"; - case OutputFormat.TorrentZip: - return "TorrentZip"; - default: - return null; - } -#else return itemType switch { OutputFormat.Folder => "directory", @@ -750,7 +708,6 @@ namespace SabreTools.DatTools OutputFormat.TorrentZip => "TorrentZip", _ => null, }; -#endif } } } \ No newline at end of file diff --git a/SabreTools.DatTools/SabreTools.DatTools.csproj b/SabreTools.DatTools/SabreTools.DatTools.csproj index 8d445f1f..448e18f3 100644 --- a/SabreTools.DatTools/SabreTools.DatTools.csproj +++ b/SabreTools.DatTools/SabreTools.DatTools.csproj @@ -1,16 +1,12 @@ - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.DatTools/Splitter.cs b/SabreTools.DatTools/Splitter.cs index 7df0ad30..3caba839 100644 --- a/SabreTools.DatTools/Splitter.cs +++ b/SabreTools.DatTools/Splitter.cs @@ -123,13 +123,6 @@ namespace SabreTools.DatTools fieldDats[Field.DatItem_SHA1].Header.Name += " (SHA-1)"; fieldDats[Field.DatItem_SHA1].Header.Description += " (SHA-1)"; -#if NET_FRAMEWORK - fieldDats[Field.DatItem_RIPEMD160] = DatFile.Create(datFile.Header.CloneStandard()); - fieldDats[Field.DatItem_RIPEMD160].Header.FileName += " (RIPEMD160)"; - fieldDats[Field.DatItem_RIPEMD160].Header.Name += " (RIPEMD160)"; - fieldDats[Field.DatItem_RIPEMD160].Header.Description += " (RIPEMD160)"; -#endif - fieldDats[Field.DatItem_MD5] = DatFile.Create(datFile.Header.CloneStandard()); fieldDats[Field.DatItem_MD5].Header.FileName += " (MD5)"; fieldDats[Field.DatItem_MD5].Header.Name += " (MD5)"; @@ -189,14 +182,6 @@ namespace SabreTools.DatTools fieldDats[Field.DatItem_SHA1].Items.Add(key, item); } -#if NET_FRAMEWORK - // If the file has a RIPEMD160 - else if ((item.ItemType == ItemType.Rom && !string.IsNullOrWhiteSpace((item as Rom).RIPEMD160))) - { - fieldDats[Field.DatItem_RIPEMD160].Items.Add(key, item); - } -#endif - // If the file has an MD5 else if ((item.ItemType == ItemType.Disk && !string.IsNullOrWhiteSpace((item as Disk).MD5)) || (item.ItemType == ItemType.Media && !string.IsNullOrWhiteSpace((item as Media).MD5)) diff --git a/SabreTools.FileTypes/BaseFile.cs b/SabreTools.FileTypes/BaseFile.cs index e9b416cd..d85ccc20 100644 --- a/SabreTools.FileTypes/BaseFile.cs +++ b/SabreTools.FileTypes/BaseFile.cs @@ -87,13 +87,6 @@ namespace SabreTools.FileTypes /// public byte[] MD5 { get; set; } = null; -#if NET_FRAMEWORK - /// - /// RIPEMD160 hash of the file - /// - public byte[] RIPEMD160 { get; set; } = null; -#endif - /// /// SHA-1 hash of the file /// @@ -148,9 +141,6 @@ namespace SabreTools.FileTypes this.Date = temp.Date; this.CRC = temp.CRC; this.MD5 = temp.MD5; -#if NET_FRAMEWORK - this.RIPEMD160 = temp.RIPEMD160; -#endif this.SHA1 = temp.SHA1; this.SHA256 = temp.SHA256; this.SHA384 = temp.SHA384; @@ -179,9 +169,6 @@ namespace SabreTools.FileTypes this.Date = temp.Date; this.CRC = temp.CRC; this.MD5 = temp.MD5; -#if NET_FRAMEWORK - this.RIPEMD160 = temp.RIPEMD160; -#endif this.SHA1 = temp.SHA1; this.SHA256 = temp.SHA256; this.SHA384 = temp.SHA384; @@ -355,10 +342,6 @@ namespace SabreTools.FileTypes hashers.Add(new Hasher(Hash.CRC)); if (hashes.HasFlag(Hash.MD5)) hashers.Add(new Hasher(Hash.MD5)); -#if NET_FRAMEWORK - if (hashes.HasFlag(Hash.RIPEMD160)) - hashers.Add(new Hasher(Hash.RIPEMD160)); -#endif if (hashes.HasFlag(Hash.SHA1)) hashers.Add(new Hasher(Hash.SHA1)); if (hashes.HasFlag(Hash.SHA256)) @@ -424,9 +407,6 @@ namespace SabreTools.FileTypes Size = size, CRC = hashes.HasFlag(Hash.CRC) ? hashers.First(h => h.HashType == Hash.CRC).GetHash() : null, MD5 = hashes.HasFlag(Hash.MD5) ? hashers.First(h => h.HashType == Hash.MD5).GetHash() : null, -#if NET_FRAMEWORK - RIPEMD160 = hashes.HasFlag(Hash.RIPEMD160) ? hashers.First(h => h.HashType == Hash.RIPEMD160).GetHash() : null, -#endif SHA1 = hashes.HasFlag(Hash.SHA1) ? hashers.First(h => h.HashType == Hash.SHA1).GetHash() : null, SHA256 = hashes.HasFlag(Hash.SHA256) ? hashers.First(h => h.HashType == Hash.SHA256).GetHash() : null, SHA384 = hashes.HasFlag(Hash.SHA384) ? hashers.First(h => h.HashType == Hash.SHA384).GetHash() : null, diff --git a/SabreTools.FileTypes/SabreTools.FileTypes.csproj b/SabreTools.FileTypes/SabreTools.FileTypes.csproj index 9843a60f..27d92c6e 100644 --- a/SabreTools.FileTypes/SabreTools.FileTypes.csproj +++ b/SabreTools.FileTypes/SabreTools.FileTypes.csproj @@ -1,16 +1,12 @@ - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.Filtering/Cleaner.cs b/SabreTools.Filtering/Cleaner.cs index 1931ee8b..7bf00568 100644 --- a/SabreTools.Filtering/Cleaner.cs +++ b/SabreTools.Filtering/Cleaner.cs @@ -1206,12 +1206,6 @@ namespace SabreTools.Filtering if (!Filter.PassStringFilter(DatItemFilter.MD5, rom.MD5)) return false; - #if NET_FRAMEWORK - // Filter on RIPEMD160 - if (!Filter.PassStringFilter(DatItemFilter.RIPEMD160, rom.RIPEMD160)) - return false; - #endif - // Filter on SHA-1 if (!Filter.PassStringFilter(DatItemFilter.SHA1, rom.SHA1)) return false; diff --git a/SabreTools.Filtering/DatItemFilter.cs b/SabreTools.Filtering/DatItemFilter.cs index d47e41d4..7295d650 100644 --- a/SabreTools.Filtering/DatItemFilter.cs +++ b/SabreTools.Filtering/DatItemFilter.cs @@ -31,9 +31,6 @@ namespace SabreTools.Filtering public FilterItem Size { get; private set; } = new FilterItem() { Positive = null, Negative = null, Neutral = null }; public FilterItem CRC { get; private set; } = new FilterItem(); public FilterItem MD5 { get; private set; } = new FilterItem(); -#if NET_FRAMEWORK - public FilterItem RIPEMD160 { get; private set; } = new FilterItem(); -#endif public FilterItem SHA1 { get; private set; } = new FilterItem(); public FilterItem SHA256 { get; private set; } = new FilterItem(); public FilterItem SHA384 { get; private set; } = new FilterItem(); @@ -292,12 +289,6 @@ namespace SabreTools.Filtering SetStringFilter(MD5, value, negate); break; -#if NET_FRAMEWORK - case DatItemField.RIPEMD160: - SetStringFilter(RIPEMD160, value, negate); - break; -#endif - case DatItemField.SHA1: SetStringFilter(SHA1, value, negate); break; diff --git a/SabreTools.Filtering/SabreTools.Filtering.csproj b/SabreTools.Filtering/SabreTools.Filtering.csproj index ae46e4ca..d2fe8d00 100644 --- a/SabreTools.Filtering/SabreTools.Filtering.csproj +++ b/SabreTools.Filtering/SabreTools.Filtering.csproj @@ -1,16 +1,12 @@ - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.Help/Feature.cs b/SabreTools.Help/Feature.cs index c0b96d21..d8e51324 100644 --- a/SabreTools.Help/Feature.cs +++ b/SabreTools.Help/Feature.cs @@ -238,11 +238,7 @@ namespace SabreTools.Help output = CreatePadding(pre + 4); } -#if NET_FRAMEWORK - output += subsplit[subsplit.Length - 1]; -#else output += subsplit[^1]; -#endif continue; } @@ -376,11 +372,7 @@ namespace SabreTools.Help output = CreatePadding(preAdjusted + 4); } -#if NET_FRAMEWORK - output += subsplit[subsplit.Length - 1]; -#else output += subsplit[^1]; -#endif continue; } @@ -577,23 +569,6 @@ namespace SabreTools.Help /// True if the feature is enabled, false otherwise public bool IsEnabled() { -#if NET_FRAMEWORK - switch (_featureType) - { - case ParameterType.Flag: - return (_value as bool?) == true; - case ParameterType.String: - return (_value as string) != null; - case ParameterType.Int32: - return (_value as int?).HasValue && (_value as int?).Value != int.MinValue; - case ParameterType.Int64: - return (_value as long?).HasValue && (_value as long?).Value != long.MinValue; - case ParameterType.List: - return (_value as List) != null; - default: - return false; - } -#else return _featureType switch { ParameterType.Flag => (_value as bool?) == true, @@ -603,7 +578,6 @@ namespace SabreTools.Help ParameterType.List => (_value as List) != null, _ => false, }; -#endif } #endregion diff --git a/SabreTools.Help/SabreTools.Help.csproj b/SabreTools.Help/SabreTools.Help.csproj index afe2c72d..752ed0ba 100644 --- a/SabreTools.Help/SabreTools.Help.csproj +++ b/SabreTools.Help/SabreTools.Help.csproj @@ -1,16 +1,12 @@  - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.IO/SabreTools.IO.csproj b/SabreTools.IO/SabreTools.IO.csproj index 98554a2d..98e18829 100644 --- a/SabreTools.IO/SabreTools.IO.csproj +++ b/SabreTools.IO/SabreTools.IO.csproj @@ -1,16 +1,12 @@  - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.Logging/SabreTools.Logging.csproj b/SabreTools.Logging/SabreTools.Logging.csproj index 705a565a..440347c1 100644 --- a/SabreTools.Logging/SabreTools.Logging.csproj +++ b/SabreTools.Logging/SabreTools.Logging.csproj @@ -1,16 +1,12 @@ - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.Reports/BaseReport.cs b/SabreTools.Reports/BaseReport.cs index 842f0128..3b971d94 100644 --- a/SabreTools.Reports/BaseReport.cs +++ b/SabreTools.Reports/BaseReport.cs @@ -62,31 +62,6 @@ namespace SabreTools.Reports /// BaseReport of the specific internal type that corresponds to the inputs public static BaseReport Create(StatReportFormat statReportFormat, string filename, bool baddumpCol, bool nodumpCol) { -#if NET_FRAMEWORK - switch (statReportFormat) - { - case StatReportFormat.None: - return new Textfile(Console.OpenStandardOutput(), baddumpCol, nodumpCol); - - case StatReportFormat.Textfile: - return new Textfile(filename, baddumpCol, nodumpCol); - - case StatReportFormat.CSV: - return new SeparatedValue(filename, ',', baddumpCol, nodumpCol); - - case StatReportFormat.HTML: - return new Html(filename, baddumpCol, nodumpCol); - - case StatReportFormat.SSV: - return new SeparatedValue(filename, ';', baddumpCol, nodumpCol); - - case StatReportFormat.TSV: - return new SeparatedValue(filename, '\t', baddumpCol, nodumpCol); - - default: - return null; - } -#else return statReportFormat switch { StatReportFormat.None => new Textfile(Console.OpenStandardOutput(), baddumpCol, nodumpCol), @@ -97,7 +72,6 @@ namespace SabreTools.Reports StatReportFormat.TSV => new SeparatedValue(filename, '\t', baddumpCol, nodumpCol), _ => null, }; -#endif } /// diff --git a/SabreTools.Reports/Formats/Html.cs b/SabreTools.Reports/Formats/Html.cs index b5500d4b..fb1fa520 100644 --- a/SabreTools.Reports/Formats/Html.cs +++ b/SabreTools.Reports/Formats/Html.cs @@ -47,9 +47,6 @@ namespace SabreTools.Reports.Formats + $"{_stats.DiskCount}" + $"{_stats.CRCCount}" + $"{_stats.MD5Count}" -#if NET_FRAMEWORK - + $"{_stats.RIPEMD160Count}" -#endif + $"{_stats.SHA1Count}" + $"{_stats.SHA256Count}" + (_baddumpCol ? $"{_stats.BaddumpCount}" : string.Empty) diff --git a/SabreTools.Reports/Formats/SeparatedValue.cs b/SabreTools.Reports/Formats/SeparatedValue.cs index f0c160c9..bf3fd131 100644 --- a/SabreTools.Reports/Formats/SeparatedValue.cs +++ b/SabreTools.Reports/Formats/SeparatedValue.cs @@ -47,9 +47,6 @@ namespace SabreTools.Reports.Formats + "\"" + _stats.DiskCount + "\"{0}" + "\"" + _stats.CRCCount + "\"{0}" + "\"" + _stats.MD5Count + "\"{0}" -#if NET_FRAMEWORK - + "\"" + _stats.RIPEMD160Count + "\"{0}" -#endif + "\"" + _stats.SHA1Count + "\"{0}" + "\"" + _stats.SHA256Count + "\"{0}" + "\"" + _stats.SHA384Count + "\"{0}" diff --git a/SabreTools.Reports/Formats/Textfile.cs b/SabreTools.Reports/Formats/Textfile.cs index 002026a0..ab1abe58 100644 --- a/SabreTools.Reports/Formats/Textfile.cs +++ b/SabreTools.Reports/Formats/Textfile.cs @@ -41,12 +41,7 @@ namespace SabreTools.Reports.Formats Roms found: " + _stats.RomCount + @" Disks found: " + _stats.DiskCount + @" Roms with CRC: " + _stats.CRCCount + @" - Roms with MD5: " + _stats.MD5Count -#if NET_FRAMEWORK -+ @" - Roms with RIPEMD160: " + _stats.RIPEMD160Count -#endif -+ @" + Roms with MD5: " + _stats.MD5Count + @" Roms with SHA-1: " + _stats.SHA1Count + @" Roms with SHA-256: " + _stats.SHA256Count + @" Roms with SHA-384: " + _stats.SHA384Count + @" diff --git a/SabreTools.Reports/SabreTools.Reports.csproj b/SabreTools.Reports/SabreTools.Reports.csproj index 1fb9e8ad..0dc2eb5a 100644 --- a/SabreTools.Reports/SabreTools.Reports.csproj +++ b/SabreTools.Reports/SabreTools.Reports.csproj @@ -1,16 +1,12 @@ - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.Skippers/SabreTools.Skippers.csproj b/SabreTools.Skippers/SabreTools.Skippers.csproj index 6eb6c50f..78a72cbc 100644 --- a/SabreTools.Skippers/SabreTools.Skippers.csproj +++ b/SabreTools.Skippers/SabreTools.Skippers.csproj @@ -1,16 +1,12 @@  - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - - diff --git a/SabreTools.Skippers/SkipperFile.cs b/SabreTools.Skippers/SkipperFile.cs index 1d87aeef..30613ba0 100644 --- a/SabreTools.Skippers/SkipperFile.cs +++ b/SabreTools.Skippers/SkipperFile.cs @@ -336,29 +336,13 @@ namespace SabreTools.Skippers if (xtr.GetAttribute("operator") != null) { string oper = xtr.GetAttribute("operator"); -#if NET_FRAMEWORK - switch (oper.ToLowerInvariant()) + test.Operator = oper.ToLowerInvariant() switch { - case "less": - test.Operator = HeaderSkipTestFileOperator.Less; - break; - case "greater": - test.Operator = HeaderSkipTestFileOperator.Greater; - break; - case "equal": - default: - test.Operator = HeaderSkipTestFileOperator.Equal; - break; - } -#else - test.Operator = oper.ToLowerInvariant() switch - { - "less" => HeaderSkipTestFileOperator.Less, - "greater" => HeaderSkipTestFileOperator.Greater, - "equal" => HeaderSkipTestFileOperator.Equal, - _ => HeaderSkipTestFileOperator.Equal, - }; -#endif + "less" => HeaderSkipTestFileOperator.Less, + "greater" => HeaderSkipTestFileOperator.Greater, + "equal" => HeaderSkipTestFileOperator.Equal, + _ => HeaderSkipTestFileOperator.Equal, + }; } return test; diff --git a/SabreTools.Skippers/SkipperTest.cs b/SabreTools.Skippers/SkipperTest.cs index 4558d6fd..b6510fa9 100644 --- a/SabreTools.Skippers/SkipperTest.cs +++ b/SabreTools.Skippers/SkipperTest.cs @@ -55,23 +55,6 @@ namespace SabreTools.Skippers /// The Stream is assumed to be in the proper position for a given test public bool Passes(Stream input) { -#if NET_FRAMEWORK - switch (Type) - { - case HeaderSkipTest.And: - return CheckAnd(input); - case HeaderSkipTest.Data: - return CheckData(input); - case HeaderSkipTest.File: - return CheckFile(input); - case HeaderSkipTest.Or: - return CheckOr(input); - case HeaderSkipTest.Xor: - return CheckXor(input); - default: - return true; - } -#else return Type switch { HeaderSkipTest.And => CheckAnd(input), @@ -81,7 +64,6 @@ namespace SabreTools.Skippers HeaderSkipTest.Xor => CheckXor(input), _ => true, }; -#endif } #region Checking Helpers diff --git a/SabreTools/Features/BaseFeature.cs b/SabreTools/Features/BaseFeature.cs index b36a4c83..1e74267e 100644 --- a/SabreTools/Features/BaseFeature.cs +++ b/SabreTools/Features/BaseFeature.cs @@ -980,22 +980,6 @@ namespace SabreTools.Features } } -#if NET_FRAMEWORK - internal const string SkipRipeMd160Value = "skip-ripemd160"; - internal static Feature SkipRipeMd160Flag - { - get - { - return new Feature( - SkipRipeMd160Value, - new List() { "-nr160", "--skip-ripemd160" }, - "Include RIPEMD160 in output", // TODO: This needs to be inverted later - ParameterType.Flag, - longDescription: "This allows the user to include calculating the RIPEMD160 for each of the files."); - } - } -#endif - internal const string SkipSha1Value = "skip-sha1"; internal static Feature SkipSha1Flag { @@ -1668,22 +1652,6 @@ Possible values are: None, Bios, Device, Mechanical"); } } -#if NET_FRAMEWORK - internal const string NotRipeMd160ListValue = "not-ripemd160"; - internal static Feature NotRipeMd160ListInput - { - get - { - return new Feature( - NotRipeMd160ListValue, - new List() { "-nripemd160", "--not-ripemd160" }, - "Filter by not RIPEMD160 hash", - ParameterType.List, - longDescription: "Include only items without this RIPEMD160 hash in the output. Additionally, the user can specify an exact match or full C#-style regex for pattern matching. Multiple instances of this flag are allowed."); - } - } -#endif - internal const string NotSha1ListValue = "not-sha1"; internal static Feature NotSha1ListInput { @@ -1779,12 +1747,7 @@ Possible values are: md5 - MD5 msx, openmsx - openMSX Software List ol, offlinelist - OfflineList XML - rc, romcenter - RomCenter" -#if NET_FRAMEWORK -+ @" - ripemd160 - RIPEMD160" -#endif -+ @" + rc, romcenter - RomCenter sj, sabrejson - SabreJSON sx, sabrexml - SabreDAT XML sfv - SFV @@ -1837,22 +1800,6 @@ Possible values are: } } -#if NET_FRAMEWORK - internal const string RipeMd160ListValue = "ripemd160"; - internal static Feature RipeMd160ListInput - { - get - { - return new Feature( - RipeMd160ListValue, - new List() { "-ripemd160", "--ripemd160" }, - "Filter by RIPEMD160 hash", - ParameterType.List, - longDescription: "Include only items with this RIPEMD160 hash in the output. Additionally, the user can specify an exact match or full C#-style regex for pattern matching. Multiple instances of this flag are allowed."); - } - } -#endif - internal const string Sha1ListValue = "sha1"; internal static Feature Sha1ListInput { @@ -2217,12 +2164,7 @@ Some special strings that can be used: - %publisher% - Replaced with game Publisher - %category% - Replaced with game Category - %crc% - Replaced with the CRC -- %md5% - Replaced with the MD5" -#if NET_FRAMEWORK -+ @" -- %ripemd160% - Replaced with the RIPEMD160" -#endif -+ @" +- %md5% - Replaced with the MD5 - %sha1% - Replaced with the SHA-1 - %sha256% - Replaced with the SHA-256 - %sha384% - Replaced with the SHA-384 @@ -2383,10 +2325,6 @@ Some special strings that can be used: AddFeature(NotCrcListInput); AddFeature(Md5ListInput); AddFeature(NotMd5ListInput); -#if NET_FRAMEWORK - AddFeature(RipeMd160ListInput); - AddFeature(NotRipeMd160ListInput); -#endif AddFeature(Sha1ListInput); AddFeature(NotSha1ListInput); AddFeature(Sha256ListInput); @@ -2473,10 +2411,6 @@ Some special strings that can be used: if (GetBoolean(features, SkipMd5Value)) includeInScan &= ~Hash.MD5; -#if NET_FRAMEWORK - if (GetBoolean(features, SkipRipeMd160Value)) - includeInScan |= Hash.RIPEMD160; // TODO: This needs to be inverted later -#endif if (GetBoolean(features, SkipSha1Value)) includeInScan &= ~Hash.SHA1; if (GetBoolean(features, SkipSha256Value)) @@ -2617,9 +2551,6 @@ Some special strings that can be used: logger.User($"This flag '{(UpdateHashesValue)}' is deprecated, please use {(string.Join(", ", UpdateFieldListInput.Flags))} instead. Please refer to README.1ST or the help feature for more details."); updateFields.Add(DatItemField.CRC); updateFields.Add(DatItemField.MD5); -#if NET_FRAMEWORK - updateFields.Add(DatItemField.RIPEMD160); -#endif updateFields.Add(DatItemField.SHA1); updateFields.Add(DatItemField.SHA256); updateFields.Add(DatItemField.SHA384); @@ -2882,20 +2813,6 @@ Some special strings that can be used: cleaner.DatItemFilter.SetFilter(DatItemField.MD5, GetList(features, Md5ListValue), false); } -#if NET_FRAMEWORK - // RIPEMD160 - if (features.ContainsKey(NotRipeMd160ListValue)) - { - logger.User($"This flag '{NotRipeMd160ListValue}' is deprecated, please use {string.Join(", ", FilterListInput.Flags)} instead. Please refer to README.1ST or the help feature for more details."); - cleaner.DatItemFilter.SetFilter(DatItemField.RIPEMD160, GetList(features, NotRipeMd160ListValue), true); - } - if (features.ContainsKey(RipeMd160ListValue)) - { - logger.User($"This flag '{RipeMd160ListValue}' is deprecated, please use {string.Join(", ", FilterListInput.Flags)} instead. Please refer to README.1ST or the help feature for more details."); - cleaner.DatItemFilter.SetFilter(DatItemField.RIPEMD160, GetList(features, RipeMd160ListValue), false); - } -#endif - // Runnable if (features.ContainsKey(NotRunnableValue)) { @@ -3138,10 +3055,6 @@ CREATE TABLE IF NOT EXISTS data ( case "rc": case "romcenter": return DatFormat.RomCenter; -#if NET_FRAMEWORK - case "ripemd160": - return DatFormat.RedumpRIPEMD160; -#endif case "sd": case "sabredat": case "sx": @@ -3185,25 +3098,6 @@ CREATE TABLE IF NOT EXISTS data ( /// StatReportFormat value corresponding to the string private static StatReportFormat GetStatReportFormat(string input) { -#if NET_FRAMEWORK - switch (input?.Trim().ToLowerInvariant()) - { - case "all": - return StatReportFormat.All; - case "csv": - return StatReportFormat.CSV; - case "html": - return StatReportFormat.HTML; - case "ssv": - return StatReportFormat.SSV; - case "text": - return StatReportFormat.Textfile; - case "tsv": - return StatReportFormat.TSV; - default: - return 0x0; - } -#else return input?.Trim().ToLowerInvariant() switch { "all" => StatReportFormat.All, @@ -3214,7 +3108,6 @@ CREATE TABLE IF NOT EXISTS data ( "tsv" => StatReportFormat.TSV, _ => 0x0, }; -#endif } /// diff --git a/SabreTools/Features/Batch.cs b/SabreTools/Features/Batch.cs index df64c860..e284726c 100644 --- a/SabreTools/Features/Batch.cs +++ b/SabreTools/Features/Batch.cs @@ -175,7 +175,9 @@ Reset the internal state: reset();"; } // Read in the individual arguments - Field filterField = command.Arguments[0].AsField(); + DatHeaderField filterDatHeaderField = command.Arguments[0].AsDatHeaderField(); + MachineField filterMachineField = command.Arguments[0].AsMachineField(); + DatItemField filterDatItemField = command.Arguments[0].AsDatItemField(); string filterValue = command.Arguments[1]; bool? filterRemove = false; if (command.Arguments.Count >= 3) @@ -185,7 +187,9 @@ Reset the internal state: reset();"; filterPerMachine = command.Arguments[3].AsYesNo(); // If we had an invalid input, log and continue - if (filterField == Field.NULL) + if (filterDatHeaderField == DatHeaderField.NULL + && filterMachineField == MachineField.NULL + && filterDatItemField == DatItemField.NULL) { logger.User($"{command.Arguments[0]} was an invalid field name"); continue; @@ -210,9 +214,9 @@ Reset the internal state: reset();"; }; // Set the possible filters - cleaner.DatHeaderFilter.SetFilter(command.Arguments[0].AsDatHeaderField(), filterValue, filterRemove.Value); - cleaner.MachineFilter.SetFilter(command.Arguments[0].AsMachineField(), filterValue, filterRemove.Value); - cleaner.DatItemFilter.SetFilter(command.Arguments[0].AsDatItemField(), filterValue, filterRemove.Value); + cleaner.DatHeaderFilter.SetFilter(filterDatHeaderField, filterValue, filterRemove.Value); + cleaner.MachineFilter.SetFilter(filterMachineField, filterValue, filterRemove.Value); + cleaner.DatItemFilter.SetFilter(filterDatItemField, filterValue, filterRemove.Value); // Apply the filters blindly Modification.ApplyFilters(datFile, cleaner, filterPerMachine.Value); @@ -234,11 +238,13 @@ Reset the internal state: reset();"; } // Read in the individual arguments - Field extraField = command.Arguments[0].AsField(); + MachineField extraMachineField = command.Arguments[0].AsMachineField(); + DatItemField extraDatItemField = command.Arguments[0].AsDatItemField(); string extraFile = command.Arguments[1]; // If we had an invalid input, log and continue - if (extraField == Field.NULL) + if (extraMachineField == MachineField.NULL + && extraDatItemField == DatItemField.NULL) { logger.User($"{command.Arguments[0]} was an invalid field name"); continue; @@ -253,8 +259,8 @@ Reset the internal state: reset();"; ExtraIni extraIni = new ExtraIni(); ExtraIniItem extraIniItem = new ExtraIniItem(); extraIniItem.PopulateFromFile(extraFile); - extraIniItem.MachineField = command.Arguments[0].AsMachineField(); - extraIniItem.DatItemField = command.Arguments[0].AsDatItemField(); + extraIniItem.MachineField = extraMachineField; + extraIniItem.DatItemField = extraDatItemField; extraIni.Items.Add(extraIniItem); // Apply the extra INI blindly diff --git a/SabreTools/Features/DatFromDir.cs b/SabreTools/Features/DatFromDir.cs index 442d33e2..2686d679 100644 --- a/SabreTools/Features/DatFromDir.cs +++ b/SabreTools/Features/DatFromDir.cs @@ -25,9 +25,6 @@ namespace SabreTools.Features // Hash Features AddFeature(SkipMd5Flag); -#if NET_FRAMEWORK - AddFeature(SkipRipeMd160Flag); -#endif AddFeature(SkipSha1Flag); AddFeature(SkipSha256Flag); AddFeature(SkipSha384Flag); diff --git a/SabreTools/Features/Extract.cs b/SabreTools/Features/Extract.cs index e9681cee..481cfc7e 100644 --- a/SabreTools/Features/Extract.cs +++ b/SabreTools/Features/Extract.cs @@ -83,18 +83,10 @@ The following systems have headers that this program can work with: try { // Extract the header as a string for the database -#if NET_FRAMEWORK - using (var fs = File.OpenRead(file)) - { -#else using var fs = File.OpenRead(file); -#endif byte[] hbin = new byte[(int)rule.StartOffset]; fs.Read(hbin, 0, (int)rule.StartOffset); hstr = Utilities.ByteArrayToString(hbin); -#if NET_FRAMEWORK - } -#endif } catch { diff --git a/SabreTools/Features/Restore.cs b/SabreTools/Features/Restore.cs index ad985a2e..c0981584 100644 --- a/SabreTools/Features/Restore.cs +++ b/SabreTools/Features/Restore.cs @@ -137,18 +137,10 @@ The following systems have headers that this program can work with: if (!File.Exists(input)) return; -#if NET_FRAMEWORK - using (FileStream fsr = File.OpenRead(input)) - using (FileStream fsw = File.OpenWrite(output)) - { -#else using FileStream fsr = File.OpenRead(input); using FileStream fsw = File.OpenWrite(output); -#endif - AppendBytes(fsr, fsw, bytesToAddToHead, bytesToAddToTail); -#if NET_FRAMEWORK - } -#endif + + AppendBytes(fsr, fsw, bytesToAddToHead, bytesToAddToTail); } /// diff --git a/SabreTools/SabreTools.csproj b/SabreTools/SabreTools.csproj index 1eb1e709..e44f5177 100644 --- a/SabreTools/SabreTools.csproj +++ b/SabreTools/SabreTools.csproj @@ -2,16 +2,12 @@ Exe - net48;netcoreapp3.1;net5.0 + netcoreapp3.1;net5.0 win10-x64;win7-x86 Debug;Release AnyCPU;x64 - - NET_FRAMEWORK - -