N64: Added a glide config object and loaded it into the plugin screen

This commit is contained in:
pjgat09 2013-05-26 05:11:00 +00:00
parent 99498b680b
commit 7b43126f50
3 changed files with 790 additions and 643 deletions

View File

@ -334,6 +334,7 @@ namespace BizHawk.MultiClient
//public int RiceEnableHacksForGame = 0; //public int RiceEnableHacksForGame = 0;
public N64RicePluginSettings RicePlugin = new N64RicePluginSettings(); public N64RicePluginSettings RicePlugin = new N64RicePluginSettings();
public N64GlidePluginSettings GlidePlugin = new N64GlidePluginSettings();
// General Client Settings // General Client Settings
public int Input_Hotkey_OverrideOptions = 0; public int Input_Hotkey_OverrideOptions = 0;
@ -1953,7 +1954,7 @@ namespace BizHawk.MultiClient
} }
public enum PLUGINTYPE { RICE }; public enum PLUGINTYPE { RICE, GLIDE };
public interface iPluginSettings public interface iPluginSettings
{ {
@ -2085,4 +2086,92 @@ namespace BizHawk.MultiClient
public int ScreenUpdateSettingHack = 0; public int ScreenUpdateSettingHack = 0;
public int EnableHacksForGame = 0; public int EnableHacksForGame = 0;
} }
public class N64GlidePluginSettings : iPluginSettings
{
public PLUGINTYPE PluginType
{
get { return PLUGINTYPE.GLIDE; }
}
public void FillPerGameHacks(GameInfo game)
{
if (Global.Config.GlidePlugin.UseDefaultHacks)
{
}
}
public Dictionary<string, object> GetPluginSettings()
{
//TODO: deal witn the game depedent settings
Dictionary<string, object> dictionary = new Dictionary<string, object>();
System.Reflection.MemberInfo[] members = Global.Config.RicePlugin.GetType().GetMembers();
foreach (System.Reflection.MemberInfo member in members)
{
if (member.MemberType.ToString() == "Field")
{
object field = Global.Config.RicePlugin.GetType().GetField(member.Name).GetValue(Global.Config.RicePlugin);
dictionary.Add(member.Name, field);
}
}
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;
}
} }

File diff suppressed because it is too large Load Diff

View File

@ -186,7 +186,7 @@ namespace BizHawk.MultiClient
RiceUseDefaultHacks_CB.Checked = Global.Config.RicePlugin.UseDefaultHacks; RiceUseDefaultHacks_CB.Checked = Global.Config.RicePlugin.UseDefaultHacks;
UpdateHacksSection(); UpdateRiceHacksSection();
if (!Global.Config.RicePlugin.UseDefaultHacks) if (!Global.Config.RicePlugin.UseDefaultHacks)
{ {
RiceTexture1Hack_CB.Checked = Global.Config.RicePlugin.Texture1Hack; RiceTexture1Hack_CB.Checked = Global.Config.RicePlugin.Texture1Hack;
@ -219,6 +219,64 @@ namespace BizHawk.MultiClient
RiceScreenUpdateSettingHack_Combo.SelectedIndex = Global.Config.RicePlugin.ScreenUpdateSettingHack; RiceScreenUpdateSettingHack_Combo.SelectedIndex = Global.Config.RicePlugin.ScreenUpdateSettingHack;
RiceEnableHacksForGame_Combo.SelectedIndex = Global.Config.RicePlugin.EnableHacksForGame; RiceEnableHacksForGame_Combo.SelectedIndex = Global.Config.RicePlugin.EnableHacksForGame;
} }
Glide_autodetect_ucode.Checked = Global.Config.GlidePlugin.autodetect_ucode;
Glide_ucode.Text = Global.Config.GlidePlugin.ucode.ToString();
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;
Glide_wireframe.Checked = Global.Config.GlidePlugin.wireframe;
Glide_wfmode.SelectedIndex = Global.Config.GlidePlugin.wfmode;
Glide_fast_crc.Checked = Global.Config.GlidePlugin.fast_crc;
Glide_filter_cache.Checked = Global.Config.GlidePlugin.filter_cache;
Glide_unk_as_red.Checked = Global.Config.GlidePlugin.unk_as_red;
Glide_fb_read_always.Checked = Global.Config.GlidePlugin.fb_read_always;
Glide_motionblur.Checked = Global.Config.GlidePlugin.motionblur;
Glide_fb_render.Checked = Global.Config.GlidePlugin.fb_render;
Glide_noditheredalpha.Checked = Global.Config.GlidePlugin.noditheredalpha;
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;
} }
private void RiceAnisotropicFiltering_TB_Scroll_1(object sender, EventArgs e) private void RiceAnisotropicFiltering_TB_Scroll_1(object sender, EventArgs e)
@ -228,10 +286,10 @@ namespace BizHawk.MultiClient
private void RiceUseDefaultHacks_CB_CheckedChanged(object sender, EventArgs e) private void RiceUseDefaultHacks_CB_CheckedChanged(object sender, EventArgs e)
{ {
UpdateHacksSection(); UpdateRiceHacksSection();
} }
private void UpdateHacksSection() private void UpdateRiceHacksSection()
{ {
if (RiceUseDefaultHacks_CB.Checked) if (RiceUseDefaultHacks_CB.Checked)
{ {
@ -263,11 +321,11 @@ namespace BizHawk.MultiClient
RiceScreenUpdateSettingHack_Combo.SelectedIndex = GetIntFromDB("RiceScreenUpdateSettingHack", 0); RiceScreenUpdateSettingHack_Combo.SelectedIndex = GetIntFromDB("RiceScreenUpdateSettingHack", 0);
RiceEnableHacksForGame_Combo.SelectedIndex = GetIntFromDB("RiceEnableHacksForGame", 0); RiceEnableHacksForGame_Combo.SelectedIndex = GetIntFromDB("RiceEnableHacksForGame", 0);
ToggleHackCheckboxEnable(false); ToggleRiceHackCheckboxEnable(false);
} }
else else
{ {
ToggleHackCheckboxEnable(true); ToggleRiceHackCheckboxEnable(true);
} }
} }
@ -287,7 +345,7 @@ namespace BizHawk.MultiClient
return defaultVal; return defaultVal;
} }
public void ToggleHackCheckboxEnable (bool val) public void ToggleRiceHackCheckboxEnable (bool val)
{ {
RiceDisableTextureCRC_CB.Enabled = val; RiceDisableTextureCRC_CB.Enabled = val;
RiceDisableCulling_CB.Enabled = val; RiceDisableCulling_CB.Enabled = val;