Markers on frames to be truncated are now deleted like in TAS Editor.
This commit is contained in:
parent
86b1e2ed6d
commit
1b85a89b66
|
@ -44,7 +44,9 @@ namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
Changes = true;
|
Changes = true;
|
||||||
}
|
}
|
||||||
// TODO: Markers? What does taseditor do?
|
|
||||||
|
//Taseditor deletes markers that are in truncated portion of movie.
|
||||||
|
Markers.TruncateAt(frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PokeFrame(int frame, IController source)
|
public override void PokeFrame(int frame, IController source)
|
||||||
|
|
|
@ -72,6 +72,7 @@ namespace BizHawk.Client.Common
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Add functions as needed
|
||||||
public class TasMovieMarkerList : List<TasMovieMarker>
|
public class TasMovieMarkerList : List<TasMovieMarker>
|
||||||
{
|
{
|
||||||
private readonly TasMovie _movie;
|
private readonly TasMovie _movie;
|
||||||
|
@ -128,6 +129,24 @@ namespace BizHawk.Client.Common
|
||||||
this.Sort((m1, m2) => m1.Frame.CompareTo(m2.Frame));
|
this.Sort((m1, m2) => m1.Frame.CompareTo(m2.Frame));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Deletes all markers at or below the given start frame.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="startFrame">The first frame for markers to be deleted.</param>
|
||||||
|
/// <returns>Number of markers deleted.</returns>
|
||||||
|
public int TruncateAt(int startFrame)
|
||||||
|
{
|
||||||
|
int deletedCount = 0;
|
||||||
|
for (int i = Count - 1; i > -1; i--)
|
||||||
|
{
|
||||||
|
if(this[i].Frame >= startFrame){
|
||||||
|
RemoveAt(i);
|
||||||
|
deletedCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return deletedCount;
|
||||||
|
}
|
||||||
|
|
||||||
public TasMovieMarker Previous(int currentFrame)
|
public TasMovieMarker Previous(int currentFrame)
|
||||||
{
|
{
|
||||||
return this
|
return this
|
||||||
|
|
Loading…
Reference in New Issue