From 0410a4f291c27fed2650ef225e0669a798b825c2 Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Thu, 24 Feb 2022 16:37:44 +1000 Subject: [PATCH] Allow writing to user gamedb in NixHawk not that any cores have a working implementation yet, see #733 --- src/BizHawk.Client.EmuHawk/LogWindow.cs | 3 +-- src/BizHawk.Emulation.Common/Database/Database.cs | 5 +++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/LogWindow.cs b/src/BizHawk.Client.EmuHawk/LogWindow.cs index 1347ed66ba..5fc5741b24 100644 --- a/src/BizHawk.Client.EmuHawk/LogWindow.cs +++ b/src/BizHawk.Client.EmuHawk/LogWindow.cs @@ -7,7 +7,6 @@ using System.Windows.Forms; using BizHawk.Common; using BizHawk.Emulation.Common; using BizHawk.Client.Common; -using BizHawk.Common.PathExtensions; // todo - perks - pause, copy to clipboard, backlog length limiting @@ -187,7 +186,7 @@ namespace BizHawk.Client.EmuHawk { var gameDbEntry = Emulator.AsGameDBEntryGenerator().GenerateGameDbEntry(); gameDbEntry.Status = picker.PickedStatus; - Database.SaveDatabaseEntry(Path.Combine(PathUtils.ExeDirectoryPath, "gamedb", "gamedb_user.txt"), gameDbEntry); //TODO read-only in Nix builds + Database.SaveDatabaseEntry(gameDbEntry); MainForm.UpdateDumpInfo(gameDbEntry.Status); HideShowGameDbButton(); } diff --git a/src/BizHawk.Emulation.Common/Database/Database.cs b/src/BizHawk.Emulation.Common/Database/Database.cs index 32a459d861..32c0374810 100644 --- a/src/BizHawk.Emulation.Common/Database/Database.cs +++ b/src/BizHawk.Emulation.Common/Database/Database.cs @@ -66,7 +66,7 @@ namespace BizHawk.Emulation.Common } } - public static void SaveDatabaseEntry(string path, CompactGameInfo gameInfo) + public static void SaveDatabaseEntry(CompactGameInfo gameInfo, string filename = "gamedb_user.txt") { var sb = new StringBuilder(); sb @@ -96,7 +96,8 @@ namespace BizHawk.Emulation.Common .Append(gameInfo.MetaData) .Append(Environment.NewLine); - File.AppendAllText(path, sb.ToString()); + File.AppendAllText(Path.Combine(_userRoot, filename), sb.ToString()); + DB[gameInfo.Hash] = gameInfo; } private static bool initialized = false;