bk2 and tasproj movies - respect the preload flag, only loads header and inputlog. This speeds up the play movie dialog by 50-100%, a lot more if there is a large sizeable .tasproj files in the folder
This commit is contained in:
parent
a19791a212
commit
9d054d19f6
|
@ -148,10 +148,10 @@ namespace BizHawk.Client.Common
|
||||||
|
|
||||||
protected virtual void LoadFields(ZipStateLoader bl, bool preload)
|
protected virtual void LoadFields(ZipStateLoader bl, bool preload)
|
||||||
{
|
{
|
||||||
LoadBk2Fields(bl);
|
LoadBk2Fields(bl, preload);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void LoadBk2Fields(ZipStateLoader bl)
|
protected void LoadBk2Fields(ZipStateLoader bl, bool preload)
|
||||||
{
|
{
|
||||||
bl.GetLump(BinaryStateLump.Movieheader, true, delegate(TextReader tr)
|
bl.GetLump(BinaryStateLump.Movieheader, true, delegate(TextReader tr)
|
||||||
{
|
{
|
||||||
|
@ -173,6 +173,18 @@ namespace BizHawk.Client.Common
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
bl.GetLump(BinaryStateLump.Input, true, delegate(TextReader tr)
|
||||||
|
{
|
||||||
|
IsCountingRerecords = false;
|
||||||
|
ExtractInputLog(tr, out _);
|
||||||
|
IsCountingRerecords = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (preload)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
bl.GetLump(BinaryStateLump.Comments, false, delegate(TextReader tr)
|
bl.GetLump(BinaryStateLump.Comments, false, delegate(TextReader tr)
|
||||||
{
|
{
|
||||||
string line;
|
string line;
|
||||||
|
@ -211,13 +223,6 @@ namespace BizHawk.Client.Common
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
bl.GetLump(BinaryStateLump.Input, true, delegate(TextReader tr)
|
|
||||||
{
|
|
||||||
IsCountingRerecords = false;
|
|
||||||
ExtractInputLog(tr, out _);
|
|
||||||
IsCountingRerecords = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (StartsFromSavestate)
|
if (StartsFromSavestate)
|
||||||
{
|
{
|
||||||
bl.GetCoreState(
|
bl.GetCoreState(
|
||||||
|
|
|
@ -63,11 +63,14 @@ namespace BizHawk.Client.Common
|
||||||
|
|
||||||
protected override void LoadFields(ZipStateLoader bl, bool preload)
|
protected override void LoadFields(ZipStateLoader bl, bool preload)
|
||||||
{
|
{
|
||||||
LoadBk2Fields(bl);
|
LoadBk2Fields(bl, preload);
|
||||||
LoadTasprojExtras(bl, preload);
|
if (!preload)
|
||||||
|
{
|
||||||
|
LoadTasprojExtras(bl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadTasprojExtras(ZipStateLoader bl, bool preload)
|
private void LoadTasprojExtras(ZipStateLoader bl)
|
||||||
{
|
{
|
||||||
bl.GetLump(BinaryStateLump.LagLog, false, delegate(TextReader tr)
|
bl.GetLump(BinaryStateLump.LagLog, false, delegate(TextReader tr)
|
||||||
{
|
{
|
||||||
|
@ -153,15 +156,12 @@ namespace BizHawk.Client.Common
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!preload)
|
if (TasStateManager.Settings.SaveStateHistory)
|
||||||
{
|
{
|
||||||
if (TasStateManager.Settings.SaveStateHistory)
|
bl.GetLump(BinaryStateLump.StateHistory, false, delegate(BinaryReader br, long length)
|
||||||
{
|
{
|
||||||
bl.GetLump(BinaryStateLump.StateHistory, false, delegate(BinaryReader br, long length)
|
TasStateManager.Load(br);
|
||||||
{
|
});
|
||||||
TasStateManager.Load(br);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue