From 866f98c6ced4c1248dcfbe0e8148e000a83e6b63 Mon Sep 17 00:00:00 2001 From: goyuken Date: Fri, 30 May 2014 21:06:52 +0000 Subject: [PATCH] bleh --- .../movie/MnemonicsGenerator.cs | 26 +++++++++++++ BizHawk.Client.Common/movie/MovieMnemonics.cs | 38 +++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/BizHawk.Client.Common/movie/MnemonicsGenerator.cs b/BizHawk.Client.Common/movie/MnemonicsGenerator.cs index 011d8c76e0..835e2ce1d5 100644 --- a/BizHawk.Client.Common/movie/MnemonicsGenerator.cs +++ b/BizHawk.Client.Common/movie/MnemonicsGenerator.cs @@ -75,6 +75,8 @@ namespace BizHawk.Client.Common return "|.|............|............|............|............|"; case "SAT": return "|.|.............|.............|"; + case "WSWAN": + return "|....|....|...|"; } } } @@ -189,6 +191,26 @@ namespace BizHawk.Client.Common return input.ToString(); } + private string GetWonderSwanControllerAsMnemonic() + { + // |....|....|...| + var input = new StringBuilder(); + + foreach (var t in MnemonicConstants.WSMnemonic) + { + if (t.Item1 != null) + { + input.Append(IsBasePressed(t.Item1) ? t.Item2 : '.'); + } + else + { + input.Append(t.Item2); // Separator + } + } + + return input.ToString(); + } + private string GetA78ControllersAsMnemonic() { var input = new StringBuilder("|"); @@ -384,6 +406,10 @@ namespace BizHawk.Client.Common { return GetDualGameBoyControllerAsMnemonic(); } + else if (_controlType == "WonderSwan Controller") + { + return GetWonderSwanControllerAsMnemonic(); + } else if (_controlType == "Nintento 64 Controller") { return GetN64ControllersAsMnemonic(); diff --git a/BizHawk.Client.Common/movie/MovieMnemonics.cs b/BizHawk.Client.Common/movie/MovieMnemonics.cs index f7df21aff7..b1545ce36c 100644 --- a/BizHawk.Client.Common/movie/MovieMnemonics.cs +++ b/BizHawk.Client.Common/movie/MovieMnemonics.cs @@ -193,6 +193,25 @@ namespace BizHawk.Client.Common new Tuple("P2 A", 'A'), new Tuple(null, '|') }; + + public static Tuple[] WSMnemonic = new[] + { + new Tuple(null, '|'), + new Tuple("Up X", 'U'), + new Tuple("Down X", 'D'), + new Tuple("Left X", 'L'), + new Tuple("Right X", 'R'), + new Tuple(null, '|'), + new Tuple("Up Y", 'U'), + new Tuple("Down Y", 'D'), + new Tuple("Left Y", 'L'), + new Tuple("Right Y", 'R'), + new Tuple(null, '|'), + new Tuple("B", 'B'), + new Tuple("A", 'A'), + new Tuple("Power", 'P'), + new Tuple(null, '|'), + }; } public class MovieControllerAdapter : IController @@ -515,6 +534,20 @@ namespace BizHawk.Client.Common } } + private void SetWonderSwanControllerAsMnemonic(string mnemonic) + { + var checker = new MnemonicChecker(mnemonic); + MyBoolButtons.Clear(); + for (int i = 0; i < MnemonicConstants.WSMnemonic.Length; i++) + { + var t = MnemonicConstants.WSMnemonic[i]; + if (t.Item1 != null) + { + Force(t.Item1, checker[i]); + } + } + } + private void SetC64ControllersAsMnemonic(string mnemonic) { MnemonicChecker c = new MnemonicChecker(mnemonic); @@ -578,6 +611,11 @@ namespace BizHawk.Client.Common SetDualGameBoyControllerAsMnemonic(mnemonic); return; } + else if (ControlType == "WonderSwan Controller") + { + SetWonderSwanControllerAsMnemonic(mnemonic); + return; + } else if (ControlType == "Nintento 64 Controller") { SetN64ControllersAsMnemonic(mnemonic);