Tastudio/TasMovie - simplify some more code
This commit is contained in:
parent
a639cfd275
commit
ce58f0e803
|
@ -42,6 +42,26 @@ namespace BizHawk.Client.Common
|
|||
get { return Extension; }
|
||||
}
|
||||
|
||||
public TasStateManager TasStateManager
|
||||
{
|
||||
get { return StateManager; }
|
||||
}
|
||||
|
||||
public new const string Extension = "tasproj";
|
||||
|
||||
public TasMovieRecord this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
return new TasMovieRecord
|
||||
{
|
||||
State = StateManager[index],
|
||||
LogEntry = GetInputLogEntry(index),
|
||||
Lagged = (index < LagLog.Count) ? LagLog[index] : (bool?)null
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public override bool Stop(bool saveChanges = true)
|
||||
{
|
||||
if (Changes)
|
||||
|
@ -70,12 +90,12 @@ namespace BizHawk.Client.Common
|
|||
}
|
||||
}
|
||||
|
||||
//This event is Raised ony when Changes is TOGGLED.
|
||||
// This event is Raised ony when Changes is TOGGLED.
|
||||
private void OnPropertyChanged(string propertyName)
|
||||
{
|
||||
if (PropertyChanged != null)
|
||||
{
|
||||
//Raising the event when FirstName or LastName property value changed
|
||||
// Raising the event when FirstName or LastName property value changed
|
||||
PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
}
|
||||
|
@ -87,21 +107,6 @@ namespace BizHawk.Client.Common
|
|||
|
||||
#endregion
|
||||
|
||||
public new const string Extension = "tasproj";
|
||||
|
||||
public TasMovieRecord this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
return new TasMovieRecord
|
||||
{
|
||||
State = StateManager[index],
|
||||
LogEntry = GetInputLogEntry(index),
|
||||
Lagged = (index < LagLog.Count) ? LagLog[index] : (bool?)null
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public void ClearChanges()
|
||||
{
|
||||
Changes = false;
|
||||
|
@ -290,32 +295,6 @@ namespace BizHawk.Client.Common
|
|||
return string.Empty;
|
||||
}
|
||||
|
||||
public TasStateManager.ManagerSettings GreenzoneSettings
|
||||
{
|
||||
get { return StateManager.Settings; }
|
||||
}
|
||||
|
||||
public int LastEmulatedFrame
|
||||
{
|
||||
get
|
||||
{
|
||||
if (StateManager.StateCount > 0)
|
||||
{
|
||||
return StateManager.LastKey;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// For the given frame, returns a savestate that is that frame or before it, as close as possible to it
|
||||
/// </summary>
|
||||
public byte[] GetStateClosestToFrame(int frame)
|
||||
{
|
||||
return StateManager.GetStateClosestToFrame(frame);
|
||||
}
|
||||
|
||||
public void ClearGreenzone()
|
||||
{
|
||||
if (StateManager.Any())
|
||||
|
@ -324,13 +303,5 @@ namespace BizHawk.Client.Common
|
|||
Changes = true;
|
||||
}
|
||||
}
|
||||
|
||||
public TasStateManager TasStateManager
|
||||
{
|
||||
get
|
||||
{
|
||||
return StateManager;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -238,11 +238,27 @@ namespace BizHawk.Client.Common
|
|||
var kk = States.Keys;
|
||||
int index = kk.Count;
|
||||
if (index == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return kk[index - 1];
|
||||
}
|
||||
}
|
||||
|
||||
public int LastEmulatedFrame
|
||||
{
|
||||
get
|
||||
{
|
||||
if (StateCount > 0)
|
||||
{
|
||||
return LastKey;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public class ManagerSettings
|
||||
{
|
||||
public ManagerSettings()
|
||||
|
|
|
@ -9,7 +9,7 @@ using System.Windows.Forms;
|
|||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
public partial class GreenzoneSettings
|
||||
public partial class GreenzoneSettingsForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
|
@ -35,7 +35,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GreenzoneSettings));
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GreenzoneSettingsForm));
|
||||
this.CancelBtn = new System.Windows.Forms.Button();
|
||||
this.OkBtn = new System.Windows.Forms.Button();
|
||||
this.SaveGreenzoneCheckbox = new System.Windows.Forms.CheckBox();
|
||||
|
|
|
@ -11,11 +11,11 @@ using BizHawk.Client.Common;
|
|||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
public partial class GreenzoneSettings : Form
|
||||
public partial class GreenzoneSettingsForm : Form
|
||||
{
|
||||
private readonly TasStateManager.ManagerSettings Settings;
|
||||
private decimal _stateSizeMb;
|
||||
public GreenzoneSettings(TasStateManager.ManagerSettings settings)
|
||||
public GreenzoneSettingsForm(TasStateManager.ManagerSettings settings)
|
||||
{
|
||||
Settings = settings;
|
||||
InitializeComponent();
|
||||
|
|
|
@ -287,7 +287,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void StartAtNearestFrameAndEmulate(int frame)
|
||||
{
|
||||
_currentTasMovie.SwitchToPlay();
|
||||
var closestState = _currentTasMovie.GetStateClosestToFrame(frame);
|
||||
var closestState = _currentTasMovie.TasStateManager.GetStateClosestToFrame(frame);
|
||||
if (closestState != null)
|
||||
{
|
||||
LoadState(closestState.ToArray());
|
||||
|
@ -373,9 +373,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
shouldLoadstate = false;
|
||||
}
|
||||
|
||||
if (_currentTasMovie.LastEmulatedFrame > 0 && shouldLoadstate)
|
||||
if (_currentTasMovie.TasStateManager.LastEmulatedFrame > 0 && shouldLoadstate)
|
||||
{
|
||||
LoadState(_currentTasMovie[_currentTasMovie.LastEmulatedFrame].State.ToArray());
|
||||
LoadState(_currentTasMovie[_currentTasMovie.TasStateManager.LastEmulatedFrame].State.ToArray());
|
||||
}
|
||||
|
||||
if (frame != Global.Emulator.Frame) // If we aren't already at our destination, seek
|
||||
|
@ -972,12 +972,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
new MovieHeaderEditor(_currentTasMovie).Show();
|
||||
UpdateChangesIndicator();
|
||||
|
||||
}
|
||||
|
||||
private void GreenzoneSettingsMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
new GreenzoneSettings(_currentTasMovie.GreenzoneSettings).Show();
|
||||
new GreenzoneSettingsForm(_currentTasMovie.TasStateManager.Settings).Show();
|
||||
UpdateChangesIndicator();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue