New N64 plugin config settings dialog, including adding jabo settings

This commit is contained in:
adelikat 2014-07-20 02:57:26 +00:00
parent 88f5bd7088
commit 042e72bfb6
7 changed files with 2104 additions and 178 deletions

View File

@ -343,6 +343,12 @@
<Compile Include="config\N64\N64VideoPluginconfig.Designer.cs">
<DependentUpon>N64VideoPluginconfig.cs</DependentUpon>
</Compile>
<Compile Include="config\N64\NewN64PluginSettings.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="config\N64\NewN64PluginSettings.Designer.cs">
<DependentUpon>NewN64PluginSettings.cs</DependentUpon>
</Compile>
<Compile Include="config\NES\DataTableDictionaryBind.cs" />
<Compile Include="config\NES\NesControllerSettings.cs">
<SubType>Form</SubType>
@ -1079,6 +1085,9 @@
<EmbeddedResource Include="config\N64\N64VideoPluginconfig.resx">
<DependentUpon>N64VideoPluginconfig.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="config\N64\NewN64PluginSettings.resx">
<DependentUpon>NewN64PluginSettings.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="config\NES\NesControllerSettings.resx">
<DependentUpon>NesControllerSettings.cs</DependentUpon>
</EmbeddedResource>

View File

@ -1739,7 +1739,8 @@ namespace BizHawk.Client.EmuHawk
private void N64PluginSettingsMenuItem_Click(object sender, EventArgs e)
{
if (new N64VideoPluginconfig().ShowDialog() == DialogResult.OK)
//if (new N64VideoPluginconfig().ShowDialog() == DialogResult.OK)
if (new NewN64PluginSettings().ShowDialog() == DialogResult.OK)
{
GlobalWin.MainForm.FlagNeedsReboot();
GlobalWin.OSD.AddMessage("Plugin settings saved but a core reboot is required");

View File

@ -3,15 +3,13 @@ using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using BizHawk.Common;
using BizHawk.Common.StringExtensions;
using BizHawk.Common.ReflectionExtensions;
using BizHawk.Emulation.Cores.Nintendo.N64;
using BizHawk.Client.Common;
using BizHawk.Client.EmuHawk.ControlExtensions;
using BizHawk.Common;
namespace BizHawk.Client.EmuHawk
{
public partial class N64VideoPluginconfig : Form

View File

@ -0,0 +1,344 @@
namespace BizHawk.Client.EmuHawk
{
partial class NewN64PluginSettings
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NewN64PluginSettings));
this.PluginTabs = new System.Windows.Forms.TabControl();
this.GlobalTab = 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.label2 = new System.Windows.Forms.Label();
this.VideoResolutionComboBox = new System.Windows.Forms.ComboBox();
this.PluginComboBox = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.RiceTab = new System.Windows.Forms.TabPage();
this.Glide64mk2 = new System.Windows.Forms.TabPage();
this.Glide64Tab = new System.Windows.Forms.TabPage();
this.JaboTab = new System.Windows.Forms.TabPage();
this.SaveBtn = new System.Windows.Forms.Button();
this.CancelBtn = new System.Windows.Forms.Button();
this.RicePropertyGrid = new System.Windows.Forms.PropertyGrid();
this.Glidemk2PropertyGrid = new System.Windows.Forms.PropertyGrid();
this.GlidePropertyGrid = new System.Windows.Forms.PropertyGrid();
this.JaboPropertyGrid = new System.Windows.Forms.PropertyGrid();
this.PluginTabs.SuspendLayout();
this.GlobalTab.SuspendLayout();
this.RiceTab.SuspendLayout();
this.Glide64mk2.SuspendLayout();
this.Glide64Tab.SuspendLayout();
this.JaboTab.SuspendLayout();
this.SuspendLayout();
//
// PluginTabs
//
this.PluginTabs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.PluginTabs.Controls.Add(this.GlobalTab);
this.PluginTabs.Controls.Add(this.RiceTab);
this.PluginTabs.Controls.Add(this.Glide64mk2);
this.PluginTabs.Controls.Add(this.Glide64Tab);
this.PluginTabs.Controls.Add(this.JaboTab);
this.PluginTabs.Location = new System.Drawing.Point(12, 12);
this.PluginTabs.Name = "PluginTabs";
this.PluginTabs.SelectedIndex = 0;
this.PluginTabs.Size = new System.Drawing.Size(580, 468);
this.PluginTabs.TabIndex = 0;
//
// GlobalTab
//
this.GlobalTab.Controls.Add(this.label49);
this.GlobalTab.Controls.Add(this.RspTypeDropdown);
this.GlobalTab.Controls.Add(this.label48);
this.GlobalTab.Controls.Add(this.CoreTypeDropdown);
this.GlobalTab.Controls.Add(this.label2);
this.GlobalTab.Controls.Add(this.VideoResolutionComboBox);
this.GlobalTab.Controls.Add(this.PluginComboBox);
this.GlobalTab.Controls.Add(this.label1);
this.GlobalTab.Location = new System.Drawing.Point(4, 22);
this.GlobalTab.Name = "GlobalTab";
this.GlobalTab.Padding = new System.Windows.Forms.Padding(3);
this.GlobalTab.Size = new System.Drawing.Size(572, 442);
this.GlobalTab.TabIndex = 0;
this.GlobalTab.Text = "Global";
this.GlobalTab.UseVisualStyleBackColor = true;
//
// label49
//
this.label49.AutoSize = true;
this.label49.Location = new System.Drawing.Point(213, 13);
this.label49.Name = "label49";
this.label49.Size = new System.Drawing.Size(58, 13);
this.label49.TabIndex = 26;
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(216, 29);
this.RspTypeDropdown.Name = "RspTypeDropdown";
this.RspTypeDropdown.Size = new System.Drawing.Size(136, 21);
this.RspTypeDropdown.TabIndex = 25;
//
// label48
//
this.label48.AutoSize = true;
this.label48.Location = new System.Drawing.Point(17, 13);
this.label48.Name = "label48";
this.label48.Size = new System.Drawing.Size(56, 13);
this.label48.TabIndex = 24;
this.label48.Text = "Core Type";
//
// CoreTypeDropdown
//
this.CoreTypeDropdown.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.CoreTypeDropdown.FormattingEnabled = true;
this.CoreTypeDropdown.Items.AddRange(new object[] {
"Pure Interpreter",
"Interpreter",
"DynaRec"});
this.CoreTypeDropdown.Location = new System.Drawing.Point(20, 29);
this.CoreTypeDropdown.Name = "CoreTypeDropdown";
this.CoreTypeDropdown.Size = new System.Drawing.Size(136, 21);
this.CoreTypeDropdown.TabIndex = 19;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(213, 75);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(87, 13);
this.label2.TabIndex = 23;
this.label2.Text = "Video Resolution";
//
// VideoResolutionComboBox
//
this.VideoResolutionComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.VideoResolutionComboBox.FormattingEnabled = true;
this.VideoResolutionComboBox.Items.AddRange(new object[] {
"320 x 240",
"400 x 300",
"480 x 360",
"512 x 384",
"640 x 480",
"800 x 600",
"1024 x 768",
"1152 x 864",
"1280 x 960",
"1400 x 1050",
"1600 x 1200",
"1920 x 1440",
"2048 x 1536"});
this.VideoResolutionComboBox.Location = new System.Drawing.Point(216, 91);
this.VideoResolutionComboBox.Name = "VideoResolutionComboBox";
this.VideoResolutionComboBox.Size = new System.Drawing.Size(136, 21);
this.VideoResolutionComboBox.TabIndex = 22;
//
// PluginComboBox
//
this.PluginComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.PluginComboBox.FormattingEnabled = true;
this.PluginComboBox.Items.AddRange(new object[] {
"Rice",
"Glide64",
"Glide64mk2",
"Jabo 1.6.1"});
this.PluginComboBox.Location = new System.Drawing.Point(20, 91);
this.PluginComboBox.Name = "PluginComboBox";
this.PluginComboBox.Size = new System.Drawing.Size(136, 21);
this.PluginComboBox.TabIndex = 21;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(17, 75);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(99, 13);
this.label1.TabIndex = 20;
this.label1.Text = "Active Video Plugin";
//
// RiceTab
//
this.RiceTab.Controls.Add(this.RicePropertyGrid);
this.RiceTab.Location = new System.Drawing.Point(4, 22);
this.RiceTab.Name = "RiceTab";
this.RiceTab.Padding = new System.Windows.Forms.Padding(3);
this.RiceTab.Size = new System.Drawing.Size(572, 442);
this.RiceTab.TabIndex = 1;
this.RiceTab.Text = "Rice";
this.RiceTab.UseVisualStyleBackColor = true;
//
// Glide64mk2
//
this.Glide64mk2.Controls.Add(this.Glidemk2PropertyGrid);
this.Glide64mk2.Location = new System.Drawing.Point(4, 22);
this.Glide64mk2.Name = "Glide64mk2";
this.Glide64mk2.Size = new System.Drawing.Size(572, 442);
this.Glide64mk2.TabIndex = 3;
this.Glide64mk2.Text = "Glide64mk2";
this.Glide64mk2.UseVisualStyleBackColor = true;
//
// Glide64Tab
//
this.Glide64Tab.Controls.Add(this.GlidePropertyGrid);
this.Glide64Tab.Location = new System.Drawing.Point(4, 22);
this.Glide64Tab.Name = "Glide64Tab";
this.Glide64Tab.Size = new System.Drawing.Size(572, 442);
this.Glide64Tab.TabIndex = 2;
this.Glide64Tab.Text = "Glide64";
this.Glide64Tab.UseVisualStyleBackColor = true;
//
// JaboTab
//
this.JaboTab.Controls.Add(this.JaboPropertyGrid);
this.JaboTab.Location = new System.Drawing.Point(4, 22);
this.JaboTab.Name = "JaboTab";
this.JaboTab.Size = new System.Drawing.Size(572, 442);
this.JaboTab.TabIndex = 4;
this.JaboTab.Text = "Jabo";
this.JaboTab.UseVisualStyleBackColor = true;
//
// SaveBtn
//
this.SaveBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.SaveBtn.Location = new System.Drawing.Point(466, 486);
this.SaveBtn.Name = "SaveBtn";
this.SaveBtn.Size = new System.Drawing.Size(60, 23);
this.SaveBtn.TabIndex = 101;
this.SaveBtn.Text = "Save";
this.SaveBtn.UseVisualStyleBackColor = true;
this.SaveBtn.Click += new System.EventHandler(this.SaveBtn_Click);
//
// CancelBtn
//
this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.CancelBtn.Location = new System.Drawing.Point(532, 486);
this.CancelBtn.Name = "CancelBtn";
this.CancelBtn.Size = new System.Drawing.Size(60, 23);
this.CancelBtn.TabIndex = 106;
this.CancelBtn.Text = "Cancel";
this.CancelBtn.UseVisualStyleBackColor = true;
this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click);
//
// RicePropertyGrid
//
this.RicePropertyGrid.Dock = System.Windows.Forms.DockStyle.Fill;
this.RicePropertyGrid.Location = new System.Drawing.Point(3, 3);
this.RicePropertyGrid.Name = "RicePropertyGrid";
this.RicePropertyGrid.PropertySort = System.Windows.Forms.PropertySort.NoSort;
this.RicePropertyGrid.Size = new System.Drawing.Size(566, 436);
this.RicePropertyGrid.TabIndex = 1;
this.RicePropertyGrid.ToolbarVisible = false;
//
// Glidemk2PropertyGrid
//
this.Glidemk2PropertyGrid.Dock = System.Windows.Forms.DockStyle.Fill;
this.Glidemk2PropertyGrid.Location = new System.Drawing.Point(0, 0);
this.Glidemk2PropertyGrid.Name = "Glidemk2PropertyGrid";
this.Glidemk2PropertyGrid.PropertySort = System.Windows.Forms.PropertySort.NoSort;
this.Glidemk2PropertyGrid.Size = new System.Drawing.Size(572, 442);
this.Glidemk2PropertyGrid.TabIndex = 2;
this.Glidemk2PropertyGrid.ToolbarVisible = false;
//
// GlidePropertyGrid
//
this.GlidePropertyGrid.Dock = System.Windows.Forms.DockStyle.Fill;
this.GlidePropertyGrid.Location = new System.Drawing.Point(0, 0);
this.GlidePropertyGrid.Name = "GlidePropertyGrid";
this.GlidePropertyGrid.PropertySort = System.Windows.Forms.PropertySort.NoSort;
this.GlidePropertyGrid.Size = new System.Drawing.Size(572, 442);
this.GlidePropertyGrid.TabIndex = 3;
this.GlidePropertyGrid.ToolbarVisible = false;
//
// JaboPropertyGrid
//
this.JaboPropertyGrid.Dock = System.Windows.Forms.DockStyle.Fill;
this.JaboPropertyGrid.Location = new System.Drawing.Point(0, 0);
this.JaboPropertyGrid.Name = "JaboPropertyGrid";
this.JaboPropertyGrid.PropertySort = System.Windows.Forms.PropertySort.NoSort;
this.JaboPropertyGrid.Size = new System.Drawing.Size(572, 442);
this.JaboPropertyGrid.TabIndex = 3;
this.JaboPropertyGrid.ToolbarVisible = false;
//
// NewN64PluginSettings
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(604, 521);
this.Controls.Add(this.CancelBtn);
this.Controls.Add(this.SaveBtn);
this.Controls.Add(this.PluginTabs);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "NewN64PluginSettings";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "New Plugin Settings";
this.Load += new System.EventHandler(this.NewN64PluginSettings_Load);
this.PluginTabs.ResumeLayout(false);
this.GlobalTab.ResumeLayout(false);
this.GlobalTab.PerformLayout();
this.RiceTab.ResumeLayout(false);
this.Glide64mk2.ResumeLayout(false);
this.Glide64Tab.ResumeLayout(false);
this.JaboTab.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TabControl PluginTabs;
private System.Windows.Forms.TabPage GlobalTab;
private System.Windows.Forms.TabPage RiceTab;
private System.Windows.Forms.Button SaveBtn;
private System.Windows.Forms.Button CancelBtn;
private System.Windows.Forms.TabPage Glide64Tab;
private System.Windows.Forms.TabPage Glide64mk2;
private System.Windows.Forms.TabPage JaboTab;
private System.Windows.Forms.Label label49;
private System.Windows.Forms.ComboBox RspTypeDropdown;
private System.Windows.Forms.Label label48;
private System.Windows.Forms.ComboBox CoreTypeDropdown;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ComboBox VideoResolutionComboBox;
private System.Windows.Forms.ComboBox PluginComboBox;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.PropertyGrid RicePropertyGrid;
private System.Windows.Forms.PropertyGrid Glidemk2PropertyGrid;
private System.Windows.Forms.PropertyGrid GlidePropertyGrid;
private System.Windows.Forms.PropertyGrid JaboPropertyGrid;
}
}

View File

@ -0,0 +1,115 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using BizHawk.Common;
using BizHawk.Common.StringExtensions;
using BizHawk.Common.ReflectionExtensions;
using BizHawk.Emulation.Cores.Nintendo.N64;
using BizHawk.Client.Common;
using BizHawk.Client.EmuHawk.ControlExtensions;
namespace BizHawk.Client.EmuHawk
{
public partial class NewN64PluginSettings : Form
{
N64Settings s;
N64SyncSettings ss;
public NewN64PluginSettings()
{
InitializeComponent();
}
private void CancelBtn_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Close();
}
private void SaveBtn_Click(object sender, EventArgs e)
{
PutSettings(s);
PutSyncSettings(ss);
DialogResult = DialogResult.OK;
Close();
}
private void NewN64PluginSettings_Load(object sender, EventArgs e)
{
s = GetSettings();
ss = GetSyncSettings();
CoreTypeDropdown.PopulateFromEnum<N64SyncSettings.CORETYPE>(ss.CoreType);
RspTypeDropdown.PopulateFromEnum<N64SyncSettings.RSPTYPE>(ss.RspType);
PluginComboBox.PopulateFromEnum<PLUGINTYPE>(ss.VidPlugin);
var video_setting = s.VideoSizeX
+ " x "
+ s.VideoSizeY;
var index = VideoResolutionComboBox.Items.IndexOf(video_setting);
if (index >= 0)
{
VideoResolutionComboBox.SelectedIndex = index;
}
RicePropertyGrid.SelectedObject = ss.RicePlugin;
Glidemk2PropertyGrid.SelectedObject = ss.Glide64mk2Plugin;
GlidePropertyGrid.SelectedObject = ss.GlidePlugin;
JaboPropertyGrid.SelectedObject = ss.JaboPlugin;
}
#region Setting Get/Set
private static N64SyncSettings GetSyncSettings()
{
if (Global.Emulator is N64)
{
return (N64SyncSettings)Global.Emulator.GetSyncSettings();
}
return (N64SyncSettings)Global.Config.GetCoreSyncSettings<N64>()
?? new N64SyncSettings();
}
private static N64Settings GetSettings()
{
if (Global.Emulator is N64)
{
return (N64Settings)Global.Emulator.GetSettings();
}
return (N64Settings)Global.Config.GetCoreSettings<N64>()
?? new N64Settings();
}
private static void PutSyncSettings(N64SyncSettings s)
{
if (Global.Emulator is N64)
{
GlobalWin.MainForm.PutCoreSyncSettings(s);
}
else
{
Global.Config.PutCoreSyncSettings<N64>(s);
}
}
private static void PutSettings(N64Settings s)
{
if (Global.Emulator is N64)
{
GlobalWin.MainForm.PutCoreSettings(s);
}
else
{
Global.Config.PutCoreSettings<N64>(s);
}
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@ -97,7 +97,20 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
}
}
public enum PLUGINTYPE { RICE, GLIDE, GLIDE64MK2, JABO };
public enum PLUGINTYPE
{
[Description("Rice")]
RICE,
[Description("Glide64")]
GLIDE,
[Description("Glide64 mk2")]
GLIDE64MK2,
[Description("Jabo")]
JABO
}
public interface IPluginSettings
{
@ -108,7 +121,76 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
public class N64RicePluginSettings : IPluginSettings
{
public N64RicePluginSettings()
{
FrameBufferSetting = 0;
FrameBufferWriteBackControl = 0;
RenderToTexture = 0;
ScreenUpdateSetting = 4;
Mipmapping = 2;
FogMethod = 0;
ForceTextureFilter = 0;
TextureEnhancement = 0;
TextureEnhancementControl = 0;
TextureQuality = 0;
OpenGLDepthBufferSetting = 16;
MultiSampling = 0;
ColorQuality = 0;
OpenGLRenderSetting = 0;
AnisotropicFiltering = 0;
NormalAlphaBlender = false;
FastTextureLoading = false;
AccurateTextureMapping = true;
InN64Resolution = false;
SaveVRAM = false;
DoubleSizeForSmallTxtrBuf = false;
DefaultCombinerDisable = false;
EnableHacks = true;
WinFrameMode = false;
FullTMEMEmulation = false;
OpenGLVertexClipper = false;
EnableSSE = true;
EnableVertexShader = false;
SkipFrame = false;
TexRectOnly = false;
SmallTextureOnly = false;
LoadHiResCRCOnly = true;
LoadHiResTextures = false;
DumpTexturesToFiles = false;
UseDefaultHacks = true;
DisableTextureCRC = false;
DisableCulling = false;
IncTexRectEdge = false;
ZHack = false;
TextureScaleHack = false;
PrimaryDepthHack = false;
Texture1Hack = false;
FastLoadTile = false;
UseSmallerTexture = false;
VIWidth = -1;
VIHeight = -1;
UseCIWidthAndRatio = 0;
FullTMEM = 0;
TxtSizeMethod2 = false;
EnableTxtLOD = false;
FastTextureCRC = 0;
EmulateClear = false;
ForceScreenClear = false;
AccurateTextureMappingHack = 0;
NormalBlender = 0;
DisableBlender = false;
ForceDepthBuffer = false;
DisableObjBG = false;
FrameBufferOption = 0;
RenderToTextureOption = 0;
ScreenUpdateSettingHack = 0;
EnableHacksForGame = 0;
}
[JsonIgnore]
[Description("Plugin Type")]
public PLUGINTYPE PluginType
{
get { return PLUGINTYPE.RICE; }
@ -162,70 +244,70 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
return dictionary;
}
public int FrameBufferSetting = 0;
public int FrameBufferWriteBackControl = 0;
public int RenderToTexture = 0;
public int ScreenUpdateSetting = 4;
public int Mipmapping = 2;
public int FogMethod = 0;
public int ForceTextureFilter = 0;
public int TextureEnhancement = 0;
public int TextureEnhancementControl = 0;
public int TextureQuality = 0;
public int OpenGLDepthBufferSetting = 16;
public int MultiSampling = 0;
public int ColorQuality = 0;
public int OpenGLRenderSetting = 0;
public int AnisotropicFiltering = 0;
public int FrameBufferSetting { get; set; }
public int FrameBufferWriteBackControl { get; set; }
public int RenderToTexture { get; set; }
public int ScreenUpdateSetting { get; set; }
public int Mipmapping { get; set; }
public int FogMethod { get; set; }
public int ForceTextureFilter { get; set; }
public int TextureEnhancement { get; set; }
public int TextureEnhancementControl { get; set; }
public int TextureQuality { get; set; }
public int OpenGLDepthBufferSetting { get; set; }
public int MultiSampling { get; set; }
public int ColorQuality { get; set; }
public int OpenGLRenderSetting { get; set; }
public int AnisotropicFiltering { get; set; }
public bool NormalAlphaBlender = false;
public bool FastTextureLoading = false;
public bool AccurateTextureMapping = true;
public bool InN64Resolution = false;
public bool SaveVRAM = false;
public bool DoubleSizeForSmallTxtrBuf = false;
public bool DefaultCombinerDisable = false;
public bool EnableHacks = true;
public bool WinFrameMode = false;
public bool FullTMEMEmulation = false;
public bool OpenGLVertexClipper = false;
public bool EnableSSE = true;
public bool EnableVertexShader = false;
public bool SkipFrame = false;
public bool TexRectOnly = false;
public bool SmallTextureOnly = false;
public bool LoadHiResCRCOnly = true;
public bool LoadHiResTextures = false;
public bool DumpTexturesToFiles = false;
public bool NormalAlphaBlender { get; set; }
public bool FastTextureLoading { get; set; }
public bool AccurateTextureMapping { get; set; }
public bool InN64Resolution { get; set; }
public bool SaveVRAM { get; set; }
public bool DoubleSizeForSmallTxtrBuf { get; set; }
public bool DefaultCombinerDisable { get; set; }
public bool EnableHacks { get; set; }
public bool WinFrameMode { get; set; }
public bool FullTMEMEmulation { get; set; }
public bool OpenGLVertexClipper { get; set; }
public bool EnableSSE { get; set; }
public bool EnableVertexShader { get; set; }
public bool SkipFrame { get; set; }
public bool TexRectOnly { get; set; }
public bool SmallTextureOnly { get; set; }
public bool LoadHiResCRCOnly { get; set; }
public bool LoadHiResTextures { get; set; }
public bool DumpTexturesToFiles { get; set; }
public bool UseDefaultHacks = true;
public bool DisableTextureCRC = false;
public bool DisableCulling = false;
public bool IncTexRectEdge = false;
public bool ZHack = false;
public bool TextureScaleHack = false;
public bool PrimaryDepthHack = false;
public bool Texture1Hack = false;
public bool FastLoadTile = false;
public bool UseSmallerTexture = false;
public int VIWidth = -1;
public int VIHeight = -1;
public int UseCIWidthAndRatio = 0;
public int FullTMEM = 0;
public bool TxtSizeMethod2 = false;
public bool EnableTxtLOD = false;
public int FastTextureCRC = 0;
public bool EmulateClear = false;
public bool ForceScreenClear = false;
public int AccurateTextureMappingHack = 0;
public int NormalBlender = 0;
public bool DisableBlender = false;
public bool ForceDepthBuffer = false;
public bool DisableObjBG = false;
public int FrameBufferOption = 0;
public int RenderToTextureOption = 0;
public int ScreenUpdateSettingHack = 0;
public int EnableHacksForGame = 0;
public bool UseDefaultHacks { get; set; }
public bool DisableTextureCRC { get; set; }
public bool DisableCulling { get; set; }
public bool IncTexRectEdge { get; set; }
public bool ZHack { get; set; }
public bool TextureScaleHack { get; set; }
public bool PrimaryDepthHack { get; set; }
public bool Texture1Hack { get; set; }
public bool FastLoadTile { get; set; }
public bool UseSmallerTexture { get; set; }
public int VIWidth { get; set; }
public int VIHeight { get; set; }
public int UseCIWidthAndRatio { get; set; }
public int FullTMEM { get; set; }
public bool TxtSizeMethod2 { get; set; }
public bool EnableTxtLOD { get; set; }
public int FastTextureCRC { get; set; }
public bool EmulateClear { get; set; }
public bool ForceScreenClear { get; set; }
public int AccurateTextureMappingHack { get; set; }
public int NormalBlender { get; set; }
public bool DisableBlender { get; set; }
public bool ForceDepthBuffer { get; set; }
public bool DisableObjBG { get; set; }
public int FrameBufferOption { get; set; }
public int RenderToTextureOption { get; set; }
public int ScreenUpdateSettingHack { get; set; }
public int EnableHacksForGame { get; set; }
public N64RicePluginSettings Clone()
{
@ -235,6 +317,64 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
public class N64GlidePluginSettings : IPluginSettings
{
public N64GlidePluginSettings()
{
wfmode = 1;
wireframe = false;
card_id = 0;
flame_corona = false;
ucode = 2;
autodetect_ucode = true;
motionblur = false;
fb_read_always = false;
unk_as_red = false;
filter_cache = false;
fast_crc = false;
disable_auxbuf = false;
fbo = false;
noglsl = true;
noditheredalpha = true;
tex_filter = 0;
fb_render = false;
wrap_big_tex = false;
use_sts1_only = false;
soft_depth_compare = false;
PPL = false;
fb_optimize_write = false;
fb_optimize_texrect = true;
increase_texrect_edge = false;
increase_primdepth = false;
fb_ignore_previous = false;
fb_ignore_aux_copy = false;
fb_hires_buf_clear = true;
force_microcheck = false;
force_depth_compare = false;
fog = true;
fillcolor_fix = false;
fb_smart = false;
fb_read_alpha = false;
fb_get_info = false;
fb_hires = true;
fb_clear = false;
detect_cpu_write = false;
decrease_fillrect_edge = false;
buff_clear = true;
alt_tex_size = false;
UseDefaultHacks = true;
enable_hacks_for_game = 0;
swapmode = 1;
stipple_pattern = 1041204192;
stipple_mode = 2;
scale_y = 100000;
scale_x = 100000;
offset_y = 0;
offset_x = 0;
lodmode = 0;
fix_tex_coord = 0;
filtering = 1;
depth_bias = 20;
}
[JsonIgnore]
public PLUGINTYPE PluginType
{
@ -295,60 +435,60 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
return dictionary;
}
public int wfmode = 1;
public bool wireframe = false;
public int card_id = 0;
public bool flame_corona = false;
public int ucode = 2;
public bool autodetect_ucode = true;
public bool motionblur = false;
public bool fb_read_always = false;
public bool unk_as_red = false;
public bool filter_cache = false;
public bool fast_crc = false;
public bool disable_auxbuf = false;
public bool fbo = false;
public bool noglsl = true;
public bool noditheredalpha = true;
public int tex_filter = 0;
public bool fb_render = false;
public bool wrap_big_tex = false;
public bool use_sts1_only = false;
public bool soft_depth_compare = false;
public bool PPL = false;
public bool fb_optimize_write = false;
public bool fb_optimize_texrect = true;
public bool increase_texrect_edge = false;
public bool increase_primdepth = false;
public bool fb_ignore_previous = false;
public bool fb_ignore_aux_copy = false;
public bool fb_hires_buf_clear = true;
public bool force_microcheck = false;
public bool force_depth_compare = false;
public bool fog = true;
public bool fillcolor_fix = false;
public bool fb_smart = false;
public bool fb_read_alpha = false;
public bool fb_get_info = false;
public bool fb_hires = true;
public bool fb_clear = false;
public bool detect_cpu_write = false;
public bool decrease_fillrect_edge = false;
public bool buff_clear = true;
public bool alt_tex_size = false;
public bool UseDefaultHacks = true;
public int enable_hacks_for_game = 0;
public int swapmode = 1;
public int stipple_pattern = 1041204192;
public int stipple_mode = 2;
public int scale_y = 100000;
public int scale_x = 100000;
public int offset_y = 0;
public int offset_x = 0;
public int lodmode = 0;
public int fix_tex_coord = 0;
public int filtering = 1;
public int depth_bias = 20;
public int wfmode { get; set; }
public bool wireframe { get; set; }
public int card_id { get; set; }
public bool flame_corona { get; set; }
public int ucode { get; set; }
public bool autodetect_ucode { get; set; }
public bool motionblur { get; set; }
public bool fb_read_always { get; set; }
public bool unk_as_red { get; set; }
public bool filter_cache { get; set; }
public bool fast_crc { get; set; }
public bool disable_auxbuf { get; set; }
public bool fbo { get; set; }
public bool noglsl { get; set; }
public bool noditheredalpha { get; set; }
public int tex_filter { get; set; }
public bool fb_render { get; set; }
public bool wrap_big_tex { get; set; }
public bool use_sts1_only { get; set; }
public bool soft_depth_compare { get; set; }
public bool PPL { get; set; }
public bool fb_optimize_write { get; set; }
public bool fb_optimize_texrect { get; set; }
public bool increase_texrect_edge { get; set; }
public bool increase_primdepth { get; set; }
public bool fb_ignore_previous { get; set; }
public bool fb_ignore_aux_copy { get; set; }
public bool fb_hires_buf_clear { get; set; }
public bool force_microcheck { get; set; }
public bool force_depth_compare { get; set; }
public bool fog { get; set; }
public bool fillcolor_fix { get; set; }
public bool fb_smart { get; set; }
public bool fb_read_alpha { get; set; }
public bool fb_get_info { get; set; }
public bool fb_hires { get; set; }
public bool fb_clear { get; set; }
public bool detect_cpu_write { get; set; }
public bool decrease_fillrect_edge { get; set; }
public bool buff_clear { get; set; }
public bool alt_tex_size { get; set; }
public bool UseDefaultHacks { get; set; }
public int enable_hacks_for_game { get; set; }
public int swapmode { get; set; }
public int stipple_pattern { get; set; }
public int stipple_mode { get; set; }
public int scale_y { get; set; }
public int scale_x { get; set; }
public int offset_y { get; set; }
public int offset_x { get; set; }
public int lodmode { get; set; }
public int fix_tex_coord { get; set; }
public int filtering { get; set; }
public int depth_bias { get; set; }
public N64GlidePluginSettings Clone()
{
@ -358,6 +498,53 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
public class N64Glide64mk2PluginSettings : IPluginSettings
{
public N64Glide64mk2PluginSettings()
{
wrpFBO = true;
card_id = 0;
use_sts1_only = false;
optimize_texrect = true;
increase_texrect_edge = false;
ignore_aux_copy = false;
hires_buf_clear = true;
force_microcheck = false;
fog = true;
fb_smart = false;
fb_read_alpha = false;
fb_hires = true;
detect_cpu_write = false;
decrease_fillrect_edge = false;
buff_clear = true;
alt_tex_size = false;
swapmode = 1;
stipple_pattern = 1041204192;
stipple_mode = 2;
lodmode = 0;
filtering = 0;
wrpAnisotropic = false;
correct_viewport = false;
force_calc_sphere = false;
pal230 = false;
texture_correction = true;
n64_z_scale = false;
old_style_adither = false;
zmode_compare_less = false;
adjust_aspect = true;
clip_zmax = true;
clip_zmin = false;
force_quad3d = false;
useless_is_useless = false;
fb_read_always = false;
fb_get_info = false;
fb_render = true;
aspectmode = 0;
fb_crc_mode = 1;
fast_crc = true;
UseDefaultHacks = true;
enable_hacks_for_game = 0;
read_back_to_screen = 0;
}
[JsonIgnore]
public PLUGINTYPE PluginType
{
@ -421,49 +608,49 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
return dictionary;
}
public bool wrpFBO = true;
public int card_id = 0;
public bool use_sts1_only = false;
public bool optimize_texrect = true;
public bool increase_texrect_edge = false;
public bool ignore_aux_copy = false;
public bool hires_buf_clear = true;
public bool force_microcheck = false;
public bool fog = true;
public bool fb_smart = false;
public bool fb_read_alpha = false;
public bool fb_hires = true;
public bool detect_cpu_write = false;
public bool decrease_fillrect_edge = false;
public bool buff_clear = true;
public bool alt_tex_size = false;
public int swapmode = 1;
public int stipple_pattern = 1041204192;
public int stipple_mode = 2;
public int lodmode = 0;
public int filtering = 0;
public bool wrpAnisotropic = false;
public bool correct_viewport = false;
public bool force_calc_sphere = false;
public bool pal230 = false;
public bool texture_correction = true;
public bool n64_z_scale = false;
public bool old_style_adither = false;
public bool zmode_compare_less = false;
public bool adjust_aspect = true;
public bool clip_zmax = true;
public bool clip_zmin = false;
public bool force_quad3d = false;
public bool useless_is_useless = false;
public bool fb_read_always = false;
public bool fb_get_info = false;
public bool fb_render = true;
public int aspectmode = 0;
public int fb_crc_mode = 1;
public bool fast_crc = true;
public bool UseDefaultHacks = true;
public int enable_hacks_for_game = 0;
public int read_back_to_screen = 0;
public bool wrpFBO { get; set; }
public int card_id { get; set; }
public bool use_sts1_only { get; set; }
public bool optimize_texrect { get; set; }
public bool increase_texrect_edge { get; set; }
public bool ignore_aux_copy { get; set; }
public bool hires_buf_clear { get; set; }
public bool force_microcheck { get; set; }
public bool fog { get; set; }
public bool fb_smart { get; set; }
public bool fb_read_alpha { get; set; }
public bool fb_hires { get; set; }
public bool detect_cpu_write { get; set; }
public bool decrease_fillrect_edge { get; set; }
public bool buff_clear { get; set; }
public bool alt_tex_size { get; set; }
public int swapmode { get; set; }
public int stipple_pattern { get; set; }
public int stipple_mode { get; set; }
public int lodmode { get; set; }
public int filtering { get; set; }
public bool wrpAnisotropic { get; set; }
public bool correct_viewport { get; set; }
public bool force_calc_sphere { get; set; }
public bool pal230 { get; set; }
public bool texture_correction { get; set; }
public bool n64_z_scale { get; set; }
public bool old_style_adither { get; set; }
public bool zmode_compare_less { get; set; }
public bool adjust_aspect { get; set; }
public bool clip_zmax { get; set; }
public bool clip_zmin { get; set; }
public bool force_quad3d { get; set; }
public bool useless_is_useless { get; set; }
public bool fb_read_always { get; set; }
public bool fb_get_info { get; set; }
public bool fb_render { get; set; }
public int aspectmode { get; set; }
public int fb_crc_mode { get; set; }
public bool fast_crc { get; set; }
public bool UseDefaultHacks { get; set; }
public int enable_hacks_for_game { get; set; }
public int read_back_to_screen { get; set; }
public N64Glide64mk2PluginSettings Clone()
{
@ -473,6 +660,24 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
public class N64JaboPluginSettings : IPluginSettings
{
public N64JaboPluginSettings()
{
anisotropic_level = ANISOTROPIC_FILTERING_LEVEL.four_times;
brightness = 100;
super2xsal = false;
texture_filter = false;
adjust_aspect_ratio = false;
legacy_pixel_pipeline = false;
alpha_blending = false;
wireframe = false;
direct3d_transformation_pipeline = false;
z_compare = false;
copy_framebuffer = false;
resolution_width = -1;
resolution_height = -1;
clear_mode = DIRECT3D_CLEAR_MODE.def;
}
[JsonIgnore]
public PLUGINTYPE PluginType
{
@ -515,70 +720,71 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
[Description("16X")]
sixteen_times = 4
}
[DefaultValue(ANISOTROPIC_FILTERING_LEVEL.four_times)]
[Description("Anisotropic filtering level")]
//[DisplayName("Anisotropic filtering")]
public ANISOTROPIC_FILTERING_LEVEL anisotropic_level = ANISOTROPIC_FILTERING_LEVEL.four_times;
public ANISOTROPIC_FILTERING_LEVEL anisotropic_level { get; set; }
[DefaultValue(100)]
[Description("Brightness level, 100%-190%")]
//[DisplayName("Brightness")]
public int brightness = 100;
public int brightness { get; set; }
[DefaultValue(false)]
[Description("Enables Super2xSal textures")]
//[DisplayName("Super2xSal textures")]
public bool super2xsal = false;
public bool super2xsal { get; set; }
[DefaultValue(false)]
[Description("Always use texture filter")]
//[DisplayName("Always use texture filter")]
public bool texture_filter = false;
public bool texture_filter { get; set; }
[DefaultValue(false)]
[Description("Adjust game aspect ratio to match yours")]
//[DisplayName("Adjust game aspect ratio to match yours")]
public bool adjust_aspect_ratio = false;
public bool adjust_aspect_ratio { get; set; }
[DefaultValue(false)]
[Description("Use legacy pixel pipeline")]
//[DisplayName("Use legacy pixel pipeline")]
public bool legacy_pixel_pipeline = false;
public bool legacy_pixel_pipeline { get; set; }
[DefaultValue(false)]
[Description("Force alpha blending")]
//[DisplayName("Force alpha blending")]
public bool alpha_blending = false;
public bool alpha_blending { get; set; }
[DefaultValue(false)]
[Description("Wireframe rendering")]
//[DisplayName("Wireframe rendering")]
public bool wireframe = false;
public bool wireframe { get; set; }
[DefaultValue(false)]
[Description("Use Direct3D transformation pipeline")]
//[DisplayName("Use Direct3D transformation pipeline")]
public bool direct3d_transformation_pipeline = false;
public bool direct3d_transformation_pipeline { get; set; }
[DefaultValue(false)]
[Description("Force Z Compare")]
//[DisplayName("Force Z Compare")]
public bool z_compare = false;
public bool z_compare { get; set; }
[DefaultValue(false)]
[Description("Copy framebuffer to RDRAM")]
//[DisplayName("Copy framebuffer to RDRAM")]
public bool copy_framebuffer = false;
public bool copy_framebuffer { get; set; }
[DefaultValue(-1)]
[Description("Emulated Width")]
//[DisplayName("Emulated Width")]
public int resolution_width = -1;
public int resolution_width { get; set; }
[DefaultValue(-1)]
[Description("Emulated Height")]
//[DisplayName("Emulated Height")]
public int resolution_height = -1;
public int resolution_height { get; set; }
public enum DIRECT3D_CLEAR_MODE
{
@ -594,7 +800,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
[DefaultValue(DIRECT3D_CLEAR_MODE.def)]
[Description("Direct3D Clear Mode")]
//[DisplayName("Direct3D Clear Mode")]
public DIRECT3D_CLEAR_MODE clear_mode = DIRECT3D_CLEAR_MODE.def;
public DIRECT3D_CLEAR_MODE clear_mode { get; set; }
public N64JaboPluginSettings Clone()
{