From 8aa03c3059f4b9e91476d27f92c449675a0d9631 Mon Sep 17 00:00:00 2001 From: vadosnaprimer Date: Sun, 9 Apr 2023 19:22:19 +0300 Subject: [PATCH] mame: add emulation issues info to RomDetails reorder file hashes and names so it looks aligned --- .../Arcades/MAME/MAME.cs | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.cs b/src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.cs index 7f7a687a9b..339aefa700 100644 --- a/src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.cs +++ b/src/BizHawk.Emulation.Cores/Arcades/MAME/MAME.cs @@ -21,18 +21,24 @@ namespace BizHawk.Emulation.Cores.Arcades.MAME public MAME(CoreLoadParameters lp) { _gameFileName = Path.GetFileName(lp.Roms[0].RomPath).ToLowerInvariant(); - - ServiceProvider = new BasicServiceProvider(this); - _syncSettings = lp.SyncSettings ?? new(); + ServiceProvider = new BasicServiceProvider(this); DeterministicEmulation = !_syncSettings.RTCSettings.UseRealTime || lp.DeterministicEmulationRequested; _logCallback = MAMELogCallback; _baseTimeCallback = MAMEBaseTimeCallback; _inputPollCallback = InputCallbacks.Call; _filenameCallback = name => _nvramFilenames.Add(name); - _infoCallback = info => lp.Comm.Notify(info); + _infoCallback = info => + { + var text = info.Replace(". ", "\n").Replace("\n\n", "\n"); + lp.Comm.Notify(text); + RomDetails = + _gameFullName + "\r\n\r\n" + + text + (text == "" ? "" : "\r\n") + + string.Join("\r\n", _romHashes.Select(static r => $"{r.Value} - {r.Key}")); + }; _exe = new(new() { @@ -60,8 +66,6 @@ namespace BizHawk.Emulation.Cores.Arcades.MAME throw new("\n\n" + _loadFailure); } - RomDetails = _gameFullName + "\r\n" + string.Join("\r\n", _romHashes.Select(static r => $"{r.Key} - {r.Value}")); - // concat all SHA1 hashes together (unprefixed), then hash that var hashes = string.Concat(_romHashes.Values .Where(static s => s.Contains("SHA:")) @@ -88,13 +92,13 @@ namespace BizHawk.Emulation.Cores.Arcades.MAME private readonly LibMAME.InputPollCallbackDelegate _inputPollCallback; private readonly LibMAME.InfoCallbackDelegate _infoCallback; - public string RomDetails { get; } + public string RomDetails { get; set; } private readonly string _gameFileName; private string _gameFullName = "Arcade"; private string _gameShortName = "arcade"; - private readonly SortedList _romHashes = new(); private string _loadFailure = string.Empty; + private readonly SortedList _romHashes = new(); private void StartMAME(List roms) {