disc-make concept of redundant track 0 elimination mandatory (i had made a note that it was apparently mandatory and then removed the option, but didnt bother to restore the functionality)
This commit is contained in:
parent
e6efc1a8ba
commit
41d45ed180
|
@ -404,15 +404,15 @@ namespace BizHawk.DiscSystem
|
||||||
foreach (var index in track.Indexes)
|
foreach (var index in track.Indexes)
|
||||||
{
|
{
|
||||||
int x = index.aba - track.Indexes[0].aba;
|
int x = index.aba - track.Indexes[0].aba;
|
||||||
//if (prefs.OmitRedundantIndex0 && index.num == 0 && index.aba == track.Indexes[1].aba)
|
if (index.num == 0 && index.aba == track.Indexes[1].aba)
|
||||||
//{
|
{
|
||||||
// //dont emit index 0 when it is the same as index 1, it confuses some cue parsers
|
//dont emit index 0 when it is the same as index 1, it is illegal for some reason
|
||||||
//}
|
}
|
||||||
//else if (i==0 && index.num == 0)
|
//else if (i==0 && index.num == 0)
|
||||||
//{
|
//{
|
||||||
// //don't generate the first index, it is illogical
|
// //don't generate the first index, it is illogical
|
||||||
//}
|
//}
|
||||||
//else
|
else
|
||||||
{
|
{
|
||||||
//track 1 included the lead-in at the beginning of it. sneak past that.
|
//track 1 included the lead-in at the beginning of it. sneak past that.
|
||||||
//if (i == 0) x -= 150;
|
//if (i == 0) x -= 150;
|
||||||
|
@ -661,12 +661,6 @@ namespace BizHawk.DiscSystem
|
||||||
|
|
||||||
//THIS IS WRONG-HEADED. track 1 index 0 must never equal index 1! apparently.
|
//THIS IS WRONG-HEADED. track 1 index 0 must never equal index 1! apparently.
|
||||||
|
|
||||||
///// <summary>
|
|
||||||
///// some cue parsers can't handle redundant Index 0 (equal to Index 1). Such as daemon tools. So, hide those indices.
|
|
||||||
///// Our canonical format craves explicitness so this is defaulted off.
|
|
||||||
///// </summary>
|
|
||||||
//public bool OmitRedundantIndex0 = false;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DO NOT CHANGE THIS! All sectors will be written with ECM data. It's a waste of space, but it is exact. (not completely supported yet)
|
/// DO NOT CHANGE THIS! All sectors will be written with ECM data. It's a waste of space, but it is exact. (not completely supported yet)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -179,6 +179,11 @@ namespace BizHawk.DiscSystem
|
||||||
if (lba <= 0 && index.num == 0 && track.num == 1)
|
if (lba <= 0 && index.num == 0 && track.num == 1)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
//dont emit index 0 when it is the same as index 1, it is illegal for some reason
|
||||||
|
else if (index.num == 0 && index.aba == track.Indexes[1].aba)
|
||||||
|
{
|
||||||
|
//dont emit index 0 when it is the same as index 1, it confuses some cue parsers
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sb.AppendFormat(" INDEX {0:D2} {1}\n", index.num, new Timestamp(lba).Value);
|
sb.AppendFormat(" INDEX {0:D2} {1}\n", index.num, new Timestamp(lba).Value);
|
||||||
|
|
|
@ -118,7 +118,6 @@ namespace BizHawk
|
||||||
//prefs.AnnotateCue = false;
|
//prefs.AnnotateCue = false;
|
||||||
//prefs.OneBlobPerTrack = false;
|
//prefs.OneBlobPerTrack = false;
|
||||||
//prefs.ReallyDumpBin = true;
|
//prefs.ReallyDumpBin = true;
|
||||||
//prefs.OmitRedundantIndex0 = true;
|
|
||||||
//prefs.SingleSession = true;
|
//prefs.SingleSession = true;
|
||||||
////var cueBin = disc.DumpCueBin("Bomberman '94 Taikenban (SCD)(JPN)_hawked_hawked", prefs);
|
////var cueBin = disc.DumpCueBin("Bomberman '94 Taikenban (SCD)(JPN)_hawked_hawked", prefs);
|
||||||
//var cueBin = disc.DumpCueBin("Bomberman '94 Taikenban (SCD)(JPN)_hawked", prefs);
|
//var cueBin = disc.DumpCueBin("Bomberman '94 Taikenban (SCD)(JPN)_hawked", prefs);
|
||||||
|
|
|
@ -103,7 +103,6 @@ namespace BizHawk
|
||||||
prefs.AnnotateCue = checkCueProp_Annotations.Checked;
|
prefs.AnnotateCue = checkCueProp_Annotations.Checked;
|
||||||
prefs.OneBlobPerTrack = checkCueProp_OneBlobPerTrack.Checked;
|
prefs.OneBlobPerTrack = checkCueProp_OneBlobPerTrack.Checked;
|
||||||
prefs.ReallyDumpBin = false;
|
prefs.ReallyDumpBin = false;
|
||||||
//prefs.OmitRedundantIndex0 = checkCueProp_OmitRedundantIndex0.Checked;
|
|
||||||
prefs.SingleSession = true;
|
prefs.SingleSession = true;
|
||||||
return prefs;
|
return prefs;
|
||||||
}
|
}
|
||||||
|
@ -115,7 +114,6 @@ namespace BizHawk
|
||||||
void PresetCanonical()
|
void PresetCanonical()
|
||||||
{
|
{
|
||||||
checkCueProp_Annotations.Checked = false;
|
checkCueProp_Annotations.Checked = false;
|
||||||
//checkCueProp_OmitRedundantIndex0.Checked = false;
|
|
||||||
checkCueProp_OneBlobPerTrack.Checked = false;
|
checkCueProp_OneBlobPerTrack.Checked = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,7 +124,6 @@ namespace BizHawk
|
||||||
void PresetDaemonTools()
|
void PresetDaemonTools()
|
||||||
{
|
{
|
||||||
checkCueProp_Annotations.Checked = false;
|
checkCueProp_Annotations.Checked = false;
|
||||||
//checkCueProp_OmitRedundantIndex0.Checked = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkCueProp_CheckedChanged(object sender, EventArgs e)
|
private void checkCueProp_CheckedChanged(object sender, EventArgs e)
|
||||||
|
|
Loading…
Reference in New Issue