diff --git a/CompatBot/EventHandlers/LogParsing/LogParser.LogSections.cs b/CompatBot/EventHandlers/LogParsing/LogParser.LogSections.cs index beae1ebe..20fa4802 100644 --- a/CompatBot/EventHandlers/LogParsing/LogParser.LogSections.cs +++ b/CompatBot/EventHandlers/LogParsing/LogParser.LogSections.cs @@ -184,6 +184,7 @@ internal partial class LogParser ["SYS: Title was set from"] = TitleWasSet(), ["SYS: Path:"] = DigitalPathSys(), ["SYS: Boot path:"] = BootPathInBodySys(), + ["SYS: Disc:"] = DiscMountSys(), ["Elf path:"] = ElfPath(), ["VFS: Mounted path \"/dev_bdvd\""] = VfsMountPath(), ["Invalid or unsupported file format:"] = InvalidFileFormat(), diff --git a/CompatBot/EventHandlers/LogParsing/LogParser.RegexPatterns.cs b/CompatBot/EventHandlers/LogParsing/LogParser.RegexPatterns.cs index 07419d3b..879d4dc9 100644 --- a/CompatBot/EventHandlers/LogParsing/LogParser.RegexPatterns.cs +++ b/CompatBot/EventHandlers/LogParsing/LogParser.RegexPatterns.cs @@ -248,6 +248,8 @@ internal partial class LogParser private static partial Regex DigitalPathSys(); [GeneratedRegex(@"Boot path: (?.*(?/dev_hdd0/game/(?[^/\r\n]+)).*|[^\r\n]*)\r?$", DefaultOptions)] private static partial Regex BootPathInBodySys(); + [GeneratedRegex(@"SYS: Disc: /(?\w+)/\r?$", DefaultOptions)] + private static partial Regex DiscMountSys(); [GeneratedRegex(@"Elf path: (?/host_root/)?(?(?/dev_hdd0/game/(?[^/\r\n]+)/USRDIR/EBOOT\.BIN|.*?))\r?$", DefaultOptions)] private static partial Regex ElfPath(); [GeneratedRegex(@"Mounted path ""/dev_bdvd"" to ""(?[^""]+)""", DefaultOptions)] diff --git a/CompatBot/Utils/ResultFormatters/LogParserResultFormatter.GeneralNotesSection.cs b/CompatBot/Utils/ResultFormatters/LogParserResultFormatter.GeneralNotesSection.cs index 76c21e22..2d189df5 100644 --- a/CompatBot/Utils/ResultFormatters/LogParserResultFormatter.GeneralNotesSection.cs +++ b/CompatBot/Utils/ResultFormatters/LogParserResultFormatter.GeneralNotesSection.cs @@ -116,7 +116,12 @@ internal static partial class LogParserResult notes.Add("❌ Disc version of the game inside the `/dev_hdd0/game/` directory"); if (serial is {Length: >0} && isElf) notes.Add($"⚠️ Retail game booted directly through `{Path.GetFileName(elfBootPath)}`, which is not recommended"); - if (items["mounted_dev_bdvd"] is { Length: > 0 } mountedBdvd + + if (items["vfs_disc_mount"] is "vfsv0_virtual_iso_overlay_fs_dev") + { + notes.Add("ℹ️ Booted from ISO"); + } + else if (items["mounted_dev_bdvd"] is { Length: > 0 } mountedBdvd && items["os_type"] is {Length: >0} osType && mountedBdvd.Split('/', StringSplitOptions.RemoveEmptyEntries) is {Length: <3} segments && (osType is "Windows" && segments is [[_, ':']] // D:/