Simplify TasMovie by using auto-properties
This commit is contained in:
parent
1c67066e13
commit
7d0b736e8d
|
@ -19,12 +19,12 @@ namespace BizHawk.Client.Common
|
|||
|
||||
base.RecordFrame(frame, source);
|
||||
|
||||
_lagLog.RemoveFrom(frame);
|
||||
_lagLog[frame] = Global.Emulator.AsInputPollable().IsLagFrame;
|
||||
TasLagLog.RemoveFrom(frame);
|
||||
TasLagLog[frame] = Global.Emulator.AsInputPollable().IsLagFrame;
|
||||
|
||||
if (IsRecording)
|
||||
{
|
||||
_stateManager.Invalidate(frame + 1);
|
||||
TasStateManager.Invalidate(frame + 1);
|
||||
}
|
||||
|
||||
if (frame != 0)
|
||||
|
@ -45,8 +45,8 @@ namespace BizHawk.Client.Common
|
|||
|
||||
base.Truncate(frame);
|
||||
|
||||
_lagLog.RemoveFrom(frame);
|
||||
_stateManager.Invalidate(frame);
|
||||
TasLagLog.RemoveFrom(frame);
|
||||
TasStateManager.Invalidate(frame);
|
||||
Markers.TruncateAt(frame);
|
||||
|
||||
ChangeLog.SetGeneralRedo();
|
||||
|
@ -544,17 +544,17 @@ namespace BizHawk.Client.Common
|
|||
|
||||
public void RemoveLagHistory(int frame)
|
||||
{
|
||||
_lagLog.RemoveHistoryAt(frame);
|
||||
TasLagLog.RemoveHistoryAt(frame);
|
||||
}
|
||||
|
||||
public void InsertLagHistory(int frame, bool isLag)
|
||||
{
|
||||
_lagLog.InsertHistoryAt(frame, isLag);
|
||||
TasLagLog.InsertHistoryAt(frame, isLag);
|
||||
}
|
||||
|
||||
public void SetLag(int frame, bool? value)
|
||||
{
|
||||
_lagLog[frame] = value;
|
||||
TasLagLog[frame] = value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -25,13 +25,13 @@ namespace BizHawk.Client.Common
|
|||
bs.PutLump(BinaryStateLump.Comments, tw => tw.WriteLine(CommentsString()));
|
||||
bs.PutLump(BinaryStateLump.Subtitles, tw => tw.WriteLine(Subtitles.ToString()));
|
||||
bs.PutLump(BinaryStateLump.SyncSettings, tw => tw.WriteLine(SyncSettingsJson));
|
||||
bs.PutLump(BinaryStateLump.Input, tw => WriteInputLog(tw));
|
||||
bs.PutLump(BinaryStateLump.Input, WriteInputLog);
|
||||
|
||||
// TasProj extras
|
||||
var settings = JsonConvert.SerializeObject(_stateManager.Settings);
|
||||
var settings = JsonConvert.SerializeObject(TasStateManager.Settings);
|
||||
bs.PutLump(BinaryStateLump.StateHistorySettings, tw => tw.WriteLine(settings));
|
||||
|
||||
bs.PutLump(BinaryStateLump.LagLog, tw => _lagLog.Save(tw));
|
||||
bs.PutLump(BinaryStateLump.LagLog, tw => TasLagLog.Save(tw));
|
||||
bs.PutLump(BinaryStateLump.Markers, tw => tw.WriteLine(Markers.ToString()));
|
||||
|
||||
if (StartsFromSavestate)
|
||||
|
@ -68,9 +68,9 @@ namespace BizHawk.Client.Common
|
|||
|
||||
bs.PutLump(BinaryStateLump.Session, tw => tw.WriteLine(JsonConvert.SerializeObject(Session)));
|
||||
|
||||
if (_stateManager.Settings.SaveStateHistory && !backup)
|
||||
if (TasStateManager.Settings.SaveStateHistory && !backup)
|
||||
{
|
||||
bs.PutLump(BinaryStateLump.StateHistory, (BinaryWriter bw) => _stateManager.Save(bw));
|
||||
bs.PutLump(BinaryStateLump.StateHistory, (BinaryWriter bw) => TasStateManager.Save(bw));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -182,7 +182,7 @@ namespace BizHawk.Client.Common
|
|||
// TasMovie enhanced information
|
||||
bl.GetLump(BinaryStateLump.LagLog, false, delegate(TextReader tr)
|
||||
{
|
||||
_lagLog.Load(tr);
|
||||
TasLagLog.Load(tr);
|
||||
});
|
||||
|
||||
bl.GetLump(BinaryStateLump.StateHistorySettings, false, delegate(TextReader tr)
|
||||
|
@ -190,7 +190,7 @@ namespace BizHawk.Client.Common
|
|||
var json = tr.ReadToEnd();
|
||||
try
|
||||
{
|
||||
_stateManager.Settings = JsonConvert.DeserializeObject<TasStateManagerSettings>(json);
|
||||
TasStateManager.Settings = JsonConvert.DeserializeObject<TasStateManagerSettings>(json);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
@ -266,18 +266,18 @@ namespace BizHawk.Client.Common
|
|||
|
||||
if (!preload)
|
||||
{
|
||||
if (_stateManager.Settings.SaveStateHistory)
|
||||
if (TasStateManager.Settings.SaveStateHistory)
|
||||
{
|
||||
bl.GetLump(BinaryStateLump.StateHistory, false, delegate(BinaryReader br, long length)
|
||||
{
|
||||
_stateManager.Load(br);
|
||||
TasStateManager.Load(br);
|
||||
});
|
||||
}
|
||||
|
||||
// Movie should always have a state at frame 0.
|
||||
if (!StartsFromSavestate && Global.Emulator.Frame == 0)
|
||||
{
|
||||
_stateManager.Capture();
|
||||
TasStateManager.Capture();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -289,7 +289,7 @@ namespace BizHawk.Client.Common
|
|||
private void ClearTasprojExtras()
|
||||
{
|
||||
ClearLagLog();
|
||||
_stateManager.Clear();
|
||||
TasStateManager.Clear();
|
||||
Markers.Clear();
|
||||
ChangeLog.ClearLog();
|
||||
}
|
||||
|
|
|
@ -13,8 +13,6 @@ namespace BizHawk.Client.Common
|
|||
public sealed partial class TasMovie : Bk2Movie, INotifyPropertyChanged
|
||||
{
|
||||
private readonly Bk2MnemonicConstants _mnemonics = new Bk2MnemonicConstants();
|
||||
private readonly IStateManager _stateManager;
|
||||
private readonly TasLagLog _lagLog = new TasLagLog();
|
||||
private readonly Dictionary<int, IController> _inputStateCache = new Dictionary<int, IController>();
|
||||
private BackgroundWorker _progressReportWorker;
|
||||
|
||||
|
@ -32,19 +30,19 @@ namespace BizHawk.Client.Common
|
|||
public bool UseInputCache { get; set; }
|
||||
public int CurrentBranch { get; set; }
|
||||
|
||||
public TasLagLog TasLagLog => _lagLog;
|
||||
public TasLagLog TasLagLog { get; } = new TasLagLog();
|
||||
public IStringLog InputLog => Log;
|
||||
public int BranchCount => Branches.Count;
|
||||
public int LastStatedFrame => _stateManager.Last;
|
||||
public int LastStatedFrame => TasStateManager.Last;
|
||||
public override string PreferredExtension => Extension;
|
||||
public IStateManager TasStateManager => _stateManager;
|
||||
public IStateManager TasStateManager { get; }
|
||||
|
||||
public TasMovieRecord this[int index] => new TasMovieRecord
|
||||
{
|
||||
HasState = _stateManager.HasState(index),
|
||||
HasState = TasStateManager.HasState(index),
|
||||
LogEntry = GetInputLogEntry(index),
|
||||
Lagged = _lagLog[index + 1],
|
||||
WasLagged = _lagLog.History(index + 1)
|
||||
Lagged = TasLagLog[index + 1],
|
||||
WasLagged = TasLagLog.History(index + 1)
|
||||
};
|
||||
|
||||
public TasMovie(string path, bool startsFromSavestate = false, BackgroundWorker progressReportWorker = null)
|
||||
|
@ -58,7 +56,7 @@ namespace BizHawk.Client.Common
|
|||
}
|
||||
|
||||
ChangeLog = new TasMovieChangeLog(this);
|
||||
_stateManager = new TasStateManager(this);
|
||||
TasStateManager = new TasStateManager(this);
|
||||
Session = new TasSession(this);
|
||||
Header[HeaderKeys.MOVIEVERSION] = "BizHawk v2.0 Tasproj v1.0";
|
||||
Markers = new TasMovieMarkerList(this);
|
||||
|
@ -77,7 +75,7 @@ namespace BizHawk.Client.Common
|
|||
}
|
||||
|
||||
ChangeLog = new TasMovieChangeLog(this);
|
||||
_stateManager = new TasStateManager(this);
|
||||
TasStateManager = new TasStateManager(this);
|
||||
Session = new TasSession(this);
|
||||
Header[HeaderKeys.MOVIEVERSION] = "BizHawk v2.0 Tasproj v1.0";
|
||||
Markers = new TasMovieMarkerList(this);
|
||||
|
@ -147,8 +145,8 @@ namespace BizHawk.Client.Common
|
|||
/// <param name="frame">The last frame that can be valid.</param>
|
||||
private void InvalidateAfter(int frame)
|
||||
{
|
||||
var anyInvalidated = _lagLog.RemoveFrom(frame);
|
||||
_stateManager.Invalidate(frame + 1);
|
||||
var anyInvalidated = TasLagLog.RemoveFrom(frame);
|
||||
TasStateManager.Invalidate(frame + 1);
|
||||
Changes = anyInvalidated;
|
||||
LastEditedFrame = frame;
|
||||
|
||||
|
@ -215,9 +213,9 @@ namespace BizHawk.Client.Common
|
|||
|
||||
public void ClearGreenzone()
|
||||
{
|
||||
if (_stateManager.Any())
|
||||
if (TasStateManager.Any())
|
||||
{
|
||||
_stateManager.Clear();
|
||||
TasStateManager.Clear();
|
||||
Changes = true;
|
||||
}
|
||||
}
|
||||
|
@ -232,17 +230,17 @@ namespace BizHawk.Client.Common
|
|||
LastPositionStable = false;
|
||||
}
|
||||
|
||||
_lagLog[Global.Emulator.Frame] = Global.Emulator.AsInputPollable().IsLagFrame;
|
||||
TasLagLog[Global.Emulator.Frame] = Global.Emulator.AsInputPollable().IsLagFrame;
|
||||
|
||||
if (!_stateManager.HasState(Global.Emulator.Frame))
|
||||
if (!TasStateManager.HasState(Global.Emulator.Frame))
|
||||
{
|
||||
_stateManager.Capture(Global.Emulator.Frame == LastEditedFrame - 1);
|
||||
TasStateManager.Capture(Global.Emulator.Frame == LastEditedFrame - 1);
|
||||
}
|
||||
}
|
||||
|
||||
public void ClearLagLog()
|
||||
{
|
||||
_lagLog.Clear();
|
||||
TasLagLog.Clear();
|
||||
}
|
||||
|
||||
public void CopyLog(IEnumerable<string> log)
|
||||
|
@ -423,7 +421,7 @@ namespace BizHawk.Client.Common
|
|||
|
||||
if (_timelineBranchFrame.HasValue)
|
||||
{
|
||||
_lagLog.RemoveFrom(_timelineBranchFrame.Value);
|
||||
TasLagLog.RemoveFrom(_timelineBranchFrame.Value);
|
||||
TasStateManager.Invalidate(_timelineBranchFrame.Value);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue