Movie Import cleanup - use IMovie more, don't redundantly save in Pjm and Psx importers, cleanups

This commit is contained in:
adelikat 2019-11-14 15:59:01 -06:00
parent ab5d30c797
commit 0043c1de1e
4 changed files with 30 additions and 41 deletions

View File

@ -84,7 +84,7 @@ namespace BizHawk.Client.Common
public IList<string> Warnings { get; } = new List<string>(); public IList<string> Warnings { get; } = new List<string>();
public IList<string> Errors { get; } = new List<string>(); public IList<string> Errors { get; } = new List<string>();
public Bk2Movie Movie { get; set; } public IMovie Movie { get; set; }
} }
[AttributeUsage(AttributeTargets.Class)] [AttributeUsage(AttributeTargets.Class)]

View File

@ -69,7 +69,7 @@ namespace BizHawk.Client.Common
return null; return null;
} }
Bk2Movie movie = null; IMovie movie = null;
try try
{ {

View File

@ -10,31 +10,25 @@ namespace BizHawk.Client.Common
{ {
protected override void RunImport() protected override void RunImport()
{ {
Bk2Movie movie = Result.Movie; Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = "PSX";
movie.HeaderEntries[HeaderKeys.PLATFORM] = "PSX"; using var fs = SourceFile.OpenRead();
using (var fs = SourceFile.OpenRead())
{
using var br = new BinaryReader(fs); using var br = new BinaryReader(fs);
var info = ParseHeader(movie, "PJM ", br); var info = ParseHeader(Result.Movie, "PJM ", br);
fs.Seek(info.ControllerDataOffset, SeekOrigin.Begin); fs.Seek(info.ControllerDataOffset, SeekOrigin.Begin);
if (info.BinaryFormat) if (info.BinaryFormat)
{ {
ParseBinaryInputLog(br, movie, info); ParseBinaryInputLog(br, Result.Movie, info);
} }
else else
{ {
ParseTextInputLog(br, movie, info); ParseTextInputLog(br, Result.Movie, info);
} }
} }
movie.Save(); protected MiscHeaderInfo ParseHeader(IMovie movie, string expectedMagic, BinaryReader br)
}
protected MiscHeaderInfo ParseHeader(Bk2Movie movie, string expectedMagic, BinaryReader br)
{ {
var info = new MiscHeaderInfo(); var info = new MiscHeaderInfo();
@ -175,7 +169,7 @@ namespace BizHawk.Client.Common
return info; return info;
} }
protected void ParseBinaryInputLog(BinaryReader br, Bk2Movie movie, MiscHeaderInfo info) protected void ParseBinaryInputLog(BinaryReader br, IMovie movie, MiscHeaderInfo info)
{ {
var settings = new Octoshock.SyncSettings(); var settings = new Octoshock.SyncSettings();
var controllers = new SimpleController(); var controllers = new SimpleController();
@ -286,7 +280,7 @@ namespace BizHawk.Client.Common
} }
} }
protected void ParseTextInputLog(BinaryReader br, Bk2Movie movie, MiscHeaderInfo info) protected void ParseTextInputLog(BinaryReader br, IMovie movie, MiscHeaderInfo info)
{ {
Octoshock.SyncSettings settings = new Octoshock.SyncSettings(); Octoshock.SyncSettings settings = new Octoshock.SyncSettings();
SimpleController controllers = new SimpleController(); SimpleController controllers = new SimpleController();

View File

@ -14,12 +14,10 @@ namespace BizHawk.Client.Common.Movie.Import
{ {
protected override void RunImport() protected override void RunImport()
{ {
Bk2Movie movie = Result.Movie; var movie = Result.Movie;
movie.HeaderEntries[HeaderKeys.PLATFORM] = "PSX"; movie.HeaderEntries[HeaderKeys.PLATFORM] = "PSX";
using (var fs = SourceFile.OpenRead()) using var fs = SourceFile.OpenRead();
{
using var br = new BinaryReader(fs); using var br = new BinaryReader(fs);
var info = ParseHeader(movie, "PXM ", br); var info = ParseHeader(movie, "PXM ", br);
@ -34,8 +32,5 @@ namespace BizHawk.Client.Common.Movie.Import
ParseTextInputLog(br, movie, info); ParseTextInputLog(br, movie, info);
} }
} }
movie.Save();
}
} }
} }