diff --git a/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Compile.cs b/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Compile.cs
index 01bf011c15..5d74547a04 100644
--- a/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Compile.cs
+++ b/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Compile.cs
@@ -399,7 +399,7 @@ namespace BizHawk.Emulation.DiscSystem.CUE
});
}
- public void Run()
+ public override void Run()
{
//in params
var cue = IN_CueFile;
diff --git a/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Load.cs b/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Load.cs
index 701e173bce..7ad80b45d8 100644
--- a/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Load.cs
+++ b/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Load.cs
@@ -163,7 +163,7 @@ namespace BizHawk.Emulation.DiscSystem.CUE
OUT_Disc.RawTOCEntries.Add(new RawTOCEntry { QData = toc_sq });
}
- public void Run()
+ public override void Run()
{
//params
var compiled = IN_CompileJob;
diff --git a/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Parse.cs b/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Parse.cs
index 04564603c5..580e100f95 100644
--- a/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Parse.cs
+++ b/src/BizHawk.Emulation.DiscSystem/DiscFormats/CUE/CUE_Parse.cs
@@ -375,10 +375,10 @@ namespace BizHawk.Emulation.DiscSystem.CUE
job.FinishLog();
} //LoadFromString
- public void Run(ParseCueJob job)
+ public override void Run()
{
- job.OUT_CueFile = new CUE_File();
- job.LoadFromString(job);
+ OUT_CueFile = new CUE_File();
+ LoadFromString(this);
}
}
diff --git a/src/BizHawk.Emulation.DiscSystem/DiscJob.cs b/src/BizHawk.Emulation.DiscSystem/DiscJob.cs
index b619707133..56a7bf0245 100644
--- a/src/BizHawk.Emulation.DiscSystem/DiscJob.cs
+++ b/src/BizHawk.Emulation.DiscSystem/DiscJob.cs
@@ -8,7 +8,7 @@ namespace BizHawk.Emulation.DiscSystem
/// Returns WARNINGS for things which will are irregular or erroneous but later jobs might be able to handle, or which can be worked around by configuration assumptions.
/// TODO - make IDisposable so I don't have to remember to Finish() it?
///
- public class DiscJob
+ public abstract class DiscJob
{
internal int CurrentLine = -1;
@@ -51,6 +51,8 @@ namespace BizHawk.Emulation.DiscSystem
OUT_ErrorLevel |= job.OUT_ErrorLevel;
swLog.Write(job.OUT_Log);
}
+
+ public abstract void Run();
}
internal class DiscJobAbortException : Exception
diff --git a/src/BizHawk.Emulation.DiscSystem/DiscMountJob.cs b/src/BizHawk.Emulation.DiscSystem/DiscMountJob.cs
index 4f1029e248..0c63c6a53b 100644
--- a/src/BizHawk.Emulation.DiscSystem/DiscMountJob.cs
+++ b/src/BizHawk.Emulation.DiscSystem/DiscMountJob.cs
@@ -44,7 +44,7 @@ namespace BizHawk.Emulation.DiscSystem
public bool OUT_SlowLoadAborted { get; private set; }
/// is
- public void Run()
+ public override void Run()
{
switch (IN_DiscInterface)
{
@@ -136,7 +136,7 @@ namespace BizHawk.Emulation.DiscSystem
cue_content ??= File.ReadAllText(cuePath);
parseJob.IN_CueString = cue_content;
bool okParse = true;
- try { parseJob.Run(parseJob); }
+ try { parseJob.Run(); }
catch (DiscJobAbortException) { okParse = false; parseJob.FinishLog(); }
if (!string.IsNullOrEmpty(parseJob.OUT_Log)) Console.WriteLine(parseJob.OUT_Log);
ConcatenateJobLog(parseJob);
diff --git a/src/BizHawk.Emulation.DiscSystem/Internal/Jobs/LoadSBIJob.cs b/src/BizHawk.Emulation.DiscSystem/Internal/Jobs/LoadSBIJob.cs
index ff0ddaf0dd..1a62038b6b 100644
--- a/src/BizHawk.Emulation.DiscSystem/Internal/Jobs/LoadSBIJob.cs
+++ b/src/BizHawk.Emulation.DiscSystem/Internal/Jobs/LoadSBIJob.cs
@@ -21,7 +21,7 @@ namespace BizHawk.Emulation.DiscSystem.SBI
public SubQPatchData OUT_Data { get; private set; }
/// file at does not contain valid header or contains misformatted record
- public void Run()
+ public override void Run()
{
using var fs = File.OpenRead(IN_Path);
BinaryReader br = new BinaryReader(fs);