diff --git a/src/BizHawk.Client.EmuHawk/MainForm.cs b/src/BizHawk.Client.EmuHawk/MainForm.cs index 8f250f828f..906f56f330 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.cs @@ -506,8 +506,9 @@ namespace BizHawk.Client.EmuHawk if (_argParser.cmdRom != null) { // Commandline should always override auto-load - var romPath = _argParser.cmdRom.MakeAbsolute(); - LoadRom(romPath, new LoadRomArgs { OpenAdvanced = OpenAdvancedSerializer.ParseWithLegacy(romPath) }); + var ioa = OpenAdvancedSerializer.ParseWithLegacy(_argParser.cmdRom); + if (ioa is OpenAdvanced_OpenRom oaor) ioa = new OpenAdvanced_OpenRom { Path = oaor.Path.MakeAbsolute() }; // fixes #3224; should this be done for all the IOpenAdvanced types? --yoshi + LoadRom(ioa.SimplePath, new LoadRomArgs { OpenAdvanced = ioa }); if (Game == null) { ShowMessageBox(owner: null, $"Failed to load {_argParser.cmdRom} specified on commandline");