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

65 lines
1.3 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
2014-06-11 21:14:13 +00:00
using BizHawk.Common;
using BizHawk.Emulation.Common;
namespace BizHawk.Client.Common
{
public sealed partial class TasMovie : Bk2Movie
{
private List<bool> LagLog = new List<bool>();
private readonly TasStateManager StateManager = new TasStateManager();
private readonly TasMovieMarkerList Markers = new TasMovieMarkerList();
public TasMovie(string path) : base(path) { }
2014-06-14 20:17:07 +00:00
public TasMovie()
: base()
{
Header[HeaderKeys.MOVIEVERSION] = "BizHawk v2.0 Tasproj v1.0";
}
public override string PreferredExtension
{
get { return Extension; }
}
public new const string Extension = "tasproj";
2014-07-07 18:03:02 +00:00
public TasMovieRecord this[int index]
{
get
{
return new TasMovieRecord
{
State = StateManager[index],
LogEntry = GetInput(index),
Lagged = (index < LagLog.Count) ? LagLog[index] : false
};
}
}
2014-07-08 13:33:01 +00:00
public override void StartNewRecording()
{
LagLog.Clear();
StateManager.Clear();
Markers.Clear();
2014-07-08 13:33:01 +00:00
base.StartNewRecording();
}
public void Marker(int frame, string message)
{
Markers.Add(frame, message);
}
public void DeleteMarker(int frame)
{
Markers.Remove(frame);
}
}
}