diff --git a/BizHawk.Client.Common/BizHawk.Client.Common.csproj b/BizHawk.Client.Common/BizHawk.Client.Common.csproj
index 576b8c6359..78eb47e733 100644
--- a/BizHawk.Client.Common/BizHawk.Client.Common.csproj
+++ b/BizHawk.Client.Common/BizHawk.Client.Common.csproj
@@ -134,6 +134,7 @@
+
diff --git a/BizHawk.Client.Common/movie/bk2/Bk2LogEntryGenerator.cs b/BizHawk.Client.Common/movie/bk2/Bk2LogEntryGenerator.cs
new file mode 100644
index 0000000000..1072edc1cc
--- /dev/null
+++ b/BizHawk.Client.Common/movie/bk2/Bk2LogEntryGenerator.cs
@@ -0,0 +1,73 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+using BizHawk.Emulation.Common;
+
+namespace BizHawk.Client.Common
+{
+ public class Bk2LogEntryGenerator : ILogEntryGenerator
+ {
+ private IController _source;
+
+ public void SetSource(IController source)
+ {
+ _source = source;
+ }
+
+ public string GenerateInputDisplay()
+ {
+ return GenerateLogEntry()
+ .Replace(".", " ")
+ .Replace("|", "")
+ .Replace(" 000, 000", " ");
+ }
+
+ public bool IsEmpty
+ {
+ get
+ {
+ return EmptyEntry == GenerateLogEntry();
+ }
+ }
+
+ public string EmptyEntry
+ {
+ get
+ {
+ var sb = new StringBuilder('|');
+ foreach (var button in _source.Type.BoolButtons)
+ {
+ sb.Append('.');
+ }
+
+ foreach (var floatBtn in _source.Type.FloatControls)
+ {
+ sb.Append("000 ");
+ }
+
+ sb.Append('|');
+ return sb.ToString();
+ }
+ }
+
+ public string GenerateLogEntry()
+ {
+ var sb = new StringBuilder('|');
+ foreach (var button in _source.Type.BoolButtons)
+ {
+ sb.Append(_source.IsPressed(button) ? '1' : '.');
+ }
+
+ foreach (var floatBtn in _source.Type.FloatControls)
+ {
+ var val = (int)_source.GetFloat(floatBtn);
+ sb.Append(val).Append(' ');
+ }
+
+ sb.Append('|');
+ return sb.ToString();
+ }
+ }
+}
diff --git a/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs b/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs
index 392303139e..1421769bcf 100644
--- a/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs
+++ b/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs
@@ -43,6 +43,11 @@ namespace BizHawk.Client.Common
public ILogEntryGenerator LogGeneratorInstance()
{
+ if (VersionInfo.DeveloperBuild)
+ {
+ return new Bk2LogEntryGenerator();
+ }
+
return new BkmLogEntryGenerator();
}