tastudio: various fixes.
- saving and loading tasproj markers - flagging changes after branch operations - clearing InputRoll selection
This commit is contained in:
parent
5406fc9cfa
commit
4fd55da52a
|
@ -62,7 +62,7 @@ namespace BizHawk.Client.Common
|
||||||
public static BinaryStateLump BranchLagLog { get; private set; }
|
public static BinaryStateLump BranchLagLog { get; private set; }
|
||||||
[Name("Branches\\Header", "json")]
|
[Name("Branches\\Header", "json")]
|
||||||
public static BinaryStateLump BranchHeader { get; private set; }
|
public static BinaryStateLump BranchHeader { get; private set; }
|
||||||
[Name("Branches\\Markers", "markers")]
|
[Name("Branches\\Markers", "txt")]
|
||||||
public static BinaryStateLump BranchMarkers { get; private set; }
|
public static BinaryStateLump BranchMarkers { get; private set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -40,20 +40,24 @@ namespace BizHawk.Client.Common
|
||||||
TimeStamp = b.TimeStamp
|
TimeStamp = b.TimeStamp
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
bs.PutLump(ncore, delegate(Stream s)
|
bs.PutLump(ncore, delegate(Stream s)
|
||||||
{
|
{
|
||||||
s.Write(b.CoreData, 0, b.CoreData.Length);
|
s.Write(b.CoreData, 0, b.CoreData.Length);
|
||||||
});
|
});
|
||||||
|
|
||||||
bs.PutLump(ninput, delegate(TextWriter tw)
|
bs.PutLump(ninput, delegate(TextWriter tw)
|
||||||
{
|
{
|
||||||
foreach (var line in b.InputLog)
|
foreach (var line in b.InputLog)
|
||||||
tw.WriteLine(line);
|
tw.WriteLine(line);
|
||||||
});
|
});
|
||||||
|
|
||||||
bs.PutLump(nframebuffer, delegate(Stream s)
|
bs.PutLump(nframebuffer, delegate(Stream s)
|
||||||
{
|
{
|
||||||
var vp = new BitmapBufferVideoProvider(b.OSDFrameBuffer);
|
var vp = new BitmapBufferVideoProvider(b.OSDFrameBuffer);
|
||||||
QuickBmpFile.Save(vp, s, b.OSDFrameBuffer.Width, b.OSDFrameBuffer.Height);
|
QuickBmpFile.Save(vp, s, b.OSDFrameBuffer.Width, b.OSDFrameBuffer.Height);
|
||||||
});
|
});
|
||||||
|
|
||||||
bs.PutLump(nlaglog, delegate(BinaryWriter bw)
|
bs.PutLump(nlaglog, delegate(BinaryWriter bw)
|
||||||
{
|
{
|
||||||
b.LagLog.Save(bw);
|
b.LagLog.Save(bw);
|
||||||
|
@ -69,6 +73,7 @@ namespace BizHawk.Client.Common
|
||||||
ninput.Increment();
|
ninput.Increment();
|
||||||
nframebuffer.Increment();
|
nframebuffer.Increment();
|
||||||
nlaglog.Increment();
|
nlaglog.Increment();
|
||||||
|
nmarkers.Increment();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +84,7 @@ namespace BizHawk.Client.Common
|
||||||
var ninput = new IndexedStateLump(BinaryStateLump.BranchInputLog);
|
var ninput = new IndexedStateLump(BinaryStateLump.BranchInputLog);
|
||||||
var nframebuffer = new IndexedStateLump(BinaryStateLump.BranchFrameBuffer);
|
var nframebuffer = new IndexedStateLump(BinaryStateLump.BranchFrameBuffer);
|
||||||
var nlaglog = new IndexedStateLump(BinaryStateLump.BranchLagLog);
|
var nlaglog = new IndexedStateLump(BinaryStateLump.BranchLagLog);
|
||||||
var nmarkers = new IndexedStateLump(BinaryStateLump.Markers);
|
var nmarkers = new IndexedStateLump(BinaryStateLump.BranchMarkers);
|
||||||
|
|
||||||
Clear();
|
Clear();
|
||||||
|
|
||||||
|
@ -154,6 +159,7 @@ namespace BizHawk.Client.Common
|
||||||
ninput.Increment();
|
ninput.Increment();
|
||||||
nframebuffer.Increment();
|
nframebuffer.Increment();
|
||||||
nlaglog.Increment();
|
nlaglog.Increment();
|
||||||
|
nmarkers.Increment();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -473,15 +473,16 @@ namespace BizHawk.Client.Common
|
||||||
int? divergentPoint = DivergantPoint(_log, branch.InputLog);
|
int? divergentPoint = DivergantPoint(_log, branch.InputLog);
|
||||||
|
|
||||||
_log = branch.InputLog.ToList();
|
_log = branch.InputLog.ToList();
|
||||||
_changes = true;
|
//_changes = true;
|
||||||
LagLog.FromLagLog(branch.LagLog);
|
LagLog.FromLagLog(branch.LagLog);
|
||||||
|
|
||||||
StateManager.LoadBranch(Branches.IndexOf(branch));
|
StateManager.LoadBranch(Branches.IndexOf(branch));
|
||||||
|
|
||||||
StateManager.SetState(branch.Frame, branch.CoreData);
|
StateManager.SetState(branch.Frame, branch.CoreData);
|
||||||
|
|
||||||
ChangeLog = branch.ChangeLog;
|
//ChangeLog = branch.ChangeLog;
|
||||||
Markers = branch.Markers;
|
Markers = branch.Markers;
|
||||||
|
Changes = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: use LogGenerators rather than string comparisons
|
// TODO: use LogGenerators rather than string comparisons
|
||||||
|
@ -508,12 +509,14 @@ namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
Branches.Add(branch);
|
Branches.Add(branch);
|
||||||
TasStateManager.AddBranch();
|
TasStateManager.AddBranch();
|
||||||
|
Changes = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveBranch(TasBranch branch)
|
public void RemoveBranch(TasBranch branch)
|
||||||
{
|
{
|
||||||
TasStateManager.RemoveBranch(Branches.IndexOf(branch));
|
TasStateManager.RemoveBranch(Branches.IndexOf(branch));
|
||||||
Branches.Remove(branch);
|
Branches.Remove(branch);
|
||||||
|
Changes = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateBranch(TasBranch old, TasBranch newBranch)
|
public void UpdateBranch(TasBranch old, TasBranch newBranch)
|
||||||
|
@ -521,6 +524,7 @@ namespace BizHawk.Client.Common
|
||||||
int index = Branches.IndexOf(old);
|
int index = Branches.IndexOf(old);
|
||||||
Branches[index] = newBranch;
|
Branches[index] = newBranch;
|
||||||
TasStateManager.UpdateBranch(index);
|
TasStateManager.UpdateBranch(index);
|
||||||
|
Changes = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SwapBranches(int b1, int b2)
|
public void SwapBranches(int b1, int b2)
|
||||||
|
@ -532,6 +536,7 @@ namespace BizHawk.Client.Common
|
||||||
|
|
||||||
Branches.Remove(branch);
|
Branches.Remove(branch);
|
||||||
Branches.Insert(b2, branch);
|
Branches.Insert(b2, branch);
|
||||||
|
Changes = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -453,9 +453,11 @@ namespace BizHawk.Client.EmuHawk
|
||||||
CurrentTasMovie.ClearChanges(); // Don't ask to save changes here.
|
CurrentTasMovie.ClearChanges(); // Don't ask to save changes here.
|
||||||
HandleMovieLoadStuff();
|
HandleMovieLoadStuff();
|
||||||
CurrentTasMovie.TasStateManager.Capture(); // Capture frame 0 always.
|
CurrentTasMovie.TasStateManager.Capture(); // Capture frame 0 always.
|
||||||
|
// clear all selections
|
||||||
|
TasView.DeselectAll();
|
||||||
BookMarkControl.Restart();
|
BookMarkControl.Restart();
|
||||||
MarkerControl.Restart();
|
MarkerControl.Restart();
|
||||||
|
|
||||||
RefreshDialog();
|
RefreshDialog();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue