Virtualpads - Some Progress
This commit is contained in:
parent
41e4a3b13a
commit
2009e07e35
|
@ -887,8 +887,12 @@
|
||||||
<SubType>Component</SubType>
|
<SubType>Component</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="tools\VirtualPads\IVirtualPad.cs" />
|
<Compile Include="tools\VirtualPads\IVirtualPad.cs" />
|
||||||
|
<Compile Include="tools\VirtualPads\schema\N64Schema.cs" />
|
||||||
<Compile Include="tools\VirtualPads\schema\NesSchema.cs" />
|
<Compile Include="tools\VirtualPads\schema\NesSchema.cs" />
|
||||||
<Compile Include="tools\VirtualPads\schema\PadSchema.cs" />
|
<Compile Include="tools\VirtualPads\schema\PadSchema.cs" />
|
||||||
|
<Compile Include="tools\VirtualPads\schema\PceSchema.cs" />
|
||||||
|
<Compile Include="tools\VirtualPads\schema\SmsSchema.cs" />
|
||||||
|
<Compile Include="tools\VirtualPads\schema\SnesSchema.cs" />
|
||||||
<Compile Include="tools\VirtualPads\VirtualPad.cs">
|
<Compile Include="tools\VirtualPads\VirtualPad.cs">
|
||||||
<SubType>UserControl</SubType>
|
<SubType>UserControl</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|
|
@ -36,18 +36,20 @@ namespace BizHawk.Client.EmuHawk
|
||||||
switch (button.Type)
|
switch (button.Type)
|
||||||
{
|
{
|
||||||
case PadSchema.PadInputType.Boolean:
|
case PadSchema.PadInputType.Boolean:
|
||||||
var checkbox = new VirtualPadButton
|
Controls.Add(new VirtualPadButton
|
||||||
{
|
{
|
||||||
AutoSize = true,
|
|
||||||
Location = button.Location,
|
|
||||||
Name = button.Name,
|
Name = button.Name,
|
||||||
Text = button.DisplayName,
|
Text = button.DisplayName,
|
||||||
|
Location = button.Location,
|
||||||
Image = button.Icon
|
Image = button.Icon
|
||||||
};
|
});
|
||||||
|
|
||||||
Controls.Add(checkbox);
|
|
||||||
break;
|
break;
|
||||||
case PadSchema.PadInputType.FloatPair:
|
case PadSchema.PadInputType.AnalogStick:
|
||||||
|
Controls.Add(new VirtualPadAnalogStick
|
||||||
|
{
|
||||||
|
Name = button.Name,
|
||||||
|
Location = button.Location
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,6 +67,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
ControllerBox.Controls.Clear();
|
ControllerBox.Controls.Clear();
|
||||||
|
|
||||||
|
// TODO: be more clever than this
|
||||||
switch(Global.Emulator.SystemId)
|
switch(Global.Emulator.SystemId)
|
||||||
{
|
{
|
||||||
case "NES":
|
case "NES":
|
||||||
|
@ -81,7 +82,36 @@ namespace BizHawk.Client.EmuHawk
|
||||||
Location = new Point(200, 15)
|
Location = new Point(200, 15)
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
case "N64":
|
||||||
|
ControllerBox.Controls.Add(new VirtualPad(
|
||||||
|
N64Schema.StandardController(1))
|
||||||
|
{
|
||||||
|
Location = new Point(15, 15)
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "SMS":
|
||||||
|
case "SG":
|
||||||
|
case "GG": // TODO: test if all 3 of these are needed
|
||||||
|
ControllerBox.Controls.Add(new VirtualPad(
|
||||||
|
SmsSchema.StandardController(1))
|
||||||
|
{
|
||||||
|
Location = new Point(15, 15)
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "PCE":
|
||||||
|
ControllerBox.Controls.Add(new VirtualPad(
|
||||||
|
PceSchema.StandardController(1))
|
||||||
|
{
|
||||||
|
Location = new Point(15, 15)
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "SNES":
|
||||||
|
ControllerBox.Controls.Add(new VirtualPad(
|
||||||
|
SnesSchema.StandardController(1))
|
||||||
|
{
|
||||||
|
Location = new Point(15, 15)
|
||||||
|
});
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ using BizHawk.Client.Common;
|
||||||
|
|
||||||
namespace BizHawk.Client.EmuHawk
|
namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
public sealed class AnalogControlPanel : Panel, IVirtualPadControl
|
public sealed class VirtualPadAnalogStick : Panel, IVirtualPadControl
|
||||||
{
|
{
|
||||||
public int X = 0;
|
public int X = 0;
|
||||||
public int Y = 0;
|
public int Y = 0;
|
||||||
|
@ -23,7 +23,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
private readonly Bitmap dot = new Bitmap(7, 7);
|
private readonly Bitmap dot = new Bitmap(7, 7);
|
||||||
private readonly Bitmap graydot = new Bitmap(7, 7);
|
private readonly Bitmap graydot = new Bitmap(7, 7);
|
||||||
|
|
||||||
public AnalogControlPanel()
|
public VirtualPadAnalogStick()
|
||||||
{
|
{
|
||||||
Size = new Size(129, 129);
|
Size = new Size(129, 129);
|
||||||
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
|
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
namespace BizHawk.Client.EmuHawk
|
||||||
|
{
|
||||||
|
public class N64Schema
|
||||||
|
{
|
||||||
|
public static PadSchema StandardController(int controller)
|
||||||
|
{
|
||||||
|
return new PadSchema
|
||||||
|
{
|
||||||
|
IsConsole = false,
|
||||||
|
DefaultSize = new Size(200, 316),
|
||||||
|
Buttons = new[]
|
||||||
|
{
|
||||||
|
new PadSchema.ButtonScema
|
||||||
|
{
|
||||||
|
Name = "P" + controller + " X Axis",
|
||||||
|
DisplayName = "",
|
||||||
|
Location = new Point(6, 14),
|
||||||
|
Type = PadSchema.PadInputType.AnalogStick
|
||||||
|
},
|
||||||
|
new PadSchema.ButtonScema
|
||||||
|
{
|
||||||
|
Name = "P" + controller + " Up",
|
||||||
|
DisplayName = "",
|
||||||
|
Icon = Properties.Resources.BlueUp,
|
||||||
|
Location = new Point(24, 195),
|
||||||
|
Type = PadSchema.PadInputType.Boolean
|
||||||
|
},
|
||||||
|
new PadSchema.ButtonScema
|
||||||
|
{
|
||||||
|
Name = "P" + controller + " Down",
|
||||||
|
DisplayName = "",
|
||||||
|
Icon = Properties.Resources.BlueDown,
|
||||||
|
Location = new Point(24, 216),
|
||||||
|
Type = PadSchema.PadInputType.Boolean
|
||||||
|
},
|
||||||
|
new PadSchema.ButtonScema
|
||||||
|
{
|
||||||
|
Name = "P" + controller + " Left",
|
||||||
|
DisplayName = "",
|
||||||
|
Icon = Properties.Resources.Back,
|
||||||
|
Location = new Point(3, 207),
|
||||||
|
Type = PadSchema.PadInputType.Boolean
|
||||||
|
},
|
||||||
|
new PadSchema.ButtonScema
|
||||||
|
{
|
||||||
|
Name = "P" + controller + " Right",
|
||||||
|
DisplayName = "",
|
||||||
|
Icon = Properties.Resources.Forward,
|
||||||
|
Location = new Point(45, 207),
|
||||||
|
Type = PadSchema.PadInputType.Boolean
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,7 +13,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
public enum PadInputType
|
public enum PadInputType
|
||||||
{
|
{
|
||||||
Boolean, // A single on/off button
|
Boolean, // A single on/off button
|
||||||
FloatPair, // An analog stick X,Y Pair
|
AnalogStick, // An analog stick X,Y Pair
|
||||||
FloatSingle, // A single analog button (pressure sensitive button for instance)
|
FloatSingle, // A single analog button (pressure sensitive button for instance)
|
||||||
TargetedPair // A X,Y pair intended to be a screen cooridnate (for zappers, mouse, stylus, etc)
|
TargetedPair // A X,Y pair intended to be a screen cooridnate (for zappers, mouse, stylus, etc)
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
namespace BizHawk.Client.EmuHawk
|
||||||
|
{
|
||||||
|
public static class PceSchema
|
||||||
|
{
|
||||||
|
public static PadSchema StandardController(int controller)
|
||||||
|
{
|
||||||
|
return new PadSchema
|
||||||
|
{
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
namespace BizHawk.Client.EmuHawk
|
||||||
|
{
|
||||||
|
public static class SmsSchema
|
||||||
|
{
|
||||||
|
public static PadSchema StandardController(int controller)
|
||||||
|
{
|
||||||
|
return new PadSchema
|
||||||
|
{
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
namespace BizHawk.Client.EmuHawk
|
||||||
|
{
|
||||||
|
public static class SnesSchema
|
||||||
|
{
|
||||||
|
public static PadSchema StandardController(int controller)
|
||||||
|
{
|
||||||
|
return new PadSchema
|
||||||
|
{
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue