N64 - make video size a setting, not a sync setting
This commit is contained in:
parent
3c31d11c8b
commit
aa2ae170f3
|
@ -412,7 +412,8 @@ namespace BizHawk.Client.Common
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "N64":
|
case "N64":
|
||||||
nextEmulator = new N64(nextComm, game, rom.RomData, GetCoreSyncSettings<N64>());
|
nextEmulator = new N64(nextComm, game, rom.RomData,
|
||||||
|
GetCoreSettings<N64>(), GetCoreSyncSettings<N64>());
|
||||||
break;
|
break;
|
||||||
case "WSWAN":
|
case "WSWAN":
|
||||||
nextEmulator = new WonderSwan(nextComm, rom.RomData, Deterministic,
|
nextEmulator = new WonderSwan(nextComm, rom.RomData, Deterministic,
|
||||||
|
|
|
@ -17,11 +17,6 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
public BizBoxInfoControl(CoreAttributes attributes)
|
public BizBoxInfoControl(CoreAttributes attributes)
|
||||||
{
|
{
|
||||||
if (attributes.CoreName.ToLower().StartsWith("bs"))
|
|
||||||
{
|
|
||||||
int zzz = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
CoreNameLabel.Text = attributes.CoreName;
|
CoreNameLabel.Text = attributes.CoreName;
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
}
|
}
|
||||||
|
|
||||||
// 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
|
||||||
// never do this
|
private static N64SyncSettings GetSyncSettings()
|
||||||
static N64SyncSettings GetS()
|
|
||||||
{
|
{
|
||||||
if (Global.Emulator is N64)
|
if (Global.Emulator is N64)
|
||||||
{
|
{
|
||||||
|
@ -34,8 +33,20 @@ namespace BizHawk.Client.EmuHawk
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// never do this
|
private static N64Settings GetSettings()
|
||||||
static void PutS(N64SyncSettings s)
|
{
|
||||||
|
if (Global.Emulator is N64)
|
||||||
|
{
|
||||||
|
return (N64Settings)Global.Emulator.GetSettings();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return (N64Settings)Global.Config.GetCoreSettings<N64>()
|
||||||
|
?? new N64Settings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void PutSyncSettings(N64SyncSettings s)
|
||||||
{
|
{
|
||||||
if (Global.Emulator is N64)
|
if (Global.Emulator is N64)
|
||||||
{
|
{
|
||||||
|
@ -43,11 +54,22 @@ namespace BizHawk.Client.EmuHawk
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// hack, don't do!
|
|
||||||
Global.Config.PutCoreSyncSettings<N64>(s);
|
Global.Config.PutCoreSyncSettings<N64>(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void PutSettings(N64Settings s)
|
||||||
|
{
|
||||||
|
if (Global.Emulator is N64)
|
||||||
|
{
|
||||||
|
GlobalWin.MainForm.PutCoreSettings(s);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Global.Config.PutCoreSettings<N64>(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void CancelBT_Click(object sender, EventArgs e)
|
private void CancelBT_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//Add confirmation of cancelling change
|
//Add confirmation of cancelling change
|
||||||
|
@ -64,7 +86,8 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
private void SaveSettings()
|
private void SaveSettings()
|
||||||
{
|
{
|
||||||
var s = GetS();
|
var s = GetSettings();
|
||||||
|
var ss = GetSyncSettings();
|
||||||
|
|
||||||
//Global
|
//Global
|
||||||
var video_settings = VideoResolutionComboBox.SelectedItem.ToString();
|
var video_settings = VideoResolutionComboBox.SelectedItem.ToString();
|
||||||
|
@ -73,245 +96,247 @@ namespace BizHawk.Client.EmuHawk
|
||||||
s.VideoSizeY = Int32.Parse(strArr[1].Trim());
|
s.VideoSizeY = Int32.Parse(strArr[1].Trim());
|
||||||
switch (PluginComboBox.Text)
|
switch (PluginComboBox.Text)
|
||||||
{
|
{
|
||||||
case "Rice": s.VidPlugin = PLUGINTYPE.RICE; break;
|
case "Rice": ss.VidPlugin = PLUGINTYPE.RICE; break;
|
||||||
case "Glide64": s.VidPlugin = PLUGINTYPE.GLIDE; break;
|
case "Glide64": ss.VidPlugin = PLUGINTYPE.GLIDE; break;
|
||||||
case "Glide64mk2": s.VidPlugin = PLUGINTYPE.GLIDE64MK2; break;
|
case "Glide64mk2": ss.VidPlugin = PLUGINTYPE.GLIDE64MK2; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Rice
|
//Rice
|
||||||
s.RicePlugin.NormalAlphaBlender = RiceNormalAlphaBlender_CB.Checked;
|
ss.RicePlugin.NormalAlphaBlender = RiceNormalAlphaBlender_CB.Checked;
|
||||||
s.RicePlugin.FastTextureLoading = RiceFastTextureLoading_CB.Checked;
|
ss.RicePlugin.FastTextureLoading = RiceFastTextureLoading_CB.Checked;
|
||||||
s.RicePlugin.AccurateTextureMapping = RiceAccurateTextureMapping_CB.Checked;
|
ss.RicePlugin.AccurateTextureMapping = RiceAccurateTextureMapping_CB.Checked;
|
||||||
s.RicePlugin.InN64Resolution = RiceInN64Resolution_CB.Checked;
|
ss.RicePlugin.InN64Resolution = RiceInN64Resolution_CB.Checked;
|
||||||
s.RicePlugin.SaveVRAM = RiceSaveVRAM_CB.Checked;
|
ss.RicePlugin.SaveVRAM = RiceSaveVRAM_CB.Checked;
|
||||||
s.RicePlugin.DoubleSizeForSmallTxtrBuf = RiceDoubleSizeForSmallTxtrBuf_CB.Checked;
|
ss.RicePlugin.DoubleSizeForSmallTxtrBuf = RiceDoubleSizeForSmallTxtrBuf_CB.Checked;
|
||||||
s.RicePlugin.DefaultCombinerDisable = RiceDefaultCombinerDisable_CB.Checked;
|
ss.RicePlugin.DefaultCombinerDisable = RiceDefaultCombinerDisable_CB.Checked;
|
||||||
s.RicePlugin.EnableHacks = RiceEnableHacks_CB.Checked;
|
ss.RicePlugin.EnableHacks = RiceEnableHacks_CB.Checked;
|
||||||
s.RicePlugin.WinFrameMode = RiceWinFrameMode_CB.Checked;
|
ss.RicePlugin.WinFrameMode = RiceWinFrameMode_CB.Checked;
|
||||||
s.RicePlugin.FullTMEMEmulation = RiceFullTMEMEmulation_CB.Checked;
|
ss.RicePlugin.FullTMEMEmulation = RiceFullTMEMEmulation_CB.Checked;
|
||||||
s.RicePlugin.OpenGLVertexClipper = RiceOpenGLVertexClipper_CB.Checked;
|
ss.RicePlugin.OpenGLVertexClipper = RiceOpenGLVertexClipper_CB.Checked;
|
||||||
s.RicePlugin.EnableSSE = RiceEnableSSE_CB.Checked;
|
ss.RicePlugin.EnableSSE = RiceEnableSSE_CB.Checked;
|
||||||
s.RicePlugin.EnableVertexShader = RiceEnableVertexShader_CB.Checked;
|
ss.RicePlugin.EnableVertexShader = RiceEnableVertexShader_CB.Checked;
|
||||||
s.RicePlugin.SkipFrame = RiceSkipFrame_CB.Checked;
|
ss.RicePlugin.SkipFrame = RiceSkipFrame_CB.Checked;
|
||||||
s.RicePlugin.TexRectOnly = RiceTexRectOnly_CB.Checked;
|
ss.RicePlugin.TexRectOnly = RiceTexRectOnly_CB.Checked;
|
||||||
s.RicePlugin.SmallTextureOnly = RiceSmallTextureOnly_CB.Checked;
|
ss.RicePlugin.SmallTextureOnly = RiceSmallTextureOnly_CB.Checked;
|
||||||
s.RicePlugin.LoadHiResCRCOnly = RiceLoadHiResCRCOnly_CB.Checked;
|
ss.RicePlugin.LoadHiResCRCOnly = RiceLoadHiResCRCOnly_CB.Checked;
|
||||||
s.RicePlugin.LoadHiResTextures = RiceLoadHiResTextures_CB.Checked;
|
ss.RicePlugin.LoadHiResTextures = RiceLoadHiResTextures_CB.Checked;
|
||||||
s.RicePlugin.DumpTexturesToFiles = RiceDumpTexturesToFiles_CB.Checked;
|
ss.RicePlugin.DumpTexturesToFiles = RiceDumpTexturesToFiles_CB.Checked;
|
||||||
|
|
||||||
s.RicePlugin.FrameBufferSetting = RiceFrameBufferSetting_Combo.SelectedIndex;
|
ss.RicePlugin.FrameBufferSetting = RiceFrameBufferSetting_Combo.SelectedIndex;
|
||||||
s.RicePlugin.FrameBufferWriteBackControl = RiceFrameBufferWriteBackControl_Combo.SelectedIndex;
|
ss.RicePlugin.FrameBufferWriteBackControl = RiceFrameBufferWriteBackControl_Combo.SelectedIndex;
|
||||||
s.RicePlugin.RenderToTexture = RiceRenderToTexture_Combo.SelectedIndex;
|
ss.RicePlugin.RenderToTexture = RiceRenderToTexture_Combo.SelectedIndex;
|
||||||
s.RicePlugin.ScreenUpdateSetting = RiceScreenUpdateSetting_Combo.SelectedIndex;
|
ss.RicePlugin.ScreenUpdateSetting = RiceScreenUpdateSetting_Combo.SelectedIndex;
|
||||||
s.RicePlugin.Mipmapping = RiceMipmapping_Combo.SelectedIndex;
|
ss.RicePlugin.Mipmapping = RiceMipmapping_Combo.SelectedIndex;
|
||||||
s.RicePlugin.FogMethod = RiceFogMethod_Combo.SelectedIndex;
|
ss.RicePlugin.FogMethod = RiceFogMethod_Combo.SelectedIndex;
|
||||||
s.RicePlugin.ForceTextureFilter = RiceForceTextureFilter_Combo.SelectedIndex;
|
ss.RicePlugin.ForceTextureFilter = RiceForceTextureFilter_Combo.SelectedIndex;
|
||||||
s.RicePlugin.TextureEnhancement = RiceTextureEnhancement_Combo.SelectedIndex;
|
ss.RicePlugin.TextureEnhancement = RiceTextureEnhancement_Combo.SelectedIndex;
|
||||||
s.RicePlugin.TextureEnhancementControl = RiceTextureEnhancementControl_Combo.SelectedIndex;
|
ss.RicePlugin.TextureEnhancementControl = RiceTextureEnhancementControl_Combo.SelectedIndex;
|
||||||
s.RicePlugin.TextureQuality = RiceTextureQuality_Combo.SelectedIndex;
|
ss.RicePlugin.TextureQuality = RiceTextureQuality_Combo.SelectedIndex;
|
||||||
s.RicePlugin.OpenGLDepthBufferSetting = (RiceOpenGLDepthBufferSetting_Combo.SelectedIndex + 1) * 16;
|
ss.RicePlugin.OpenGLDepthBufferSetting = (RiceOpenGLDepthBufferSetting_Combo.SelectedIndex + 1) * 16;
|
||||||
switch (RiceMultiSampling_Combo.SelectedIndex)
|
switch (RiceMultiSampling_Combo.SelectedIndex)
|
||||||
{
|
{
|
||||||
case 0: s.RicePlugin.MultiSampling = 0; break;
|
case 0: ss.RicePlugin.MultiSampling = 0; break;
|
||||||
case 1: s.RicePlugin.MultiSampling = 2; break;
|
case 1: ss.RicePlugin.MultiSampling = 2; break;
|
||||||
case 2: s.RicePlugin.MultiSampling = 4; break;
|
case 2: ss.RicePlugin.MultiSampling = 4; break;
|
||||||
case 3: s.RicePlugin.MultiSampling = 8; break;
|
case 3: ss.RicePlugin.MultiSampling = 8; break;
|
||||||
case 4: s.RicePlugin.MultiSampling = 16; break;
|
case 4: ss.RicePlugin.MultiSampling = 16; break;
|
||||||
default: s.RicePlugin.MultiSampling = 0; break;
|
default: ss.RicePlugin.MultiSampling = 0; break;
|
||||||
}
|
}
|
||||||
s.RicePlugin.ColorQuality = RiceColorQuality_Combo.SelectedIndex;
|
ss.RicePlugin.ColorQuality = RiceColorQuality_Combo.SelectedIndex;
|
||||||
s.RicePlugin.OpenGLRenderSetting = RiceOpenGLRenderSetting_Combo.SelectedIndex;
|
ss.RicePlugin.OpenGLRenderSetting = RiceOpenGLRenderSetting_Combo.SelectedIndex;
|
||||||
s.RicePlugin.AnisotropicFiltering = RiceAnisotropicFiltering_TB.Value;
|
ss.RicePlugin.AnisotropicFiltering = RiceAnisotropicFiltering_TB.Value;
|
||||||
|
|
||||||
s.RicePlugin.UseDefaultHacks = RiceUseDefaultHacks_CB.Checked;
|
ss.RicePlugin.UseDefaultHacks = RiceUseDefaultHacks_CB.Checked;
|
||||||
s.RicePlugin.DisableTextureCRC = RiceDisableTextureCRC_CB.Checked;
|
ss.RicePlugin.DisableTextureCRC = RiceDisableTextureCRC_CB.Checked;
|
||||||
s.RicePlugin.DisableCulling = RiceDisableCulling_CB.Checked;
|
ss.RicePlugin.DisableCulling = RiceDisableCulling_CB.Checked;
|
||||||
s.RicePlugin.IncTexRectEdge = RiceIncTexRectEdge_CB.Checked;
|
ss.RicePlugin.IncTexRectEdge = RiceIncTexRectEdge_CB.Checked;
|
||||||
s.RicePlugin.ZHack = RiceZHack_CB.Checked;
|
ss.RicePlugin.ZHack = RiceZHack_CB.Checked;
|
||||||
s.RicePlugin.TextureScaleHack = RiceTextureScaleHack_CB.Checked;
|
ss.RicePlugin.TextureScaleHack = RiceTextureScaleHack_CB.Checked;
|
||||||
s.RicePlugin.PrimaryDepthHack = RicePrimaryDepthHack_CB.Checked;
|
ss.RicePlugin.PrimaryDepthHack = RicePrimaryDepthHack_CB.Checked;
|
||||||
s.RicePlugin.Texture1Hack = RiceTexture1Hack_CB.Checked;
|
ss.RicePlugin.Texture1Hack = RiceTexture1Hack_CB.Checked;
|
||||||
s.RicePlugin.FastLoadTile = RiceFastLoadTile_CB.Checked;
|
ss.RicePlugin.FastLoadTile = RiceFastLoadTile_CB.Checked;
|
||||||
s.RicePlugin.UseSmallerTexture = RiceUseSmallerTexture_CB.Checked;
|
ss.RicePlugin.UseSmallerTexture = RiceUseSmallerTexture_CB.Checked;
|
||||||
|
|
||||||
if (InputValidate.IsSigned(RiceVIWidth_Text.Text))
|
if (InputValidate.IsSigned(RiceVIWidth_Text.Text))
|
||||||
s.RicePlugin.VIWidth = int.Parse(RiceVIWidth_Text.Text);
|
ss.RicePlugin.VIWidth = int.Parse(RiceVIWidth_Text.Text);
|
||||||
else
|
else
|
||||||
s.RicePlugin.VIWidth = -1;
|
ss.RicePlugin.VIWidth = -1;
|
||||||
|
|
||||||
if (InputValidate.IsSigned(RiceVIHeight_Text.Text))
|
if (InputValidate.IsSigned(RiceVIHeight_Text.Text))
|
||||||
s.RicePlugin.VIHeight = int.Parse(RiceVIHeight_Text.Text);
|
ss.RicePlugin.VIHeight = int.Parse(RiceVIHeight_Text.Text);
|
||||||
else
|
else
|
||||||
s.RicePlugin.VIHeight = -1;
|
ss.RicePlugin.VIHeight = -1;
|
||||||
|
|
||||||
s.RicePlugin.UseCIWidthAndRatio = RiceUseCIWidthAndRatio_Combo.SelectedIndex;
|
ss.RicePlugin.UseCIWidthAndRatio = RiceUseCIWidthAndRatio_Combo.SelectedIndex;
|
||||||
s.RicePlugin.FullTMEM = RiceFullTMEM_Combo.SelectedIndex;
|
ss.RicePlugin.FullTMEM = RiceFullTMEM_Combo.SelectedIndex;
|
||||||
s.RicePlugin.TxtSizeMethod2 = RiceTxtSizeMethod2_CB.Checked;
|
ss.RicePlugin.TxtSizeMethod2 = RiceTxtSizeMethod2_CB.Checked;
|
||||||
s.RicePlugin.EnableTxtLOD = RiceEnableTxtLOD_CB.Checked;
|
ss.RicePlugin.EnableTxtLOD = RiceEnableTxtLOD_CB.Checked;
|
||||||
s.RicePlugin.FastTextureCRC = RiceFastTextureCRC_Combo.SelectedIndex;
|
ss.RicePlugin.FastTextureCRC = RiceFastTextureCRC_Combo.SelectedIndex;
|
||||||
s.RicePlugin.EmulateClear = RiceEmulateClear_CB.Checked;
|
ss.RicePlugin.EmulateClear = RiceEmulateClear_CB.Checked;
|
||||||
s.RicePlugin.ForceScreenClear = RiceForceScreenClear_CB.Checked;
|
ss.RicePlugin.ForceScreenClear = RiceForceScreenClear_CB.Checked;
|
||||||
s.RicePlugin.AccurateTextureMappingHack = RiceAccurateTextureMappingHack_Combo.SelectedIndex;
|
ss.RicePlugin.AccurateTextureMappingHack = RiceAccurateTextureMappingHack_Combo.SelectedIndex;
|
||||||
s.RicePlugin.NormalBlender = RiceNormalBlender_Combo.SelectedIndex;
|
ss.RicePlugin.NormalBlender = RiceNormalBlender_Combo.SelectedIndex;
|
||||||
s.RicePlugin.DisableBlender = RiceDisableBlender_CB.Checked;
|
ss.RicePlugin.DisableBlender = RiceDisableBlender_CB.Checked;
|
||||||
s.RicePlugin.ForceDepthBuffer = RiceForceDepthBuffer_CB.Checked;
|
ss.RicePlugin.ForceDepthBuffer = RiceForceDepthBuffer_CB.Checked;
|
||||||
s.RicePlugin.DisableObjBG = RiceDisableObjBG_CB.Checked;
|
ss.RicePlugin.DisableObjBG = RiceDisableObjBG_CB.Checked;
|
||||||
s.RicePlugin.FrameBufferOption = RiceFrameBufferOption_Combo.SelectedIndex;
|
ss.RicePlugin.FrameBufferOption = RiceFrameBufferOption_Combo.SelectedIndex;
|
||||||
s.RicePlugin.RenderToTextureOption = RiceRenderToTextureOption_Combo.SelectedIndex;
|
ss.RicePlugin.RenderToTextureOption = RiceRenderToTextureOption_Combo.SelectedIndex;
|
||||||
s.RicePlugin.ScreenUpdateSettingHack = RiceScreenUpdateSettingHack_Combo.SelectedIndex;
|
ss.RicePlugin.ScreenUpdateSettingHack = RiceScreenUpdateSettingHack_Combo.SelectedIndex;
|
||||||
s.RicePlugin.EnableHacksForGame = RiceEnableHacksForGame_Combo.SelectedIndex;
|
ss.RicePlugin.EnableHacksForGame = RiceEnableHacksForGame_Combo.SelectedIndex;
|
||||||
|
|
||||||
s.GlidePlugin.autodetect_ucode = Glide_autodetect_ucode.Checked;
|
ss.GlidePlugin.autodetect_ucode = Glide_autodetect_ucode.Checked;
|
||||||
s.GlidePlugin.ucode = Glide_ucode.SelectedIndex;
|
ss.GlidePlugin.ucode = Glide_ucode.SelectedIndex;
|
||||||
s.GlidePlugin.flame_corona = Glide_flame_corona.Checked;
|
ss.GlidePlugin.flame_corona = Glide_flame_corona.Checked;
|
||||||
s.GlidePlugin.card_id = Glide_card_id.SelectedIndex;
|
ss.GlidePlugin.card_id = Glide_card_id.SelectedIndex;
|
||||||
s.GlidePlugin.tex_filter = Glide_tex_filter.SelectedIndex;
|
ss.GlidePlugin.tex_filter = Glide_tex_filter.SelectedIndex;
|
||||||
s.GlidePlugin.wireframe = Glide_wireframe.Checked;
|
ss.GlidePlugin.wireframe = Glide_wireframe.Checked;
|
||||||
s.GlidePlugin.wfmode = Glide_wfmode.SelectedIndex;
|
ss.GlidePlugin.wfmode = Glide_wfmode.SelectedIndex;
|
||||||
s.GlidePlugin.fast_crc = Glide_fast_crc.Checked;
|
ss.GlidePlugin.fast_crc = Glide_fast_crc.Checked;
|
||||||
s.GlidePlugin.filter_cache = Glide_filter_cache.Checked;
|
ss.GlidePlugin.filter_cache = Glide_filter_cache.Checked;
|
||||||
s.GlidePlugin.unk_as_red = Glide_unk_as_red.Checked;
|
ss.GlidePlugin.unk_as_red = Glide_unk_as_red.Checked;
|
||||||
s.GlidePlugin.fb_read_always = Glide_fb_read_always.Checked;
|
ss.GlidePlugin.fb_read_always = Glide_fb_read_always.Checked;
|
||||||
s.GlidePlugin.motionblur = Glide_motionblur.Checked;
|
ss.GlidePlugin.motionblur = Glide_motionblur.Checked;
|
||||||
s.GlidePlugin.fb_render = Glide_fb_render.Checked;
|
ss.GlidePlugin.fb_render = Glide_fb_render.Checked;
|
||||||
s.GlidePlugin.noditheredalpha = Glide_noditheredalpha.Checked;
|
ss.GlidePlugin.noditheredalpha = Glide_noditheredalpha.Checked;
|
||||||
s.GlidePlugin.noglsl = Glide_noglsl.Checked;
|
ss.GlidePlugin.noglsl = Glide_noglsl.Checked;
|
||||||
s.GlidePlugin.fbo = Glide_fbo.Checked;
|
ss.GlidePlugin.fbo = Glide_fbo.Checked;
|
||||||
s.GlidePlugin.disable_auxbuf = Glide_disable_auxbuf.Checked;
|
ss.GlidePlugin.disable_auxbuf = Glide_disable_auxbuf.Checked;
|
||||||
s.GlidePlugin.fb_get_info = Glide_fb_get_info.Checked;
|
ss.GlidePlugin.fb_get_info = Glide_fb_get_info.Checked;
|
||||||
|
|
||||||
s.GlidePlugin.offset_x =
|
ss.GlidePlugin.offset_x =
|
||||||
InputValidate.IsSigned(Glide_offset_x.Text) ?
|
InputValidate.IsSigned(Glide_offset_x.Text) ?
|
||||||
int.Parse(Glide_offset_x.Text) : 0;
|
int.Parse(Glide_offset_x.Text) : 0;
|
||||||
|
|
||||||
s.GlidePlugin.offset_y =
|
ss.GlidePlugin.offset_y =
|
||||||
InputValidate.IsSigned(Glide_offset_y.Text) ?
|
InputValidate.IsSigned(Glide_offset_y.Text) ?
|
||||||
int.Parse(Glide_offset_y.Text) : 0;
|
int.Parse(Glide_offset_y.Text) : 0;
|
||||||
|
|
||||||
s.GlidePlugin.scale_x =
|
ss.GlidePlugin.scale_x =
|
||||||
InputValidate.IsSigned(Glide_scale_x.Text) ?
|
InputValidate.IsSigned(Glide_scale_x.Text) ?
|
||||||
int.Parse(Glide_scale_x.Text) : 100000;
|
int.Parse(Glide_scale_x.Text) : 100000;
|
||||||
|
|
||||||
s.GlidePlugin.scale_y =
|
ss.GlidePlugin.scale_y =
|
||||||
InputValidate.IsSigned(Glide_scale_y.Text) ?
|
InputValidate.IsSigned(Glide_scale_y.Text) ?
|
||||||
int.Parse(Glide_scale_y.Text) : 100000;
|
int.Parse(Glide_scale_y.Text) : 100000;
|
||||||
|
|
||||||
s.GlidePlugin.UseDefaultHacks = GlideUseDefaultHacks1.Checked || GlideUseDefaultHacks2.Checked;
|
ss.GlidePlugin.UseDefaultHacks = GlideUseDefaultHacks1.Checked || GlideUseDefaultHacks2.Checked;
|
||||||
s.GlidePlugin.alt_tex_size = Glide_alt_tex_size.Checked;
|
ss.GlidePlugin.alt_tex_size = Glide_alt_tex_size.Checked;
|
||||||
s.GlidePlugin.buff_clear = Glide_buff_clear.Checked;
|
ss.GlidePlugin.buff_clear = Glide_buff_clear.Checked;
|
||||||
s.GlidePlugin.decrease_fillrect_edge = Glide_decrease_fillrect_edge.Checked;
|
ss.GlidePlugin.decrease_fillrect_edge = Glide_decrease_fillrect_edge.Checked;
|
||||||
s.GlidePlugin.detect_cpu_write = Glide_detect_cpu_write.Checked;
|
ss.GlidePlugin.detect_cpu_write = Glide_detect_cpu_write.Checked;
|
||||||
s.GlidePlugin.fb_clear = Glide_fb_clear.Checked;
|
ss.GlidePlugin.fb_clear = Glide_fb_clear.Checked;
|
||||||
s.GlidePlugin.fb_hires = Glide_fb_hires.Checked;
|
ss.GlidePlugin.fb_hires = Glide_fb_hires.Checked;
|
||||||
s.GlidePlugin.fb_read_alpha = Glide_fb_read_alpha.Checked;
|
ss.GlidePlugin.fb_read_alpha = Glide_fb_read_alpha.Checked;
|
||||||
s.GlidePlugin.fb_smart = Glide_fb_smart.Checked;
|
ss.GlidePlugin.fb_smart = Glide_fb_smart.Checked;
|
||||||
s.GlidePlugin.fillcolor_fix = Glide_fillcolor_fix.Checked;
|
ss.GlidePlugin.fillcolor_fix = Glide_fillcolor_fix.Checked;
|
||||||
s.GlidePlugin.fog = Glide_fog.Checked;
|
ss.GlidePlugin.fog = Glide_fog.Checked;
|
||||||
s.GlidePlugin.force_depth_compare = Glide_force_depth_compare.Checked;
|
ss.GlidePlugin.force_depth_compare = Glide_force_depth_compare.Checked;
|
||||||
s.GlidePlugin.force_microcheck = Glide_force_microcheck.Checked;
|
ss.GlidePlugin.force_microcheck = Glide_force_microcheck.Checked;
|
||||||
s.GlidePlugin.fb_hires_buf_clear = Glide_fb_hires_buf_clear.Checked;
|
ss.GlidePlugin.fb_hires_buf_clear = Glide_fb_hires_buf_clear.Checked;
|
||||||
s.GlidePlugin.fb_ignore_aux_copy = Glide_fb_ignore_aux_copy.Checked;
|
ss.GlidePlugin.fb_ignore_aux_copy = Glide_fb_ignore_aux_copy.Checked;
|
||||||
s.GlidePlugin.fb_ignore_previous = Glide_fb_ignore_previous.Checked;
|
ss.GlidePlugin.fb_ignore_previous = Glide_fb_ignore_previous.Checked;
|
||||||
s.GlidePlugin.increase_primdepth = Glide_increase_primdepth.Checked;
|
ss.GlidePlugin.increase_primdepth = Glide_increase_primdepth.Checked;
|
||||||
s.GlidePlugin.increase_texrect_edge = Glide_increase_texrect_edge.Checked;
|
ss.GlidePlugin.increase_texrect_edge = Glide_increase_texrect_edge.Checked;
|
||||||
s.GlidePlugin.fb_optimize_texrect = Glide_fb_optimize_texrect.Checked;
|
ss.GlidePlugin.fb_optimize_texrect = Glide_fb_optimize_texrect.Checked;
|
||||||
s.GlidePlugin.fb_optimize_write = Glide_fb_optimize_write.Checked;
|
ss.GlidePlugin.fb_optimize_write = Glide_fb_optimize_write.Checked;
|
||||||
s.GlidePlugin.PPL = Glide_PPL.Checked;
|
ss.GlidePlugin.PPL = Glide_PPL.Checked;
|
||||||
s.GlidePlugin.soft_depth_compare = Glide_soft_depth_compare.Checked;
|
ss.GlidePlugin.soft_depth_compare = Glide_soft_depth_compare.Checked;
|
||||||
s.GlidePlugin.use_sts1_only = Glide_use_sts1_only.Checked;
|
ss.GlidePlugin.use_sts1_only = Glide_use_sts1_only.Checked;
|
||||||
s.GlidePlugin.wrap_big_tex = Glide_wrap_big_tex.Checked;
|
ss.GlidePlugin.wrap_big_tex = Glide_wrap_big_tex.Checked;
|
||||||
|
|
||||||
s.GlidePlugin.depth_bias =
|
ss.GlidePlugin.depth_bias =
|
||||||
InputValidate.IsSigned(Glide_depth_bias.Text) ?
|
InputValidate.IsSigned(Glide_depth_bias.Text) ?
|
||||||
int.Parse(Glide_depth_bias.Text) : 20;
|
int.Parse(Glide_depth_bias.Text) : 20;
|
||||||
|
|
||||||
s.GlidePlugin.filtering = Glide_filtering.SelectedIndex;
|
ss.GlidePlugin.filtering = Glide_filtering.SelectedIndex;
|
||||||
|
|
||||||
s.GlidePlugin.fix_tex_coord = InputValidate.IsSigned(Glide_fix_tex_coord.Text) ?
|
ss.GlidePlugin.fix_tex_coord = InputValidate.IsSigned(Glide_fix_tex_coord.Text) ?
|
||||||
int.Parse(Glide_fix_tex_coord.Text) : 0;
|
int.Parse(Glide_fix_tex_coord.Text) : 0;
|
||||||
|
|
||||||
s.GlidePlugin.lodmode = Glide_lodmode.SelectedIndex;
|
ss.GlidePlugin.lodmode = Glide_lodmode.SelectedIndex;
|
||||||
|
|
||||||
s.GlidePlugin.stipple_mode =
|
ss.GlidePlugin.stipple_mode =
|
||||||
InputValidate.IsSigned(Glide_stipple_mode.Text) ?
|
InputValidate.IsSigned(Glide_stipple_mode.Text) ?
|
||||||
int.Parse(Glide_stipple_mode.Text) : 2;
|
int.Parse(Glide_stipple_mode.Text) : 2;
|
||||||
|
|
||||||
s.GlidePlugin.stipple_pattern =
|
ss.GlidePlugin.stipple_pattern =
|
||||||
InputValidate.IsSigned(Glide_stipple_pattern.Text) ?
|
InputValidate.IsSigned(Glide_stipple_pattern.Text) ?
|
||||||
int.Parse(Glide_stipple_pattern.Text) : 1041204192;
|
int.Parse(Glide_stipple_pattern.Text) : 1041204192;
|
||||||
|
|
||||||
s.GlidePlugin.swapmode = Glide_swapmode.SelectedIndex;
|
ss.GlidePlugin.swapmode = Glide_swapmode.SelectedIndex;
|
||||||
s.GlidePlugin.enable_hacks_for_game = Glide_enable_hacks_for_game.SelectedIndex;
|
ss.GlidePlugin.enable_hacks_for_game = Glide_enable_hacks_for_game.SelectedIndex;
|
||||||
|
|
||||||
s.Glide64mk2Plugin.card_id = Glide64mk2_card_id.SelectedIndex;
|
ss.Glide64mk2Plugin.card_id = Glide64mk2_card_id.SelectedIndex;
|
||||||
s.Glide64mk2Plugin.wrpFBO = Glide64mk2_wrpFBO.Checked;
|
ss.Glide64mk2Plugin.wrpFBO = Glide64mk2_wrpFBO.Checked;
|
||||||
s.Glide64mk2Plugin.wrpAnisotropic = Glide64mk2_wrpAnisotropic.Checked;
|
ss.Glide64mk2Plugin.wrpAnisotropic = Glide64mk2_wrpAnisotropic.Checked;
|
||||||
s.Glide64mk2Plugin.fb_get_info = Glide64mk2_fb_get_info.Checked;
|
ss.Glide64mk2Plugin.fb_get_info = Glide64mk2_fb_get_info.Checked;
|
||||||
s.Glide64mk2Plugin.fb_render = Glide64mk2_fb_render.Checked;
|
ss.Glide64mk2Plugin.fb_render = Glide64mk2_fb_render.Checked;
|
||||||
|
|
||||||
s.Glide64mk2Plugin.UseDefaultHacks = Glide64mk2_UseDefaultHacks1.Checked || Glide64mk2_UseDefaultHacks2.Checked;
|
ss.Glide64mk2Plugin.UseDefaultHacks = Glide64mk2_UseDefaultHacks1.Checked || Glide64mk2_UseDefaultHacks2.Checked;
|
||||||
|
|
||||||
s.Glide64mk2Plugin.use_sts1_only = Glide64mk2_use_sts1_only.Checked;
|
ss.Glide64mk2Plugin.use_sts1_only = Glide64mk2_use_sts1_only.Checked;
|
||||||
s.Glide64mk2Plugin.optimize_texrect = Glide64mk2_optimize_texrect.Checked;
|
ss.Glide64mk2Plugin.optimize_texrect = Glide64mk2_optimize_texrect.Checked;
|
||||||
s.Glide64mk2Plugin.increase_texrect_edge = Glide64mk2_increase_texrect_edge.Checked;
|
ss.Glide64mk2Plugin.increase_texrect_edge = Glide64mk2_increase_texrect_edge.Checked;
|
||||||
s.Glide64mk2Plugin.ignore_aux_copy = Glide64mk2_ignore_aux_copy.Checked;
|
ss.Glide64mk2Plugin.ignore_aux_copy = Glide64mk2_ignore_aux_copy.Checked;
|
||||||
s.Glide64mk2Plugin.hires_buf_clear = Glide64mk2_hires_buf_clear.Checked;
|
ss.Glide64mk2Plugin.hires_buf_clear = Glide64mk2_hires_buf_clear.Checked;
|
||||||
s.Glide64mk2Plugin.force_microcheck = Glide64mk2_force_microcheck.Checked;
|
ss.Glide64mk2Plugin.force_microcheck = Glide64mk2_force_microcheck.Checked;
|
||||||
s.Glide64mk2Plugin.fog = Glide64mk2_fog.Checked;
|
ss.Glide64mk2Plugin.fog = Glide64mk2_fog.Checked;
|
||||||
s.Glide64mk2Plugin.fb_smart = Glide64mk2_fb_smart.Checked;
|
ss.Glide64mk2Plugin.fb_smart = Glide64mk2_fb_smart.Checked;
|
||||||
s.Glide64mk2Plugin.fb_read_alpha = Glide64mk2_fb_read_alpha.Checked;
|
ss.Glide64mk2Plugin.fb_read_alpha = Glide64mk2_fb_read_alpha.Checked;
|
||||||
s.Glide64mk2Plugin.fb_hires = Glide64mk2_fb_hires.Checked;
|
ss.Glide64mk2Plugin.fb_hires = Glide64mk2_fb_hires.Checked;
|
||||||
s.Glide64mk2Plugin.detect_cpu_write = Glide64mk2_detect_cpu_write.Checked;
|
ss.Glide64mk2Plugin.detect_cpu_write = Glide64mk2_detect_cpu_write.Checked;
|
||||||
s.Glide64mk2Plugin.decrease_fillrect_edge = Glide64mk2_decrease_fillrect_edge.Checked;
|
ss.Glide64mk2Plugin.decrease_fillrect_edge = Glide64mk2_decrease_fillrect_edge.Checked;
|
||||||
s.Glide64mk2Plugin.buff_clear = Glide64mk2_buff_clear.Checked;
|
ss.Glide64mk2Plugin.buff_clear = Glide64mk2_buff_clear.Checked;
|
||||||
s.Glide64mk2Plugin.alt_tex_size = Glide64mk2_alt_tex_size.Checked;
|
ss.Glide64mk2Plugin.alt_tex_size = Glide64mk2_alt_tex_size.Checked;
|
||||||
s.Glide64mk2Plugin.swapmode = Glide64mk2_swapmode.SelectedIndex;
|
ss.Glide64mk2Plugin.swapmode = Glide64mk2_swapmode.SelectedIndex;
|
||||||
|
|
||||||
s.Glide64mk2Plugin.stipple_pattern =
|
ss.Glide64mk2Plugin.stipple_pattern =
|
||||||
InputValidate.IsSigned(Glide64mk2_stipple_pattern.Text) ?
|
InputValidate.IsSigned(Glide64mk2_stipple_pattern.Text) ?
|
||||||
int.Parse(Glide64mk2_stipple_pattern.Text) : 1041204192;
|
int.Parse(Glide64mk2_stipple_pattern.Text) : 1041204192;
|
||||||
|
|
||||||
s.Glide64mk2Plugin.stipple_mode =
|
ss.Glide64mk2Plugin.stipple_mode =
|
||||||
InputValidate.IsSigned(Glide64mk2_stipple_mode.Text) ?
|
InputValidate.IsSigned(Glide64mk2_stipple_mode.Text) ?
|
||||||
int.Parse(Glide64mk2_stipple_mode.Text) : 2;
|
int.Parse(Glide64mk2_stipple_mode.Text) : 2;
|
||||||
|
|
||||||
s.Glide64mk2Plugin.lodmode = Glide64mk2_lodmode.SelectedIndex;
|
ss.Glide64mk2Plugin.lodmode = Glide64mk2_lodmode.SelectedIndex;
|
||||||
s.Glide64mk2Plugin.filtering = Glide64mk2_filtering.SelectedIndex;
|
ss.Glide64mk2Plugin.filtering = Glide64mk2_filtering.SelectedIndex;
|
||||||
s.Glide64mk2Plugin.correct_viewport = Glide64mk2_correct_viewport.Checked;
|
ss.Glide64mk2Plugin.correct_viewport = Glide64mk2_correct_viewport.Checked;
|
||||||
s.Glide64mk2Plugin.force_calc_sphere = Glide64mk2_force_calc_sphere.Checked;
|
ss.Glide64mk2Plugin.force_calc_sphere = Glide64mk2_force_calc_sphere.Checked;
|
||||||
s.Glide64mk2Plugin.pal230 = Glide64mk2_pal230.Checked;
|
ss.Glide64mk2Plugin.pal230 = Glide64mk2_pal230.Checked;
|
||||||
s.Glide64mk2Plugin.texture_correction = Glide64mk2_texture_correction.Checked;
|
ss.Glide64mk2Plugin.texture_correction = Glide64mk2_texture_correction.Checked;
|
||||||
s.Glide64mk2Plugin.n64_z_scale = Glide64mk2_n64_z_scale.Checked;
|
ss.Glide64mk2Plugin.n64_z_scale = Glide64mk2_n64_z_scale.Checked;
|
||||||
s.Glide64mk2Plugin.old_style_adither = Glide64mk2_old_style_adither.Checked;
|
ss.Glide64mk2Plugin.old_style_adither = Glide64mk2_old_style_adither.Checked;
|
||||||
s.Glide64mk2Plugin.zmode_compare_less = Glide64mk2_zmode_compare_less.Checked;
|
ss.Glide64mk2Plugin.zmode_compare_less = Glide64mk2_zmode_compare_less.Checked;
|
||||||
s.Glide64mk2Plugin.adjust_aspect = Glide64mk2_adjust_aspect.Checked;
|
ss.Glide64mk2Plugin.adjust_aspect = Glide64mk2_adjust_aspect.Checked;
|
||||||
s.Glide64mk2Plugin.clip_zmax = Glide64mk2_clip_zmax.Checked;
|
ss.Glide64mk2Plugin.clip_zmax = Glide64mk2_clip_zmax.Checked;
|
||||||
s.Glide64mk2Plugin.clip_zmin = Glide64mk2_clip_zmin.Checked;
|
ss.Glide64mk2Plugin.clip_zmin = Glide64mk2_clip_zmin.Checked;
|
||||||
s.Glide64mk2Plugin.force_quad3d = Glide64mk2_force_quad3d.Checked;
|
ss.Glide64mk2Plugin.force_quad3d = Glide64mk2_force_quad3d.Checked;
|
||||||
s.Glide64mk2Plugin.useless_is_useless = Glide64mk2_useless_is_useless.Checked;
|
ss.Glide64mk2Plugin.useless_is_useless = Glide64mk2_useless_is_useless.Checked;
|
||||||
s.Glide64mk2Plugin.fb_read_always = Glide64mk2_fb_read_always.Checked;
|
ss.Glide64mk2Plugin.fb_read_always = Glide64mk2_fb_read_always.Checked;
|
||||||
s.Glide64mk2Plugin.aspectmode = Glide64mk2_aspectmode.SelectedIndex;
|
ss.Glide64mk2Plugin.aspectmode = Glide64mk2_aspectmode.SelectedIndex;
|
||||||
s.Glide64mk2Plugin.fb_crc_mode = Glide64mk2_fb_crc_mode.SelectedIndex;
|
ss.Glide64mk2Plugin.fb_crc_mode = Glide64mk2_fb_crc_mode.SelectedIndex;
|
||||||
s.Glide64mk2Plugin.enable_hacks_for_game = Glide64mk2_enable_hacks_for_game.SelectedIndex;
|
ss.Glide64mk2Plugin.enable_hacks_for_game = Glide64mk2_enable_hacks_for_game.SelectedIndex;
|
||||||
s.Glide64mk2Plugin.read_back_to_screen = Glide64mk2_read_back_to_screen.SelectedIndex;
|
ss.Glide64mk2Plugin.read_back_to_screen = Glide64mk2_read_back_to_screen.SelectedIndex;
|
||||||
s.Glide64mk2Plugin.fast_crc = Glide64mk2_fast_crc.Checked;
|
ss.Glide64mk2Plugin.fast_crc = Glide64mk2_fast_crc.Checked;
|
||||||
|
|
||||||
|
|
||||||
s.CoreType = EnumHelper.GetValueFromDescription<N64SyncSettings.CORETYPE>(
|
ss.CoreType = EnumHelper.GetValueFromDescription<N64SyncSettings.CORETYPE>(
|
||||||
CoreTypeDropdown.SelectedItem.ToString());
|
CoreTypeDropdown.SelectedItem.ToString());
|
||||||
|
|
||||||
s.RspType = EnumHelper.GetValueFromDescription<N64SyncSettings.RSPTYPE>(
|
ss.RspType = EnumHelper.GetValueFromDescription<N64SyncSettings.RSPTYPE>(
|
||||||
RspTypeDropdown.SelectedItem.ToString());
|
RspTypeDropdown.SelectedItem.ToString());
|
||||||
|
|
||||||
PutS(s);
|
PutSettings(s);
|
||||||
|
PutSyncSettings(ss);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void N64VideoPluginconfig_Load(object sender, EventArgs e)
|
private void N64VideoPluginconfig_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var s = GetS();
|
var s = GetSettings();
|
||||||
|
var ss = GetSyncSettings();
|
||||||
|
|
||||||
CoreTypeDropdown.PopulateFromEnum<N64SyncSettings.CORETYPE>(s.CoreType);
|
CoreTypeDropdown.PopulateFromEnum<N64SyncSettings.CORETYPE>(ss.CoreType);
|
||||||
RspTypeDropdown.PopulateFromEnum<N64SyncSettings.RSPTYPE>(s.RspType);
|
RspTypeDropdown.PopulateFromEnum<N64SyncSettings.RSPTYPE>(ss.RspType);
|
||||||
|
|
||||||
//Load Variables
|
//Load Variables
|
||||||
//Global
|
//Global
|
||||||
|
@ -324,7 +349,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
VideoResolutionComboBox.SelectedIndex = index;
|
VideoResolutionComboBox.SelectedIndex = index;
|
||||||
}
|
}
|
||||||
switch (s.VidPlugin)
|
switch (ss.VidPlugin)
|
||||||
{
|
{
|
||||||
case PLUGINTYPE.GLIDE64MK2: PluginComboBox.Text = "Glide64mk2"; break;
|
case PLUGINTYPE.GLIDE64MK2: PluginComboBox.Text = "Glide64mk2"; break;
|
||||||
case PLUGINTYPE.GLIDE: PluginComboBox.Text = "Glide64"; break;
|
case PLUGINTYPE.GLIDE: PluginComboBox.Text = "Glide64"; break;
|
||||||
|
@ -332,38 +357,38 @@ namespace BizHawk.Client.EmuHawk
|
||||||
}
|
}
|
||||||
|
|
||||||
//Rice
|
//Rice
|
||||||
RiceNormalAlphaBlender_CB.Checked = s.RicePlugin.NormalAlphaBlender;
|
RiceNormalAlphaBlender_CB.Checked = ss.RicePlugin.NormalAlphaBlender;
|
||||||
RiceFastTextureLoading_CB.Checked = s.RicePlugin.FastTextureLoading;
|
RiceFastTextureLoading_CB.Checked = ss.RicePlugin.FastTextureLoading;
|
||||||
RiceAccurateTextureMapping_CB.Checked = s.RicePlugin.AccurateTextureMapping;
|
RiceAccurateTextureMapping_CB.Checked = ss.RicePlugin.AccurateTextureMapping;
|
||||||
RiceInN64Resolution_CB.Checked = s.RicePlugin.InN64Resolution;
|
RiceInN64Resolution_CB.Checked = ss.RicePlugin.InN64Resolution;
|
||||||
RiceSaveVRAM_CB.Checked = s.RicePlugin.SaveVRAM;
|
RiceSaveVRAM_CB.Checked = ss.RicePlugin.SaveVRAM;
|
||||||
RiceDoubleSizeForSmallTxtrBuf_CB.Checked = s.RicePlugin.DoubleSizeForSmallTxtrBuf;
|
RiceDoubleSizeForSmallTxtrBuf_CB.Checked = ss.RicePlugin.DoubleSizeForSmallTxtrBuf;
|
||||||
RiceDefaultCombinerDisable_CB.Checked = s.RicePlugin.DefaultCombinerDisable;
|
RiceDefaultCombinerDisable_CB.Checked = ss.RicePlugin.DefaultCombinerDisable;
|
||||||
RiceEnableHacks_CB.Checked = s.RicePlugin.EnableHacks;
|
RiceEnableHacks_CB.Checked = ss.RicePlugin.EnableHacks;
|
||||||
RiceWinFrameMode_CB.Checked = s.RicePlugin.WinFrameMode;
|
RiceWinFrameMode_CB.Checked = ss.RicePlugin.WinFrameMode;
|
||||||
RiceFullTMEMEmulation_CB.Checked = s.RicePlugin.FullTMEMEmulation;
|
RiceFullTMEMEmulation_CB.Checked = ss.RicePlugin.FullTMEMEmulation;
|
||||||
RiceOpenGLVertexClipper_CB.Checked = s.RicePlugin.OpenGLVertexClipper;
|
RiceOpenGLVertexClipper_CB.Checked = ss.RicePlugin.OpenGLVertexClipper;
|
||||||
RiceEnableSSE_CB.Checked = s.RicePlugin.EnableSSE;
|
RiceEnableSSE_CB.Checked = ss.RicePlugin.EnableSSE;
|
||||||
RiceEnableVertexShader_CB.Checked = s.RicePlugin.EnableVertexShader;
|
RiceEnableVertexShader_CB.Checked = ss.RicePlugin.EnableVertexShader;
|
||||||
RiceSkipFrame_CB.Checked = s.RicePlugin.SkipFrame;
|
RiceSkipFrame_CB.Checked = ss.RicePlugin.SkipFrame;
|
||||||
RiceTexRectOnly_CB.Checked = s.RicePlugin.TexRectOnly;
|
RiceTexRectOnly_CB.Checked = ss.RicePlugin.TexRectOnly;
|
||||||
RiceSmallTextureOnly_CB.Checked = s.RicePlugin.SmallTextureOnly;
|
RiceSmallTextureOnly_CB.Checked = ss.RicePlugin.SmallTextureOnly;
|
||||||
RiceLoadHiResCRCOnly_CB.Checked = s.RicePlugin.LoadHiResCRCOnly;
|
RiceLoadHiResCRCOnly_CB.Checked = ss.RicePlugin.LoadHiResCRCOnly;
|
||||||
RiceLoadHiResTextures_CB.Checked = s.RicePlugin.LoadHiResTextures;
|
RiceLoadHiResTextures_CB.Checked = ss.RicePlugin.LoadHiResTextures;
|
||||||
RiceDumpTexturesToFiles_CB.Checked = s.RicePlugin.DumpTexturesToFiles;
|
RiceDumpTexturesToFiles_CB.Checked = ss.RicePlugin.DumpTexturesToFiles;
|
||||||
|
|
||||||
RiceFrameBufferSetting_Combo.SelectedIndex = s.RicePlugin.FrameBufferSetting;
|
RiceFrameBufferSetting_Combo.SelectedIndex = ss.RicePlugin.FrameBufferSetting;
|
||||||
RiceFrameBufferWriteBackControl_Combo.SelectedIndex = s.RicePlugin.FrameBufferWriteBackControl;
|
RiceFrameBufferWriteBackControl_Combo.SelectedIndex = ss.RicePlugin.FrameBufferWriteBackControl;
|
||||||
RiceRenderToTexture_Combo.SelectedIndex = s.RicePlugin.RenderToTexture;
|
RiceRenderToTexture_Combo.SelectedIndex = ss.RicePlugin.RenderToTexture;
|
||||||
RiceScreenUpdateSetting_Combo.SelectedIndex = s.RicePlugin.ScreenUpdateSetting;
|
RiceScreenUpdateSetting_Combo.SelectedIndex = ss.RicePlugin.ScreenUpdateSetting;
|
||||||
RiceMipmapping_Combo.SelectedIndex = s.RicePlugin.Mipmapping;
|
RiceMipmapping_Combo.SelectedIndex = ss.RicePlugin.Mipmapping;
|
||||||
RiceFogMethod_Combo.SelectedIndex = s.RicePlugin.FogMethod;
|
RiceFogMethod_Combo.SelectedIndex = ss.RicePlugin.FogMethod;
|
||||||
RiceForceTextureFilter_Combo.SelectedIndex = s.RicePlugin.ForceTextureFilter;
|
RiceForceTextureFilter_Combo.SelectedIndex = ss.RicePlugin.ForceTextureFilter;
|
||||||
RiceTextureEnhancement_Combo.SelectedIndex = s.RicePlugin.TextureEnhancement;
|
RiceTextureEnhancement_Combo.SelectedIndex = ss.RicePlugin.TextureEnhancement;
|
||||||
RiceTextureEnhancementControl_Combo.SelectedIndex = s.RicePlugin.TextureEnhancementControl;
|
RiceTextureEnhancementControl_Combo.SelectedIndex = ss.RicePlugin.TextureEnhancementControl;
|
||||||
RiceTextureQuality_Combo.SelectedIndex = s.RicePlugin.TextureQuality;
|
RiceTextureQuality_Combo.SelectedIndex = ss.RicePlugin.TextureQuality;
|
||||||
RiceOpenGLDepthBufferSetting_Combo.SelectedIndex = (s.RicePlugin.OpenGLDepthBufferSetting / 16) - 1;
|
RiceOpenGLDepthBufferSetting_Combo.SelectedIndex = (ss.RicePlugin.OpenGLDepthBufferSetting / 16) - 1;
|
||||||
switch (s.RicePlugin.MultiSampling)
|
switch (ss.RicePlugin.MultiSampling)
|
||||||
{
|
{
|
||||||
case 0: RiceMultiSampling_Combo.SelectedIndex = 0; break;
|
case 0: RiceMultiSampling_Combo.SelectedIndex = 0; break;
|
||||||
case 2: RiceMultiSampling_Combo.SelectedIndex = 1; break;
|
case 2: RiceMultiSampling_Combo.SelectedIndex = 1; break;
|
||||||
|
@ -372,160 +397,160 @@ namespace BizHawk.Client.EmuHawk
|
||||||
case 16: RiceMultiSampling_Combo.SelectedIndex = 4; break;
|
case 16: RiceMultiSampling_Combo.SelectedIndex = 4; break;
|
||||||
default: RiceMultiSampling_Combo.SelectedIndex = 0; break;
|
default: RiceMultiSampling_Combo.SelectedIndex = 0; break;
|
||||||
}
|
}
|
||||||
RiceColorQuality_Combo.SelectedIndex = s.RicePlugin.ColorQuality;
|
RiceColorQuality_Combo.SelectedIndex = ss.RicePlugin.ColorQuality;
|
||||||
RiceOpenGLRenderSetting_Combo.SelectedIndex = s.RicePlugin.OpenGLRenderSetting;
|
RiceOpenGLRenderSetting_Combo.SelectedIndex = ss.RicePlugin.OpenGLRenderSetting;
|
||||||
RiceAnisotropicFiltering_TB.Value = s.RicePlugin.AnisotropicFiltering;
|
RiceAnisotropicFiltering_TB.Value = ss.RicePlugin.AnisotropicFiltering;
|
||||||
AnisotropicFiltering_LB.Text = "Anisotropic Filtering: " + RiceAnisotropicFiltering_TB.Value;
|
AnisotropicFiltering_LB.Text = "Anisotropic Filtering: " + RiceAnisotropicFiltering_TB.Value;
|
||||||
|
|
||||||
RiceUseDefaultHacks_CB.Checked = s.RicePlugin.UseDefaultHacks;
|
RiceUseDefaultHacks_CB.Checked = ss.RicePlugin.UseDefaultHacks;
|
||||||
|
|
||||||
UpdateRiceHacksSection();
|
UpdateRiceHacksSection();
|
||||||
if (!s.RicePlugin.UseDefaultHacks)
|
if (!ss.RicePlugin.UseDefaultHacks)
|
||||||
{
|
{
|
||||||
RiceTexture1Hack_CB.Checked = s.RicePlugin.Texture1Hack;
|
RiceTexture1Hack_CB.Checked = ss.RicePlugin.Texture1Hack;
|
||||||
|
|
||||||
RiceDisableTextureCRC_CB.Checked = s.RicePlugin.DisableTextureCRC;
|
RiceDisableTextureCRC_CB.Checked = ss.RicePlugin.DisableTextureCRC;
|
||||||
RiceDisableCulling_CB.Checked = s.RicePlugin.DisableCulling;
|
RiceDisableCulling_CB.Checked = ss.RicePlugin.DisableCulling;
|
||||||
RiceIncTexRectEdge_CB.Checked = s.RicePlugin.IncTexRectEdge;
|
RiceIncTexRectEdge_CB.Checked = ss.RicePlugin.IncTexRectEdge;
|
||||||
RiceZHack_CB.Checked = s.RicePlugin.ZHack;
|
RiceZHack_CB.Checked = ss.RicePlugin.ZHack;
|
||||||
RiceTextureScaleHack_CB.Checked = s.RicePlugin.TextureScaleHack;
|
RiceTextureScaleHack_CB.Checked = ss.RicePlugin.TextureScaleHack;
|
||||||
RicePrimaryDepthHack_CB.Checked = s.RicePlugin.PrimaryDepthHack;
|
RicePrimaryDepthHack_CB.Checked = ss.RicePlugin.PrimaryDepthHack;
|
||||||
RiceTexture1Hack_CB.Checked = s.RicePlugin.Texture1Hack;
|
RiceTexture1Hack_CB.Checked = ss.RicePlugin.Texture1Hack;
|
||||||
RiceFastLoadTile_CB.Checked = s.RicePlugin.FastLoadTile;
|
RiceFastLoadTile_CB.Checked = ss.RicePlugin.FastLoadTile;
|
||||||
RiceUseSmallerTexture_CB.Checked = s.RicePlugin.UseSmallerTexture;
|
RiceUseSmallerTexture_CB.Checked = ss.RicePlugin.UseSmallerTexture;
|
||||||
RiceVIWidth_Text.Text = s.RicePlugin.VIWidth.ToString();
|
RiceVIWidth_Text.Text = ss.RicePlugin.VIWidth.ToString();
|
||||||
RiceVIHeight_Text.Text = s.RicePlugin.VIHeight.ToString();
|
RiceVIHeight_Text.Text = ss.RicePlugin.VIHeight.ToString();
|
||||||
RiceUseCIWidthAndRatio_Combo.SelectedIndex = s.RicePlugin.UseCIWidthAndRatio;
|
RiceUseCIWidthAndRatio_Combo.SelectedIndex = ss.RicePlugin.UseCIWidthAndRatio;
|
||||||
RiceFullTMEM_Combo.SelectedIndex = s.RicePlugin.FullTMEM;
|
RiceFullTMEM_Combo.SelectedIndex = ss.RicePlugin.FullTMEM;
|
||||||
RiceTxtSizeMethod2_CB.Checked = s.RicePlugin.TxtSizeMethod2;
|
RiceTxtSizeMethod2_CB.Checked = ss.RicePlugin.TxtSizeMethod2;
|
||||||
RiceEnableTxtLOD_CB.Checked = s.RicePlugin.EnableTxtLOD;
|
RiceEnableTxtLOD_CB.Checked = ss.RicePlugin.EnableTxtLOD;
|
||||||
RiceFastTextureCRC_Combo.SelectedIndex = s.RicePlugin.FastTextureCRC;
|
RiceFastTextureCRC_Combo.SelectedIndex = ss.RicePlugin.FastTextureCRC;
|
||||||
RiceEmulateClear_CB.Checked = s.RicePlugin.EmulateClear;
|
RiceEmulateClear_CB.Checked = ss.RicePlugin.EmulateClear;
|
||||||
RiceForceScreenClear_CB.Checked = s.RicePlugin.ForceScreenClear;
|
RiceForceScreenClear_CB.Checked = ss.RicePlugin.ForceScreenClear;
|
||||||
RiceAccurateTextureMappingHack_Combo.SelectedIndex = s.RicePlugin.AccurateTextureMappingHack;
|
RiceAccurateTextureMappingHack_Combo.SelectedIndex = ss.RicePlugin.AccurateTextureMappingHack;
|
||||||
RiceNormalBlender_Combo.SelectedIndex = s.RicePlugin.NormalBlender;
|
RiceNormalBlender_Combo.SelectedIndex = ss.RicePlugin.NormalBlender;
|
||||||
RiceDisableBlender_CB.Checked = s.RicePlugin.DisableBlender;
|
RiceDisableBlender_CB.Checked = ss.RicePlugin.DisableBlender;
|
||||||
RiceForceDepthBuffer_CB.Checked = s.RicePlugin.ForceDepthBuffer;
|
RiceForceDepthBuffer_CB.Checked = ss.RicePlugin.ForceDepthBuffer;
|
||||||
RiceDisableObjBG_CB.Checked = s.RicePlugin.DisableObjBG;
|
RiceDisableObjBG_CB.Checked = ss.RicePlugin.DisableObjBG;
|
||||||
RiceFrameBufferOption_Combo.SelectedIndex = s.RicePlugin.FrameBufferOption;
|
RiceFrameBufferOption_Combo.SelectedIndex = ss.RicePlugin.FrameBufferOption;
|
||||||
RiceRenderToTextureOption_Combo.SelectedIndex = s.RicePlugin.RenderToTextureOption;
|
RiceRenderToTextureOption_Combo.SelectedIndex = ss.RicePlugin.RenderToTextureOption;
|
||||||
RiceScreenUpdateSettingHack_Combo.SelectedIndex = s.RicePlugin.ScreenUpdateSettingHack;
|
RiceScreenUpdateSettingHack_Combo.SelectedIndex = ss.RicePlugin.ScreenUpdateSettingHack;
|
||||||
RiceEnableHacksForGame_Combo.SelectedIndex = s.RicePlugin.EnableHacksForGame;
|
RiceEnableHacksForGame_Combo.SelectedIndex = ss.RicePlugin.EnableHacksForGame;
|
||||||
}
|
}
|
||||||
|
|
||||||
Glide_autodetect_ucode.Checked = s.GlidePlugin.autodetect_ucode;
|
Glide_autodetect_ucode.Checked = ss.GlidePlugin.autodetect_ucode;
|
||||||
Glide_ucode.SelectedIndex = s.GlidePlugin.ucode;
|
Glide_ucode.SelectedIndex = ss.GlidePlugin.ucode;
|
||||||
Glide_flame_corona.Checked = s.GlidePlugin.flame_corona;
|
Glide_flame_corona.Checked = ss.GlidePlugin.flame_corona;
|
||||||
Glide_card_id.SelectedIndex = s.GlidePlugin.card_id;
|
Glide_card_id.SelectedIndex = ss.GlidePlugin.card_id;
|
||||||
Glide_tex_filter.SelectedIndex = s.GlidePlugin.tex_filter;
|
Glide_tex_filter.SelectedIndex = ss.GlidePlugin.tex_filter;
|
||||||
Glide_wireframe.Checked = s.GlidePlugin.wireframe;
|
Glide_wireframe.Checked = ss.GlidePlugin.wireframe;
|
||||||
Glide_wfmode.SelectedIndex = s.GlidePlugin.wfmode;
|
Glide_wfmode.SelectedIndex = ss.GlidePlugin.wfmode;
|
||||||
Glide_fast_crc.Checked = s.GlidePlugin.fast_crc;
|
Glide_fast_crc.Checked = ss.GlidePlugin.fast_crc;
|
||||||
Glide_filter_cache.Checked = s.GlidePlugin.filter_cache;
|
Glide_filter_cache.Checked = ss.GlidePlugin.filter_cache;
|
||||||
Glide_unk_as_red.Checked = s.GlidePlugin.unk_as_red;
|
Glide_unk_as_red.Checked = ss.GlidePlugin.unk_as_red;
|
||||||
Glide_fb_read_always.Checked = s.GlidePlugin.fb_read_always;
|
Glide_fb_read_always.Checked = ss.GlidePlugin.fb_read_always;
|
||||||
Glide_motionblur.Checked = s.GlidePlugin.motionblur;
|
Glide_motionblur.Checked = ss.GlidePlugin.motionblur;
|
||||||
Glide_fb_render.Checked = s.GlidePlugin.fb_render;
|
Glide_fb_render.Checked = ss.GlidePlugin.fb_render;
|
||||||
Glide_noditheredalpha.Checked = s.GlidePlugin.noditheredalpha;
|
Glide_noditheredalpha.Checked = ss.GlidePlugin.noditheredalpha;
|
||||||
Glide_noglsl.Checked = s.GlidePlugin.noglsl;
|
Glide_noglsl.Checked = ss.GlidePlugin.noglsl;
|
||||||
Glide_fbo.Checked = s.GlidePlugin.fbo;
|
Glide_fbo.Checked = ss.GlidePlugin.fbo;
|
||||||
Glide_disable_auxbuf.Checked = s.GlidePlugin.disable_auxbuf;
|
Glide_disable_auxbuf.Checked = ss.GlidePlugin.disable_auxbuf;
|
||||||
Glide_fb_get_info.Checked = s.GlidePlugin.fb_get_info;
|
Glide_fb_get_info.Checked = ss.GlidePlugin.fb_get_info;
|
||||||
Glide_offset_x.Text = s.GlidePlugin.offset_x.ToString();
|
Glide_offset_x.Text = ss.GlidePlugin.offset_x.ToString();
|
||||||
Glide_offset_y.Text = s.GlidePlugin.offset_y.ToString();
|
Glide_offset_y.Text = ss.GlidePlugin.offset_y.ToString();
|
||||||
Glide_scale_x.Text = s.GlidePlugin.scale_x.ToString();
|
Glide_scale_x.Text = ss.GlidePlugin.scale_x.ToString();
|
||||||
Glide_scale_y.Text = s.GlidePlugin.scale_y.ToString();
|
Glide_scale_y.Text = ss.GlidePlugin.scale_y.ToString();
|
||||||
|
|
||||||
|
|
||||||
GlideUseDefaultHacks1.Checked = s.GlidePlugin.UseDefaultHacks;
|
GlideUseDefaultHacks1.Checked = ss.GlidePlugin.UseDefaultHacks;
|
||||||
GlideUseDefaultHacks2.Checked = s.GlidePlugin.UseDefaultHacks;
|
GlideUseDefaultHacks2.Checked = ss.GlidePlugin.UseDefaultHacks;
|
||||||
|
|
||||||
UpdateGlideHacksSection();
|
UpdateGlideHacksSection();
|
||||||
if (!s.GlidePlugin.UseDefaultHacks)
|
if (!ss.GlidePlugin.UseDefaultHacks)
|
||||||
{
|
{
|
||||||
Glide_alt_tex_size.Checked = s.GlidePlugin.alt_tex_size;
|
Glide_alt_tex_size.Checked = ss.GlidePlugin.alt_tex_size;
|
||||||
Glide_buff_clear.Checked = s.GlidePlugin.buff_clear;
|
Glide_buff_clear.Checked = ss.GlidePlugin.buff_clear;
|
||||||
Glide_decrease_fillrect_edge.Checked = s.GlidePlugin.decrease_fillrect_edge;
|
Glide_decrease_fillrect_edge.Checked = ss.GlidePlugin.decrease_fillrect_edge;
|
||||||
Glide_detect_cpu_write.Checked = s.GlidePlugin.detect_cpu_write;
|
Glide_detect_cpu_write.Checked = ss.GlidePlugin.detect_cpu_write;
|
||||||
Glide_fb_clear.Checked = s.GlidePlugin.fb_clear;
|
Glide_fb_clear.Checked = ss.GlidePlugin.fb_clear;
|
||||||
Glide_fb_hires.Checked = s.GlidePlugin.fb_hires;
|
Glide_fb_hires.Checked = ss.GlidePlugin.fb_hires;
|
||||||
Glide_fb_read_alpha.Checked = s.GlidePlugin.fb_read_alpha;
|
Glide_fb_read_alpha.Checked = ss.GlidePlugin.fb_read_alpha;
|
||||||
Glide_fb_smart.Checked = s.GlidePlugin.fb_smart;
|
Glide_fb_smart.Checked = ss.GlidePlugin.fb_smart;
|
||||||
Glide_fillcolor_fix.Checked = s.GlidePlugin.fillcolor_fix;
|
Glide_fillcolor_fix.Checked = ss.GlidePlugin.fillcolor_fix;
|
||||||
Glide_fog.Checked = s.GlidePlugin.fog;
|
Glide_fog.Checked = ss.GlidePlugin.fog;
|
||||||
Glide_force_depth_compare.Checked = s.GlidePlugin.force_depth_compare;
|
Glide_force_depth_compare.Checked = ss.GlidePlugin.force_depth_compare;
|
||||||
Glide_force_microcheck.Checked = s.GlidePlugin.force_microcheck;
|
Glide_force_microcheck.Checked = ss.GlidePlugin.force_microcheck;
|
||||||
Glide_fb_hires_buf_clear.Checked = s.GlidePlugin.fb_hires_buf_clear;
|
Glide_fb_hires_buf_clear.Checked = ss.GlidePlugin.fb_hires_buf_clear;
|
||||||
Glide_fb_ignore_aux_copy.Checked = s.GlidePlugin.fb_ignore_aux_copy;
|
Glide_fb_ignore_aux_copy.Checked = ss.GlidePlugin.fb_ignore_aux_copy;
|
||||||
Glide_fb_ignore_previous.Checked = s.GlidePlugin.fb_ignore_previous;
|
Glide_fb_ignore_previous.Checked = ss.GlidePlugin.fb_ignore_previous;
|
||||||
Glide_increase_primdepth.Checked = s.GlidePlugin.increase_primdepth;
|
Glide_increase_primdepth.Checked = ss.GlidePlugin.increase_primdepth;
|
||||||
Glide_increase_texrect_edge.Checked = s.GlidePlugin.increase_texrect_edge;
|
Glide_increase_texrect_edge.Checked = ss.GlidePlugin.increase_texrect_edge;
|
||||||
Glide_fb_optimize_texrect.Checked = s.GlidePlugin.fb_optimize_texrect;
|
Glide_fb_optimize_texrect.Checked = ss.GlidePlugin.fb_optimize_texrect;
|
||||||
Glide_fb_optimize_write.Checked = s.GlidePlugin.fb_optimize_write;
|
Glide_fb_optimize_write.Checked = ss.GlidePlugin.fb_optimize_write;
|
||||||
Glide_PPL.Checked = s.GlidePlugin.PPL;
|
Glide_PPL.Checked = ss.GlidePlugin.PPL;
|
||||||
Glide_soft_depth_compare.Checked = s.GlidePlugin.soft_depth_compare;
|
Glide_soft_depth_compare.Checked = ss.GlidePlugin.soft_depth_compare;
|
||||||
Glide_use_sts1_only.Checked = s.GlidePlugin.use_sts1_only;
|
Glide_use_sts1_only.Checked = ss.GlidePlugin.use_sts1_only;
|
||||||
Glide_wrap_big_tex.Checked = s.GlidePlugin.wrap_big_tex;
|
Glide_wrap_big_tex.Checked = ss.GlidePlugin.wrap_big_tex;
|
||||||
|
|
||||||
Glide_depth_bias.Text = s.GlidePlugin.depth_bias.ToString();
|
Glide_depth_bias.Text = ss.GlidePlugin.depth_bias.ToString();
|
||||||
Glide_filtering.SelectedIndex = s.GlidePlugin.filtering;
|
Glide_filtering.SelectedIndex = ss.GlidePlugin.filtering;
|
||||||
Glide_fix_tex_coord.Text = s.GlidePlugin.fix_tex_coord.ToString();
|
Glide_fix_tex_coord.Text = ss.GlidePlugin.fix_tex_coord.ToString();
|
||||||
Glide_lodmode.SelectedIndex = s.GlidePlugin.lodmode;
|
Glide_lodmode.SelectedIndex = ss.GlidePlugin.lodmode;
|
||||||
Glide_stipple_mode.Text = s.GlidePlugin.stipple_mode.ToString();
|
Glide_stipple_mode.Text = ss.GlidePlugin.stipple_mode.ToString();
|
||||||
Glide_stipple_pattern.Text = s.GlidePlugin.stipple_pattern.ToString();
|
Glide_stipple_pattern.Text = ss.GlidePlugin.stipple_pattern.ToString();
|
||||||
Glide_swapmode.SelectedIndex = s.GlidePlugin.swapmode;
|
Glide_swapmode.SelectedIndex = ss.GlidePlugin.swapmode;
|
||||||
Glide_enable_hacks_for_game.SelectedIndex = s.GlidePlugin.enable_hacks_for_game;
|
Glide_enable_hacks_for_game.SelectedIndex = ss.GlidePlugin.enable_hacks_for_game;
|
||||||
}
|
}
|
||||||
|
|
||||||
Glide64mk2_card_id.SelectedIndex = s.Glide64mk2Plugin.card_id;
|
Glide64mk2_card_id.SelectedIndex = ss.Glide64mk2Plugin.card_id;
|
||||||
Glide64mk2_wrpFBO.Checked = s.Glide64mk2Plugin.wrpFBO;
|
Glide64mk2_wrpFBO.Checked = ss.Glide64mk2Plugin.wrpFBO;
|
||||||
Glide64mk2_wrpAnisotropic.Checked = s.Glide64mk2Plugin.wrpAnisotropic;
|
Glide64mk2_wrpAnisotropic.Checked = ss.Glide64mk2Plugin.wrpAnisotropic;
|
||||||
Glide64mk2_fb_get_info.Checked = s.Glide64mk2Plugin.fb_get_info;
|
Glide64mk2_fb_get_info.Checked = ss.Glide64mk2Plugin.fb_get_info;
|
||||||
Glide64mk2_fb_render.Checked = s.Glide64mk2Plugin.fb_render;
|
Glide64mk2_fb_render.Checked = ss.Glide64mk2Plugin.fb_render;
|
||||||
|
|
||||||
Glide64mk2_UseDefaultHacks1.Checked = s.Glide64mk2Plugin.UseDefaultHacks;
|
Glide64mk2_UseDefaultHacks1.Checked = ss.Glide64mk2Plugin.UseDefaultHacks;
|
||||||
Glide64mk2_UseDefaultHacks2.Checked = s.Glide64mk2Plugin.UseDefaultHacks;
|
Glide64mk2_UseDefaultHacks2.Checked = ss.Glide64mk2Plugin.UseDefaultHacks;
|
||||||
|
|
||||||
UpdateGlide64mk2HacksSection();
|
UpdateGlide64mk2HacksSection();
|
||||||
if (!s.Glide64mk2Plugin.UseDefaultHacks)
|
if (!ss.Glide64mk2Plugin.UseDefaultHacks)
|
||||||
{
|
{
|
||||||
Glide64mk2_use_sts1_only.Checked = s.Glide64mk2Plugin.use_sts1_only;
|
Glide64mk2_use_sts1_only.Checked = ss.Glide64mk2Plugin.use_sts1_only;
|
||||||
Glide64mk2_optimize_texrect.Checked = s.Glide64mk2Plugin.optimize_texrect;
|
Glide64mk2_optimize_texrect.Checked = ss.Glide64mk2Plugin.optimize_texrect;
|
||||||
Glide64mk2_increase_texrect_edge.Checked = s.Glide64mk2Plugin.increase_texrect_edge;
|
Glide64mk2_increase_texrect_edge.Checked = ss.Glide64mk2Plugin.increase_texrect_edge;
|
||||||
Glide64mk2_ignore_aux_copy.Checked = s.Glide64mk2Plugin.ignore_aux_copy;
|
Glide64mk2_ignore_aux_copy.Checked = ss.Glide64mk2Plugin.ignore_aux_copy;
|
||||||
Glide64mk2_hires_buf_clear.Checked = s.Glide64mk2Plugin.hires_buf_clear;
|
Glide64mk2_hires_buf_clear.Checked = ss.Glide64mk2Plugin.hires_buf_clear;
|
||||||
Glide64mk2_force_microcheck.Checked = s.Glide64mk2Plugin.force_microcheck;
|
Glide64mk2_force_microcheck.Checked = ss.Glide64mk2Plugin.force_microcheck;
|
||||||
Glide64mk2_fog.Checked = s.Glide64mk2Plugin.fog;
|
Glide64mk2_fog.Checked = ss.Glide64mk2Plugin.fog;
|
||||||
Glide64mk2_fb_smart.Checked = s.Glide64mk2Plugin.fb_smart;
|
Glide64mk2_fb_smart.Checked = ss.Glide64mk2Plugin.fb_smart;
|
||||||
Glide64mk2_fb_read_alpha.Checked = s.Glide64mk2Plugin.fb_read_alpha;
|
Glide64mk2_fb_read_alpha.Checked = ss.Glide64mk2Plugin.fb_read_alpha;
|
||||||
Glide64mk2_fb_hires.Checked = s.Glide64mk2Plugin.fb_hires;
|
Glide64mk2_fb_hires.Checked = ss.Glide64mk2Plugin.fb_hires;
|
||||||
Glide64mk2_detect_cpu_write.Checked = s.Glide64mk2Plugin.detect_cpu_write;
|
Glide64mk2_detect_cpu_write.Checked = ss.Glide64mk2Plugin.detect_cpu_write;
|
||||||
Glide64mk2_decrease_fillrect_edge.Checked = s.Glide64mk2Plugin.decrease_fillrect_edge;
|
Glide64mk2_decrease_fillrect_edge.Checked = ss.Glide64mk2Plugin.decrease_fillrect_edge;
|
||||||
Glide64mk2_buff_clear.Checked = s.Glide64mk2Plugin.buff_clear;
|
Glide64mk2_buff_clear.Checked = ss.Glide64mk2Plugin.buff_clear;
|
||||||
Glide64mk2_alt_tex_size.Checked = s.Glide64mk2Plugin.alt_tex_size;
|
Glide64mk2_alt_tex_size.Checked = ss.Glide64mk2Plugin.alt_tex_size;
|
||||||
Glide64mk2_swapmode.SelectedIndex = s.Glide64mk2Plugin.swapmode;
|
Glide64mk2_swapmode.SelectedIndex = ss.Glide64mk2Plugin.swapmode;
|
||||||
Glide64mk2_stipple_pattern.Text = s.Glide64mk2Plugin.stipple_pattern.ToString();
|
Glide64mk2_stipple_pattern.Text = ss.Glide64mk2Plugin.stipple_pattern.ToString();
|
||||||
Glide64mk2_stipple_mode.Text = s.Glide64mk2Plugin.stipple_mode.ToString();
|
Glide64mk2_stipple_mode.Text = ss.Glide64mk2Plugin.stipple_mode.ToString();
|
||||||
Glide64mk2_lodmode.SelectedIndex = s.Glide64mk2Plugin.lodmode;
|
Glide64mk2_lodmode.SelectedIndex = ss.Glide64mk2Plugin.lodmode;
|
||||||
Glide64mk2_filtering.SelectedIndex = s.Glide64mk2Plugin.filtering;
|
Glide64mk2_filtering.SelectedIndex = ss.Glide64mk2Plugin.filtering;
|
||||||
Glide64mk2_correct_viewport.Checked = s.Glide64mk2Plugin.correct_viewport;
|
Glide64mk2_correct_viewport.Checked = ss.Glide64mk2Plugin.correct_viewport;
|
||||||
Glide64mk2_force_calc_sphere.Checked = s.Glide64mk2Plugin.force_calc_sphere;
|
Glide64mk2_force_calc_sphere.Checked = ss.Glide64mk2Plugin.force_calc_sphere;
|
||||||
Glide64mk2_pal230.Checked = s.Glide64mk2Plugin.pal230;
|
Glide64mk2_pal230.Checked = ss.Glide64mk2Plugin.pal230;
|
||||||
Glide64mk2_texture_correction.Checked = s.Glide64mk2Plugin.texture_correction;
|
Glide64mk2_texture_correction.Checked = ss.Glide64mk2Plugin.texture_correction;
|
||||||
Glide64mk2_n64_z_scale.Checked = s.Glide64mk2Plugin.n64_z_scale;
|
Glide64mk2_n64_z_scale.Checked = ss.Glide64mk2Plugin.n64_z_scale;
|
||||||
Glide64mk2_old_style_adither.Checked = s.Glide64mk2Plugin.old_style_adither;
|
Glide64mk2_old_style_adither.Checked = ss.Glide64mk2Plugin.old_style_adither;
|
||||||
Glide64mk2_zmode_compare_less.Checked = s.Glide64mk2Plugin.zmode_compare_less;
|
Glide64mk2_zmode_compare_less.Checked = ss.Glide64mk2Plugin.zmode_compare_less;
|
||||||
Glide64mk2_adjust_aspect.Checked = s.Glide64mk2Plugin.adjust_aspect;
|
Glide64mk2_adjust_aspect.Checked = ss.Glide64mk2Plugin.adjust_aspect;
|
||||||
Glide64mk2_clip_zmax.Checked = s.Glide64mk2Plugin.clip_zmax;
|
Glide64mk2_clip_zmax.Checked = ss.Glide64mk2Plugin.clip_zmax;
|
||||||
Glide64mk2_clip_zmin.Checked = s.Glide64mk2Plugin.clip_zmin;
|
Glide64mk2_clip_zmin.Checked = ss.Glide64mk2Plugin.clip_zmin;
|
||||||
Glide64mk2_force_quad3d.Checked = s.Glide64mk2Plugin.force_quad3d;
|
Glide64mk2_force_quad3d.Checked = ss.Glide64mk2Plugin.force_quad3d;
|
||||||
Glide64mk2_useless_is_useless.Checked = s.Glide64mk2Plugin.useless_is_useless;
|
Glide64mk2_useless_is_useless.Checked = ss.Glide64mk2Plugin.useless_is_useless;
|
||||||
Glide64mk2_fb_read_always.Checked = s.Glide64mk2Plugin.fb_read_always;
|
Glide64mk2_fb_read_always.Checked = ss.Glide64mk2Plugin.fb_read_always;
|
||||||
Glide64mk2_aspectmode.SelectedIndex = s.Glide64mk2Plugin.aspectmode;
|
Glide64mk2_aspectmode.SelectedIndex = ss.Glide64mk2Plugin.aspectmode;
|
||||||
Glide64mk2_fb_crc_mode.SelectedIndex = s.Glide64mk2Plugin.fb_crc_mode;
|
Glide64mk2_fb_crc_mode.SelectedIndex = ss.Glide64mk2Plugin.fb_crc_mode;
|
||||||
Glide64mk2_enable_hacks_for_game.SelectedIndex = s.Glide64mk2Plugin.enable_hacks_for_game;
|
Glide64mk2_enable_hacks_for_game.SelectedIndex = ss.Glide64mk2Plugin.enable_hacks_for_game;
|
||||||
Glide64mk2_read_back_to_screen.SelectedIndex = s.Glide64mk2Plugin.read_back_to_screen;
|
Glide64mk2_read_back_to_screen.SelectedIndex = ss.Glide64mk2Plugin.read_back_to_screen;
|
||||||
Glide64mk2_fast_crc.Checked = s.Glide64mk2Plugin.fast_crc;
|
Glide64mk2_fast_crc.Checked = ss.Glide64mk2Plugin.fast_crc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,10 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
private readonly EventWaitHandle _completeThreadEvent = new EventWaitHandle(false, EventResetMode.AutoReset);
|
private readonly EventWaitHandle _completeThreadEvent = new EventWaitHandle(false, EventResetMode.AutoReset);
|
||||||
|
|
||||||
private mupen64plusApi api; // mupen64plus DLL Api
|
private mupen64plusApi api; // mupen64plus DLL Api
|
||||||
|
|
||||||
private N64SyncSettings _syncSettings;
|
private N64SyncSettings _syncSettings;
|
||||||
|
private N64Settings _settings;
|
||||||
|
|
||||||
private bool _pendingThreadTerminate;
|
private bool _pendingThreadTerminate;
|
||||||
|
|
||||||
private DisplayType _display_type = DisplayType.NTSC;
|
private DisplayType _display_type = DisplayType.NTSC;
|
||||||
|
@ -43,7 +46,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
/// <param name="game">Game information of game to load</param>
|
/// <param name="game">Game information of game to load</param>
|
||||||
/// <param name="rom">Rom that should be loaded</param>
|
/// <param name="rom">Rom that should be loaded</param>
|
||||||
/// <param name="SyncSettings">N64SyncSettings object</param>
|
/// <param name="SyncSettings">N64SyncSettings object</param>
|
||||||
public N64(CoreComm comm, GameInfo game, byte[] rom, object SyncSettings)
|
public N64(CoreComm comm, GameInfo game, byte[] rom, object settings, object syncSettings)
|
||||||
{
|
{
|
||||||
int SaveType = 0;
|
int SaveType = 0;
|
||||||
if (game.OptionValue("SaveType") == "EEPROM_16K")
|
if (game.OptionValue("SaveType") == "EEPROM_16K")
|
||||||
|
@ -53,7 +56,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
|
|
||||||
CoreComm = comm;
|
CoreComm = comm;
|
||||||
|
|
||||||
_syncSettings = (N64SyncSettings)SyncSettings ?? new N64SyncSettings();
|
_syncSettings = (N64SyncSettings)syncSettings ?? new N64SyncSettings();
|
||||||
|
_settings = (N64Settings)settings ?? new N64Settings();
|
||||||
|
|
||||||
byte country_code = rom[0x3E];
|
byte country_code = rom[0x3E];
|
||||||
switch (country_code)
|
switch (country_code)
|
||||||
|
@ -93,7 +97,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
|
|
||||||
StartThreadLoop();
|
StartThreadLoop();
|
||||||
|
|
||||||
var videosettings = _syncSettings.GetVPS(game);
|
var videosettings = _syncSettings.GetVPS(game, _settings.VideoSizeX, _settings.VideoSizeY);
|
||||||
var coreType = _syncSettings.CoreType;
|
var coreType = _syncSettings.CoreType;
|
||||||
|
|
||||||
//zero 19-apr-2014 - added this to solve problem with SDL initialization corrupting the main thread (I think) and breaking subsequent emulators (for example, NES)
|
//zero 19-apr-2014 - added this to solve problem with SDL initialization corrupting the main thread (I think) and breaking subsequent emulators (for example, NES)
|
||||||
|
@ -513,7 +517,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
|
|
||||||
public object GetSettings()
|
public object GetSettings()
|
||||||
{
|
{
|
||||||
return null;
|
return _settings.Clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
public object GetSyncSettings()
|
public object GetSyncSettings()
|
||||||
|
@ -523,12 +527,14 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
|
|
||||||
public bool PutSettings(object o)
|
public bool PutSettings(object o)
|
||||||
{
|
{
|
||||||
return false;
|
_settings = (N64Settings)o;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool PutSyncSettings(object o)
|
public bool PutSyncSettings(object o)
|
||||||
{
|
{
|
||||||
_syncSettings = (N64SyncSettings)o; return true;
|
_syncSettings = (N64SyncSettings)o;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -6,6 +6,21 @@ using System.ComponentModel;
|
||||||
|
|
||||||
namespace BizHawk.Emulation.Cores.Nintendo.N64
|
namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
{
|
{
|
||||||
|
public class N64Settings
|
||||||
|
{
|
||||||
|
public int VideoSizeX = 320;
|
||||||
|
public int VideoSizeY = 240;
|
||||||
|
|
||||||
|
public N64Settings Clone()
|
||||||
|
{
|
||||||
|
return new N64Settings
|
||||||
|
{
|
||||||
|
VideoSizeX = VideoSizeX,
|
||||||
|
VideoSizeY = VideoSizeY,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class N64SyncSettings
|
public class N64SyncSettings
|
||||||
{
|
{
|
||||||
public CORETYPE CoreType = CORETYPE.Dynarec;
|
public CORETYPE CoreType = CORETYPE.Dynarec;
|
||||||
|
@ -34,8 +49,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
}
|
}
|
||||||
|
|
||||||
public PLUGINTYPE VidPlugin = PLUGINTYPE.RICE;
|
public PLUGINTYPE VidPlugin = PLUGINTYPE.RICE;
|
||||||
public int VideoSizeX = 320;
|
|
||||||
public int VideoSizeY = 240;
|
|
||||||
public N64ControllerSettings[] Controllers =
|
public N64ControllerSettings[] Controllers =
|
||||||
{
|
{
|
||||||
new N64ControllerSettings(),
|
new N64ControllerSettings(),
|
||||||
|
@ -55,8 +69,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
CoreType = CoreType,
|
CoreType = CoreType,
|
||||||
RspType = RspType,
|
RspType = RspType,
|
||||||
VidPlugin = VidPlugin,
|
VidPlugin = VidPlugin,
|
||||||
VideoSizeX = VideoSizeX,
|
|
||||||
VideoSizeY = VideoSizeY,
|
|
||||||
RicePlugin = RicePlugin.Clone(),
|
RicePlugin = RicePlugin.Clone(),
|
||||||
GlidePlugin = GlidePlugin.Clone(),
|
GlidePlugin = GlidePlugin.Clone(),
|
||||||
Glide64mk2Plugin = Glide64mk2Plugin.Clone(),
|
Glide64mk2Plugin = Glide64mk2Plugin.Clone(),
|
||||||
|
@ -65,9 +77,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
||||||
}
|
}
|
||||||
|
|
||||||
// get mupenapi internal object
|
// get mupenapi internal object
|
||||||
public VideoPluginSettings GetVPS(GameInfo game)
|
public VideoPluginSettings GetVPS(GameInfo game, int videoSizeX, int videoSizeY)
|
||||||
{
|
{
|
||||||
var ret = new VideoPluginSettings(VidPlugin, VideoSizeX, VideoSizeY);
|
var ret = new VideoPluginSettings(VidPlugin, videoSizeX, videoSizeY);
|
||||||
IPluginSettings ips = null;
|
IPluginSettings ips = null;
|
||||||
switch (VidPlugin)
|
switch (VidPlugin)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue