diff --git a/BizHawk.MultiClient/Config.cs b/BizHawk.MultiClient/Config.cs
index 6aed0dc658..fedd02a980 100644
--- a/BizHawk.MultiClient/Config.cs
+++ b/BizHawk.MultiClient/Config.cs
@@ -2119,59 +2119,59 @@ namespace BizHawk.MultiClient
return dictionary;
}
- public int wfmode;
- public bool wireframe;
- public int card_id;
- public bool flame_corona;
- public int ucode;
- public bool autodetect_ucode;
- public bool motionblur;
- public bool fb_read_always;
- public bool unk_as_red;
- public bool filter_cache;
- public bool fast_crc;
- public bool disable_auxbuf;
- public bool fbo;
- public bool noglsl;
- public bool noditheredalpha;
- public int tex_filter;
- public bool fb_render;
- public bool wrap_big_tex;
- public bool use_sts1_only;
- public bool soft_depth_compare;
- public bool PPL;
- public bool fb_optimize_write;
- public bool fb_optimize_texrect;
- public bool increase_texrect_edge;
- public bool increase_primdepth;
- public bool fb_ignore_previous;
- public bool fb_ignore_aux_copy;
- public bool fb_hires_buf_clear;
- public bool force_microcheck;
- public bool force_depth_compare;
- public bool fog;
- public bool fillcolor_fix;
- public bool fb_smart;
- public bool fb_read_alpha;
- public bool fb_get_info;
- public bool fb_hires;
- public bool fb_clear;
- public bool detect_cpu_write;
- public bool decrease_fillrect_edge;
- public bool buff_clear;
- public bool alt_tex_size;
- public bool UseDefaultHacks;
- public int enable_hacks_for_game;
- public int swapmode;
- public int stipple_pattern;
- public int stipple_mode;
- public int scale_y;
- public int scale_x;
- public int offset_y;
- public int offset_x;
- public int lodmode;
- public int fix_tex_coord;
- public int filtering;
- public int depth_bias;
+ 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;
}
}
\ No newline at end of file
diff --git a/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.Designer.cs b/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.Designer.cs
index b8acd7a686..89883be4c8 100644
--- a/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.Designer.cs
+++ b/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.Designer.cs
@@ -174,7 +174,6 @@
this.Glide_fillcolor_fix = new System.Windows.Forms.CheckBox();
this.Glide_fb_smart = new System.Windows.Forms.CheckBox();
this.Glide_fb_read_alpha = new System.Windows.Forms.CheckBox();
- this.Glide_fb_get_info = new System.Windows.Forms.CheckBox();
this.Glide_fb_hires = new System.Windows.Forms.CheckBox();
this.Glide_fb_clear = new System.Windows.Forms.CheckBox();
this.Glide_detect_cpu_write = new System.Windows.Forms.CheckBox();
@@ -191,14 +190,6 @@
this.Glide_stipple_pattern = new System.Windows.Forms.TextBox();
this.label41 = new System.Windows.Forms.Label();
this.Glide_stipple_mode = new System.Windows.Forms.TextBox();
- this.label39 = new System.Windows.Forms.Label();
- this.Glide_scale_y = new System.Windows.Forms.TextBox();
- this.label40 = new System.Windows.Forms.Label();
- this.Glide_scale_x = new System.Windows.Forms.TextBox();
- this.label38 = new System.Windows.Forms.Label();
- this.Glide_offset_y = new System.Windows.Forms.TextBox();
- this.label37 = new System.Windows.Forms.Label();
- this.Glide_offset_x = new System.Windows.Forms.TextBox();
this.label36 = new System.Windows.Forms.Label();
this.Glide_lodmode = new System.Windows.Forms.ComboBox();
this.label35 = new System.Windows.Forms.Label();
@@ -211,6 +202,15 @@
this.button1 = new System.Windows.Forms.Button();
this.CancelBT = new System.Windows.Forms.Button();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
+ this.Glide_fb_get_info = new System.Windows.Forms.CheckBox();
+ this.label39 = new System.Windows.Forms.Label();
+ this.Glide_scale_y = new System.Windows.Forms.TextBox();
+ this.label40 = new System.Windows.Forms.Label();
+ this.Glide_scale_x = new System.Windows.Forms.TextBox();
+ this.label38 = new System.Windows.Forms.Label();
+ this.Glide_offset_y = new System.Windows.Forms.TextBox();
+ this.label37 = new System.Windows.Forms.Label();
+ this.Glide_offset_x = new System.Windows.Forms.TextBox();
this.N64plugintabcontrol.SuspendLayout();
this.N64vpluginglobaltab.SuspendLayout();
this.RiceTabPage.SuspendLayout();
@@ -1584,6 +1584,15 @@
//
// Glide64General
//
+ this.Glide64General.Controls.Add(this.label39);
+ this.Glide64General.Controls.Add(this.Glide_scale_y);
+ this.Glide64General.Controls.Add(this.label40);
+ this.Glide64General.Controls.Add(this.Glide_scale_x);
+ this.Glide64General.Controls.Add(this.label38);
+ this.Glide64General.Controls.Add(this.Glide_offset_y);
+ this.Glide64General.Controls.Add(this.label37);
+ this.Glide64General.Controls.Add(this.Glide_offset_x);
+ this.Glide64General.Controls.Add(this.Glide_fb_get_info);
this.Glide64General.Controls.Add(this.Glide_disable_auxbuf);
this.Glide64General.Controls.Add(this.Glide_fbo);
this.Glide64General.Controls.Add(this.Glide_noglsl);
@@ -1860,7 +1869,6 @@
this.GlidePerGameHacks1.Controls.Add(this.Glide_fillcolor_fix);
this.GlidePerGameHacks1.Controls.Add(this.Glide_fb_smart);
this.GlidePerGameHacks1.Controls.Add(this.Glide_fb_read_alpha);
- this.GlidePerGameHacks1.Controls.Add(this.Glide_fb_get_info);
this.GlidePerGameHacks1.Controls.Add(this.Glide_fb_hires);
this.GlidePerGameHacks1.Controls.Add(this.Glide_fb_clear);
this.GlidePerGameHacks1.Controls.Add(this.Glide_detect_cpu_write);
@@ -2046,16 +2054,6 @@
this.Glide_fb_read_alpha.Text = "Framebuffer read alpha";
this.Glide_fb_read_alpha.UseVisualStyleBackColor = true;
//
- // Glide_fb_get_info
- //
- this.Glide_fb_get_info.AutoSize = true;
- this.Glide_fb_get_info.Location = new System.Drawing.Point(6, 177);
- this.Glide_fb_get_info.Name = "Glide_fb_get_info";
- this.Glide_fb_get_info.Size = new System.Drawing.Size(119, 17);
- this.Glide_fb_get_info.TabIndex = 16;
- this.Glide_fb_get_info.Text = "Get framebuffer info";
- this.Glide_fb_get_info.UseVisualStyleBackColor = true;
- //
// Glide_fb_hires
//
this.Glide_fb_hires.AutoSize = true;
@@ -2125,6 +2123,7 @@
this.GlideUseDefaultHacks1.TabIndex = 2;
this.GlideUseDefaultHacks1.Text = "Use defaults for current game";
this.GlideUseDefaultHacks1.UseVisualStyleBackColor = true;
+ this.GlideUseDefaultHacks1.CheckedChanged += new System.EventHandler(this.GlideUseDefaultHacks1_CheckedChanged);
//
// GlidePerGameHacks2
//
@@ -2136,14 +2135,6 @@
this.GlidePerGameHacks2.Controls.Add(this.Glide_stipple_pattern);
this.GlidePerGameHacks2.Controls.Add(this.label41);
this.GlidePerGameHacks2.Controls.Add(this.Glide_stipple_mode);
- this.GlidePerGameHacks2.Controls.Add(this.label39);
- this.GlidePerGameHacks2.Controls.Add(this.Glide_scale_y);
- this.GlidePerGameHacks2.Controls.Add(this.label40);
- this.GlidePerGameHacks2.Controls.Add(this.Glide_scale_x);
- this.GlidePerGameHacks2.Controls.Add(this.label38);
- this.GlidePerGameHacks2.Controls.Add(this.Glide_offset_y);
- this.GlidePerGameHacks2.Controls.Add(this.label37);
- this.GlidePerGameHacks2.Controls.Add(this.Glide_offset_x);
this.GlidePerGameHacks2.Controls.Add(this.label36);
this.GlidePerGameHacks2.Controls.Add(this.Glide_lodmode);
this.GlidePerGameHacks2.Controls.Add(this.label35);
@@ -2179,7 +2170,6 @@
"Bomberman64",
"Diddy Kong Racing",
"Tonic Trouble",
- "PPL",
"All-Star Baseball",
"Doraemon 2",
"Space Invaders",
@@ -2254,71 +2244,6 @@
this.Glide_stipple_mode.Size = new System.Drawing.Size(36, 20);
this.Glide_stipple_mode.TabIndex = 35;
//
- // label39
- //
- this.label39.AutoSize = true;
- this.label39.Location = new System.Drawing.Point(3, 223);
- this.label39.Name = "label39";
- this.label39.Size = new System.Drawing.Size(47, 13);
- this.label39.TabIndex = 34;
- this.label39.Text = "Scale Y:";
- //
- // Glide_scale_y
- //
- this.Glide_scale_y.Location = new System.Drawing.Point(92, 220);
- this.Glide_scale_y.Name = "Glide_scale_y";
- this.Glide_scale_y.Size = new System.Drawing.Size(36, 20);
- this.Glide_scale_y.TabIndex = 33;
- //
- // label40
- //
- this.label40.AutoSize = true;
- this.label40.ForeColor = System.Drawing.SystemColors.ControlText;
- this.label40.Location = new System.Drawing.Point(3, 197);
- this.label40.Name = "label40";
- this.label40.Size = new System.Drawing.Size(47, 13);
- this.label40.TabIndex = 32;
- this.label40.Text = "Scale X:";
- //
- // Glide_scale_x
- //
- this.Glide_scale_x.Location = new System.Drawing.Point(92, 194);
- this.Glide_scale_x.Name = "Glide_scale_x";
- this.Glide_scale_x.Size = new System.Drawing.Size(36, 20);
- this.Glide_scale_x.TabIndex = 31;
- //
- // label38
- //
- this.label38.AutoSize = true;
- this.label38.Location = new System.Drawing.Point(3, 171);
- this.label38.Name = "label38";
- this.label38.Size = new System.Drawing.Size(48, 13);
- this.label38.TabIndex = 30;
- this.label38.Text = "Offset Y:";
- //
- // Glide_offset_y
- //
- this.Glide_offset_y.Location = new System.Drawing.Point(92, 168);
- this.Glide_offset_y.Name = "Glide_offset_y";
- this.Glide_offset_y.Size = new System.Drawing.Size(36, 20);
- this.Glide_offset_y.TabIndex = 29;
- //
- // label37
- //
- this.label37.AutoSize = true;
- this.label37.Location = new System.Drawing.Point(3, 145);
- this.label37.Name = "label37";
- this.label37.Size = new System.Drawing.Size(48, 13);
- this.label37.TabIndex = 28;
- this.label37.Text = "Offset X:";
- //
- // Glide_offset_x
- //
- this.Glide_offset_x.Location = new System.Drawing.Point(92, 142);
- this.Glide_offset_x.Name = "Glide_offset_x";
- this.Glide_offset_x.Size = new System.Drawing.Size(36, 20);
- this.Glide_offset_x.TabIndex = 27;
- //
// label36
//
this.label36.AutoSize = true;
@@ -2404,6 +2329,7 @@
this.GlideUseDefaultHacks2.TabIndex = 3;
this.GlideUseDefaultHacks2.Text = "Use defaults for current game";
this.GlideUseDefaultHacks2.UseVisualStyleBackColor = true;
+ this.GlideUseDefaultHacks2.CheckedChanged += new System.EventHandler(this.GlideUseDefaultHacks2_CheckedChanged);
//
// button1
//
@@ -2433,6 +2359,81 @@
this.toolTip1.ReshowDelay = 100;
this.toolTip1.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info;
//
+ // Glide_fb_get_info
+ //
+ this.Glide_fb_get_info.AutoSize = true;
+ this.Glide_fb_get_info.Location = new System.Drawing.Point(9, 278);
+ this.Glide_fb_get_info.Name = "Glide_fb_get_info";
+ this.Glide_fb_get_info.Size = new System.Drawing.Size(119, 17);
+ this.Glide_fb_get_info.TabIndex = 23;
+ this.Glide_fb_get_info.Text = "Get framebuffer info";
+ this.Glide_fb_get_info.UseVisualStyleBackColor = true;
+ //
+ // label39
+ //
+ this.label39.AutoSize = true;
+ this.label39.Location = new System.Drawing.Point(386, 265);
+ this.label39.Name = "label39";
+ this.label39.Size = new System.Drawing.Size(47, 13);
+ this.label39.TabIndex = 42;
+ this.label39.Text = "Scale Y:";
+ //
+ // Glide_scale_y
+ //
+ this.Glide_scale_y.Location = new System.Drawing.Point(475, 262);
+ this.Glide_scale_y.Name = "Glide_scale_y";
+ this.Glide_scale_y.Size = new System.Drawing.Size(36, 20);
+ this.Glide_scale_y.TabIndex = 41;
+ //
+ // label40
+ //
+ this.label40.AutoSize = true;
+ this.label40.ForeColor = System.Drawing.SystemColors.ControlText;
+ this.label40.Location = new System.Drawing.Point(386, 239);
+ this.label40.Name = "label40";
+ this.label40.Size = new System.Drawing.Size(47, 13);
+ this.label40.TabIndex = 40;
+ this.label40.Text = "Scale X:";
+ //
+ // Glide_scale_x
+ //
+ this.Glide_scale_x.Location = new System.Drawing.Point(475, 236);
+ this.Glide_scale_x.Name = "Glide_scale_x";
+ this.Glide_scale_x.Size = new System.Drawing.Size(36, 20);
+ this.Glide_scale_x.TabIndex = 39;
+ //
+ // label38
+ //
+ this.label38.AutoSize = true;
+ this.label38.Location = new System.Drawing.Point(386, 213);
+ this.label38.Name = "label38";
+ this.label38.Size = new System.Drawing.Size(48, 13);
+ this.label38.TabIndex = 38;
+ this.label38.Text = "Offset Y:";
+ //
+ // Glide_offset_y
+ //
+ this.Glide_offset_y.Location = new System.Drawing.Point(475, 210);
+ this.Glide_offset_y.Name = "Glide_offset_y";
+ this.Glide_offset_y.Size = new System.Drawing.Size(36, 20);
+ this.Glide_offset_y.TabIndex = 37;
+ //
+ // label37
+ //
+ this.label37.AutoSize = true;
+ this.label37.Location = new System.Drawing.Point(386, 187);
+ this.label37.Name = "label37";
+ this.label37.Size = new System.Drawing.Size(48, 13);
+ this.label37.TabIndex = 36;
+ this.label37.Text = "Offset X:";
+ //
+ // Glide_offset_x
+ //
+ this.Glide_offset_x.Location = new System.Drawing.Point(475, 184);
+ this.Glide_offset_x.Name = "Glide_offset_x";
+ this.Glide_offset_x.Size = new System.Drawing.Size(36, 20);
+ this.Glide_offset_x.TabIndex = 35;
+ //
// N64VideoPluginconfig
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -2622,7 +2623,6 @@
private System.Windows.Forms.CheckBox Glide_fillcolor_fix;
private System.Windows.Forms.CheckBox Glide_fb_smart;
private System.Windows.Forms.CheckBox Glide_fb_read_alpha;
- private System.Windows.Forms.CheckBox Glide_fb_get_info;
private System.Windows.Forms.CheckBox Glide_fb_hires;
private System.Windows.Forms.CheckBox Glide_fb_clear;
private System.Windows.Forms.CheckBox Glide_detect_cpu_write;
@@ -2639,14 +2639,6 @@
private System.Windows.Forms.TextBox Glide_stipple_pattern;
private System.Windows.Forms.Label label41;
private System.Windows.Forms.TextBox Glide_stipple_mode;
- private System.Windows.Forms.Label label39;
- private System.Windows.Forms.TextBox Glide_scale_y;
- private System.Windows.Forms.Label label40;
- private System.Windows.Forms.TextBox Glide_scale_x;
- private System.Windows.Forms.Label label38;
- private System.Windows.Forms.TextBox Glide_offset_y;
- private System.Windows.Forms.Label label37;
- private System.Windows.Forms.TextBox Glide_offset_x;
private System.Windows.Forms.Label label36;
private System.Windows.Forms.ComboBox Glide_lodmode;
private System.Windows.Forms.Label label35;
@@ -2656,5 +2648,14 @@
private System.Windows.Forms.Label label33;
private System.Windows.Forms.TextBox Glide_depth_bias;
private System.Windows.Forms.CheckBox GlideUseDefaultHacks2;
+ private System.Windows.Forms.CheckBox Glide_fb_get_info;
+ private System.Windows.Forms.Label label39;
+ private System.Windows.Forms.TextBox Glide_scale_y;
+ private System.Windows.Forms.Label label40;
+ private System.Windows.Forms.TextBox Glide_scale_x;
+ private System.Windows.Forms.Label label38;
+ private System.Windows.Forms.TextBox Glide_offset_y;
+ private System.Windows.Forms.Label label37;
+ private System.Windows.Forms.TextBox Glide_offset_x;
}
}
\ No newline at end of file
diff --git a/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.cs b/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.cs
index 0f857502f4..2b2ccc2819 100644
--- a/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.cs
+++ b/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.cs
@@ -221,7 +221,7 @@ namespace BizHawk.MultiClient
}
Glide_autodetect_ucode.Checked = Global.Config.GlidePlugin.autodetect_ucode;
- Glide_ucode.Text = Global.Config.GlidePlugin.ucode.ToString();
+ Glide_ucode.SelectedIndex = Global.Config.GlidePlugin.ucode;
Glide_flame_corona.Checked = Global.Config.GlidePlugin.flame_corona;
Glide_card_id.SelectedIndex = Global.Config.GlidePlugin.card_id;
Glide_tex_filter.SelectedIndex = Global.Config.GlidePlugin.tex_filter;
@@ -237,46 +237,52 @@ namespace BizHawk.MultiClient
Glide_noglsl.Checked = Global.Config.GlidePlugin.noglsl;
Glide_fbo.Checked = Global.Config.GlidePlugin.fbo;
Glide_disable_auxbuf.Checked = Global.Config.GlidePlugin.disable_auxbuf;
-
- GlideUseDefaultHacks1.Checked = Global.Config.GlidePlugin.UseDefaultHacks;
- Glide_alt_tex_size.Checked = Global.Config.GlidePlugin.alt_tex_size;
- Glide_buff_clear.Checked = Global.Config.GlidePlugin.buff_clear;
- Glide_decrease_fillrect_edge.Checked = Global.Config.GlidePlugin.decrease_fillrect_edge;
- Glide_detect_cpu_write.Checked = Global.Config.GlidePlugin.detect_cpu_write;
- Glide_fb_clear.Checked = Global.Config.GlidePlugin.fb_clear;
- Glide_fb_hires.Checked = Global.Config.GlidePlugin.fb_hires;
Glide_fb_get_info.Checked = Global.Config.GlidePlugin.fb_get_info;
- Glide_fb_read_alpha.Checked = Global.Config.GlidePlugin.fb_read_alpha;
- Glide_fb_smart.Checked = Global.Config.GlidePlugin.fb_smart;
- Glide_fillcolor_fix.Checked = Global.Config.GlidePlugin.fillcolor_fix;
- Glide_fog.Checked = Global.Config.GlidePlugin.fog;
- Glide_force_depth_compare.Checked = Global.Config.GlidePlugin.force_depth_compare;
- Glide_force_microcheck.Checked = Global.Config.GlidePlugin.force_microcheck;
- Glide_fb_hires_buf_clear.Checked = Global.Config.GlidePlugin.fb_hires_buf_clear;
- Glide_fb_ignore_aux_copy.Checked = Global.Config.GlidePlugin.fb_ignore_aux_copy;
- Glide_fb_ignore_previous.Checked = Global.Config.GlidePlugin.fb_ignore_previous;
- Glide_increase_primdepth.Checked = Global.Config.GlidePlugin.increase_primdepth;
- Glide_increase_texrect_edge.Checked = Global.Config.GlidePlugin.increase_texrect_edge;
- Glide_fb_optimize_texrect.Checked = Global.Config.GlidePlugin.fb_optimize_texrect;
- Glide_fb_optimize_write.Checked = Global.Config.GlidePlugin.fb_optimize_write;
- Glide_PPL.Checked = Global.Config.GlidePlugin.PPL;
- Glide_soft_depth_compare.Checked = Global.Config.GlidePlugin.soft_depth_compare;
- Glide_use_sts1_only.Checked = Global.Config.GlidePlugin.use_sts1_only;
- Glide_wrap_big_tex.Checked = Global.Config.GlidePlugin.wrap_big_tex;
-
- GlideUseDefaultHacks2.Checked = Global.Config.GlidePlugin.UseDefaultHacks;
- Glide_depth_bias.Text = Global.Config.GlidePlugin.depth_bias.ToString();
- Glide_filtering.SelectedIndex = Global.Config.GlidePlugin.filtering;
- Glide_fix_tex_coord.Text = Global.Config.GlidePlugin.fix_tex_coord.ToString();
- Glide_lodmode.SelectedIndex = Global.Config.GlidePlugin.lodmode;
Glide_offset_x.Text = Global.Config.GlidePlugin.offset_x.ToString();
Glide_offset_y.Text = Global.Config.GlidePlugin.offset_y.ToString();
Glide_scale_x.Text = Global.Config.GlidePlugin.scale_x.ToString();
Glide_scale_y.Text = Global.Config.GlidePlugin.scale_y.ToString();
- Glide_stipple_mode.Text = Global.Config.GlidePlugin.stipple_mode.ToString();
- Glide_stipple_pattern.Text = Global.Config.GlidePlugin.stipple_pattern.ToString();
- Glide_swapmode.SelectedIndex = Global.Config.GlidePlugin.swapmode;
- Glide_enable_hacks_for_game.SelectedIndex = Global.Config.GlidePlugin.enable_hacks_for_game;
+
+
+ GlideUseDefaultHacks1.Checked = Global.Config.GlidePlugin.UseDefaultHacks;
+ GlideUseDefaultHacks2.Checked = Global.Config.GlidePlugin.UseDefaultHacks;
+
+ UpdateGlideHacksSection();
+ if (!Global.Config.GlidePlugin.UseDefaultHacks)
+ {
+ Glide_alt_tex_size.Checked = Global.Config.GlidePlugin.alt_tex_size;
+ Glide_buff_clear.Checked = Global.Config.GlidePlugin.buff_clear;
+ Glide_decrease_fillrect_edge.Checked = Global.Config.GlidePlugin.decrease_fillrect_edge;
+ Glide_detect_cpu_write.Checked = Global.Config.GlidePlugin.detect_cpu_write;
+ Glide_fb_clear.Checked = Global.Config.GlidePlugin.fb_clear;
+ Glide_fb_hires.Checked = Global.Config.GlidePlugin.fb_hires;
+ Glide_fb_read_alpha.Checked = Global.Config.GlidePlugin.fb_read_alpha;
+ Glide_fb_smart.Checked = Global.Config.GlidePlugin.fb_smart;
+ Glide_fillcolor_fix.Checked = Global.Config.GlidePlugin.fillcolor_fix;
+ Glide_fog.Checked = Global.Config.GlidePlugin.fog;
+ Glide_force_depth_compare.Checked = Global.Config.GlidePlugin.force_depth_compare;
+ Glide_force_microcheck.Checked = Global.Config.GlidePlugin.force_microcheck;
+ Glide_fb_hires_buf_clear.Checked = Global.Config.GlidePlugin.fb_hires_buf_clear;
+ Glide_fb_ignore_aux_copy.Checked = Global.Config.GlidePlugin.fb_ignore_aux_copy;
+ Glide_fb_ignore_previous.Checked = Global.Config.GlidePlugin.fb_ignore_previous;
+ Glide_increase_primdepth.Checked = Global.Config.GlidePlugin.increase_primdepth;
+ Glide_increase_texrect_edge.Checked = Global.Config.GlidePlugin.increase_texrect_edge;
+ Glide_fb_optimize_texrect.Checked = Global.Config.GlidePlugin.fb_optimize_texrect;
+ Glide_fb_optimize_write.Checked = Global.Config.GlidePlugin.fb_optimize_write;
+ Glide_PPL.Checked = Global.Config.GlidePlugin.PPL;
+ Glide_soft_depth_compare.Checked = Global.Config.GlidePlugin.soft_depth_compare;
+ Glide_use_sts1_only.Checked = Global.Config.GlidePlugin.use_sts1_only;
+ Glide_wrap_big_tex.Checked = Global.Config.GlidePlugin.wrap_big_tex;
+
+ Glide_depth_bias.Text = Global.Config.GlidePlugin.depth_bias.ToString();
+ Glide_filtering.SelectedIndex = Global.Config.GlidePlugin.filtering;
+ Glide_fix_tex_coord.Text = Global.Config.GlidePlugin.fix_tex_coord.ToString();
+ Glide_lodmode.SelectedIndex = Global.Config.GlidePlugin.lodmode;
+ Glide_stipple_mode.Text = Global.Config.GlidePlugin.stipple_mode.ToString();
+ Glide_stipple_pattern.Text = Global.Config.GlidePlugin.stipple_pattern.ToString();
+ Glide_swapmode.SelectedIndex = Global.Config.GlidePlugin.swapmode;
+ Glide_enable_hacks_for_game.SelectedIndex = Global.Config.GlidePlugin.enable_hacks_for_game;
+ }
}
private void RiceAnisotropicFiltering_TB_Scroll_1(object sender, EventArgs e)
@@ -289,6 +295,52 @@ namespace BizHawk.MultiClient
UpdateRiceHacksSection();
}
+ private void UpdateGlideHacksSection()
+ {
+ if (GlideUseDefaultHacks1.Checked || GlideUseDefaultHacks2.Checked)
+ {
+ Glide_alt_tex_size.Checked = Global.Game.GetBool("Glide_alt_tex_size", false);
+ Glide_buff_clear.Checked = Global.Game.GetBool("Glide_buff_clear", true);
+ Glide_decrease_fillrect_edge.Checked = Global.Game.GetBool("Glide_decrease_fillrect_edge", false);
+ Glide_detect_cpu_write.Checked = Global.Game.GetBool("Glide_detect_cpu_write", false);
+ Glide_fb_clear.Checked = Global.Game.GetBool("Glide_fb_clear", false);
+ Glide_fb_hires.Checked = Global.Game.GetBool("Glide_fb_clear", true);
+ Glide_fb_read_alpha.Checked = Global.Game.GetBool("Glide_fb_read_alpha", false);
+ Glide_fb_smart.Checked = Global.Game.GetBool("Glide_fb_smart", false);
+ Glide_fillcolor_fix.Checked = Global.Game.GetBool("Glide_fillcolor_fix", false);
+ Glide_fog.Checked = Global.Game.GetBool("Glide_fog", true);
+ Glide_force_depth_compare.Checked = Global.Game.GetBool("Glide_force_depth_compare", false);
+ Glide_force_microcheck.Checked = Global.Game.GetBool("Glide_force_microcheck", false);
+ Glide_fb_hires_buf_clear.Checked = Global.Game.GetBool("Glide_fb_hires_buf_clear", true);
+ Glide_fb_ignore_aux_copy.Checked = Global.Game.GetBool("Glide_fb_ignore_aux_copy", false);
+ Glide_fb_ignore_previous.Checked = Global.Game.GetBool("Glide_fb_ignore_previous", false);
+ Glide_increase_primdepth.Checked = Global.Game.GetBool("Glide_increase_primdepth", false);
+ Glide_increase_texrect_edge.Checked = Global.Game.GetBool("Glide_increase_texrect_edge", false);
+ Glide_fb_optimize_texrect.Checked = Global.Game.GetBool("Glide_fb_optimize_texrect", true);
+ Glide_fb_optimize_write.Checked = Global.Game.GetBool("Glide_fb_optimize_write", false);
+ Glide_PPL.Checked = Global.Game.GetBool("Glide_PPL", false);
+ Glide_soft_depth_compare.Checked = Global.Game.GetBool("Glide_soft_depth_compare", false);
+ Glide_use_sts1_only.Checked = Global.Game.GetBool("Glide_use_sts1_only", false);
+ Glide_wrap_big_tex.Checked = Global.Game.GetBool("Glide_wrap_big_tex", false);
+
+ Glide_depth_bias.Text = Global.Game.GetInt("Glide_depth_bias", 20).ToString();
+ Glide_filtering.SelectedIndex = Global.Game.GetInt("Glide_filtering", 1);
+ Glide_fix_tex_coord.Text = Global.Game.GetInt("Glide_fix_tex_coord", 0).ToString();
+ Glide_lodmode.SelectedIndex = Global.Game.GetInt("Glide_lodmode", 0);
+
+ Glide_stipple_mode.Text = Global.Game.GetInt("Glide_stipple_mode", 2).ToString();
+ Glide_stipple_pattern.Text = Global.Game.GetInt("Glide_stipple_pattern", 1041204192).ToString();
+ Glide_swapmode.SelectedIndex = Global.Game.GetInt("Glide_swapmode", 1);
+ Glide_enable_hacks_for_game.SelectedIndex = Global.Game.GetInt("Glide_enable_hacks_for_game", 0);
+
+ ToggleGlideHackCheckboxEnable(false);
+ }
+ else
+ {
+ ToggleGlideHackCheckboxEnable(true);
+ }
+ }
+
private void UpdateRiceHacksSection()
{
if (RiceUseDefaultHacks_CB.Checked)
@@ -376,7 +428,52 @@ namespace BizHawk.MultiClient
RiceEnableHacksForGame_Combo.Enabled = val;
}
+ public void ToggleGlideHackCheckboxEnable(bool val)
+ {
+ Glide_alt_tex_size.Enabled = val;
+ Glide_buff_clear.Enabled = val;
+ Glide_decrease_fillrect_edge.Enabled = val;
+ Glide_detect_cpu_write.Enabled = val;
+ Glide_fb_clear.Enabled = val;
+ Glide_fb_hires.Enabled = val;
+ Glide_fb_read_alpha.Enabled = val;
+ Glide_fb_smart.Enabled = val;
+ Glide_fillcolor_fix.Enabled = val;
+ Glide_fog.Enabled = val;
+ Glide_force_depth_compare.Enabled = val;
+ Glide_force_microcheck.Enabled = val;
+ Glide_fb_hires_buf_clear.Enabled = val;
+ Glide_fb_ignore_aux_copy.Enabled = val;
+ Glide_fb_ignore_previous.Enabled = val;
+ Glide_increase_primdepth.Enabled = val;
+ Glide_increase_texrect_edge.Enabled = val;
+ Glide_fb_optimize_texrect.Enabled = val;
+ Glide_fb_optimize_write.Enabled = val;
+ Glide_PPL.Enabled = val;
+ Glide_soft_depth_compare.Enabled = val;
+ Glide_use_sts1_only.Enabled = val;
+ Glide_wrap_big_tex.Enabled = val;
+ Glide_depth_bias.Enabled = val;
+ Glide_filtering.Enabled = val;
+ Glide_fix_tex_coord.Enabled = val;
+ Glide_lodmode.Enabled = val;
+ Glide_stipple_mode.Enabled = val;
+ Glide_stipple_pattern.Enabled = val;
+ Glide_swapmode.Enabled = val;
+ Glide_enable_hacks_for_game.Enabled = val;
+ }
+ private void GlideUseDefaultHacks1_CheckedChanged(object sender, EventArgs e)
+ {
+ GlideUseDefaultHacks2.Checked = GlideUseDefaultHacks1.Checked;
+ UpdateGlideHacksSection();
+ }
+
+ private void GlideUseDefaultHacks2_CheckedChanged(object sender, EventArgs e)
+ {
+ GlideUseDefaultHacks1.Checked = GlideUseDefaultHacks2.Checked;
+ UpdateGlideHacksSection();
+ }
}
}
diff --git a/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.resx b/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.resx
index cbb95d6009..c4fc49b6bb 100644
--- a/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.resx
+++ b/BizHawk.MultiClient/N64tools/N64VideoPluginconfig.resx
@@ -120,6 +120,9 @@
17, 17
+
+ 17, 17
+
Enable/Disable Anisotropic Filtering for Mipmapping (0=no filtering, 2-16=quality).
This is uneffective if Mipmapping is 0.
diff --git a/BizHawk.MultiClient/output/dll/mupen64plus-video-glide64.dll b/BizHawk.MultiClient/output/dll/mupen64plus-video-glide64.dll
index b1ad1499bd..0287966857 100644
Binary files a/BizHawk.MultiClient/output/dll/mupen64plus-video-glide64.dll and b/BizHawk.MultiClient/output/dll/mupen64plus-video-glide64.dll differ
diff --git a/libmupen64plus/mupen64plus-video-glide64/src/Main.cpp b/libmupen64plus/mupen64plus-video-glide64/src/Main.cpp
index 4939f265a3..85728917be 100644
--- a/libmupen64plus/mupen64plus-video-glide64/src/Main.cpp
+++ b/libmupen64plus/mupen64plus-video-glide64/src/Main.cpp
@@ -182,6 +182,29 @@ DWORD resolutions[0x18][2] = {
{ 2048, 2048 }
};
+enum {
+ NONE,
+ ZELDA,
+ BOMBERMAN64,
+ DIDDY,
+ TONIC,
+ ASB,
+ DORAEMON2,
+ INVADERS,
+ BAR,
+ ISS64,
+ RE2,
+ NITRO,
+ CHOPPER,
+ YOSHI,
+ FZERO,
+ PM,
+ TGR,
+ TGR2,
+ KI,
+ LEGO
+};
+
// ref rate
// 60=0x0, 70=0x1, 72=0x2, 75=0x3, 80=0x4, 90=0x5, 100=0x6, 85=0x7, 120=0x8, none=0xff
@@ -449,107 +472,109 @@ void ReadSpecialSettings (const char name[21])
else if (strstr(name, (const char *)"LEGORacers"))
settings.lego = TRUE;
- INI_Open ();
- if (INI_FindSection (name,FALSE) == FALSE)
+ int EnableHacksForGame = (int)Config_ReadInt ("enable_hacks_for_game", "???", 0, TRUE, FALSE);
+
+ switch (EnableHacksForGame)
{
- INI_Close ();
- return;
+ case ZELDA:
+ settings.zelda = TRUE;
+ break;
+ case BOMBERMAN64:
+ settings.bomberman64 = TRUE;
+ break;
+ case DIDDY:
+ settings.diddy = TRUE;
+ break;
+ case TONIC:
+ settings.tonic = TRUE;
+ break;
+ case ASB:
+ settings.ASB = TRUE;
+ break;
+ case DORAEMON2:
+ settings.doraemon2 = TRUE;
+ break;
+ case INVADERS:
+ settings.invaders = TRUE;
+ break;
+ case BAR:
+ settings.BAR = TRUE;
+ break;
+ case ISS64:
+ settings.ISS64 = TRUE;
+ break;
+ case RE2:
+ settings.RE2 = TRUE;
+ ZLUT_init();
+ break;
+ case NITRO:
+ settings.nitro = TRUE;
+ break;
+ case CHOPPER:
+ settings.chopper = TRUE;
+ break;
+ case YOSHI:
+ settings.yoshi= TRUE;
+ break;
+ case FZERO:
+ settings.fzero = TRUE;
+ break;
+ case PM:
+ settings.PM = TRUE;
+ break;
+ case TGR:
+ settings.TGR = TRUE;
+ break;
+ case TGR2:
+ settings.TGR2 = TRUE;
+ break;
+ case KI:
+ settings.KI = TRUE;
+ break;
+ case LEGO:
+ settings.lego = TRUE;
+ break;
}
- int offset_x = INI_ReadInt ("offset_x", -1, 0);
- int offset_y = INI_ReadInt ("offset_y", -1, 0);
- int scale_x = INI_ReadInt ("scale_x", -1, 0);
- int scale_y = INI_ReadInt ("scale_y", -1, 0);
- int alt_tex_size = INI_ReadInt ("alt_tex_size", -1, 0);
- int use_sts1_only = INI_ReadInt ("use_sts1_only", -1, 0);
- int ppl = INI_ReadInt ("PPL", -1, 0);
- // int texrect_zbuf = INI_ReadInt ("force_texrect_zbuf", -1, 0);
- int optimize_texrect = INI_ReadInt ("optimize_texrect", -1, 0);
- int optimize_write = INI_ReadInt ("optimize_write", -1, 0);
- int ignore_aux_copy = INI_ReadInt ("ignore_aux_copy", -1, 0);
- int ignore_previous = INI_ReadInt ("ignore_previous", -1, 0);
- int hires_buf_clear = INI_ReadInt ("hires_buf_clear", -1, 0);
- int wrap_big_tex = INI_ReadInt ("wrap_big_tex", -1, 0);
- int tex_fix = INI_ReadInt ("fix_tex_coord", -1, 0);
- int soft_depth_compare = INI_ReadInt ("soft_depth_compare", -1, 0);
- int force_depth_compare = INI_ReadInt ("force_depth_compare", -1, 0);
- int fillcolor_fix = INI_ReadInt ("fillcolor_fix", -1, 0);
- int depth_bias = INI_ReadInt ("depth_bias", -1, 0);
- int increase_texrect_edge = INI_ReadInt ("increase_texrect_edge", -1, 0);
- int decrease_fillrect_edge = INI_ReadInt ("decrease_fillrect_edge", -1, 0);
- int increase_primdepth = INI_ReadInt ("increase_primdepth", -1, 0);
- int stipple_mode = INI_ReadInt ("stipple_mode", -1, 0);
- int stipple_pattern = INI_ReadInt ("stipple_pattern", -1, 0);
- int force_microcheck = INI_ReadInt ("force_microcheck", -1, 0);
- int info_disable = INI_ReadInt ("fb_info_disable", -1, 0);
- int hires_disable = INI_ReadInt ("fb_hires_disable", -1, 0);
- if (offset_x != -1) settings.offset_x = offset_x;
- if (offset_y != -1) settings.offset_y = offset_y;
- if (scale_x != -1) settings.scale_x = scale_x;
- if (scale_y != -1) settings.scale_y = scale_y;
- if (alt_tex_size != -1) settings.alt_tex_size = alt_tex_size;
- if (use_sts1_only != -1) settings.use_sts1_only = use_sts1_only;
- if (ppl != -1) settings.PPL = ppl;
- // if (texrect_zbuf != -1) settings.force_texrect_zbuf = texrect_zbuf;
- if (optimize_texrect != -1) settings.fb_optimize_texrect = optimize_texrect;
- if (optimize_write != -1) settings.fb_optimize_write = optimize_write;
- if (ignore_aux_copy != -1) settings.fb_ignore_aux_copy = ignore_aux_copy;
- if (hires_buf_clear != -1) settings.fb_hires_buf_clear = hires_buf_clear;
- if (wrap_big_tex != -1) settings.wrap_big_tex = wrap_big_tex;
- if (tex_fix != -1) settings.fix_tex_coord = tex_fix;
- if (soft_depth_compare != -1) settings.soft_depth_compare = soft_depth_compare;
- if (force_depth_compare != -1) settings.force_depth_compare = force_depth_compare;
- if (fillcolor_fix != -1) settings.fillcolor_fix = fillcolor_fix;
- if (depth_bias != -1) settings.depth_bias = -depth_bias;
- if (increase_texrect_edge != -1) settings.increase_texrect_edge = increase_texrect_edge;
- if (decrease_fillrect_edge != -1) settings.decrease_fillrect_edge = decrease_fillrect_edge;
- if (increase_primdepth != -1) settings.increase_primdepth = increase_primdepth;
- if (stipple_mode != -1) settings.stipple_mode = stipple_mode;
- if (stipple_pattern != -1) settings.stipple_pattern = (DWORD)stipple_pattern;
- if (force_microcheck != -1) settings.force_microcheck = force_microcheck;
- if (ignore_previous != -1) settings.fb_ignore_previous = ignore_previous;
- if (info_disable == 1) settings.fb_get_info = 0;
- if (hires_disable == 1) settings.fb_hires = 0;
- if (settings.lodmode == 0)
- {
- int lodmode = INI_ReadInt ("lodmode", -1, 0);
- if (lodmode > 0)
- settings.lodmode = lodmode;
- }
+ settings.offset_x = (int)Config_ReadInt ("offset_x", "???", 0, TRUE, FALSE);
+ settings.offset_y = (int)Config_ReadInt ("offset_y", "???", 0, TRUE, FALSE);
+ settings.scale_x = (int)Config_ReadInt ("scale_x", "???", 100000, TRUE, FALSE);
+ settings.scale_y = (int)Config_ReadInt ("scale_y", "???", 100000, TRUE, FALSE);
+ settings.alt_tex_size = (BOOL)Config_ReadInt ("alt_tex_size", "???", 0);
+ settings.use_sts1_only = (BOOL)Config_ReadInt ("use_sts1_only", "???", 0);
+ settings.PPL = (BOOL)Config_ReadInt ("PPL", "???", 0);
+ settings.fb_optimize_texrect = (BOOL)Config_ReadInt ("fb_optimize_texrect", "???", 1);
+ settings.fb_optimize_write = (BOOL)Config_ReadInt ("fb_optimize_write", "???", 0);
+ settings.fb_ignore_aux_copy = (BOOL)Config_ReadInt ("fb_ignore_aux_copy", "???", 0);
+ settings.fb_hires_buf_clear = (BOOL)Config_ReadInt ("fb_hires_buf_clear", "???", 1);
+ settings.wrap_big_tex = (BOOL)Config_ReadInt ("wrap_big_tex", "???", 0);
+ settings.fix_tex_coord = (BOOL)Config_ReadInt ("fix_tex_coord", "???", 0);
+ settings.soft_depth_compare = (BOOL)Config_ReadInt ("soft_depth_compare", "???", 0);
+ settings.force_depth_compare = (BOOL)Config_ReadInt ("force_depth_compare", "???", 0);
+ settings.fillcolor_fix = (BOOL)Config_ReadInt ("fillcolor_fix", "???", 0);
+ settings.depth_bias = -(int)Config_ReadInt ("depth_bias", "???", 20, TRUE, FALSE);
+ settings.increase_texrect_edge = (BOOL)Config_ReadInt ("increase_texrect_edge", "???", 0);
+ settings.decrease_fillrect_edge = (BOOL)Config_ReadInt ("decrease_fillrect_edge", "???", 0);
+ settings.increase_primdepth = (BOOL)Config_ReadInt ("increase_primdepth", "???", 0);
+ settings.stipple_mode = (int)Config_ReadInt ("stipple_mode", "???", 1, TRUE, FALSE);
+ settings.stipple_pattern = (DWORD)Config_ReadInt ("stipple_pattern", "???", 1041204192, TRUE, FALSE);
+ settings.force_microcheck = (BOOL)Config_ReadInt ("force_microcheck", "???", 0);
+ settings.fb_ignore_previous = (BOOL)Config_ReadInt ("fb_ignore_previous", "???", 0);
+ settings.fb_get_info = (BOOL)Config_ReadInt ("fb_get_info", "???", 0);
+ settings.fb_hires = (BOOL)Config_ReadInt ("fb_hires", "???", 0);
- if (settings.custom_ini)
- {
- int filtering = INI_ReadInt ("filtering", -1, 0);
- int fog = INI_ReadInt ("fog", -1, 0);
- int buff_clear = INI_ReadInt ("buff_clear", -1, 0);
- int swapmode = INI_ReadInt ("swapmode", -1, 0);
- int smart_read = INI_ReadInt ("fb_smart", -1, 0);
- int read_alpha = INI_ReadInt ("fb_read_alpha", -1, 0);
- int depth_clear = INI_ReadInt ("fb_clear", -1, 0);
- //FIXME unused int depth_render = INI_ReadInt ("fb_render", -1, 0);
- //int resolution = (INT)INI_ReadInt ("resolution", -1, 0);
- int cpu_write_hack = (INT)INI_ReadInt ("detect_cpu_write", -1, 0);
+ settings.lodmode = (int)Config_ReadInt ("lodmode", "???", 0, TRUE, FALSE);
+
+ settings.filtering = (int)Config_ReadInt ("filtering", "???", 1, TRUE, FALSE);
+ settings.fog = (int)Config_ReadInt ("fog", "???", 1, TRUE, FALSE);
+ settings.buff_clear = (BOOL)Config_ReadInt ("buff_clear", "???", 1);
+ settings.swapmode = (int)Config_ReadInt ("swapmode", "???", 1, TRUE, FALSE);
+ settings.fb_smart = (BOOL)Config_ReadInt ("fb_smart", "???", 0);
+ settings.fb_read_alpha = (BOOL)Config_ReadInt ("fb_read_alpha", "???", 0);
+ settings.fb_depth_clear = (BOOL)Config_ReadInt ("fb_depth_clear", "???", 0);
+ settings.cpu_write_hack = (BOOL)Config_ReadInt ("cpu_write_hack", "???", 0);
- if (filtering != -1) settings.filtering = filtering;
- if (fog != -1) settings.fog = fog;
- if (buff_clear != -1) settings.buff_clear = buff_clear;
- if (swapmode != -1) settings.swapmode= swapmode;
- // settings.swapmode = 2;
- if (smart_read != -1) settings.fb_smart = smart_read;
- if (read_alpha != -1) settings.fb_read_alpha= read_alpha;
- if (depth_clear != -1) settings.fb_depth_clear = depth_clear;
- if (cpu_write_hack != -1) settings.cpu_write_hack = cpu_write_hack;
- /*
- if (resolution != -1)
- {
- settings.res_data = (DWORD) resolution;
- if (settings.res_data >= 0x18) settings.res_data = 12;
- settings.scr_res_x = settings.res_x = resolutions[settings.res_data][0];
- settings.scr_res_y = settings.res_y = resolutions[settings.res_data][1];
- }
- */
- }
if (settings.fb_depth_render)
settings.fb_depth_clear = TRUE;
INI_Close ();