pass inGameInfo to N64VideoPluginconfig

This commit is contained in:
adelikat 2019-12-22 13:34:14 -06:00
parent 7ac3e1f428
commit 60c789df22
2 changed files with 78 additions and 75 deletions

View File

@ -2344,7 +2344,7 @@ namespace BizHawk.Client.EmuHawk
private void N64PluginSettingsMenuItem_Click(object sender, EventArgs e) private void N64PluginSettingsMenuItem_Click(object sender, EventArgs e)
{ {
using var form = new N64VideoPluginConfig(this, Config, Emulator); using var form = new N64VideoPluginConfig(this, Config, Game, Emulator);
if (form.ShowDialog().IsOk()) if (form.ShowDialog().IsOk())
{ {
if (Emulator.IsNull()) if (Emulator.IsNull())

View File

@ -14,6 +14,7 @@ namespace BizHawk.Client.EmuHawk
{ {
private readonly MainForm _mainForm; private readonly MainForm _mainForm;
private readonly Config _config; private readonly Config _config;
private readonly GameInfo _game;
private readonly IEmulator _emulator; private readonly IEmulator _emulator;
private readonly N64Settings _s; private readonly N64Settings _s;
private readonly N64SyncSettings _ss; private readonly N64SyncSettings _ss;
@ -44,10 +45,12 @@ namespace BizHawk.Client.EmuHawk
public N64VideoPluginConfig( public N64VideoPluginConfig(
MainForm mainForm, MainForm mainForm,
Config config, Config config,
GameInfo game,
IEmulator emulator) IEmulator emulator)
{ {
_mainForm = mainForm; _mainForm = mainForm;
_config = config; _config = config;
_game = game;
_emulator = emulator; _emulator = emulator;
// because mupen is a pile of garbage, this all needs to work even when N64 is not loaded // because mupen is a pile of garbage, this all needs to work even when N64 is not loaded
@ -849,43 +852,43 @@ namespace BizHawk.Client.EmuHawk
{ {
if (Glide64mk2_UseDefaultHacks1.Checked || Glide64mk2_UseDefaultHacks2.Checked) if (Glide64mk2_UseDefaultHacks1.Checked || Glide64mk2_UseDefaultHacks2.Checked)
{ {
Glide64mk2_use_sts1_only.Checked = Global.Game.GetBool("Glide64mk2_use_sts1_only", false); Glide64mk2_use_sts1_only.Checked = _game.GetBool("Glide64mk2_use_sts1_only", false);
Glide64mk2_optimize_texrect.Checked = Global.Game.GetBool("Glide64mk2_optimize_texrect", true); Glide64mk2_optimize_texrect.Checked = _game.GetBool("Glide64mk2_optimize_texrect", true);
Glide64mk2_increase_texrect_edge.Checked = Global.Game.GetBool("Glide64mk2_increase_texrect_edge", false); Glide64mk2_increase_texrect_edge.Checked = _game.GetBool("Glide64mk2_increase_texrect_edge", false);
Glide64mk2_ignore_aux_copy.Checked = Global.Game.GetBool("Glide64mk2_ignore_aux_copy", false); Glide64mk2_ignore_aux_copy.Checked = _game.GetBool("Glide64mk2_ignore_aux_copy", false);
Glide64mk2_hires_buf_clear.Checked = Global.Game.GetBool("Glide64mk2_hires_buf_clear", true); Glide64mk2_hires_buf_clear.Checked = _game.GetBool("Glide64mk2_hires_buf_clear", true);
Glide64mk2_force_microcheck.Checked = Global.Game.GetBool("Glide64mk2_force_microcheck", false); Glide64mk2_force_microcheck.Checked = _game.GetBool("Glide64mk2_force_microcheck", false);
Glide64mk2_fog.Checked = Global.Game.GetBool("Glide64mk2_fog", true); Glide64mk2_fog.Checked = _game.GetBool("Glide64mk2_fog", true);
Glide64mk2_fb_smart.Checked = Global.Game.GetBool("Glide64mk2_fb_smart", false); Glide64mk2_fb_smart.Checked = _game.GetBool("Glide64mk2_fb_smart", false);
Glide64mk2_fb_read_alpha.Checked = Global.Game.GetBool("Glide64mk2_fb_read_alpha", false); Glide64mk2_fb_read_alpha.Checked = _game.GetBool("Glide64mk2_fb_read_alpha", false);
Glide64mk2_fb_hires.Checked = Global.Game.GetBool("Glide64mk2_fb_hires", true); Glide64mk2_fb_hires.Checked = _game.GetBool("Glide64mk2_fb_hires", true);
Glide64mk2_detect_cpu_write.Checked = Global.Game.GetBool("Glide64mk2_detect_cpu_write", false); Glide64mk2_detect_cpu_write.Checked = _game.GetBool("Glide64mk2_detect_cpu_write", false);
Glide64mk2_decrease_fillrect_edge.Checked = Global.Game.GetBool("Glide64mk2_decrease_fillrect_edge", false); Glide64mk2_decrease_fillrect_edge.Checked = _game.GetBool("Glide64mk2_decrease_fillrect_edge", false);
Glide64mk2_buff_clear.Checked = Global.Game.GetBool("Glide64mk2_buff_clear", true); Glide64mk2_buff_clear.Checked = _game.GetBool("Glide64mk2_buff_clear", true);
Glide64mk2_alt_tex_size.Checked = Global.Game.GetBool("Glide64mk2_alt_tex_size", true); Glide64mk2_alt_tex_size.Checked = _game.GetBool("Glide64mk2_alt_tex_size", true);
Glide64mk2_swapmode.SelectedIndex = Global.Game.GetInt("Glide64mk2_swapmode", 1); Glide64mk2_swapmode.SelectedIndex = _game.GetInt("Glide64mk2_swapmode", 1);
Glide64mk2_stipple_pattern.Text = Global.Game.GetInt("Glide64mk2_stipple_pattern", 1041204192).ToString(); Glide64mk2_stipple_pattern.Text = _game.GetInt("Glide64mk2_stipple_pattern", 1041204192).ToString();
Glide64mk2_stipple_mode.Text = Global.Game.GetInt("Glide64mk2_stipple_mode", 2).ToString(); Glide64mk2_stipple_mode.Text = _game.GetInt("Glide64mk2_stipple_mode", 2).ToString();
Glide64mk2_lodmode.SelectedIndex = Global.Game.GetInt("Glide64mk2_lodmode", 0); Glide64mk2_lodmode.SelectedIndex = _game.GetInt("Glide64mk2_lodmode", 0);
Glide64mk2_filtering.SelectedIndex = Global.Game.GetInt("Glide64mk2_filtering", 0); Glide64mk2_filtering.SelectedIndex = _game.GetInt("Glide64mk2_filtering", 0);
Glide64mk2_correct_viewport.Checked = Global.Game.GetBool("Glide64mk2_correct_viewport", false); Glide64mk2_correct_viewport.Checked = _game.GetBool("Glide64mk2_correct_viewport", false);
Glide64mk2_force_calc_sphere.Checked = Global.Game.GetBool("Glide64mk2_force_calc_sphere", false); Glide64mk2_force_calc_sphere.Checked = _game.GetBool("Glide64mk2_force_calc_sphere", false);
Glide64mk2_pal230.Checked = Global.Game.GetBool("Glide64mk2_pal230", false); Glide64mk2_pal230.Checked = _game.GetBool("Glide64mk2_pal230", false);
Glide64mk2_texture_correction.Checked = Global.Game.GetBool("Glide64mk2_texture_correction", true); Glide64mk2_texture_correction.Checked = _game.GetBool("Glide64mk2_texture_correction", true);
Glide64mk2_n64_z_scale.Checked = Global.Game.GetBool("Glide64mk2_n64_z_scale", false); Glide64mk2_n64_z_scale.Checked = _game.GetBool("Glide64mk2_n64_z_scale", false);
Glide64mk2_old_style_adither.Checked = Global.Game.GetBool("Glide64mk2_old_style_adither", false); Glide64mk2_old_style_adither.Checked = _game.GetBool("Glide64mk2_old_style_adither", false);
Glide64mk2_zmode_compare_less.Checked = Global.Game.GetBool("Glide64mk2_zmode_compare_less", false); Glide64mk2_zmode_compare_less.Checked = _game.GetBool("Glide64mk2_zmode_compare_less", false);
Glide64mk2_adjust_aspect.Checked = Global.Game.GetBool("Glide64mk2_adjust_aspect", true); Glide64mk2_adjust_aspect.Checked = _game.GetBool("Glide64mk2_adjust_aspect", true);
Glide64mk2_clip_zmax.Checked = Global.Game.GetBool("Glide64mk2_clip_zmax", true); Glide64mk2_clip_zmax.Checked = _game.GetBool("Glide64mk2_clip_zmax", true);
Glide64mk2_clip_zmin.Checked = Global.Game.GetBool("Glide64mk2_clip_zmin", false); Glide64mk2_clip_zmin.Checked = _game.GetBool("Glide64mk2_clip_zmin", false);
Glide64mk2_force_quad3d.Checked = Global.Game.GetBool("Glide64mk2_force_quad3d", false); Glide64mk2_force_quad3d.Checked = _game.GetBool("Glide64mk2_force_quad3d", false);
Glide64mk2_useless_is_useless.Checked = Global.Game.GetBool("Glide64mk2_useless_is_useless", false); Glide64mk2_useless_is_useless.Checked = _game.GetBool("Glide64mk2_useless_is_useless", false);
Glide64mk2_fb_read_always.Checked = Global.Game.GetBool("Glide64mk2_fb_read_always", false); Glide64mk2_fb_read_always.Checked = _game.GetBool("Glide64mk2_fb_read_always", false);
Glide64mk2_aspectmode.SelectedIndex = Global.Game.GetInt("Glide64mk2_aspectmode", 0); Glide64mk2_aspectmode.SelectedIndex = _game.GetInt("Glide64mk2_aspectmode", 0);
Glide64mk2_fb_crc_mode.SelectedIndex = Global.Game.GetInt("Glide64mk2_fb_crc_mode", 1); Glide64mk2_fb_crc_mode.SelectedIndex = _game.GetInt("Glide64mk2_fb_crc_mode", 1);
Glide64mk2_enable_hacks_for_game.SelectedIndex = Global.Game.GetInt("Glide64mk2_enable_hacks_for_game", 0); Glide64mk2_enable_hacks_for_game.SelectedIndex = _game.GetInt("Glide64mk2_enable_hacks_for_game", 0);
Glide64mk2_read_back_to_screen.SelectedIndex = Global.Game.GetInt("Glide64mk2_read_back_to_screen", 0); Glide64mk2_read_back_to_screen.SelectedIndex = _game.GetInt("Glide64mk2_read_back_to_screen", 0);
Glide64mk2_fast_crc.Checked = Global.Game.GetBool("Glide64mk2_fast_crc", true); Glide64mk2_fast_crc.Checked = _game.GetBool("Glide64mk2_fast_crc", true);
ToggleGlide64mk2HackCheckboxEnable(false); ToggleGlide64mk2HackCheckboxEnable(false);
} }
@ -899,11 +902,11 @@ namespace BizHawk.Client.EmuHawk
{ {
if (GLideN64_UseDefaultHacks.Checked) if (GLideN64_UseDefaultHacks.Checked)
{ {
GLideN64_EnableN64DepthCompare.Checked = Global.Game.GetBool("GLideN64_N64DepthCompare", false); GLideN64_EnableN64DepthCompare.Checked = _game.GetBool("GLideN64_N64DepthCompare", false);
GLideN64_EnableCopyColorToRDRAM.SelectedItem = ((N64SyncSettings.N64GLideN64PluginSettings.CopyColorToRDRAMMode)GetIntFromDB("GLideN64_CopyColorToRDRAM", (int)N64SyncSettings.N64GLideN64PluginSettings.CopyColorToRDRAMMode.AsyncMode)).GetDescription(); GLideN64_EnableCopyColorToRDRAM.SelectedItem = ((N64SyncSettings.N64GLideN64PluginSettings.CopyColorToRDRAMMode)GetIntFromDB("GLideN64_CopyColorToRDRAM", (int)N64SyncSettings.N64GLideN64PluginSettings.CopyColorToRDRAMMode.AsyncMode)).GetDescription();
GLideN64_EnableCopyDepthToRDRAM.SelectedItem = ((N64SyncSettings.N64GLideN64PluginSettings.CopyDepthToRDRAMMode)GetIntFromDB("GLideN64_CopyDepthToRDRAM", (int)N64SyncSettings.N64GLideN64PluginSettings.CopyDepthToRDRAMMode.DoNotCopy)).GetDescription(); GLideN64_EnableCopyDepthToRDRAM.SelectedItem = ((N64SyncSettings.N64GLideN64PluginSettings.CopyDepthToRDRAMMode)GetIntFromDB("GLideN64_CopyDepthToRDRAM", (int)N64SyncSettings.N64GLideN64PluginSettings.CopyDepthToRDRAMMode.DoNotCopy)).GetDescription();
GLideN64_EnableCopyColorFromRDRAM.Checked = Global.Game.GetBool("GLideN64_CopyColorFromRDRAM", false); GLideN64_EnableCopyColorFromRDRAM.Checked = _game.GetBool("GLideN64_CopyColorFromRDRAM", false);
GLideN64_EnableCopyAuxiliaryToRDRAM.Checked = Global.Game.GetBool("GLideN64_CopyAuxiliaryToRDRAM", false); GLideN64_EnableCopyAuxiliaryToRDRAM.Checked = _game.GetBool("GLideN64_CopyAuxiliaryToRDRAM", false);
ToggleGLideN64HackCheckboxEnable(false); ToggleGLideN64HackCheckboxEnable(false);
} }
@ -917,39 +920,39 @@ namespace BizHawk.Client.EmuHawk
{ {
if (GlideUseDefaultHacks1.Checked || GlideUseDefaultHacks2.Checked) if (GlideUseDefaultHacks1.Checked || GlideUseDefaultHacks2.Checked)
{ {
Glide_alt_tex_size.Checked = Global.Game.GetBool("Glide_alt_tex_size", false); Glide_alt_tex_size.Checked = _game.GetBool("Glide_alt_tex_size", false);
Glide_buff_clear.Checked = Global.Game.GetBool("Glide_buff_clear", true); Glide_buff_clear.Checked = _game.GetBool("Glide_buff_clear", true);
Glide_decrease_fillrect_edge.Checked = Global.Game.GetBool("Glide_decrease_fillrect_edge", false); Glide_decrease_fillrect_edge.Checked = _game.GetBool("Glide_decrease_fillrect_edge", false);
Glide_detect_cpu_write.Checked = Global.Game.GetBool("Glide_detect_cpu_write", false); Glide_detect_cpu_write.Checked = _game.GetBool("Glide_detect_cpu_write", false);
Glide_fb_clear.Checked = Global.Game.GetBool("Glide_fb_clear", false); Glide_fb_clear.Checked = _game.GetBool("Glide_fb_clear", false);
Glide_fb_hires.Checked = Global.Game.GetBool("Glide_fb_hires", true); Glide_fb_hires.Checked = _game.GetBool("Glide_fb_hires", true);
Glide_fb_read_alpha.Checked = Global.Game.GetBool("Glide_fb_read_alpha", false); Glide_fb_read_alpha.Checked = _game.GetBool("Glide_fb_read_alpha", false);
Glide_fb_smart.Checked = Global.Game.GetBool("Glide_fb_smart", false); Glide_fb_smart.Checked = _game.GetBool("Glide_fb_smart", false);
Glide_fillcolor_fix.Checked = Global.Game.GetBool("Glide_fillcolor_fix", false); Glide_fillcolor_fix.Checked = _game.GetBool("Glide_fillcolor_fix", false);
Glide_fog.Checked = Global.Game.GetBool("Glide_fog", true); Glide_fog.Checked = _game.GetBool("Glide_fog", true);
Glide_force_depth_compare.Checked = Global.Game.GetBool("Glide_force_depth_compare", false); Glide_force_depth_compare.Checked = _game.GetBool("Glide_force_depth_compare", false);
Glide_force_microcheck.Checked = Global.Game.GetBool("Glide_force_microcheck", false); Glide_force_microcheck.Checked = _game.GetBool("Glide_force_microcheck", false);
Glide_fb_hires_buf_clear.Checked = Global.Game.GetBool("Glide_fb_hires_buf_clear", true); Glide_fb_hires_buf_clear.Checked = _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_aux_copy.Checked = _game.GetBool("Glide_fb_ignore_aux_copy", false);
Glide_fb_ignore_previous.Checked = Global.Game.GetBool("Glide_fb_ignore_previous", false); Glide_fb_ignore_previous.Checked = _game.GetBool("Glide_fb_ignore_previous", false);
Glide_increase_primdepth.Checked = Global.Game.GetBool("Glide_increase_primdepth", false); Glide_increase_primdepth.Checked = _game.GetBool("Glide_increase_primdepth", false);
Glide_increase_texrect_edge.Checked = Global.Game.GetBool("Glide_increase_texrect_edge", false); Glide_increase_texrect_edge.Checked = _game.GetBool("Glide_increase_texrect_edge", false);
Glide_fb_optimize_texrect.Checked = Global.Game.GetBool("Glide_fb_optimize_texrect", true); Glide_fb_optimize_texrect.Checked = _game.GetBool("Glide_fb_optimize_texrect", true);
Glide_fb_optimize_write.Checked = Global.Game.GetBool("Glide_fb_optimize_write", false); Glide_fb_optimize_write.Checked = _game.GetBool("Glide_fb_optimize_write", false);
Glide_PPL.Checked = Global.Game.GetBool("Glide_PPL", false); Glide_PPL.Checked = _game.GetBool("Glide_PPL", false);
Glide_soft_depth_compare.Checked = Global.Game.GetBool("Glide_soft_depth_compare", false); Glide_soft_depth_compare.Checked = _game.GetBool("Glide_soft_depth_compare", false);
Glide_use_sts1_only.Checked = Global.Game.GetBool("Glide_use_sts1_only", false); Glide_use_sts1_only.Checked = _game.GetBool("Glide_use_sts1_only", false);
Glide_wrap_big_tex.Checked = Global.Game.GetBool("Glide_wrap_big_tex", false); Glide_wrap_big_tex.Checked = _game.GetBool("Glide_wrap_big_tex", false);
Glide_depth_bias.Text = Global.Game.GetInt("Glide_depth_bias", 20).ToString(); Glide_depth_bias.Text = _game.GetInt("Glide_depth_bias", 20).ToString();
Glide_filtering.SelectedIndex = Global.Game.GetInt("Glide_filtering", 1); Glide_filtering.SelectedIndex = _game.GetInt("Glide_filtering", 1);
Glide_fix_tex_coord.Text = Global.Game.GetInt("Glide_fix_tex_coord", 0).ToString(); Glide_fix_tex_coord.Text = _game.GetInt("Glide_fix_tex_coord", 0).ToString();
Glide_lodmode.SelectedIndex = Global.Game.GetInt("Glide_lodmode", 0); Glide_lodmode.SelectedIndex = _game.GetInt("Glide_lodmode", 0);
Glide_stipple_mode.Text = Global.Game.GetInt("Glide_stipple_mode", 2).ToString(); Glide_stipple_mode.Text = _game.GetInt("Glide_stipple_mode", 2).ToString();
Glide_stipple_pattern.Text = Global.Game.GetInt("Glide_stipple_pattern", 1041204192).ToString(); Glide_stipple_pattern.Text = _game.GetInt("Glide_stipple_pattern", 1041204192).ToString();
Glide_swapmode.SelectedIndex = Global.Game.GetInt("Glide_swapmode", 1); Glide_swapmode.SelectedIndex = _game.GetInt("Glide_swapmode", 1);
Glide_enable_hacks_for_game.SelectedIndex = Global.Game.GetInt("Glide_enable_hacks_for_game", 0); Glide_enable_hacks_for_game.SelectedIndex = _game.GetInt("Glide_enable_hacks_for_game", 0);
ToggleGlideHackCheckboxEnable(false); ToggleGlideHackCheckboxEnable(false);
} }
@ -1001,14 +1004,14 @@ namespace BizHawk.Client.EmuHawk
private bool GetBoolFromDB(string parameter) private bool GetBoolFromDB(string parameter)
{ {
return Global.Game.OptionPresent(parameter) && Global.Game.OptionValue(parameter) == "true"; return _game.OptionPresent(parameter) && _game.OptionValue(parameter) == "true";
} }
private int GetIntFromDB(string parameter, int defaultVal) private int GetIntFromDB(string parameter, int defaultVal)
{ {
if (Global.Game.OptionPresent(parameter) && Global.Game.OptionValue(parameter).IsUnsigned()) if (_game.OptionPresent(parameter) && _game.OptionValue(parameter).IsUnsigned())
{ {
return int.Parse(Global.Game.OptionValue(parameter)); return int.Parse(_game.OptionValue(parameter));
} }
return defaultVal; return defaultVal;