From d153c00c7781846b14b5eb9c772ca794c0f7fd03 Mon Sep 17 00:00:00 2001 From: Iris Ward Date: Tue, 22 Sep 2015 22:47:23 +0100 Subject: [PATCH] Add controller types to sync settings --- BizHawk.Client.Common/movie/import/PJMImport.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/BizHawk.Client.Common/movie/import/PJMImport.cs b/BizHawk.Client.Common/movie/import/PJMImport.cs index 5a5874fffd..772bcc9a81 100644 --- a/BizHawk.Client.Common/movie/import/PJMImport.cs +++ b/BizHawk.Client.Common/movie/import/PJMImport.cs @@ -1,5 +1,5 @@ using BizHawk.Emulation.Cores.Sony.PSX; - +using Newtonsoft.Json; using System; using System.IO; @@ -127,6 +127,15 @@ namespace BizHawk.Client.Common return info; } + Octoshock.SyncSettings syncsettings = new Octoshock.SyncSettings(); + syncsettings.Controllers = new[] { info.player1Type, info.player2Type }; + + var jsonSettings = new JsonSerializerSettings + { + TypeNameHandling = TypeNameHandling.Auto + }; + movie.SyncSettingsJson = JsonConvert.SerializeObject(new { o = (object)syncsettings }, jsonSettings); + info.frameCount = br.ReadUInt32(); UInt32 rerecordCount = br.ReadUInt32(); movie.HeaderEntries[HeaderKeys.RERECORDS] = rerecordCount.ToString(); @@ -164,6 +173,7 @@ namespace BizHawk.Client.Common "L2", "R2", "L1", "R1", "Triangle", "Circle", "Cross", "Square"}; bool isCdTrayOpen = false; + int cdNumber = 1; for (int frame = 0; frame < info.frameCount; ++frame) { @@ -227,6 +237,7 @@ namespace BizHawk.Client.Common if (isCdTrayOpen) { controllers["Close"] = true; + cdNumber++; } else { @@ -240,6 +251,9 @@ namespace BizHawk.Client.Common controllers["Open"] = false; } + Tuple discSelect = new Tuple("Disc Select", cdNumber); + controllers.AcceptNewFloats(new[] { discSelect }); + if ((controlState & 0xFC) != 0) { Result.Warnings.Add("Ignored toggle hack flag on frame " + frame.ToString());