Skip to content

Commit

Permalink
RomLoader - GPGX - support rom + cd .xml files
Browse files Browse the repository at this point in the history
  • Loading branch information
adelikat committed May 16, 2020
1 parent e547a0e commit 14c117e
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions src/BizHawk.Client.Common/RomLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ private List<Disc> DiscsFromXml(XmlGame xmlGame, string systemId, DiscType diskT
{
var discs = new List<Disc>();
var sw = new StringWriter();
foreach (var e in xmlGame.AssetFullPaths)
foreach (var e in xmlGame.AssetFullPaths.Where(a => IsDisc(Path.GetExtension(a))))
{
string discPath = e;

Expand Down Expand Up @@ -468,7 +468,7 @@ private List<Disc> DiscsFromXml(XmlGame xmlGame, string systemId, DiscType diskT
System = "PSX"
};
}
else if (ext == ".iso" || ext == ".cue" || ext == ".ccd" || ext == ".mds")
else if (IsDisc(ext))
{
if (file.IsArchive)
{
Expand Down Expand Up @@ -818,13 +818,15 @@ private List<Disc> DiscsFromXml(XmlGame xmlGame, string systemId, DiscType diskT
(Tst.Settings)GetCoreSettings<Tst>(), (Tst.SyncSettings)GetCoreSyncSettings<Tst>());
break;
case "GEN":
// We are assuming discs only, for now
var genDiscs = DiscsFromXml(xmlGame, "GEN", DiscType.MegaCD);
if (!genDiscs.Any())
var romBytes = xmlGame.Assets.Where(a => !IsDisc(a.Key))
.Select(a => a.Value)
.FirstOrDefault();
if (!genDiscs.Any() && romBytes == null)
{
return false;
}
nextEmulator = new GPGX(nextComm, game, null, genDiscs, GetCoreSettings<GPGX>(), GetCoreSyncSettings<GPGX>());
nextEmulator = new GPGX(nextComm, game, romBytes, genDiscs, GetCoreSettings<GPGX>(), GetCoreSyncSettings<GPGX>());
break;
case "Game Gear":
var leftBytesGG = xmlGame.Assets.First().Value;
Expand Down Expand Up @@ -1165,5 +1167,11 @@ private List<Disc> DiscsFromXml(XmlGame xmlGame, string systemId, DiscType diskT
Game = game;
return true;
}

private static bool IsDisc(string extension) =>
extension == ".iso"
|| extension == ".cue"
|| extension == ".ccd"
|| extension == ".mds";
}
}

0 comments on commit 14c117e

Please sign in to comment.