From 6b741992af46e69a3fe7f2d418287258bbb9fe07 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Wed, 4 Nov 2020 02:36:31 +0000 Subject: [PATCH] Fix indexes from CloneCD disc images. Fixes #374. --- Aaru.Images/CloneCD/Read.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Aaru.Images/CloneCD/Read.cs b/Aaru.Images/CloneCD/Read.cs index f8acc257d..dd28e04c4 100644 --- a/Aaru.Images/CloneCD/Read.cs +++ b/Aaru.Images/CloneCD/Read.cs @@ -433,8 +433,6 @@ namespace Aaru.DiscImages Tracks.Add(currentTrack); } - else - firstTrackInSession = false; currentTrack = new Track { @@ -449,6 +447,23 @@ namespace Aaru.DiscImages TrackSession = descriptor.SessionNumber }; + if(firstTrackInSession) + { + currentTrack.TrackPregap = 150; + + if(currentTrack.TrackStartSector > 0) + { + currentTrack.Indexes[0] = (int)currentTrack.TrackStartSector - 150; + + if(currentTrack.Indexes[0] < 0) + currentTrack.Indexes[0] = 0; + } + } + + currentTrack.Indexes[1] = (int)currentTrack.TrackStartSector; + + firstTrackInSession = false; + // Need to check exact data type later if((TocControl)(descriptor.CONTROL & 0x0D) == TocControl.DataTrack || (TocControl)(descriptor.CONTROL & 0x0D) == TocControl.DataTrackIncremental)