[CompactDisc dumping] Correct offset fixing when trimming or re-reading errored audio sectors. Fixes #792

This commit is contained in:
2022-12-14 02:24:02 +00:00
parent 9f41916e00
commit b69dad87b2
2 changed files with 16 additions and 6 deletions

View File

@@ -243,10 +243,15 @@ partial class Dump
audioExtents.Contains(badSector) &&
offsetBytes != 0)
{
if(offsetBytes > 0)
badSectorToReRead -= (uint)sectorsForOffset;
if(offsetBytes < 0)
{
if(badSectorToReRead == 0)
badSectorToReRead = uint.MaxValue - (uint)(sectorsForOffset - 1); // -1
else
badSectorToReRead -= (uint)sectorsForOffset;
}
sectorsToReRead = (byte)(sectorsForOffset + 1);
sectorsToReRead += (byte)sectorsForOffset;
}
if(_supportsPlextorD8 && audioExtents.Contains(badSector))