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:
zeromus 2011-08-28 06:31:31 +00:00
parent e6efc1a8ba
commit 41d45ed180
4 changed files with 10 additions and 15 deletions

View File

@ -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>

View File

@ -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);

View File

@ -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);

View File

@ -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)