N64: More work on glide settings. Per-game settings now load into the setting screen from the gamedb.

This commit is contained in:
pjgat09 2013-05-27 01:35:56 +00:00
parent d47b0b1cc1
commit f183654b5a
6 changed files with 414 additions and 288 deletions

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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();
}
}
}

View File

@ -120,6 +120,9 @@
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="AnisotropicFiltering_LB.ToolTip" xml:space="preserve">
<value>Enable/Disable Anisotropic Filtering for Mipmapping (0=no filtering, 2-16=quality).
This is uneffective if Mipmapping is 0.

View File

@ -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 ();