Skip to content

Commit cc03220

Browse files
committed
Update settings handling ahead of new state manager implementation.
1 parent 8cabe42 commit cc03220

File tree

5 files changed

+12
-9
lines changed

5 files changed

+12
-9
lines changed

src/BizHawk.Client.Common/movie/interfaces/ITasMovie.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public interface ITasMovie : IMovie, INotifyPropertyChanged, IDisposable
99
bool BindMarkersToInput { get; set; }
1010

1111
IMovieChangeLog ChangeLog { get; }
12-
IStateManager TasStateManager { get; }
12+
IStateManager<ZwinderStateManagerSettings> TasStateManager { get; set; }
1313
Func<string> InputRollSettingsForSave { get; set; }
1414
string InputRollSettings { get; }
1515
ITasMovieRecord this[int index] { get; }

src/BizHawk.Client.Common/movie/tasproj/IStateManager.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
namespace BizHawk.Client.Common
66
{
7-
public interface IStateManager : IDisposable
7+
public interface IStateManager<SettingsT> : IDisposable
88
{
9-
ZwinderStateManagerSettings Settings { get; }
9+
SettingsT Settings { get; }
1010

1111
/// <summary>
1212
/// Requests that the current emulator state be captured
@@ -45,7 +45,7 @@ public interface IStateManager : IDisposable
4545
/// <summary>
4646
/// Updates the internal state saving logic settings
4747
/// </summary>
48-
void UpdateSettings(ZwinderStateManagerSettings settings, bool keepOldStates = false);
48+
IStateManager<SettingsT> UpdateSettings(SettingsT settings, bool keepOldStates = false);
4949

5050
/// <summary>
5151
/// Serializes the current state of the instance for persisting to disk
@@ -58,7 +58,7 @@ public interface IStateManager : IDisposable
5858
void LoadStateHistory(BinaryReader br);
5959

6060
/// <summary>
61-
/// Enables the instance to be used. An instance of <see cref="IStateManager"/> should not
61+
/// Enables the instance to be used. An instance of <see cref="IStateManager{T}"/> should not
6262
/// be useable until this method is called
6363
/// </summary>
6464
void Engage(byte[] frameZeroState);

src/BizHawk.Client.Common/movie/tasproj/TasMovie.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public override bool StartsFromSavestate
8181
public TasLagLog LagLog { get; } = new TasLagLog();
8282

8383
public override string PreferredExtension => Extension;
84-
public IStateManager TasStateManager { get; private set; }
84+
public IStateManager<ZwinderStateManagerSettings> TasStateManager { get; set; }
8585

8686
public Action<int> GreenzoneInvalidated { get; set; }
8787

src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManager.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
namespace BizHawk.Client.Common
1010
{
11-
public class ZwinderStateManager : IStateManager, IDisposable
11+
public class ZwinderStateManager : IStateManager<ZwinderStateManagerSettings>, IDisposable
1212
{
1313
private static readonly byte[] NonState = Array.Empty<byte>();
1414

@@ -65,7 +65,7 @@ private ZwinderStateManager(ZwinderBuffer current, ZwinderBuffer recent, Zwinder
6565

6666
public ZwinderStateManagerSettings Settings { get; private set; }
6767

68-
public void UpdateSettings(ZwinderStateManagerSettings settings, bool keepOldStates = false)
68+
public ZwinderStateManager UpdateSettings(ZwinderStateManagerSettings settings, bool keepOldStates = false)
6969
{
7070
bool makeNewReserved = Settings?.AncientStoreType != settings.AncientStoreType;
7171
Settings = settings;
@@ -115,7 +115,10 @@ public void UpdateSettings(ZwinderStateManagerSettings settings, bool keepOldSta
115115

116116
_ancientInterval = settings.AncientStateInterval;
117117
RebuildStateCache();
118+
119+
return this;
118120
}
121+
IStateManager<ZwinderStateManagerSettings> IStateManager<ZwinderStateManagerSettings>.UpdateSettings(ZwinderStateManagerSettings settings, bool keepOldStates) => UpdateSettings(settings, keepOldStates);
119122

120123
private void RebuildReserved()
121124
{

src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,7 @@ private void StateHistorySettingsMenuItem_Click(object sender, EventArgs e)
916916
using GreenzoneSettings form = new(
917917
DialogController,
918918
new ZwinderStateManagerSettings(CurrentTasMovie.TasStateManager.Settings),
919-
(s, k) => { CurrentTasMovie.TasStateManager.UpdateSettings(s, k); },
919+
(s, k) => { CurrentTasMovie.TasStateManager = CurrentTasMovie.TasStateManager.UpdateSettings(s, k); },
920920
false)
921921
{
922922
Owner = this,

0 commit comments

Comments
 (0)