Tastudio/TasMovie - simplify some more code

This commit is contained in:
adelikat 2014-10-14 13:31:14 +00:00
parent a639cfd275
commit ce58f0e803
5 changed files with 46 additions and 60 deletions

View File

@ -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;
}
}
}
}

View File

@ -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()

View File

@ -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();

View File

@ -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();

View File

@ -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();
}