don't use Global.Config in bk2movies, this solution is a bit of shenanigans but it's the least shenanigans I could come up with

This commit is contained in:
adelikat 2020-06-06 14:29:33 -05:00
parent dcaf504202
commit d8ded66c35
5 changed files with 12 additions and 4 deletions

View File

@ -25,12 +25,14 @@ namespace BizHawk.Client.Common
public MovieSession( public MovieSession(
IMovieConfig settings, IMovieConfig settings,
string backDirectory,
Action<string> messageCallback, Action<string> messageCallback,
Action<string> popupCallback, Action<string> popupCallback,
Action pauseCallback, Action pauseCallback,
Action modeChangedCallback) Action modeChangedCallback)
{ {
Settings = settings; Settings = settings;
BackupDirectory = backDirectory;
_messageCallback = messageCallback; _messageCallback = messageCallback;
_popupCallback = popupCallback; _popupCallback = popupCallback;
_pauseCallback = pauseCallback _pauseCallback = pauseCallback
@ -41,6 +43,8 @@ namespace BizHawk.Client.Common
public IMovieConfig Settings { get; } public IMovieConfig Settings { get; }
public string BackupDirectory { get; set; }
public IMovie Movie { get; private set; } public IMovie Movie { get; private set; }
public bool ReadOnly { get; set; } = true; public bool ReadOnly { get; set; } = true;
public bool NewMovieQueued => _queuedMovie != null; public bool NewMovieQueued => _queuedMovie != null;

View File

@ -20,10 +20,9 @@ namespace BizHawk.Client.Common
return; return;
} }
var backupDir = Global.Config.PathEntries.MovieBackupsAbsolutePath();
var backupName = Filename; var backupName = Filename;
backupName = backupName.Insert(Filename.LastIndexOf("."), $".{DateTime.Now:yyyy-MM-dd HH.mm.ss}"); backupName = backupName.Insert(Filename.LastIndexOf("."), $".{DateTime.Now:yyyy-MM-dd HH.mm.ss}");
backupName = Path.Combine(backupDir, Path.GetFileName(backupName)); backupName = Path.Combine(Session.BackupDirectory, Path.GetFileName(backupName));
Write(backupName, isBackup: true); Write(backupName, isBackup: true);
} }

View File

@ -66,5 +66,7 @@ namespace BizHawk.Client.Common
void ConvertToTasProj(); void ConvertToTasProj();
IMovie Get(string path); IMovie Get(string path);
string BackupDirectory { get; set; }
} }
} }

View File

@ -282,6 +282,7 @@ namespace BizHawk.Client.EmuHawk
Global.FirmwareManager = new FirmwareManager(); Global.FirmwareManager = new FirmwareManager();
MovieSession = new MovieSession( MovieSession = new MovieSession(
Config.Movies, Config.Movies,
Config.PathEntries.MovieBackupsAbsolutePath(),
AddOnScreenMessage, AddOnScreenMessage,
ShowMessageCoreComm, ShowMessageCoreComm,
PauseEmulator, PauseEmulator,
@ -881,10 +882,10 @@ namespace BizHawk.Client.EmuHawk
private ToolManager Tools => GlobalWin.Tools; private ToolManager Tools => GlobalWin.Tools;
private DisplayManager DisplayManager => GlobalWin.DisplayManager; private DisplayManager DisplayManager => GlobalWin.DisplayManager;
private IMovieSession MovieSession public IMovieSession MovieSession
{ {
get => Global. MovieSession; get => Global. MovieSession;
set => Global.MovieSession = value; private set => Global.MovieSession = value;
} }
private GameInfo Game private GameInfo Game

View File

@ -254,6 +254,8 @@ namespace BizHawk.Client.EmuHawk
var pathEntry = _config.PathEntries.First(p => p.System == t.Parent.Name && p.Type == t.Name); var pathEntry = _config.PathEntries.First(p => p.System == t.Parent.Name && p.Type == t.Name);
pathEntry.Path = t.Text; pathEntry.Path = t.Text;
} }
_mainForm.MovieSession.BackupDirectory = _config.PathEntries.MovieBackupsAbsolutePath();
} }
private void DoRomToggle() private void DoRomToggle()