diff --git a/DATabase/Core/Import.cs b/DATabase/Core/Import.cs index ea86cedb..5e6d7c17 100644 --- a/DATabase/Core/Import.cs +++ b/DATabase/Core/Import.cs @@ -49,6 +49,7 @@ namespace SabreTools private static string _nointroPattern = @"^(.*?) \((\d{8}-\d{6})_CM\)\.dat$"; private static string _redumpPattern = @"^(.*?) \((\d{8} \d{2}-\d{2}-\d{2})\)\.dat$"; private static string _tosecPattern = @"^(.*?) - .* \(TOSEC-v(\d{4}-\d{2}-\d{2})_CM\)\.dat$"; + private static string _tosecSpecialPattern = @"^(.*? - .*? - .*?) - .* \(TOSEC-v(\d{4}-\d{2}-\d{2})_CM\)\.dat$"; private static string _truripPattern = @"^(.*?) - .* \(trurip_XML\)\.dat$"; // Regex Mapped Name Patterns @@ -206,8 +207,14 @@ namespace SabreTools case DatType.TOSEC: if (!Remapping.TOSEC.ContainsKey(fileinfo[1].Value)) { - _logger.Log("The filename " + fileinfo[1].Value + " could not be mapped! Please check the mappings and try again"); - return false; + // Handle special case mappings found only in TOSEC + fileinfo = Regex.Match(filename, _tosecSpecialPattern).Groups; + + if (!Remapping.TOSEC.ContainsKey(fileinfo[1].Value)) + { + _logger.Log("The filename " + fileinfo[1].Value + " could not be mapped! Please check the mappings and try again"); + return false; + } } GroupCollection tosecInfo = Regex.Match(Remapping.TOSEC[fileinfo[1].Value], _remappedPattern).Groups;