new Mnemonics generator - support for "control" sections in mnemonic generation
This commit is contained in:
parent
c1650f0863
commit
bb0e48e970
|
@ -532,7 +532,18 @@ namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
if (buttons.ContainsKey(kvp.Key))
|
if (buttons.ContainsKey(kvp.Key))
|
||||||
{
|
{
|
||||||
sb.Append(buttons[kvp.Key] ? kvp.Value : '.');
|
if (buttons[kvp.Key])
|
||||||
|
{
|
||||||
|
sb.Append(kvp.Value);
|
||||||
|
if (mc.IsControl)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sb.Append('.');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,12 +9,20 @@ namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
private readonly string _name = String.Empty;
|
private readonly string _name = String.Empty;
|
||||||
|
|
||||||
public MnemonicCollection(string name)
|
public MnemonicCollection(string name, bool isControl)
|
||||||
{
|
{
|
||||||
_name = name;
|
_name = name;
|
||||||
|
IsControl = isControl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Name { get { return _name; } }
|
public string Name { get { return _name; } }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Flag to indicate that the mnemonic string is for control types (power, reset, disc swaping, etc)
|
||||||
|
/// Control types can only have one active control pressed at a time
|
||||||
|
/// Priority will be based on the enumerated order, so the dictionary should be made accordingly
|
||||||
|
/// </summary>
|
||||||
|
public bool IsControl { get; private set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CoreMnemonicCollection : List<MnemonicCollection>
|
public class CoreMnemonicCollection : List<MnemonicCollection>
|
||||||
|
@ -66,7 +74,7 @@ namespace BizHawk.Client.Common
|
||||||
{
|
{
|
||||||
new CoreMnemonicCollection(new []{ "NES", "FDS" })
|
new CoreMnemonicCollection(new []{ "NES", "FDS" })
|
||||||
{
|
{
|
||||||
new MnemonicCollection("Console")
|
new MnemonicCollection("Console", true)
|
||||||
{
|
{
|
||||||
{ "Reset", 'r' },
|
{ "Reset", 'r' },
|
||||||
{ "Power", 'P' },
|
{ "Power", 'P' },
|
||||||
|
@ -76,7 +84,7 @@ namespace BizHawk.Client.Common
|
||||||
{ "VS Coin 1", 'c' },
|
{ "VS Coin 1", 'c' },
|
||||||
{ "VS Coin 2", 'C' }
|
{ "VS Coin 2", 'C' }
|
||||||
},
|
},
|
||||||
new MnemonicCollection("Player 1")
|
new MnemonicCollection("Player 1", false)
|
||||||
{
|
{
|
||||||
{ "P1 Up", 'U' },
|
{ "P1 Up", 'U' },
|
||||||
{ "P1 Down", 'D' },
|
{ "P1 Down", 'D' },
|
||||||
|
@ -87,7 +95,7 @@ namespace BizHawk.Client.Common
|
||||||
{ "P1 B", 'B' },
|
{ "P1 B", 'B' },
|
||||||
{ "P1 A", 'A' }
|
{ "P1 A", 'A' }
|
||||||
},
|
},
|
||||||
new MnemonicCollection("Player 2")
|
new MnemonicCollection("Player 2", false)
|
||||||
{
|
{
|
||||||
{ "P2 Up", 'U' },
|
{ "P2 Up", 'U' },
|
||||||
{ "P2 Down", 'D' },
|
{ "P2 Down", 'D' },
|
||||||
|
@ -98,7 +106,7 @@ namespace BizHawk.Client.Common
|
||||||
{ "P2 B", 'B' },
|
{ "P2 B", 'B' },
|
||||||
{ "P2 A", 'A' }
|
{ "P2 A", 'A' }
|
||||||
},
|
},
|
||||||
new MnemonicCollection("Player 3")
|
new MnemonicCollection("Player 3", false)
|
||||||
{
|
{
|
||||||
{ "P3 Up", 'U' },
|
{ "P3 Up", 'U' },
|
||||||
{ "P3 Down", 'D' },
|
{ "P3 Down", 'D' },
|
||||||
|
@ -109,7 +117,7 @@ namespace BizHawk.Client.Common
|
||||||
{ "P3 B", 'B' },
|
{ "P3 B", 'B' },
|
||||||
{ "P3 A", 'A' }
|
{ "P3 A", 'A' }
|
||||||
},
|
},
|
||||||
new MnemonicCollection("Player 4")
|
new MnemonicCollection("Player 4", false)
|
||||||
{
|
{
|
||||||
{ "P4 Up", 'U' },
|
{ "P4 Up", 'U' },
|
||||||
{ "P4 Down", 'D' },
|
{ "P4 Down", 'D' },
|
||||||
|
@ -123,12 +131,12 @@ namespace BizHawk.Client.Common
|
||||||
},
|
},
|
||||||
new CoreMnemonicCollection(new []{ "SNES", "SGB" })
|
new CoreMnemonicCollection(new []{ "SNES", "SGB" })
|
||||||
{
|
{
|
||||||
new MnemonicCollection("Console")
|
new MnemonicCollection("Console", true)
|
||||||
{
|
{
|
||||||
{ "Reset", 'r' },
|
{ "Reset", 'r' },
|
||||||
{ "Power", 'P' },
|
{ "Power", 'P' },
|
||||||
},
|
},
|
||||||
new MnemonicCollection("Player 1")
|
new MnemonicCollection("Player 1", false)
|
||||||
{
|
{
|
||||||
{ "P1 Up", 'U' },
|
{ "P1 Up", 'U' },
|
||||||
{ "P1 Down", 'D' },
|
{ "P1 Down", 'D' },
|
||||||
|
@ -143,7 +151,7 @@ namespace BizHawk.Client.Common
|
||||||
{ "P1 L", 'L'},
|
{ "P1 L", 'L'},
|
||||||
{ "P1 R", 'R'}
|
{ "P1 R", 'R'}
|
||||||
},
|
},
|
||||||
new MnemonicCollection("Player 2")
|
new MnemonicCollection("Player 2", false)
|
||||||
{
|
{
|
||||||
{ "P2 Up", 'U' },
|
{ "P2 Up", 'U' },
|
||||||
{ "P2 Down", 'D' },
|
{ "P2 Down", 'D' },
|
||||||
|
@ -159,7 +167,7 @@ namespace BizHawk.Client.Common
|
||||||
{ "P2 R", 'R'}
|
{ "P2 R", 'R'}
|
||||||
|
|
||||||
},
|
},
|
||||||
new MnemonicCollection("Player 3")
|
new MnemonicCollection("Player 3", false)
|
||||||
{
|
{
|
||||||
{ "P3 Up", 'U' },
|
{ "P3 Up", 'U' },
|
||||||
{ "P3 Down", 'D' },
|
{ "P3 Down", 'D' },
|
||||||
|
@ -174,7 +182,7 @@ namespace BizHawk.Client.Common
|
||||||
{ "P3 L", 'L'},
|
{ "P3 L", 'L'},
|
||||||
{ "P3 R", 'R'}
|
{ "P3 R", 'R'}
|
||||||
},
|
},
|
||||||
new MnemonicCollection("Player 4")
|
new MnemonicCollection("Player 4", false)
|
||||||
{
|
{
|
||||||
{ "P4 Up", 'U' },
|
{ "P4 Up", 'U' },
|
||||||
{ "P4 Down", 'D' },
|
{ "P4 Down", 'D' },
|
||||||
|
|
Loading…
Reference in New Issue