N64: Added a jabo sync settings stub to be filled in later. Added jabo to the plugin selection dialog

This commit is contained in:
pjgat09 2014-07-19 16:59:27 +00:00
parent 0a227060b7
commit b82c83c188
4 changed files with 68 additions and 26 deletions

View File

@ -32,6 +32,8 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(N64VideoPluginconfig));
this.N64plugintabcontrol = new System.Windows.Forms.TabControl();
this.N64vpluginglobaltab = new System.Windows.Forms.TabPage();
this.label49 = new System.Windows.Forms.Label();
this.RspTypeDropdown = new System.Windows.Forms.ComboBox();
this.label48 = new System.Windows.Forms.Label();
this.CoreTypeDropdown = new System.Windows.Forms.ComboBox();
this.label47 = new System.Windows.Forms.Label();
@ -272,8 +274,6 @@
this.SaveButton = new System.Windows.Forms.Button();
this.CancelBT = new System.Windows.Forms.Button();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.label49 = new System.Windows.Forms.Label();
this.RspTypeDropdown = new System.Windows.Forms.ComboBox();
this.N64plugintabcontrol.SuspendLayout();
this.N64vpluginglobaltab.SuspendLayout();
this.RiceTabPage.SuspendLayout();
@ -330,6 +330,28 @@
this.N64vpluginglobaltab.Text = "Global";
this.N64vpluginglobaltab.UseVisualStyleBackColor = true;
//
// label49
//
this.label49.AutoSize = true;
this.label49.Location = new System.Drawing.Point(206, 13);
this.label49.Name = "label49";
this.label49.Size = new System.Drawing.Size(58, 13);
this.label49.TabIndex = 18;
this.label49.Text = "Rsp Plugin";
//
// RspTypeDropdown
//
this.RspTypeDropdown.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.RspTypeDropdown.FormattingEnabled = true;
this.RspTypeDropdown.Items.AddRange(new object[] {
"Pure Interpreter",
"Interpreter",
"DynaRec"});
this.RspTypeDropdown.Location = new System.Drawing.Point(209, 29);
this.RspTypeDropdown.Name = "RspTypeDropdown";
this.RspTypeDropdown.Size = new System.Drawing.Size(136, 21);
this.RspTypeDropdown.TabIndex = 17;
//
// label48
//
this.label48.AutoSize = true;
@ -400,7 +422,8 @@
this.PluginComboBox.Items.AddRange(new object[] {
"Rice",
"Glide64",
"Glide64mk2"});
"Glide64mk2",
"Jabo 1.6.1"});
this.PluginComboBox.Location = new System.Drawing.Point(13, 91);
this.PluginComboBox.Name = "PluginComboBox";
this.PluginComboBox.Size = new System.Drawing.Size(173, 21);
@ -3216,28 +3239,6 @@
this.toolTip1.ReshowDelay = 100;
this.toolTip1.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info;
//
// label49
//
this.label49.AutoSize = true;
this.label49.Location = new System.Drawing.Point(206, 13);
this.label49.Name = "label49";
this.label49.Size = new System.Drawing.Size(58, 13);
this.label49.TabIndex = 18;
this.label49.Text = "Rsp Plugin";
//
// RspTypeDropdown
//
this.RspTypeDropdown.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.RspTypeDropdown.FormattingEnabled = true;
this.RspTypeDropdown.Items.AddRange(new object[] {
"Pure Interpreter",
"Interpreter",
"DynaRec"});
this.RspTypeDropdown.Location = new System.Drawing.Point(209, 29);
this.RspTypeDropdown.Name = "RspTypeDropdown";
this.RspTypeDropdown.Size = new System.Drawing.Size(136, 21);
this.RspTypeDropdown.TabIndex = 17;
//
// N64VideoPluginconfig
//
this.AcceptButton = this.SaveButton;

View File

@ -101,6 +101,7 @@ namespace BizHawk.Client.EmuHawk
case "Rice": ss.VidPlugin = PLUGINTYPE.RICE; break;
case "Glide64": ss.VidPlugin = PLUGINTYPE.GLIDE; break;
case "Glide64mk2": ss.VidPlugin = PLUGINTYPE.GLIDE64MK2; break;
case "Jabo 1.6.1": ss.VidPlugin = PLUGINTYPE.JABO; break;
}
//Rice
@ -358,6 +359,7 @@ namespace BizHawk.Client.EmuHawk
case PLUGINTYPE.GLIDE64MK2: PluginComboBox.Text = "Glide64mk2"; break;
case PLUGINTYPE.GLIDE: PluginComboBox.Text = "Glide64"; break;
case PLUGINTYPE.RICE: PluginComboBox.Text = "Rice"; break;
case PLUGINTYPE.JABO: PluginComboBox.Text = "Jabo 1.6.1"; break;
}
//Rice

View File

@ -61,6 +61,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
public N64RicePluginSettings RicePlugin = new N64RicePluginSettings();
public N64GlidePluginSettings GlidePlugin = new N64GlidePluginSettings();
public N64Glide64mk2PluginSettings Glide64mk2Plugin = new N64Glide64mk2PluginSettings();
public N64JaboPluginSettings JaboPlugin = new N64JaboPluginSettings();
public N64SyncSettings Clone()
{
@ -72,6 +73,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
RicePlugin = RicePlugin.Clone(),
GlidePlugin = GlidePlugin.Clone(),
Glide64mk2Plugin = Glide64mk2Plugin.Clone(),
JaboPlugin = JaboPlugin.Clone(),
Controllers = System.Array.ConvertAll(Controllers, a => a.Clone())
};
}
@ -87,6 +89,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
case PLUGINTYPE.GLIDE: ips = GlidePlugin.Clone(); break;
case PLUGINTYPE.GLIDE64MK2: ips = Glide64mk2Plugin.Clone(); break;
case PLUGINTYPE.RICE: ips = RicePlugin.Clone(); break;
case PLUGINTYPE.JABO: ips = JaboPlugin.Clone(); break;
}
ips.FillPerGameHacks(game);
ret.Parameters = ips.GetPluginSettings();
@ -94,7 +97,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
}
}
public enum PLUGINTYPE { RICE, GLIDE, GLIDE64MK2 };
public enum PLUGINTYPE { RICE, GLIDE, GLIDE64MK2, JABO };
public interface IPluginSettings
{
@ -468,6 +471,39 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
}
}
public class N64JaboPluginSettings : IPluginSettings
{
[JsonIgnore]
public PLUGINTYPE PluginType
{
get { return PLUGINTYPE.JABO; }
}
public void FillPerGameHacks(GameInfo game)
{
}
public Dictionary<string, object> GetPluginSettings()
{
//TODO: deal witn the game depedent settings
var dictionary = new Dictionary<string, object>();
var members = this.GetType().GetFields();
foreach (var member in members)
{
var field = this.GetType().GetField(member.Name).GetValue(this);
dictionary.Add(member.Name, field);
}
return dictionary;
}
public N64JaboPluginSettings Clone()
{
return (N64JaboPluginSettings)MemberwiseClone();
}
}
public class N64ControllerSettings
{
/// <summary>

View File

@ -56,6 +56,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64.NativeApi
case PLUGINTYPE.GLIDE64MK2:
videoplugin = "mupen64plus-video-glide64mk2.dll";
break;
case PLUGINTYPE.JABO:
videoplugin = "mupen64plus-video-jabo.dll";
break;
}
GfxDll = core.AttachPlugin(mupen64plusApi.m64p_plugin_type.M64PLUGIN_GFX,