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

View File

@ -20,10 +20,9 @@ namespace BizHawk.Client.Common
return;
}
var backupDir = Global.Config.PathEntries.MovieBackupsAbsolutePath();
var backupName = Filename;
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);
}

View File

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

View File

@ -282,6 +282,7 @@ namespace BizHawk.Client.EmuHawk
Global.FirmwareManager = new FirmwareManager();
MovieSession = new MovieSession(
Config.Movies,
Config.PathEntries.MovieBackupsAbsolutePath(),
AddOnScreenMessage,
ShowMessageCoreComm,
PauseEmulator,
@ -881,10 +882,10 @@ namespace BizHawk.Client.EmuHawk
private ToolManager Tools => GlobalWin.Tools;
private DisplayManager DisplayManager => GlobalWin.DisplayManager;
private IMovieSession MovieSession
public IMovieSession MovieSession
{
get => Global. MovieSession;
set => Global.MovieSession = value;
private set => Global.MovieSession = value;
}
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);
pathEntry.Path = t.Text;
}
_mainForm.MovieSession.BackupDirectory = _config.PathEntries.MovieBackupsAbsolutePath();
}
private void DoRomToggle()