|
|
|
|
@ -110,20 +110,7 @@ bool CDImageMemory::CopyImage(CDImage* image, ProgressCallback* progress)
|
|
|
|
|
m_filename = image->GetFileName();
|
|
|
|
|
m_lba_count = image->GetLBACount();
|
|
|
|
|
|
|
|
|
|
if (!image->Seek(0))
|
|
|
|
|
{
|
|
|
|
|
progress->ModalError("Failed to seek to start of image for subq read");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
progress->SetStatusText("Looking for invalid subchannel data...");
|
|
|
|
|
|
|
|
|
|
CDImage::SubChannelQ subq;
|
|
|
|
|
for (LBA lba = 0; lba < m_lba_count; lba++)
|
|
|
|
|
{
|
|
|
|
|
if (ReadSubChannelQ(&subq) && !subq.IsCRCValid())
|
|
|
|
|
m_sbi.AddReplacementSubChannelQ(lba, subq);
|
|
|
|
|
}
|
|
|
|
|
m_sbi.LoadSBI(FileSystem::ReplaceExtension(m_filename, "sbi").c_str());
|
|
|
|
|
|
|
|
|
|
return Seek(1, Position{0, 0, 0});
|
|
|
|
|
}
|
|
|
|
|
|